3. ToF深度相机详解
ToF(Time of Flight,飞行时间)技术,说白了就是给光波“掐秒表”。
我最早接触ToF是在2015年做机器人避障项目,当时结构光方案在室外基本“见光死”,ToF成了唯一选择。这些年下来,ToF已经从高端工业设备,变成了手机人脸识别、扫地机避障的标配。
这一章,我们把它拆开揉碎,讲清楚。
3.1 核心原理:光速就是尺子
ToF的基本思想很简单:发射一束光,测量它打到物体再反射回来的时间差,乘以光速再除以2,就是距离。
核心公式:
距离 = (光速 × 飞行时间) / 2
光速 ≈ 3×10⁸ m/s,所以1纳秒对应约15厘米的往返距离。
但实际工程中,直接测光速级别的纳秒时间差,对电子器件要求极高。于是业界分化出两条技术路线:iToF(间接飞行时间)和dToF(直接飞行时间)。
3.2 iToF:用相位差“换算”时间
iToF不直接测时间,而是发射连续调制的光波(通常是正弦波或方波),通过测量发射波与反射波之间的相位差,间接计算出飞行时间。
我习惯把iToF比作“看表盘”:你不需要知道秒针走了多少格,只需要看时针和分针的夹角,就能推算出时间。
3.2.1 工作原理
- 发射调制光:光源(VCSEL激光器)发出高频调制的近红外光。
- 接收与解调:传感器(CMOS像素阵列)在多个相位窗口(0°、90°、180°、270°)采集反射光强度。
- 计算相位差:通过四个采样值,解算出相位偏移φ。
- 换算距离:距离 = (c × φ) / (4π × f_mod),其中f_mod是调制频率。
避坑指南:我曾经在调试iToF时,发现测距值总是周期性跳变。排查了两天才发现,是调制频率f_mod设置错了——频率越高,精度越高,但最大测量距离越短。这是个典型的“精度-量程”权衡。
3.2.2 典型芯片:PMD与索尼DepthSense
| 特性 | PMD(如IRS2381C) | 索尼DepthSense(如IMX556) |
|---|---|---|
| 像素分辨率 | QVGA(320×240) | VGA(640×480) |
| 调制频率 | 20-80 MHz | 100-200 MHz |
| 最大测距 | 约10米 | 约5米 |
| 核心优势 | 抗环境光强,工业级稳定 | 像素高,背照式BSI工艺,灵敏度高 |
| 典型应用 | AGV避障、工业安全 | 手机人脸识别、AR/VR |
PMD的芯片我用的比较多。它的像素结构里集成了“解调二极管”,每个像素都能独立完成相位解算。嗯,这里要注意:PMD的读出噪声在弱光下会明显增大,所以室内补光很重要。
索尼的DepthSense系列,我记得第一次拿到IMX556的评估板时,被它的近红外灵敏度惊艳到了。它用了背照式工艺,进光量比传统前照式提升了近一倍。不过代价是——贵,而且索尼对出货管控很严。
3.3 dToF:直接“掐秒表”
dToF就直白多了:发射一个极短的光脉冲(皮秒级),用高精度计时器(TDC,时间数字转换器)直接测量光子往返的时间。
你想想看,这就像百米赛跑——发令枪响(发射脉冲),终点裁判按表(SPAD探测器检测到反射光子),直接读秒。
3.3.1 工作原理
- 发射短脉冲:激光器发出纳秒甚至皮秒级的光脉冲。
- SPAD探测:单光子雪崩二极管(SPAD)阵列,能检测到单个光子的到达。
- TDC计时:每个像素关联一个TDC,记录从发射到接收的时间差。
- 直方图统计:多次测量后,统计光子到达时间的直方图,峰值对应真实距离。
注意:dToF的SPAD探测器对温度极其敏感。我曾经在夏天户外测试,芯片温度从25°C升到65°C,暗计数率翻了近10倍,导致测距噪声暴增。散热设计一定要提前规划。
3.3.2 典型芯片:苹果LiDAR与STMicroelectronics
苹果从iPad Pro 2020开始搭载的LiDAR扫描仪,用的就是dToF方案。它的核心是索尼定制的SPAD阵列,配合苹果自研的扫描驱动芯片。
STMicroelectronics的VL53L系列(如VL53L5CX)则是消费级dToF的代表。我拿它做过手势识别原型,8×8的像素阵列,测距精度在±5%以内,功耗只有几十毫瓦。
3.4 iToF vs dToF:优缺点硬碰硬
| 对比维度 | iToF | dToF |
|---|---|---|
| 测距原理 | 相位差间接计算 | 直接测量飞行时间 |
| 精度 | 近距离(<5m)精度高,可达毫米级 | 远距离精度稳定,近距离受多径干扰 |
| 最大量程 | 受调制频率限制,通常<10m | 可达数十米(取决于激光功率) |
| 抗环境光 | 中等,强光下信噪比下降 | 强,SPAD可抑制背景光 |
| 多径干扰 | 严重,相位解算易受多路径影响 | 较轻,直方图可分离多径 |
| 功耗 | 中等(连续调制) | 低(脉冲工作,占空比小) |
| 像素分辨率 | 可达VGA甚至更高 | 目前主流在QVGA以下 |
| 成本 | 中等 | 较高(SPAD+TDC工艺复杂) |
我的选型建议:
- 室内、近距离、高精度场景(如人脸识别、手势控制)→ iToF
- 室外、远距离、强光场景(如AGV室外导航、无人机避障)→ dToF
- 手机/消费电子,既要小体积又要低功耗 → dToF(苹果LiDAR就是例子)
3.5 典型应用场景
3.5.1 人脸识别(iToF为主)
苹果从iPhone X开始用iToF做Face ID。为什么选iToF?因为人脸识别需要近距离(30-50cm)的毫米级深度精度,iToF正好擅长。而且iToF可以做到VGA分辨率,能捕捉人脸的三维轮廓细节。
我参与过一个安卓手机的人脸识别项目,用的就是索尼IMX556。调试时发现一个问题:人脸边缘的深度值总是跳变。后来分析是“飞行像素”现象——物体边缘的深度突变导致相位解算不稳定。解决方案是加了一个边缘滤波后处理。
3.5.2 AGV避障(iToF与dToF并存)
AGV(自动导引车)的避障场景很复杂:室内室外都可能跑,距离从几十厘米到十几米。
- 室内AGV:我推荐iToF(如PMD IRS2381C)。室内环境光可控,iToF的精度优势能发挥出来。而且PMD芯片的抗多径干扰能力在工业场景中表现不错。
- 室外AGV:dToF更合适。室外阳光直射下,iToF的信噪比会急剧下降,而dToF的SPAD天生抗强光。我见过一个港口AGV项目,用的就是dToF方案,在正午阳光下依然能稳定检测10米外的障碍物。
避坑指南:我曾经在AGV项目上踩过一个坑——把iToF装在车体正前方,结果AGV转弯时,车体自身反光造成了严重的多径干扰。后来我把传感器倾斜了15°安装,问题就解决了。安装角度对ToF的影响,比你想象的大得多。
3.6 知识体系总览
下面这张图,把iToF和dToF的完整链路串起来了。你可以把它当作选型时的“思维导图”。
3.7 本章小结
ToF技术没有的“谁更好”,只有“谁更适合”。
- iToF是精度派,适合室内、近距离、高分辨率需求。
- dToF是全能派,适合室外、远距离、强光环境。
选型时,先问自己三个问题:
- 最大测距是多少?
- 环境光有多强?
- 需要多高的分辨率?
答案自然就有了。