跳转至

固定区域:检查固定位置的印刷内容

固定区域用来看一块内容永远不变的地方印得对不对:LOGO、图标、认证标志、固定文字块、固定图案。它拿模板图上的这块内容当标准答案,逐像素和当前这件比,差得太多就报缺陷。

内容每件都不一样(流水号、日期)的地方不能用它,要用可变区域。

前置条件

  • 检测方案里已经有标签外框,并且已经训练过。
  • 主模板图上这块内容是良品、清晰。

它包含哪些检测框

固定区域下面有一个检测框,里面固定挂三个:

检测框 干什么 默认
搜索参数 规定这块内容允许在多大范围内漂移,软件就在这个扩大后的范围里去找它 开
定位参数 在搜索范围里,按形状把这块内容精确找出来 开
缺陷参数 把找到的图和模板图对比,判有没有印刷缺陷 开

搜索参数和定位参数是这个检测项自己的局部定位,和标签外框的整图定位是两级(见标签外框)。

另外可以在树里选中这个检测项右键,再加两种框:

  • 添加细节检测框:在这块区域里再圈一小块,单独数轮廓数量。适合"这里必须有 3 个孔""这个小标记不能少"这类点数的活。
  • 添加屏蔽内容检测框:圈出的地方缺陷参数不查。用来放过允许变化的小角落。

要让标签外框的空白区域检测放过某一块,不在这里加框:打开"标签外框"检测项的"空白区域"参数窗口,到"区域"页往"屏蔽区域"表里加。

新建与画框

  1. 点工具栏"新建检测项",类型选"固定区域",确定。
  2. 模板图左上角出现一个绿框,拖到刚好框住那块固定内容。
    • 框要贴着内容,不要留大片空白——空白多了,真实缺陷占的面积比例就变小,容易漏检。
    • 也别切到内容,切一半会被当成缺陷。
  3. 按 Ctrl+T"训练工程",再点"单模板运行"看效果。

白底还是黑底

画完框先打开"缺陷参数",在"预处理"里把"白底黑字"勾对:白底黑字就勾上,黑底白字就不勾。弄反了缺陷检测基本没法用。

模板图上贴着 LOGO 的固定区域框

参数说明

搜索参数

参数 含义 调参建议
横向偏移容忍绝对值 允许这块内容相对模板往左右各漂多少像素 默认 30,也就是左右各 15 像素。贴标位置抖动大就加大;加大后会变慢,而且容易在附近找到长得像的东西
纵向偏移容忍绝对值 上下方向同上 同上
横向锁定 / 纵向锁定 勾上后,批量改参数时不动这一项 一般不用

调的时候把右边图片下拉框切到"输出图片",能直接看到扩张后实际送去搜索的那块图。

定位参数

这一页是按轮廓形状去找目标,和标签外框勾了"使用模板匹配定位"时是同一套。

匹配方法:"形状匹配"只允许转动;"多尺度形状匹配"还允许放大缩小。相机到产品距离固定就选前者,更快。产品每次放置远近/高度略有不同(画面大小差约 1%~3%)、长文字行右端出现成片误报时,选"多尺度形状匹配":定位会量出这一件的比例,后面的比对按这个比例缩回再比。默认缩放范围 0.97~1.03,够覆盖 ±3% 的放置差;范围别放太宽,整张印大/印小本身是缺陷,范围太宽会被补偿掉。多尺度建模比形状匹配慢。多尺度形状匹配下"亚像素"不起作用。

训练参数(改完必须点"训练"):

参数 含义 调参建议
起始角度 / 最大角度 允许目标转多大角度 范围越大越慢。标签外框已经把整体转正了,这里给 -5 到 5 通常够用
角度步长 每次转多少度去试。勾"自动角度步长"让软件定 保持勾选
最小缩放 / 最大缩放 / 缩放步长 只在"多尺度形状匹配"下起作用,可输两位小数 默认 0.97 / 1.03;距离固定就别动。最小等于最大时按"形状匹配"处理,最小大于最大会提示重填
金字塔层数 先在缩小的图上粗找再精找,勾"自动金字塔层数"让软件定 目标很小、老是找不到时,手动调小
最小组件尺寸 比这个小的零碎轮廓不当特征 图案周围有噪点时往上调
最小对比度 明暗差小于这个值的边不要,勾"自动最小对比度"让软件定 打光暗、边缘发灰时手动调小
特征优化 "自动"只挑一部分特征点(快);"全部特征点"全用(准但慢) 先用"自动",找不稳再换
低阈值 / 高阈值 提取边缘的两个门槛,越大越只保留反差大的边。勾"自动低阈值""自动高阈值"让软件定 保持勾选;手动时低阈值必须小于高阈值
匹配度量 "考虑极性"要求黑白关系和模板一致,两个"忽略极性"允许反色 同款标签固定用"考虑极性"

查找参数(改完不用重新训练):

参数 含义 调参建议
分数阈值 相似度要达到多少才算找到,0~1 默认 0.5。找错位置就往上调到 0.7~0.8;正常品时不时找不到就往下调
贪心度 搜索"见好就收"的程度,越大越快也越容易漏 默认 0.9,定位偶发失败时降到 0.5~0.7
亚像素 定位精度算到像素以内 缺陷检测对对齐要求高时可以开,稍慢

"匹配结果"一栏显示本次找到的位置和相似度。定位一旦失败,缺陷检测就不用看了,先把这里调稳。

缺陷参数 —— 预处理

参数 含义 调参建议
白底黑字(勾选框;不勾 = 黑底白字) 告诉软件这块图哪边是内容、哪边是底 按实际勾。弄反了缺陷位置会整个跑偏

缺陷参数 —— 图像对齐

对比之前,软件要先把当前图和模板图严丝合缝地叠在一起。这一组管的就是"怎么叠"。

参数 含义 调参建议
迭代优化 叠好之后再反复微调几次,把残余的错位磨掉 默认开着。关掉会快一点,但边缘更容易假报缺陷
启用透视矫正 除平移旋转外,还允许"近大远小"的倾斜变形 平贴产品别开;明显斜面上的内容才开
自动选择适配算法 让软件自己在几种找对应点的算法里挑(勾选 = 是) 建议不勾。挑选过程很费时间,只有手动怎么选都对不齐时才勾上
关键点检测类型 用哪种特征来对齐:texture1、texture2、texture3、edge。从左到右越来越慢 默认从 texture1 开始试;纹理少、只有清晰边框的内容用 edge 效果好;自动选择时置灰,由软件决定
边缘拉伸尺度 对齐时把边缘看得多重。值越大,边缘附近越容易被当成"本来就会差一点"而放过 默认 1。字符边缘老是假报缺陷,就往上调到 1.5~2;调太大会把真实的缺角也放过
边缘增强 配合上一项,给边缘再加一个固定量 默认 0,一般不动

缺陷参数 —— 缺陷定义

这一组决定"差多少才算缺陷"。软件把差异分成两类:比模板亮的(常见于缺墨、划白、漏印)和比模板暗的(常见于脏污、重影、多墨)。两类各有自己的两个门槛,一处差异要同时过掉灰度门槛和面积门槛才算缺陷。

参数 含义 调参建议
更亮灰度差值 比模板亮多少才算可疑,0~255 默认 30。漏检缺墨就调小(20 左右),打光波动大导致误报就调大(40~60)
更暗灰度差值 比模板暗多少才算可疑 默认 30,调法同上
更亮缺陷面积 一处"更亮"的可疑区域要有多少像素才判缺陷 默认 20。误报小白点就调大;要抓细小缺墨就调小。这是最常调的一个
更暗缺陷面积 一处"更暗"的可疑区域要有多少像素才判缺陷 默认 20,调法同上
缺陷最小高度 缺陷的高度要大于这个值 默认 3。横向细划痕会被它挡掉,要抓就调到 1
缺陷最小宽度 缺陷的宽度要大于这个值 默认 3,同上

只调一边

大部分现场只关心一类缺陷。比如只怕缺墨,就把"更暗灰度差值"调到很大(比如 200)把暗缺陷整个放掉,专心调"更亮"那两项,干扰会少很多。

细节检测框

右键"添加细节检测框"加出来的框,双击它打开:

参数 含义 调参建议
曝光补偿 先把这一小块提亮多少再数轮廓 内容偏暗、数不出轮廓时往上调
二值化阈值类型 "自动"让软件按这块图自己定分界线;"固定"用你给的数 打光稳定就用"固定",结果更可复现;明暗变化大用"自动"
固定阈值参数 选"固定"时用的那个分界灰度值,0~255 在结果图上把鼠标放到内容和底上,读两边的通道值,取中间
参考轮廓数量 模板图上数出来多少个轮廓,只读 训练后自动填。如果它和你肉眼数的对不上,先调上面两项
当前轮廓数量 这一件数出来多少个,只读 运行后看它和参考值一不一样,不一样就判缺陷

训练与调试

  1. 每次挪框、换模板图、改定位参数之后,都要"训练工程"(Ctrl+T)。只改缺陷参数可以不训练。
  2. 在树里选中这个检测项右键"运行此检测项",只跑这一个,调参最快。
  3. 打开"缺陷参数",顶部有"设置""图形""结果""运行结果"四页:
    • 到"图形"页勾选想看的中间结果,再回到右边图片下拉框里选。
    • 参考图片是标准答案,当前对齐图片是这一件叠正之后的样子。两张来回切,如果内容错位明显,问题在对齐,不在缺陷门槛。
    • 更亮差异和更暗差异是最有用的两张:把鼠标移到某个点上,图左上角会显示这个点和模板差了多少。用这个数来定"更亮灰度差值"和"更暗灰度差值",比瞎试快得多。
    • 缺陷结果图片是最终判定,红框就是报出来的缺陷。
  4. 一个可行的调法:先把两个"灰度差值"设成正常品里读到的最大差异再加 10,然后用"缺陷面积"滤掉零星小点。

常见误判与处理

现象 原因 调哪里
正常品整块报红 底色判反了 "缺陷参数 → 预处理"勾上或取消"白底黑字"(不勾 = 黑底白字)
缺陷框密密麻麻贴在字符和图案边缘 对齐有微小误差 开"迭代优化";把"边缘拉伸尺度"从 1 调到 1.5~2
整体偏亮或偏暗就报一片缺陷 打光或曝光变了 先查光源和相机曝光;短期可把两个"灰度差值"调大,但这会降低灵敏度
定位老是失败(结果直接 NG) 搜索范围不够,或分数阈值太高 加大"横向偏移容忍绝对值"和"纵向偏移容忍绝对值";把"分数阈值"往下调;把"贪心度"往下调
定位定到旁边一个长得像的图案上 分数阈值太低,搜索范围太大 把"分数阈值"调到 0.7 以上;收小搜索范围
细小缺墨漏检 面积门槛太高,或最小高宽挡住了 调小"更亮缺陷面积";把"缺陷最小高度""缺陷最小宽度"调到 1
允许变动的小角落每次都报 这块本来就会变 右键"添加屏蔽内容检测框",圈住它
跑得慢 搜索范围太大,或"自动选择适配算法"勾着;老工程的"定位参数"里没勾"自动金字塔层数""自动角度步长"(旧默认是固定 4 层、0.01°) 收小搜索范围;取消勾选"自动选择适配算法";"关键点检测类型"从 edge 换回 texture1;"定位参数"里勾上"自动金字塔层数""自动角度步长"后重新训练(新建的工程默认就勾着)

相关页面