使用移位阴影轮廓的视差图中的对象重构的制作方法

文档序号:16991091发布日期:2019-03-02 00:58阅读:148来源:国知局
使用移位阴影轮廓的视差图中的对象重构的制作方法

各种特征涉及主动深度感测,且更确切地说,涉及使用移位阴影轮廓的视差图中的对象重构。



背景技术:

作为结构光主动感测系统的成像装置包含发射器和接收器,所述发射器和接收器经配置以发射(投影)和接收对应于空间代码(或“码字”)的图案以产生指示场景中的一或多个对象距成像装置的距离的视差图。场景中的对象距发射器和接收器越远,从所述对象反射的所接收码字距其原始位置(与所发射的码字相比)就越接近,因为传出码字的传播路径与经反射传入码字的传播路径更为平行。相反地,对象距发射器和接收器越接近,所接收码字距其在所发射码字中的原始位置就越远。相应地,所接收码字的位置与对应的所发射码字的位置之间的差异可以用于确定场景中对象的深度。结构光主动感测系统可使用这些经确定深度来产生场景的视差图,所述视差图可以是场景的三维表示。许多应用程序可能受益于确定场景的视差图,包含图像质量增强和计算机视觉技术。

每个码字可以由对应于码元的密集度值的行和列表示。举例来说,二进制空间代码可以使用对应于阴暗和明亮密集度值的零(0)和一(1)来表示二进制图案。其它空间代码可以使用对应于多于两个码元的多于两个不同密集度值。也可以使用其它空间表示。

产生视差图取决于检测码字。为了检测由码元阵列组成的码字,解码滤波器可识别码字和码元的空间边界,并基于码元的密集度值将其分类为(例如)“0”或“1”。解码滤波器可使用对应于用于界定可能的码字集合的调和基底函数集合的匹配滤波器来对传入基底函数进行分类。因此,视差图精确度取决于精确地接收码元、码字和/或基底函数。

由于投影仪、对象和对象后面的背景的相对位置,对象附近(例如,沿对象的一侧)的阴影可以存在于图像中,引起在这些像素(中断像素)处的空间代码间隙(中断)。中断也可以来自具有不规则纹理(例如,头发)的表面、相对于相机倾斜的对象,或引起阴影区的部分遮挡。因此,需要在阴影区中重构对象边界的方法和系统。经重构对象边界可随后用于从结构光系统中产生更精确和完整的视差图。



技术实现要素:

本发明的样本方面的概述如下。为了方便起见,本发明的一或多个方面在本文中可以被简单地称为“一些方面”。本文中所公开的方法和设备或装置各自具有若干方面,所述方面中的任何单一者均不独自负责其所期望的属性。在不限制(例如)如由所附权利要求书所表示的本发明的范围的情况下,现将简要地论述其较显著的特征。在考虑此论述之后,并且尤其在阅读标题为“具体实施方式”的章节之后,将理解所描述的特征如何提供包含引起更少的解码误差的使用移位阴影轮廓的视差图中的对象重构的有效的方式的优点。

一个创新是一种结构光系统。结构光系统可以包含经配置以投影码字的图像投影装置。结构光系统可进一步包含接收器装置,其包含传感器,所述接收器装置经配置以感测从对象反射的投影码字。结构光系统可进一步包含处理电路,其经配置以产生对象的视差图。处理电路可进一步经配置以检测视差图中的对象的第一边界。处理电路可进一步经配置以识别邻接第一边界的视差图中的阴影区,所述阴影区包含具有码字中断的像素。处理电路可以进一步经配置以确定阴影区的边界。处理电路可以进一步经配置以确定阴影区的宽度。处理电路可以进一步经配置以改变视差图中的对象的形状。结构光系统可进一步包含存储器装置,其经配置以存储视差图。

对于一些实施方案,处理电路进一步经配置以阴影区的宽度朝向对象移位阴影边界的表示。对于一些实施方案,处理电路进一步经配置以使用所确定的边界和宽度形成对象的第二边界。在各种实施方案中,改变视差图中的对象的形状是基于以阴影区的宽度朝向对象移位的所确定的边界的表示的。

对于一些实施方案,处理电路进一步经配置以基于来自视差图的多个行的阴影区中的多个邻近像素确定阴影区的宽度。对于一些实施方案,处理电路进一步经配置以通过计算邻接第一边界的阴影区中的邻近像素的中值数来确定宽度。对于一些实施方案,处理电路进一步经配置以通过计算邻接第一边界的阴影区中的邻近像素的平均数来确定宽度。对于一些实施方案,处理电路进一步经配置以调节阴影区的宽度以移动阴影边界的表示的位移以增加第一边界与第二边界之间的重叠。

对于一些实施方案,处理电路使用邻接对象像素的视差图值使并不邻接阴影区的第一边界的部分平整。对于一些实施方案,处理电路进一步经配置以基于视差图中的对象的改变的形状更新视差图。对于一些实施方案,存储器装置进一步经配置以存储更新后的视差图。

另一创新是重构视差图中的对象边界的方法。所述方法可包含通过图像投影装置投影码字。所述方法可进一步包含通过包含传感器的接收器装置感测从对象反射的经投影码字。所述方法可进一步包含产生对象的视差图。所述方法可进一步包含通过存储器装置存储视差图。所述方法可进一步包含检测视差图中的对象的第一边界。所述方法可进一步包含识别邻接第一边界的视差图中的阴影区,所述阴影区包含具有码字中断的像素。所述方法可进一步包含确定阴影区的边界。所述方法可进一步包含确定阴影区的宽度。所述方法可进一步包含改变视差图中的对象的形状。

在各种实施例中,所述方法可进一步包含以阴影区的宽度朝向对象移位阴影边界的表示。在各种实施例中,所述方法可进一步包含使用所确定的边界和宽度形成对象的第二边界。在各种实施方案中,以阴影区的宽度朝向对象移位的所确定的边界的表示用于改变视差图中的对象的形状。

在各种实施例中,所述方法可进一步包含基于来自视差图的多个行的阴影区中的多个邻近像素确定阴影区的宽度。在各种实施例中,所述方法可进一步包含通过计算邻接第一边界的阴影区中的邻近像素的中值数来确定宽度。在各种实施例中,所述方法可进一步包含通过计算邻接第一边界的阴影区中的邻近像素的平均数来确定宽度。在各种实施例中,所述方法可进一步包含调节阴影区的宽度以移动阴影边界的表示的位移以增加第一边界与第二边界之间的重叠。

在各种实施例中,所述方法可进一步包含使用邻接对象像素的视差图值使并不邻接阴影区的第一边界的部分平整。在各种实施例中,所述方法可进一步包含基于视差图中的对象的改变的形状更新视差图。在各种实施例中,所述方法可进一步包含在存储器装置中存储更新后的视差图。

另一创新是一种结构光系统。所述结构光系统可包含用于投影码字的装置。所述结构光系统可进一步包含用于感测从对象反射的经投影码字的装置。所述结构光系统可进一步包含用于产生对象的视差图的装置。所述结构光系统可进一步包含用于存储视差图的装置。所述结构光系统可进一步包含用于检测视差图中的对象的第一边界的装置。所述结构光系统可进一步包含用于识别邻接第一边界的视差图中的阴影区的装置,所述阴影区包含具有码字中断的像素。所述结构光系统可进一步包含用于确定阴影区的边界的装置。所述结构光系统可进一步包含用于确定阴影区的宽度的装置。所述结构光系统可进一步包含用于改变视差图中的对象的形状的装置。

在各种实施例中,投影装置可以包含激光系统。在各种实施例中,感测装置可以包含接收器传感器。在各种实施例中,产生装置可以包含处理电路。在各种实施例中,存储装置可以包含存储器装置。在各种实施例中,第一边界检测装置可以包含处理电路。在各种实施例中,阴影区识别装置可以包含处理电路。在各种实施例中,阴影区边界确定装置可以包含处理电路。在各种实施例中,阴影区宽度确定装置可以包含处理电路。在各种实施例中,改变装置可以包含处理电路。

在各种实施例中,结构光系统进一步包含用于以阴影区的宽度朝向对象移位阴影边界的表示的装置。在各种实施例中,结构光系统进一步包含用于使用所确定的边界和宽度形成对象的第二边界的装置。

在各种实施例中,结构光系统进一步包含用于基于来自视差图的多个行的阴影区中的多个邻近像素确定阴影区的宽度的装置。在各种实施例中,结构光系统进一步包含用于通过计算邻接第一边界的阴影区中的邻近像素的中值数来确定宽度的装置。在各种实施例中,结构光系统进一步包含用于通过计算邻接第一边界的阴影区中的邻近像素的平均数来确定宽度的装置。在各种实施例中,结构光系统进一步包含用于调节阴影区的宽度以移动阴影边界的表示的位移以增加第一边界与第二边界之间的重叠的装置。

在各种实施例中,结构光系统进一步包含用于使用邻接对象像素的视差图值使并不邻接阴影区的第一边界的部分平整的装置。在各种实施例中,结构光系统进一步包含用于基于视差图中的对象的改变的形状更新视差图的装置。在各种实施例中,结构光系统进一步包含用于存储更新后的视差图的装置。

另一创新是一种存储指令的非暂时性计算机可读媒体,所述指令在被执行时使得处理器执行在视差图中重构对象边界的方法。所述方法可包含通过图像投影装置投影码字。所述方法可进一步包含通过包含传感器的接收器装置感测从对象反射的经投影码字。所述方法可进一步包含产生对象的视差图。所述方法可进一步包含通过存储器装置存储视差图。所述方法可进一步包含检测视差图中的对象的第一边界。所述方法可进一步包含识别邻接第一边界的视差图中的阴影区,所述阴影区包含具有码字中断的像素。所述方法可进一步包含确定阴影区的边界。所述方法可进一步包含确定阴影区的宽度。所述方法可进一步包含以阴影区的宽度朝向对象移位阴影边界的表示,移位的表示形成对象的第二边界。所述方法可进一步包含改变视差图中的对象的形状。

在各种实施例中,所述方法可进一步包含以阴影区的宽度朝向对象移位阴影边界的表示。在各种实施例中,所述方法可进一步包含使用所确定的边界和宽度形成对象的第二边界。在各种实施例中,所述方法可进一步包含基于来自视差图的多个行的阴影区中的多个邻近像素确定阴影区的宽度。在各种实施例中,所述方法可进一步包含调节阴影区的宽度以移动阴影边界的表示的位移以增加第一边界与第二边界之间的重叠。在各种实施例中,所述方法可进一步包含使用邻接对象像素的视差图值使并不邻接阴影区的第一边界的部分平整。

附图说明

各种特征、方面和优点将根据本文中的描述和所附图式变得显而易见,在所述图式中,相同参考符号通常将识别图式中所说明的对应的方面或组件。如所属领域的技术人员将理解,除非另外陈述,否则在用于实施例的所描述或所说明方面在对于此类实施例的实施方案或功能并非不可行的情况下,所述方面可包含在一或多个其它所描述或所说明的实施例中。

图1是说明主动感测系统的实例的示意图,其中已知图案用于照亮场景和获取深度信息,使用所述深度信息来根据二维(2d)图像和/或信息产生三维(3d)信息。

图2是说明用于主动感测的系统的另一实例的图式,其中根据2d图像或信息构建3d场景。

图3是说明可如何感测对象或场景的深度的示意图。

图4是说明可经配置以产生复合代码掩码和/或投影此类复合代码掩码的发射器装置的实例的框图。

图5是说明可经配置以从复合代码掩码中获取深度信息的接收器装置的实例的框图。

图6是经配置以执行本文中所公开的误差校正方法中的一或多个的设备的一个实施例的框图。

图7是说明代码掩码的实例的图片,所述代码掩码具有对应于明亮光点和阴暗光点的码元的阵列。

图8是具有将视野上的码字投影到具有矩形对象和背景的场景上的红外投影仪的实例场景的俯视图。

图9是图8的矩形对象、其阴影和背景的视差图。

图10是人的头部和肩部的视差图,包含来自阴影的中断像素。

图11是具有图10的人的视差图的边界(边缘)的图像,包含对象/中断和中断/背景边界。

图12是具有在以阴影区的宽度移位中断/背景边界之后图10的人的经重构对象边界的图像。

图13是基于图12的经重构对象边界具有中断像素的估计值的视差图。

图14说明用于在视差图中重构对象边界的过程1400的实例。

具体实施方式

以下详细描述涉及某些特定实施例。然而,所公开的方法和系统可以众多的不同方式实施。应当显而易见的是本文中的方面可以按多种多样的形式实施,并且本文中所公开的任何特定结构、功能或这两者仅为代表性的。本文中所公开的方面可以独立于任何其它方面而实施。这些方面中的两个或多于两个可以按不同方式组合。举例来说,可以使用本文中所阐述的任何数目的方面来实施设备或实践方法。另外,通过使用除了在本文中所阐述的方面中的一或多个之外或不同于在本文中所阐述的方面中的一或多个的其它结构、功能性或结构和功能性,可以实施此类设备或可以实践此类方法。

另外,本文中所描述的系统和方法可以在各种不同成像系统及计算装置和系统上实施。它们可以使用通用或专用系统。

结构光主动感测系统用红外投影仪投影空间代码并且用相机感测具有从对象的表面反射的空间代码的图像以产生对象的视差图的点。视差图提供与对象的表面相关联的相对深度信息。由于投影仪、对象和对象后面的背景的相对位置,对象附近(例如,沿对象的一侧)的阴影可以存在于图像中,引起在这些像素处的空间代码间隙(中断)。深度无法在具有代码中断的像素位置处直接地计算;替代地,深度可以仅在这些位置处估计。举例来说,如果存在单个像素中断并且视差图中的全部相邻像素在相同深度的容限内,那么在具有中断的像素处的深度可以基于相邻深度精确地估计。然而,如果相邻像素具有不同深度,因为具有代码中断的像素在对象边界处或在对象边界附近,那么在具有中断的像素处的深度可以是不精确的,因为在基本上不同深度处的前景像素和背景像素将组合或平均,引起不精确的深度估计值。如果可以估计对象边界,那么在阴影区中更精确的估计值将是可能的,因此深度估计值仅基于在所考虑的对象边界线的相同侧上的那些像素。中断也可以来自具有不规则纹理(例如,头发)的表面、相对于相机倾斜的对象,或部分遮挡。在存在中断的地方,可能难以精确地对码元、码字和基底函数进行分类,引起具有不精确的对象边界的不精确的视差图。

在阴影存在下估计视差的现有方法和系统可能不考虑对象形状和边界。所公开的技术包含系统和方法以填充代码间隙以产生更精确和完整的视差图。举例来说,在一些实施例中,一种方法包含:产生对象的视差图;检测视差图中的对象的第一边界;识别邻接第一边界的视差图中的阴影区(包含具有码字中断的像素的阴影区);确定阴影区的边界;确定阴影区的宽度;通过阴影区的宽度朝向对象移位阴影边界的表示,移位的表示形成对象的第二边界;以及基于第二边界改变视差图中的对象的形状。这引起用于在视差图中填充中断的对象边界的更精确的表示,引起在视差图中更好地界定的对象边界,具有在边界的两侧上的更精确的深度。

图1说明根据二维图像产生例如深度图107(视差图)的三维信息的主动感测系统100的实例。主动感测系统100包含发射器102和接收器108。发射器102通过代码掩码投影光以形成经投影图像104。经投影图像104的部分112包含投影到场景106上的唯一码字120。场景106中的对象的表面由空间图案116照亮,所述空间图案形成由接收器108感测的经反射图像的部分。接收器108感测经反射图像110的部分118(片段)(包含唯一码字120),并且将唯一码字120的相对位置与代码掩码中的其它唯一码字进行比较以确定场景106中的对象的表面的深度信息,以用于产生深度图107,如下文关于图3所描述。接收器108基于关于场景中的对象的表面的深度估计值形成深度图107,所述表面从经反射图像110的其它片段反射其它可识别的码字。每个经捕获片段118可在接收器108处和根据经译码掩码的已知图案确认的其相对于其它片段的位置唯一地识别。接收器108可使用图案分段技术来解决失真、使用解码技术来识别代码并使用三角测量来确认定向和/或深度。在一个实施例中,发射器102可以是红外发射器。在一个实施例中,单个外壳可以包含发射器102和接收器108两者。

图2说明用于主动感测以产生深度图(视差图)并且显示场景的三维表示的系统的另一实例。编码器/形状调制器201可产生随后由发射器装置202在发射信道204上投影的代码掩码。代码掩码可以投影到目标(例如,场景)上并且反射光被接收器传感器205俘获作为经投影代码掩码图像。接收器传感器205(例如,图1中的接收器108)俘获目标的经反射图像,分段/解码器206将所述图像分段并进行解码以确定用于产生深度图208的深度信息。深度图208可随后用于呈现、产生和/或提供例如个人210a、客厅210b或拿着相机的个人210c的3d图像版本。

主动感测依赖于能够从由发射器装置202投影在场景上的代码掩码辨识(在接收器传感器205和/或分段/解码器206处)空间代码(例如,码字)。如果场景过于接近发射器和接收器,那么场景的表面可成角度或弯曲,基线参考平面121可倾斜,且代码可在未知仿射变换(例如,旋转、偏斜、压缩、延长等等)下被修改。本文中所描述的一或多个方面或特征可在图1和2的示例性环境内实施。

图3说明可如何感测场景中的一或多个对象的深度的实例。图3示出了通过结构光作为码字投影310照亮两个对象306和308的装置300。码字投影310从对象306和/或308反射并且作为经反射码字311在传感器平面307上被接收。

如图3中所说明,装置300穿过发射器孔隙313将码字投影310投影在透镜平面305上。装置300经由透镜平面305上的接收器孔隙315接收来自对象306和/或308的反射光并且将所接收的码字反射311聚焦在传感器平面307上。因此,装置300说明单个装置中的结构光的发射和反射。在一些实施例中,发射器和接收器功能通过两个单独的装置执行。

码字投影310照亮对象306作为投影片段312',并且照亮对象308作为投影片段312"。当投影片段312'和312"穿过接收器孔隙315由装置300接收时,经反射码字311可示出在第一距离d1处从对象308产生的反射和在第二距离d2处从对象306产生的反射。

如图3中所说明,对象306位于较接近装置300处(例如,与装置300相距第一距离),并且经投影片段312'出现在与其初始位置相距距离d2处。相比之下,对象308位于更远处(例如,与装置300相距第二距离),并且经投影片段312"出现在与其初始位置相距距离d1处(其中d1<d2)。也就是说,对象距装置300越远,所接收的投影片段/部分/窗口在装置300处距其原始位置越近(例如,传出投影与传入投影更为平行)。相反地,对象距装置300越接近,所接收的投影片段/部分/窗口在装置300处距其原始位置越远。因此,所接收的与所发射的码字位置之间的差异可用作对象的深度的指标。在一个实例中,此类深度(例如,相对深度)可提供通过图像中的每个像素或分组的像素(例如,两个或大于两个像素的区)所描绘的对象的深度值。

各种类型的调制和译码方案可以用于产生码字投影或代码掩码。这些调制和译码方案包含例如时间译码、空间译码和直接译码(directcodification)。

在时间译码中,图案随时间推移连续地投影到测量表面上。这种技术具有高精确度和分辨率,但较不适合于动态场景。

在空间译码中,信息基于形状和图案在局部邻域中编码。伪随机代码可基于de-bruijn,或m阵列界定有效码字的码本(例如,m进制密集度或色彩调制)。图案分段可能不能轻易地获得,例如,其中形状和图案失真。

在直接译码中,编码水平和垂直像素坐标两者。可通过单调相位或密集度波形进行调制。然而,这个方案可利用大于用于其它方法的码本的码本。在大部分方法中,所接收码字(所感测码字)可与可能码字的所界定集合(例如,在码本中)相关。因此,使用较小码字集合(例如,较小码本)与较大码本相比可提供更好的性能。并且,由于较大码本导致码字之间的较小距离,使用较大码本的实施方案可经历额外误差。

结构光图案可通过照射光穿过代码掩码投影到场景上。穿过代码掩码投影的光可含有一或多个经棋盘形布置的代码掩码图元。每个代码掩码图元可含有空间代码的阵列。码本或数据结构可包含代码的集合。空间代码、代码掩码和代码掩码图元可使用基底函数产生。可选择基底函数的周期性来满足对于埃尔米特对称性的聚集图案(用于消除重影图像与简化制造)、最小占空比(为确保每码字最小功率)、完美的窗口特性(用于最佳轮廓分辨率与高分辨率的代码填充)和随机移动(用于对象边界的改进的检测)的需求。接收器可在解调、解码和校正所接收图案中的误差时利用意图符合约束条件的码本和/或设计的属性。

空间代码的大小和对应的分辨率对应于在代码掩码上的空间代码的物理空间范围。大小可对应于表示每个码字的矩阵中的行与列的数目。码字越小,可检测的对象越小。举例来说,为了检测和确定衬衫上的按钮与衬衫面料之间的深度差异,码字应该不大于按钮的大小。在一些实施例中,每个空间代码可占据四行和四列。在一些实施例中,代码可占据更多或更少的行和列(行×列),占据例如3×3、4×4、4×5、5×5、6×4或10×10行和列。

空间代码的空间表示对应于每个码字元素如何在代码掩码上图案化,并且随后投影到场景上。举例来说,每个码字元素可使用一或多个斑点、一或多个线段、一或多个网格、某一其它形状或其某一组合表示。

空间代码可以包含穿过代码掩码发射光的明亮位或部分(例如,“1”)和不穿过代码掩码发射光的阴暗位或部分(例如,“0”)。空间代码的“占空比”对应于投影光的明亮位或部分的百分比。举例来说,20%的位或部分为明亮的空间代码具有与70%的位或部分为明亮的空间代码相比较低的占空比。可能难以检测具有过低占空比的码字。

代码的“轮廓分辨率”或“完美窗口”特性指示当由例如一位旋转的量移动码字时,所得数据表示另一个码字。

图4是说明经配置以产生复合代码掩码和/或投影此类复合代码掩码的发射器装置402的实例的框图。在此实例中发射器装置402包含耦合到存储器/存储装置406(存储器装置)的处理电路404、图像投影装置408和/或有形媒体409。发射器装置402可对应于上文相对于图3所论述的装置300的码字投影310和发射器孔隙312部分。

在第一实例中,发射器装置402可以包含有形媒体409。有形媒体可界定、包含和/或存储复合代码掩码414。有形媒体409可以是编码代码掩码的衍射光学元件(doe),使得当来自激光器或其它光源的光穿过doe以例如近红外频率投影时,码字图案图像从发射器402投影。复合代码掩码414可包含与载体层组合的代码层。代码层可包含由多个码元界定的可唯一地识别的经空间译码的码字。载体层可独立地确认且不同于代码层。载体层可包含对于投影时的失真稳固的多个参考对象。可在投影之前通过合成点扩散函数来预先成形所述代码层与载体层中的至少一个。

在第二实例中,处理电路(或处理器)404可包含代码层产生器/选择器416、载体层产生器/选择器418、复合代码掩码产生器/选择器420和/或预先成形电路422。代码层产生器/选择器416可选择预先存储的代码层410和/或可产生此类代码层。载体层产生器/选择器418可选择预先存储的载体层412和/或可产生此类载体层。复合代码掩码产生器/选择器416可选择预先存储的复合代码掩码414和/或可将代码层410和载体层412进行组合以产生复合代码掩码414。任选地,处理电路404可包含预先成形复合代码掩码414、代码层410和/或载体层412来补偿信道中预期的失真的预先成形电路422,复合代码掩码414穿过所述信道投影。

在一些实施方案中,多个不同代码层和/或载体层可以是可供使用的,其中每个此类载体层或代码层可经配置以用于不同条件(例如,用于处于不同距离处的对象,或发射器装置与接收器装置之间的不同配置)。举例来说,对于第一距离或范围内的对象,可使用与处于第二距离或范围处的对象不同的代码层与载体层的组合,其中第二距离大于第一距离。在另一实例中,可取决于发射器装置与接收器装置的相对定向而使用代码层与载体层的不同组合。

图像投影装置408可用于将所产生/所选择的复合代码掩码投影到所关注对象上。举例来说,图像投影装置408的激光器或其它光源(未示出)可用于将复合代码掩码投影到所关注对象上(例如,穿过投影信道)。在一个实例中,复合代码掩码414可在红外光谱中投影,因此其对于裸眼可能不可见。替代地,红外光谱范围中的接收器传感器可用于俘获此类经投影复合代码掩码。

图5是说明经配置以接收从对象反射的复合代码掩码且根据复合代码掩码确定深度信息的接收器装置502的实例的框图。接收器装置502可包含耦合到存储器/存储装置的处理电路504和接收器传感器508(例如,图像俘获装置508)。在一些方面中,图5中所说明的接收器装置502可对应于上文相对于图3所论述的装置300的接收器孔隙315和码字反射311。在一些实施例中,接收器传感器508是图像俘获装置,例如,相机。

接收器传感器508可经配置以获取投影在对象的表面上的复合代码掩码的至少一部分。举例来说,接收器传感器可俘获投影在目标对象的表面上的复合代码掩码414的至少一部分的图像。复合代码掩码414可由以下项界定:(a)由多个码元界定的可唯一地识别的经空间译码码字的代码层,和(b)载体层,其可独立地确认且不同于所述代码层并且包含对于投影时的失真稳固的多个参考对象。可能在投影之前已通过合成点扩散函数来预先成形代码层和载体层中的至少一个。在一个实例中,接收器传感器508可在红外光谱中俘获(感测)复合代码掩码。

仍参考图5,在一些实施例中,代码层可以包含n1×n2个二进制码元,其中n1和n2是大于二的整数。在复合代码掩码中,每个符号可以是不同于参考对象的两个灰度阴影中的一个中的线段。代码层的码元可在至少一个维度上交错。载体层参考对象可以包含用其间的保护间隔同等地隔开的多个参考条带。参考条带与保护间隔可以具有不同宽度。每个参考条带相对于保护间隔宽度的宽度可通过发射器装置和/或接收器装置的预期的光学扩展而确定。

处理电路504可包含参考条带检测器电路/模块512、失真调节电路/模块514、码字识别器电路/模块516、深度检测电路/模块518和/或深度图产生电路/模块520。

参考条带检测器电路/模块512可经配置以检测复合代码掩码的部分内的参考条带。失真调节电路/模块514可经配置以基于相对于参考条带的实际定向的参考条带的预期定向而调节复合代码掩码的部分的失真。码字识别器电路/模块516可经配置以从复合代码掩码的部分内界定的窗口中获取码字。深度检测电路/模块518可经配置以基于以下各项获取对应于窗口的目标对象的表面部分的深度信息:(a)复合代码掩码的单个投影,和(b)窗口相对于已知参考代码掩码的位移。

深度图产生电路/模块520可经配置以基于检测为未失真复合代码掩码的部分内的不同重叠窗口的多个码字而汇编对象的深度图。

图6是说明经配置以执行本文中所公开的误差校正方法中的一或多个的设备的实施例的框图。设备600包含光发射器602、光接收元件604、处理器606和存储器608。光发射器602、光接收元件604、处理器606和存储器608经由总线610可操作地连接。在一些方面中,光接收元件604可对应于上文相对于图5所论述的接收器装置502。在一些方面中,光发射器602可对应于上文相对于图4所论述的发射器装置402。

存储器608可存储配置处理器606以执行本文中所论述的方法的一或多个功能的指令。举例来说,存储在存储器中的指令可配置处理器606以:产生对象的视差图;检测视差图中的对象的第一边界;识别邻接第一边界的视差图中的阴影区(包含具有码字中断的像素的阴影区);确定阴影区的边界;确定阴影区的宽度;通过阴影区的宽度朝向对象移位阴影边界的表示,移位的表示形成对象的第二边界;以及基于第二边界改变视差图中的对象的形状。存储在存储器中的指令可进一步配置处理器基于检测到的阴影区根据下文论述的方法1500改变视差图中的对象的形状。

图7是代码掩码700的实例的图片,所述代码掩码具有对应于明亮光点和阴暗光点的码元的阵列。在此实例中,明亮光点对应于“1”码元。在其它实施例中,每个明亮光点可表示零(“0”)码元并且阴暗光点可表示一(“1”)码元。明亮光点成行和列对齐,并通过黑色保护间隔和保护带分离,所述黑色保护间隔和保护带向经投影代码赋予结构并使确定个体码元和码字的空间边界成为可能。码字占据包含码元的行和列的矩形空间区域。举例来说,码字可包含在四个行和四个列中的十六个码元。具有明亮光点的“1”码元可见,但具有阴暗光点的“0”码元混合到保护间隔和保护带中。

图8是具有将视野815上的码字投影到具有矩形对象830和背景840的场景上的红外投影仪810的实例场景800的俯视图。具有视野825的相机820俘获对象830和背景840的图像以产生视差图900。

图9是图8的矩形对象830、其阴影和背景的视差图900的实例。视差图900包含对象830的对象图像930、背景840的背景图像940,和第一阴影区950,以及第二阴影区960。在此实例中第一阴影区950和第二阴影区960形成于对象830的右侧,因为相机820是与红外投影仪810的右侧水平对齐的并且放置到所述红外投影仪的右侧。

第一阴影区950的最右侧边界具有与对象830的最右侧边界相同的形状。第二阴影区960可以通过对象830的表面的不规则或纹理形成;它并不反映对象830的边界的形状。具有与对象830(图8)的最右侧边界相同的形状的第一阴影区950的最右侧边界945可以对应于第一阴影区950的宽度(w)的像素数目向左移位(移动)以符合对象830的最右侧边缘以校正造成第二阴影区960的对象830的表面的不规则或纹理。

第一阴影区950的宽度(w)可以通过计算邻近阴影像素(也被称作“中断像素”)的中值、众数或平均数来估计。当确定宽度时可以排除离群值。移位的边界左侧的阴影像素对应于由于对象830的不规则或表面纹理而出现的第二阴影区960像素。这些中断像素可以“校正”或填充为对象像素。对象像素的视差值可以通过插入相邻对象像素视差值的视差值来近似。

图10是表示人的头部和肩部的视差图1000的实例,包含来自所投影的光阴影的中断像素。“中断像素”被定义为尚未接收到有效的空间代码的像素。像素1010(通过第一图案表示)包含人的头部和肩部,其中最亮的像素在人的鼻尖处,因为它最接近于相机。像素1020(通过第二图案表示)被说明为较暗,因为与前景中的人相比它们离相机更远。像素1030(通过第三图案表示)对应于没有代码的中断像素,其深度尚未被估计。在像素1030处的代码中断可对应于图像中的人的头部的右侧的阴影区1031,在他的下巴1033之下、朝向他的头顶1035、沿着他的领口线1037,以及沿着人的头部和肩部的周长1039的其它处。朝向人的头顶1035和在他的下巴1033处/附近的像素1030可以是由于他的头发和胡须的纹理。阴影区1030包含来自通过人的头部和肩部形成的阴影(对应于图9的第一阴影区950)的中断像素以及由于人的不规则或表面纹理(例如,头发)(对应于图9的第二阴影区960)出现的中断像素。

深度(和视差)可以通过上文相对于图3所描述的结构光技术针对前景中的像素1010和背景中的像素1020两者计算。然而,深度无法在具有代码中断的像素位置处直接地计算;替代地,深度可以仅在这些位置处估计。举例来说,如果存在单个中断像素(缺乏深度估计值的单个像素,因为未接收有效的代码)并且视差图中的全部相邻像素在相同深度的容限内,那么在具有中断的像素处的深度可以基于相邻深度精确地估计。

如果因为中断像素处于或接近于对象边界而使得相邻像素具有不同深度,那么基于相邻像素的中断像素的深度估计值可以是不精确的,因为在基本上不同深度处的前景像素和背景像素将被组合或平均。这将倾向于模糊或低通滤波器边界,引起接近边界的具有不太精确深度估计值的较少不同的对象边界。

如果对象边界经重构,那么在阴影区域中更精确的估计值将是可能的,因此深度估计值仅基于在所考虑的对象边界线的相同侧上的那些像素。因此,中断像素可以通过以下项更精确地填充:首先重构他的头部的边界;且随后使用相邻对象像素的已知的深度估计在边界的对象侧上的每个像素处的深度;并且使用相邻背景像素的已知的深度估计在边界的背景侧上的每个像素处的深度。

图11是具有图10的人的视差图1000的边界(边缘)的图像,包含对象/中断和中断/背景边界。在图11的实例中,边界图像1100包含对象像素与中断像素之间的对象/中断边界1110以及中断像素与背景像素之间的中断/背景边界1120。对象像素、中断像素和背景像素分别对应于图10中所说明的像素1010、像素1030和像素1020。中断/背景边界1110遵循人的头部和左肩的构形,因为阴影轮廓的形状对应于形成阴影的对象。

在图11的实例中,人的头部的右侧的的中断/背景边界1120与他的头部的对象/中断边界相比更紧密地对应于他的头部的形状。人的头部的中断/背景边界可用于重构人的头部的形状,方法是以阴影区的宽度1125移位中断/背景边界,使得两个边界重叠。

图12说明在以阴影区的宽度1125移位中断/背景边界1120之后人的头部1215和肩部1220的经重构对象边界1210。一旦移位,则中断/背景边界1120形成对象边界的更精确表示。

图13是基于图12的经重构对象边界1210具有中断像素的估计值的视差图1300。人的头部1315和肩部1320的新对象边界1310内的每个中断像素的深度是使用相邻对象像素深度(而不是背景像素深度)估计的。在经重构边界1210的另一侧上的中断像素的深度是使用相邻背景像素深度(而不是对象像素深度)估计的。这引起与可能的相比更精确的视差图1300而没有对象边界重构。

图14说明用于在视差图中重构对象边界的过程1400的实例。

在框1405处,过程1400通过图像处理装置投影码字。过程1400投影激光穿过代码掩码以将码字投影到场景上。所述代码掩码具有相同码字、相关联的码元且由相同调和基底函数形成为上文相对于图3和4所描述的代码掩码。所述码字以一定时间间隔持续地经投影。经投影码字可投影到场景或场景中的对象上。这可例如通过图4的图像投影装置408或图6的光发射器602执行。

在框1415处,过程1400通过包含传感器的接收器感测从对象反射的经投影码字。所接收的码字可以在场景或场景中的对象的图像中接收。这可通过图5的接收器传感器508或与光源集成的传感器执行,例如与图6的光发射器602集成的光接收元件604。

在框1425处,过程1400产生视差图。过程1400可使用如关于图3所描述的结构光方法,其中码字位移用于产生深度信息。过程1400可以从单个结构光框架或多个结构光框架中产生视差图信息。这可例如通过图5的处理电路504或图6的处理器606执行。

在框1435处,过程1400通过存储器装置存储视差图。这可例如通过图5的存储器存储装置506、图6的存储器608或图4的存储器/存储装置406执行。

在框1445处,过程1400检测视差图中的对象的第一边界。过程1400可通过用相邻阴影(中断)像素定位对象像素确定对象的第一边界。对象的第一边界可从有界限的对象中排除中断像素和阴影区,例如,由对象像素围绕的单个中断像素(或像素的小群组)。这可例如通过图5的处理电路504或图6的处理器606执行。

在框1455处,过程1400识别视差图中的邻接第一边界的阴影区。过程1400可以包含没有码字或在阴影区中的所计算的深度的中断像素。过程1400可对于视差图的每个行包含在第一边界与阴影区中的背景像素之间的邻近中断像素。过程1400可从阴影区排除对象像素和背景像素。这可例如通过图5的处理电路504或图6的处理器606执行。

在框1465处,过程1400确定阴影区的边界。阴影区中的具有像素的每个行包含在对象的第一边界与邻接背景像素的阴影区的边界之间的邻近中断像素。在各种实施例中,过程1400确定阴影区的边界,方法是在对象(具有阴影区的边界上的对象像素)的第一边界开始并且遍历阴影区中的邻近像素直至到达邻接背景像素的中断像素,以确定每个行的阴影区边界中的像素,以确定阴影区的边界。阴影边界可以确定为在存在无效(中断)像素与背景像素之间的过渡处。单个行中的阴影的宽度是邻近中断像素的数目。举例来说,如上文相对于图9所论述,阴影像素可以包含来自第一阴影区950和第二阴影区960两者的像素。第一阴影区950的最右侧边界具有与矩形对象830的最右侧边界相同的形状。第二阴影区960通过矩形对象830的表面的不规则或纹理形成;它并不反映矩形对象830的边界的形状。具有与矩形对象830的最右侧边界相同的形状的第一阴影区950的最右侧边界可以对应于第一阴影区950的宽度的像素数目向左移位(移动)以符合矩形对象830的最右侧边界以校正造成第二阴影区960的矩形对象830的表面的不规则或纹理。这可例如通过图5的处理电路504或图6的处理器606执行。

在框1475处,过程1400确定阴影区的宽度。阴影区的宽度可以基于邻近中断像素的数目确定,其对应于第一边界与每个行中的阴影区的边界之间的像素的数目。多个行的宽度可以使用统计技术组合,例如,确定跨越多个行的中值、众数或平均宽度。过程1400可在校正之后排除具有对象边界内的大数目的邻近中断像素的行。在各种实施例中,宽度被调节为更紧密地对齐阴影区边界的部分与这些行的第一边界。如果对象是向前倾斜的,那么其顶部行中的宽度大于其底部行中的宽度。这意味着阴影轮廓与在底部上相比更多的在顶部上移位。在一些实施例中,可以排除占据小于阈值数目的行的阴影而不再考虑。举例来说,如果在一个行中存在中断但不在邻接行中存在中断,那么可能并不存在足够的信息来校正对象边界。这可例如通过图5的处理电路504或图6的处理器606执行。

在框1485处,过程1400形成对象的第二边界。这可以例如通过以阴影区的宽度朝向对象移位阴影边界的表示完成,移位的表示形成对象的第二边界。如上文相对于图9所论述,矩形对象830的最右侧边界可以通过以第一阴影区950的宽度向左移位第一阴影区950的最右侧边界改变。举例来说,如果所确定的宽度是10像素并且行116中的阴影边界的列位置在列224处对应于坐标(116,224),那么行116中的移位的阴影边界在列214处,对应于坐标(116,214)。一旦第一阴影区950的最右侧边界(阴影边界)以第一阴影区950的所确定的宽度向左移位,则此移位的边界可大部分符合矩形对象830的最右侧边界。移位的边界的左侧的阴影像素,例如,在坐标(116,213)处,可对应于由于矩形对象830的不规则或表面纹理而出现的第二阴影区960像素。在各种实施例中,位移递增出现并且阴影边界与第一边界之间的对齐的程度是最大化的。这可例如通过图5的处理电路504或图6的处理器606执行。

在框1495处,过程1400基于第二边界改变视差图中的对象的形状。过程1400可通过调节如在框1445中检测到的对象的第一边界来改变对象的形状。在各种实施例中,第一边界被阴影区的边界代替,并且两个边界之间的中断像素被假定为对象像素,而不在两个像素之间的中断像素被假定为背景像素。可以仅基于相邻对象像素的深度(而不是背景像素深度)估计在两个边界之间的被假定为对象像素的中断像素的深度。可以仅基于相邻背景像素的深度(而不是对象像素深度)估计不在两个像素之间的被假定为背景像素的中断像素的深度。在各种实施例中,过程1400使用邻接对象像素的视差图值使并不邻接阴影区的第一边界的部分平整。在各种实施例中,过程1400基于对象的改变的形状更新视差图,并且通过存储器装置存储更新后的视差图。这可例如通过图5的处理电路504或图6的处理器606执行,并且可通过图5的存储器存储装置506、图6的存储器608或图4的存储器/存储装置406执行。

应理解,对本文中使用例如“第一”、“第二”等等名称的元件的任何参考通常不限制那些元件的数量或次序。实际上,这些名称可在本文中用作区别两个或大于两个元件或元件的例子的方便方法。因此,对第一和第二元件的参考并不意味着此处可采用仅两个元件或第一元件必须以某一方式在第二元件之前。并且,除非另外说明,否则元件的集合可包括一或多个元件。另外,用于说明书或权利要求书的形式“以下各项中的至少一个:a、b或c”的术语意味着“a或b或c或这些元件的任何组合”。

如本文中所使用,术语“确定”涵盖多种多样的动作。举例来说,“确定”可包含演算、计算、处理、导出、研究、查找(例如,在例如查找表的表、数据库或另一数据结构中查找)、确认及类似者。并且,“确定”可以包含接收(例如,接收信息)、存取(例如,存取存储器中的数据)及类似者。并且,“确定”可包含解析、选择、挑选、建立及类似者。

如本文中所使用,参考项目列表中的“至少一个”的短语是指那些项目的任何组合,包含单个成员。作为一个实例,“以下各项中的至少一个:a、b或c”意图涵盖:a、b、c、a-b、a-c、b-c和a-b-c。

上文所描述的方法的各种操作可通过能够执行操作的任何合适的装置执行,例如,各种硬件和/或软件组件、电路和/或模块。通常,图式中所说明的任何操作可以由能够执行所述操作的对应的功能装置执行。

可以使用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑装置(pld)、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所描述的功能的任何组合来实施或执行结合本发明所描述的各种说明性逻辑块、模块和电路。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何市售处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,dsp与微处理器的组合、多个微处理器的组合、一个或多个微处理器与dsp核心结合,或任何其它此类配置。

在一或多个方面中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体发射。计算机可读媒体包含计算机存储媒体和通信媒体两者,通信媒体包含有助于将计算机程序从一处传送到另一处的任何媒体。存储媒体可以是可由计算机存取的任何可供使用的媒体。借助于实例而非限制,此类计算机可读媒体可以包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携带或存储呈指令或数据结构的形式的所期望的程序代码且可由计算机存取的任何其它媒体。如本文中所使用的磁盘及光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软盘及蓝光光盘,其中磁盘通常是以磁性方式再现数据,而光盘是用激光以光学方式再现数据。因此,在一些方面中,计算机可读媒体可包括非暂时性计算机可读媒体(例如,有形媒体)。

本文中所公开的方法包括用于实现所描述的方法的一或多个步骤或动作。在不脱离权利要求书的范围的情况下,方法步骤和/或动作可以彼此互换。换句话说,除非指定了步骤或动作的特定次序,否则在不脱离权利要求书的范围的情况下,可修改特定步骤和/或动作的次序和/或用途。

另外,应了解,用于执行本文中所描述的方法和技术的模块和/或其它适当的装置可在适用时通过用户终端和/或基站下载和/或以其它方式获得。举例来说,可将此类装置耦合到服务器以有助于传送用于执行本文中所描述的方法的装置。替代地,本文中所描述的各种方法可以经由存储装置(例如,ram、rom,例如压缩光盘(cd)或软盘的物理存储媒体等)提供,使得在将存储装置耦合或提供到装置之后用户终端和/或基站可以获取各种方法。此外,可以利用用于将本文中所描述的方法和技术提供到装置的任何其它合适的技术。

应理解,权利要求书不限于上文所说明的精确配置和组件。在不脱离权利要求书的范围的情况下,可以在上文所描述的方法和设备的布置、操作和细节方面作出各种修改、改变和变化。

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