基于内容滤波的结构光三维(3D)深度图的制作方法

文档序号:12288092阅读:272来源:国知局
基于内容滤波的结构光三维(3D)深度图的制作方法与工艺

本申请案主张共同所有的2014年6月19日申请的美国临时专利申请案第62/014,652号和2015年6月18日申请的美国非临时专利申请案第14/743,980号的优先权,上述申请案的内容明确地以全文引入的方式并入本文中。

技术领域

本发明大体上涉及基于内容滤波的结构光三维(3D)深度图。



背景技术:

技术的进步已产生更小的设备和更大功率的计算装置。举例来说,当前存在多种便携式个人计算装置,包含无线计算装置,例如便携式无线电话、个人数字助理(PDA)和寻呼装置,其体积小,重量轻且易于由用户携带。更确切地说,例如蜂窝式电话和因特网协议(IP)电话等便携式无线电话可经由无线网络传送语音和数据包。此外,许多此类无线电话包含并入其中的其它类型的装置。举例来说,无线电话还可包含数字静态相机、数码相机、数字记录器,和音频文件播放器。而且,此类无线电话可处理可执行指令,所述可执行指令包含软件应用程序,例如可用于接入因特网的网页浏览器应用程序。因而,这些无线电话可包含相当大的计算能力。

例如无线电话的无线设备可经配置以产生三维(3D)深度图。举例来说,无线装置可包含用于深度估计的结构光系统或可与其相关联,所述结构光系统经配置以将照射图案(例如,具有垂直条纹的掩码)投射在包括三维(3D)对象的场景上。场景上或3D对象上的照射图案通常编码所述场景或所述3D对象的深度信息。结构光系统还可经配置以捕捉经照射场景的图像。基于在场景的图像中捕捉的图案,可产生指示场景中的不同深度的深度图。然而,深度图可包含基于错误肯定(例如,检测及解码其中不存在对象的有效深度数据)、错误否定(例如,基于图像的阴影区域的缺失深度值,其中在图像中并未检测到所投射经译码光的图案,和/或解码错误(例如,不正确地解码从人体反射回来的所投射的光的图案和/或图像的处理期间产生的解码错误)的一或多个错误深度值。



技术实现要素:

在一说明性实例中,方法包含在接收器装置处接收对应于结构光图像的图像数据。所述方法进一步包含处理所述图像数据以基于所投射经译码光的图案来解码深度信息。所述深度信息对应于深度图。所述方法还包含对所述图像数据执行一或多个滤波操作。所述一或多个滤波操作的输出包含经滤波图像数据。所述方法进一步包含执行深度信息与经滤波图像数据之间的比较,及基于所述比较修改深度信息以产生经修改深度图。

在另一说明性实例中,装置包含处理器,所述处理器经配置以处理对应于结构光图像的图像数据,从而基于所投射经译码光的图案解码深度信息。处理器经进一步配置以对图像数据执行滤波操作,从而产生经滤波图像数据。处理器经配置以基于深度信息与经滤波图像数据之间的比较修改深度信息。装置还包含经配置以存储经修改深度信息的存储器。

在另一说明性实例中,设备包含用于基于对应于结构光图像的图像数据及基于所投射经译码光的图案解码深度信息的装置。设备进一步包含用于对图像数据执行一或多个滤波操作以产生经滤波图像数据的装置。设备进一步包含用于基于深度信息与经滤波图像数据之间的比较修改深度信息的装置。

在另一说明性实例中,非暂时性计算机可读媒体存储指令,所述指令可由处理器执行以使处理器执行包括处理对应于结构光图像的图像数据的操作,以基于所投射经译码光的图案解码深度信息。指令进一步使处理器执行包括对图像数据执行一或多个滤波操作的操作以产生经滤波图像数据。指令进一步使处理器执行包括基于深度信息与经滤波图像数据之间的比较修改深度信息的操作。

本发明的其它方面、优点和特征将在审阅整个申请案之后变得显而易见,所述申请案包含以下部分:附图说明、具体实施方式和权利要求书。

附图说明

图1为结构光系统的接收器装置的框图;

图2为用于说明由图1的接收器装置执行的处理级的图式;

图3为说明性结构光系统的框图;

图4为基于对象或场景说明感应深度的图式;

图5为经配置以产生深度图的说明性结构光系统的框图;

图6为修改深度信息的方法的第一说明性实例的流程图;

图7为修改深度信息的方法的第二说明性实例的流程图;及

图8为用于处理图像数据以使用图1的系统检测和/或追踪包含于图像中的线段的装置的框图。

具体实施方式

下文参考图式描述本发明的特定方面。在描述中,贯穿图式由常用参考数字指示常用特征元件。

例如移动装置的装置可经配置以产生基于内容滤波的结构光三维(3D)深度图。装置可基于所投射经译码光的图案接收包含像素强度值的图像,例如结构光图像。装置可处理图像以基于图案解码深度信息且产生深度图(例如,深度值)。装置还可处理图像以产生经滤波图像数据,例如分段图。举例来说,可通过对图像进行滤波,例如通过应用模糊滤波、低通滤波器、带通滤波器和/或总变差滤波器来产生经滤波图像数据。为了说明,一或多个滤波操作可应用于图像以减少或消除包含于图像中的所投射经译码光的图案的存在。深度图可与经滤波图像数据比较以识别与深度图相关联的缺失和/或不正确深度值。可基于经滤波图像数据与深度图之间的比较修改深度图(例如,深度值)以产生用于缺失深度值的深度值和/或校正不正确深度值。

由所揭示的方面中的至少一者提供的一个特定优势为通过产生经滤波图像数据及比较经滤波图像数据与深度信息,可识别及校正与深度信息相关联的缺失和/或不正确深度值。举例来说,缺失和/或不正确深度值可基于错误肯定、错误否定和/或解码错误。通过校正缺失和/或不正确深度值,可修改(例如,校正)深度信息。校正缺失和/或不正确深度值可使得能够通过其它应用程序(例如对象检测应用程序)改良经修改深度信息(例如,对应于深度图)的处理。

参考图1,展示结构光系统100的接收器装置102的一说明性实例。结构光系统100可包含发射器装置(未展示)和接收器装置102。结构光系统100可包括和/或嵌入于一或多个装置(例如电子装置)中。在一特定实施方案中,电子装置(例如,接收器装置102)可为移动装置,所述移动装置包含经配置以捕捉图像的图像传感器(例如相机)。举例来说,电子装置可捕捉图像且可产生对应图像数据110。

接收器装置102可经配置以产生或接收图像数据110。图像数据110可对应于包含反射代码掩码的图像。举例来说,发射器装置(未展示)可将包含一或多个码字的代码掩码投射到对象或场景上。每一码字可具有结构光的对应图案且定位在代码掩码内的已知位置处。从对象或场景反射回来的代码掩码可由接收器传感器(例如相机)捕捉为图像。代码掩码(例如,一或多个码字)在反射代码掩码中相比于所投射代码掩码的移位可“编码”(例如,用于确定)与反射所投射代码掩码的对象或场景相关联的深度信息和/或形状信息,如本文中进一步所描述。图像可包含对应于多个像素,其中每一像素具有对应像素强度值。像素强度值可包含于图像数据110中且提供至接收器装置102。在一些实施方案中,接收器装置102可包含捕捉图像及基于图像产生图像数据110的接收器传感器。接收器装置102和/或接收器传感器可感知(例如,“知道”)由发射器装置投射的代码掩码,及(因此)包含于所投射代码掩码中的一或多个码字的位置。

接收器装置102可包含深度图产生器120、滤波器130、深度修改器140和存储器160。由接收器装置102接收的图像数据110可提供至深度图产生器120和滤波器130。图像数据110还可提供至存储器106或存储在所述存储器处。

深度图产生器120可经配置以基于图像数据110产生深度信息122a。举例来说,深度图产生器120可处理图像数据110以识别包含于图像数据110(例如,图像)中的一或多个码字。举例来说,特定码字可包含结构光的对应于像素强度值的特定分组的特定图案。深度图产生器120可识别包含于图像数据110中的像素强度值的特定分组且确定对应于像素强度值的所述分组的图像的位置(例如,码字在反射代码掩码的图像中的位置)。

对于每一检测到的码字,深度图产生器120可比较所确定的码字的位置与码字在所投射代码掩码中的原始位置。举例来说,深度图产生器120可确定所投射代码掩码中的码字相比于所投射代码掩码的所接收到的反射中的码字的位移(例如,距离)。基于位移,深度图产生器120可使用一或多种技术(例如三角测量技术和/或立体图像处理技术)以确定对应于码字的一或多个深度值。因此,接收码字位置与发射码字位置之间的差可用于确定特定对象(其一部分)的深度(例如,深度值)。为了说明,针对码字确定的每一深度值可与包含于像素强度值的特定分组中的不同像素强度值相关联和/或对应于所述不同像素强度值。因此,每一深度值可对应于多个像素的对应于图像的不同像素位置。因此,深度图产生器120可产生深度信息122a,所述深度信息包含基于反射码字的图像的一或多个像素的(例如,包含于图像数据110中的一或多个像素强度值的)深度值。深度信息122a可对应于指示与图像中的对象或场景相关联的一或多个深度值的深度图。

深度信息122a可包含不正确深度数据,例如一或多个不正确深度值。不正确深度值可为基于错误肯定、错误否定、解码错误或其组合。错误肯定可与检测及解码其中不存在包含于图像中的对象的深度数据相关联。错误否定可与基于图像的阴影区域的缺失深度值相关联,其中在图像中并未检测到所投射经译码光的图案(例如,码字)。解码错误可与不正确地解码从对象(例如人体)反射回来的所投射的光的图案,和/或处理图像期间产生的解码错误(例如由深度图产生器120在处理图像数据110期间产生的解码错误)相关联。

滤波器130可经配置以图像数据110且产生经滤波图像数据132。经滤波图像数据132可包含包含于图像数据110中的每一像素强度值的经滤波强度数据值(例如,对应于图像的每一像素的经滤波强度值)。举例来说,滤波器130可对图像数据110执行一或多个滤波操作以产生经滤波图像数据132。一或多个滤波操作可包含作为说明性非限制性实例的模糊滤波操作、低通滤波操作、带通滤波操作和/或总变差滤波操作。一或多个滤波操作可经配置以减少或消除对应于所投射的光的图案的图像数据110的分量。通滤波出对应于所投射的光的图案的图像数据110的分量,滤波器130可产生表示包含于图像捕捉装置的视场中的对象或场景的经滤波图像。在一些实施方案中,一或多个滤波操作可用于识别对应于具有类似反射性的图像的部分的像素强度值的群组,例如具有包含于图像中的类似反射性的一或多个对象。举例来说,滤波器130可对图像数据110执行一或多个滤波操作的一或多个迭代以产生经滤波图像数据132。

经滤波图像数据132可包含与图像数据110中的像素强度值的数和深度信息122a中的深度值的数值值相同的经滤波图像数据值的数值。为了说明,包含于图像数据110中的像素强度值中的每一者可对应于与图像相关联的像素。深度图产生器120可处理图像数据110以产生包含于图像数据110中的每一像素强度值的深度值,使得每一深度值对应于图像的不同像素。另外,滤波器130可处理图像数据110以产生包含于图像数据110中的每一像素强度值的经滤波图像数据值,使得每一经滤波图像数据值对应于图像的不同像素。

深度修改器140可经配置以接收深度信息122a和经滤波图像数据132。深度修改器140可包含比较逻辑150。比较逻辑150可经配置以比较深度信息122a(对应于图像的深度图)与经滤波图像数据132(对应于图像的经滤波的版本)。举例来说,比较逻辑150可经配置以执行深度信息122a与经滤波图像数据132之间的逐像素比较。

基于深度信息122a与经滤波图像数据132的比较,比较逻辑150可识别包含于深度信息122a中的有效深度数据和/或无效深度数据(例如,不正确深度数据)。举例来说,当深度数据值(对应于图像的像素位置)和经滤波图像数据值(对应于图像的同一像素位置)两者指示对象存在于所述像素位置处或两者指示对象并未存在于所述像素位置处时,比较逻辑150可将包含于深度信息122a中的深度值识别为有效。作为另一实例,当深度数据值(对应于图像的像素位置)和经滤波图像数据值(对应于图像的同一像素位置)提供对象是否存在于所述像素位置处的不同指示时,比较逻辑150可将包含于深度信息122a中的深度值识别为无效(例如,不正确深度数据)。

经识别为无效的深度值(例如,不正确深度数据)可包含或对应于不正确深度值和/或缺失深度值。当深度数据值(对应于图像的像素位置)指示对象存在于所述像素位置处且经滤波图像数据值(对应于图像的像素位置)未指示对象存在于所述像素位置处时,可识别无效深度值。当深度数据值(对应于图像的像素位置)缺失深度值未指示对象存在于所述像素位置处且经滤波图像数据值(对应于图像的像素位置)指示对象存在于所述像素位置处时,可识别缺失深度值。

深度修改器140可经配置以修改包含于深度信息122a中由比较逻辑150识别为无效(不正确)深度数据的深度数据值中的一或多者。举例来说,深度修改器140可识别无效深度值及修改(例如,改变)无效深度值(其指示对象存在于像素位置处),以改为指示对象并未存在于所述像素位置处。

作为另一实例,深度修改器140可识别缺失深度值及修改(例如,改变)缺失深度值(其指示对象并未存在于像素位置处),以改为指示对象存在于所述像素位置处。深度修改器140可基于经滤波图像数据132修改缺失深度值。为了说明,深度修改器140可识别图像的对应于缺失深度值的特定像素。深度修改器140可识别对应于特定像素的特定经滤波图像数据值(包含于经滤波图像数据132)中。基于经滤波图像数据值,深度修改器140可识别图像的靠近特定像素(例如,在距离特定像素阈值距离内)的一或多个像素。一或多个像素中的每一者可对应于类似于特定经滤波图像数据值的经滤波图像数据值,且可对应于经识别为有效的深度数据。深度修改器140可基于一或多个像素确定特定深度值,且可将缺失深度值修改(例如,设定)为特定深度值。举例来说,对于一或多个像素中的每一者,深度修改器140可确定包含于深度信息122中的对应深度值且可产生特定深度值作为对应于所述一或多个像素的深度值的中位值。

在修改(例如,校正)深度信息122a之后,深度修改器140可输出深度信息122a的校正版本作为经修改深度信息122b。经修改深度信息122b可比深度信息122a更精确。经修改深度信息122b可对应于(图像的)深度图,所述深度图包含包含于图像中的一或多个对象的深度值。深度修改器140可将经修改深度信息122b发送至存储器160。存储器160可经配置以从深度修改器140接收经修改深度信息122b及存储经修改深度信息122b。

在结构光系统100的操作期间,接收器装置102可产生或接收图像数据110且将图像数据110提供至深度图产生器120和滤波器130。可从经配置以捕捉图像的图像捕捉传感器(例如包含于接收器装置102中的图像捕捉传感器)接收图像数据110。图像数据110可对应于具有基于所投射代码掩码的反射的“经编码”深度信息的图像。举例来说,所投射代码掩码可与结构光的一或多个图案(例如,一或多个码字)相关联,所述图案使得接收器装置102能够确定反射一或多个图案的对象的深度。

接收器装置102(例如,深度图产生器120)可处理图像数据110以产生深度信息122a。举例来说,深度图产生器120可处理图像数据110以基于所投射经译码光的图案(例如,码字)解码包含于图像中的深度信息。深度信息122a可对应于与图像相关联的深度图。另外,接收器装置102(例如,滤波器130)可处理图像数据110以产生经滤波图像数据132。举例来说,模糊滤波器、总变差滤波器或其组合可应用于滤波器图像数据110以产生经滤波图像数据。经滤波图像数据可与图像内具有类似反射性的区域(或对象)相关联。在一些实施方案中,经滤波图像数据132可与图像的分段图相关联。

可在执行深度信息122a与经滤波图像数据132之间执行比较以识别包含于深度信息122s中的不正确深度数据(例如,不正确深度值和/或缺失深度值)。举例来说,比较可对应于深度信息122a与经滤波图像数据132之间的逐像素比较。接收器装置102可修改(例如,校正)不正确深度数据以产生经修改深度信息122b。

尽管深度图产生器120、滤波器130和深度修改器140经说明为单独组件,但深度图产生器120、滤波器130和深度修改器140中的一或多者可包含于单一组件中。尽管比较逻辑150经描绘为包含于深度修改器140中,但在其它实施方案中,比较逻辑150可与深度修改器140分离。深度图产生器120、滤波器130、深度修改器140和/或比较逻辑150中的每一者可实施于一或多个硬件组件、软件或其组合中。

在一特定实施方案中,深度修改器140识别深度图的对应于不正确深度数据的特定像素位置。深度修改器140可基于经滤波图像数据132确定对应于特定像素位置的特定经滤波图像数据值,且可基于特定像素位置选择与图像(例如,深度图)相关联的区域。区域可与包含特定像素位置的多个像素位置相关联。接收器装置102可识别多个像素位置中的一或多个像素位置的集合,且基于对应于一或多个像素位置的集合的深度数据确定特定深度值。接收器装置102可基于特定深度值更新对应于特定像素位置的不正确深度数据以产生经修改深度信息122b。

通过使用两个不同组件(例如,深度图产生器120和滤波器130)处理图像数据110,接收器装置102可基于由接收器装置102的单一图像捕捉装置捕捉的单一数据集合(即,图像数据110)产生两个数据集合,例如深度信息122a和经滤波图像数据132。另外,通过产生经滤波图像数据132及比较经滤波图像数据132与深度信息122a,可识别及校正与深度信息122a相关联的缺失和/或不正确深度值。举例来说,缺失和/或不正确深度值可基于错误肯定、错误否定和/或解码错误。通过校正缺失和/或不正确深度值,可修改(例如,校正)深度信息122a。校正缺失和/或不正确深度值可使得能够通过其它应用程序(例如对象检测应用程序)改良经修改深度信息122b(例如,对应于深度图)的处理。

参考图2,描绘说明性实例以说明由图1的接收器装置102执行的处理级。结构光图像的一实例经描绘且总体上指定为200。结构光图像可包含或对应于由接收器装置102接收且提供至图1的深度图产生器120和滤波器130的图像数据110。结构光图像200可由检测投射到3D对象上及从3D对象反射回来的结构光(例如,对应于垂直条纹的经译码光)的相机产生。

代表性深度图图像的一实例经描绘且总体上指定为210。在深度图图像210中,不同色彩指示不同深度。深度图图像210可对应于图1的深度信息122a。深度图图像210可包含与结构光图像200相同的像素的数值,且每一像素可具有对应深度数据值。深度图图像210可基于结构光图像200。举例来说,可解码结构光图像200的光图案(例如,代码掩码的反射)以产生深度图图像210。举例来说,结构光图像200可为由深度图产生器120在处理图像数据110之后产生的深度信息122a的表示。

深度图图像210包含一或多个不正确深度值,例如第一不正确值212、不正确值214和第三不正确值216。第一不正确值212可对应于由结构光图像200中的一或多个对象的阴影区域所导致的错误肯定(例如,其中无一者应存在的深度数据)。第二不正确值214可对应于基于不恰当地经解码(例如,解码错误)的缺失深度值。第三不正确值216可对应于基于错误否定(例如,其中应存在深度数据的无深度数据)的缺失深度值。

代表性经滤波图像的一实例经描绘且总体上指定为220。经滤波图像220可对应于图1的经滤波图像数据132。经滤波图像220可包含与结构光图像200相同的像素的数值,且每一像素可具有对应经滤波图像数据值。经滤波图像220可基于结构光图像200。举例来说,结构光图像200可经处理(例如,例如通过使用模糊滤波器和/或总变差滤波器进行滤波)以识别具有类似反射性的图像的部分,从而产生经滤波图像220。处理可不使横跨边缘区域的图像的区域模糊。因此,经滤波图像220可识别结构光图像200的具有类似反射性的合并部分。

代表性中等深度图图像的一实例经描绘且总体上指定为230。中等深度图图像230可包含与结构光图像200相同的像素的数值。在中等深度图图像230中,不同颜色指示不同深度但并不直接对应于包含于深度图图像210中的颜色。在中等深度图图像230中,红色指示在深度图图像210中所识别的不正确深度数据,如本文中进一步所描述。

中等深度图图像230可对应于深度图图像210与经滤波图像220之间的比较以识别不正确深度数据。举例来说,比较可包含或对应于通过比较逻辑150执行的比较以比较深度信息122a和经滤波图像数据132。举例来说,可执行深度图图像210与经滤波图像220之间的逐像素比较以识别无效深度数据值(例如,基于阴影的错误值)。为了说明,深度图图像210可指示具有第一深度值的第一像素(对应于第一不正确值212)。然而,第一像素可具有经滤波图像220中的极低反射性值,所述值指示在第一像素的位置处不存在对象。因此,第一深度值可经识别为无效。可校正第一深度值以指示不存在对象,如中等深度图图像230中所说明。

另外地或可替代地,逐像素比较可识别缺失深度数据值。为了说明,深度图图像210可指示具有无深度值的第二像素(对应于第三不正确值216),但经滤波图像220可指示存在于第二像素的位置处的反射性对象。因此,深度图图像210的一部分可经识别为具有缺失深度数据(如由中等深度图图像230中的红色指示)。因此,基于逐像素比较,可校正无效深度值且可识别缺失深度值。因此,中等深度图图像230描绘在校正无效深度数据之后和在识别缺失深度数据之后夫人深度图图像210的版本(说明为栗色区域)。

经修改深度图图像的一实例经描绘且总体上指定为240。经修改深度图图像240可对应于图1的经修改深度信息122b。经修改深度图图像240可包含与结构光图像200相同的像素的数值。在经修改深度图图像240中,不同颜色指示不同深度但并不直接对应于包含于深度图图像210中的颜色或中等深度图图像230。

在经修改深度图图像240中,基于逐像素比较识别的缺失深度值可填入且包含于深度图中。举例来说,对应于深度图图像210和/或中等深度图图像230的深度信息可经修改以包含缺失深度值。为填充对应于深度图图像210(或中等深度图图像230)的特定像素的特定缺失深度值,可将窗设定在特定像素周围的深度图图像210中,且可识别窗内具有有效深度数据的一或多个像素(例如,非缺失深度数据的一或多个像素)。对于具有有效深度数据的窗内的一或多个像素中的每一者,可(基于经滤波图像220)确定对应反射性值。可识别具有类似于对应于特定像素(具有缺失深度值)的反射性值的反射性值的一或多个像素的集合。可基于像素的集合的有效深度值确定中值深度值,且可将特定像素的缺失深度值设定为中值深度值。因此,如经修改深度图图像240中所说明,已填充缺失深度值。举例来说,可填充(例如,填入)缺失手指的缺失深度值。另外,基于上文所描述的错误识别和深度值修改技术,已经在经修改深度图图像240中获得与深度图图像210相比更精细的面部的更精细的细节(例如鼻子、嘴巴、耳朵)。

参考图3,描绘结构光系统300。结构光系统300可使用已知图案照射场景或对象及获得通过其从2维(2D)图像和/或2D信息产生3维(3D)信息的深度信息。结构光系统300可包含发射器装置301和接收器装置102。

发射器装置301可经配置以通过代码掩码304(例如,具有代码的图像)投射光场,从而将一或多个码字投射在对象306(和/或场景)上。举例来说,包含于发射器中的编码器/形状调变器可经配置以产生随后由发射器装置301经由发射通道(例如,其中所述通道包含通过其投射复合代码掩码的路径和/或轨线)投射的代码掩码304。代码掩码304可投射到对象306(例如,目标)上。

接收器装置102可经配置以捕捉投射代码掩码310和其中的一或多个码字。举例来说,耦合到或包含于接收器装置102中的接收器传感器可经配置以捕捉从对象306反射回来的光,例如捕捉对象306的图像。对象306(例如,目标)的形状和/或深度可“经编码”于图像中。举例来说,特定码字从所投射代码到掩码到所捕捉的所投射代码掩码的反射的移位(例如,位移)可为反射所投射代码掩码的对象的深度值的表示(例如,编码)。为了说明,捕捉于图像中的所投射代码掩码310(例如,从对象306反射回来的代码掩码304)由接收器装置102使用以确定对象306的形状和/或深度。接收器装置102可“解码”所捕捉图像(例如,图像数据,例如图1的图像数据110)以获得深度图307(例如,深度数据,例如图1的深度信息122a),如参考图4进一步所描述。可(例如)通过包含于接收器装置102中的应用程序使用深度图307以产生、呈现和/或提供对象306(例如,目标)的3D版本(例如,3D图像)。接收器装置102可包含深度修改器140以校正深度图数据错误,例如由错误肯定、错误否定和/或解码错误引起的错误。举例来说,深度修改器140可修改深度图307以产生经修改深度图。

如图3中所描绘,代码掩码304的区段/部分/窗312投射(如区段/部分/窗314)到对象306的表面(例如,所投射区段/部分/窗316。所投射区段/部分/窗316可随后由接收器装置102捕获为所捕捉片段318。区段/部分/窗312可用作可经唯一地识别的码字。因此,以此方式通过用一或多个独特码字覆盖对象306(和/或场景),可识别/标记对象306(和/或场景)的区段/部分且一或多个独特码字可用于由接收器装置102深度感应。

从由接收器装置102捕捉的图像,可在对象306(或场景)中识别多个片段(例如,多个码字)。每一区段318可为在接收器装置102处可唯一地识别的,且可从代码掩码304的已知图案确定特定片段相对于其它片段的位置。从每一区段/部分/窗识别译码(例如,码字)可涉及图案分段(例如,以解决失真)和将所感知片段/部分/窗解码到对应代码中。另外,三角测量可应用于每一所捕捉片段/部分/窗以确认定向和/或深度。多个此类片段/部分/窗可经组合以将所捕捉图像图案拼接在一起。以此方式,深度的图(例如,深度图,例如图1的深度信息122a)可针对对象306(场景)而产生。

参考图4,可感应的对象或场景的深度(例如,深度数据)的实例经描绘且总体上指定为400。发射器装置301可定位在与接收器装置102相同的基线参考面(例如,透镜平面405)上。发射器装置301和/或接收器装置102可包含于图1的结构光系统100和/或图3的结构光系统300中或对应于所述结构光系统。

发射器装置301可经由孔径或透镜将代码掩码410投射到场景或对象上。举例来说,发射器装置301可使用各种类型的调变且译码方案可用于产生代码掩码410。这些调变和译码方案可包含时间译码、空间译码和直接译码,如说明性非限制性实例。代码掩码410可包含或对应于图3的代码掩码304。出于说明的目的,所投射片段/部分/窗412(表示码字)经展示为所发射代码掩码410的部分。此代码片段/部分/窗412可投射在距离发射器装置301第一距离处的第一场景(例如,第一对象406)上,和/或可投射在距离发射器装置301第二距离处的第二场景(例如,第二对象408)上。第一对象406或第二对象408可包含或对应于图3的对象306。

包含于接收器装置102中或耦合到所述接收器装置的传感器(例如,相机)可捕捉经由接收器孔径所投射代码掩码410(例如,所接收到的代码掩码411)的图像,例如从一或多个目标反射回来的所投射代码掩码410。出于说明的目的,所发射代码掩码310经展示在与所接收到的代码掩码411相同的传感器平面407上。由传感器捕捉的图像可转化成(例如,表示为)图像数据(例如图1的图像数据110)且提供至接收器装置102。图像数据可包含或对应于与图像相关联的像素强度值。接收器装置102可包含深度修改器140以校正包含于由接收器装置102产生的深度图中的深度图数据错误,例如由错误肯定、错误否定和/或解码错误引起的错误。

当第一对象406位于较接近(相对于第二对象408)于发射器装置301时(例如,距离发射器装置301第一距离),所投射片段412的反射出现在距离如由发射器装置301所发射的其初始位置的一距离d1处。当第二对象408位于较远离(相对于第一对象406)发射器装置301时(例如,距离发射器装置第二距离),所投射片段/部分/窗412的反射出现在距离如由发射器装置所发射的其初始位置的一距离d2处(其中d2<d1)。因此,对象距离发射器/接收器越远,所接收到的所投射片段/部分/窗在接收器装置102距离其原始位置越近(例如,传出投影与传入投影更平行)。相反地,对象距离发射器/接收器越近,所接收到的所投射片段/部分/窗在接收器装置102处距离其原始位置越远。因此,所接收到的码字位置和所发射的码字位置之间的差可用于确定特定对象的深度(例如,深度值)。举例来说,深度(例如,相对深度)可提供与图像相关联的每一像素或分组像素的子集(例如,两个或更多个像素的区域)的深度值。因此,可基于反射码字相对于码字在所投射代码掩码中的位置的位移确定对应于接收反射码字的图像的像素的深度信息(例如,深度值)。

参看图5,结构光系统的另一实例经描绘且总体上指定为500。结构光系统500包含发射器装置301和接收器装置102。结构光系统500可包含或对应于图1的结构光系统100和/或图3的结构光系统300。

发射器装置301可经配置以产生代码掩码(例如,结构光的图案)和/或投射代码掩码。代码掩码可包含或对应于一或多个码字。举例来说,代码掩码可包含图3的代码掩码304或图4的代码掩码410。发射器装置301可包含耦合到存储器/存储装置510的处理电路520、图像突出装置518和/或存储媒体526。

处理电路520可包含代码掩码产生器/选择器522和/或预先塑形电路524。代码掩码产生器/选择器522可经配置以选择存储于存储器/存储装置510处的一或多个预存储代码掩码512。举例来说,代码掩码产生器/选择器522可从一或多个预存储代码掩码512选择特定代码掩码,例如代码掩码528。处理电路520可发送待存储于存储媒体526处的所选代码掩码(例如,代码掩码528)。预先塑形电路524可经配置以预先塑形所选特定代码掩码以补偿通道中的预期失真,代码掩码528经由所述通道投射(例如,其中通道包含经由其投射复合代码掩码的路径和/或轨线)。预先塑形电路524可在将代码掩码528存储在存储媒体526处前或在存储在存储媒体526处之后,但在代码掩码528提供至图像投射装置518前预先塑形代码掩码528。

存储媒体526可存储代码掩码528。代码掩码528可包含由多个符号定义的一或多个码字,例如一或多个可唯一地识别的空间经译码码字(例如,可唯一地识别的结构光的图案)。代码掩码528可在投影前通过合成点扩散函数经预先塑形(例如,通过预先塑形电路524)。尽管存储媒体526经说明为包括单一代码掩码,但存储媒体526可包含多个代码掩码。尽管存储器/存储装置510和存储媒体526经说明为不同组件,但在其它实施方案中,存储器/存储装置510和存储媒体526可包含单一存储器组件。

图像投射装置518可经配置以将所选特定代码掩码(例如,代码掩码528)投射到所关注对象(例如对象530)上。举例来说,图像投射装置518可将代码掩码528投射到对象530上作为结构光的图案531。图像突出装置518可包含激光或另一光源以将所选特定代码掩码(例如,经由投影通道)投射到所关注的对象上。举例来说,代码掩码528可投射在红外线光谱中,使得代码掩码528对于肉眼为不可见的。

接收器装置102可经配置以从所接收到的“反射”代码掩码获得深度信息(例如图1的深度信息122a)及产生经修改深度信息122b。接收器装置102可包含耦合到存储器/存储装置160和接收器传感器570(例如,图像捕捉装置)的处理电路560。接收器装置102亦可包括或耦合到应用程序,例如对象检测应用程序应用程序

接收器传感器570(例如,相机等)可经配置以获得(例如,检测)投射在对象530的表面上的代码掩码的至少一部分。举例来说,接收器传感器570可捕捉包含投射到对象530上(例如,从其反射回来的)结构光的图案531的图像。基于所捕捉图像,接收器传感器570可产生及输出对应于图像的图像数据110(例如,像素强度值)。在一些实施方案中,接收器传感器570可经配置以捕捉红外线光谱中的捕捉图像(例如,反射代码掩码)。

处理电路560可包含失真调整电路/模块562、码字识别器电路/模块563、滤波器130、深度图产生器120和/或深度修改器140。失真调整电路/模块562可经配置以调整图像数据110,从而校正由接收器传感器570检测到的代码掩码的部分的失真(例如,歪斜)。码字识别器电路/模块563可经配置以从包含于图像数据中的数据值的群组检测码字(例如,数据值的群组对应于由接收器传感器570检测到的代码掩码的部分内所定义的窗)。

深度图产生器120可经配置以从失真调整电路/模块562和由码字识别器电路/模块563检测到的码字接收经调整图像数据110。深度图产生器120可包含经配置以确定对应于数据值的群组的对象530的表面部分(例如,窗)的深度信息的深度检测电路/模块565。举例来说,深度检测电路/模块565可基于已知参考代码掩码552(例如由发射器装置301使用和投射的代码掩码)确定所检测到的码字在所捕捉图像中的位置相对于码字的预期位置的位移。参考代码掩码552可存储于接收器装置102的存储器/存储装置160处。深度图产生器120可经配置以产生包含所捕捉图像的深度信息的深度图。举例来说,深度信息可包含对象530的特定深度信息。可将深度信息(例如图1的深度信息122a)从深度图产生器120提供至深度修改器140。

滤波器130可处理图像数据110以产生经滤波图像数据,例如图1的经滤波图像数据132。举例来说,滤波器130可包含或对应于模糊滤波器、总变差滤波器或其组合。经滤波图像数据可与图像内具有类似反射性的区域(或对象)相关联。

深度修改器140可经配置以从深度图产生器120接收深度信息及从滤波器130接收经滤波图像数据。深度修改器140可经配置以识别包含于深度信息中的不正确深度数据,及校正不正确深度数据以产生经修改深度信息122b。深度修改器140可将经修改深度信息122b提供至存储器/存储装置160。

存储器/存储装置160可存储一或多个代码掩码(例如代表性代码掩码552)和由深度修改器140产生的经修改深度信息122b。代码掩码552可对应于(例如,相同于)存储于发射器装置301的存储器/存储装置510处的代码掩码512中的一者。

应用程序556(例如对象检测应用程序)可经配置以存取存储于接收器装置102的存储器/存储装置160处的经修改深度信息122b。举例来说,应用程序556可经配置以检测包含于由接收器传感器570捕捉的图像中的一或多个对象。为了说明,应用程序556可包含手指检测应用程序以识别包含于图像中的手部上延长的多个手指。可替代地或另外,应用程序556可包含手势检测应用程序以基于对应于由接收器装置处理的图像序列的经修改深度信息来识别一或多个手势。

参考图6,描绘修改深度信息的方法600的第一说明性实例的流程图。方法600可由图1、3、4、或5的接收器装置102和/或图3的处理电路360执行。

方法600包含在602处在接收器装置处接收图像数据,其中图像数据对应于结构光图像。举例来说,图像数据110可由图1的接收器装置102接收。方法600进一步包含在604处,处理图像数据以基于所投射经译码光的图案解码深度信息。深度信息可对应于深度图。作为一实例,图像数据110可由深度图产生器120处理以产生深度信息122a。方法600进一步包含在606处对图像数据执行一或多个滤波操作,其中一或多个滤波操作的输出包含经滤波图像数据。举例来说,图像数据110可由滤波器130处理以产生经滤波图像数据,例如经滤波图像数据132,如关于图1所描述。方法600可包含在608处执行深度信息与经滤波图像数据之间的比较。方法600进一步包含在610处基于比较修改深度信息以产生经修改深度图。举例来说,可基于经滤波图像数据132由深度修改器140修改深度信息122a以产生经修改深度信息122b。

在一特定说明性实施中,从经配置以捕捉图像的图像捕捉传感器接收图像数据。举例来说,可由接收器装置102从图像捕捉传感器(例如相机内的传感器)接收图像数据110。图像数据可包含像素强度值,且图像数据可与反射图像相关联,通过经由与代码掩码相关联的滤波器发射所投射经译码光产生所述反射图像。举例来说,发射器装置301可经由滤波器(例如经由码字投影412)将所投射经译码光发射至反射至如图4中的接收器装置102的图像。

可通过解码深度信息处理图像数据,解码深度信息包括识别基于图像数据的码字及确定码字从所投射代码掩码中的码字的位置到图像中的码字的位置的位移,其中图像对应于所投射代码掩码的反射。可基于位移产生深度数据。

在一特定实施方案中,处理图像数据以产生经滤波图像数据包含将模糊滤波器、总变差滤波器、低通滤波器、带通滤波器或其组合应用于滤波器图像数据以产生经滤波图像数据。举例来说,滤波器130可为模糊滤波器、总变差滤波器或其组合。滤波器130可对图像数据110进行滤波以产生经滤波图像数据132。处理图像数据的方法可进一步包含执行深度信息与经滤波图像数据之间的比较。举例来说,比较可对应于执行深度信息与经滤波图像数据之间的逐像素比较。

参考图7,描绘修改深度信息的方法700的第二说明性实例的流程图。方法700可由图1、3、4或5的接收器装置102和/或图3的处理电路360执行。在一些实施方案中,在图6的方法600的608处,方法700可包含或对应于基于经滤波图像数据修改深度信息。

方法700可包含在702处识别包含于与结构光图像相关联的深度信息中的不正确深度值。修改深度信息可包含校正包含于深度信息中的不正确深度值。可替代地,处理深度信息可包含基于比较识别与深度信息相关联的缺失深度值。因此,可校正缺失深度信息或不正确深度信息以产生具有经改良精确性的经修改深度信息。包含于深度信息中的不正确深度数据可对应于与深度图相关联的一或多个像素,且修改深度信息可包含校正深度图中的不正确深度数据。

方法700可包含在704处识别深度图的特定像素位置,其中特定像素位置对应于不正确深度数据,及在706处基于经滤波图像数据确定对应于特定像素位置的特定经滤波图像数据值。举例来说,深度修改器140内的比较逻辑150可比较深度信息122a与经滤波图像数据132,如关于图1所描述。

方法700可进一步包含在708处基于特定像素位置选择与深度图相关联的区域,其中所述区域与包含特定像素位置的多个像素位置相关联,及在710处识别所述多个像素位置中的一或多个像素位置的集合。另外,方法700可包含在712处基于对应于一或多个像素位置的集合的深度数据确定特定深度值,及在714处更新对应于特定像素位置的不正确深度数据。可基于特定深度值更新不正确深度数据以产生经更新深度数据。

图6至7的方法可由现场可编程门阵列(FPGA)装置、专用集成电路(ASIC)、处理单元(例如图形处理单元(GPU)、中央处理单元(CPU))、数字信号处理器(DSP))、控制器、另一硬件装置、固件装置或其任何组合实施。作为一实例,图6至7的方法可由执行指令以修改深度信息的一或多个处理器执行。

参考图8,描绘无线通信装置800的一特定说明性实例的框图。装置800可包含图1的结构光系统100、图3的结构光系统300、图4的结构光系统400、图5的结构光系统500或其组合的一或多个组件。

装置800包含一或多个处理器810(例如,一或多个处理核心),例如数字信号处理器(DSP)、图形处理单元(GPU)和/或中央处理单元(CPU)。一或多个处理器810可耦合到存储器832。存储器832包含指令868(例如,可执行指令),例如计算机可读指令或处理器可读指令。指令868可包含可由计算机(例如由一或多个处理器810中的每一者)执行的一或多个指令。

举例来说,一或多个指令可由一或多个处理器810执行以使一或多个处理器810执行操作,所述操作包含处理对应于图像的图像数据以基于所投射经译码光的图案解码深度信息。为了说明,装置800可包含耦合到传感器884的结构光接收器886,所述传感器捕捉所投射经译码光的图案的图像。结构光接收器886可基于传感器884的输出产生图像数据110。一或多个处理器810可包含深度图产生器120,所述深度图产生器基于图像数据110解码/产生深度信息122a。在一些实施方案中,所投射经译码光的图案由耦合到结构光发射器882的投影仪880投射。因此,在一些实施方案中,装置800可经配置以充当结构光系统的发射器装置和接收器装置两者。

操作还可包含处理图像数据以产生经滤波图像数据,其中经滤波图像数据与具有类似反射性的图像的区域相关联。举例来说,一或多个处理器810可包含滤波器130,所述滤波器处理图像数据110以产生经滤波图像数据132。操作可进一步包括基于经滤波图像数据修改深度信息。举例来说,一或多个处理器810可包含深度修改器140,所述深度修改器可修改深度信息122a以产生经修改深度信息122b。

图8还展示耦合到一或多个处理器810和显示器828的显示控制器826。译码器/解码器(译码解码器)834还可耦合到一或多个处理器810。扬声器836和麦克风838可耦合到译码解码器834。一或多个处理器810还可耦合到相机控制器860,所述相机控制器耦合到相机862。在一些实施方案中,装置800包含单一图像捕捉装置(例如,相机862包含传感器884)。

图8也指示无线接口840(例如无线控制器)可耦合到一或多个处理器810和天线842。在一些实施方案中,一或多个处理器810、显示控制器826、相机控制器860、存储器832、译码解码器834、投影仪880、传感器884和无线接口840包含于封装内系统或片上系统装置822中。在其它实施方案中,输入装置830和电力供应器844耦合到片上系统装置822。此外,如图8中所说明,显示器828、输入装置830、扬声器836、麦克风838、天线842、相机862、投影仪880、传感器884和电力供应器844在片上系统装置822的外部。然而,显示器828、相机862、投影仪880、传感器884、输入装置830、扬声器836、麦克风838、天线842和电力供应器844中的每一者可耦合到片上系统装置822的组件,例如接口、控制器、发射器(例如,发射器电路)或接收器(例如,接收器电路)。

所揭示的方面中的一或多者可实施于可包含通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、卫星电话、计算机、平板计算机、便携式计算机或桌上型计算机的系统或设备(例如装置800)中。可替代地或另外,装置800可包含机顶盒、娱乐单元、导航装置、个人数字助理(PDA)、监视器、计算机监视器、电视、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、视频播放器、数字视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器、存储或检索数据或计算机指令的任何其它装置或其组合。作为另一说明性非限制性实例,所述系统或设备可包含远程单元,例如移动电话、手持式个人通信系统(PCS)单元、如个人数据助理的便携式数据单元、具备全球定位系统(GPS)功能的装置、导航装置、如仪表读取设备的固定位置数据单元或存储或检索数据或计算机指令的任何其它装置或其任何组合。

本发明的方面可适当地用于包含集成电路(包含存储器、处理器和芯片上电路)的任何装置中。虽然图1至图8中的一或多者可说明根据本发明的教示内容的系统、设备及/或方法,但本发明不限于这些所说明的系统、设备及/或方法。如本文中所说明或所描述的图1至8中的任一者的一或多个功能或组件可与图1至8中的另一者的一或多个其它部分组合。因此,本文中所描述的单个实例不应被解释为限制性的,且在不脱离本发明的教示的情况下,本发明的实例可适当组合。

所属领域的技术人员将进一步了解结合本文所揭示的方面描述的各种说明性逻辑块、配置、模块、电路和算法步骤可实施为电子硬件、由处理器执行的计算机软件或两者的组合。上文已大体在其功能性方面描述各种说明性组件、块、配置、模块、电路及步骤。此功能性是实施为硬件还是处理器可执行指令取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起对本发明的范围的偏离。

结合本文中所揭示的方面描述的方法或算法的步骤可以硬件的形式、由处理器执行的软件模块的形式或以这两者的组合形式完全体现。软件模块可驻留在随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移除式磁盘、压缩光盘只读存储器(CD-ROM)或此项技术中已知的任何其它形式的非暂时性存储媒体中。示例性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可以驻留在专用集成电路(ASIC)中。ASIC可驻存在计算装置或用户终端中。在替代方案中,处理器及存储媒体可以作为离散组件驻留在计算装置或用户终端中。

提供先前描述使得所属领域的技术人员能够进行或使用所揭示的方面。所属领域的技术人员将容易明白对这些方面的各种修改,且在不脱离本发明的范畴的情况下,本文中所界定的原理可应用于其它方面。因此,本发明并不意图限于本文展示的方面,而应被赋予与如通过所附权利要求书界定的原理及新颖特征一致的可能的最广范围。

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