2. 3D线扫相机原理:激光三角测量法、线结构光成像模型、点云数据生成流程
3D线扫相机是工业视觉检测的核心传感器,其工作原理基于激光三角测量法与线结构光成像模型。理解这两个基础原理,是后续进行手眼标定与点云处理的前提。本章将系统拆解从激光投射到点云输出的完整数据链路。
2.1 激光三角测量法
激光三角测量法是线扫相机获取深度信息的核心几何原理。它利用激光器、被测物体表面与相机之间的几何三角关系,将二维图像中的激光条纹偏移量转换为三维空间中的高度信息。
核心思想:当激光线投射到物体表面时,物体表面的高度变化会导致相机成像面上激光条纹的位置发生横向偏移。通过标定好的几何参数,即可从偏移量反算出高度值。
2.1.1 测量模型与关键参数
下图展示了激光三角测量法的基本几何模型。激光器以固定角度投射一条线激光,相机从另一角度拍摄。物体表面高度变化 Δh 与成像面上的像素偏移 Δp 呈近似线性关系(在小角度范围内)。
2.1.2 关键参数对比
| 参数 | 符号 | 说明 | 对精度的影响 |
|---|---|---|---|
| 基线长度 | B | 激光器光轴与相机光轴之间的距离 | B 越大,高度分辨率越高,但遮挡区域增大 |
| 投射角 | α | 激光平面与参考平面之间的夹角 | α 接近 90° 时灵敏度最高,但易产生阴影 |
| 相机焦距 | f | 镜头光学焦距 | f 越大,视场角越小,分辨率越高 |
| 像素偏移 | Δp | 激光条纹在成像面上的位移量(像素) | 直接决定高度测量值,需亚像素提取 |
2.2 线结构光成像模型
线结构光成像模型将激光三角测量法从单点扩展到一条激光线。激光器通过柱面镜将点激光扩束为一条激光平面,该平面与物体表面相交形成一条明亮的激光条纹。相机拍摄该条纹,通过图像处理提取条纹中心,再结合标定参数计算每个像素点对应的三维坐标。
2.2.1 成像模型坐标系
线结构光系统涉及四个主要坐标系,它们之间的转换关系是标定的核心内容:
- 像素坐标系 (u, v): 图像中激光条纹点的行列坐标,单位 pixel。
- 图像坐标系 (x, y): 相机感光芯片上的物理坐标,单位 mm。
- 相机坐标系 (Xc, Yc, Zc): 以相机光心为原点,Zc 沿光轴方向。
- 激光平面坐标系: 定义在激光平面上的二维坐标系,用于约束三维点位于激光平面内。
关键约束: 线结构光成像模型的核心约束条件是:被测点必须同时位于相机视线与激光平面上。相机视线提供一条射线方向,激光平面提供一个平面方程,两者的交点即为被测点的三维坐标。
2.2.2 激光平面标定
激光平面标定是线结构光系统标定的关键步骤。其目的是确定激光平面在相机坐标系下的平面方程参数 (A, B, C, D),满足:
A · Xc + B · Yc + C · Zc + D = 0
标定流程通常包括:
- 采集标定板图像: 在不同高度和姿态下,拍摄带有激光条纹的标定板图像。
- 提取激光条纹中心: 使用灰度重心法或 Steger 算法提取亚像素级条纹中心点。
- 获取标定板位姿: 通过标定板上的特征点(如圆点阵列)计算标定板在相机坐标系下的位姿。
- 计算激光平面点: 将条纹中心点反投影到标定板平面上,得到激光平面上的三维点集。
- 拟合平面方程: 使用最小二乘法拟合所有三维点,得到激光平面方程参数。
2.3 点云数据生成流程
从原始图像到最终的三维点云,需要经过一系列处理步骤。下图展示了完整的点云数据生成流程。
2.3.1 各步骤详细说明
| 步骤 | 输入 | 输出 | 关键技术 |
|---|---|---|---|
| 1. 图像采集 | 物体运动 + 激光投射 | 原始灰度图像序列 | 线阵相机触发同步、曝光控制 |
| 2. 预处理 | 原始图像 | 增强后的条纹图像 | 高斯滤波、背景减除、ROI裁剪 |
| 3. 条纹提取 | 预处理图像 | 亚像素条纹中心点 (u, v) | 灰度重心法、Steger 算法、Hessian 矩阵 |
| 4. 坐标转换 | 像素坐标 (u, v) | 相机坐标系下的射线方向 | 相机内参矩阵、畸变校正 |
| 5. 三维重建 | 射线方向 + 激光平面方程 | 三维点 (Xc, Yc, Zc) | 射线-平面求交算法 |
| 6. 点云输出 | 三维点序列 | 点云文件 (XYZ / PLY / PCD) | 数据拼接、坐标变换、格式转换 |
2.3.2 条纹中心提取算法对比
条纹中心提取的精度直接影响最终点云质量。以下是两种主流算法的对比:
| 算法 | 原理 | 精度 | 速度 | 适用场景 |
|---|---|---|---|---|
| 灰度重心法 | 对条纹横截面灰度值求加权重心 | 亚像素级(~0.1 pixel) | 快(实时) | 条纹均匀、信噪比高的场景 |
| Steger 算法 | 基于 Hessian 矩阵求条纹法向极值 | 高精度(~0.05 pixel) | 较慢(需卷积计算) | 条纹弯曲、宽度变化大的场景 |
工程注意: 在实际线扫系统中,物体运动速度、激光功率、相机帧率三者需要匹配。运动速度过快会导致条纹模糊,激光功率过高会造成饱和,帧率不足则导致点云稀疏。建议在标定前先进行参数预调,确保条纹清晰、对比度适中。
2.4 本章小结
- 激光三角测量法是线扫相机的物理基础,通过几何三角关系将像素偏移转换为高度信息。
- 线结构光成像模型将单点测量扩展为线测量,核心约束是“射线-平面求交”。
- 点云生成流程包括图像采集、预处理、条纹提取、坐标转换、三维重建和点云输出六个步骤。
- 标定精度(相机内参 + 激光平面方程)是点云质量的基石,直接影响后续手眼标定的准确性。