4. XG-X相机参数深度解析

在XG-X系列智能相机的调试过程中,很多工程师习惯把曝光、增益、帧率、触发模式、像素格式当成五个独立旋钮,逐个“拧到能看清”为止。但在复杂成像场景里,这五个参数是强耦合的:改动其中一个,往往会连带改变另一个的可用范围,甚至让原本稳定的检测结果出现间歇性误判。本节围绕“耦合关系”和“调整优先级”两条主线,把参数从“会设”推进到“知道为什么这样设、边界在哪里”。

一、五个参数各自的物理含义与直接代价

曝光时间决定传感器单帧的积分时长,直接决定进光量。曝光越长,图像越亮、信噪比越好,但运动模糊风险越大,且单帧耗时增加。增益是对传感器读出信号的电子放大,分模拟增益与数字增益;增益提高亮度,但同时放大噪声,模拟增益通常比数字增益“划算”,但仍有上限。帧率是单位时间输出帧数,受曝光时间、读出时间、传输带宽共同约束,帧率越高,单帧可用曝光时间越短。触发模式决定采集时机由谁控制:内部自由运行、外部硬触发、软触发或编码器触发,它决定了“什么时候拍”和“拍多快”。像素格式决定数据如何被表示和传输,如Mono8、Mono10、BayerRG8、RGB8等,它影响带宽占用、灰度级数和后续处理链。

关键点在于:这五项不是并列关系,而是存在明确的约束链。曝光时间与帧率互为倒数约束,像素格式与帧率共同决定带宽占用,增益是曝光不足时的补偿手段而非首选,触发模式则决定前四者能否在正确的时间窗口内生效。

二、耦合关系:改一个,动一串

最典型的耦合是“曝光—帧率—带宽”三角。假设XG-X相机在Mono8、某ROI下理论最大帧率为200 fps,若把曝光时间设为8 ms,则单帧仅曝光就占8 ms,理论帧率上限被压到约125 fps;若再切换到RGB8,单帧数据量变为Mono8的3倍,带宽可能先于曝光成为瓶颈,实际帧率进一步下降。此时若强行提高增益来“补亮”,噪声上升,边缘检测的重复精度会变差。

第二个耦合是“触发模式—曝光—运动”。在飞拍或连续运动检测中,若使用内部自由运行,曝光时刻与物体位置无固定相位关系,同一工件在不同帧中的位置会漂移;改用外部硬触发并配合编码器,可以让曝光窗口与物体到达检测位的时刻对齐。但硬触发下,触发周期必须大于“曝光时间+读出时间+传输时间”,否则会丢触发。很多现场“偶尔漏拍”的根因,就是触发周期被设得比实际单帧总耗时还短。

第三个耦合是“像素格式—灰度级—算法”。Mono10能提供1024级灰度,对低对比度缺陷更友好,但带宽占用高于Mono8;Bayer格式保留色彩信息,但需要去马赛克,会引入插值伪影,对亚像素边缘测量不利。选择像素格式时,要先问“后续算法需要什么”,而不是“哪个看起来更清楚”。

XG-X 五参数耦合关系与调整优先级 曝光时间 进光量 / 运动模糊 增益 补亮 / 放大噪声 帧率 节拍 / 单帧耗时 触发模式 采集时机 / 相位 像素格式 带宽 / 灰度级 曝光不足时补偿 曝光↑ 帧率↓ 决定曝光窗口 带宽约束 触发周期 ≥ 曝光+读出+传输 调整优先级(从先到后) ① 触发模式 ② 像素格式 ③ 帧率 ④ 曝光时间 ⑤ 增益

三、调整优先级:先定“什么时候拍”,再定“拍多亮”

基于上述耦合,推荐的调整顺序是:触发模式 → 像素格式 → 帧率 → 曝光时间 → 增益。这个顺序不是拍脑袋,而是由约束的“刚性”决定的。

触发模式最先定,因为它决定整个采集时序的骨架。是自由运行、软触发还是硬触发/编码器触发,直接决定后续帧率和曝光能否稳定生效。若触发模式选错,后面所有参数都可能在“看起来正常”的情况下间歇性失效。

像素格式第二定,因为它决定带宽预算和灰度级。先确认算法需要Mono8还是Mono10、是否需要彩色,再据此估算单帧数据量,为帧率留出带宽余量。

帧率第三定,因为它由节拍需求决定,同时受曝光和带宽双重约束。先算出“检测节拍要求多少fps”,再反推单帧允许的总耗时。

曝光时间第四定,在剩余的时间预算内尽量取大,以换取信噪比。曝光时间应优先满足“不拖影”的上限,再尽量靠近这个上限。

增益最后定,只在前四步都做完、亮度仍不足时才使用,且优先用模拟增益,并监控噪声对重复精度的影响。

四、边界判断:三个必须算清楚的量

第一个量是单帧总耗时:曝光时间 + 读出时间 + 传输时间。触发周期必须大于这个值,否则丢触发。第二个量是带宽占用:分辨率 × 像素格式字节数 × 帧率,必须小于接口可用带宽,并留20%左右余量。第三个量是运动模糊量:物体速度 × 曝光时间,应小于允许的模糊像素当量,通常要求不超过1个像素。

下面给出一份可直接套用的参数核算示例(数值为教学假设,实际以相机手册和现场实测为准):

【示例】XG-X 检测节拍 30 件/秒,要求单件至少 1 帧
目标帧率:≥ 30 fps
像素格式:Mono8(1 字节/像素)
分辨率:1280 × 1024
单帧数据量:1280 × 1024 × 1 ≈ 1.31 MB
带宽需求:1.31 MB × 30 fps ≈ 39.3 MB/s
(千兆网理论上限约 125 MB/s,余量充足)

单帧时间预算:1 / 30 ≈ 33.3 ms
设读出+传输约 8 ms
则曝光时间上限 ≈ 33.3 - 8 = 25.3 ms
考虑运动模糊:物体速度 200 mm/s,允许模糊 0.1 mm
曝光上限 = 0.1 / 200 = 0.5 ms
→ 最终曝光取 0.5 ms,而非 25.3 ms
→ 亮度不足时,先加光源,再考虑增益

这个示例说明了一个常见误区:时间预算算出来“还能用25 ms”,但运动模糊边界只有0.5 ms,真正起作用的是更严格的那个约束。参数调整的本质,是在多个约束中取交集,而不是取某一个约束的极限。

五、现场排障的快速判断路径

当出现“图像忽明忽暗”时,优先查触发模式与曝光是否被外部信号打断;出现“偶尔漏拍”时,先算触发周期是否小于单帧总耗时;出现“边缘重复精度差”时,先看增益是否过高、像素格式是否引入了插值;出现“帧率上不去”时,先看像素格式和ROI是否让带宽先到顶。把现象映射回耦合链上的具体环节,比盲目试参数快得多。

记忆口诀:先定时序(触发),再定数据(格式),后定节拍(帧率),亮度靠曝光,增益是最后手段。任何一步越界,都会以另一种现象在别处暴露出来。