2. In-Sight系统架构与成像链路
在讨论误检与漏检时,很多工程师习惯把注意力集中在“算法参数”上,例如边缘阈值、对比度阈值、斑点面积上下限。但在 In-Sight 系统中,算法只是链路末端的一环。真正决定检测稳定性的,是从光源 → 被测物 → 镜头 → 图像传感器 → 相机内部处理 → 控制器/通信 → 上位机或 PLC 这条完整成像与数据链路。链路上任何一环出现偏差,都会以“误检”或“漏检”的形式在最终结果中暴露出来,而问题根源却往往不在算法本身。
一、完整链路的分层结构
In-Sight 视觉系统可以按信号流向划分为五个层次:
- 照明层:光源(环形光、条形光、同轴光、背光、穹顶光等)及其驱动/频闪控制器,决定被测特征与背景的对比度。
- 光学层:镜头(焦距、光圈、工作距离、景深、畸变、远心度),决定成像几何关系与清晰度。
- 传感层:CMOS/CCD 图像传感器(分辨率、像元尺寸、快门方式、曝光时间、增益),决定采样质量与噪声水平。
- 处理层:In-Sight 相机内部的图像预处理、定位工具、检测工具与结果判定逻辑。
- 通信层:以太网/IP、Profinet、EtherNet/IP、串口、I/O 输出,决定结果传递的实时性与可靠性。
这五层不是并列关系,而是串联关系:前一层的信息质量是后一层处理的前提。照明不足导致的低对比度,无法靠算法“补回来”;镜头畸变造成的几何误差,也无法靠标定完全消除。理解这一点,是排查误检漏检的起点。
二、照明层:对比度的源头
照明的核心任务不是“把物体照亮”,而是让需要检测的特征与背景之间形成稳定的灰度差。以金属件表面字符检测为例,若使用普通环形光,金属反光会使字符与背景灰度接近,阈值分割时字符边缘不稳定,容易漏检。改用低角度条形光后,字符的刻痕产生阴影,对比度显著提升,同一套阈值参数下稳定性明显改善。
照明对误检漏检的影响主要体现在三方面:
- 亮度不足:图像整体偏暗,特征与背景灰度差小,边缘工具找不到稳定边缘,导致漏检。
- 过曝:高反光区域饱和为纯白,特征被“淹没”,算法可能把反光误判为缺陷,导致误检。
- 频闪不同步:光源与相机触发时序错开,图像亮度忽明忽暗,同一工件在不同帧中表现不一致,造成间歇性误检。
实操中建议先固定相机曝光与增益,再调整光源亮度与角度,观察图像直方图。理想状态下,特征灰度应落在直方图的两个可分离峰上,而不是挤在一起。
三、光学层:几何与清晰度的决定因素
镜头选型需要同时满足视野(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、工具参数 | 间歇性误检/漏检 | 在前四层稳定后再微调参数 |
| 通信层 | 触发时序、结果握手 | 结果错位、漏抓 | 校验触发与读取时序,增加序列号 |
把这条链路理解清楚,后续在调整具体工具参数时,就能判断“这个参数是在补偿哪一层的不足”,而不是盲目试错。误检漏检的根治,往往发生在光源和镜头,而不是算法对话框里。