《YOLOv11 实战:从入门到深度优化》003、数据集准备:自定义数据集的标注、整理与增强
003、数据集准备自定义数据集的标注、整理与增强上周调一个产线缺陷检测项目模型在测试集上mAP冲到0.92产线一跑直接崩了——传送带反光、零件旋转、背景杂物现实世界从来不会按着COCO数据集的规矩来。这才痛定思痛模型性能的天花板在数据标注那一刻就定下了。标注工具选型别在起点埋雷LabelImg还是CVAT我建议直接上Roboflow。早期项目用LabelImg手动标了三千张后来发现标注不一致有人把“划痕”标成矩形有人用多边形还有人连轻微色差都标进去。训练时同一个类别iou死活上不去排查两周才发现是标注标准不统一。# 糟糕的标注习惯示例别这样写objectnamescratch/name# 有人用scratch有人用defect_scratchbndboxxmin104/xmin# 框得太紧没留边缘容错ymin203/yminxmax121/xmax/bndbox/object现在我的标注规范必含三件套标注手册明确什么标什么不标、边界框规则目标周围留5-10像素、验证脚本定期检查标注一致性。特别是类别命名必须提前定死后期改类别名等于重标。数据整理脏数据比没数据更可怕拿到标注文件先别急着训练跑这个检查脚本能省80%的调试时间defsanity_check_yolo_labels(img_dir,label_dir):forlabel_fileinPath(label_dir).glob(*.txt):withopen(label_file)asf:linesf.readlines()forlineinlines:cls,x,y,w,hmap(float,line.strip().split())# 这里踩过坑有人标到图像外了ifnot(0x1and0y1):print(f离谱坐标:{label_file})ifw*h0.0001:# 目标太小可能是误标print(f可疑小目标:{label_file})遇到过更隐蔽的问题某批次图片是4通道RGBA直接训练会报维度错误。现在我的预处理流水线强制转RGB顺便检查EXIF方向——手机拍的图片可能带旋转信息不处理的话目标全歪了。数据增强别迷信默认配置YOLO自带的增强很强但得看场景。做PCB缺陷检测时默认的色域增强把正常色差变成“缺陷”mAP掉7个点。我的经验是分两步走# 第一阶段几何增强为主大多数工业场景适用aug_phase1{perspective:0.001,# 透视变换要谨慎别把平面目标搞立体了rotate:15,# 旋转角度根据实际可能范围设定shear:0.5,# 剪切别超1.0目标会变形得亲妈都不认识mosaic:True,# 小目标数据集必开但batch别太小}# 第二阶段加入色彩增强需验证aug_phase2{hsv_h:0.02,# 色相抖动一点点就够了hsv_s:0.7,# 饱和度可以大胆调hsv_v:0.4,# 明度增强对光照变化场景有用}有个取巧办法用训练好的模型跑验证集把假阳性样本模型误检和假阴性漏检单独拎出来针对性增强。比如模型总漏检反光下的目标就多做一些模拟反光的增强。类别平衡少数类别要特殊照顾上次做野生动物检测”猞猁“类别只有30张样本。试过复制增强模型过拟合严重。后来用copy-paste增强——从现有图片里裁剪目标粘贴到新背景同时保证光照一致。这个小技巧让稀有类别AP提升23%。defcopy_paste_augmentation(base_img,target_img,bbox):# 关键是要带边缘融合不然像贴图maskcreate_gaussian_mask(bbox)# 高斯权重边缘blendedcv2.seamlessClone(...)# 别直接贴接缝处很假# 记得同时复制标注框并微调位置returnblended,adjusted_bbox个人经验包标注阶段多花1小时训练阶段省3天。务必让标注人员理解“为什么这样标”而不是机械执行。保留10%原始数据不做任何增强作为“真实性测试集”。增强过度时这个集合的性能会最先下跌。遇到难样本模糊、遮挡、小目标别急着删。在文件名加前缀“hard_”训练时适当提高其采样权重模型反而更鲁棒。数据增强后肉眼抽查100张。曾经因为mosaic实现的一个bug导致目标与标签错位白训了两天。最后说个反直觉的当数据量很大时10万可以尝试关闭部分增强。有次关闭旋转增强后mAP反而上升0.5%。推测是大数据已经覆盖了目标变化增强反而引入噪声。数据准备没有银弹唯一真理是理解你的数据像理解你的代码一样。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2487660.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!