1. 环境准备与数据集制作:你的第一个YOLOv11项目
想用YOLOv11训练自己的模型,第一步不是急着写代码,而是把“地基”打好。这个地基就是你的开发环境和数据集。我见过太多新手朋友,模型代码写得飞起,结果卡在环境配置和数据标注上,白白浪费好几天时间。咱们今天就把这个流程彻底捋顺,让你一次搞定。
首先,你得有个趁手的“兵器库”。YOLOv11来自Ultralytics,所以最省心的方式就是直接用他们的官方仓库。打开你的命令行,执行下面这行命令:
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e . # 以可编辑模式安装,方便后续查看源码
这会把最新的代码和依赖都拉下来。这里有个小坑我得提醒你:官方仓库更新非常频繁,如果你想要一个稳定的版本做长期项目,最好在GitHub的Release页面找一个特定的版本号,比如git checkout v11.0.0,而不是直接用main分支。这样可以避免某天更新后,你的训练脚本突然报错。
环境搞定,接下来就是重头戏:制作你自己的数据集。无论你是想检测车间里的零件缺陷,还是识别花园里的害虫,流程都是一样的。你需要准备三样东西:图片、标注文件、以及一个告诉模型“数据在哪、有哪些类别”的配置文件。
图片采集:用手机、相机或者网上公开数据集都行。关键有两点:多样性和数量。多样性指的是你的图片要在不同光照、角度、背景、遮挡情况下拍摄。比如检测猫,你不能只拍趴在沙发上的,还得有跑动的、只露出半个身子的、逆光的。数量上,对于每个类别,我建议至少准备200-300张图片,想得到好模型,500张以上是基础。
数据标注:这是最耗时但最关键的一步。你需要用一个工具把图片里目标物体的位置框出来。强烈推荐使用 LabelImg 或 LabelStudio。安装LabelImg很简单:
pip install labelimg
# 安装后,在命令行输入 labelimg 就能打开图形界面
打开软件后,记得在设置里将标注格式(Save Format)选为 YOLO。这样,每标注一张图片,它会生成一个同名的.txt文件,里面内容类似 0 0.5 0.5 0.3 0.4。这串数字的意思是:类别ID为0,物体中心点x坐标占图片宽度的0.5(即50%),中心点y坐标占高度的0.5,物体宽度占图片宽度的0.3,高度占0.4。这就是YOLO格式的标注。
数据集划分:标注好的数据不能一股脑儿全用来训练。通常我们会按比例划分,比如 8:1:1 或 7:2:1,分别对应训练集(train)、验证集(val)和测试集(test)。训练集用来教模型学习;验证集在训练过程中用来调整超参数,看模型是否过拟合;测试集则是在模型训练完成后,用来最终评估性能的,在训练过程中绝对不要使用。你可以写个简单的Python脚本随机分配图片到这三个文件夹。
最后,你需要创建一个数据集配置文件,通常是一个.yaml文件。它的结构长这样:
# pest.yaml
path: /home/your_name/datasets/pest # 数据集根目录
train: images/train # 训练集图片路径,相对于path
val: images/val # 验证集图片路径
test: images/test # 测试集图片路径(可选)
# 类别名称和ID
names:
0: aphid # 蚜虫
1: whitefly # 白粉虱
2: leaf_miner # 潜叶蛾
这个文件是连接你的数据和训练脚本的桥梁,路径一定要写对。做完这些,你的数据集就准备好了。别嫌麻烦,高质量的数据集是成功的一大半,后面训练会顺利很多。
2. 模型选择与训练脚本深度解析
数据准备好了,现在我们来聊聊模型本身。Ultralytics为YOLOv11提供了从轻量到重型的五个预定义尺寸:n, s, m, l, x。它们就像汽车里的经济型、舒适型、豪华型和性能版,区别主要在于网络的深度(层数)、宽度(通道数)和模型参数量。
- YOLOv11n (Nano):参数量最小,速度最快,适合移动端或边缘设备(如树莓派、Jetson Nano)。精度要求不高的实时场景首选。
- YOLOv11s (Small):在速度和精度间取得了很好的平衡,是大多数项目的入门推荐选择。
- YOLOv11m/l


27万+

被折叠的 条评论
为什么被折叠?



