2. 3D视觉基础
3D视觉缺陷检测的核心在于获取物体表面的三维空间信息,而这一过程依赖于深度传感器。与2D成像仅记录亮度或颜色不同,深度传感器能够直接测量场景中每个像素对应的物理距离,从而为后续的缺陷定位、尺寸测量和形貌分析提供基础。本章将深入剖析三种主流深度传感技术——结构光、飞行时间(ToF)和激光三角测量的物理原理与工程特性,并系统阐述点云与深度图这两种核心数据表达形式。理解这些底层机制,是正确选型传感器、设计检测算法以及排查数据异常的前提。
上图展示了三种深度传感器在原理、量程与精度上的差异,以及它们共同的数据输出形式。下面我们将逐一拆解其物理内核与工程实现。
2.1 结构光:编码光栅与三角测量
核心原理
结构光技术通过投影仪向被测物体表面投射具有特定编码图案的红外光(如正弦光栅、格雷码或随机散斑),并利用一个或多个相机从不同角度同步拍摄被物体表面调制后的变形图案。由于物体表面的凹凸起伏,投射的光条会发生位移或相位变化,这种畸变与物体表面的深度信息存在严格的几何映射关系。通过解算图案中每个像素的相位或编码值,结合相机与投影仪之间的标定参数(基线距离、焦距等),即可利用三角测量原理计算出物体表面各点的三维坐标。
判断方法与操作流程
- 系统标定:需对投影仪和相机进行联合标定,获取内参(焦距、畸变)和外参(旋转、平移矩阵)。标定精度直接影响重建质量。
- 图案投射与采集:投射多频相移光栅(通常3-4步相移)或二值格雷码序列,同步触发相机采集图像序列。
- 相位解算与展开:利用相移算法计算包裹相位,再通过时间相位展开或空间相位展开获得绝对相位值。
- 三维重建:根据相位-高度映射公式或三角测量方程,逐像素计算深度值,生成深度图或点云。
案例拆解:手机中框平面度检测
某3C产线需检测手机中框的平面度(公差±0.05mm)。采用分辨率为1280×1024的结构光模组,基线距离为60mm,工作距离为300mm。初始检测时发现边缘区域出现周期性波纹误差。分析发现,投影仪散斑图案在金属高光表面产生镜面反射,导致相位解算错误。解决方案:① 在投影仪前加装偏振片,并在相机前加装正交偏振片,有效滤除镜面反射;② 将曝光时间从5ms调整为8ms,提升信噪比;③ 对重建点云进行中值滤波(窗口3×3),消除孤立噪点。处理后平面度测量重复性从±0.03mm提升至±0.008mm,误检率从2.3%降至0.2%。
2.2 飞行时间(ToF):光速测距与多路径干扰
核心原理
ToF传感器通过发射连续调制或脉冲式的红外光,并测量光从发射到经物体反射回传感器的时间差Δt,根据公式 距离 = c × Δt / 2(c为光速)直接计算深度。工程实现上分为两种:直接ToF(dToF)使用单光子雪崩二极管(SPAD)阵列,直接记录光子飞行时间;间接ToF(iToF)则通过测量发射与接收正弦波之间的相位差来间接推算时间。iToF因成本较低、分辨率较高,在工业检测中更为常见。
判断方法与操作流程
- 频率选择:根据量程选择调制频率。例如,20MHz调制频率对应最大无模糊距离为7.5m;100MHz则对应1.5m。频率越高,近距离精度越高,但量程缩短。
- 标定与校准:需进行温度漂移校准、距离非线性校准以及像素间灵敏度差异校准(固定模式噪声)。
- 多路径干扰抑制:在算法层面对反射光多次弹跳造成的深度偏移进行补偿,或采用多频调制解算。
- 深度图生成:输出每个像素的相位差,转换为深度值,并同时输出强度图(红外反射率)和置信度图。
实战场景:物流包裹体积测量
在快递分拣线上,需快速测量包裹的长宽高(精度±5mm)。选用分辨率为640×480的iToF相机,工作距离0.5m~2m。初始测试发现,当包裹表面为黑色塑料袋时,深度数据出现大量空洞。分析原因:黑色表面吸收大量红外光,导致反射信号强度低于传感器噪声阈值。解决措施:① 将积分时间从500μs提升至1000μs,增强信号幅度;② 开启“高动态范围(HDR)”模式,对不同反射率区域采用不同增益;③ 在算法中利用置信度图对低置信度像素进行邻域插值填充。最终测量准确率达到±3mm,单件测量耗时小于50ms。
2.3 激光三角:高精度轮廓与截面测量
核心原理
激光三角测量法利用一束激光(点激光或线激光)以一定角度照射被测物体表面,激光在物体表面发生漫反射,反射光经透镜成像在位置敏感探测器(PSD)或CMOS/CCD相机上。当物体表面高度变化时,激光光斑在探测器上的成像位置会发生相应位移。根据激光发射点、物体表面反射点和成像点构成的三角形几何关系,通过计算像点位移量即可反推出物体表面的高度变化。线激光则通过扫描或直接投射一条激光线,一次性获取一个截面上的轮廓数据。
判断方法与操作流程
- 分辨率与量程权衡:根据检测精度需求选择合适量程的传感器。量程越小,分辨率越高。例如,量程±10mm的传感器,分辨率可达0.2μm;量程±250mm的传感器,分辨率约为5μm。
- 安装角度:激光束应尽量垂直于被测表面,相机与激光束之间的夹角(三角角度)通常为15°~45°。角度越大,高度分辨率越高,但阴影效应越明显。
- 标定:使用标准量块或高精度台阶进行高度标定,建立像元位移与真实高度的线性或非线性映射关系。
- 数据采集:通过运动平台带动传感器或工件移动,逐线扫描获取完整三维轮廓。
案例拆解:锂电池极片涂布缺陷检测
锂电池极片涂布工序需检测涂层厚度均匀性(公差±2μm)。采用量程±5mm的激光三角传感器,采样频率为10kHz,配合高精度直线模组(重复定位精度±1μm)进行扫描。初始检测发现,在极片边缘处出现厚度突变,疑似涂布异常。进一步分析原始波形发现,边缘区域的激光线发生断裂,原因是极片边缘存在毛刺,导致激光散射。处理方案:① 调整激光光斑尺寸(从50μm调至80μm),降低对微小毛刺的敏感度;② 在算法中增加边缘检测逻辑,对边缘区域采用更宽的滤波窗口;③ 增加第二支传感器从另一侧对射,消除阴影盲区。最终检测系统能够稳定识别厚度偏差超过±1.5μm的缺陷,漏检率低于0.1%。
2.4 深度图与点云:数据表达与转换
核心概念与区别
| 维度 | 深度图 (Depth Map) | 点云 (Point Cloud) |
|---|---|---|
| 数据组织 | 规则网格(图像矩阵),每个像素存储深度值Z | 无序点集,每个点包含(X, Y, Z)坐标 |
| 坐标参考 | 相机坐标系(像素坐标+深度) | 世界坐标系或相机坐标系 |
| 存储格式 | 16bit PNG / TIFF / RAW | PLY / PCD / XYZ / LAS |
| 空间关系 | 像素邻域关系明确,便于图像处理 | 需通过KD-Tree或Octree建立空间索引 |
| 典型应用 | 背景分割、遮挡检测、快速深度滤波 | 三维测量、CAD比对、机器人抓取 |
| 转换关系 | 深度图 + 相机内参 → 反投影 → 点云;点云 → 投影 → 深度图 | |
深度图转点云的计算方法
已知相机内参(焦距fx, fy,主点cx, cy),深度图每个像素(u, v)对应的深度值为Z(u, v),则三维坐标计算如下:
X = (u - cx) * Z(u, v) / fx
Y = (v - cy) * Z(u, v) / fy
Z = Z(u, v)
该转换过程逐像素执行,生成的点云保留了原始像素的邻接关系,便于后续法向量估计和特征提取。
实战场景:点云配准与缺陷定位
在汽车焊装线中,需检测车门钣金件的装配间隙(公差±0.5mm)。使用两台结构光相机从不同角度拍摄,分别生成局部点云。由于单次拍摄存在遮挡,需将两片点云配准融合。操作流程:① 使用迭代最近点(ICP)算法进行粗配准,初始变换矩阵由机器人位姿提供;② 精配准阶段,提取点云中的平面特征(如车门边缘平面),采用点到平面ICP,迭代收敛至均方误差小于0.05mm;③ 配准后,计算两片点云重叠区域的最近点距离,生成偏差彩色图,自动标记间隙超差区域。该方案将检测节拍从人工抽检的2分钟/件缩短至自动全检的15秒/件。
2.5 传感器选型对比与总结
| 对比维度 | 结构光 | ToF | 激光三角 |
|---|---|---|---|
| 精度等级 | 0.1mm ~ 1mm | 1mm ~ 10mm | 1μm ~ 50μm |
| 测量范围 | 0.1m ~ 3m | 0.3m ~ 10m | 10mm ~ 500mm |
| 采集速度 | 中(需多帧投影) | 快(单帧即可) | 慢(需扫描) |
| 环境光敏感度 | 高 | 中 | 低 |
| 表面适应性 | 中(高光/黑色敏感) | 中(透明/高反射差) | 高(对漫反射表面最佳) |
| 典型缺陷检测场景 | PCB焊点、手机外壳 | 物流包裹、AGV避障 | 锂电池极片、精密轴类 |
在实际工程中,选型需综合精度、速度、成本、环境约束和被测物材质。对于微米级精密测量,激光三角是首选;对于中等精度的大范围快速检测,ToF具有明显速度优势;而结构光则在中等精度和中等量程之间取得了较好的平衡,尤其适合静态或慢速运动的物体全表面检测。理解这些传感器的物理边界,是设计可靠3D视觉检测系统的第一步。