3. 工业视觉检测任务定义与需求分析

在SICK深度学习视觉检测项目中,最容易出问题的环节往往不是模型训练本身,而是任务定义不清。客户说“帮我看看这个产品有没有问题”,这句话无法直接转化为可执行的视觉检测指标。工程人员必须把模糊需求拆解为明确的检测任务类型,再为每类任务定义可量化的验收标准。本节围绕缺陷检测、分类、定位、分割、OCR五类核心任务,说明任务边界的划分方法,以及如何将客户需求转化为可执行的视觉检测指标。

五类任务的边界与适用场景

缺陷检测(Defect Detection)回答的是“有没有异常”,输出通常是OK/NG二值判断,或附带缺陷置信度。它适合表面划痕、脏污、缺料、气泡等非固定形态的异常。分类(Classification)回答的是“属于哪一类”,输出是多个预定义类别中的一个,例如将产品分为A级、B级、C级,或将焊接状态分为良好、虚焊、过焊。定位(Localization)回答的是“在哪里”,输出目标的位置坐标或边界框,常用于引导抓取、装配对位、尺寸测量前的目标搜索。分割(Segmentation)回答的是“每个像素属于什么”,输出像素级掩膜,适合不规则轮廓的精确提取,如涂胶轨迹宽度、密封圈完整性、焊缝区域面积。OCR(Optical Character Recognition)回答的是“写的是什么”,输出字符内容与置信度,用于日期、批号、序列号的读取与校验。

任务边界并非总是泾渭分明。例如“检测标签是否贴歪”可以拆成定位(找到标签位置)+分类(判断角度是否超限);“检测字符是否缺笔画”可以拆成OCR(读出字符)+分类(判断印刷质量)。工程上应优先选择输出最直接、标注成本最低、验收标准最清晰的任务类型。若客户只关心“合格与否”,就不要强行做分割;若客户需要测量缺陷面积,则分割比检测更合适。

客户需求 → 任务类型 → 可执行检测指标 转化路径 客户原始需求 “产品表面不能有 明显划痕” “区分三种 焊接质量等级” “找到零件并 引导机械手抓取” “测量涂胶 轨迹宽度” “读取并校验 生产日期” “判断标签 是否贴歪” 任务类型 缺陷检测 OK / NG + 置信度 分类 类别标签 + 概率 定位 边界框 / 中心坐标 分割 像素级掩膜 OCR 字符内容 + 置信度 组合任务 定位 + 分类 可执行检测指标 缺陷最小尺寸 ≥ 0.3 mm;过杀率 ≤ 2%; 漏检率 ≤ 0.5%;单帧节拍 ≤ 80 ms 三类焊接状态准确率 ≥ 98%; 混淆矩阵中虚焊→过焊误判 ≤ 1% 定位重复精度 ≤ ±0.5 mm; 目标丢失率 ≤ 0.1%;输出坐标 + 角度 涂胶宽度测量误差 ≤ ±0.1 mm; 掩膜IoU ≥ 0.85;断胶识别长度 ≥ 1 mm 字符识别准确率 ≥ 99.5%; 日期格式校验通过率 100%;拒识率 ≤ 0.5% 标签角度偏差 ≤ ±2°;位置偏移 ≤ ±1 mm; 综合判定节拍 ≤ 120 ms 注:以上指标为教学示例,实际项目需根据样品测试与产线节拍协商确定

从客户语言到工程指标的转化方法

客户需求通常包含三类信息:缺陷描述、判定标准和产线约束。工程人员需要逐项追问并量化。以“表面不能有明显划痕”为例,需要确认:划痕的最小可接受宽度是多少?长度阈值是多少?在什么光照和角度下可见?允许的过杀率是多少?这些问题的答案直接决定相机分辨率、光源方案和模型阈值。

转化过程可以遵循以下逻辑:首先确定检测对象与缺陷类型,明确是二分类还是多分类;其次确定最小可检特征尺寸,据此计算所需像素分辨率。例如要求检出0.3 mm划痕,若采用5像素作为最小可靠识别宽度,则系统分辨率需达到0.06 mm/pixel。再根据视野范围计算相机像素数:若视野为300 mm × 200 mm,则水平像素至少为300/0.06 = 5000像素,需选用500万像素以上相机。最后确定节拍要求,若产线节拍为每分钟60件,则单件处理时间不超过1秒,扣除上下料和通信时间,视觉处理需控制在300 ms以内。

对于分类任务,指标定义要关注混淆矩阵而非单一准确率。例如焊接质量三分类,客户可能说“准确率要达到98%”,但实际生产中“虚焊误判为过焊”比“过焊误判为虚焊”风险更高。因此需要分别定义各类的召回率和精确率,并对关键误判方向设置更严格的约束。

对于定位任务,核心指标是重复精度和绝对精度。重复精度指同一目标多次定位结果的一致性,通常要求≤±0.5 mm;绝对精度指定位结果与真实位置的偏差,受标定影响。若用于引导抓取,还需定义姿态角精度和搜索范围。对于分割任务,常用IoU(交并比)和边界误差衡量,若用于测量,则需将像素误差换算为物理尺寸误差。对于OCR任务,需区分识别准确率和拒识率,并定义字符校验规则,如日期格式、校验位、与MES系统比对等。

需求分析检查表

在实际项目中,建议用一份结构化检查表逐项确认,避免遗漏关键约束。以下为可参考的字段示例:

检查项 需确认内容 示例
检测对象 产品名称、材质、表面状态 铝合金壳体,拉丝表面
缺陷类型 划痕、脏污、缺料、变形等 划痕、凹坑
最小可检尺寸 宽度、长度、面积阈值 宽≥0.3 mm,长≥2 mm
判定标准 OK/NG规则、分级规则 超过阈值即NG
过杀/漏检要求 可接受的误判比例 过杀≤2%,漏检≤0.5%
节拍要求 单件处理时间上限 ≤300 ms
输出形式 信号、坐标、字符、图像 OK/NG信号 + 缺陷坐标
环境约束 光照、温度、振动、空间 车间日光灯,空间受限
任务定义阶段应尽量收集至少50件OK样品和30件NG样品进行初步验证。若NG样品不足,需与客户协商缺陷模拟方式或调整验收标准。切勿在样品不充分的情况下承诺具体指标。

常见任务边界模糊的处理

当客户需求同时涉及多个任务时,应优先拆分为独立子任务并分别定义指标。例如“检测连接器插针是否缺失、歪斜、氧化”,可拆为:定位(找到插针区域)、缺陷检测(判断是否缺失)、分类(判断歪斜角度是否超限)、分割(判断氧化面积)。拆分后每个子任务都有明确的输入输出和验收标准,便于分别标注、训练和评估。

若客户无法提供明确的量化标准,工程人员应主动提出建议值并说明依据。例如根据行业经验,表面缺陷检测过杀率通常控制在1%~3%,漏检率控制在0.1%~0.5%;OCR识别率通常要求≥99.5%。这些建议值需在样品测试后与客户共同确认,并写入验收协议。

任务定义不清是深度学习视觉项目失败的首要原因。若客户坚持“先做出来看看”,应至少明确检测对象、缺陷类型和输出形式三项,否则后续标注、训练和验收都缺乏依据。

总结来说,任务定义与需求分析的核心动作是:把客户的语言翻译成任务类型,再把任务类型翻译成可测量、可验收的指标。缺陷检测看漏检率和过杀率,分类看混淆矩阵,定位看重复精度,分割看IoU和尺寸误差,OCR看识别率和拒识率。只有指标明确,后续的相机选型、光源设计、标注规范和模型评估才有统一的基准。