【YOLOv11】071、YOLOv11零样本学习:识别训练中未出现过的类别
一、深夜报警:产线上出现了没教过的缺陷
上周三凌晨两点,产线MES系统弹出一条异常:AOI检测到一种从未见过的焊点缺陷。产线工程师紧急排查,发现现有的YOLOv11模型将这种新缺陷误判为“正常焊点”——这问题很要命,漏检的板卡如果流入市场,就是重大质量事故。
我们连夜调取数据,确认这种缺陷形态确实从未出现在训练集中。传统解决方案要么重新标注数据、从头训练,要么做增量学习。但产线等不起,客户要求模型必须能识别未知类别的缺陷,而且不能停产。
这时候,零样本学习(Zero-Shot Learning)从论文里走到了产线上。
二、零样本学习:让模型学会“举一反三”
零样本学习的核心思想是:利用类别之间的语义关系,让模型能够识别训练阶段从未见过的类别。在YOLO的传统检测流程中,模型本质上是在学习从图像特征到固定类别标签的映射。而零样本检测要做的,是让模型学会将图像特征映射到一个语义空间,在这个空间里,已知类别和未知类别可以通过语义描述建立联系。
举个例子:假设训练集里有“狗”“猫”“马”,但没见过“斑马”。如果模型知道“斑马”的语义描述是“像马、有黑白条纹”,那么当它检测到具有马的特征且带有条纹的物体时,就有可能推断出这是“斑马”。
在工业场景中,缺陷的语义描述可以是:“形状类似裂纹但颜色偏白”“位置在焊盘边缘呈圆形凸起”等文本特征。
三、动手改造:给YOLOv11装上零样本能力
我们基于YOLOv11的官方代码进
