3. 图像采集与预处理基础
在 VisionPro 深度学习检测项目中,图像采集与预处理决定了送入网络的数据质量。很多现场误检、漏检并非模型本身问题,而是相机选型、光照、格式或 ROI 设置不当造成的。本节围绕工业相机与采集卡选型、光照方案设计、图像格式转换、ROI 设置与图像增强五个环节展开,帮助建立从“物理成像”到“网络输入”的完整数据链认知。
一、工业相机与图像采集卡选型
选型的第一步是明确检测精度需求。假设某金属件表面缺陷最小尺寸约 0.1 mm,视场(FOV)为 100 mm × 80 mm,则所需分辨率约为:横向 100 / 0.1 = 1000 像素,考虑 3~5 像素冗余,实际应选 300 万~500 万像素相机。若缺陷对比度低,还需提高像素冗余或改用更高分辨率。
相机接口决定带宽与传输距离。GigE Vision 适合 100 m 以内、千兆带宽场景;USB3 Vision 带宽高但线缆一般不超过 5 m;Camera Link 需配采集卡,适合高速多相机同步;CoaXPress 则用于超高带宽与长距离。当相机为 Camera Link 或模拟信号时,必须配置采集卡,采集卡需与相机接口、通道数、触发方式匹配,并确认其支持 VisionPro 的采集驱动。
关键参数还包括:传感器类型(CMOS 全局快门适合运动物体,卷帘快门成本低但有畸变)、帧率(需满足节拍,如 30 fps 对应 33 ms/件)、黑白或彩色(缺陷检测优先黑白,可提升信噪比)、镜头焦距与工作距离。焦距估算可用 f = (靶面尺寸 × 工作距离) / FOV,例如 1/1.8" 靶面 8.8 mm、工作距离 300 mm、FOV 100 mm,则 f ≈ 26.4 mm,选 25 mm 定焦镜头。
二、光照方案设计
光照的目标是让缺陷与背景形成稳定对比,而非“照亮”。常见方案包括:环形光用于一般表面照明;条形光用于边缘或划痕;同轴光用于高反光平面,可消除镜面反射;背光用于轮廓、尺寸和孔洞检测,形成黑白剪影;穹顶光用于曲面或高反光件,提供均匀漫射。
以金属划痕检测为例,若用环形光,划痕与背景对比度可能不足;改用低角度条形光,划痕产生阴影,对比度显著提升。若检测透明件内部气泡,背光更合适。光源颜色也需考虑:单色光可增强特定颜色对比,如红色光照射红色背景会使其变暗。实际调试时,应固定相机曝光与增益,仅调整光源角度、距离和亮度,观察图像直方图是否覆盖完整动态范围且无过曝。
三、图像格式转换
相机输出格式多样,如 Mono8、Mono12、BayerRG8、RGB24 等。VisionPro 中常用 CogImage8Grey 表示 8 位灰度图,CogImage24PlanarColor 表示彩色图。若相机输出 Bayer 格式,需先做去马赛克转换为 RGB,再转灰度;若输出 16 位,可线性压缩到 8 位,但会损失暗部细节,建议先做自动对比度拉伸。
// 示例:将 16 位图线性映射到 8 位
// 输入像素范围 [0, 4095],输出 [0, 255]
out = (in * 255) / 4095;
// 若暗部重要,可改用 Gamma 或直方图均衡
格式转换的核心是保持信息不丢失。对于深度学习,通常统一为 8 位灰度或 24 位 RGB,并确保训练与推理使用相同格式,否则会出现分布偏移。
四、ROI 设置
ROI(感兴趣区域)用于限定处理范围,减少计算量并排除干扰。在 VisionPro 中可通过 CogRectangleAffine 定义矩形 ROI,或使用 CogPolygon 定义多边形 ROI。设置原则:ROI 应包含完整缺陷可能出现的区域,同时尽量小。例如 500 万像素图像中,若缺陷只出现在中央 1/4 区域,ROI 可缩小到 125 万像素,处理速度提升约 4 倍。
ROI 还需与标定一致。若后续要测量物理尺寸,ROI 坐标应基于标定后的坐标系。对于多相机系统,每个相机可独立设置 ROI,但需保证同一工件在各自 ROI 中的位置一致。
五、图像增强操作
增强的目的是提升缺陷可见性,常用方法包括:灰度变换(线性拉伸、Gamma 校正)、滤波(高斯滤波去噪、中值滤波去椒盐噪声、Sobel 边缘增强)、形态学(开运算去小亮点、闭运算填小孔)、直方图均衡化。例如,低对比度图像可先做直方图均衡化,再做 3×3 高斯滤波,最后用 Sobel 增强边缘。
但需注意:增强会改变像素分布,若训练集未做相同增强,推理时可能失效。因此建议在采集阶段通过光照和曝光解决对比度问题,增强仅作为辅助。若必须增强,应在训练与推理中保持一致。
综上,图像采集与预处理是一个系统工程:相机与采集卡决定原始数据上限,光照决定缺陷可见性,格式转换保证数据一致性,ROI 提升效率,增强作为补充手段。只有各环节协同,才能为后续深度学习模型提供稳定、可靠的输入。