2. Teledyne视觉检测系统构成与数据链路

要治理误检与漏检,第一步不是调参数,而是把整条链路拆开看清楚:光从哪里来、图像在哪里形成、数据在哪里被搬运、判定在哪里发生、结果又从哪里出去。Teledyne DALSA 的工业视觉系统典型上由六个环节串联:光源与光学(镜头)→ 图像传感器(相机)→ 图像采集卡/接口 → 图像处理软件 → 通信接口 → 执行与上位系统。误检和漏检从来不是"软件不准"这一个原因,它可能发生在链路的任何一段,而且往往以"下游现象"暴露"上游缺陷"。

一、链路六段各自的职责与关键参数

光源决定被检特征与背景的对比度。常用类型包括环形光、条形光、同轴光、背光、穹顶光和结构光。关键参数是波长、入射角、亮度稳定性与频闪同步。例如检测金属表面划痕时,用低角度条形光让划痕产生阴影,比正面环形光更容易成像;而检测透明薄膜上的异物,背光透射往往比反射光更有效。光源频闪必须与相机曝光同步,否则会出现亮度不均的"条纹"。

镜头决定视场(FOV)、工作距离(WD)和分辨率匹配。核心公式是:视野宽度 = 传感器宽度 × 工作距离 ÷ 焦距。若传感器为 2/3″(约 8.8 mm 宽),工作距离 300 mm,选 25 mm 焦距,则视野宽度约为 105 mm。若被测特征为 0.1 mm,需要至少 3~4 个像素覆盖,则要求像素分辨率优于 0.03 mm/pixel,对应约 3500 像素的横向分辨率——这直接决定了相机选型,而不是事后靠算法"放大"。

相机把光信号转为数字图像。关键参数包括分辨率、帧率、像元尺寸、快门方式(全局/卷帘)、位深和信噪比。运动物体必须用全局快门,否则会产生几何畸变,这种畸变在边缘检测中会直接变成漏检。

采集卡与接口负责把相机数据搬进主机。常见接口有 GigE Vision、USB3 Vision、Camera Link 和 CoaXPress。Camera Link 与 CoaXPress 适合高带宽多相机同步;GigE 布线简单但要注意网卡、巨帧和交换机带宽。采集卡配置错误(如丢包、触发模式不匹配)会造成图像撕裂或丢帧,表现为间歇性漏检。

图像处理软件(如 Teledyne DALSA 的 Sherlock、iNspect 或 Sapera Vision)完成定位、测量、缺陷检测和分类。它依赖前端的图像质量,也依赖标定精度。标定不准会让尺寸测量系统性偏移。

通信接口把判定结果(OK/NG、坐标、测量值)通过 PLC、Modbus TCP、EtherNet/IP、Profinet 或数字 I/O 送给执行机构。通信延迟或握手时序错误会造成"结果对了但动作错了"的假性漏检。

Teledyne 视觉检测链路:信号流与误检/漏检高发点 光源 波长/角度/频闪 镜头 FOV/WD/焦距 相机 分辨率/快门/位深 采集卡/接口 GigE/CL/CXP 处理软件 定位/测量/分类 通信 PLC/IO 光源风险 亮度漂移→漏检 角度不当→误检 频闪失步→条纹 镜头风险 分辨率不足→漏检 畸变→边缘误判 景深不够→模糊 相机风险 卷帘畸变→漏检 噪声高→误检 曝光不当→过曝 采集风险 丢包→图像撕裂 触发错→丢帧 带宽不足→延迟 软件风险 阈值过松→漏检 阈值过紧→误检 标定偏差→偏移 通信 延迟 握手错 丢结果 误检/漏检定位思路:从下游现象反推上游环节 ① 现象:整批漏检 → 先查光源亮度是否漂移、曝光是否变化、触发是否丢失 ② 现象:边缘位置随机跳动 → 查镜头畸变、机械振动、标定是否过期 ③ 现象:间歇性图像撕裂 → 查采集卡丢包、网卡巨帧、线缆屏蔽 ④ 现象:OK/NG 边界反复 → 查软件阈值、ROI 定位稳定性、光照均匀性

二、误检与漏检在链路中的典型来源

漏检(把坏品判为好品)通常来自"信号不足":光源亮度衰减导致缺陷对比度低于阈值;镜头分辨率不够,微小缺陷只占 1 个像素而被平滑掉;相机曝光不足使暗缺陷淹没在噪声里;采集丢帧导致该工件根本没被拍到;软件阈值设得过松。一个典型教学示例:检测 0.2 mm 的针孔,若镜头使该针孔只覆盖 1.5 个像素,即使算法再优化,漏检率也会很高——这是光学分辨率问题,不是算法问题。

误检(把好品判为坏品)通常来自"信号过多或干扰":光源角度让正常纹理产生类似缺陷的阴影;环境光波动被当成缺陷;相机噪声或热像素被阈值捕获;镜头脏污形成固定暗斑;软件阈值过紧把正常公差判为超差;标定偏差让尺寸测量系统性偏大。误检往往具有"固定位置、固定形态"的特征,这正好可以用来反推是光学污染还是算法问题。

三、定位方法:从现象反推环节

治理的第一步是建立"现象—环节"的映射。建议按以下顺序排查:

  1. 看图像本身:把 NG 图和 OK 图并排显示。如果 NG 图上根本看不到缺陷,问题在光学或采集;如果缺陷清晰可见但软件没报,问题在算法或阈值。
  2. 看稳定性:连续采集 100 帧静态图像,观察同一位置的灰度值波动。波动超过 ±5% 说明光源或曝光不稳定。
  3. 看时序:用示波器或采集卡诊断工具检查触发信号与曝光信号的时序关系,确认没有丢触发。
  4. 看标定:用标准量块或标定板复测,确认像素当量没有漂移。
  5. 看通信:检查 PLC 侧收到的结果数量是否与相机触发数量一致,排除结果丢失。
实用判断口诀:图像上看不见 → 查光、镜、机、卡;图像上看得见但没报 → 查算法、阈值、ROI;报得不稳定 → 查光源稳定性、机械重复性、标定有效期。

四、链路参数匹配的一个具体算例

假设检测对象为 80 mm × 60 mm 的 PCB,最小缺陷 0.15 mm,产线速度 200 mm/s,要求不停机拍摄。选型过程如下:

  • 视野需略大于工件,取 90 mm × 68 mm;
  • 缺陷需 4 像素覆盖,则像素分辨率 ≤ 0.15/4 = 0.0375 mm/pixel;
  • 横向像素数 ≥ 90/0.0375 = 2400,选 2500 像素以上相机(如 5 MP,2448×2048);
  • 运动模糊需控制:曝光时间 ≤ 允许模糊量/速度。若允许 0.05 mm 模糊,曝光 ≤ 0.05/200 = 250 μs;
  • 帧率需 ≥ 速度/视野高度 = 200/68 ≈ 3 fps,考虑多工位和余量选 30 fps 以上;
  • 数据率 = 2448×2048×8 bit×30 ≈ 1.2 Gbps,GigE 单口不够,需双口或选 Camera Link/CXP。

这个算例说明:误检漏检的治理必须从选型和参数匹配开始,而不是等系统上线后再靠调阈值补救。链路中任何一段的参数不匹配,都会在下游以误检或漏检的形式暴露出来。

常见误区:把漏检全部归因于"算法不够智能",从而不断加复杂度、加训练样本,却忽略了光源衰减、镜头污染、采集丢帧这些更基础的问题。正确的顺序是先保证"图像本身合格",再谈算法优化。