深度相机(TOF)的工作原理

深度相机(TOF)的工作原理文章目录深度相机(TOF)的工作原理TOF由什么组成?一、TOF相机采用主动光探测,通常包括以下几个部分:二、TOF是如何测距的呢?三、TOF会受什么影响?四、那TOF相机最后输出的是什么呢?深度相机(TOF)的工作原理TOF(Timeofflight)直译为“飞行时间”。其测距原理是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度(

大家好,又见面了,我是你们的朋友全栈君。

深度相机(TOF)的工作原理

TOF(Time of flight)直译为“飞行时间”。其测距原理是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度(距离)信息。
深度相机(TOF)的工作原理

TOF由什么组成?

一、TOF相机采用主动光探测,通常包括以下几个部分:

1、照射单元

照射单元需要对光源进行脉冲调制之后再进行发射,调制的光脉冲频率可以高达100MHz。因此,在图像拍摄过程中,光源会打开和关闭几千次。各个光脉冲只有几纳秒的时长。相机的曝光时间参数决定了每次成像的脉冲数。

要实现精确测量,必须精确地控制光脉冲,使其具有完全相同的持续时间、上升时间和下降时间。因为即使很小的只是一纳秒的偏差即可产生高达15 c m的距离测量误差。

如此高的调制频率和精度只有采用精良的LED或激光二极管才能实现。

一般照射光源都是采用人眼不可见的红外光源。

2、光学透镜

用于汇聚反射光线,在光学传感器上成像。不过与普通光学镜头不同的是这里需要加一个带通滤光片来保证只有与照明光源波长相同的光才能进入。这样做的目的是抑制非相干光源减少噪声,同时防止感光传感器因外部光线干扰而过度曝光。

3、成像传感器

TOF的相机的核心。该传感器结构与普通图像传感器类似,但比图像传感器更复杂,它包含2个或者更多快门,用来在不同时间采样反射光线。因此,TOF芯片像素比一般图像传感器像素尺寸要大得多,一般100um左右。

4、控制单元

相机的电子控制单元触发的光脉冲序列与芯片电子快门的开/闭精确同步。它对传感器电荷执行读出和转换,并将它们引导至分析单元和数据接口。

5、计算单元

计算单元可以记录精确的深度图。深度图通常是灰度图,其中的每个值代表光反射表面和相机之间的距离。为了得到更好的效果,通常会进行数据校准。

二、TOF是如何测距的呢?

照射光源一般采用方波脉冲调制,这是因为它用数字电路来实现相对容易。深度相机的每个像素都是由一个感光单元(如光电二极管)组成,它可以将入射光转换为电流,感光单元连接着多个高频转换开关(下图的G1,G2)可以把电流导入不同的可以储存电荷(下图S1,S2)的电容里。

深度相机(TOF)的工作原理
相机上的控制单元打开光源然后再关闭,发出一个光脉冲。在同一时刻,控制单元打开和关闭芯片上的电子快门。由光脉冲以这种方式产生的电荷S0存储在感光元件上。

然后,控制单元第二次打开并关闭光源。这次快门打开时间较晚,即在光源被关闭的时间点打开。现在生成的电荷S1也被存储在感光元件上。
深度相机(TOF)的工作原理
因为单个光脉冲的持续时间非常短,此过程会重复几千次,直到达到曝光时间。然后感光传感器中的值会被读出,实际距离可以根据这些值来计算。

记光的速度为c,tp为光脉冲的持续时间, S0表示较早的快门收集的电荷, S1表示延迟的快门收集的电荷,那么距离d可以由如下公式计算:
深度相机(TOF)的工作原理
最小的可测量距离是:在较早的快门期间S0中收集了所有的电荷,而在延迟的快门期间S1没有收集到电荷,即S1 = 0。代入公式会得出最小可测量距离d=0。

最大的可测量的距离是:在S1中收集了所有电荷,而在S0中根本没有收集到电荷。然后,该公式得出d= 0.5 x c × tp。因此最大可测量距离是通过光脉冲宽度来确定的。例如,tp = 50 ns,代入上式,得到最大测量距离d = 7.5m。

三、TOF会受什么影响?

1、多重反射。

距离测量要求光只反射一次。但是镜面或者一些角落会导致光线的多次反射,这会导致测量失真。如果多重反射使得光线完全偏转,则没有反射光线进入相机,从而无法正确测量反射面的距离。反之,如果其他方向的光通过镜面反射进入芯片,则可能会发生过度曝光。见下图。
深度相机(TOF)的工作原理
2、散射光

在镜头内或在镜头后面发生多余反射会出现散射光,如下图所示,散射光会导致图像褪色,对比度下降等不良影响。所以要避免在相机正前方有强烈反光的物体存在。
深度相机(TOF)的工作原理
3、环境光

前面说过,深度相机镜头上会有一个带通滤光片来保证只有与照明光源波长相同的光才能进入,这样可以抑制非相干光源提高信噪比。这种方式确实能够比较有效地过滤掉人造光源,但是,我们常见的日光几乎能够覆盖整个光谱范围,这其中包括和照明光源一样的波长,在某些情况下(如夏天的烈日)这部分光强可以达到很大,会导致感光传感器出现过度曝光。因此相机如果想在这种条件下正常工作,仍然需要额外的保护机制。

4、温度

电子元件的精度受温度的影响。所以当温度波动时会影响电子元件的性能,从而影响到脉冲调制的精度。前面说过一纳秒的脉冲偏差即可产生高达15 c m的距离测量误差,因此相机要做好散热,这样才能保证测量精度。

四、那TOF相机最后输出的是什么呢?

TOF相机内部每个像素经过上述过程都可以得到一个对应的距离,所有的像素点测量的距离就构成了一幅深度图,如下图所示。左边是原图,右边是对应的深度图。
深度相机(TOF)的工作原理
可以看到深度图其实是一张灰度图,它是一张三维的图:水平垂直坐标对应像素位置,该位置的灰度值对应的是该像素距离摄像头的距离。所以深度图中的每个像素可以表示空间中一个点的三维坐标,所以深度图中的每个像素也称为体像素(voxel)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141519.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 全国计算机考试一级与ata,ata(ata证书是计算机一级吗)

    全国计算机考试一级与ata,ata(ata证书是计算机一级吗)2021年6月20日发(作者:665)12月计算机一级模拟训练2016年12月计算机一级模拟训练一、单项选择题:1、一个汉字的内码长度为2字节,其每个字节的二进制位的值分别为.A.0,0B.1,1C.1,0D.0,12、运算器的主要功能是.A.进行算术运算B.实现逻辑运算C.实现加法运算D.进行算术运算或逻辑运算3、计算机能直接识别和执行的语言是.A.机器语言B.高级语言C.汇编语言D.数据库语言…

    2022年7月14日
  • pycharm运行记录_pycharm多行注释

    pycharm运行记录_pycharm多行注释文章目录认识poetrywindow下安装poetrypoetry的使用pycharm中配置poetry环境待补充知识点认识poetrypoetry是一个Python虚拟环境和依赖管理工具,它允许您声明项目所依赖的库,它将为您管理(安装/更新)它们,类似的还有pnm安装所需python版本python3.6+,python2.7和python3.5由于不在维护,所以尽量不要安装。window下安装poetrypowershell下安装:(Invoke-WebRequest-Urihtt

    2022年8月28日
  • 头文件string与string.h的区别_conio h是什么头文件

    头文件string与string.h的区别_conio h是什么头文件一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。  但唯独string特别。 问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比

    2022年9月12日
  • 5分钟,6行代码教你写爬虫!(python)[通俗易懂]

    5分钟,6行代码教你写爬虫!(python)[通俗易懂]5分钟,6行代码教你写会爬虫!适用人士:对数据量需求不大,简单的从网站上爬些数据。好,不浪费时间了,开始!先来个例子:输入以下代码(共6行)importrequestsfromlxmlimporthtmlurl=’https://movie.douban.com/’#需要爬数据的网址page=requests.Session().get(url)tree=html.f

    2022年6月7日
  • 用js来实现那些数据结构03(数组篇03-排序及多维数组)

    终于,这是有关于数组的最后一篇,下一篇会真真切切给大家带来数据结构在js中的实现方式。那么这篇文章还是得啰嗦一下数组的相关知识,因为数组真的太重要了!不要怀疑数组在JS中的重要性与实用性。这篇文章分为

    2022年3月25日
  • linux系统解压缩rar文件夹,linux下解压缩rar文件的办法

    linux系统解压缩rar文件夹,linux下解压缩rar文件的办法linux下如何解压缩rar文件呢?请看下面的介绍。一、系统环境1.1系统环境实验环境一:CentOSrelease5.5(Final)2.6.18-194.el5x86_64GNU/Linux实验环境二:CentOSrelease5.4(Final)2.6.18-164.el5i686GNU/Linux1.2命令查看方法:[root@oldboytools]#cat…

    2022年7月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号