玩转3D视界:3D机器视觉及其应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 ToF相机

2.2节和2.3节分别介绍了双目相机和结构光相机,本节主要介绍飞行时间(Time-of-Flight,ToF)相机。ToF作为除结构光法外的另一种主动测距方法,在当前和未来的3D测距领域都有着举足轻重的地位。其通过连续向目标发送光脉冲,用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。在测距原理上,其与3D激光传感器非常相似,但是3D激光传感器是逐点扫描,而ToF相机可同时得到整幅图像的距离信息。ToF相机可以直接用于3D结构的估计,解决传统计算机视觉算法计算量过于庞大的难题。简单、方便的特性使ToF相机成为机器人导航、3D重建等领域的“新宠”。

2.4.1 ToF相机的发展历程和分类

1676年,奥勒·罗默首次测定光速,证明光的传播非常快且速度是有限、可测的;1983年,国际单位制(SI)中的米被重新定义为1/299792458秒内光在真空中传播的距离,此时,光速在“m/s”的单位下已经成为固定的精确值。在光速可测的基础上,ToF相机就可以利用光的飞行时间对距离进行测量。

ToF相机可以根据测距脉冲分为两大类,一类是基于光学快门的脉冲(Pulse)调制方法进行测距的P-ToF;另一类是基于连续波(Continuous Wave)调制测距的CW-ToF,根据调制方式还分为三个子类,分别是基于调幅连续波(Amplitude Modulation Continuous Wave)的AMCW-ToF、基于调频连续波(Frequency Modulation Continuous Wave)的FMCW-ToF和基于门信号(Gate Image)的GI-ToF。目前市面上已有的ToF相机大部分是AMCW-ToF,有一些是P-ToF。除了根据测距脉冲进行分类,还可以根据在测量计算距离时是直接获取时间差和相位差还是间接采样后计算时间差和相位差,分为直接(Direct)方法的ToF(D-ToF)和间接(Indirect)方法的ToF(I-ToF)。ToF相机原理的分类如图2.4-1所示,在2.4.2节中我们着重讲解脉冲波调制的直接方法和连续波调制的间接方法,之后大家可以再回来理解这张图。

图2.4-1 ToF相机原理的分类[7]

注:在间接方法的脉冲调制中,C表示阴影面积;在间接方法的连续波调制中,C表示接收信号的相位值,C1为起始相位。

根据感光芯片的像素数量,还可以将ToF相机分为单点和面阵两类,单点ToF相机需要逐点扫描从而探测物体3D信息,面阵ToF相机通过拍摄一张场景图即可获得整个表面的3D信息。面阵ToF相机明显具有更多的优点,不论是工业市场还是消费市场都更青睐面阵ToF相机,但面阵式技术研发难度也更大,所以在ToF发展史上,最先也是单点式的发展,之后面阵式才慢慢成熟。

2.4.2 ToF相机原理

ToF相机的关键组成单元包括滤光片、镜头、主动光源、感光芯片与驱动控制电路等,SmartToF相机结构如图2.4-2所示。

图2.4-2 SmartToF相机结构

2.4.2.1 ToF测距原理

通过前面的学习,我们已经了解到ToF相机采用的是主动光探测方式,利用入射光信号与反射光信号的变化来进行距离的测量。在2.4.1节中提到,有三种连续波调制方式,其对应的时域和频域的波形如图2.4-3所示,虽然AMCW会受多径干涉影响而产生误差,但是由于AMCW相比于另外两种方式,所需的数据传输速率低很多,这一特性对于ToF相机的高帧率和高分辨率非常重要,所以目前最常用的连续波调制方法为AMCW,接下来本节重点介绍AMCW-ToF。

图2.4-3 三种连续波调制的时域和频域波形

P-ToF和调制信号为方波信号的AMCW-ToF的测距原理如图2.4-4所示。

图2.4-4 P-ToF和调制信号为方波信号的AMCW-ToF的测距原理

P-ToF的原理非常简单,P-ToF的P由Pusle(脉冲)得名,顾名思义,只需记录发射光脉冲的时间和接收光脉冲的时间,利用时间差和光速就可以得到距离:

其中,c是光速,Δt是时间差。虽然P-ToF计算距离的方法非常简单,但是想要达到较高的精度,对硬件有非常严苛的要求,如发射器和接收器时钟的高度同步,快门产生脉冲的高精度、高重复性。

除了图2.4-4中右边所示的方波信号,AMCW-ToF也可以利用正弦波,如图2.4-5所示。

图2.4-5 调制信号为正弦波的AMCW-ToF的测距原理

AMCW-ToF利用发射光信号与反射光信号的相位变化进行距离的测量,每次测量采集多个样本,一般选择四个样本,每个样本相差90°,AMCW-ToF两种调制信号的采样和测距原理如图2.4-6所示,第一个信号都是发射波形,第二个信号都是反射波形,C1C2C3C4是四次采样对应的窗口。有时也选择三次或五次采样,因为奇数采样窗口在奇次谐波的抑制方面有一定优势,但目前主流方法是四次采样。由于方波信号更容易通过数字电路来实现,所以方波是AMCW-ToF更为常见的调制信号,下面主要对方波的原理进行讲解,Q1Q2Q3Q4是方波的采样窗口接收到的信号值[9]

图2.4-6 AMCW-ToF两种调制信号的采样和测距原理

相位差可以利用四次采样Q值计算得到:

然后利用相位差φ计算距离:

这种方法除了能够测量距离,还能够通过公式(2.4.4)和公式(2.4.5)计算像素的亮度与信号的偏移,亮度的求解比图2.4-6中的正弦信号的调制更容易理解,反射信号的幅值A对应得到的强度图,强度偏移B反映了环境光。

根据光电转换原理,接收的光子过多就会饱和,所以当环境光太强(B太大)或者积分(曝光)时间太长时,会导致进光量太多,经过ToF传感器芯片光电转换后电子太多,超过电容阈值,则无法测量出真实值,不能计算距离,出现过曝(或饱和)现象。

测量结果深度值的方差可以利用亮度和偏移进行估计,同时与调制频率f和传感器分离和收集光电信号的能力常数gd有关,方差计算方法如下:

由于调制频率f在分母上,所以调制频率越高,测量深度值的方差越小,也就是噪声越低,因此提高调制频率是提高ToF测量精度的一种技术手段。目前,ToF相机的最大量程约为8m,主要受激光功率的限制和测距方式的影响。连续波测量基于相位,每2π重复一次,意味着远距离处会产生锯齿,从而变得模糊,所以最大观测距离会变小,所以我们要想增大观测距离,就需要选择较小的调制频率。具体计算公式如下:

例如,我们将波长约为15m的信号作为测距光源时,ToF相机的量程为7.5m左右。在改变调制频率时,需要对测量精度与量程进行权衡。

由于基于Gate Image的ToF与AMCW-ToF较为相似,也容易理解,所以我们给出一个简单的公式来进行讲解。基于门信号(Gate Image)的ToF的采样和测距原理如图2.4-7所示。

图2.4-7 基于门信号(Gate Image)的ToF的采样和测距原理

距离计算公式:

2.4.2.2 ToF像素电路与控制

测距原理在2.4.2.1节已经讲解完毕,那到底是通过什么芯片和电路实现的呢?接下来我们主要对ToF的硬件进行简单介绍,并对ToF测距流程做整体的概念性介绍。首先,如图2.4-8所示是简化的ToF相机结构示意图[8]

图2.4-8 简化的ToF相机结构示意图

通过传感器的控制器打开信号光源,发出的光源经过散光器后成为一束面光源,同时高精度时钟开始工作,发射信号遇到被测物体后被反射,包含滤光片的一组由透镜组成的镜头接收反射光,然后像素芯片根据时间差计算距离信息。具体如何得到计算距离所需的时间差呢?如图2.4-9所示,电流辅助光电解调器(Current Assisted Photonic Demodulators,CPAD)的像素架构能够对像素中的漂移电流进行高速调制,从而提高检测光信号的精度,能够提高ToF相机测量远距离场景的精度。

图2.4-9 单个像素CPAD电路

基于ToF的成像过程分为4步:复位过程(Reset)、采集(积分)过程(Integration)、读取过程(Readout)和死区(Deadtime),我们对应图2.4-9一一进行讲解,读者也要结合之前的测距计算公式进行理解。

复位过程:通过图2.4-9中的Rst开关进行控制,在开始测量之前,将Rst开关闭合,让电容CACB充电,充满后断开Rst。

采集过程:DMIX0和DMIX1是由解调模块控制的开关,当DMIX0开关闭合且感光元器件接收到光子时,电容会放电来中和感光元器件放出的电子,如果接收到的光子太多,转换了过多的电子,电容已经放电完毕但还未完成中和,就会出现饱和现象,这种问题是进光量太多引起的,所以也称为过曝现象。

读取过程:当停止采集后,打开DMIX0开关,读取电容上的电压。

死区:在给定帧率和积分时间后,还有部分时间剩余,此时会停止发射光源。

已经有了一个开关DMIX0,那DMIX1有什么作用呢?实际上,当使用非直接测量方式时,ToF测距需要在一个周期内多次采集信号才能计算出相位差或时间差,然后计算距离。当有DMIX0和DMIX1两个窗口时,其中一个窗口与发射光相位一致,另一个是反向相位,即相位差为180°;当有四个窗口时,相位差为90°,具体测距原理参见公式(2.4.2)和公式(2.4.3)给出。在公式(2.4.8)中,Q1Q2就是利用图2.4-9中DMIX0和DMIX1两个相位相反的开关进行测量的。

P-ToF和AMCW-ToF各有优缺点,P-ToF不用计算振幅和环境光,测量方法比较简单,相应的相机帧率也可以达到比较高的水平,但正因为没有计算环境光,所以不能消除环境光对测量的影响,精度也比较低;AMCW-ToF可以计算出环境光,而且在计算相位的过程中利用多次采样的差值计算(Q1-Q3)和(Q2-Q4),可以减掉相同的部分,所以能够消除由环境光、复位电压等引起的固定偏差,还可以估算测量结果的精确度(方差)。但是AMCW-ToF需要多次采样,比P-ToF耗费的时间多,所以在一定程度上限制了相机的帧率,不过,目前也能够达到60fps以上,完全满足现有的需求。P-ToF与AMCW-ToF的对比如表2-1所示。

表2-1 P-ToF与AMCW-ToF的对比

ToF相机与普通相机的区别在于,其需要收集特定波长的光线,即只有相机LED主动发射的特定波长的光才能进入,其他波长的环境光不能进入,这要求在镜头上加一个带通滤光片。ToF像素芯片的制作工艺较为复杂,一个主要原因是AMCW-ToF需要用两个以上的快门采集不同时间的反射光,然后利用多次的采样结果计算出相位差以实现测距功能。复杂的工艺导致在相同成本的产品中,其深度图分辨率比较低,目前最高分辨率只能达到VGA(640×480)。

2.4.3 ToF的标定与补偿

双目相机的两个相机是普通的RGB相机,无须对镜头内部做特殊的标定和补偿,只需要进行双目标定即可;结构光技术已经比较成熟,有固定的标定补偿流程供研究人员和用户参考;ToF相机作为新兴的3D相机,因其测距方式的不同,需要进行一些特殊的标定与补偿。虽然这些标定与补偿都是在相机出厂前进行的,但学习相关内容可以帮助我们更深入地理解ToF的测距原理。

由于AMCW-ToF是目前主流的ToF相机,所以下面我们主要介绍基于AMCW-ToF相机的标定与补偿。理想(无误差)的ToF相机测距流程设计如图2.4-10所示。

图2.4-10 理想(无误差)的ToF相机测距流程设计

可以根据相关采样的结果计算出距离和幅度(强度),同时会测量和记录一些与环境和芯片相关的数据,包括环境光、芯片温度、积分时间、光源的调制频率等,然后输出理想的深度数据。

但现实与理想总是有差距的,实际上,各环节都可能会受噪声的影响。CCD (Charge Coupled Device,电荷耦合器件)成像仪是由2D的感光探测器或像素阵列组成的。CCD阵列在机械上相当稳定,像素保持着严格固定的几何关系。然而,阵列中的每个像素都有其独特的光敏感特性,我们称产生的误差为平场误差(Flat-field Error);在制作工艺方面,每个像素的噪声模式不完全相同;在解调算法方面,由于环境中存在多次发射的波形,所以在解调时会受四阶谐波的影响。这些误差都会严重影响ToF的测量精度,所以需要通过补偿和校准来消除它们。我们通过测量得到的芯片温度、环境光等就是为了补偿校准而准备的数据。

补偿和校准后的ToF相机设计示意图如图2.4-11所示。其中,理论和测量数据部分我们之前已做过讲解,那么误差源具体有哪些呢?如图2.4-11所示,误差源包含了温度影响、环境光干扰、物体反射、像素非线性、调制解调失真、固定相位噪声及系统时钟误差,每种误差源都有对应的补偿方法。

图2.4-11 补偿和校准后的ToF相机设计示意图

我们先来了解一下几种常见的补偿方法,每家制作ToF相机的公司所用的芯片都不同,噪声源也不完全一样,所以进行补偿校准的内容和方法也不完全一样,但温度补偿、环境光补偿、反射率补偿和线性度补偿都是普遍需要做的。温度补偿一般是线性的,利用多组不同温度下的测试数据,可以得到不同温度需要的补偿数据;根据芯片的不同,反射率补偿和环境光补偿使用的方法也不同,本书不做详细介绍;线性度补偿是针对像素非线性、调制解调失真和固定相位噪声综合失真所进行的补偿,也是最重要的一步,下面我们介绍一种通用方法。

线性度补偿也可以看作曲线拟合,即将从芯片中得到的距离数值转换为真实距离的拟合函数。通常会用线性函数拟合,设为y=ax+b,但为了得到更精确的测距结果,我们也会选择二次函数和分段函数进行拟合。图2.4-12是线性度失真原理图和物理校准过程示意图,通过采集的一系列真实距离和从芯片中获得的距离,拟合出对应关系。

图2.4-12 线性度失真原理图和物理校准过程示意图

线性度失真主要有四个来源,分别是调制信号失真、解调信号失真、像素非线性失真和固定相位噪声。其中,调制解调信号失真与测距原理有关,多个正弦波的叠加会产生干扰,使得测量不准确,从而导致相位差计算不准确,测距误差大。但随着调制频率的升高,这种失真逐渐减小,所以当发射光信号和接收光信号调制频率较高(如60M)时,一般不考虑这两种失真的影响。像素非线性失真实际上是每个像素的线性拟合中的斜率系数a,固定相位噪声可以理解为线性拟合函数中的b。读者需要了解的是,需要对每个像素都进行一次线性度补偿,所以我们需要考虑算法的复杂度和标定距离的间隔大小,也就是说,不能一味追求精度而进行二次分段函数的拟合。

通过补偿和校准操作,ToF相机的测量误差将明显降低,表2-2给出了某ToF相机校准前后的对比。

表2-2 某ToF相机校准前后的对比

由于ToF相机不需要像双目相机一样进行匹配,也不需要像结构光相机一样进行编码,所以ToF相机的计算相对简单,帧率能够达到上百fps。在测距范围和精度方面,ToF表现非常均衡,解决了结构光相机远距离受限和双目相机近距离精度不足的问题,具有明显的优势。同时,ToF相机作为一种采用主动测距方式的3D相机,在昏暗环境中也能正常工作,而且由于光源是经过高频调制的,其在强光环境下的抗光干扰表现也非常优异。结构光相机对于运动物体的拍摄不够理想,而ToF相机可以提供运动模式(具体参考2.5.1节),可以减少运动模糊,在行人检测、动态手势识别等应用中更加合适。

但ToF相机也存在一些限制,由于其采用主动测距方式,当遇到强反光的物体时,会因为饱和现象不能正常工作。受限于芯片的制作工艺,目前的分辨率只有VGA(640×480)。