一、3D视觉技术全景图:从结构光到ToF,从双目到激光雷达

各位工程师朋友,大家好。我是老张,在3D视觉这个行当摸爬滚打了十几年。今天咱们来聊聊3D视觉技术的全景图。说实话,每次有新入行的同事问我「该选哪种3D方案」,我都觉得这问题挺大——因为根本没有标准答案。

但别急,我帮你把主流技术路线捋一遍。你听完,心里就有谱了。

1.1 为什么需要3D视觉?

2D视觉说白了就是拍照片。它只能告诉你「这里有个人」,但不知道这个人离你多远。3D视觉呢?它能告诉你「这里有个1.75米高的人,距离你2.3米,正在朝你走来」。

我做过一个项目,客户非要用2D相机做AGV避障。结果呢?地上一个5厘米的台阶,相机愣是没看出来,小车直接卡住。后来换成3D激光雷达,问题秒解。你想想看,没有深度信息,很多场景根本玩不转。

1.2 四大主流3D技术路线

目前市面上主流的3D视觉技术,我归纳为四大类。咱们一个一个说。

1.2.1 结构光(Structured Light)

原理:投影仪打出特定图案(比如条纹、网格),相机拍下变形后的图案,通过三角法算出深度。

典型代表:微软Kinect v1、苹果Face ID。

优点

  • 精度高,近距离(0.1-3米)可达毫米级
  • 成本低,消费级产品几百块搞定
  • 室内效果好,不受环境光干扰

缺点

  • 室外基本废掉——太阳光里的红外成分会淹没投影图案
  • 测量距离有限,超过5米精度急剧下降
  • 对被测物体表面有要求,黑色或反光表面容易翻车
我的经验:做结构光项目,最怕遇到黑色塑料件。我曾经在手机外壳检测项目里,黑色亮面外壳死活测不准。后来加了个偏振片,勉强能用。但说实话,遇到高反光物体,我建议你直接换方案。

1.2.2 双目立体视觉(Binocular Stereo Vision)

原理:模仿人眼,用两个相机从不同角度拍同一场景,通过匹配对应点算出视差,再换算成深度。

典型代表:ZED相机、Intel RealSense D400系列。

优点

  • 硬件成本低,两个普通相机就行
  • 室内室外都能用,不受主动光源限制
  • 帧率可以做到很高(60fps以上)

缺点

  • 计算量大,需要GPU加速
  • 纹理稀疏区域(比如白墙)匹配失败
  • 基线长度限制了测量范围——基线越长,测距越远,但相机体积越大
避坑指南:我曾经在仓库托盘检测项目里用双目,结果托盘表面太光滑,纹理匹配全失败。后来我加了个随机纹理投影仪,才解决问题。记住:双目最怕「没纹理」。

1.2.3 飞行时间法(ToF, Time of Flight)

原理:发射光脉冲,测量光从发射到反射回来的时间差,直接算出距离。

典型代表:微软Kinect v2、苹果LiDAR(iPad Pro)、PMD传感器。

优点

  • 速度快,单帧就能得到深度图
  • 算法简单,不需要复杂的匹配计算
  • 体积小,适合手机等移动设备

缺点

  • 分辨率低,目前主流也就QVGA(320x240)
  • 多路径干扰——光在物体间来回反射,导致测距不准
  • 受环境光影响大,强阳光下性能下降

为什么会这样?说白了,ToF测的是「光跑了个来回」的时间。如果光在多个表面之间弹来弹去,传感器就分不清哪个是真实距离了。我做过一个室内定位项目,墙角处测出来的距离总是偏大,就是因为多路径效应。

1.2.4 激光雷达(LiDAR)

原理:发射激光束,通过扫描方式测量每个点的距离,生成点云。

典型代表:Velodyne、禾赛科技、大疆览沃。

优点

  • 精度极高,可达厘米级甚至毫米级
  • 测量距离远,机械式可达200米以上
  • 不受光照影响,白天黑夜都能用

缺点

  • 贵!机械式LiDAR动辄几万到几十万
  • 体积大,有旋转部件,可靠性是个问题
  • 点云稀疏,远距离分辨率低
关键认知:激光雷达不是万能的。我见过有人用16线LiDAR做近距离物体识别,结果点云太稀疏,根本看不清物体轮廓。记住:激光雷达擅长「远距离测距」,不擅长「近距离精细建模」。

1.3 技术路线对比总表

技术路线 测量距离 精度 成本 室外可用 典型应用
结构光 0.1-5m 0.1-1mm 人脸识别、3D扫描
双目立体视觉 0.3-20m 1-10mm AGV导航、手势识别
ToF 0.1-10m 1-10mm ⚠️ 手机AR、体感交互
激光雷达 1-200m 1-50mm 自动驾驶、地图测绘

1.4 选型指南:我该怎么选?

嗯,这里我直接给你一个决策流程。你按这个走,基本不会错。

  1. 先看距离:5米以内?结构光或ToF。5-20米?双目。20米以上?激光雷达。
  2. 再看环境:室内用结构光或ToF,室外用双目或激光雷达。
  3. 再看精度:需要毫米级精度?结构光或激光雷达。厘米级够用?双目或ToF。
  4. 最后看预算:几百块选结构光或双目,几千块选ToF,几万块选激光雷达。
我的建议:如果你刚开始做3D视觉项目,我建议从双目入手。为什么?因为硬件成本低,算法开源多,踩坑成本小。等你把双目玩透了,再去看结构光和ToF,你会发现很多概念是相通的。

1.5 本章知识体系图

下面我用一张SVG图,把本章的核心逻辑串起来。你一看就明白。

3D视觉技术全景图 3D视觉技术 结构光 双目立体视觉 飞行时间法(ToF) 激光雷达(LiDAR) 距离:0.1-5m 精度:0.1-1mm 成本:低 距离:0.3-20m 精度:1-10mm 成本:低 距离:0.1-10m 精度:1-10mm 成本:中 距离:1-200m 精度:1-50mm 成本:高 选型决策:距离 → 环境 → 精度 → 预算 典型应用场景 人脸识别 / 3D扫描 AGV导航 / 手势识别 手机AR / 体感交互 自动驾驶 / 地图测绘

1.6 小结

好了,这一章咱们把3D视觉的四大技术路线都过了一遍。说白了,没有最好的技术,只有最合适的方案。结构光精度高但怕室外,双目便宜但怕没纹理,ToF速度快但分辨率低,激光雷达全能但贵得离谱。

我个人习惯是:先明确需求,再倒推技术选型。别一上来就追热点,什么火用什么。我见过太多人花大价钱买了激光雷达,结果项目只需要测3米内的物体,纯属浪费。

下一章,咱们会深入结构光的原理和实战。到时候我会手把手教你搭一个结构光3D扫描系统。嗯,今天就到这儿。


专注资料整理