深度相机原理与选型:双目立体视觉、结构光、ToF、RGB-D相机对比与选型指南

大家好,我是你们的讲师。今天我们来聊聊深度相机。

做机器人抓取,说白了就是让机器“看见”三维世界。普通摄像头只能拍出平面图像,但抓取需要知道物体离我们多远、形状怎样、姿态如何。这时候,深度相机就派上用场了。

我个人习惯把深度相机分成四大类:双目立体视觉结构光ToF(飞行时间),以及RGB-D相机(其实它是前几种技术的融合产物)。下面我们一个一个拆开讲。

核心观点:没有完美的深度相机,只有最适合你场景的方案。选型时,请务必考虑:工作距离、精度要求、环境光照、运动物体、成本预算。

一、双目立体视觉

双目立体视觉的原理,说白了就是模仿人眼。两个摄像头相隔一定距离(基线),同时拍摄同一场景。通过计算左右图像中对应点的视差,就能反推出深度信息。

公式很简单:

深度 Z = (焦距 f × 基线距离 B) / 视差 d

嗯,这里要注意:视差计算是核心,也是最容易出问题的地方。我在项目中遇到过,如果场景纹理太少(比如一面白墙),双目匹配就会失效,深度图全是黑洞。

我的经验:双目相机在室外强光下表现不错,因为它是被动光学,不依赖自身光源。但弱光环境就抓瞎了。另外,计算量较大,建议用FPGA或GPU加速。

优缺点一览

  • 优点:成本低(只需两个普通摄像头)、室外可用、功耗较低
  • 缺点:依赖纹理、弱光性能差、计算量大、基线限制了近距离测量

二、结构光(如Kinect v1)

结构光技术,你可以想象成“用光投影出条纹,然后看条纹怎么变形”。

Kinect v1就是典型代表。它向场景投射红外散斑图案,然后通过红外摄像头捕捉变形后的图案,利用三角测量原理计算深度。

为什么会变形?因为物体表面高低不平,投射的光斑会被拉伸或压缩。算法通过分析这些变形,就能还原出三维形状。

避坑指南:我曾经在户外用Kinect v1做抓取实验,结果深度图全是噪点。原因是太阳光中的红外成分干扰了投射图案。结构光技术对强环境光非常敏感,建议只在室内使用。

优缺点一览

  • 优点:近距离精度高(毫米级)、帧率较高、算法成熟
  • 缺点:强光下失效、有效距离短(通常0.5-5米)、功耗较高

三、ToF(飞行时间,如Kinect v2/Azure Kinect)

ToF的原理更直接:发射光脉冲,测量光从发射到反射回来的时间,乘以光速再除以2,就是距离。

你想想看,这就像用超声波测距,只不过换成了光。Kinect v2和Azure Kinect都是ToF方案。

我个人觉得,ToF最大的优势是速度快。它能达到30fps甚至更高,非常适合抓取动态物体。而且它对纹理不敏感,白墙也能测。

但ToF也有坑。我记得有一次调试,发现深度图边缘总有一圈“飞点”(flying pixels)。这是因为物体边缘的光信号混合了前景和背景,导致深度值跳变。解决办法是加滤波,或者干脆裁剪掉边缘区域。

优缺点一览

  • 优点:帧率高、对纹理不敏感、中距离表现好(0.5-10米)
  • 缺点:分辨率通常较低(如QVGA)、多机干扰(多个ToF同时工作会串扰)、边缘飞点问题

四、RGB-D相机对比与选型指南

RGB-D相机,其实就是把RGB摄像头和深度传感器融合在一起。常见的产品有:

型号 技术 有效距离 精度 帧率 适用场景
Kinect v1 结构光 0.5-4.5m ±1-4mm 30fps 室内静态抓取
Kinect v2 ToF 0.5-8m ±2-10mm 30fps 室内动态抓取
Azure Kinect ToF 0.25-5.46m ±1-5mm 15-30fps 高精度室内抓取
Intel RealSense D435 双目+红外 0.1-10m ±2-10mm 30-90fps 室内外通用
ZED 2 双目 0.3-20m ±1-5mm 15-100fps 室外大范围

选型建议:

  • 如果你做桌面级抓取(距离0.3-1米),结构光或高精度ToF(如Azure Kinect)最合适。
  • 如果你做移动机器人抓取(距离1-5米),双目或ToF更靠谱,因为结构光在移动中容易丢帧。
  • 如果你在室外作业,别犹豫,选双目(如ZED 2)。结构光和ToF在阳光下基本废了。
  • 如果你预算有限,双目摄像头+自己写算法是最省钱的路子,但开发周期长。

五、知识体系总览

下面这张图,是我自己整理的深度相机选型决策流程。你可以把它当作一个快速参考。

深度相机选型决策流程图 开始选型 室内还是室外? 室内 室外 结构光/ToF 双目立体视觉 静态还是动态? 静态 动态 结构光 ToF 距离远近? 近(<5m) 远(>5m) RealSense ZED 2 根据场景选择最合适的方案

小技巧:如果你不确定选哪个,我建议先买一个Azure Kinect或RealSense D435。这两款是当前最成熟的RGB-D相机,社区支持好,资料多。踩坑了也有人帮你。

六、总结

好了,这一章的内容就到这里。我们讲了四种深度相机的原理、优缺点和选型思路。你不需要记住所有参数,但一定要理解:没有万能相机,只有匹配场景的方案

下一章,我们会深入讲解深度相机的标定与校准。嗯,那是另一个容易踩坑的地方,到时候我会分享一些我当年调试时血泪史。


专注资料整理