3、传感器选型:ToF传感器 vs 双目 vs 结构光,谁更适合你?

做深度相机选型,说白了就是一场「取舍」游戏。

我见过不少团队,一上来就追着高精度跑,结果项目做到一半发现帧率跟不上,或者干脆在室外直接「瞎了」。嗯,今天我就把三种主流方案——ToF、双目、结构光——掰开揉碎了讲。你想想看,选对了传感器,后面做融合、做重建,那叫一个顺风顺水。

3.1 三种方案的核心原理

先快速过一遍原理,不啰嗦。

  • 双目立体视觉:靠两个摄像头拍到的视差,算深度。说白了就是模仿人眼。
  • 结构光:主动投射编码光斑,靠光斑变形算深度。Kinect v1 就是典型。
  • ToF(飞行时间法):直接发射光脉冲,测量光往返时间。我最近用的最多就是它。

这三种方案,本质上都是在解决同一个问题:如何让像素带上距离信息。但实现路径不同,导致它们的脾气秉性也完全不同。

3.2 核心参数对比

我个人习惯,选型时先看一张表。下面这张表我做了很多次项目后总结出来的,你直接拿去用。

对比项 双目 结构光 ToF
测距范围 0.5m ~ 几十米 0.1m ~ 5m(短距) 0.3m ~ 10m(中距)
精度 中等(依赖纹理) 高(亚毫米级) 中等(cm级)
帧率 30fps(受限于计算) 30fps 60fps ~ 120fps
室外表现 好(被动光) 差(强光干扰) 较好(可加滤波)
弱光表现 差(依赖环境光) 好(主动投射) 好(主动发光)
功耗 高(激光器耗电)
成本 低(仅需CMOS) 高(VCSEL+驱动)
我的建议: 如果你做室内近距离高精度扫描(比如人脸建模),结构光是不二之选。但如果你要做室外动态场景(比如机器人导航),ToF 或双目更靠谱。

3.3 避坑指南:我踩过的三个坑

做项目这么多年,传感器选型上我栽过跟头。分享三个真实案例,你遇到了能少走弯路。

坑一:双目在弱纹理环境直接「瞎」了

有一次做室内仓储机器人,墙面全是纯白色,地面也是浅灰色。双目上去一看,视差图一片漆黑。为什么?因为没有纹理特征可以匹配。后来我换成了 ToF,问题迎刃而解。

技巧: 双目方案一定要评估场景纹理丰富度。如果纹理少,要么加结构光辅助,要么直接换 ToF。

坑二:结构光在室外阳光下「罢工」

我曾经在户外做 AR 眼镜的深度感知,用了结构光方案。结果大晴天一出门,深度图全是噪点。因为太阳光里的红外成分直接把投射的光斑淹没了。嗯,这个坑踩得我记忆犹新。

警告: 结构光基本告别室外强光场景。如果你有户外需求,老老实实选 ToF 或双目。

坑三:ToF 的多路径干扰

ToF 也不是完美的。我在做室内多面镜子的场景时,ToF 深度值经常跳变。因为光线在镜面之间来回反射,导致飞行时间变长,算出来的距离就偏大。后来我加了多频调制,才勉强压住这个问题。

3.4 知识体系:一张图看懂选型逻辑

下面这张 SVG 图,是我自己梳理的选型决策树。你跟着走一遍,基本不会选错。

深度传感器选型 双目立体视觉 结构光 ToF 飞行时间 室外/纹理丰富场景 室内/高精度/短距 中距/动态/全天候 ✅ 成本低、室外好 ❌ 弱纹理失效 ❌ 计算量大 ✅ 精度高、弱光好 ❌ 室外强光失效 ❌ 测距短 ✅ 帧率高、动态好 ❌ 多路径干扰 ❌ 功耗较高 结论:没有最好,只有最合适

3.5 实战选型建议

说了这么多,到底怎么选?我直接给你三个典型场景的配置方案。

  1. 场景一:室内人脸识别/支付
    • 推荐:结构光
    • 理由:精度高,距离近(0.3-1m),不受环境光干扰
    • 我做过:某支付终端项目,结构光活体检测通过率99.7%
  2. 场景二:室外机器人导航
    • 推荐:双目 + ToF 融合
    • 理由:双目提供远距离纹理,ToF 补充近距离稠密深度
    • 注意:双目基线要拉大,ToF 要选多频调制型
  3. 场景三:AR/VR 手势交互
    • 推荐:ToF
    • 理由:帧率高(60fps以上),延迟低,手部快速运动不拖影
    • 我建议:选 Sony DepthSense 系列,功耗和性能平衡得不错
最后说一句: 传感器选型没有银弹。我见过用双目做室内扫描翻车的,也见过用 ToF 做室外导航跑得飞起的。关键是你得清楚自己的场景约束——光照、距离、帧率、成本,这四个维度排个优先级,答案自然就出来了。

公众号:蓝海资料掘金营,微信deep3321