一、从产线误检说起上周产线上出了件怪事:一套部署了YOLOv5的视觉检测系统,连续三天在凌晨三点左右误将良品判为缺陷。现场工程师查遍了光照、机械振动、温湿度,甚至怀疑是电源干扰,最后发现有人工巡检员经过时,系统误检率就会飙升。我们调取日志分析,发现巡检员工服上的反光条在特定角度会形成高光区域——就是这个看似普通的光斑,让YOLO把正常的焊点认成了裂纹。这让我警觉起来:如果自然光斑就能干扰检测,那刻意设计的干扰图案呢?顺着这个思路做了几组实验,结果让人后背发凉——用手机生成一张精心设计的贴纸,贴在产品表面,YOLO竟然把整个产品类别都认错了。这就是今天要聊的对抗样本攻击。二、对抗样本究竟是什么简单说,对抗样本就是给输入图像加上人眼难以察觉的扰动,让模型产生严重误判。在分类任务里可能只是把猫认成狗,但在目标检测场景下,后果严重得多:该检出的目标消失(漏检)、不该检出的地方冒出新目标(误检)、目标类别被篡改……这些在工业质检、安防监控里都是要命的问题。关键点在于,这些扰动不是随机噪声。它们是通过计算梯度方向精心构造的,通常L2范数很小,人眼几乎看不出差异。下面这段代码演示了最基础的FGSM攻击在YOLO上的效果:defgenerate_fgsm_attack(model