2. In-Sight系统架构与成像链路

在讨论误检与漏检时,很多工程师习惯把注意力集中在“算法参数”上,例如边缘阈值、对比度阈值、斑点面积上下限。但在 In-Sight 系统中,算法只是链路末端的一环。真正决定检测稳定性的,是从光源 → 被测物 → 镜头 → 图像传感器 → 相机内部处理 → 控制器/通信 → 上位机或 PLC 这条完整成像与数据链路。链路上任何一环出现偏差,都会以“误检”或“漏检”的形式在最终结果中暴露出来,而问题根源却往往不在算法本身。

一、完整链路的分层结构

In-Sight 视觉系统可以按信号流向划分为五个层次:

  • 照明层:光源(环形光、条形光、同轴光、背光、穹顶光等)及其驱动/频闪控制器,决定被测特征与背景的对比度。
  • 光学层:镜头(焦距、光圈、工作距离、景深、畸变、远心度),决定成像几何关系与清晰度。
  • 传感层:CMOS/CCD 图像传感器(分辨率、像元尺寸、快门方式、曝光时间、增益),决定采样质量与噪声水平。
  • 处理层:In-Sight 相机内部的图像预处理、定位工具、检测工具与结果判定逻辑。
  • 通信层:以太网/IP、Profinet、EtherNet/IP、串口、I/O 输出,决定结果传递的实时性与可靠性。

这五层不是并列关系,而是串联关系:前一层的信息质量是后一层处理的前提。照明不足导致的低对比度,无法靠算法“补回来”;镜头畸变造成的几何误差,也无法靠标定完全消除。理解这一点,是排查误检漏检的起点。

In-Sight 成像与数据链路:从光到结果的串联结构 光源 / 驱动 环形/条形/同轴/背光 频闪同步、亮度 被测物 表面反射率、颜色 位置、姿态、运动 镜头 焦距、光圈、景深 畸变、远心度 图像传感器 分辨率、像元尺寸 曝光、增益、快门 相机内部处理 定位、检测、判定 工具参数、逻辑 通信层:以太网/IP · Profinet · EtherNet/IP · 串口 · I/O 结果输出、触发同步、握手时序、延迟与丢包 各环节对误检 / 漏检的典型影响 光源:亮度不足→对比度低→漏检;过曝→特征淹没→误检 被测物:反光、油污、颜色波动→灰度漂移→阈值失效 镜头:景深不足→边缘模糊;畸变→定位偏移→误判 传感器:曝光/增益不当→噪声大;运动模糊→边缘拖影 处理层:阈值过严→漏检;过松→误检;ROI 偏移→误判 通信层:触发不同步、结果延迟→错位判定、漏抓

二、照明层:对比度的源头

照明的核心任务不是“把物体照亮”,而是让需要检测的特征与背景之间形成稳定的灰度差。以金属件表面字符检测为例,若使用普通环形光,金属反光会使字符与背景灰度接近,阈值分割时字符边缘不稳定,容易漏检。改用低角度条形光后,字符的刻痕产生阴影,对比度显著提升,同一套阈值参数下稳定性明显改善。

照明对误检漏检的影响主要体现在三方面:

  • 亮度不足:图像整体偏暗,特征与背景灰度差小,边缘工具找不到稳定边缘,导致漏检。
  • 过曝:高反光区域饱和为纯白,特征被“淹没”,算法可能把反光误判为缺陷,导致误检。
  • 频闪不同步:光源与相机触发时序错开,图像亮度忽明忽暗,同一工件在不同帧中表现不一致,造成间歇性误检。

实操中建议先固定相机曝光与增益,再调整光源亮度与角度,观察图像直方图。理想状态下,特征灰度应落在直方图的两个可分离峰上,而不是挤在一起。

三、光学层:几何与清晰度的决定因素

镜头选型需要同时满足视野(FOV)、工作距离(WD)、分辨率三个约束。以检测 0.2 mm 的字符笔画为例,若相机分辨率为 640×480、视野为 100 mm×75 mm,则单像素对应约 0.156 mm,字符笔画仅占约 1.3 个像素,边缘信息严重不足,漏检风险极高。此时应缩小视野或提高相机分辨率,使关键特征至少占 3~5 个像素。

景深同样关键。若工件存在高度波动(例如 ±0.5 mm),而镜头景深只有 ±0.2 mm,超出范围的部分会模糊,边缘工具定位漂移,导致误检。此时可适当缩小光圈以增大景深,但需注意进光量下降,需同步提高光源亮度或曝光时间。

此外,普通镜头的桶形/枕形畸变会使图像边缘的几何尺寸失真。对于高精度尺寸测量,应优先选用远心镜头,或在标定阶段进行畸变校正,否则同一工件在视野不同位置会得到不同的测量值,造成误判。

四、传感层:曝光、增益与噪声

图像传感器是链路的“采样器”。曝光时间决定进光量,增益决定信号放大倍数。两者都会影响图像质量,但代价不同:

  • 增加曝光时间:提升亮度,但运动工件会产生拖影,边缘模糊。
  • 增加增益:提升亮度,但同时放大噪声,图像颗粒感增强,弱边缘被噪声淹没。

对于运动中的工件,应优先使用频闪光源配合短曝光,而不是靠提高增益“硬提亮”。例如,传送带速度 200 mm/s、允许运动模糊不超过 0.1 mm,则曝光时间应控制在 0.5 ms 以内。此时若图像偏暗,应提高光源瞬时亮度,而非延长曝光。

五、处理层与通信层:算法与结果的边界

处理层的误检漏检通常表现为参数设置问题。例如,斑点工具的面积下限设得过高,会漏掉小缺陷;设得过低,会把噪声点当成缺陷。边缘工具的对比度阈值设得过高,在光照波动时会找不到边缘;设得过低,会误抓背景纹理。这些参数的调整必须建立在前四层图像质量稳定的基础上,否则只是在“补偿”上游问题,换一个工件或换一批光照就会失效。

通信层虽然不直接参与成像,但会影响结果的正确归属。若相机触发与 PLC 读取结果的时序不匹配,可能出现“上一件的结果被当成当前件”的错位判定。使用以太网/IP 时,应确认触发信号与结果输出的握手逻辑,必要时增加结果缓存或序列号校验。

排查误检漏检时,建议按链路顺序逐层确认:先看光源是否稳定、再看镜头是否清晰、再看曝光增益是否合理、最后才调算法参数。跳过前四层直接调参数,往往只能解决表面问题。

六、链路排查检查表(示例)

环节 检查项 典型异常表现 建议动作
光源 亮度、角度、频闪同步 图像忽明忽暗、对比度低 固定曝光后调光源,确认触发同步
镜头 焦距、景深、畸变 边缘模糊、尺寸测量漂移 缩小光圈或换远心镜头,做畸变校正
传感器 曝光、增益、运动模糊 噪声大、拖影 缩短曝光、提高光源亮度、降低增益
处理层 阈值、ROI、工具参数 间歇性误检/漏检 在前四层稳定后再微调参数
通信层 触发时序、结果握手 结果错位、漏抓 校验触发与读取时序,增加序列号

把这条链路理解清楚,后续在调整具体工具参数时,就能判断“这个参数是在补偿哪一层的不足”,而不是盲目试错。误检漏检的根治,往往发生在光源和镜头,而不是算法对话框里。