4. 深度学习检测任务类型解析

在MERLIC中落地深度学习视觉检测,第一步不是调参,而是判断“这个检测需求到底属于哪一类任务”。MERLIC把深度学习能力封装成若干可直接调用的工具,不同工具对应不同的任务类型、不同的标注方式和不同的输出结果。如果任务类型判断错了,后续的标注、训练和阈值设定都会走偏。本节围绕分类、目标检测、异常检测三类任务,说明它们在MERLIC中的对应工具、输入输出形式以及适用场景的边界。

三类任务的本质区别

分类任务回答的是“这张图整体属于哪一类”。它的输入是一整幅图像,输出是一个类别标签以及该类别的置信度分数。例如判断一个瓶盖是“合格”还是“有划痕”,判断一个零件是“A型号”还是“B型号”。分类不关心目标在图像中的位置,也不输出边界框,它只对整幅图给出一个整体判断。因此分类适合“一图一判定”的场景,图像中通常只有一个主要对象,或者多个对象但只需给出整体结论。

目标检测任务回答的是“图中有哪些目标、它们分别在哪里、属于哪一类”。它的输出是一组检测结果,每个结果包含类别标签、置信度和一个边界框(Bounding Box)坐标。例如在一幅装配图里同时找出多个螺丝、垫片和缺口,并分别给出它们的位置。目标检测适合一幅图中存在多个待检对象、且需要定位每一个对象的场景。它比分类多了一个“定位”维度,因此标注成本更高,需要为每个目标画框。

异常检测任务回答的是“这张图和正常样本相比,哪里不正常”。它通常只需要正常(OK)样本进行训练,学习正常样本的分布特征,推理时把偏离正常分布的区域标记为异常,并输出异常热力图或异常分数。异常检测适合缺陷形态多样、难以穷举、且缺陷样本稀少的场景,例如表面细微划痕、污点、纹理异常。它的优势是不需要为每种缺陷收集大量样本,劣势是对“正常”的定义依赖训练集覆盖度,且异常区域的具体类别往往无法直接给出。

MERLIC中的对应工具与输出形式

在MERLIC的工具箱中,这三类任务分别对应不同的深度学习工具。分类对应“Deep Learning Classification”类工具,典型输出是类别名称与置信度,可直接与MERLIC的判断逻辑(如阈值比较、条件分支)连接。目标检测对应“Deep Learning Object Detection”类工具,输出为检测到的对象列表,每个对象带有类别、置信度和边界框,可进一步用于测量、计数或位置判断。异常检测对应“Deep Learning Anomaly Detection”类工具,输出为异常分数和异常区域,通常配合阈值判断OK/NG。

需要特别注意的是,MERLIC的工具输出并不是终点,而是后续处理链的输入。分类的置信度可以送入条件判断,决定是否放行;目标检测的边界框可以送入测量工具,计算间距或角度;异常检测的异常分数可以送入阈值工具,输出最终判定。因此选择工具时,不仅要看任务类型,还要看后续需要什么样的数据形态。

MERLIC 三类深度学习任务:输入 → 工具 → 输出 → 适用场景 任务类型 MERLIC 工具 输出形态 典型适用场景 分类 Classification 整图 → 类别 一图一判定 Deep Learning Classification 输入:整幅图像 标注:类别标签 类别名称 + 置信度 如:OK 0.97 / NG 0.03 可接条件判断 阈值比较 → 放行/剔除 瓶盖合格/划痕判定 零件型号识别 包装有无/缺失判断 单对象、整体结论 目标检测 Object Detection 多目标 → 定位+分类 输出边界框 Deep Learning Object Detection 输入:整幅图像 标注:类别 + 边界框 对象列表 类别 + 置信度 + 边界框 可接测量/计数工具 计算间距、角度、数量 装配图多螺丝定位 PCB 元件缺失/偏移 多零件计数与分类 多对象、需定位 异常检测 Anomaly Detection 正常样本 → 偏离度 输出异常分数/热力图 Deep Learning Anomaly Detection 输入:正常样本集 标注:仅 OK 样本 异常分数 + 异常区域 热力图显示偏离位置 阈值判断 OK / NG 不输出具体缺陷类别 表面细微划痕/污点 纹理异常/色差 缺陷形态多样难穷举 缺陷样本稀少 选择依据:输出需要“整体结论”选分类;需要“每个目标的位置”选目标检测;缺陷难穷举且只有正常样本选异常检测

适用场景的边界与选择依据

三类任务并非互斥,实际项目中经常需要组合使用。例如一个装配检测工位,可以先用目标检测找出所有零件的位置,再对每个零件区域裁剪后送入分类工具判断型号,最后用异常检测检查表面缺陷。但在单次任务选型时,应优先判断最核心的需求是什么。

如果需求是“整幅图给一个结论”,且图像中只有一个主要对象,分类是最直接的选择。它的标注成本最低,训练速度最快,推理输出最简单。但如果图像中有多个对象需要分别判断,分类就无法胜任,因为它不输出位置信息,无法区分“哪个对象不合格”。

如果需求是“找出所有目标并定位”,目标检测是唯一选择。它的标注需要为每个目标画边界框,工作量明显大于分类。在MERLIC中,目标检测的输出可以直接连接到测量工具,例如计算两个螺丝孔的中心距,或者统计某类元件的数量。需要注意的是,目标检测对小目标、密集目标、遮挡目标的检测效果受训练数据影响较大,标注时应保证每个目标都被完整框住。

如果需求是“发现任何不正常的地方”,且缺陷形态无法预先枚举,异常检测是最合适的。它只需要正常样本,不需要为每种缺陷收集样本,这在工业现场非常实用。但异常检测的输出是“偏离正常”的程度,而不是具体的缺陷类别。如果后续需要知道“这是划痕还是污点”,还需要额外分类或人工确认。此外,异常检测对训练集的“正常覆盖度”要求很高,如果训练集中没有包含某种正常变化(如光照波动、产品颜色差异),推理时可能误报。

MERLIC中的配置要点与判断逻辑

在MERLIC中配置这三类工具时,有几个共同的要点。第一是图像预处理:输入图像的分辨率、对比度、ROI区域会直接影响模型效果。分类和目标检测通常需要固定ROI,把无关背景裁掉;异常检测则要求训练和推理的图像条件尽量一致。第二是置信度阈值:分类和目标检测输出置信度,需要设定一个阈值来决定是否接受该结果。阈值过高会漏检,过低会误检,通常需要在验证集上调整。第三是结果后处理:MERLIC允许把工具输出连接到条件判断、测量、计数等后续工具,形成完整的检测链。

对于异常检测,还需要额外关注异常分数的阈值设定。异常分数本身是一个连续值,需要根据正常样本的分数分布和可接受的误报率来确定阈值。一个实用的做法是:先用一批正常样本推理,统计异常分数的均值和标准差,把阈值设在均值加若干倍标准差的位置,再根据实际误报情况微调。

在实际项目中,如果拿不准该用哪类任务,可以先问三个问题:第一,我需要的输出是“一个结论”还是“多个目标的位置”?第二,我能不能提前列出所有缺陷类型?第三,我手头有多少缺陷样本?如果只需要一个结论且缺陷类型可枚举,优先分类;如果需要定位多个目标,选目标检测;如果缺陷类型无法穷举且缺陷样本很少,选异常检测。

三类任务的对比总结

对比维度 分类 目标检测 异常检测
核心问题 整图属于哪一类 有哪些目标、在哪里 哪里偏离正常
MERLIC工具 Deep Learning Classification Deep Learning Object Detection Deep Learning Anomaly Detection
标注方式 整图类别标签 类别 + 边界框 仅正常样本
输出 类别 + 置信度 对象列表(类别+框+置信度) 异常分数 + 异常区域
标注成本 低 高 低(只需OK样本)
典型场景 瓶盖合格判定、型号识别 多螺丝定位、元件缺失 表面划痕、纹理异常
主要局限 不输出位置 标注工作量大 不输出缺陷类别

理解这三类任务的差异,是后续在MERLIC中正确选择工具、准备数据和设定判断逻辑的基础。实际选型时,不要只看“哪个工具更先进”,而要看“哪个工具的输出形态最匹配我的检测需求”。分类、目标检测、异常检测各有其不可替代的适用边界,组合使用往往能覆盖更复杂的工业检测场景。