zoukankan      html  css  js  c++  java
  • 一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level

     

    一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level

    转载请附上出处,本文链接:https://www.cnblogs.com/pans0ul/p/9747441.html 

    转载请附上出处,本文链接(新):https://my.oschina.net/u/4037487/blog/2996798 

    TOF介绍

    TOF, time of flight ,直译过来就是飞行时间。顾名思义,即,测量光在空间中飞行的时间,通过换算成距离,就可以测得摄像头与物体的距离。通常,TOF摄像头组成有一个发射模块,一个接收模块。发射模块可以是LED、激光等发射元件,它将发射例如850nm的调制红外光,物体经过反射后,由接收模块接收到反射的红外光。由于发射和接收的都是调制波,TOF摄像头可以计算发射和接收的相位差,通过换算得到深度值,即摄像头与物体的深度距离。

    TOF-单点测距原理

    一个简易的单点TOF系统组成如下图:


     

    它由一个发射二极管、接收二极管、调制模块,解调模块、处理器几部分组成。调制模块负责调制发射的红外调制波,通过发射二极管将信号发射出去;解调模块负责对接受二极管接收到的反射红外波解调;处理器中包含ADC和数据处理,ADC是为了将模拟信号转化为数字信号,具体是什么模拟信号下文将会详细讲述;数据处理为了将测得的相位差换算成深度信息。

     

    TOF-多点测距原理

    目前,一个完整的TOF系统组成如下图:


    它和传统RGB摄像头的组成结构基本相似。

    它与点单的TOF系统比较区别在于,测量范围不是一个点,它是一个面,因此,接收模块变成了点阵的光敏传感器,通常使用的是CMOS传感器;在传感器前面、和发射二极管前面多了光学镜片,一个是为了红外波的辐射范围、一个是为了滤除850nm以外的光线,就是说,要保证进入传感器的光线只是850nm的,这样才能保证测量的准确度。

    因为相位差即代表物体的与摄像头的距离,即深度,由于每个点的相位差不同,所以才能组成有关物体整幅深度图像。

     

    TOF传感器工作原理

    目前,TOF传感器工作原理中主要有两种,基于脉冲波(paulse base)的技术原理、基于连

    续调制波(CW)的技术原理。

     

    在这之前,需要知道解调模块是如何工作的,如何读取感光传感器上面的电荷量。以单点像素的读取测量为例:


     

    整个读取测量过程主要分为4个步骤:


    分别是,Reset;Integration;Readout;Deadtime

    Reset:在上图中看到,Rst开关,在测量电荷量之前,需要将Rst开关闭合,让电容CACB充电,充好点之后断开。

    IntegrationIntegration period ,DMIX0DMIX1是由解调模块控制的开关,什么时候开关,与调制和解调的频率有关。当光子被感光元件(蓝色圆圈箭头)接收时,并且当DMIX0闭合时,这时候,充好电的电容CA就会和感光元件释放出来的电子中和,电容CA放电,直到中和完毕,最后得到的电容电平代表着接受光子数量和时间的电平。

    Readout中和完毕之后,Address Decode 开关打开,读取电容上的电平。

    Deadtime死区时间

     

    从以上四个环节来看,Integration Time 是最重要的。

    关于,为什么还会有DMIX1,下面将会解释到。

    基于脉冲波(paulse base)的技术原理

    发射模块发射矩形脉冲波,物体发射后具有相位差的脉冲波,测量相位差的方法如下图:


     

     

    发射脉冲可以设定一个频率f,并且开启两个反向的窗口,DMIX0DMIX1用来接收光子的数量, 一个窗口的频率和相位是与发射脉冲是一致的,另外一个是与DMIX1反向,并且相位差为180

    在两个窗口打开的时候,也就是高电平的时候,并且这时候存在物体反射过来的脉冲波,这时候两个不同窗口在各自的时间内收集电荷。在图上已经用红色上色表示。假设DMIX0收集到的电荷量为Q0DMIX1收集到的电荷量为Q1Q0Q1相加的这部分就是有反射脉冲时间内收集的电荷量。

    td表示相位差存在的时间,为了计算td,可以通过计算Q1在反射脉冲所占的时间,为了计算Q1这部分的时间,我们可以读取DMIX0DMIX1窗口上的电平,也就是Q0Q1Q1的比值,再乘上发射电平高电平的时间。因此,可以通过式子计算相位差d


    注:以上的整个过程称为IntegrationTime

     

    基于连续调制波(CW)的技术原理

    连续调制波在脉冲波的基础上而来,连续调制波通常是连续正弦波调制,与脉冲不同的是,连续调制波开启了4个窗口分别是C1-C4.如下图所示。

     

     


    由于连续调制波通常是连续正弦波调制,可以将调制波看成是正弦波如下图所示。

     

     


     

    连续正弦波调制测量方法,推导过程如下。序号1-9对应下图的公式1-8

    1.        假设发射的正弦信号s(t)振幅是a,调制频率是f

    2.        经过时延 t后接收到的信号为接收r(t),衰减后的振幅为A,强度偏移(由环境光引起)为B

    3.        四个采样时间间隔相等,均为T/4

    4.        根据上述采样时间可以列出四个方程组

    5.        从而可以计算出发射和接收的正弦信号的相位偏移φ

    6.        据此可以根据(6)中公式计算物体和深度相机的距离d

    7.        接收信号的衰减后的振幅A的计算结果

    8.        接收信号强度偏移B的计算结果,反映了环境光

     

     


    更加详细的推导过程如下:

     


    其实两种基于不同原理的计算相位的方法差不多,连续调制波相对复杂。关于如何推到,更多的是数学的部分,最后计算d公式中,其实表示的含义是一样的,只是符号不同罢了。

     

    两种基于不同测量方法的优缺点分析

    基于脉冲波(paulse base)的技术原理

    优点:

    1.         因为不用计算振幅和环境光,测量方法简单,响应较快,可以提高相机的帧率

    2.  由于脉冲占空比在整个周期中比CW方法要窄很多,所以在理论上设计可以检测更远的距离

    缺点:

    1.         由于没有抵消环境光对测量的影响,所以将会受到环境光的影响。但是可以通过开设一个接收环境光分量的窗口弥补。

    2.         相对于CW的方案,测量精度较低,但也不会低到离谱

     

    基于连续调制波(CW)的技术原理

    优点:

    1.         相位偏移(公式5)中的(r2-r0)(r1-r3)相对于脉冲调试法消除了由于测量器件或者环境光引起的固定偏差。连续调制波使用多个测量窗口,(Q 3 -Q 4 )(Q 1 -Q 2 )可以减掉测量中的共同成分(复位电压,环境光,电容增益等)及其中的偏差。

    2.         可以根据接收信号的振幅A和强度偏移B来间接的估算深度测量结果的精确程度(方差)。

    3.         不要求光源必须是短时高强度脉冲,可以采用不同类型的光源,运用不同的调制方法

    缺点:

    1.         需要多次采样,测量时间较长,限制了相机的帧率

    2.         因为采集和计算量大,导致在相同成本的产品中,深度分辨率降低

     

    参考文献:

    1. https://blog.csdn.net/electech6/article/details/78349107

    2. TI documents: http://www.ti.com/sensors/specialty-sensors/time-of-flight/overview.html#design

     

    欢迎评论留言,如有不足,请斧正。

     

  • 相关阅读:
    ProjectEuler 13
    ProjectEuler 8
    ProjectEuler 5
    ProjectEuler 6
    ProjectEuler 7
    ProjectEuler 9
    日程管理系统维护改善1
    日程管理系统改错
    android作业Text
    四则运算
  • 原文地址:https://www.cnblogs.com/pans0ul/p/9747441.html
Copyright © 2011-2022 走看看