3. 3D线扫相机成像原理
理解3D线扫相机的成像原理是进行手眼标定的前提。与常见的面阵相机不同,线扫相机通过逐行扫描和三角测量法获取物体的三维轮廓信息。本章将深入剖析其核心工作机制。
3.1 线扫相机 vs 面阵相机
面阵相机一次曝光获取二维图像(宽×高),而线扫相机每次只采集一行像素,通过物体或相机的相对运动拼接成完整图像。两者的核心差异决定了不同的应用场景。
| 对比维度 | 面阵相机 | 线扫相机 |
|---|---|---|
| 传感器结构 | 二维像素矩阵(如1920×1080) | 一维像素线阵(如2048×1) |
| 成像方式 | 单次曝光获取整幅图像 | 逐行扫描,需配合运动拼接 |
| 视野与分辨率 | 视野固定,分辨率受限于传感器尺寸 | 行方向分辨率高,列方向由运动精度决定 |
| 光照要求 | 通常需要均匀面光源 | 适合线光源,能量集中,抗干扰强 |
| 典型应用 | 定位、检测、识别 | 连续物体检测、大幅面扫描、3D轮廓测量 |
选型提示: 在3D线扫标定中,线扫相机的“行频”和“运动速度”必须严格同步,否则会导致图像拉伸或压缩,直接影响标定精度。
3.2 三角测量法原理
3D线扫相机获取深度信息的核心是激光三角测量法。其基本原理是:激光器以固定角度投射一条线激光到物体表面,相机从另一个角度拍摄该激光线。物体表面的高度变化会导致激光线在相机图像传感器上的成像位置发生偏移,通过几何关系即可计算出高度值。
三角测量法的核心几何关系可简化为:
- 基线距离:激光器光轴与相机光轴之间的水平距离。
- 投射角度:激光平面与基准面之间的夹角。
- 成像偏移:物体高度变化引起的激光线在传感器上的像素位移。
关键公式: 高度 Z = (基线距离 × 成像偏移) / (焦距 × sin(投射角度) + 成像偏移 × cos(投射角度))。实际标定中通常通过多项式拟合或查表法求解。
3.3 激光轮廓仪的工作流程
激光轮廓仪(Laser Profiler)是集成了线扫相机、激光器和光学系统的完整3D测量设备。其工作流程可分为以下四个步骤:
- 激光投射: 激光器发射一条稳定的线激光,垂直或倾斜投射到被测物体表面。
- 图像采集: 线扫相机以固定行频采集激光线的反射光,生成一维灰度轮廓图。
- 峰值提取: 通过算法(如重心法、高斯拟合)提取每行图像中激光线的亚像素中心位置。
- 坐标转换: 利用标定参数将像素偏移量转换为物理世界中的3D坐标(X, Z)。
常见误区: 初学者常将激光轮廓仪输出的“轮廓”直接当作3D点云。实际上,单帧轮廓仅包含一条线上的深度信息,需要结合运动轴编码器数据才能拼接成完整的3D点云。
3.4 标定中的关键参数
在3D线扫手眼标定中,以下参数直接影响标定结果的准确性:
| 参数名称 | 符号 | 说明 |
|---|---|---|
| 相机内参 | K | 焦距、主点坐标、畸变系数 |
| 激光平面方程 | π | 激光平面在相机坐标系下的法向量和距离 |
| 运动方向向量 | v | 物体或相机运动方向在相机坐标系下的单位向量 |
| 手眼变换矩阵 | T | 相机坐标系到机器人末端坐标系的刚体变换 |