2. 3D线扫相机成像原理
2.1 激光三角法原理
激光三角法是线结构光三维测量的核心物理基础。其基本思想是:激光器向被测物体表面投射一条线状光条,相机从另一角度拍摄该光条;当物体表面高度发生变化时,光条在相机像平面上的成像位置随之偏移,通过几何三角关系即可解算出深度信息。
核心优势: 相比双目立体视觉,激光三角法仅需单台相机配合激光器,系统结构紧凑、标定流程简化,且对弱纹理表面(如金属、塑料)具有天然鲁棒性。
激光三角法的基本几何模型包含以下关键参数:
| 参数符号 | 物理含义 | 典型取值范围 |
|---|---|---|
| d | 激光器光心与相机光心之间的基线距离 | 50 ~ 500 mm |
| α | 激光平面与基线之间的夹角(投射角) | 15° ~ 45° |
| β | 相机光轴与基线之间的夹角(接收角) | 15° ~ 45° |
| f | 相机镜头有效焦距 | 8 ~ 50 mm |
| Δp | 像平面上光条偏移量(像素) | 与深度变化成正比 |
深度 Z 与像面偏移 Δp 之间的近似关系可表达为:
Z = (d · f · tan(α)) / (Δp + f · tan(α))
该公式表明:深度分辨率与基线距离、投射角正相关,但过大的基线或角度会导致遮挡区域扩大,实际工程中需权衡取舍。
2.2 线结构光轮廓提取
相机采集到的原始图像中,激光条纹呈现为一条具有一定宽度的明亮光带。轮廓提取的目标是从图像中亚像素精度地定位光条中心线,从而获得物体在该扫描线上的二维轮廓数据。
典型的线结构光轮廓提取流程包含以下步骤:
- 图像预处理: 高斯滤波或中值滤波去除传感器噪声,保留光条边缘锐度。
- ROI 裁剪: 根据激光平面在图像中的大致位置,缩小处理区域,提升实时性。
- 光条分割: 采用自适应阈值或 Otsu 法将光条从背景中分离。
- 中心线提取: 常用方法包括灰度重心法、Steger 法(Hessian 矩阵)、极值法。
- 亚像素插值: 对离散像素坐标进行抛物线或高斯拟合,达到 0.1 ~ 0.01 像素精度。
| 提取方法 | 精度等级 | 计算速度 | 适用场景 |
|---|---|---|---|
| 灰度重心法 | 亚像素(~0.1 px) | 快 | 光条均匀、背景干净 |
| Steger 法 | 高精度(~0.01 px) | 中等 | 光条宽度变化、强噪声 |
| 极值法 | 像素级 | 最快 | 实时性要求极高、精度要求低 |
工程建议: 在 3D 线扫手眼标定场景中,推荐使用 Steger 法 提取光条中心。虽然计算量略高于灰度重心法,但其对光条宽度变化和反射不均匀的鲁棒性更强,能有效减少标定板角点提取的系统误差。
2.3 相机与激光平面的几何关系
在 3D 线扫系统中,相机坐标系与激光平面之间的空间关系是手眼标定的核心几何约束。激光平面在相机坐标系下可表示为三维空间中的一个平面方程:
激光平面方程:A·Xc + B·Yc + C·Zc + D = 0
其中 (A, B, C) 为平面法向量,D 为原点到平面的有向距离。该平面方程通过标定获得,一旦确定,即可将图像中提取的 2D 轮廓点反投影到激光平面上,得到 3D 坐标。
从 2D 像素坐标到 3D 空间坐标的映射过程包含以下变换链:
- 像素坐标 → 归一化相机坐标: 利用相机内参矩阵 K 的逆变换,将 (u, v) 转换为 (xn, yn, 1)。
- 归一化坐标 → 相机坐标系下的射线: 该射线从相机光心出发,方向向量为 (xn, yn, 1)。
- 射线与激光平面求交: 联立射线方程与激光平面方程,求解交点 (Xc, Yc, Zc)。
关键理解: 激光平面相当于一个“深度约束”——它将原本不确定的射线深度锁定在平面交点处。因此,激光平面的标定精度直接决定了 3D 重建的 Z 轴精度。
| 坐标系 | 表示符号 | 说明 |
|---|---|---|
| 像素坐标系 | (u, v) | 图像中的行列索引,单位 pixel |
| 图像物理坐标系 | (x, y) | 以光心投影点为原点的物理坐标,单位 mm |
| 相机坐标系 | (Xc, Yc, Zc) | 以相机光心为原点,Z 轴沿光轴方向 |
| 激光平面坐标系 | (Xl, Yl, Zl) | 以激光平面为参考,通常 Zl=0 |
常见误区: 初学者容易将激光平面与相机成像平面混淆。激光平面是物理空间中的投射平面,而相机成像平面是传感器上的像平面。两者通过相机内参和激光平面标定参数建立映射关系,但本质上是不同的几何元素。