用于获得对象的三维深度图像的装置和方法与流程

文档序号:15595179发布日期:2018-10-02 19:25阅读:128来源:国知局

本申请涉及图像处理领域,更具体地,涉及一种用于获得对象的三维深度图像的装置和方法。



背景技术:

随着三维电视、虚拟现实、增强显示等应用的发展,对于能够获取场景物体三维深度信息的深度图像获取装置的需求越加强烈。目前,获得对象深度信息的技术多采用以下两类技术:一种技术为立体视觉,即,通过一对立体相机或加入结构光通过三角定位的原理获取物体深度。当物体距离变远时,这类方法的深度估计精度显著下降。与此同时,物体表面的材质与反光属性,也制约着这类方法的有效性;另一类技术是基于光线飞行tof(tof:timeofflight)方法。tof方法测量光线从发射到该光线经过物体反射后被图像传感器接收所经过的时间,该时间乘以光线的飞行速度,即可以得到物体到深度传感器的距离。

在基于光线飞行tof获得对象深度的技术中,使用一个光源以序列的方式发射n次光,随后需要顺序拍摄n幅图像,并使用顺序拍摄的n幅图像来计算一帧深度图像,而这会导致深度图像的帧率降低,并且当拍摄中对象运动时会产生运动模糊和深度误差(深度图像中出现无法获取有效深度值的图像空洞)。



技术实现要素:

本发明根据现有的基于光线飞行tof获得对象深度的方法所存在的问题,提出一种用于获得对象的三维深度图像的装置和方法,所述装置和方式使用n个具有不同波长范围的光源,并使用具有特殊结构的具有滤波特性的光学调制器以及设置在图像传感器上的具有相应波长范围的滤波器阵列,通过仅仅拍摄一幅图像来计算对象的深度。通过使用具有特殊滤波特性的光学调制器和在图像传感器上使用具有相应波长范围的滤波器阵列,可以从图像传感器拍摄的一幅图像上提取出n幅对应于不同相位的图像,从而避免了需要拍摄n幅图像。因此,与现有的基于光线飞行tof获得对象深度的技术相比,可以将获取深度图像的帧率提高n倍,并且可有效地较少动态场景中因物体运动而导致的深度图像误差和运动模糊。

根据本发明的一方面,提供了一种用于获得对象的三维深度图像的装置,所述装置可包括:n个光源,被配置为产生n种不同波长的光线,其中,n是大于3的整数;光源驱动器,被配置为驱动所述n个光源向对象同时投射产生的n种不同波长的光线;光学调制器,被配置为对从对象反射的光线进行滤波和调制,使得仅与所述n个光源相应的n种不同波长的光线通过光学调制器并被调制;滤波器阵列,被配置为对调制后的光线进行分离,以分离出分别与n个光源相应的n种不同波长的光线;图像传感器,被配置为使用分离出的n种不同波长的光线产生n幅子图像,其中,n幅子图像中的每幅子图像是分别利用分离出的n种不同波长的光线中的一种波长的光线产生的;图像处理器,被配置为基于产生的n幅子图像计算对象的深度以获得对象的深度图像。

根据本发明的另一方面,提供了一种用于获得对象的三维深度图像的方法,所述方法可包括:驱动n个光源向对象同时投射分别由所述n个光源产生的n种不同波长的光线,其中,n是大于3的整数;对从对象反射的光线进行滤波和调制,使得仅与所述n个光源相应的n种不同波长的光线通过并被调制;对调制后的光线进行分离,以分离出分别与n个光源相应的n种不同波长的光线;使用分离出的n种不同波长的光线产生n幅子图像,其中,n幅子图像中的每幅子图像是分别利用分离出的一种波长的光线产生的;基于产生的n幅子图像计算对象的深度以获得对象的深度图像。

优选地,所述n个光源中的每个光源可产生一种波长范围的光线,并且n种不同波长的光线的各自的波长范围彼此不重叠。

所述n个光源中的每个光源可以是具有不同中心波长的led。

根据本发明的示例性实施例,当n为3时,n个光源可分别产生中心波长为850nm、950nm和1050nm的三种波长范围彼此不重叠的光线。

驱动步骤可包括:使用周期性的波形驱动信号驱动所述n个光源,使得产生的n种不同波长的光线具有相同的周期并且相位相差360/n度。

所述方法还可包括:将从对象反射的反射光线进行汇聚以便于对反射光线进行滤波和调制。

调制步骤可包括:使用周期与光源驱动器所使用的驱动信号相同的调制信号对n种不同波长的光线的幅值进行调制。

所述方法还可包括:将经过光学调制器调制后的光线进行汇聚以便于对调制后的光线进行分离。

计算步骤可包括:基于产生的n幅子图像计算由所述n个光源产生的光线从光源发出到返回图像传感器所发生的相位变化,并基于相位变化计算对象的深度。

根据示例性实施例,当n为3时,图像处理器使用公式(1)计算相位变化,并使用公式(2)计算对象的深度;当n为4时,图像处理器使用公式(3)计算相位变化,并使用公式(2)计算对象的深度,公式(1)至公式(3)如下所示:

其中,表示相位变化,d表示对象的深度,c是光速,f是使用的调制信号的频率,公式(1)中的i0°、i120°和i240°分别表示当n为3时产生的三幅子图像的灰度值,公式(3)中的i0°、i90°、i180°和i270°分别表示当n为4时产生的四幅子图像的灰度值。

附图说明

图1是示出根据示例性实施例的用于获得对象的三维深度图像的装置的配置的框图;

图2是示出根据示例性实施例的用于获得对象的三维深度图像的过程的示意图;

图3是示出根据示例性实施例的用于获得对象的三维深度图像的方法的流程图;

图4是示出根据示例性实施例的图像传感器的像素阵列的结构的示图。

图5示出根据示例性实施例的光学调制器的结构的示例;

图6示出根据示例性实施例的光学调制器的波长响应特性。

具体实施例

现将详细描述本发明的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号指示相同的部分。以下将通过参照附图来详细说明示例性实施例,以便解释本发明。

图1是示出根据示例性实施例的用于获得对象的三维深度图像的装置的配置的框图。如图1所示,用于获得对象的三维深度图像的装置(以下简称为“三维深度图像获取装置”)100可包括n个光源110、光源驱动器120、光学调制器130、滤波器阵列140、图像传感器150以及图像处理器160。然而,应理解,根据本发明的三维深度图像获取装置100不限于上述组件,而是可根据实际情况包括其他组件,例如,用于对三维深度图像获取装置的组件进行控制的控制器(未示出)、透镜(未示出)、用于对光学调制器进行驱动的光学调制驱动器(未示出)等。此外,还应理解的是,图1中示出的组件中的部分组件可被组合以执行与组合之前相同的功能。

参照图1,n个光源110可产生n种不同波长的光线,这里,n是大于3的整数。也就是,n个光源110可包括至少三个光源,并且每种光源可产生一种波长的光线。具体地,n个光源110中的每个光源可产生一种波长范围的光线,并且n种不同波长的光线的各自的波长范围彼此不重叠。作为示例,当n为3时,三个光源可分别产生中心波长为850nm、950nm和1050nm的三种波长范围彼此不重叠的光线,例如,波长范围可分别是800nm~900nm、900nm~1000nm和1000nm~1100nm。这里,作为示例,n个光源中的每个光源可以是具有不同中心波长的发光二级管(led)。

光源驱动器120可驱动n个光源110向对象同时透射产生的n种不同波长的光线。这里,根据示例性实施例的光源驱动器120可使用周期性的波形驱动信号驱动n个光源110,使得产生的n种不同波长的光线具有相同的周期并且相位相差360/n度。例如,该周期信号可以是正弦信号(例如,频率为20mhz的正弦信号),但本发明不限于。因此,每种光源的幅值均受一个周期信号的驱动。假设n=3,则第一光源1101、第二光源1102和第三光源1103所产生的三种不同波长的光线的相位可分别是0°、120°和240°。可选地,当n=4时,四个光源所产生的四种不同波长的光线的相位可分别是0°、90°、180°和270°。

光学调制器130可用于对从对象反射的光线进行滤波和调制,使得仅与所述n个光源相应的n种不同波长的光线通过光学调制器并被调制。为此,光学调制器可被划分为相互邻接且彼此不重叠的n个区域,其中,每个区域分别只允许一种波长范围的光线通过。根据示例性实施例,光学调制器130可具有滤波特性,并且n个区域中的每个区域可具有带通滤波器的特性。如上所述,通过光源驱动器120使用周期性的波形驱动信号对n个光源110进行驱动,n个光源110产生的n种不同波长的光线可具有相同周期且相位相差360/m度,然而,光线从光源发出直至到达图像传感器150,光线的相位会发生变化,而该相位变化能够反映出光线飞行时间以及对象到图像传感器的距离,因此可通过对光线的相位变化进行解算来计算出光线飞行时间,进而可计算出对象到图像传感器的距离,即,对象的深度。然而,为了便于对光线的相位变化进行解算,需要对从对象反射的光线进行调制。具体地,光学调制器130可使用周期与光源驱动器120所使用的驱动信号相同的调制信号对通过光学调制器的n种不同波长的光线的幅值(或强度)进行调制。例如,调制信号也可以是频率为20mhz的正弦信号,并且针对光学调制器的n个区域中的每个区域的调制信号的相位可相差360/n度。例如,当n=3时,针对光学调制器130的三个区域中的每个区域的调制信号(例如,正弦信号)的相位可与第一光源1101、第二光源1102和第三光源1103所产生的三种不同波长的光线的相位相同,即,分别是0°、120°和240°;当n=4时,针对光学调制器130的四个区域中的每个区域的调制信号的相位可分别是0°、90°、180°和270°。

根据本发明的示例性实施例,光学调制器130可具有特殊的结构。可选地,根据示例性实施例的三维深度图像获取装置100还可包括用于将从对象反射的光线汇聚到光学调制器的第一透镜(图1中未示出),此时,光学调制器130可与第一透镜的光圈具有相同的形状,并且光学调制器130可位于第一透镜的光圈的内侧。可选地,光学调制器可与第一透镜的光圈具有不同的形状。此外,光学调制器130的形状可具有多种其他构成方式,随后将参照图5对光学调制器的结构进行详细说明。

在光学调制器130对从对象反射的反射光进行滤波和调制之后,根据示例性实施例的滤波器阵列140可对调制后的光线进行分离,以分离出分别与n个光源相应的n种不同波长的光线。具体而言,滤波器阵列140可包括n种滤波器,并且滤波器阵列140中的每个滤波器可与图像传感器150的像素阵列中的每个像素一一对应(即,一个滤波器对应一个像素)。这里,每种滤波器可分别只允许n种波长的光线中的一种波长的光线通过,因此,像素阵列中的每个像素在图像传感器曝光时只可捕获n种不同波长的光线中的一种波长的光线。这里,滤波器阵列140中的每种滤波器可以是带通滤波器,并且n种带通滤波器的各自波长范围与n个光源产生的光线的波长范围相同。换言之,滤波器阵列中的第一种滤波器的波长范围可与n个光源110中的第一光源1101产生的光线的波长范围相同,滤波器阵列中的第二种滤波器的波长范围可与n个光源110中的第二光源1102产生的光线的波长范围相同,…滤波器阵列中的第n种滤波器的波长范围可与n个光源110中的第n光源110n产生的光线的波长范围相同。随后,将参照图4对滤波器阵列140的结构进行进一步说明。

根据示例性实施例,三维深度图像获取装置100还可包括用于将经过光学调制器调制后的光线汇聚到滤波器阵列140上的第二透镜(图1中未示出)。

图像传感器150可使用分离出的n种不同波长的光线产生n幅子图像,其中,n幅子图像中的每幅子图像是分别利用分离出的n种不同波长的光线中的一种波长的光线产生的。具体地,在像素阵列分离出的n种不同波长的光线到达图像传感器150时,图像传感器150可通过一次曝光获得n幅子图像,而每幅子图像均对应于n个光源中的单一一种波长的光源,或者说,每幅子图像是利用n种光源中的一种光源发出的光产生的。

在通过图像传感器150获得n幅子图像之后,图像处理器160可基于产生的n幅子图像计算对象的深度以获得对象的深度图像。具体地,图像处理器可基于产生的n幅子图像计算由所述n个光源产生的光线从光源发出到返回图像传感器150所发生的相位变化,并基于相位变化计算对象的深度。这是因为,光源发出的光线的相位变化受光线在空间中传输的距离和时间的影响,因此拍摄的n幅子图像中的相位信息包含了对象的深度信息。

作为示例,当光源数量n为3时,图像处理器160可使用公式(1)计算相位变化,并使用公式(2)计算对象的深度。作为另一示例,当光源数量n为4时,图像处理器160可使用公式(3)计算相位变化,并使用公式(2)计算对象的深度。公式(1)至公式(3)如下所示:

其中,表示相位变化,d表示对象的深度,c是光速,f是光学调制器130使用的调制信号的频率,公式(1)中的i0°、i120°和i240°分别表示当n为3时产生的三幅子图像的灰度值,公式(3)中的i0°、i90°、i180°和i270°分别表示当n为4时产生的四幅子图像的灰度值。

为了更形象地解释根据本发明示例性实施例的获得对象的三维深度图像的过程,以下,将以光源数量n等于3作为示例来对该过程进行更加形象的说明。

图2是示出根据示例性实施例的用于获得对象的三维深度图像的过程的示意图。

如上所述,根据示例性实施例的三维深度图像获取装置除包括图1中示出的组件外,还可包括用于对三维深度图像的装置的组件进行控制的控制器、透镜、用于对光学调制器进行驱动的光学调制驱动器等。参照图2,根据示例性实施例的三维深度图像获取装置200可包括三个光源(分别标记为2011、2012和2013)、光源驱动器202、光学调制器203、图像传感器205、图像处理器207和滤波器阵列210(上述组件分别与参照图1所述的名称相同的组件相应)。此外,三维深度图像获取装置200还可包括控制器206、光学调制驱动器204、第一透镜208和第二透镜209。为获得对象220的三维深度图像,控制器206可控制光源驱动器202对光源2011、2012和2013进行驱动,使光源2011、2012和2013可分别产生发射光-1、发射光-2和发射光-3并向对象220透射产生的发射光,其中,发射光-1、发射光-2和发射光-3具有相同的周期并且相位相差120°。随后,第一透镜208可将从对象220反射的反射光汇聚到光学调制器203,光学调制器203可在光学调制驱动器204的驱动下对从对象220反射的反射光进行滤波和调制,使得仅与光源2011、2012和2013相应的3种不同波长的光线通过光学调制器203并被调制。接下来,第二透镜209可将调制后的光线汇聚到滤波器阵列210,滤波器阵列210可对调制后的光线进行分离,以分离出分别与光源2011、2012和2013相应的3种不同波长的光线。随后,图像传感器205可使用分离出的3种不同波长的光线产生3幅子图像,其中,3幅子图像中的每幅子图像是分别利用分离出的3种不同波长的光线中的一种波长的光线产生的。在图像传感器205通过一次曝光产生了3幅子图像之后,图像处理器可基于产生的3幅子图像计算对象220的深度,从而获得对象220的深度图像211。以上已经参照图1对三维深度图像获取装置的诸如光学调制器、滤波器阵列、图像传感器、图像处理器等组件进行过详细描述,因此,这里不再赘述。

图3是示出根据示例性实施例的用于获得对象的三维深度图像的方法的流程图。

在步骤s310,驱动n个光源向对象同时投射分别由所述n个光源产生的n种不同波长的光线,其中,n是大于3的整数。具体地,在步骤s310,可驱动n个光源中的每个光源产生一种波长范围的光线,并且n种不同波长的光线的各自的波长范围彼此不重叠。例如,可使用周期性的波形驱动信号驱动所述n个光源,使得产生的n种不同波长范围的光线具有相同的周期并且相位相差360/n度。作为示例,所述n个光源中的每个光源可以是具有不同中心波长的led。例如,当n为3时,n个光源可分别产生中心波长为850nm、950nm和1050nm的三种波长范围彼此不重叠的光线。

在步骤320,对从对象反射的光线进行滤波和调制,使得仅与所述n个光源相应的n种不同波长的光线通过并被调制。具体地,可使用周期与光源驱动器所使用的驱动信号相同的调制信号对通过光学调制器的n种不同波长的光线的幅值进行调制。

在步骤s330,对调制后的光线进行分离,以分离出分别与n个光源相应的n种不同波长的光线。具体地,可通过设置与n个光源所产生的光线的波长范围相同的n种滤波器组成的滤波器阵列来对调制后的光线进行分离。

在步骤s340,使用分离出的n种不同波长的光线产生n幅子图像,其中,n幅子图像中的每幅子图像是分别利用分离出的一种波长的光线产生的。

在步骤s350,基于产生的n幅子图像计算对象的深度以获得对象的深度图像。例如,可基于产生的n幅子图像计算由所述n个光源产生的光线从光源发出到返回图像传感器所发生的相位变化,并基于相位变化计算对象的深度。作为示例,当n为3时,可使用公式(1)计算相位变化,并使用公式(2)计算对象的深度。作为另一示例,当n为4时,可使用公式(3)计算相位变化,并使用公式(2)计算对象的深度:

其中,表示相位变化,d表示对象的深度,c是光速,f是调制信号的频率,公式(1)中的i0°、i120°和i240°分别表示当n为3时产生的三幅子图像的灰度值,公式(3)中的i0°、i90°、i180°和i270°分别表示当n为4时产生的四幅子图像的灰度值。

图4是示出根据示例性实施例的图像传感器140的像素阵列的结构的示图。

根据示例性实施例,滤波器阵列140和图像传感器150的像素阵列可均为横竖排列的格子状结构,滤波器阵列140中所包括的n种滤波器可彼此交错排列,并且每种滤波器的数量相同。作为示例,当n个光源产生的是n种波长范围彼此不同的波长时,每种滤波器可均为带通滤波器,并且像素阵列中的每个像素格子上覆盖一个带通滤波器。参照图4,当n为3时,即,当滤波器阵列包括3种滤波器时,滤波器阵列140可按照如图4所示的结构进行排列,此时,图像传感器的像素阵列可与该结构相应,即,此时的像素阵列可以是8*8的像素阵列。在图4中,格子1代表第一种滤波器,该种滤波器只允许光源发出的三种不同波长的光线中的第一种波长的光线通过;格子2代表第二种滤波器,该种滤波器只允许光源发出的三种不同波长的光线中的第二种波长的光线通过;格子3代表第三种滤波器,该种滤波器只允许光源发出的三种不同波长的光线中的第三种波长的光线通过。最终,图像传感器150通过将对应于格子1(第一种滤波器)的像素的值进行组合来获得第一张子图像,通过将对应于格子2(第二种滤波器)的像素的值进行组合来获得第二张子图像,并通过将对应于格子3(第三种滤波器)的像素的值进行组合来获得第三种子图像。随后,图像处理器可基于获得的三幅子图像来计算对象的深度。应理解的是,根据本发明示例性实施例的滤波器阵列的结构不限于图4中示出的示例,而是可根据实际需要具有其他结构和其他滤波器排列方式,只要能够实现分光的目的。

图5示出根据示例性实施例的光学调制器130的结构的示例。

如图5所示,当光学调制器130为圆形形状时,光学调制器130以圆心为基准被划分为n个扇形区域或者被划分为由内向外辐射的n个环状区域。例如,当光源数量n为3时,光学调制器130被划分为3个区域。图5中的510示出了光学调制器130被划分为3个大小相同的扇形区域的情况,其中,扇形区域511、区域512和区域513分别具有不同的中心通过波长。图5的520所示了光学调制器130被划分为3个环状区域的情况,其中,区域521、区域522和区域523分别具有不同的中心通过波长。可选地,当光学调制器130为矩形形状时,光学调制器130可按照从左到右的方式或从上到下的方式被划分为n个矩形区域。例如,图5中的530示出了光学调制器130被划分为三个横向矩形区域的情况,其中,区域531、区域532和区域533分别具有不同的中心通过波长。图5中的540示出了光学调制器130被划分为三个竖向矩形区域的情况,其中,区域541、区域542、区域543分别具有不同的中心通过波长。

光学调制器130的不同结构具有不同的特点,可以根据实际应用的需求进行选择。例如,结构530制造简单,但是不同波长的光线形成的图像具有不同的光心(分别对应于区域531、532、533的中心),当物体距离传感器很近时,这些图像之间可能具有视差,即同一物体在不同图像上的图像点位于不同的图像位置。这样的视差可能造成解相位方法的误差。通过使用软件方法,对视差进行估计并进行补偿,能够减小这种误差。当物体距离相机较远时,由于视差随物距减小,视差误差可以忽略。结构540具有和结构530类似的特点。结构520的同心圆形状制造工艺相对复杂,但不同波长的光线形成的图像具相同的光心(分别对应于区域521,522,523的中心),因此即使物体靠近时也无需进行视差补偿处理。结构510的复杂性和视差特性介于结构530和结构520之间。在实际应用中,可以根据系统使用的场景和成本选择不同的结构。此外,应理解的是,根据本发明示例性实施例的光学调制器的结构不限于图5中示出的示例,而是可包括其他结构和区域划分方式,只要能够对从对象反射的反射光线进行滤波和调制以使得仅与n个光源相应的n种不同波长的光线通过光学调制器并被调制即可。

图6是示出根据示例性实施例的光学调制器130的波长响应特性。

图6示出当n=3时图5所示的光学调制器130的结构510的波长相应特性曲线,该曲线显示光学调制器130允许三种波长范围的光线通过。其中,对三种波长范围中的每一种波长范围的光线进行滤波和调制的功能由光学调制器130中的三个区域中的每个区域来实现,例如,曲线中波形601对应于图5中的光学调制器130的区域511,曲线中波形602对应于图5中的光学调制器130的区域512,曲线中波形603对应于图5中的光学调制器130的区域513。从图6中也可明显地看出,光线调制器130的每个区域仅允许通过一种波长范围的光线。

以上已参照附图1至6对本发明进行了详细说明,如上所述,根据本发明的示例性实施例,可以从图像传感器拍摄的一幅图像上提取出n幅对应于不同光源的不同相位的子图像,从而避免了需要拍摄n幅图像。因此,根据本发明,只需使用图像传感器的一次曝光,就可以获取对象的深度图像。并且,根据本发明的示例性实施例,可将现有技术的深度图像获取帧率提高n倍,此外,有效地减少了动态场景中因对象运动而导致的深度图像误差。与此同时,本发明在装置实现上只需要增加少数几个光源以及具有特殊结构的光线调制器和滤波器阵列,因而不会明显增加系统的体积与硬件成本。

此外,根据本发明的示例性实施例的三维深度图像获取装置中的各个组件可被实现为硬件组件或软件组件,并且可根据需要进行组合。另外,本领域技术人员可根据各个组件所执行的处理,使用例如现场可编程门阵列(fpga)或专用集成电路(asic)来实现各个组件。

根据本发明的方法可被记录在包括执行由计算机实现的各种操作的程序指令的计算机可读介质中。计算机可读介质的示例包括磁介质(例如硬盘、软盘和磁带);光学介质(例如cd-rom和dvd);磁光介质(例如,光盘);以及特别配制用于存储并执行程序指令的硬件装置(例如,只读存储器(rom)、随机存取存储器(ram)、闪存等)。程序指令的示例包括例如由编译器产生的机器码和包含可使用解释器由计算机执行的高级代码的文件。

尽管已经参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1