YOLO系列视觉处理课程
YoLo Master项目
本教程是为了从数据集处理的角度,帮助大家快速上手基于ultralytics YOLOv8m,并完成一个狗品种检测的实战项目。
数据集来源于**Stanford Dogs Dataset** (kaggle上也有人上传整理,链接),包含120种狗品种,每个品种有100张图片。
具体实践请查看Github Repo中的Jupyter Notebook
进阶实操请参考YOLO系列进阶实操教程【ultralytics && OBB tasks】@余霆嵩 @程宏 通过DOTAv1样例数据集演示如何在ultralytics项目中,实现YOLO11-n OBB模型的训练及推理,来帮助学习者通过实操掌握对yolo系列模型的进阶操作。【ultralytics介绍+带旋转框的进阶教程】GitHub
Task06:YOLO实操教程
1 环境搭建
# # 以下(在terminal中运行去除!,假设你已经有anaconda/miniconda环境)建立conda环境后,再在notebook中执行剩余的内容
conda create -n yolo python=3.10 -y
conda activate yolo
conda install ipykernel #(这样才能顺利在notebook中运行其他命令,记得选择conda环境为新建的yolo)
# # 安装pytorch
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y
使用命令安装comet_ml,wandb,安装ray 和 ultralytics,安装xmltodict
requirements.txt
# 基础依赖
numpy
pandas
matplotlib
seaborn
ipywidgets
# 深度学习相关
torch
torchvision
torchaudio
ray[tune]
ultralytics
# 图像处理
opencv-python
Pillow
# 实验跟踪与调优
comet_ml
wandb
# 其他工具
pyyaml
xmltodict
执行命令:
pip install -r requirements.txt
这里没有指定版本,安装的是最新的;
下载数据后解压使用命令形式:
在模型训练时非常耗时,需要提前做好内存准备。
2 识别后的样子:

Task07 数据集制作
1 主要计算机视觉任务和典型的数据集介绍
常见的主要计算机视觉任务及每个任务针对应用优化的专门数据集(Ultralytics):
- 图像分类(Classification) :将图像分类为预定义类别
关键数据集:ImageNet、CIFAR、MNIST、Fashion-MNIST
- 目标检测(Object Detection): 一种使用边界框检测和定位图像中对象的技术
关键数据集:COCO(80 个类)、LVIS(1203 个类)、VOC(20 个类)
- 实例分割(Instance Segmentation) :在像素级别识别和定位对象
关键数据集:COCO、COCO8-seg、COCO128-seg、裂缝、包裹、汽车零件专用数据集
- 姿态估计(Pose Estimation) :确定相对于相机/世界坐标的对象姿态
关键数据集:带姿势注释的 COCO、老虎、手、狗专用数据集
- 定向边界框(Oriented Bounding Boxes,OBB):使用旋转的边界框检测有角度的物体
关键数据集: DOTA-v2、DOTA8
- 多目标跟踪 (Multi-Object Tracking) :在视频中跟踪多个对象
关键数据集:Argoverse、VisDrone
数据集结构 VOC 数据集分为三个主要子集:
- train:包含用于训练模型的图像
- Validation:用于在训练期间进行验证的图像
- test:用于对训练模型进行基准测试的图像(ground truth annotations 不公开, 可以提交到PASCAL VOC evaluation server 得到结果)
2 数据格式转化
有时我们在使用私有数据集训练微调模型的时候,需要将 VOC 格式的数据集转换为 YOLO 格式或者COCO格式。如ultralytics的 YOLOv8 默认使用 YOLO 格式的标注文件(.txt
文件),而 VOC 数据集的标注文件是 XML
格式,因此我们需要一定的数据格式转化。