176、CutOut 与 GridMask 遮挡增强的对比:随机遮挡 vs 网格遮挡的消融实验

发布时间:2026/7/11 10:28:55
176、CutOut 与 GridMask 遮挡增强的对比:随机遮挡 vs 网格遮挡的消融实验 176、CutOut 与 GridMask 遮挡增强的对比:随机遮挡 vs 网格遮挡的消融实验去年年底调一个工业缺陷检测模型,训练集里全是完美工件,测试集却总出现表面划痕被传送带遮挡的情况。一开始我以为是模型过拟合了,后来发现是数据增强策略没选对——CutOut和GridMask这两个遮挡增强,用错了场景直接掉点3个mAP。今天就把这两个方法的对比实验和代码实现掰开揉碎讲清楚。踩坑实录:为什么你的遮挡增强没效果先说我踩过的坑。第一次用CutOut时,我直接把随机遮挡区域设成了正方形,size固定为图像短边的20%。结果训练出来的模型,遇到遮挡物稍微大一点就崩了。后来换成GridMask,又发现网格太密导致特征丢失严重,小目标直接消失。这两个方法的本质区别在于:CutOut是随机挖掉一块区域,模拟的是局部遮挡;GridMask是均匀挖掉多个小区域,模拟的是稀疏遮挡。但实际应用中,遮挡物的形状、大小、分布远比这复杂。CutOut:随机遮挡的暴力美学CutOut的核心思想很简单:在图像上随机选一个中心点,挖掉一个正方形区域。但实现时有个关键细节——遮挡区域的填充方式。很多人直接填0,但这样会导致模型学到"黑色方块=遮挡"的伪特征。importtorchimporttorc