一、ToF相机基础:原理、对比与选型
各位同学,今天我们正式开始ToF相机标定与畸变校正的实战之旅。第一节课,我想先聊聊ToF相机的基础知识。说实话,很多工程师一上来就急着调参数、做标定,结果连基本原理都没吃透,后面踩坑无数。我个人习惯是,先把底层的物理逻辑搞明白,再动手不迟。
1.1 ToF原理概述:光飞行的秘密
ToF,全称Time of Flight,翻译过来就是“飞行时间”。说白了,就是测量光从发射到返回的时间差,然后算出距离。你想想看,光速是固定的(约3×10⁸ m/s),只要测出时间,距离就出来了。
具体怎么测?目前主流有两种方式:
- 直接ToF(dToF):发射一个光脉冲,直接计时。就像你喊一声,听回声的时间。我早期做激光雷达项目时用的就是这种方案,精度高,但成本也高。
- 间接ToF(iToF):发射连续调制光,通过相位差反推距离。这种方式更常见于消费级产品,比如手机上的深度摄像头。
核心公式:
距离 = (光速 × 飞行时间) / 2
为什么要除以2?因为光走了个来回。这个细节,我见过不少新手搞错。
嗯,这里要注意:ToF测距的精度,很大程度上取决于时间测量的分辨率。1纳秒的时间误差,对应约15厘米的距离误差。所以硬件上的时间数字转换器(TDC)非常关键。
1.2 ToF vs 结构光 vs 双目视觉:谁更香?
很多同学会问:市面上深度相机方案这么多,到底选哪个?我个人的经验是,没有绝对的好坏,只有适不适合你的场景。
下面这张表,是我在实际项目中总结的对比,你可以直接拿去用:
| 对比维度 | ToF | 结构光 | 双目视觉 |
|---|---|---|---|
| 工作原理 | 光飞行时间 | 投射编码图案 | 双摄像头视差 |
| 测距范围 | 0.1m - 10m+ | 0.1m - 3m | 0.5m - 20m+ |
| 精度 | 厘米级 | 毫米级 | 厘米级(依赖基线) |
| 光照影响 | 强光下表现一般 | 强光下失效 | 依赖纹理,弱光差 |
| 成本 | 中等 | 低 | 低(仅需摄像头) |
| 典型应用 | AR/VR、机器人 | 人脸识别、3D扫描 | 自动驾驶、无人机 |
为什么会这样?我简单解释一下:
- 结构光精度确实高,但受环境光影响极大。我曾经在户外做项目,大太阳底下结构光直接“瞎了”,后来换成ToF才搞定。
- 双目视觉成本最低,但需要场景有丰富的纹理特征。碰到白墙这种“光板”,双目就歇菜了。
- ToF算是折中方案,室内外都能用,但多路径干扰是个头疼的问题。这个我们后面讲畸变校正时会重点聊。
我的建议:如果你做的是室内近距离高精度应用(比如人脸解锁),结构光更合适。如果是中远距离、需要户外使用的场景(比如扫地机器人避障),ToF是更好的选择。
1.3 ToF相机主流厂商与选型指南
现在市面上做ToF相机的厂商不少,我挑几个有代表性的说说:
- 英飞凌(Infineon):老牌半导体厂商,iToF芯片做得很成熟。我有个项目用的就是他们的IRS系列,稳定性不错。
- 索尼(Sony):消费级ToF传感器的霸主,手机上的ToF模组大多出自他家。DepthSense系列口碑很好。
- 德州仪器(TI):提供完整的ToF解决方案,包括芯片和参考设计。适合自己搭系统的团队。
- PMD Technologies:德国公司,专注ToF技术多年。他们的CamBoard系列在工业领域用得比较多。
- 奥比中光(Orbbec):国内厂商,性价比高。我最近测试过他们的Femto系列,效果超出预期。
避坑指南:我曾经选型时只看参数,结果买回来发现SDK文档写得一塌糊涂,调试了两个月才跑通。所以选型时,除了看硬件参数,一定要关注厂商的软件生态和技术支持。这一点,吃过亏的人都知道有多重要。
选型时,我建议你重点关注这几个参数:
- 分辨率:目前主流是QVGA(320×240)到VGA(640×480)。分辨率越高,点云越密,但帧率会下降。
- 帧率:一般30fps够用,如果做高速运动捕捉,需要60fps以上。
- 测距范围:根据你的应用场景来。室内机器人0.1-5m足够,户外无人机可能需要10m+。
- 精度:注意看是绝对精度还是相对精度。有些厂商会玩文字游戏。
- 多路径干扰抑制能力:这个很关键,直接影响到标定和校正的效果。
知识体系总览
下面这张图,是我梳理的本章知识结构。你可以把它当作一个地图,后面每节课都会对应到其中的某个模块。
好了,这一章的内容就到这里。ToF原理、方案对比、厂商选型,这三块是后续所有内容的基础。你先把这些消化掉,下一章我们就要开始动手做标定了。
课后思考:如果你现在要做一个室内送货机器人的深度感知方案,你会选ToF、结构光还是双目?为什么?想清楚这个问题,你对深度相机的理解就能上一个台阶。
公众号:蓝海资料掘金营,微信deep3321