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 图,是我自己梳理的选型决策树。你跟着走一遍,基本不会选错。
3.5 实战选型建议
说了这么多,到底怎么选?我直接给你三个典型场景的配置方案。
- 场景一:室内人脸识别/支付
- 推荐:结构光
- 理由:精度高,距离近(0.3-1m),不受环境光干扰
- 我做过:某支付终端项目,结构光活体检测通过率99.7%
- 场景二:室外机器人导航
- 推荐:双目 + ToF 融合
- 理由:双目提供远距离纹理,ToF 补充近距离稠密深度
- 注意:双目基线要拉大,ToF 要选多频调制型
- 场景三:AR/VR 手势交互
- 推荐:ToF
- 理由:帧率高(60fps以上),延迟低,手部快速运动不拖影
- 我建议:选 Sony DepthSense 系列,功耗和性能平衡得不错
最后说一句: 传感器选型没有银弹。我见过用双目做室内扫描翻车的,也见过用 ToF 做室外导航跑得飞起的。关键是你得清楚自己的场景约束——光照、距离、帧率、成本,这四个维度排个优先级,答案自然就出来了。
公众号:蓝海资料掘金营,微信deep3321