3、任务定义与区别:分类、检测、分割、异常检测四类任务的形式化定义与输出差异
在缺陷检测的工程实践中,模型选型的第一步往往不是选择某个具体的神经网络架构,而是明确我们究竟要解决哪一类视觉任务。分类、检测、分割与异常检测这四类任务,虽然共享卷积神经网络等底层技术,但其形式化定义、输出空间、标注成本、推理效率与适用场景存在本质差异。理解这些差异,是避免“拿着锤子找钉子”式选型错误的前提。本章将从数学定义、输出格式、工程约束与实战案例四个维度,系统拆解这四类任务的核心区别。
3.1 核心原理:四类任务的形式化定义
在缺陷检测语境下,四类任务的形式化定义决定了模型的能力边界。图像分类(Image Classification)的目标是学习一个映射函数 \( f_{cls}: \mathbb{R}^{H \times W \times 3} \rightarrow \{0, 1, ..., K-1\} \),其中 \( K \) 为预定义的缺陷类别数(包括“正常”类)。该任务将整张输入图像压缩为一个离散标签,输出空间最小,信息粒度最粗。例如,在PCB裸板检测中,分类模型只能回答“这块板子是否有缺陷”或“属于哪一类缺陷”,但无法告知缺陷在图像中的具体位置。
目标检测(Object Detection)在分类基础上增加了空间定位维度,其输出为 \( \mathcal{B} = \{ (x_i, y_i, w_i, h_i, c_i) \}_{i=1}^{N} \),其中 \( (x_i, y_i) \) 为边界框左上角坐标,\( w_i, h_i \) 为宽高,\( c_i \) 为类别标签,\( N \) 为检测到的缺陷实例数量。检测模型同时解决“是什么”和“在哪里”的问题,但边界框是矩形近似,无法精确描述缺陷的不规则轮廓。在工业场景中,检测任务常用于焊点桥连、元件缺失、划痕定位等需要知道缺陷数量和大致位置的场景。
语义分割(Semantic Segmentation)将定位粒度提升至像素级,输出为掩码图 \( M \in \{0, 1, ..., K-1\}^{H \times W} \),每个像素被赋予一个类别标签。对于缺陷检测,这意味着可以精确测量缺陷的面积、周长、形状因子等几何参数。分割模型输出的是密集预测,计算量最大,但对缺陷边界的刻画最精细。在半导体晶圆缺陷分类中,分割结果可直接用于计算缺陷的等效直径和密度分布,为工艺调整提供量化依据。
异常检测(Anomaly Detection)采用不同的范式:它仅使用正常样本训练,学习正常数据的分布 \( P_{normal}(x) \),推理时计算输入图像与正常分布的偏离程度,输出异常分数 \( s \in \mathbb{R} \) 和可选的像素级异常掩码。其核心假设是“缺陷是稀有事件,且与正常模式有显著差异”。异常检测的优势在于无需标注缺陷样本,适合缺陷种类繁多、不可穷举或新缺陷频繁出现的场景,例如锂电池表面异物检测、纺织品瑕疵检测等。
3.2 判断方法:如何根据业务需求选择任务类型
在实际项目中,任务选型应遵循“缺陷可枚举性→定位精度需求→标注预算→推理速度”的四步判断流程。第一步,评估缺陷是否可枚举。如果产线上的缺陷类型固定且已知(如划痕、脏污、缺角三类),优先考虑分类或检测;如果缺陷类型未知或持续演化,必须选择异常检测。第二步,明确定位精度需求。若只需判断“有无缺陷”,分类即可;若需知道缺陷位置以便机械臂剔除,检测足够;若需测量缺陷面积或形状,必须使用分割。
第三步,核算标注预算。分类任务每张图像仅需一个标签,标注成本约0.1-0.5元/张;检测任务需画边界框,成本约1-3元/张;分割任务需逐像素标注,成本高达5-20元/张。异常检测只需正常样本,标注成本几乎为零,但需要额外的正常样本采集和清洗工作。第四步,评估推理速度约束。在高速产线(如每分钟检测120片PCB),单张图像推理时间需控制在50ms以内,此时分割模型往往难以满足,而分类或检测模型可通过轻量化设计达到实时性要求。
3.3 案例拆解:PCB焊点缺陷检测的任务选型实战
某电子制造企业需要为SMT产线设计焊点缺陷检测系统,检测对象为PCB板上的回流焊焊点。初始目标是识别虚焊、桥连、少锡、锡珠四类缺陷,并要求定位缺陷位置以便后续返修。产线节拍为每块板15秒,其中检测环节允许的推理时间为2秒。经过初步调研,发现以下约束:
- 缺陷可枚举性:四类缺陷形态差异明显,且可通过AOI(自动光学检测)图像清晰辨识,属于可枚举场景。
- 定位需求:需要知道缺陷在PCB上的坐标,以便返修工作站自动定位,但不需要精确到像素级轮廓。
- 标注预算:企业有3名质检工程师,可投入2周时间进行标注,预计可标注5000张图像。
- 推理速度:2秒的推理时间对检测模型非常充裕,甚至可以运行两阶段检测器。
基于上述约束,团队排除了分割任务(标注成本过高且无必要)和异常检测(缺陷可枚举,无需使用无监督范式),最终选择目标检测方案。具体实施中,采用YOLOv8-m模型,输入分辨率640×640,在NVIDIA Jetson Orin平台上推理时间约35ms,远低于2秒的预算。训练数据为4000张标注图像(含四类缺陷共12000个实例),验证集1000张。经过50轮训练,mAP@0.5达到0.92,虚焊的召回率最高(0.95),锡珠的召回率最低(0.88),原因是锡珠尺寸较小且与焊点背景对比度低。
在部署阶段,团队发现检测模型对“少锡”和“虚焊”两类缺陷的边界框重叠严重,导致分类混淆。通过分析错误样本,发现这两类缺陷在灰度直方图上高度相似,仅凭外观难以区分。解决方案是在检测模型后增加一个轻量级分类头(ResNet-18),对检测到的候选框进行二次分类,将混淆率从12%降至3%。最终系统综合准确率达到96.5%,误报率控制在0.5%以内,满足产线要求。
3.4 常见误区与总结复盘
在四类任务选型中,最常见的误区有三类。第一类是“越精细越好”的思维定式:部分工程师倾向于选择分割模型,认为像素级输出一定优于边界框。但分割模型不仅标注成本高,且对缺陷边缘的噪声敏感,在光照波动大的工业现场反而可能产生更多误检。第二类是“异常检测万能论”:异常检测虽然无需缺陷样本,但对正常样本的分布建模要求极高,当正常样本本身存在较大方差(如不同批次材料的颜色差异)时,误报率会急剧上升。第三类是“忽视输出后处理”:检测和分割模型的原始输出需要经过NMS(非极大值抑制)、连通域分析等后处理才能用于产线,后处理逻辑的设计往往决定了最终系统的稳定性。
从信息论的角度看,四类任务的输出信息量依次递增:分类输出 \( \log_2 K \) 比特,检测输出 \( N \times (4 \log_2 W + 4 \log_2 H + \log_2 K) \) 比特,分割输出 \( H \times W \times \log_2 K \) 比特,异常检测输出则介于分类与分割之间(分数+可选掩码)。信息量越大,模型容量需求越高,训练数据需求也越大。因此,选型的本质是在信息需求与资源约束之间寻找最优平衡点。
| 对比维度 | 图像分类 | 目标检测 | 语义分割 | 异常检测 |
|---|---|---|---|---|
| 输出形式 | 类别标签 | 边界框+类别 | 像素级掩码 | 异常分数+可选掩码 |
| 训练数据要求 | 图像级标签 | 边界框标注 | 像素级标注 | 仅正常样本 |
| 典型标注成本(元/张) | 0.1-0.5 | 1-3 | 5-20 | 0(需采集正常样本) |
| 推理速度(相对) | 最快 | 快 | 慢 | 中等 |
| 缺陷定位精度 | 无 | 框级 | 像素级 | 像素级(可选) |
| 适用场景 | 整板OK/NG判断 | 缺陷定位与计数 | 缺陷形状/面积测量 | 未知缺陷/小样本 |
总结而言,四类任务构成了从“粗粒度判断”到“细粒度分析”的完整光谱。在实际项目中,建议先进行缺陷可枚举性评估和定位精度需求分析,再结合标注预算与推理速度约束,选择最合适的任务类型。同时,应认识到任务选型并非一成不变,随着产线数据积累和业务需求深化,可以从分类升级到检测,或从检测升级到分割,这种渐进式演进策略有助于降低项目风险。