4. XG-X图像采集与预处理实战
在XG-X深度学习视觉检测系统中,图像采集与预处理是决定模型上限的第一道关口。很多现场调试失败并非算法本身的问题,而是相机参数、触发时序或光源控制没有配置到位,导致输入图像的信噪比不足、一致性差。本节围绕“配置相机参数、设置触发方式、控制光源、完成采集与保存、执行基础预处理”这条主线,结合XG-X控制器的实际操作界面,给出可复现的配置思路与示例参数。
一、相机参数配置:先稳定,再清晰
XG-X系列控制器通过Camera Link或GigE接口连接工业相机,在“相机设置”界面中可调整曝光时间、增益、白平衡、伽马、像素格式等参数。配置的核心原则是:优先用曝光和光源保证亮度,尽量压低增益。增益会同时放大信号与噪声,在深度学习检测中会显著降低缺陷与背景的区分度。
以一个典型金属表面划痕检测为例,假设使用500万像素黑白相机、远心镜头、条形白光光源,示例参数可设为:曝光时间800 μs、增益0 dB、伽马1.0、像素格式Mono8。若图像整体偏暗,应先将曝光时间提高到1200 μs再观察;若仍不足,再考虑增加光源亮度或延长曝光,而不是直接加增益。对于高速产线,曝光时间受运动模糊限制,此时应通过提高光源瞬时亮度来换取更短曝光。
白平衡仅对彩色相机有意义。若使用彩色相机检测颜色差异(如标签色差),应在无被测物的白色基准板上执行一次白平衡,并锁定该值,避免自动白平衡在连续采集时漂移。像素格式方面,Mono8数据量小、处理快,适合大多数灰度检测;若需要保留颜色信息,可选BayerRG8并在预处理阶段做去马赛克。
二、触发方式:让每一帧都对应一个工件
触发方式决定了“什么时候拍”。XG-X支持内部触发(自由运行)和外部触发两大类。自由运行适合调试和静态观察,但产线检测必须使用外部触发,使相机在工件到达视场中心时曝光。
常见的外部触发源包括光电传感器、编码器、PLC信号。以编码器触发为例,编码器每输出一个脉冲,相机采集一帧,脉冲间隔对应工件移动的固定距离。配置时需要设置触发极性(上升沿或下降沿)、触发延迟(从收到信号到开始曝光的延时,用于补偿传感器到视场的机械距离)以及触发滤波(防止抖动误触发)。
触发延迟的计算可以这样理解:若传感器安装位置到相机视场中心距离为120 mm,产线速度为600 mm/s,则工件从触发点到视场中心需要200 ms,触发延迟应设为约200 ms。实际调试时可用“触发监视”功能观察每次触发是否对应一帧,并用连续采集的图像确认工件位置是否居中。若出现丢帧,应检查触发频率是否超过相机最大帧率,或曝光时间是否过长导致读取超时。
三、光源控制:与曝光同步的频闪策略
光源不是“越亮越好”,而是要与曝光时间匹配。XG-X的光源控制器支持常亮和频闪两种模式。频闪模式下,光源只在曝光窗口内点亮,可以用更高的瞬时电流获得更强亮度,同时减少发热和光衰。配置时需将光源触发与相机曝光信号同步,确保光源在曝光开始前几微秒点亮、曝光结束后立即熄灭。
以条形光源检测金属划痕为例,采用低角度暗场照明可以让划痕产生散射亮线,而平整表面保持暗背景。若光源常亮,环境光会引入噪声;改为频闪后,环境光影响被大幅压缩。实际调试时,可先固定曝光时间,逐步提高光源亮度直到背景灰度达到目标值(例如Mono8下背景灰度约80~120),再观察缺陷区域是否达到200以上,形成足够对比。
四、图像采集、保存与基础预处理
完成参数与触发配置后,进入采集与保存环节。XG-X支持将图像保存到控制器内部存储或外部FTP/SD卡。建议在调试阶段保存原始图像(未预处理)和预处理后图像各一份,便于回溯。保存命名可采用“时间戳+触发计数+结果”的格式,例如“20250412_103215_000123_OK.bmp”,避免覆盖。
基础预处理在XG-X中通常以“预处理流程”形式配置,常见操作包括:
- ROI裁剪:只保留工件所在区域,减少计算量并排除背景干扰。例如从2448×2048中裁剪出中心1600×1200区域。
- 滤波:高斯滤波(σ=1.0~1.5)用于平滑噪声,中值滤波(3×3或5×5)用于去除椒盐噪声。注意滤波会削弱细小划痕,需在降噪与保留缺陷之间权衡。
- 对比度增强:使用灰度拉伸将原图灰度范围映射到0~255。例如原图集中在60~140,拉伸后缺陷与背景差异更明显。
- 二值化:固定阈值或自适应阈值。对于光照均匀的场景,固定阈值(如120)即可;光照不均时用自适应阈值(窗口大小31,偏移5)。
- 尺寸归一化:将ROI缩放到模型输入尺寸(如512×512),保持长宽比或直接拉伸,需与训练时一致。
五、结果判断与常见问题
采集与预处理是否合格,可以通过三个观察点判断:一是连续采集100帧,检查图像亮度波动是否在±10灰度以内;二是检查触发计数与工件数量是否一致,有无丢帧或重复帧;三是将预处理后的图像送入模型,观察置信度是否稳定。若亮度波动大,应检查光源是否老化或环境光是否变化;若丢帧,应检查触发频率与曝光时间;若模型置信度低,应回到预处理环节检查对比度与归一化是否与训练一致。
以下是一份可直接参考的采集配置检查表,用于现场逐项确认:
| 检查项 | 示例值/要求 | 确认方式 |
|---|---|---|
| 曝光时间 | 800 μs(依产线速度调整) | 观察图像亮度与运动模糊 |
| 增益 | 0 dB | 确认未因亮度不足而加增益 |
| 触发方式 | 外部编码器上升沿 | 触发监视窗口计数 |
| 触发延迟 | 约200 ms(按距离/速度计算) | 工件是否居中 |
| 光源模式 | 频闪,与曝光同步 | 频闪波形与曝光窗口对齐 |
| 预处理链 | ROI→滤波→增强→归一化 | 与训练配置逐项比对 |
| 保存格式 | BMP/PNG,含时间戳与结果 | 抽查文件可正常打开 |
需要强调的是,上述参数均为教学示例,实际项目中必须根据相机型号、镜头、光源、产线速度和被测物特性重新标定。XG-X的优势在于可以把采集、预处理与深度学习推理放在同一控制器内完成,减少数据搬运和时序偏差。把这一节的基础打牢,后续的模型训练与调优才有稳定的输入保障。