170、YOLOv8改进实战:Mosaic与MixUp增强的协同优化——数据多样性提升技巧
170、YOLOv8改进实战:Mosaic与MixUp增强的协同优化——数据多样性提升技巧从一次翻车现场说起去年做工业质检项目,客户要求检测手机屏幕上的微裂纹。训练集只有2000张标注图,裂纹细得像头发丝。我直接上了YOLOv8m,心想小目标检测嘛,调调anchor就完事了。结果验证集mAP@0.5:0.95只有0.12,召回率惨不忍睹。最要命的是,模型在测试集上对光照变化极其敏感——同样的裂纹,换个角度就漏检。排查了三天,最后发现是数据增强配置的问题。YOLOv8默认的Mosaic增强虽然好用,但在这个场景下反而把裂纹特征给“稀释”了。后来我把Mosaic和MixUp做了协同优化,mAP直接跳到0.34。这个坑踩得值,今天就把这套组合拳的调优经验拆开揉碎了讲。Mosaic增强的“副作用”你注意到了吗YOLOv8的Mosaic增强默认把四张图拼成一张,这个设计的初衷是增加小目标密度、提升背景多样性。但实际跑起来有个隐藏问题:当四张图里包含大量相似背景(比如都是手机屏幕),Mosaic会生成大量“伪背景”——拼接边界处出现不自然的纹理过渡,模型反而学会了依赖这些伪特征。我习惯在ultralytics/data/augment.py里动手脚。Mosaic类的核心逻辑在__call__方法里,关键参数是imgsz和mosaic_border。默认的mosaic_border是[-1,1],这个值控制拼接时图像偏移量