【YOLOv11】020、YOLOv11在自定义数据集上的实战:从零训练一个检测模型

张开发
2026/4/17 10:46:26 15 分钟阅读

分享文章

【YOLOv11】020、YOLOv11在自定义数据集上的实战:从零训练一个检测模型
昨天深夜,实验室的师弟跑来找我,一脸愁容:“师兄,我用自己的数据训练YOLOv11,loss降得挺漂亮,可模型就是检测不出东西,预测结果全是空列表。” 我让他把预测代码和数据集结构发过来一看,果然——label文件里存的还是相对坐标,但预处理时没做归一化转换。这个坑,几乎每个第一次用自定义数据训练检测模型的人都会踩。今天咱们就彻底把这件事讲透。数据集准备:别在格式上栽跟头现在主流的数据集格式主要是COCO和YOLO格式两种。对于自定义数据,我强烈建议用YOLO格式,结构干净,处理起来直接。你的数据集目录应该长这样:custom_dataset/ ├── images/ │ ├── train/ │ │ ├── img001.jpg │ │ └── ... │ └── val/ │ ├── img050.jpg │ └── ... └── labels/ ├── train/ │ ├── img001.txt │ └── ... └── val/ ├── img050.txt └── ...关键在这里:每个txt文件的行格式是class_id x_center y_center width height,注意这四个坐标值是归一化后的,即除以图片宽高后的相对值。我见过有人直接把绝对坐标往里塞,训练时不会报错,但模型永远学不会。标签转换的脚本可以这样写:

更多文章