您当前的位置: 首页 > 

一文详解TOF技术

发布时间:2021-03-05 07:00:00 ,浏览量:1

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

一. 光速的测定

诚如你在飞秒摄影介绍中所看到的,TOF技术是将时间维度的信息转换为空间维度信息的方法,其本质原理是我们在小学时就学过这样的公式: 距离 = 速度 * 时间

所以只要测定出光的运动时间,就能测出其飞行距离。

自然界有很多动物天生就具备类似的能力,最典型的就是我们熟知的蝙蝠和海豚。它们都能够通过发出特定频率的声波并捕捉回声,进而判断前方物体的距离。

这些动物利用的是声速,而对于我们摄影学所要用到的光速,就不得不提到人类测定光速的历史。

伽利略是17世纪初第一个尝试测量光速的人。1638年,伽利略和一名助手各自站在不同的山顶上,他们之间的距离是已知的,计划是让伽利略打开一盏灯的快门,然后让他的助手一看到伽利略的光就打开灯的快门。

伽利略计划用山顶和他的脉搏之间的距离作为计时器来测量光速。他和他的助手用不同的距离尝试了这一方法,但无论他们相距多远,他都无法测量出光行驶的时间长短。很显然,他的实验失败了,正如伽利略得出的结论所说,光速实在是太快了:

I have not been able to ascertain with certainty whether the appearance of the opposite light was instantaneous or not; but if not instantaneous it is extraordinarily rapid – I should call it momentary

真正成果的测定光速的实验是1849年由法国物理学家Hippolyte Fizeau完成的,他的实验很精巧:系统由脉冲光源和8.63公里外的反射镜,以及光源前的可调速齿轮组成。Fizeau仔细调整齿轮的转速,直到穿过齿轮的光被反射镜反射回来的光刚好被下一个齿片所挡住。根据齿轮的转速,以及光源/观察者和反射镜之间的已知距离,就可以求得光速,见下面图片的示意。虽然这个结果还不是很准确,但却是人类测定光速的一大步。

二. 各种TOF技术 直接脉冲TOF

我们现在已经知道了,光在真空中的速度是299792458米/秒。利用这个信息,以及光飞行的时间,就可以求出光源和目标之间的距离。1968年,Walter Koechner展示了如何利用大功率注入激光二极管来进行距离探测。

他的系统直接利用发射光脉冲和接收到的光脉冲之间的时延来计算距离

基于这种原理的TOF成像设备在很多地方得到了应用,比较出名的就是Google的自动驾驶汽车项目上的车载激光雷达。

然而,由于需要精确的测量飞行时间,发射脉冲必须在非常短的时间(皮秒级),因此激光脉冲光源必须具有很高的功率(百万焦耳级)。而相应的,传感器也必须具有超高的时间分辨率(皮秒级)和很高的动态范围。这显然使得Koechner的系统非常昂贵。看他的简历,1965年,他加入新泽西州蒙茅斯堡的美国陆军电子司令部,担任研究物理学家。我想正是如此他才拥有很多资源去研究如此昂贵的系统吧。

在直接脉冲TOF这条道路上,技术也是在不断的发展的,比如苹果在最新的iPad Pro上所加载的dTOF系统,就利用了单光子雪崩二极管的特性,使得用非常低的功耗就可以实现对距离的精确测定。关于这一点,我会在后面单开一篇文章介绍,这里就先结束对直接测量光飞行时间的系统的介绍,转往下一站:间接测量法。

脉冲间接TOF

在wikipedia上你可以查到另外一种间接利用脉冲光源的方法

如上图所示,光源发出固定频率的脉冲,传感器捕捉到目标反射回来的光。与此同时控制传感器开始曝光。由于传输的时延,会导致传感器中真正接收到的光子量只有q1这一部分,q2这一部分由于关闭曝光没有接收到。如果有方法能够接收到q2这一部分的光子量,那么就可以计算出返回的脉冲相对于发射的脉冲的时延,进而知道光运动的距离。

如果已知脉冲的发射时间是t,那么可以用  得到这个延时,那么距离d就好求了:

那么获得  和  呢?下面是一个示意图。你可以看到,一个像素使用两个开关(G1和G2)和两个存储元件(S1和S2)。开关由与光脉冲具有相同时长的脉冲控制,其中开关G2的控制信号被精确控制,使得刚好延迟了1个脉冲宽度。这样在S1中仅通过G1对光电信号的一部分进行采样,而将另一部分存储在S2中。根据距离的不同,S1和S2之间的比率会发生变化,如图所示。单个光脉冲导致的S1和S2的差异很微弱,但当多个发射-接收的信号积累起来后,就可以得到显著的结果。这也就对应了上面公式中的  和  。

下图是距离和信号S1、S2的关系:

连续波调制TOF(Continous Wave TOF)

上面的利用脉冲光的方法原理相对简单,但由于每个脉冲的进光量很少,需要积分很多周期才能得到较好的信噪比。所以时间分辨率较低,总体精度也较低。

另外一种间接TOF的方法则是采用了连续的正弦或余弦波对信号进行调制,利用发射光和接受光之间的相位差来计算出光的飞行时间,从而得到光源和目标之间的距离。

我们的目标是计算相位差  ,偏差  以及幅度 

这里面有三个未知数,你可能觉得最直接的方法是在接收端进行三次采样来求解:

这又会遇到信噪比很低的问题,而且对传感器的采样速度要求很高,所以实际上非常难以实现。

更好的方式是计算接收光L和传感器曝光函数E之间的互相关值I,从中计算出我们需要的值,这里要注意的是在曝光函数的作用下,这个互相关值恰好是传感器的实际信号强度。

经过3次不同时间的曝光,得到三个互相关值,从而可以求解从我们所需的三个值,尤其是相位差,它恰好对应着最终需要的深度值。

除了这种计算方法,也可以采用发射信号与接收信号之间的互相关信号来完成相位差的计算,比如定义:

发射信号: 

接收信号: 

那么两者的互相关信号: 

这里需要注意的是互相关是通过积分来完成的,所以一样可以有较高的信噪比。接下来就可以在  上进行采样了,设定4个采样点:

那么很容易根据三角公式得到:

三. TOF技术的应用

TOF技术自出现以来就被应用到许许多多领域,限于篇幅,这里只举几个。

我们最熟知的,应该就是深度感知了。在自动驾驶领域,它被用在车载激光雷达上

在消费娱乐领域,则有经典的微软Kinect:

在计算摄影的一个领域非视线成像(Non-line of sight imaging),TOF也有广泛的应用:

对遮挡住的隐藏物体成像:

观察云团内部场景:

以后我会对非视线成像(Non-line of sight imaging)做更多深入的介绍,这里就先按下不表了。

四. 总结

今天我们从光速的测定开始讲起,看到了人类在测定光速方面的重要里程碑。接下来介绍了利用光的飞行时间的TOF成像设备的几种类型:直接脉冲型,间接测定相位差的脉冲型和连续波调制型。这些设备各自有各自的优缺点和适用领域,而且还面临着一些共同的需要解决的问题。

那么到底TOF系统在真实世界使用的时候需要面对哪些问题呢?这就是我下一篇文章会专门介绍的内容。

希望今天这篇文章能让你对TOF技术有了基础的了解,感谢你读到了这里,别忘了按赞分享????

五. 参考资料

1. CMU 2017 Fall Computational Photography Course 15-463, Lecture 24

2. 几篇关于光速测定的文章:

  • https://lco.global/spacebook/light/speed-light/

  • https://www.aps.org/publications/apsnews/201007/physicshistory.cfm

  • Fizeau的实验:https://en.wikipedia.org/wiki/Fizeau%E2%80%93Foucault_apparatus

3. Achuta Kadambi:Time of Flight Revolution tutorial on ICCV 2015

4. Wikipedia上关于TOF的介绍:https://en.wikipedia.org/wiki/Time-of-flight_camera

5. Gupta et al., “Phasor imaging: A generalization of correlation-based time-of-flight imaging,” TOG 2015.

这里我用了大量Gupta教授的PPT的内容

6. Walter Koechner, "Optical Range System Employing a High Power Injection Laser Diode", 1968

7. Jarabo et al., “Recent Advances in Transient Imaging: A Computer Graphics and Vision Perspective,” Visual Informatics 2017

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

关注
打赏
1688896170
查看更多评论

暂无认证

  • 1浏览

    0关注

    109966博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1656s