049、弱监督 YOLO 训练:只有图像级标签怎么训练检测模型的方案探索
049、弱监督 YOLO 训练:只有图像级标签怎么训练检测模型的方案探索
一、从一次尴尬的标注事故说起
去年秋天,我接手了一个工业质检项目——检测流水线上手机外壳的划痕。客户给了两万张图片,我兴冲冲打开标注文件夹,发现只有图像级标签:每张图一个txt,里面写着“有划痕”或“无划痕”。没有框,没有坐标,连个矩形都没有。当时我对着屏幕骂了十分钟——这特么怎么训练YOLO?
后来冷静下来想,这种场景其实很常见:医疗影像里医生只写“病灶存在”,卫星图上只标“有车辆”,安防监控只记录“异常事件”。标注框的成本是图像级标签的10倍以上,很多企业根本负担不起。于是我开始折腾弱监督目标检测(Weakly Supervised Object Detection, WSOD),试图用这些“半残废”标签把YOLO训起来。
二、弱监督YOLO的核心矛盾
YOLO的损失函数依赖精确的边界框回归——它需要知道“框在哪里”才能计算IoU、计算分类损失。图像级标签只告诉你“图里有猫”,不告诉你猫在左上角还是右下角。这就像让你猜谜语,只给答案不给线索。
弱监督检测的经典思路是“先定位,再分类”。主流方法分两派:一派用多实例学习(MIL),把图像切分成候选区域,通过聚合区域得分推断图像级标签;另一派用注意力机制,让模型自己学会关注目标区域。但YOLO这种单阶段检测器天生不适合MIL——它的anchor机制要求每个位置独立预测,缺乏全局上下文聚合。
我踩过的第一个坑:直接把图像级标签喂给YOLO,分类分支正常训练,回
