一、YOLOv11简介与核心优势
1.1 YOLO系列的发展与YOLOv11的定位
YOLO(You Only Look Once)系列自诞生以来,凭借其“单次检测”的极速特性,成为目标检测领域的标杆。2024年发布的YOLOv11,在保持实时性的基础上,进一步优化了精度与效率的平衡,成为工业界和学术界的新宠儿。相比前代YOLOv8,YOLOv11的参数量减少22%,mAP(平均精度)却提升了5%,尤其在小目标检测和复杂场景下的表现更加惊艳。
其核心优势体现在:
- 多任务支持:不仅支持目标检测,还集成实例分割、姿态估计、定向边界框(OBB)等任务,真正做到“一网打尽”。
- 跨平台部署:从云端服务器到树莓派、Jetson Nano等边缘设备,YOLOv11均能流畅运行,甚至支持FP16量化加速推理。
- 自适应优化:引入Auto-anchor机制自动适配数据集锚框,无需人工调参,新手也能快速上手。
二、环境搭建:从零开始配置YOLOv11
2.1 硬件与软件要求
- GPU推荐:至少NVIDIA GTX 1660及以上(CUDA算力需≥6.1),若使用Jetson Nano需注意JetPack版本兼容性。
- Python环境:建议Python 3.8~3.10,避免版本过高导致依赖冲突。
- 关键依赖:PyTorch ≥1.7.0、Ultralytics库、OpenCV等。安装命令:
pip install ultralytics roboflow supervision
2.2 避坑指南:常见环境问题解决
- TensorRT版本冲突:若GPU算力较低(如GTX 1050),需降级至TensorRT 8.6.1并搭配Python 3.10,避免出现
Unsupported SM
错误。 - CUDA与PyTorch版本匹配:通过
nvidia-smi
查看CUDA版本后,选择对应PyTorch安装命令。例如CUDA 12.x应安装pytorch-cuda=12.4
。 - Jetson Nano特殊配置:需使用NVIDIA官方提供的PyTorch ARM版本,并通过虚拟环境隔离Python 3.8环境。
三、数据集准备:从标注到格式转换
3.1 数据采集与标注工具
- 公开数据集推荐:
- Roboflow:提供现成的寄生虫检测、安全帽识别等数据集,支持一键下载YOLO格式。
- Kaggle:搜索如“Safety Helmet Detection”等关键词,筛选包含JPEGImages和Annotations的VOC格式数据。
- 自制数据集标注:使用LabelImg(Python 3.8环境)标注PASCAL VOC格式,快捷键
W
绘制框,D
切换下一张,标注文件自动保存至Annotations文件夹。
3.2 格式转换与数据增强
- VOC转YOLO格式:运行以下代码批量转换XML为TXT,注意类别顺序与
classes.txt
一致:import xml.etree.ElementTree as ET def