1. ToF技术概览:从飞行时间到深度图,原理、分类与行业应用全景
大家好,我是老张。做ToF传感器这块有些年头了。今天咱们聊聊ToF技术——说白了,就是让光飞一会儿,然后算出距离。
你可能会问:光速那么快,怎么测?嗯,这正是ToF的核心魅力所在。
1.1 飞行时间原理:光速就是我们的尺子
ToF的全称是Time of Flight,飞行时间。原理其实很简单:
- 发射器发出一束调制光(通常是红外激光或LED)
- 光打到目标物体表面,反射回来
- 传感器接收反射光,测量发射到接收的时间差Δt
- 距离 d = c × Δt / 2(c是光速,除以2是因为光走了个来回)
我在项目中遇到过不少新手,上来就问:光速3×10⁸ m/s,测个几米距离,时间差才几十纳秒,这怎么测?
确实,直接测飞行时间对电路要求极高。所以业界想了个巧妙的办法——不直接测时间,而是测相位差。
核心公式:
d = (c × φ) / (4π × f_mod)
其中φ是发射信号与接收信号的相位差,f_mod是调制频率。
举个例子:调制频率20MHz,测到相位差90°,那距离就是:
d = (3×10⁸ × π/2) / (4π × 20×10⁶)
= 1.875 米
你看,把纳秒级的时间测量,转化成了更容易实现的相位测量。这就是工程思维的魅力。
1.2 ToF传感器的两大流派
做ToF这么多年,我接触过两大类方案。它们各有千秋,选型时得看具体场景。
| 类型 | 原理 | 优点 | 缺点 | 典型应用 |
|---|---|---|---|---|
| 直接ToF (dToF) | 直接测量光子飞行时间 | 精度高、抗多径干扰强 | 成本高、像素分辨率低 | 激光雷达、手机后置3D |
| 间接ToF (iToF) | 通过相位差间接计算 | 分辨率高、成本低 | 易受环境光干扰 | 人脸识别、手势控制 |
我个人习惯是:做消费电子选iToF,性价比高;做工业测量或自动驾驶,老老实实上dToF。
避坑指南:我曾经在一个扫地机器人项目里,为了省成本选了低端iToF模组。结果在阳光直射的窗边,深度图直接炸了——环境光太强,相位解调全乱套。后来换了带环境光抑制的dToF方案,才算搞定。
1.3 从原始数据到深度图:中间经历了什么?
传感器输出的原始数据,可不是一张漂亮的深度图。你想想看,它拿到的只是一堆电荷量——每个像素对应4个(或更多)相位采样值。
以最常见的4相位采样为例:
// 伪代码:从4个相位值计算深度
Q1 = 相位0°时的电荷量
Q2 = 相位90°时的电荷量
Q3 = 相位180°时的电荷量
Q4 = 相位270°时的电荷量
// 计算相位差
I = Q1 - Q3
Q = Q2 - Q4
phase = atan2(Q, I)
// 计算距离
distance = (c * phase) / (4 * PI * f_mod)
嗯,这里要注意:atan2出来的相位值范围是[-π, π],对应距离有最大不模糊距离。超过这个范围,就会发生相位卷绕——说白了就是距离跳变。
常见坑:相位卷绕是新手最容易忽略的问题。我见过有人拿着深度图,看到远处物体突然从10米跳到0.5米,以为是算法bug,其实是调制频率太低,最大不模糊距离只有5米。
1.4 行业应用全景:ToF到底能干啥?
做了这么多年,我眼看着ToF从实验室走向千家万户。现在它的应用场景,比你想象的广得多。
- 手机3D感知:人脸解锁、AR表情、背景虚化。iPhone从iPhone X开始就用dToF了,安卓这边iToF居多。
- 自动驾驶:激光雷达就是dToF的典型应用。L4级以上自动驾驶,激光雷达是标配。
- 工业自动化:物流分拣、体积测量、机器人避障。我在工厂里见过用ToF做AGV导航的,精度能到毫米级。
- 医疗健康:体态监测、跌倒检测、呼吸监测。疫情期间,ToF还被用来做无接触体温筛查——虽然测的是距离,但结合热成像就能定位额头位置。
- 智能家居:手势控制灯光、人走自动关空调。说白了就是让家电长眼睛。
你可能会问:ToF和结构光、双目视觉比,优势在哪?
我的经验是:结构光在室内近距离精度极高,但一到室外就废了;双目视觉成本低,但纹理弱的地方直接歇菜。ToF呢?室内室外都能用,弱光环境也不怕,就是功耗和成本稍微高一点。
1.5 本章知识体系
下面这张图,是我自己梳理的ToF技术全景。你把它存下来,后面学滤波和增强算法时,随时回来对照。
这张图把ToF技术的核心脉络串起来了。从原理到分类,再到数据处理和行业应用,每个环节都有它的坑和门道。后面几章,我们会逐个深入。
我的建议:初学者别急着看算法细节。先把这张图印在脑子里,搞清楚ToF的物理限制在哪——比如最大不模糊距离、环境光影响、多径干扰。这些底层约束,决定了你后面选滤波算法时的取舍。
好了,第一章就聊到这。ToF的世界很大,我们慢慢走。
公众号:蓝海资料掘金营,微信deep3321