2. 3D视觉基础

2.1 核心概念:深度图、点云与视差

在进入3D视觉引导之前,必须厘清三个最基础的数据形态。它们描述了同一物理场景的不同维度信息,是后续标定、匹配与抓取计算的基石。

概念 数据形式 维度 典型用途
深度图 单通道灰度图像,每个像素值代表该点距离相机的物理距离(mm) 2D + 1D(Z值) 快速障碍物检测、平面度分析、背景分割
点云 三维坐标点集 (X, Y, Z),可附带RGB或反射强度信息 3D 精确位姿估计、三维重建、机器人抓取点计算
视差 双目或多目系统中,同一空间点在左右图像中的像素列坐标差 2D差值 通过三角测量反算深度,是双目立体视觉的核心中间量
实操提示: 在机器人引导项目中,点云是最终输入给路径规划模块的数据格式。深度图通常作为预处理中间产物,用于快速过滤无效区域或生成ROI(感兴趣区域)。视差概念主要出现在双目方案中,线扫激光方案不直接产生视差图。

2.2 3D成像原理:激光三角法

线扫3D相机最核心的物理原理是激光三角法。它利用激光器、镜头和感光芯片之间的固定几何关系,将二维图像中的像素偏移量转换为高度信息。

激光三角法成像原理 激光三角法成像原理 激光器 激光线(结构光) 被测物体表面 反射光 镜头 感光芯片 基线距离 B 高度 H 像素偏移 Δp 三角法核心公式 H = (B × f) / (d + Δp) 其中:B=基线距离,f=镜头焦距,d=参考偏移,Δp=像素偏移量
关键推导逻辑: 激光器以固定角度投射一条线激光到物体表面。物体高度变化导致激光线在感光芯片上的成像位置发生横向偏移(Δp)。通过标定好的三角几何关系,即可将每个像素的偏移量换算为精确的高度值(H)。这就是线扫相机能输出高精度深度图的底层原理。

2.3 线扫相机 vs 面阵相机

在机器人引导场景中,选择线扫还是面阵相机直接决定了系统架构、运动控制和数据处理方式。下表从工程应用角度进行对比:

对比维度 线扫相机(Line Scan) 面阵相机(Area Scan)
传感器结构 单行或少数几行像素(如1×4096) 二维像素矩阵(如1920×1080)
成像方式 物体相对运动,逐行扫描拼接成2D/3D图像 一次曝光获取整幅二维图像
3D实现方式 激光三角法(主流),单帧即含高度信息 双目立体视觉、结构光、ToF
视野与分辨率 横向分辨率极高(可达16K),纵向取决于编码器精度 分辨率固定,视野受传感器尺寸和镜头限制
运动要求 必须配合编码器或伺服电机匀速运动 可静止拍摄,也可动态抓拍
光照要求 对激光线功率和环境光敏感,需配合滤光片 依赖环境光或额外面光源
典型应用 传送带上的连续物体检测、焊缝跟踪、大幅面PCB检测 静态工件定位、机器人手眼标定、小范围抓取
工程避坑: 线扫相机并非“万能3D方案”。如果被测物体在运动方向上有剧烈抖动或速度不均匀,会导致图像畸变和高度数据错位。必须确保运动机构(传送带/直线模组)的平稳性,并正确接入编码器触发信号。

2.4 从线扫原始数据到点云:数据流全景

理解数据流有助于后续章节的标定和编程。下图展示了从激光线图像到最终点云的完整链路:

线扫3D数据流架构 线扫3D数据流:从原始图像到点云 原始激光线图像 (单行/多行灰度图) 激光中心提取 (亚像素精度) 三角法换算 (像素→高度H) 深度图 编码器同步 (X轴坐标赋值) 点云生成 (X, Y, Z 坐标) 点云 工程要点 深度图是中间产物,点云是最终交付物。编码器精度直接影响点云X轴坐标的准确性,建议使用差分编码器或光栅尺。

2.5 本章小结与实操要点

  • 深度图 ≠ 点云: 深度图是规则网格化的高度矩阵,点云是稀疏或稠密的三维坐标集合。从深度图到点云需要乘以相机内参矩阵并叠加编码器位置。
  • 激光三角法的精度瓶颈: 主要受限于激光线宽、镜头畸变、标定板精度和运动机构重复定位精度。实际项目中,标定是决定最终精度的最关键步骤。
  • 线扫相机的触发同步: 必须使用硬件触发(编码器或光栅尺),软件定时触发在高速度下会产生不可接受的累积误差。
  • 面阵相机的适用场景: 当工件静止、视野较小、且需要快速更换产品型号时,面阵3D相机(如双目或ToF)部署更灵活,但精度通常低于线扫激光方案。