3. 线扫相机原理
3.1 线阵相机与面阵相机的核心区别
在3D视觉引导项目中,选择线阵相机还是面阵相机,直接决定了成像方案与运动控制策略。线阵相机每次只采集一行像素,通过被测物体与相机的相对运动来拼接出二维图像;面阵相机则一次采集整幅二维画面。下表从关键维度对比两者的差异:
| 对比维度 | 线阵相机 | 面阵相机 |
|---|---|---|
| 传感器结构 | 单行或少数几行像素(如1×4096) | 二维像素阵列(如1920×1080) |
| 成像方式 | 逐行扫描 + 运动拼接 | 单次曝光整幅画面 |
| 分辨率 | 单行分辨率极高(可达16k像素) | 受限于阵列尺寸,单帧分辨率有限 |
| 视野与精度 | 适合宽幅、高精度连续检测 | 适合固定视野、小范围检测 |
| 运动要求 | 必须精确匹配行频与运动速度 | 静止或低速拍摄,对运动同步要求低 |
| 光照需求 | 需要线光源或高均匀性条光 | 可使用面光源或环境光 |
| 典型应用 | 卷材、PCB、玻璃、锂电、印刷 | 定位、测量、读码、缺陷检测 |
选型提示: 在四相机线扫3D引导案例中,我们使用线阵相机配合激光线光源,通过多相机同步采集获取高精度三维轮廓。面阵相机更适合静态或低速的2D定位任务,两者在项目中常互补使用。
3.2 线扫成像模型
线扫成像模型的核心是“逐行采集 + 运动合成”。相机每次曝光只读取一行像素,物体沿运动方向移动一个步距后,下一行像素被采集,最终所有行拼接成一幅完整的二维图像。该模型包含三个关键坐标系:
- 像素坐标系 (u, v):u 方向为线阵相机的像素列方向,v 方向为运动累积的行方向。
- 相机坐标系 (Xc, Yc, Zc):以相机光心为原点,Zc 沿光轴方向。
- 世界坐标系 (Xw, Yw, Zw):以被测物体或运动平台为参考。
线扫成像的数学模型可简化为:
u = (f / dx) * (Xc / Zc) + u0
v = (f / dy) * (Yc / Zc) + v0 + (运动补偿项)
其中,运动补偿项由行频与运动速度共同决定,确保每行像素在空间上连续无重叠或间隙。
关键概念: 线扫图像的高度(行数)不是由传感器决定的,而是由运动距离与行频共同决定。行频越高、运动速度越慢,图像高度越大;反之则越小。
3.3 行频与运动速度匹配
行频(Line Rate)是线阵相机每秒采集的行数,单位 Hz(行/秒)。运动速度是物体相对于相机的移动速度,单位 mm/s。两者必须严格匹配,否则图像会出现拉伸或压缩畸变。
匹配公式:
行频 (Hz) = 运动速度 (mm/s) / 像素当量 (mm/pixel)
其中,像素当量 = 视野宽度 (mm) / 传感器像素数。例如:视野宽度 100 mm,传感器 4096 像素,则像素当量 ≈ 0.0244 mm/pixel。若运动速度为 200 mm/s,则所需行频为:
行频 = 200 / 0.0244 ≈ 8197 Hz
常见匹配问题与解决方案:
| 问题现象 | 原因 | 解决方案 |
|---|---|---|
| 图像被拉伸(物体变长) | 行频过低,运动速度过快 | 提高行频或降低运动速度 |
| 图像被压缩(物体变短) | 行频过高,运动速度过慢 | 降低行频或提高运动速度 |
| 图像出现锯齿或抖动 | 运动速度不均匀或编码器反馈延迟 | 使用高精度编码器,启用硬件触发同步 |
| 图像亮度不均匀 | 行频与光源频率不匹配 | 调整光源频率或使用恒定光源 |
工程避坑: 在四相机线扫3D引导案例中,四个相机必须使用同一运动编码器信号触发,否则各相机图像的行频基准不一致,导致三维重建时Z轴数据错位。建议采用“编码器倍频/分频”方式统一触发。
3.4 行频与运动速度匹配的工程实现
在四相机线扫3D引导案例中,我们采用以下步骤确保行频与运动速度精确匹配:
- 确定像素当量:根据视野宽度和传感器像素数计算 P = FOV / N。
- 设定目标运动速度:根据产线节拍要求确定 V。
- 计算理论行频:L = V / P。
- 配置编码器触发:将编码器脉冲分频/倍频后作为相机触发信号,使行频与运动速度实时同步。
- 验证图像比例:拍摄已知尺寸的标准件,测量图像中对应像素距离,确认无拉伸或压缩。
实战经验: 在四相机系统中,每个相机独立计算行频,但触发源必须统一。我们通常使用一个主编码器,通过触发分配器同时发送给四个相机,确保所有相机的行频基准一致。编码器分辨率建议不低于 0.01 mm/脉冲,以保证亚像素级同步精度。