确定捕捉到的图像的深度数据转让专利

申请号 : CN201480021881.3

文献号 : CN105264331B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 熊志伟吴枫杨哲

申请人 : 微软技术许可有限责任公司

摘要 :

本文提供了用于从密度调制二元图中获取深度的方法、系统以及一个或多个计算机可读存储介质。该方法包括使用IR相机和包括衍射光栅的多个IR激光器来捕捉场景的多个图像。每一图像都包括携带相位信息的密度调制二元图。该方法还包括对图像执行基于像素的相位匹配以便基于密度调制二元图所携带的相位信息来为场景确定深度数据。

权利要求 :

1.一种用于从密度调制二元图中获取深度的方法,包括:

使用IR相机和包括衍射光栅的多个IR激光器来捕捉场景的多个图像,其中所述多个图像中的每一个图像包括携带相位信息的密度调制二元图;以及对所述多个图像执行基于像素的相位匹配,以便基于所述密度调制二元图所携带的相位信息来确定所述场景的深度数据,所述密度调制二元图的不同行中的光点的数量根据正弦函数来确定。

2.如权利要求1所述的方法,其特征在于,对所述多个图像执行基于像素的相位匹配包括:从所述多个图像中的每一个图像的所述密度调制二元图中提取所述相位信息;以及基于关于所述多个图像中的所有图像的所述密度调制二元图的所述相位信息的组合来重构所述场景重构的深度数据。

3.如权利要求1所述的方法,其特征在于,包括基于所述深度数据来确定所述场景的绝对深度。

4.如权利要求1所述的方法,其特征在于,包括基于所述深度数据来生成所述场景的三维图像。

5.如权利要求1所述的方法,其特征在于,捕捉所述多个图像包括使用IR相机和包括衍射光栅的三个IR激光器来捕捉三个图像。

6.如权利要求1所述的方法,其特征在于,包括使用每一密度调制二元图的局部唯一性来纠正所述多个图像中的每一个图像内的相位模糊。

7.如权利要求1所述的方法,其特征在于,包括确定所述场景中的包括移动对象的部分的深度数据。

8.如权利要求1所述的方法,其特征在于,包括基于所述多个图像中的每一个图像中的光点的密度来确定关于所述密度调制二元图的相位信息。

9.如权利要求1所述的方法,其特征在于,包括将所述深度数据用于游戏应用或虚拟现实应用。

10.一种用于从密度调制二元图中获取深度的方法,包括:

获取场景的图像,其中所述图像使用IR相机以及包括衍射光栅的多个IR激光器来递归地获取,并且其中每一图像包括携带相位信息的密度调制二元图;

基于每一密度调制二元图的局部唯一性来纠正所述图像内的相位模糊;以及对所述图像执行基于像素的相位匹配,以便基于所述密度调制二元图所携带的所述相位信息来重构所述场景的深度数据,所述密度调制二元图的不同行中的光点的数量根据正弦函数来确定。

11.一种用于从密度调制二元图中获取深度的系统,包括:

用于获取场景的图像的装置,其中所述图像使用IR相机以及包括衍射光栅的多个IR激光器来递归地获取,并且其中每一图像包括携带相位信息的密度调制二元图;

用于基于每一密度调制二元图的局部唯一性来纠正所述图像内的相位模糊的装置;以及用于对所述图像执行基于像素的相位匹配,以便基于所述密度调制二元图所携带的所述相位信息来重构所述场景的深度数据的装置,所述密度调制二元图的不同行中的光点的数量根据正弦函数来确定。

12.一种具有指令的计算机可读存储介质,所述指令在被执行时使机器执行如权利要求1-10中的任一项所述的方法。

13.一种包括用于执行如权利要求1-9中的任一项所述的方法的装置的计算机系统。

说明书 :

确定捕捉到的图像的深度数据

[0001] 背景
[0002] 用于生成场景的三维图像的系统依靠深度重构技术来确定场景内的对象的三维形状。一些现有系统利用基于单镜头结构光的深度相机来确定捕捉到的图像的深度数据。此类单镜头结构光系统使用深度相机来发出包括随机光点的图案,并且然后捕捉包括所发出的图案的图像。然后可通过建立参考图像与捕捉到的包括该图案的图像之间的对应关系来确定深度数据。然而,以此方式确定的深度数据经常遭受孔洞和严重噪声。具体而言,光点的位置由像素块标识。此类像素块可能在被投影到场景内的对象的边界上时变形。这可能使得难以标识图像之间的对应关系。此外,所标识的图像之间的对应关系在突然的深度变化的情况下可能具有有限的准确性。结果,所确定的深度数据可能包括随机误差。
[0003] 依靠将一系列相移正弦图案投影到场景上的相移系统通常提供比上述单镜头结构光系统更高质量的深度数据。此类相移系统能够在具有一组捕捉到的图像的情况下在每一相机像素处重构深度数据。由此,深度数据可具有更高的空间分辨率。另外,深度数据可以从正弦相位差中计算。结果,噪声可被抑制,并且深度数据可以更准确。然而,由于正弦图案是灰度的,因此此类系统依靠使用投影仪来重构深度数据。
[0004] 概述
[0005] 下面呈现了本发明实施例的简化概述,以便提供此处所描述的某些方面的基本概念。此发明内容不是所要求保护的主题的详尽的概述。既不是要指出所要求保护的主题的关键性元素,也不是要详细描述本发明实施例的范围。唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前奏。
[0006] 一实施例提供了一种用于从密度调制二元图中获取深度的方法。该方法包括使用IR相机和包括衍射光栅的多个IR激光器来捕捉场景的多个图像。每一图像都包括携带相位信息的密度调制二元图。该方法还包括对图像执行基于像素的相位匹配以便基于密度调制二元图所携带的相位信息来确定场景的深度数据。
[0007] 另一实施例提供了一种用于从密度调制二元图中获取深度的系统。该系统包括多个IR激光器。每一IR激光器都被配置成经由衍射光栅来将携带相位信息的密度调制二元图发射到场景上。该系统还包括IR相机,该IR相机被配置成捕捉对应于每一IR激光器所发射的密度调制二元图的图像。该系统还包括处理器和系统存储器,该系统存储器包括在由该处理器执行时被配置成执行以下操作的代码:分析图像以便基于密度调制二元图所携带的相位信息来确定场景的深度数据。
[0008] 另外,另一实施例提供了一种或多种用于存储计算机可读指令的计算机可读存储介质。这些计算机可读指令在由一个或多个处理设备执行时提供了一种用于从密度调制二元图中获取深度的系统。这些计算机可读指令包括被配置成获取场景的图像的代码。图像使用IR相机和包括衍射光栅的多个IR激光器来递归地捕捉。每一图像都包括携带相位信息的密度调制二元图。这些计算机可读指令还包括被配置成基于每一密度调制二元图的局部唯一性来纠正图像中的相位模糊的代码。这些计算机可读指令还包括被配置成对图像执行基于像素的相位匹配以便基于密度调制二元图所携带的相位信息来重构场景的深度数据的代码。
[0009] 下面的描述和附图详细地阐述了所要求保护的主题的某些说明性方面。然而,这些方面只是表示可以使用本发明实施例的原理的各种方式中的一些方式,并且所要求保护的主题旨在包括所有这些方面和等效内容。通过与附图一起阅读下面的本发明实施例的详细描述,所要求保护的主题的其他优点和新颖的特点将变得显而易见。
[0010] 附图简述
[0011] 图1是根据本文描述的各实施例的可用于使用密度调制二元图来确定捕捉到的图像的深度数据的计算系统的框图;
[0012] 图2是根据本文描述的各实施例的可用于捕捉图像的成像设备的示意图;
[0013] 图3是示出可根据本文描述的各实施例来使用的密度调制二元图的示意图;
[0014] 图4是示出根据本文描述的实施例的用于控制三个IR激光器发出密度调制二元图的时序电路的图示;
[0015] 图5A是示出捕捉到的具有所发射的图案的图像的示意图;
[0016] 图5B是示出包括图5A中的通过块匹配技术的捕捉到的图像的经重构的深度数据的图像的示意图;
[0017] 图5C是示出从图5A的捕捉到的图像生成的能量图的示意图;
[0018] 图5D是示出包括图5A的图像的深度数据的图像的示意图,该深度数据可根据本文描述的各实施例来从三个能量图中重构;
[0019] 图6是用于从密度调制二元图中获取深度的方法的流程图;以及
[0020] 图7是存储被适配成使用密度调制二元图来确定捕捉到的图像的深度数据的代码的计算机可读存储介质的框图。
[0021] 详细描述
[0022] 如上所述,经常利用诸如单镜头结构光系统等结构光系统和相移系统来重构捕捉到的图像的深度数据。基于三角测量的单镜头结构光系统类似于无源立体系统,不同之处在于单镜头结构光系统依靠使用投影仪来重构捕捉到的图像的深度数据。此外,许多结构光系统依靠生成多个图案,并且无法在投影图案时检测场景的运动。
[0023] 相移系统发射一系列相移正弦图案。增加图案中的条纹的数量可提高测量准确性。然而,当通过相移系统发射图案集合时,场景被假设为是静态的。该假设在许多实际场景中并非有效。此外,由于正弦图案是灰度的,因此相移系统还依靠使用投影仪来重构深度数据。
[0024] 因此,本文描述的各实施例允许使用红外(IR)相机和包括衍射光栅的多个IR激光器来确定捕捉到的图像的深度数据。具体而言,使用IR激光器来将密度调制二元图发射到场景上,并且基于对应于特定相位信息的密度调制二元图中的光点的密度来重构场景的深度数据。
[0025] 根据本文描述的各实施例,密度调制二元图被设计成在不损害从单个捕捉到的图像中重构深度数据的能力的情况下携带足够的相位信息。然而,因为所携带的相位信息不是严格正弦的,所以从相位信息中重构的深度数据可能包含系统性误差。因此,根据本文描述的各实施例,使用基于像素的相位匹配技术来减少深度数据中的误差。
[0026] 作为正文前的图文,一些附图是在一个或多个结构组件(不同地称为功能、模块、特征、元件等等)的上下文中来描述概念的。附图中所示的各个组件能够以任何方式是喜爱你,诸如经由软件、硬件(例如,分立逻辑组件)、固件或其任意组合。在一些实施例中,各个组件可反映对应的组件在实际实现中的使用。在其他实施例中,附图中所示的任何单个组件可由多个实际组件来实现。对附图中的任何两个或更多个单独组件的描绘可以反映由单个实际组件所执行的不同功能。以下讨论的图1提供了关于可用于实现附图中所示的各功能的一个系统的细节。
[0027] 其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成以某一顺序执行的不同的框。这些实现是示例性而非限制性的。此处描述的某些框可被分组在一起并在单个操作中执行,某些框可被分成多个组件框,并且某些框可以按与此处所示出的不同的次序来执行(包括以并行方式执行这些框)。流程图中所示的框可以通过软件、硬件、固件、手动处理等来实现。如此处所使用的,硬件可包括计算机系统、诸如专用集成电路(ASIC)之类的分立逻辑组件等。
[0028] 关于术语,短语“配置成”和“适用于”涵盖可以构造任何种类的功能来执行所标识的操作的任何方式。功能可以被配置成(适用于)使用,例如,软件、硬件、固件等来执行操作。
[0029] 术语“逻辑”涵盖用于执行任务的任何功能。例如,流程图中所示的每一操作对应于用于执行该操作的逻辑。操作可以使用,例如,软件、硬件、固件等来执行。
[0030] 如在此使用的,术语“组件”、“系统”等旨在指代计算机相关的实体,它们可以是硬件、(例如,执行中的)软件或固件、或其任意组合。例如,组件可以是,在处理器上运行的进程、对象、可执行码、程序、函数、库、子例程,或计算机或软件和硬件的组合。
[0031] 作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程中,组件可以位于一个计算机内和/或分布在两个或更多计算机之间。术语“处理器”一般被理解为指硬件组件,诸如计算机系统的处理单元。
[0032] 此外,所要求保护的主题可使用产生控制计算机以实现所公开的主题的软件、固件、硬件、或其任意组合的标准编程和/或工程技术来实现为方法、装置、或制品。如此处所使用的术语“制品”旨在涵盖可以从任何计算机可读存储设备或介质访问的计算机程序。
[0033] 计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、以及磁带等等)、光盘(例如,紧致盘(CD)以及数字多功能盘(DVD)等等)、智能卡和闪存设备(例如,卡、棒和钥匙驱动器等等)。相反,计算机可读介质(即,非存储介质)一般可附加地包括用于无线信号之类的通信介质,诸如传输介质。
[0034] 图1是根据本文描述的各实施例的可用于使用密度调制二元图来确定捕捉到的图像的深度数据的计算系统100的框图。计算系统100可包括被配置成执行所存储的指令的处理器102(例如,中央处理单元(CPU)),以及存储可由处理器102执行的指令的存储器设备104。这些指令可用于实现一种用于为捕捉到的图像重构深度数据的方法。处理器102可以是单核处理器、多核处理器、计算群集、或任意数量的其他配置。存储器设备104可包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、或任何其他合适的存储器系统。
[0035] 处理器102可通过总线106连接到存储设备108,存储设备108适用于存储深度重构模块110和计算系统100生成的深度数据112。存储设备108可包括硬盘驱动器、光盘驱动器、拇指驱动器、驱动器阵列、或其任意组合。网络接口控制器114可被适配成通过总线106将处理器102连接到网络116。通过网络116,电子文本和图像输入文档118可被下载并存储在计算机的存储系统 108中。另外,计算系统100还通过网络116传送深度数据112。
[0036] 处理器102可通过总线106链接到适用于将系统100链接到显示设备122 的显示接口120。显示设备122可包括计算机监视器、相机、电视、投影仪、虚拟现实显示器、三维(3D)显示器、或移动设备等。计算系统100中的人机接口124可将处理器102连接到键盘126和定点设备128。定点设备128可包括鼠标、跟踪球、触摸板、操纵杆、指点杆、指示笔、或触摸屏等。
[0037] 处理器102还可通过总线106链接到适用于将计算系统100连接到任何数量的附加输入/输出设备的输入/输出接口130。具体而言,根据本文描述的各实施例,输入/输出接口130可将计算系统100连接到IR相机132和多个IR 激光器134。例如,输入/输出接口130可将计算系统100连接到三个IR激光器134。每一IR激光器134都还可包括允许生成唯一二元图的相关联的衍射光栅。
[0038] 在一些实施例中,IR相机132和IR激光器134可被包括在单个成像设备 136中。成像设备136可以是3D相机、游戏系统、计算机等。在其他实施例中,IR激光器134中的全部或部分可以外置地连接到包括IR相机132的成像设备。此外,在一些实施例中,计算系统100自身可以是成像设备。在这些实施例中,IR相机132和IR激光器134可以驻留在计算系统100中,而不是经由输入/输出接口130外置地连接到计算系统100。
[0039] 此外,计算系统100可包括图形处理单元(GPU)138。GPU 138可以通过总线106链接到处理器102,存储器设备104、存储设备108、输入/输出接口130以及计算系统100中的任何数量的其他组件。在各实施例中,GPU 138 适用于结合或独立于处理器102执行指令,诸如存储在存储器设备104中的指令。例如,GPU 138可执行用于实现用于为捕捉到的图像重构深度数据的方法的指令中的全部或部分。例如,在一些实施例中,处理器102和GPU 138可以并行地用于重构捕捉到的图像的深度数据。在这些实施例中,深度数据可以按每秒20帧(20fps)左右的速率重构。
[0040] 图1的框图并不旨在指示计算系统100包括图1所示的所有组件。此外,计算系统100可包括图1未示出的任何数量的附加组件,这取决于具体实现的细节。
[0041] 图2是可用于根据本文描述的各实施例来捕捉图像的成像设备200的示意图。在一些实施例中,成像设备200是外置地连接到计算系统的设备,诸如参考图1的计算系统100描述的成像设备136。在其他实施例中,成像设备200 被直接包括在诸如图1的计算系统100等计算系统内。
[0042] 成像设备200可包括IR相机202和多个IR激光器204。例如,在各实施例中,成像设备200包括三个IR激光器204。每一IR激光器204都可包括衍射光栅206。衍射光栅206可允许每一IR激光器204发射唯一的密度调制二元图。此外,成像设备200可包括用于控制IR相机202和多个IR激光器204的运行的同步电路。在图2所示的实施例中,IR相机202与中央IR激光器204 垂直对齐。然而,可以理解成像设备200不限于图2所示的配置。例如,在一些实施例中,IR相机202可以与外部IR激光器204之一位于同一行且紧邻该 IR激光器。
[0043] 在各实施例中,成像设备200可用于捕捉场景208的图像。另外,成像设备200可用于确定场景208内的一个或多个对象210的深度数据,由此允许构造场景208的3D图像。具体而言,IR激光器204可用于递归地将三个唯一的密度调制二元图发射到场景208上,并且IR相机202可捕捉到对应于每一密度调制二元图的一个图像。换言之,可激活第一IR激光器204,并且IR相机 202可以在该第一IR激光器204将其唯一的密度调制二元图发射到场景
208 上时捕捉场景208的图像。第一IR激光器204然后可被停用,并且该过程可以对第二和第三IR激光器204重复。然后可分析捕捉到的图像以确定场景208 中的一个或多个对象210的深度数据。
[0044] 图2的示意图并不旨在指示成像设备200包括图2所示的所有组件。此外,成像设备200可包括图2未示出的任何数量的附加组件,这取决于具体实现的细节。
[0045] 图3是示出可根据本文描述的各实施例来使用的密度调制二元图300A-C 的示意图。在各实施例中,对应于每一密度调制二元图300A-C的光点的密度可被调制成使得每一密度调制二元图300A-C都携带相位信息。图案可被定义为P(r,c),其中行r=0,...,R-1且列c=0,...,C-1。在诸如微软公司的 KinectTM系统等一些现有系统的情况下,光点是在P(r,c)中随机且均匀地分布的。然而,根据本文描述的各实施例,密度调制二元图300A-C的不同行中的光点的数量是根据如以下等式(1)示出的正弦函数来确定的。
[0046]
[0047] 在等式(1)中,是用于将浮点数舍入成整数的函数。项r是行索引。项T是正弦周期中的行数。项α是用于将k(r)控制为从1到K的整数的缩放因子。这三个密度调制图案300A-C可通过将θ分别设为-2π/3,0或+2π/3来生成。
[0048] 在各实施例中,像素可被确定为使得同一行中的所有像素都具有相同的强度。这可使用图案生成技术来实现,对于该技术,将1×N像素定义为图案生成的基本单位。项N大于最大的k(r)。光点的位置在基本单位内是随机的,但对于同一行中的所有基本单位是相同的。这确保位于同一行中的每一滑动窗口都具有相同的平均强度。另外,由于光点的数量及其位置在不同行中是不同的,因此光点在每一块中的位置仍然是唯一的。图案生成技术然后可根据以下伪代码来定义。
[0049]
[0050] 在各实施例中,缩放因子α可基于项N和k(r)的范围来确定,其中N是经验参数。N的值越大,就可具有更多数量的不同值k(r)。如果N的值太大,例如当 k(r)是小整数时,密度k(r)/N将太小以至于无法建立对应关系。因此,在一些实施例中,N可被设为值8。当决定N的值时,可将k(r)的最大值选为5那样大以便在一周期中具有更多密度。可使用若干不同的方法来在N=8且 k(r)∈{1,...,5}的情况下生成图案。例如,可使用其中每一其他行都包含等式 (1)计算出的数量的光点且这些其他行都是黑的图案。
[0051] 周期T的值越小,深度测量将越准确。然而,根据本文描述的各实施例, T还可具有最小可接受值。对于N=8且k(r)∈{1,...,5},如果T小于32,则由于舍入误差,并不是每一密度k(r)都出现。换言之,k(r)的范围并未被全面使用。因此,在一些实施例中,周期T可被设为32。
[0052] 在某些情况下,估算所生成的密度调制二元图300A-C的密度是否能够良好地逼近正弦边缘是合乎需要的。该逼近通过N×N滑动窗口中的平均能量来完成。为了简便起见,可考虑信号是连续的情况,如以下等式(2)所示。
[0053]
[0054] 如果等式(1)被代入等式(2),并且忽略舍入和常量项,则可以如以下等式 (3)所示的那样重写等式(2)。
[0055]
[0056] 在等式(3)中,项β和 是常量。
[0057] 因此,所建议的密度调制二元图300A-C中的能量E在数学上是正弦函数。然而,由于所建议的密度调制二元图300A-C是二元的,因此等式(1)中的 k(r)必须被舍入为整数。当逼近正弦边缘时,这一舍入可导致逼近中的明显的阶梯式误差。如果未在重构深度数据期间仔细地处理误差,则系统误差将被引入重构的深度数据。
[0058] 图4是示出根据本文描述的各实施例的用于控制三个IR激光器发出密度调制二元图的时序电路402A-C的图示400。图4的x轴404可表示时间。该图的y轴406可表示用于控制三个IR激光器发出密度调制二元图的时序电路402A-C以及用于IR相机的图像捕捉时序电路408。如图4所示,每一IR 激光器包括用于发出其各自的密度调制二元图的不同时序电路402A-C。因此,这些密度调制二元图可由这三个红外激光器来递归地发出。IR相机可用于在这些IR激光器之一发出密度调制二元图时捕捉每一密度调制二元图,如用于IR 相机的图像捕捉时序电路408所示。
[0059] 图5A是示出具有所发射的图案的捕捉到的图像500的示意图。因为每一小块中的光点的位置仍然是唯一的,所以可使用块匹配技术来确定每一像素在基准图像 和捕捉到的图像I(r,c)之间的偏差。基准图像 是具有已知距离的垂直平面中的捕捉到的图像。对一块的零归一化互相关(ZNCC)可被用作测量。(r,c)处的偏差可以如以下等式(4)中所示的那样计算。
[0060]
[0061] 在 等 式 ( 4 ) 中 ,A ( r ,c ,i ,j ) = I ( r + i ,c + j ) - I 0 且项I0和 分别是I和 的平均强度。项D1(r,c) 是具有最大ZNCC的行和列偏差。每一像素都属于多个重叠块以计算ZNCC,并由此具有通过等式(4)计算出的多个偏差。像素的偏差可由具有最大ZNCC 的块来决定。
[0062] 图5B是示出包括图5 A中的通过块匹配技术的捕捉到的图像500的重构的深度数据的图像502的示意图。根据图5B的图像502,深度数据使用上述块匹配技术来重构。图像502的平滑表面中的不连续性可以从图5B中清楚地观察到。对于每一个捕捉到的图像,可使用等式(2)的离散版本来计算能量图像。
[0063] 图5C是示出从图5A的捕捉到的图像500中生成的能量图像504的示意图。基准图像和捕捉到的图像的能量图像可被分别定义为 和Ei(r,c),其中项i指示不同的θ。三个能量图像可具有以下在等式(5)中示出的关系。
[0064] Ei-1(r,c)=E′(r,c)+E″(r,c)sin[φ(r,c)-2π/3],
[0065] Ei(r,c)=E′(r,c)+E″(r,c)sin[φ(r,c)],   (5)
[0066] Ei+1(r,c)=E′(r,c)+E″(r,c)sin[φ(r,c)+2π/3]
[0067] 在等式(5)中,项E′(r,c)是背景强度;项E″(r,c)是正弦振幅;而项φ(r,c)是要解析的相位图像。另外,项Ei-1(r,c)-Ei+1(r,c)是小区域内的平均强度。相位φ(r,c)可以通过对等式(6)求解来获取。
[0068]
[0069] 对于典型的相移系统,深度数据可以直接从φ(r,c)中计算出。然而,因为根据本文描述的各实施例来使用的图案包括逼近正弦相位的阶梯式误差,所以深度数据可能并非直接从φ(r,c)中计算出。可改为使用基于像素的相位匹配技术来计算深度数据。第一,可以从基准能量图像 中计算出。对于每一相位φ(r,c),可确定一个周期内最匹配的 然后可根据等式(7) 来计算一个周期内的偏差d2(r,c)。
[0070]
[0071] 在等式(7)中,是整数行偏差。等式(7)中的另一项是通过线性内插的分数行偏差。
[0072] 模糊问题也可被解决。如果在捕捉到的图像中存在M个周期,则可标识具有偏差d2(r,c)的周期。标识具有偏差d2(r,c)的周期可以是相对容易的,因为光点的位置对于每一周期而言都是不同的。对于m=1,...,M,可确定ZNCC 值,并且可选择具有最大ZNCC的周期m。最后,偏差可根据等式(8)来重构。
[0073] D2(r,c)=d2(r,c)+m×L   (8)
[0074] 在等式(8)中,项L是捕捉到的图像中的一个周期内的行数。
[0075] 图5D是包括图5A的图像500的深度数据的图像506的示意图,该深度数据可以根据本文描述的各实施例来从三个能量图像中重构。具体而言,该深度数据可使用上述基于像素的相位匹配技术来重构。
[0076] 尽管使用嵌入式相位来重构场景中的对象的深度数据可产生高质量结果,但该技术利用至少三个捕捉到的图像并且无法处理场景中的移动对象。相反,用于重构深度数据的块匹配技术只利用一个捕捉到的图像并且能够处理场景中的移动对象。因此,根据本文描述的各实施例,块匹配技术可用于确定具有移动对象的场景的深度数据。
[0077] 根据块匹配技术,深度数据D1(r,c)和D2(r,c)可根据场景中检测到的运动来整合。可使用强度变化来检测场景中是否存在任何运动。可将当前捕捉到的图像与先前第三个图像进行比较,因为它们的图案是相同的。如果一区域内的平均强度变化大于阈值,则该区域可被标记为正在移动。然后可以在移动区域内采用深度数据D1(r,c),同时可以在固定区域内采用深度数据D2(r,c)。
[0078] 图6是用于从密度调制二元图中获取深度的方法600的流程图。方法600 可以分别由参考图1和2讨论的计算系统100和/或成像设备200来实现。方法 600开始于框602,在那里使用IR相机和包括衍射光栅的多个IR激光器来捕捉场景的多个图像。每一图像包括携带相位信息的密度调制二元图。
[0079] 在各实施例中,使用IR相机和包括衍射光栅的三个IR激光器来捕捉三个图像。然而,可以理解,根据本文描述的各实施例,可使用任何合适数量的IR 激光器来捕捉任何合适数量的图像。
[0080] 在框604,对图像执行基于像素的相位匹配以便基于二元图所携带的相位信息来确定场景的深度数据。这可通过从二元图中提取相位信息并基于关于二元图的相位信息的组合来重构场景的深度数据来实现。另外,在各实施例中,在对图像执行基于像素的相位匹配之前纠正图像内的相位模糊。相位模糊可基于每一二元图的局部唯一性来纠正。
[0081] 在一些实施例中,场景包括一个或多个移动对象。在这些实施例中,执行块匹配以确定包括一个或多个移动对象的场景的各部分的深度数据。
[0082] 在各实施例中,使用深度数据来确定场景的绝对深度。另外,可使用深度数据来生成场景的三维图像(或视频)。
[0083] 图6的流程图不旨在指示方法600的各个框将以任何特定次序来执行或者在每一种情况下都要包括所有的框。此外,图6未示出的任何数量的附加框都可被包括在方法600中,这取决于具体实现的细节。
[0084] 方法600可用于各种应用。在一些实施例中,方法600可用于提供用于游戏应用的3D图像(即视频)。例如,方法600可以在微软公司的KinectTM系统中实现。另外,在一些实施例中,方法600可用于提供用于遥现应用或其他虚拟现实应用的3D图像(即视频)。
[0085] 图7是存储被适配成使用密度调制二元图来确定捕捉到的图像的深度数据的代码的计算机可读存储介质700的框图。计算机可读存储介质700可由处理器702通过计算机总线704进行访问。此外,计算机可读存储介质700可包括被配置成指示处理器702执行当前方法的各步骤的代码。
[0086] 此处讨论的各种软件组件可被存储在计算机可读存储介质700上,如图7 中所指示的。例如,图像捕捉模块706可适用于使用IR相机和包括衍射光栅的多个IR激光器来捕捉场景的图像。另外,深度重构模块708可适用于基于图像内的二元图来重构捕捉到的图像的深度数据。
[0087] 图7的框图并不旨在指示计算机可读存储介质700包括图7所示的所有组件。此外,计算机可读存储介质700可包括图7未示出的任何数量的附加组件,这取决于具体实现的细节。
[0088] 尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。