1. 深度相机选型与原理

做三维重建,第一步就是选相机。我见过不少团队,算法调得飞起,最后发现是相机选错了,白忙活一场。今天咱们就把深度相机的底裤扒干净,看看结构光、ToF、双目立体视觉到底怎么选。

深度相机三大流派

市面上主流的深度相机,说白了就三种:结构光、ToF(飞行时间法)、双目立体视觉。它们获取深度的原理完全不同,我一个个说。

结构光:投影已知图案

结构光的思路很直接——我往物体上投一个已知的图案(比如散斑、条纹),然后用相机拍下图案被物体表面扭曲后的样子。通过计算图案的变形量,就能反推出深度。

工作原理:投影仪发射编码光,相机捕捉反射光,三角测量算深度。

典型代表:微软Kinect v1、Intel RealSense D415/D435。

我个人习惯:做小物体重建(比如人脸、雕塑)时,结构光是首选。精度高,室内表现稳定。

注意:结构光在强光下基本废掉。我在户外做过一次测试,大太阳底下,投影图案直接被环境光淹没,深度图全是黑洞。所以它只适合室内。

ToF:直接测光飞行时间

ToF的原理更暴力——我发射一束调制光,测量它从发射到反射回来的时间差。光速是固定的,时间差直接换算成距离。

工作原理:发射器发出脉冲光或连续波调制光,传感器接收反射光,计算相位差或时间差。

典型代表:微软Kinect v2、Azure Kinect、苹果LiDAR(dToF)。

避坑指南:我曾经用ToF做动态物体重建,发现运动物体边缘有严重的“飞点”噪声。这是因为ToF对多路径反射敏感,光线在物体边缘乱弹,导致深度值飘忽不定。解决办法是加时间滤波,或者干脆用结构光。

双目立体视觉:模仿人眼

双目立体视觉最像人眼——用两个相机从不同角度拍同一场景,通过匹配左右图像中的对应点,利用视差计算深度。

工作原理:左右相机同步采集,特征匹配找对应点,三角测量算深度。

典型代表:ZED相机、Intel RealSense T265、大疆的视觉系统。

嗯,这里要注意:双目相机不依赖主动光源,所以室外也能用。但它的精度取决于基线长度和纹理丰富度。碰到白墙这种没纹理的区域,匹配算法直接崩溃。

工作原理对比

我把三种方案的核心差异整理成了一张表,方便你对比:

特性 结构光 ToF 双目立体视觉
测距原理 三角测量(投影图案变形) 飞行时间(光速×时间差) 三角测量(视差)
主动光源 是(红外投影仪) 是(调制光源) 否(被动)
精度 高(0.1-1mm) 中(1-10mm) 中(1-10mm,依赖基线)
帧率 低(15-30fps) 高(30-60fps) 中(15-60fps)
室外表现 差(强光干扰) 中(可加滤光片) 好(被动光)
成本 低(仅需两个摄像头)

为什么会这样?说白了,结构光靠“猜图案变形”,精度自然高,但怕光干扰。ToF靠“测时间”,速度快但精度受限于时钟分辨率。双目靠“找匹配”,室外无敌但遇到白墙就抓瞎。

选型考量因素

选相机不是看参数表就完事了。我踩过不少坑,总结出四个核心维度:

精度

如果你做的是工业级重建(比如文物扫描、模具检测),精度必须到亚毫米级。结构光是首选。我做过一个项目,要求重建误差小于0.5mm,最后选了结构光方案,配合标定板校准,勉强达标。

如果只是做AR交互或机器人导航,ToF或双目就够了。精度差一点,但帧率高,实时性好。

帧率

重建动态物体(比如人脸表情、手势),帧率至少30fps以上。ToF在这方面有天然优势,因为它是全局快门,一帧就能拿到所有深度。结构光需要逐行扫描,帧率上不去。

我记得有一次做手势识别,用结构光相机,手一挥,深度图就糊了。换成ToF后,问题迎刃而解。

视场角

视场角决定了你能拍多大范围。双目相机的视场角受限于镜头和基线,一般比较窄(60-90度)。ToF和结构光可以做到更宽(70-120度)。

你想想看,重建一个房间,视场角太小就得来回扫,拼接起来麻烦得要死。我建议优先选大视场角的相机,省事。

环境光鲁棒性

这是最容易忽略的点。结构光在室内暗光下表现完美,但一到窗边就完蛋。ToF加了带通滤光片后,对阳光有一定抵抗力,但多路径反射问题依然存在。

双目立体视觉是唯一能在户外强光下正常工作的方案。我曾在正午的操场上用ZED相机做重建,效果出奇的好。但代价是——晚上没光它也瞎。

我的建议:如果你不确定场景,可以选混合方案。比如Intel RealSense D435i,它既有结构光又有双目,可以切换模式。虽然精度不如专用相机,但胜在灵活。

知识体系结构图

下面这张图是我画的,把三种方案的核心逻辑串起来了。你看一眼就能明白它们之间的区别和联系。

深度相机分类与选型知识体系 深度相机 结构光 ToF 双目立体视觉 投影已知图案 → 三角测量 精度高,怕强光,室内首选 发射调制光 → 测飞行时间 帧率高,多路径反射有噪声 左右图像匹配 → 视差计算 室外强光可用,怕无纹理区域 选型四要素:精度·帧率·视场角·环境光

这张图把三种方案的核心原理和适用场景都标出来了。你选型时,对着这张图问自己三个问题:室内还是室外?静态还是动态?精度要求多高?答案自然就有了。

最后说一句:没有完美的相机,只有合适的方案。我见过有人花大价钱买工业级ToF,结果做室内重建还不如几百块的Kinect。别被参数表忽悠了,拿实物在真实场景下测一测,比什么都强。

专注资料整理