异常检测:只注册良品图找异常¶
前面那些检测项都要你先说清楚"什么算坏":字要和参考比对得上、亮度要落在某个范围、颜色占比要达标。有些地方说不清 —— 表面划伤、印刷糊版、涂层斑驳、异物,形态千奇百怪,列不完。
异常检测换了个思路:只喂良品图,让软件把"正常长什么样"学下来,凡是和正常对不上的地方就标出来。它输出一张热力图和一张缺陷图,并按缺陷面积判 PASS / NG。
这一项不是所有软件包都有
异常检测是可选模块。如果新建检测项时找不到"异常检测",或者提示"当前未开放异常检测功能",说明你这台设备的软件包没开这个模块,请联系供应商。 另外,训练要调用单独的训练程序,这个程序不随安装包发布。软件里点"训练"时提示"训练程序不存在,请联系技术人员",就是它没装,需要时联系我们单独提供。
前置条件¶
- 检测方案里已经建好标签外框,模板图已完成旋转拉伸。
- 至少能拿到 5 张以上这块位置的良品图。少于 5 张点"训练"会提示"注册OK图数量至少5张"。
- 取像必须稳定。异常检测对取像变化比别的检测项更敏感 —— 光一变,整片都会被判成"不正常"。
它包含哪些检测框¶
只有一个:"异常检测参数"。双击它打开参数窗口。

新建与画框¶
- 切到"编辑模式"。
- 点工具栏"新建检测项",类型选"异常检测",确定。
- 在模板图上框住要检查的那块表面。框住的应该是同一种质地、同一种图案的一片,不要横跨好几种材质或把大片空白也圈进去。
- 点"训练工程"。
- 双击"异常检测参数",建类型 → 注册良品图 → 点"训练"。
参数说明¶
类型与训练¶
类型就是一个样本库,一个位置建一个,不要共用。
| 参数 | 含义 | 调参建议 |
|---|---|---|
| "类型:" | 当前用哪个样本库 | 必须选一个。没选就跑会提示"请先新建或选择类别" |
| "新建" / "删除" | 建 / 删类型 | 删除会连同注册图和已训练的模型一起删掉 |
| "导入" / "导出" | 把类型打包带走 / 装回来 | 导入后要重新打开这个参数窗口才看得到 |
| "训练图片大小:" | 训练和推理时把图缩放到多大,可选 64 / 128 / 256 / 512 | 细小缺陷要选大的,速度会变慢;大面积缺陷选小的更快 |
| "自动" | 勾上后由软件按注册图的实际尺寸自动挑一个 | 默认勾上,一般不用管。手动改过这一项,训练状态会失效,要重新训练 |
| "训练" | 开始训练 | 注册图有任何增删之后都要重新点一次 |
| "当前状态:" | "已训练"或"未训练" | 显示"未训练"时跑起来一律判 NG,结果里写"未训练" |
改了注册图,旧模型就没了
注册、删除注册图,或改"训练图片大小:",都会把训练状态清掉并删除已经训好的模型。改完必须重新点"训练",否则这一项会一直判 NG。
判定参数¶
| 参数 | 含义 | 调参建议 |
|---|---|---|
| "阈值:" | 异常分数高过它的像素才算可疑 | 训练完软件会自动给一个初值("训练集阈值:"的两倍)。误报多就往上调,漏检多就往下调,小步调 |
| "忽略缺陷面积:" | 可疑区域小于这个面积就不算缺陷 | 用来滤掉零星噪点。从小往大调,调到正常品不再报点、真缺陷还能报出来为止 |
| "当前图最小值:" / "当前图最大值:" | 本次这张图的异常分数最低 / 最高值 | 只读。定"阈值:"时就看"当前图最大值:":良品的最大值和不良品的最大值之间就是阈值该待的地方 |
| "当前缺陷面积:" | 本次判出来的缺陷面积 | 只读。定"忽略缺陷面积:"时看它 |
| "训练集阈值:" | 训练时算出来的推荐阈值 | 只读,参考用 |
| "训练集最小值:" / "训练集最大值:" | 训练集上的分数范围 | 只读。良品的分数应该落在这个范围附近 |
注册图¶
| 按钮 | 作用 | 说明 |
|---|---|---|
| "OK组图片" / "NG组图片" | 两组注册图的页签 | 训练主要靠 OK 组。NG 组可以不放,放了有助于评估 |
| "注册当前图片为OK" / "注册当前图片为NG" | 把当前框里的图存进对应组 | 每组上限 100 张,超了提示"注册图片数量限制100" |
| "导入图片注册" | 从磁盘选图,在弹出窗口里拖框对准,再点"注册为OK"或"注册为NG",完事点"完成" | 用来把历史存图变成样本 |
| "删除当前注册图" | 删掉选中的那张 | 删完要重新训练 |
OK 组要覆盖良品的正常波动:不同批次、位置略偏、颜色深浅不同的良品都放几张。良品的正常差异没进样本库,上线后就会被当成异常报出来。
"自动注册图片为OK:"¶
勾上以后,运行过程中每来一件新产品,就把这块框里的图自动存进 OK 组。用来快速攒良品样本,省得一张张手工注册。
在树里右键这个检测项,菜单里的"设置自动注册为OK图"是同一个开关。
自动注册期间不要拿判定结果当真
每存进一张新图,已经训好的模型就会失效。所以开着自动注册跑的时候,这一项会一直判 NG。正确用法是:
- 确认这批产品都是良品。
- 打开自动注册,让产线跑上一段,攒够样本(上限 100 张)。
- 关掉自动注册,进参数窗口点"训练"。
- 训练完再定"阈值:"和"忽略缺陷面积:",然后正式生产。
这个开关不随工程保存,重开工程后会自动关闭。
训练与调试¶
- 建类型 → 注册至少 5 张良品图(手工注册或用自动注册攒)。
- 点"训练"。训练要跑一会儿,窗口会显示"训练中...",完成后弹"训练完成!","当前状态:"变成"已训练"。
- 点运行按钮跑一次,看结果图下拉框里的两张图:
- "热力图":越红表示越不像正常。良品上应该基本没有明显的红块。
- "缺陷图":超过阈值且面积够大的区域会被红框圈出来。
- 拿一批良品图过一遍,记下每张的"当前图最大值:";再拿不良品过一遍,同样记下来。阈值卡在两堆数中间。
- 良品上还有零星小红点,就把"忽略缺陷面积:"往上调一点。
- 点"保存工程"。
常见误判与处理¶
| 现象 | 原因 | 处理 |
|---|---|---|
| 一直 NG,结果里写"未训练" | 还没训练,或注册图改过之后没重训 | 进参数窗口点"训练";确认"当前状态:"变成"已训练" |
| 点"训练"提示"注册OK图数量至少5张" | OK 组不够 5 张 | 补注册 |
| 点"训练"提示"训练程序不存在,请联系技术人员" | 这台设备没装训练程序,它不随安装包发布 | 联系我们单独提供并安装 |
| 点"训练"提示"请先新建或选择类别" | "类型:"是空的 | 新建或选一个类型 |
| 良品被大片判异常 | OK 组里没有这种正常样式,或取像变了(换灯 / 灯衰减 / 改过曝光) | 先比对现在的图和注册图的亮度;取像恢复后仍报,就把这种良品补进 OK 组再重训 |
| 到处都是零星小红点 | "阈值:"偏低,或"忽略缺陷面积:"太小 | 先调"忽略缺陷面积:"滤掉噪点;仍然多再抬"阈值:" |
| 真缺陷检不出来 | "阈值:"太高,或"忽略缺陷面积:"太大,或"训练图片大小:"太小看不清细节 | 依次往回调;细小缺陷把"训练图片大小:"提到 256 或 512 |
| 换批次后误报变多 | 新批次的正常外观不在样本库里 | 把新批次良品补进 OK 组,重新训练 |
| 开着自动注册,一直 NG | 每注册一张模型就失效 | 这是正常现象。攒够样本后关掉自动注册,重新训练 |
| 检测明显变慢 | "训练图片大小:"选得大 | 在够用的前提下选小一档 |
| 换了一台电脑,这一项失效 | 训练好的模型跟着类型走,没带过去 | 用"导出"把类型打包,在新机器上"导入" |