3D视觉基础:深度传感器原理与点云数据表示
3D视觉缺陷检测的工程实现,首先取决于我们如何可靠地获取物体表面的三维坐标。与2D图像仅记录灰度或彩色信息不同,深度传感器直接输出场景中每个像素对应的空间距离,从而形成“点云”或“深度图”。本章将围绕三种主流深度传感技术——结构光、ToF(飞行时间)和激光三角——展开原理剖析,并深入讲解点云的数据组织方式与坐标系转换逻辑。理解这些底层机制,是后续进行点云预处理、特征提取和缺陷判别的必要前提。
2.1 结构光深度传感:编码光栅与三角测量
结构光技术的核心思想是“主动投射已知图案,通过观察图案的形变来反推深度”。投影仪向物体表面投射特定编码的光斑或条纹,相机从另一视角拍摄被物体表面调制后的图案。由于投影图案是已知的,当物体表面高度变化时,图案在相机图像中的位置会发生偏移,这个偏移量(视差)与物体深度呈几何关系。
核心原理与数学模型
结构光系统通常由投影模块和相机模块组成,两者光轴之间存在固定基线距离 \( B \),投影中心与相机中心的连线称为基线。当物体表面某点 \( P \) 的深度为 \( Z \) 时,其在相机图像上的投影位置与参考平面上的投影位置存在偏移 \( \Delta x \)。根据相似三角形原理,深度可表示为:
Z = (f * B) / (Δx + d_ref)
其中 \( f \) 为相机焦距,\( d_ref \) 为参考平面上的初始视差。实际工程中,结构光系统多采用编码策略(如格雷码、相移条纹、散斑编码)来唯一确定每个像素对应的投影角度,从而避免匹配歧义。
操作流程与标定步骤
- 系统标定:使用棋盘格标定板对投影仪和相机进行联合标定,获取两者的内参(焦距、主点、畸变系数)和外参(旋转矩阵 \( R \)、平移向量 \( T \))。
- 图案投射与采集:依次投射多幅编码图案(如8幅格雷码+4幅相移),同步触发相机采集。
- 解码与匹配:对采集图像进行二值化、相位解包裹,建立投影仪列坐标与相机像素坐标的对应关系。
- 三角解算:利用标定参数和匹配关系,通过三角测量公式逐像素计算深度值,生成深度图。
案例拆解:手机中框平面度检测
某3C产线需检测手机中框的平面度(公差±0.05mm)。采用结构光方案时,由于中框为铝合金材质,表面存在拉丝纹理,直接投射编码条纹会产生大量高光噪声。实际处理中,工程师在投影前增加偏振片,并在相机端加装同向偏振片,有效滤除镜面反射分量。同时,将投射图案从单一频率改为多频外差相移,提高解相鲁棒性。最终系统在0.8秒内完成单次采集,平面度检测重复性达到±0.02mm。
2.2 ToF深度传感:飞行时间测量与多路径干扰
ToF传感器通过测量光脉冲从发射到接收的往返时间来计算距离。根据调制方式不同,分为直接ToF(dToF)和间接ToF(iToF)。dToF直接测量单个光子的飞行时间,精度高但成本高;iToF通过测量发射与接收正弦波之间的相位差来推算距离,是目前工业ToF相机的主流方案。
核心原理与信号模型
iToF发射调制频率为 \( f_m \) 的正弦光信号,接收端采集四个等间隔相移(0°, 90°, 180°, 270°)的强度值 \( I_0, I_{90}, I_{180}, I_{270} \)。相位差 \( \varphi \) 计算如下:
φ = atan2(I_270 - I_90, I_0 - I_180)
距离 \( d = (c * φ) / (4π * f_m) \),其中 \( c \) 为光速。由于相位差存在 \( 2π \) 模糊性,ToF的最大无模糊距离为 \( d_max = c / (2 * f_m) \)。例如,调制频率20MHz时,最大量程为7.5m。
多路径干扰与误差抑制
ToF系统最棘手的工程问题是多路径干扰(MPI):光线在物体表面之间多次反射后进入传感器,导致测量距离偏大或产生“飞点”。在缺陷检测中,若被测物体存在凹槽或深孔,MPI会造成边缘点云膨胀。抑制方法包括:
- 调制频率优化:采用多频调制(如20MHz+25MHz),通过频率组合解算消除模糊,同时降低MPI影响。
- 像素级校准:对每个像素进行温度补偿和非线性校正,建立距离-相位查找表。
- 后处理滤波:基于置信度图剔除低信噪比像素,或使用双边滤波平滑深度边缘。
实战场景:物流包裹体积测量
在快递分拣线中,ToF相机安装在传送带上方2m处,需实时测量包裹长宽高。由于包裹表面为纸箱(漫反射良好),ToF方案表现稳定。但实际运行中发现,当两个包裹紧挨放置时,相邻面的反射光会串扰,导致边界点云粘连。工程师通过调整ROI区域并启用“最小距离优先”策略,仅保留每个像素最近的有效回波,成功解决了粘连问题,测量误差控制在±5mm以内。
2.3 激光三角:线激光轮廓与高精度测量
激光三角法是目前工业3D缺陷检测中精度最高的主动视觉方案。其原理是:激光器发射一条线激光照射物体表面,相机以一定角度(通常30°~60°)拍摄该激光线。物体表面的高度变化会使激光线在相机图像中发生横向位移,通过几何关系即可解算高度。
核心原理与几何模型
设激光平面与相机光轴夹角为 \( \theta \),相机焦距为 \( f \),激光线在图像传感器上的位移为 \( \Delta p \),则物体表面高度变化 \( \Delta h \) 为:
Δh = (Δp * d) / (f * sinθ - Δp * cosθ)
其中 \( d \) 为激光器到参考平面的距离。该公式表明,夹角 \( \theta \) 越大,高度分辨率越高,但遮挡风险也越大。实际系统中,常采用Scheimpflug光路设计,使激光平面、镜头主平面、传感器平面交于一条线,从而在整个测量范围内保持清晰对焦。
操作流程与参数选择
| 参数 | 典型值 | 对检测的影响 |
|---|---|---|
| 激光波长 | 405nm / 450nm / 650nm | 蓝紫光对金属表面散射更强,红光对暗色物体更敏感 |
| 激光功率 | 10mW ~ 100mW | 功率过高导致过曝,过低则信噪比不足 |
| 相机曝光时间 | 10μs ~ 100μs | 需与激光脉冲同步,抑制环境光干扰 |
| 测量范围(Z轴) | ±5mm ~ ±50mm | 范围越大,分辨率越低 |
案例拆解:锂电池极片涂布缺陷检测
锂电池极片涂布工序中,需检测涂层厚度均匀性(公差±2μm)。采用激光三角轮廓仪,沿极片宽度方向扫描,每帧获取2048个轮廓点。初始调试时发现,极片边缘存在“翘边”现象,导致激光线在边缘处发生断裂。分析后确认是极片张力不均造成的微米级形变。解决方案是增加一个辅助激光器从对侧照射,形成双激光交叉测量,通过两路数据的融合消除单侧遮挡盲区。最终系统以2m/s的线速度稳定运行,厚度检测重复性达到±1.5μm。
2.4 点云数据表示与坐标系转换
无论采用哪种深度传感器,最终输出的都是点云数据。点云是空间中离散点的集合,每个点通常包含三维坐标 \( (x, y, z) \) 和可选的强度值(反射率)。在缺陷检测中,点云的组织方式直接影响处理算法的效率和精度。
点云的数据结构
- 有序点云:按行/列排列,类似图像像素,可通过索引快速访问邻域。ToF和结构光相机通常输出有序点云。
- 无序点云:仅存储点的坐标列表,需通过KD-Tree或Octree建立空间索引。激光三角扫描仪输出的是无序点云。
- 深度图:本质是单通道图像,像素值代表深度。深度图可通过相机内参反投影为点云。
坐标系转换链路
从传感器原始输出到世界坐标系,需要经历以下变换:
像素坐标 (u, v) → 图像坐标 (x, y) → 相机坐标 (Xc, Yc, Zc) → 世界坐标 (Xw, Yw, Zw)
其中,像素到图像的转换涉及内参矩阵 \( K \):
[x, y, 1]^T = K^(-1) * [u, v, 1]^T
图像到相机的转换需乘以深度值 \( Z_c \):
Xc = x * Zc, Yc = y * Zc, Zc = depth_value
相机到世界的转换涉及外参矩阵 \( [R|T] \):
[Xw, Yw, Zw, 1]^T = [R|T] * [Xc, Yc, Zc, 1]^T
多传感器标定与数据融合
在复杂缺陷检测系统中,往往需要将多个2D相机和3D传感器数据对齐。此时需进行“手眼标定”或“多传感器外参标定”。常用方法是使用带有已知特征点的标定板(如圆点阵列),在不同位姿下采集数据,通过PnP算法求解各传感器之间的变换矩阵。
| 坐标系 | 原点定义 | 单位 | 典型应用 |
|---|---|---|---|
| 像素坐标系 | 图像左上角 | pixel | 2D图像处理、ROI提取 |
| 图像坐标系 | 光轴与图像平面交点 | mm | 畸变校正、归一化坐标 |
| 相机坐标系 | 相机光心 | mm | 深度图反投影、点云生成 |
| 世界坐标系 | 用户自定义基准 | mm | 机器人引导、多视角拼接 |
常见误区与工程复盘
误区一:认为点云越密越好。实际上,过密的点云会显著增加处理时间,且对缺陷检测的贡献有限。建议根据缺陷最小尺寸,合理下采样至每平方毫米5~10个点。
误区二:忽略坐标系标定误差。在3D缺陷检测中,0.1mm的标定误差可能导致缺陷误判。建议每次产线换型后,使用标准量块进行快速验证。
误区三:将深度图直接当作点云使用。深度图是2.5D数据,无法表达垂直面或遮挡区域。对于复杂工件,需从多个视角采集并拼接点云。