3D数据捕获中的标记的制作方法

文档序号:11635673阅读:322来源:国知局
3D数据捕获中的标记的制造方法与工艺

相关申请

本申请要求序列号62/087,845(题为markersin3ddatacapture,2014年12月5日提交)的美国临时申请的优先权益,该美国临时申请通过引用并入本文。

本公开在其一些示例中涉及二维结构光图案并且使用这些代码中的标记。

背景

一些3d数据、成像和视频捕获技术使用光投影来捕获3d数据。可以使用结构光图案且特别是使用二维编码的光图案来对投影光进行编码。投影二维编码光图案可以反射离开表面,并且可以用相机或传感器检测和捕获。然后使用解码程序来检测投影光图案,并且可以通过与其变形相比较来确定3d数据。为了方便起见,术语“3d成像”在本文中用于指以下项的任何一个:3d数据捕获技术、3d成像捕获技术和3d视频捕获技术。

一些结构光图案包含嵌入到结构化光图案中的代码字,其创建特征类型。每个代码字由代码字元素或位组成。每个特征类型都由特征元素组成。每个特征元素被给予一定的视觉表现,例如光强度、形状和像素,并且不同的特征类型由不同形态的特征元素特征化。

概述

根据本公开的主题的方面,提供了一种装置,装置包括存储含有多个特征类型的投影结构光二维编码光图案的场景的反射的图像的存储器,该多个特征类型的每一个用作代码字并由特征元素的唯一组合形成,并且其中,投影光图案包括一个或更多个标记。标记包括一对或更多对特征元素,在该一对或更多对特征元素之间对极距离相对于所述图案的非标记区域中的相应特征元素之间的距离被修改。该装置还包括处理器。处理器能够检测图像中的标记并被配置为记录检测到的标记的位置。处理器还被配置为对图像进行解码,其中,标记内的至少一个特征类型被处理器分类为所述多个特征类型中的特征类型。

根据本公开的主题的另一方面,提供了一种结构光投影仪。结构光投影仪包括光学掩模和光发射器。根据本公开的主题的示例,光发射器可以能够照射光学掩模。光掩模能够转换来自发射器的光,以便提供包括多个特征类型的结构光二维编码光图案。多个特征类型中的每一个用作代码字,并且由特征元素的唯一组合形成。投影光图案包括一个或更多个标记,其中,标记包括一对或更多对特征元素,在该一对或更多对特征元素之间对极距离相对于所述图案的非标记区域中的相应特征元素之间的距离被修改。其中,标记内和跨标记的边缘的特征元素的表现是连续的。

在本公开的主题的又一方面,提供了一种方法,包括:获取从包括多个特征类型的投影结构光二维编码光图案的场景反射出的图像,多个特征类型中的每一个用作码字并由特征元素的唯一组合形成,其中,投影光图案包括一个或更多个标记,以及其中,标记包括一对或更多对特征元素,在该一对或更多对特征元素之间的对极距离相对于在所述图案的非标记区域中的相应特征元素之间的距离修改;检测所述图像中的标记并记录所检测到的标记的位置;对所述图像进行解码,其中,标记内的至少一个特征类型被分类为所述多个特征类型中的特征类型。

在本公开的主题的又一方面,提供了一种生成结构光代码的方法。根据本公开的主题的示例,生成结构光代码的方法可以包括:获取包括多个特征类型的结构光二维编码光图案,多个特征类型的每一个用作码字并且由特征元素的唯一组合形成;选择一个或更多个失真区域;以及修改失真区域内的一对或更多对特征元素之间的对极距离,产生一个或更多个标记,其中标记是其中在特征元素对之间的对极距离相对于所述图案的非标记区域中的相应特征元素之间的距离被修改的区域。

附图简述

为了理解本发明以及察看其如何可以在实践中被执行,现在将参照附图、仅通过非限制性示例的方式来对本发明的一些实施例进行描述,其中:

图1是根据本公开主题的示例的3d系统的框图表示。

图2是根据本公开主题的示例的3d系统架构的框图。

图3是根据本公开主题的示例的一般地示出了生成用于光学掩模的二维编码图案的方法的流程图。

图4a-4b是根据本公开主题的示例的示例选择的图形表示。

图5是示出了根据本公开的主题的示例的包括使用旋转类型失真创建的标记的二维双调结构光图案的图形表示。

图6是示出根据本公开的主题的示例的具有类似于施加到图5的图案的旋转类型失真的失真的网格的图形表示。

图7示出了根据本公开的主题的示例的包括使用收缩型失真(pinchtypedistortion)创建的标记的二维双调结构光图案。

图8是根据本公开的主题的示例的具有类似于施加到图7的图案的收缩型失真的失真的网格的图形表示。

图9是示出根据本公开主题的示例的示例解码器的框图流程图。

应当理解,为了说明的简单和清楚,图中所示的元素不一定按比例绘制。例如,为了清楚起见,一些元素的尺寸可以相对于其他元素被放大。此外,在认为适当的情况下,参考数字可在图中重复以指示对应或类似的元素。

综述

在以下综述中,阐述了许多具体细节以便提供对本公开的主题的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践本公开的主题。在其它实例中,公知的特征、结构、特性、阶段、方法、程序、模块、组件和系统,没有被详细描述,以便不与本公开的主题混淆。

除非特别声明,否则如从以下讨论中所体现的,要理解的是在整个说明书中使用诸如“处理”、“运算”、“计算”、“确定”、“生成”、“设置”、“配置”、“选择”、“定义”、“获取”、“修改”、“移动”、“检测”等之类的术语的讨论,包括将数据操纵及/或转换为其它数据的计算机的动作和/或处理,所述数据被表示为物理量,例如诸如电子数量,及/或所述数据代表物理对象。术语“计算机”、“处理器”和“控制器”应当被宽泛地解释为包括具有数据处理能力的任何类型的电子设备,或其一部分。

术语计算机应当被宽泛地解释为包括具有数据处理能力的任何类型的电子设备或系统,并且其由硬件、软件和/或固件的任何组合组成,并且其包括至少一些硬件,即使并未像在本公开中这样标记的。

本文中根据教导的操作可以由为所需目的而专门构建的计算机或出于所期望的目的由通过被存储在非暂时性计算机可读存储介质中的计算机程序而专门配置的通用计算机来执行。术语“非暂时性”在本文中被用来排除暂时的、传播的信号,但被用来以其它方式包括适合于应用的任何易失性或非易失性计算机存储器技术。

如本文所用,术语“存储器”是指用于短时间和/或长期地、本地和/或远程地存储数据的任何可读介质。存储器的示例除了其他之外还包括:任何类型的盘,包括软盘、硬盘、光盘、cd-rom、磁光盘、磁带,闪速存储器、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、只读存储器(rom)、可编程只读存储器prom、电可编程只读存储器(eprom)、电可擦除和可编程只读存储器(eeprom)、磁卡、光卡、适用于存储电子指令并且能够耦合到系统总线的任何其他类型的媒体、上述任何一种的组合等。

如本文中所使用的,短语“例如”、“诸如”、“比如”及其变体描述本公开的主题的非限制性实施例。在本说明书中对于“一种情况”、“一些情况”、“其它情况”或其变体的引用意味着,结合实施例所描述的特定特征、结构或特性被包括在本公开的主题的至少一个实施例中。因此,短语“一种情况”、“一些情况”、“其它情况”或其变体的出现并不一定是指相同的实施例。

除非特别声明,本文使用的所有技术和科学术语具有本发明所属领域的普通技术人员通常理解的相同意思。本文提供的材料、方法和示例仅是示例性的,并不是为了限制。除了处理本身所必需或固有的范围之外,不预期或暗示本公开(包括附图)中描述的方法和处理的步骤或阶段的特定顺序。在许多情况下,处理步骤的顺序可以改变而不改变所述方法的目的或效果。

应注意,本公开的主题一些示例不将其应用限于下面描述中阐述的或者在附图中示出的组件的构造以及布置的细节。本发明可以能够是其他实施例或以各种方式被实践或执行。并且,应理解本文提到的措辞和术语是出于描述的目的而不应被看作是限制。

在本文献中,在附图的范围内未描述并用前面附图中描述的数字标注的附图元素具有与前面附图相同的用途和描述。类似地,在文本中由数字识别出的未出现在文本描述的附图中的元素具有与描述它的先前的附图中的相同的使用和描述。

在以下描述中,参考随附附图,其组成本文的部分并且其中通过其中可实践的具体实施例的说明方式示出。将这些实施例以充分细节描述,以使本领域技术人员能够实践本发明,并且应当理解,可以利用其他实施例,并且可以在不脱离本发明的范围的情况下进行结构、逻辑和电气改变。因此,对示例实施例的以下描述不被认为是限制性的意义,并且本发明的范围由所附权利要求限定。

另外,可以理解,在不同实施例的上下文中描述的本发明的某些功能也可以组合在单个实施例中提供。相反,为简明起见,在单个实施例的背景中进行描述的本发明的各种功能也可以单独地或在任何合适的子组合中被提供。

图1示出了根据本公开的主题的一些示例的用于捕获3d数据的系统150。系统的各种示例可在硬件或软件中被实现。3d捕获设备102可以是主动三角度量3d捕获设备,并且可以包括用于将信号投影到场景上的投影仪或扫描仪和用于检测对应于投影信号的反射信号的传感器。可以以二维图案的形式提供投影信号。

3d捕获设备102可以是3d相机或3d摄像机,并且可以被设计为独立设备或者可以被集成到诸如智能电话或平板电脑的移动通信设备中。在另一示例中,3d捕获设备被集成到pc、云计算平台或任何其它合适的计算机化设备或者可操作地连接到这些设备的连接器。3d捕获设备102可以包括一个或更多个元数据传感器,以提供与用于诸如场景104的视线的捕获的2d或3d数据有关的信息。2d或3d数据在本文中也称为视频或图像。元数据可以由其他设备或其他用户生成或补充。由捕获设备和/或其他设备捕获的元数据可以包括例如曝光时间、图案数据、标记点数据、孔径尺寸、红外(ir)波长、使用或接收的色度或强度、定向和校准数据等等。元数据传感器可以包括例如加速度计、电荷耦合器件(ccd)、陀螺仪传感器、ir传感器和地理定位系统(gps)单元。

在其他示例中,捕获设备102可以由附加的捕获或处理设备来补充。例如,一个3d捕获设备可以与诸如多个单独的3d相机的一个或更多个其他3d捕获设备一起使用。类似地,诸如笔记本电脑的额外的成像或处理设备可被用于处理和/或捕获数据。笔记本电脑或服务器可以通过蓝牙、wi-fi、nfc或其他近距离连接在本地连接以协助处理数据,或通过诸如第四代(4g)无线网络等的电信网络进行远程连接。

图像场景104可以是具有一个或更多个对象的任何种类的静止或动态场景。图像场景104可以是具有固定背景(例如灯光室)的一个对象。图像场景也可以是动态变化的室内或室外环境,例如城市或人类进行交互的视频。在图像捕获中,捕获设备可以是固定的或手持的并围绕对象旋转以收集3d数据。

3d捕获设备102可以将编码结构光图案投影到图像场景104上。结构光图案可以是二维编码结构光图案。投影结构光图案可以是双调的。捕获设备然后可以捕获具有投影图案的场景,其可由场景的3d地形变形(或偏移)。投影图案的反射的图像可以被处理并且用于通过与原始图案相比较来确定深度信息,包括例如场景中的对象的3d度量、场景的拓扑和/或一个或更多个点云或对应于场景深度的范围图像。捕获设备102可以被校准,并且可以被配置为记录来自多个帧和/或设备的3d数据。此外,以示例的方式,捕获设备的校准和/或来自由捕获设备生成的帧(以及也可能来自由其他捕获设备生成的帧)的3d数据的记录可以利用下面公开的标记和标记检测方法。

现在参考图2,图2是根据本公开的主题的一个示例的3d捕获设备102的移动通信设备系统架构的简化框图。如可在图2中看见的,并且以示例的方式,移动通信设备100可以包括能够提供3d深度或范围数据的3d相机10。在图2的示例中示出了主动立体3d相机的配置,但是在本公开的主题的其它示例中,可以使用其他已知的3d捕获技术和3d相机或扫描仪。本领域技术人员可以容易地将本公开的主题的示例中提供的教导应用于其它3d相机配置和其它3d捕获技术。

以示例的方式,3d相机10可以包括:3d捕获传感器12、驱动器14、3d捕获处理器16和闪光灯模块18。在该示例中,闪光灯模块18被配置为投影结构光图案,并且3d捕获传感器12被配置为捕获投影图案的反射的图像,如从在其上投影图案的环境反射的。授予gordon等人的美国专利第8,090,194和授予gordon等人的美国专利第8,538,166描述了可用于3d捕获设备的闪光灯组件中的结构光图案以及主动立体3d捕获技术的其他方面,且在此其整体并入本申请中。国际申请公布号wo2013/144952描述了可能的闪光灯(投影仪)设计的示例,并且在此通过引用将其整体并入。

以示例的方式,闪光灯模块18可以包括ir光源,使得其能够对ir辐射进行投影,并且3d捕获传感器12可以是对ir带中的辐射敏感的ir传感器,并且从而使得它能够捕获从场景返回的ir辐射。闪光灯模块18和3d捕获传感器12被校准。根据本公开的主题的示例,驱动器14、3d捕获处理器16或移动通信设备100的任何其他合适的组件可被配置为实现自校准、现场校准或自动校准,以用于维持在闪光灯模块18和3d捕获传感器12之间的校准。

3d捕获处理器16可以被配置为执行各种处理功能,并且运行与3d相机的一个或更多个组件的操作相关的计算机程序代码。3d捕获处理器16可以包括能够存储被执行的或由处理器16执行的计算机程序指令的存储器17。

驱动器14可以被配置为实现计算机程序,计算机程序操作或控制3d相机10的组件能够执行的某些功能、特征或操作。

根据本公开的主题的示例,移动通信设备100除了3d相机10之外还可以包括硬件组件,包括例如电源20、存储器30、通信模块40、设备处理器40和存储器60、设备成像硬件110、显示单元120和其他用户接口130。应当注意,在本公开的主题的一些示例中,移动通信设备100的一个或更多个组件可以被实现为分布式组件。在这样的示例中,某个组件可以包括分布在跨过两个或多个互连节点的两个或多个单元。此外,以示例的方式,可能由设备处理器40执行的计算机程序可以能够控制分布式组件,并且能够在两个或多个互连节点中的每一个上操作资源。

已知在移动通信设备中使用各种类型的电源。电源20可以包括一个或更多个电源单元,例如电池、短期高电流源(例如电容器)、连续补充充电器(trickle-charger)等。

设备处理器50可以包括能够处理软件程序的一个或更多个处理模块。处理模块可以各自具有一个或更多个处理器。在本说明书中,设备处理器50可以是在移动通信设备100中实现的不同类型的处理器,诸如主处理器、应用处理器等)。设备处理器50或本文通常被称为包括在设备处理器中的任何处理器可以具有一个或更多个核心、内部存储器或高速缓存单元。

存储单元30可以被配置为存储执行移动通信设备100及其任何组件的操作或功能所必需的计算机程序代码。存储单元30还可以被配置为存储可以在移动通信设备100上执行的一个或更多个应用,包括3d应用80。在分布式配置中,一个或更多个3d应用80可被存储在远程计算机化设备上,并且可以由移动通信设备100作为服务被消费。另外地或作为应用程序代码的替代,存储单元30可以被配置为存储数据,包括例如由3d相机10提供的3d数据。

通信模块40可以被配置为实现往来于移动通信设备的数据通信。以示例的方式,可以由通信模块40支持的通信协议包括但不限于蜂窝通信(3g、4g等)、(诸如局域网(lan))的有线通信协议、和诸如wi-fi的无线通信协议、诸如蓝牙的无线个人区域网络(pan)等。

应当注意,根据本公开的主题的一些示例,可以在移动通信硬件资源上实现3d相机10的一些组件。例如,可以使用设备处理器50,而不是具有专用的3d捕获处理器16。更进一步,以示例的方式,移动通信设备100可以包括一个以上的处理器和一种以上的类型的处理器,例如一个或更多个数字信号处理器(dsp)、一个或更多个图形处理单元(gpu)等,并且3d相机可以被配置为使用来自多个设备100处理器的特定的一个(或特定组或类型)处理器。

移动通信设备100可以被配置为运行操作系统70。移动设备操作系统的示例包括但不限于:美国华盛顿州雷德蒙德市的微软公司的windowsmobiletm、加利福尼亚州山景城的google有限公司开发的android操作系统等。

3d应用80可以是使用3d数据的任何应用。3d应用的示例包括虚拟磁带度量应用、3d视频捕获和查看器、3d快照捕获和查看器应用、3d建模应用等。要理解的是,不同的3d应用可以具有不同的要求和特征。3d应用80可以被分配给3d应用组或与3d应用组相关联。在一些示例中,设备100可以能够并行地运行多个3d应用80。

成像硬件110可以包括任何成像传感器,在特定示例中,可使用能够捕获可见光图像的成像传感器。根据本公开的主题的示例,成像硬件110可以包括传感器,通常是至少对可见光敏感的传感器,以及可能还包括用于实现在低可见光条件下的图像捕获的光源(诸如一个或更多个led)。根据本公开的主题的示例,设备成像硬件110或其一些组件可以被校准到3d相机10,并且特别是3d捕获传感器12和闪光灯18。应当理解,如本领域技术人员将知道的,这种校准可以实现3d图像的纹理化(并特别是彩色纹理化)以及各种其它协同处理操作。

在又一示例中,成像硬件110可以包括用于捕获可见光图像和用于捕获ir图像的rgb-ir传感器。更进一步,以示例的方式,rgb-ir传感器可以用作3d捕获传感器12和用作可见光相机。在该配置中,3d相机的驱动器14和闪光灯18以及设备100的可能的其他组件被配置为与成像硬件110协作操作,并且在上述给出的示例中,与rgb-ir传感器协作操作,以提供3d深度或范围数据。

显示单元120可以被配置为可能在使用3d应用80进行处理之后提供图像和图形数据,包括由3d相机10捕获的3d数据的可视渲染。用户接口130可以包括使得用户能够与移动通信设备100(诸如扬声器、按钮、麦克风、加速度计、陀螺仪传感器等)交互的各种组件。显示单元120可以是触敏显示器,其也可以用作用户接口。

这种处理实体的3d捕获处理器16或设备处理器50或任何子组件或cpu核心等可被配置为处理从3d捕获传感器12或从设备成像硬件110(如果设备成像硬件110能够并被配置为服务于3d相机10)接收的信号。为了方便起见,在下面的说明中,核心3d捕获功能将以非限制性方式归因于3d捕获处理器16。然而,应当理解,移动通信设备100的各种组件和子组件之间的功能和任务分配通常是设计选择。

根据本公开的主题的示例,3d捕获处理器16可以被配置为收集成像数据、处理成像数据、分析成像数据、产生成像结果、成像内容和/或成像显示等。

根据本公开的主题的示例,3d捕获处理器16可以作为输入接收ir图像和校准信息。以示例的方式,校准信息可以涉及ir传感器(作为3d捕获传感器的示例)和投影仪(诸如闪光灯18组件)。在本公开的主题的一些示例中,3d捕获处理器16还可以例如从设备成像硬件110作为输入接收彩色图像以及与彩色相机和ir相机的传感器之间的几何关系相关的校准信息。

以示例的方式,由3d捕获处理器16执行的处理可以包括预处理、特征识别、纠错和三角度量。预处理功能可以包括用于消除传感器噪声和用于改善信号质量的操作,例如通过解决诸如斑点的光学问题。特征识别功能将图像中的区域转换成由闪光灯18投影并由3d捕获传感器12捕获的图案中使用的多个码字中的一个。纠错操作可以包括使用投影图案/代码的现有知识来纠正码字的错误标记或码字的特征(其可导致一个或更多个码字的标记的改变)的计算。三角度量功能考虑到成像几何来提取深度信息。在授予gordon等人的美国专利第8,090,194中提供了参考主动三角度量方法进行的三角度量程序的示例。

根据本公开的主题的示例,3d捕获处理器16还可以执行纹理化,例如彩色纹理化(有时称为“彩色投影”),由此来自颜色传感器(colorsensor)(例如,来自设备成像硬件110)的颜色投影到3d数据上。应当理解,彩色投影功能(作为参考3d捕获处理器16描述的任何其它功能)可以由设备处理器50或其任何处理组件来执行。

可以涉及处理操作并且可以被实现为用于某些3d应用的3d数据处理流水线的一部分的附加过程(但不是必须的)可以包括以下项中的一些(例如,一个、两个、三个、...):实时系统控制(例如,自动增益、自动曝光、有源电源功率和脉冲持续时间的控制等)、点云注册、去噪、特征分类、特征跟踪、各种3d视觉使用、被动相机处理(如姿态估计、从运动恢复形状等)、惯性度量单元(imu)处理(例如,卡尔曼滤波器)、时间戳、isp功能(去马赛克、伽马校正)、压缩、校准质量监控(用于评估和跟踪校准参数的质量的过程,例如,以便确定是否需要重新校准和何时需要重新校准)等。应当理解,可以在3d捕获处理器16上、在设备处理器50上或在这两者上执行上述操作(提前或实时地,可以在各种处理资源之间分配处理任务)。

根据本公开的主题的示例,3d相机10在处理来自传感器12并且可能来自其它源的信号之后,可以被配置为作为输出提供以下项中的一个或更多个:一组3d点,通常具有法线(点云),其中可以使用相邻点计算法线;纹理化的三角网格(例如,多边形表面),其中可以使用来自点云的相邻点计算多边形;具有颜色映射(例如,通过颜色投影)的深度图。本领域技术人员将理解,可以由3d相机10提供额外的输出。如上所述,在当前公开的主题的某些示例中归因于3d相机10和3d捕获处理器16的一些处理可以在3d相机10之外执行,特别是由设备处理器50执行,并因此,在图2所示的示例中和本文提供的图2的描述中,在此处归因于3d相机10的一些输出可在被称为3d相机的东西之外被生成。

根据本公开的主题的示例,可能与3d捕获处理器16协作的设备处理器50可以被配置为相对于移动通信系统100的资源的状态来确定或接收数据。资源状态数据可以以任何合适的形式组织。例如,相关或替代资源可以分组,通过一些权衡链接的资源可以被链接,其使用跨越一些阈值的资源可以被分组等。

根据本公开的主题的示例,除了使用状态信息之外,设备处理器50可以被配置为例如从存储器60获取或接收可能对于确定移动通信设备100的一个或更多个资源的使用状态有用的附加信息。例如,诸如作为调度任务的结果或基于关于设备100的统计信息或在资源使用方面的其资资源行为和/或基于关于在资源使用方面在设备上运行的应用的行为的统计信息,设备处理器50可以获取与期望的资源使用相关的数据。在另一示例中,作为已经运行在移动通信设备上的处理的结果,或者由于任何其他原因,期望的资源使用可以与期望被执行的任务相关联。

根据本公开的主题的示例,在说明书和权利要求中使用术语“资源可用性分布”来描述数据,该数据在移动通信设备中用于描述移动通信设备的一个或更多个资源的当前或预期状态,特别是描述与3d应用的操作相关联的资源的状态,或预期将被3d应用的操作或其任何特征影响的资源的状态。

根据本公开的主题的示例,设备处理器50可以被配置为连续地监视移动通信设备100的资源的状态,并且可以相应地对资源可用性分布进行更新。在本公开的主题的其他示例中,设备处理器50可以被配置为定期监视资源状态并更新资源可用性分布,其中更新的定时是根据预定义的间隔来确定的,或者基于在设备处理器处接收的某些输入来确定的。在另一示例中,当特定事件发生时,设备处理器50更新资源可用性分布,例如,当事件影响移动通信设备的至少一个资源的可用性时,设备处理器可以更新资源可用性分布。

在整个说明书和权利要求书中,引用了术语“3d应用”。本文所用的术语3d应用涉及可以作为应用在移动通信平台上运行的计算机程序代码(无论是本地托管还是远程托管并作为移动通信设备上的服务消费),以及哪些计算机程序代码体现使用3d数据的至少一个特征,特别是由3d相机提供或从3d相机获取的3d数据。这种特征在说明书和权利要求书中被称为3d捕获特征。3d应用的许多示例存在于市场上,以下是其小样本:虚拟磁带度量、房间建模、3d分割、3d模型创建、增强现实、交互式电脑游戏、3d医学成像、基于3d模型的视频会议、数字木偶和骨骼动画等。

应当理解,3d应用或3d应用的3d捕获特征可以具有特定属性特性和要求。此外,为了实现、支持和/或执行不同的3d捕获特征,可以存在不同资源(硬件资源,但也可能是软件资源)分配要求(包括给定资源的不同级别),或者从另一个角度来看,或根据不同的实现,不同的3d捕获特征可以消耗不同的资源(包括给定资源的不同级别)。

例如,假设具有全视图特征和仅面部特征的3d会议应用,其中全场景特征涉及从传感器的整个视野捕获和处理3d数据,并且仅面部特征涉及只利用获取在检测到面对3d捕获传感器的人的面部的场景中的区域的3d数据所需的资源。在这两个特征中,与仅面部特征相比,3d捕获应用的全视图特征很可能会消耗更多的处理、存储器和电源资源。

根据本公开的主题的示例,给定3d应用80的给定特征可以与3d应用的软件程序代码的特定部分相关联。可选地或另外地,3d应用80的特征可以与特定资源(例如,3d应用80外部的并在移动通信设备100上运行的特定硬件组件或特定软件程序代码)相关联。例如,3d应用的特征可以与移动通信设备100的惯性度量单元(未示出)相关联。

根据本公开的主题的示例,对于每个特征,可以提供成本度量。在此处和权利要求中使用的术语“成本度量”涉及给定资源的或资源组的或资源组中的一个资源的特征的估计、预期或度量的消耗的度量,或者该度量可以是特征资源消耗的全局度量。在另外的示例中,成本度量可以涉及在相应3d捕获应用的给定模式下的一个资源或多个资源的估计、预期或度量的消耗。

以示例的方式,每个特征的成本度量可以包括用于多个资源的多个度量。进一步以示例的方式,成本度量可以包括关于替代资源的度量,并且这些度量及其相关联的资源可以被指示为替代选择。应当注意,提供这样的替代度量可以实现进行各种权衡计算,包括关于给定特征的不同配置的,并且在另一个示例中,关于不同3d应用中的不同特征的实现或给定(相同)3d应用的不同操作模式。

此外,有可能在移动通信设备100中执行功能上彼此连接的两个或更多个3d应用,并且可以指示3d应用之间的关系,并且设备处理器50可被配置为当处理相关3d应用的其中一个的给定特征的成本度量时,考虑其一些特征的相关3d应用的关系和交叉效应。

以示例的方式,给定3d应用特征的成本度量可以被提供为作为特征程序代码的一部分存储或以其他方式与特征程序代码相关联的明确数据。在另一示例中,可以基于特征的先前行为以及用于实现该特征的一个或更多个资源的先前行为来确定(例如,计算)给定3d应用特征的成本度量。在另外的例子中,可以基于统计数据,例如,基于可能的相关3d应用的以及可能也在类似的操作条件下的、在类似于移动通信设备上的相关特征的资源消耗等来确定给定3d应用特征的成本度量。

可以以各种形式提供成本度量。例如,成本度量可以包括与功率(电力)消耗、容量消耗(例如,处理能力消耗、存储器消耗、通信带宽消耗等)的量或级别相关的信息。在另一个示例中,成本度量可以提供用户体验方面的度量,例如增加或减少的等待时间、帧速率、输出精度等。

根据本公开的主题的示例,除了3d捕获应用的给定特征的成本度量之外,可以相对于该特征获取功能度量。本文使用的术语“功能度量”涉及关于3d捕获应用特征的功能值提供的指示,功能度量是关于其提供的。以示例的方式,特征的功能值指示特征对用户体验的价值、重要性或贡献。在另一个示例中,特征的功能值指示用于实现3d捕获应用的附加特征的特征价值、重要性或贡献或者用于实现其他应用的特征的特征价值、重要性或贡献。

还以示例的方式,给定特征的功能度量可以涉及相应3d捕获应用的操作的特定模式,并且功能度量涉及3d捕获应用的相应模式中的相应特征的功能值。

根据本公开的主题的示例,每个3d应用可以具有至少一种操作模式。根据本公开的主题的示例,3d应用可以包括实时模式。在说明书和权利要求中使用的术语“3d捕获应用的实时模式”(或简称为“实时模式”)涉及其中向3d应用的用户(人或程序)提供的即时(实时或接近实时,例如,至多1秒的延迟)反馈(例如,在显示器上呈现的)的3d应用的模式。更进一步以示例的方式,在3d应用的实时模式中提供的反馈可能与实时模式的附加特征一起可以促进对正在进行的3d数据捕获过程的控制的特定度量。例如,由移动通信设备在3d应用的实时模式中提供的即时反馈可以实现修改正在进行的3d捕获过程的结果的、移动通信设备的一个或更多个配置和/或特征或使用的修改。可以通过实时模式实现的修改的示例包括改变3d成像组件的取向、修改由投影仪提供的照明水平、改变由投影仪使用的图案的类型、以及对移动通信设备的软件资源的控制,例如,修改被应用于来自传感器的入射信号的增益水平、改变在解码过程中使用的纠错的类型等。

根据当前公开的主题的示例,如本文所使用的移动通信设备的资源可以涉及移动通信设备的组件或子组件、固件程序或运行的软件程序。

如本领域技术人员所理解的,在3d应用还以非实时模式操作的情况下,在3d捕获实时模式中使用的硬件和/或软件配置可以具有对3d应用的非实时模式操作的影响,并且可以具有对3d应用的非实时模式中使用的资源的影响,包括使用水平等。另一个示例中,例如用于进一步处理的在3d捕获的非实时模式下传递的数据流还可以受到相应3d应用的实时模式的实际实现的影响。

在本公开中和在权利要求中,术语“3d应用的非实时模式”(或简称为“非实时模式”)(例如,等待时间超过1秒或超过2-3秒)涉及除了实时模式之外的3d应用的操作模式。根据本公开的主题的示例,3d应用的非实时模式是不与3d捕获操作同时发生的模式。仍然以示例的方式,3d应用的非实时模式通常涉及对资源的进一步利用,包括例如3d数据的进一步处理。更进一步以示例的方式,非实时模式可以包括移动通信设备100的设备处理器50的进一步处理,或者在另一示例中,可以包括外部(和远程)资源进一步处理。

应当理解,除了给定3d应用的实时模式之外,可以存在几个非实时模式,其每个模式可以具有不同的特征或具有不同配置的特征。以示例的方式,在延迟量以及其他特性中,这些模式可以彼此不同。

根据本公开的主题的示例,3d应用的给定模式可以包括至少两个特征,其中两个特征彼此可替代,并且其中,在应用的给定模式中,可以仅使用两个特征的其中一个。进一步以示例的方式,两个可替换特征中的每一个可以具有不同的资源消耗。

根据本公开的主题的示例,特定3d应用的两种不同模式可以具有一个或更多个常见的3d应用特征。进一步以示例的方式,3d应用的给定特征可以在给定3d应用的不同模式中具有不同的配置或不同的特性。应当注意,特征可以在不同配置或模式中具有不同的资源消耗特性。在受根据当前公开的主题的示例的资源管理程序支配的3d应用具有与在资源管理程序中使用的两种操作模式中的相同的特征组的情况下,特征中的至少一个可以在两种操作模式中的每一个中都有不同的配置。

在其他示例中,特定3d应用的两种不同模式可以具有完全不同的特征(这些特征都不常见)。

根据本公开的主题的另一方面,3d应用或3d应用的给定特征可以具有本地模式和远程模式。根据本公开的主题的示例,在给定特征的本地模式中,由3d应用的特征消耗的资源的大部分(包括全部)属于本地或者通常是移动通信设备的本地特征,并且在特征的远程模式中,由特征消耗的资源的大部分(包括全部)在远程节点(在移动通信设备的外部)上为本地的,例如,资源的大部分是在云中。

在一个示例中,3d捕获处理器16或设备处理器50可以被配置为基于关于可用性或关于移动通信设备的一个或更多个资源的状态的的资源可用性信息(例如电池电力、处理能力、存储器资源、通信带宽、远程处理的可用性等)来确定在应用的给定模式中使用3d应用80的哪个特征、或者是使用3d应用的第一模式的特征还是3d应用的第二模式的特征。仍然以示例的方式,关于在特定模式中使用哪个特征的决定还可以基于与该特征相关联的一个或更多个硬件成本参数。

图3示出根据本公开主题的示例生成用于光学掩模的二维编码图案的方法300。图3中的方法具体涉及生成具有并入其中的标记的二维编码图案的方法。这种方法的各个方面如下所述。以示例的方式,可以将二维编码图案印在光学掩模上,使得当掩模被照亮时,一些光被透射,且一些光被阻挡,从而产生二维结构光图案。可以将二维结构光图案投影到场景上,并且可以使用图像传感器(例如,ir或nir传感器)获得具有投影的二维结构光图案的场景图像。投影的二维结构光图案的图像可以被处理,并且可以被解码,从而产生用于场景中的不同点的一组深度度量。

以示例的方式,诸如在图2中示出的感测和成像系统使用根据图3及本文中提供的其描述生成的二维编码图案,但是其他3d成像系统可以使用生成二维编码图案和/或其产生的图案的这个方法。

例如,在3d系统或范围数据的生成时和在处理由3d系统捕获的图像期间或之前,根据图3生成的二维编码图案和并入图案的标记可被用于协助3d系统的校准。然而,还应当理解,在本公开主题的其他示例中,参考图3描述的方法可以由任何其他合适的系统或设备来执行,该系统或设备结合可能与由系统的硬件组件的一些实现的合适的软件来使用任何硬件组件。

在框310处,该方法可以获取二维编码图案。该图案可以包括可由计算机或算法识别的多个不同特征类型。每个特征类型可以作为不同的码字。每个特征类型由特征元素的唯一形成来特征化。特征元素由局部光强度分布来特征化。特征元素可以包括例如最小值、最大值或鞍点。特征类型可以通过形状、角、边缘、交叉点等来特征化。特征类型可以以各种形式进行布置,包括任何大小或尺寸的编码矩阵,例如8x2和8x4和以非笛卡尔布置排列。图案可以包括重复的基本平铺单元。授予gordon等人的美国专利8,090,194中提供了特征元素、特征类型和二维编码图案的示例。

在一个示例中,可以从本地或远程存储器提取图案。图案可以作为图像加载。类似地,图案可以作为瓦片(tile)和通过其后以上文列出的任何方式重复瓦片来生成的图案进行加载。

在框320,该方法可以可选地选择图案区域。图4a-4b示出了根据本公开主题的示例的用于标记生成的示例区域选择。根据本公开的主题的示例,可以由闭合边界来定义失真区域。图4a示出了用于修改用作标记的图案440的区域的基于多边形的选择430。图4b示出了用于修改图案的基于椭圆的失真区域选择420。选择图案是示例,并且可以使用任何闭合的形状。可以选择失真区域,使得图案的特定段被修改,同时保持选择之外的区域不变。

应当注意,标记不一定添加到现有图案中,并且在进一步的示例中,可以以将标记并入图案中来创建图案。在这方面,选择失真区域和确定标记的形状和其他特性的过程可以被实现为二维编码图案的设计和/或制作的一部分。

多个标记可被创建且被并入任何给定的图案中。在这种情况下,失真区域(其中将放置标记的图案的区域)可以被一次一个地选择并被单独修改,或者选择多个区域,并且可以同时创建标记。可以根据预定义的方案或以随机或伪随机方式来选择放置标记的图案区域。

在一个示例中,可以管理失真区域选择,以便限制图案失真,或以便具有在选择区域中修改的图案。可以选择标记区域,使得对标记的检测(并且将它们与非标记特征类型区分)和/或修改的特征类型(用作标记)的解码更加鲁棒和/或有效。

根据本公开的主题的示例,失真区域可以是固定的形状,例如,椭圆形、圆形、方形,五边形或星形。失真区域形状也可以是任意的或画出的形状,例如,当用户手动选择区域时。根据本公开的主题的一个示例,可以考虑图案的一个或更多个特性或图案的一个或更多个特征的一个或更多个特性来选择失真区域的形状和/或尺寸。

在框330处,可以修改标记的区域,并且因此可以将标记并入图案中。在一个示例中,可以根据修改规则进行对转换成标记的图案的区域的修改。修改规则可以基于标记检测标准和基于特征类型检测标准。

应当注意,标记检测标准、特征类型识别标准或两者都可以取决于几个因素,包括例如解码器的容限、成像场景的光学特性、投影图案的特性、投影和/或成像设备的特性等。失真区域修改标准的配置以及标记及其表现的生成可以与这些因素中的一些或所有因和其他相关因素相关联。可以针对修改规则设计各种配置,并且特定配置的选择可以是设计选择的问题。可影响标记检测能力和/或特征类型识别的其他因素还可包括:压缩能力、解码时间、对检测算法性能的总体影响。在上述检测和识别过程中可能影响的和可能被考虑到可检测性和识别标准中的因素的其它示例还可以包括结构光图案中的代码的值和/或顺序的保存、网格连接的保存以及执行自动校准的能力。

根据本公开的主题的示例,可检测性标准与标记检测程序相关联,并且涉及标记检测程序正确检测感兴趣区域中的修改并将这种检测到的修改转化为标记的能力。应当注意,在标记嵌入图案的位置预先已知的情况下,标记检测程序可以被配置为将搜索聚焦或限制在标记的预期位置并可能在标记的预期位置的附近或周围的某些扩展区域中。应当注意,标记检测算法可以包括标记检测阈值或范围,其允许关于针对标记预期的预期修改的一些容限。应当注意的是,标记检测算法和标记检测阈值或范围可以在投影图案中的标记的成功识别和误报之间表达一些平衡或权衡。

根据本公开的主题的示例,标记检测标准可以与用于对包括投影图案(和嵌入标记)的图像进行解码的解码器的特征、特性或配置相关联。如上所述,图案中的每个特征类型对应于码字。解码程序将码字值分配给被识别为表示相应投影特征类型的投影码中的区域。特征类型识别标准控制被修改以创建标记的特征类型的修改,使得改变不会使标记不可解码,或者使得该改变不会导致解码器在对标记进行分类时出错。换句话说,特征类型识别标准可以用于标记的创建中,以确保或增加似然性,当被用于对并入标记的图案进行解码时相应解码器为图案中的标记的每一个(或者大部分、或者最小数量等)分配从其创建标记的原始特征类型的码字值。

在当前公开的主题的一个示例中,可以如何精确地捕获图案用作修改图案和创建标记的标准。

在本公开的主题的一个示例中,网格连接保存部分地用作修改失真区域的标准。例如,修改规则可以被配置为限制在失真区域内的某些区域处的允许的改变的程度。进一步以示例的方式,变化程度受限的失真区域内的区域包括区域的边界。进一步以示例的方式,变化程度受限的失真区域内的区域包括区域的中心。

在本公开的主题的一个示例中,进行校准的能力部分地被用作修改失真区域的标准。标记可以帮助3d成像设备的校准,并可能增加校准强度。如果以特定方式修改失真区域,则可以实现标记识别程序以可靠地识别用于校准的标记。这些感兴趣的修改的区域可被识别,例如,由于它们的预定义的失真性质。然后,它们可以被用作图案的整体对准和取向的参考点。例如,可以相对容易地在至少部分重叠的多个(两个、三个等)帧上比较标记的位置。

另一特征类型识别标准示例可以与动态场景期间或者当使用时间编码时的图像捕获相关联。当正在获取3d数据的视频时,可以对不同的帧使用不同的编码或标记方案,和/或可以以不同的方式捕获或解码不同时间的帧(例如,以便节省数据和处理时间)。一个投影方案可以包括间歇地或仅在选择帧中利用修改的区域或标记。在另一个示例中,当对顺序帧进行编码时,该方法可以以全分辨率对一个帧进行编码,并且使用数据的子集对每个其他帧进行编码。

在特定条件下,在所有帧中具有修改的标记可能减慢解码速度,并因此标记仅被用于帧的子集中,例如每2个或5个或10个帧。类似地,应用特征类型识别和可解码标准并且在图案中具有修改的标记可以增加解码的速度或精度,并且可以增加帧分辨率,可以在所有帧中使用修改的标记。在另一个示例中,特征类型识别标准可以指示不同的修改或者在不同的帧上的修改的布置是有益的,并且可以设计和使用合适的修改方案。例如,在帧的序列中,可以在偶数帧中使用旋转图案,并且可以在奇数帧中使用收缩或之字形图案。

图5示出了根据本公开的主题的示例的包括使用旋转型失真创建的标记的二维双调结构光图案。另外参考了图6,其为根据本公开的主题的示例的具有类似于施加到图5的图案的旋转型失真的失真的网格。图5示出了由多个特征类型组成的二维编码图案的示例,其中每个特征类型由多个特征元素的唯一组合组成。用于构建特征类型的特征元素的每一个都具有预定义的形状和尺寸。图6被提供为非限制性视觉辅助,其示出了如与未修改区域509相比应用在图5中的失真区域505中的失真的另一视图。对应于图5中的失真区域505和非修改区域509的区域在图6中分别标记为605和609。

图5所示的编码图案可被用于在3d捕获设备中提供结构光图案。在这种3d捕获设备中,投影仪被用于投影结构光图案。结构光图案或其某些部分是一个或更多个对象反射出的,并且使用传感器来捕获反射图案的图像。投影仪-传感器关系创建对极几何。在投影仪和传感器之间具有固定的相对位置赋予几何约束,其将捕获的图像中的任何给定的反射特征类型(和任何特征元素)的位置限制在捕获的图像中的唯一对极线。这种几何约束和图案的结构确定可区分的对极线之间的对极距离。然而,本公开的主题的一些示例也可以与非固定的投影仪-传感器配置一起使用。

在图5中,二维编码图案相对于对极场以一定角度取向。例如在美国专利号8,090,194和8,538,166中描述了编码方法的讨论和关于代码相对于对极场的取向的进一步讨论。然而,应当注意,本文提供的包括关于生成标记的方法的示例不限于相对于对极场定向的代码,并且还可以应用于以各种其他形式布置的代码(相对于对极场),包括关于与对极场对准的代码,只要编码方法提供等距特征元素或者在本公开主题的示例的更通用的实现中,则生成标记的方法与在任何给定对的特征元素之间具有预定距离的代码一起使用。

根据本公开的主题的示例,通过在图案的特定区域内修改在一对(或多对)特征元素之间的对极距离来生成标记。对极距离修改的程度可由被用在标记检测过程中并在解码过程中实现的容限之内的预设值对极距离修改范围所确定。因此,标记可被标记识别处理如此识别,但不会导致由修改影响的特征类型的不正确分类。例如,根据特定噪声水平值来确定变化的程度,该噪声水平值表示系统中预期的、评估的或度量的噪声水平,并且修改可能大于由噪声信号引起的变化(至少在一定程度上或在可接受的错误率内)。在这方面,本公开的主题的一些示例使用预定的失真值,该失真值反映了投影图案的捕获图像中的预期或估计的噪声水平,并且修改被选择和/或控制为使得其超过以及可能距离失真值有一定的距离。根据本公开的主题的示例,预定的失真值可以与系统的景深或系统的snr行为相关联(但不一定受其束缚),特别是与系统fov内的系统的snr分布相关联。应当进一步认识到,由于(高水平的)局部噪声和其他原因,可能会发生标记识别中的一些错误,而对用于创建标记的修改和在投影图案多中的多个标记的分布的仔细调整可以减少这种错误的影响。

还要注意的是,特定失真区域内的变化也可以影响位于失真区域内的特征元素和位于失真区域之外的特征元素之间的对极距离,例如,由于失真区域内应用的失真,还可以修改失真区域中的特征元素和就在是真区域之外的特征元素之间的对极距离。在这方面,术语标记区域可以延伸超出失真区域。标记区域可以包括未失真的特征元素,因为失真区域之外的特征元素和失真区域内的特征元素之间的对极距离也可以不同于未修改区域内的相应特征元素之间的对极距离。在本公开的主题的一个示例中,标记区域包括失真区域和失真区域的外部边界处的特征元素。为了说明,在图5中,失真区域的外部边界处的特征元素包括直接围绕区域505的特征元素。

在图5中示出了失真区域505和非修改区域509。在失真区域505内,应用旋转失真。该失真修改在失真区域505内的一些或全部特征元素之间的对极距离。例如,比较非修改区域509内的特征元素507和508之间的原始对极距离501和失真区域505内的相应特征元素503和504之间的修改的对极距离502。图6中示出了在非修改区域609内的网格点607和608之间的原始对极距离601和失真区域605内相应网格点603和604之间的修改的对极距离602之间的类似的修改。

根据本公开的主题的示例,标记检测处理被配置为在特征元素的投影结构光图案表现的图像中检测谁的对极距离不同于在原始图案中的相应特征元素之间的对极距离(例如,以一些值或因子大于或小于)。

进一步以示例的方式,改变可以是使得相应特征类型或特征类型的修改的表现在由特征类型分类过程(其可以被实现为解码器的一部分)所应用的容限内,并且因此修改的特征元素不会损坏与之关联的特征类型。在这方面,应当理解,解码过程涉及识别特征类型并将特征类型放置在预定义的对极线上。每个特征类型与特征元素的唯一的形成相关联,并且为了识别特征类型,对图像进行处理以确定特征元素位置。原始特征类型(非标记特征类型)的特征元素具有预定义的对极距离,并且标记特征类型包括其极对距离与原始特征类型的特征元素的对极距离不同的特征元素。然而,当标记特征类型的特征元素的对极距离被修改时,维持特征元素的连续性,包括跨越在失真区域内以及在失真区域内的特征类型和在失真区域之外(在失真区域的边缘)的未修改的特征类型之间的不同特征类型。

可以使用任何合适类型的失真操作和图案,包括例如收缩(pinching)和旋转。可能的失真的其他示例包括起皱和膨胀。在一个示例中,例如,基于哪个特征检测方案(使用解码过程),基于标记出现的图案的区域,可以对图案的不同区域实现不同的修改。例如,对于与第一特征类型或与特定群组的特征类型相关联的标记区域,可以使用第一类型的失真,并且对于与第二特征类型或第二群组的特征类型相关联的标记区域,可以使用第二类型的失真。

如上所述,可以在标记区域中使用不同类型的失真。现在参考图7,其示出了根据本公开的主题的示例的包括使用收缩型失真创建的标记的二维双调结构光图案。另外参考了图8,其为根据本公开的主题的示例的具有类似于施加到图7的图案的收缩型失真的失真的网格。图7示出了与图5中使用的代码相同的二维编码图案的示例。图8被提供为非限制性视觉辅助,其示出了如与未修改区域709相比应用在图7中的失真区域705中的失真的另一视图。对应于图7中的失真区域705和非修改区域709的区域在图8中分别标记为805和809。

在图7中,在失真区域705内使用收缩失真。该失真修改在失真区域705内的一些或全部特征元素之间的对极距离。例如,比较非修改区域709内的特征元素707和708之间的原始对极距离701和失真区域705内的相应特征元素703和704之间的修改的对极距离702。图8中示出了在非修改区域809内的网格点807和808之间的原始对极距离801和失真区域805内相应网格点803和804之间的修改的对极距离802之间的类似的修改。

应当注意的是,通过使用可解码(或维持在可解码的标记中的特征类型)的标记,在代码中具有许多失真区域(修改以创建标记的区域)是可能的,而对可从投影图案中提取的深度信息的质量只有有限的损害或者可能甚至没有显着地损害,因为标记对于能够对标记区域内的特征类型进行解码的解码过程是“透明的”。应当理解,为了保持标记内的特征类型的可解码性,应用到失真区域(和应用到标记区域)的修改可以被限制在其程度上,以便不致使在标记区域内的特征类型为不可解码的。例如,对极距离的修改应考虑到用于对极线区分的安全距离,其例如在授予gordon等人的美国专利8,090,194和授予gordon等人的美国专利第8,538,166号中所描述的。如果特征元素之间的对极距离被修改太多,则与特征元素相关联的特征类型可能不再被解码器识别,或者可能在解码过程期间不正确地放置在可区分的对极线中的一个上。另一方面,如果修改太小,则标记检测过程更可能错过识别一些标记,因为这种标记在投影图案的反射的图像中的表现可能太类似于未修改的特征类型。然而,由于具有根据本发明的主题的示例的标记不会显著损害可从投影图案中提取的深度信息的质量,可以在图案中包括许多标记,并因此当标记检测过程确实可能会错过一些标记时,通常会留下将被成功识别的足够的标记。

应当理解,即使在图案中包括许多标记时,特征类型的数量也大得多。从另一个角度来看,在图案中,特征类型的密度远大于标记密度。特征类型对之间的对极距离显着小于标记对之间的对极距离。

根据本公开的主题的示例,可以使用标记来支持解码和特征元素和特征类型提取,包括在不使用标记则解码是具有挑战性的、困难的甚至是不可能的情况。例如,可以使用标记检测过程来检测标记,并且具有标记设计的知识、包括特征元素和特征类型结构的知识(标记中的特征类型的身份可以是已知的)、以及具有哪些特征元素和哪些特征类型围绕标记的现有知识可被用于对投影图案进行解码。例如,一起使用特征设计和结构(特征元素和特征类型的)的知识来识别标记可被用于从包含标记的投影图案的反射的图像中提取特征类型(以及还可能提取特征元素)。

在根据本公开的主题的另一示例中,即使当3d相机不在校准时,也可以使用标记来允许某种程度的解码。由于标记之间的对极距离相对大,标记模糊只在校准丢失的严重情况下发生。通过跨多个帧跟踪标记,可以恢复一定程度的校准。

现在继续对图3的描述,在框340处,修改的图案可以被投影到场景上。例如,可以经由闪光灯18投影修改的图案。修改的图案可以被投影,使得可以容易地检测修改的标记,例如通过应用于投影到场景上的图案的图像的标记检测过程。类似地,可以进行对修改的图案的投影以用于相机(特别是3d相机)的校准、相机(特别是3d相机)的自动校准,或者在图像处理阶段中进行。对修改的图案的投影可以经由例如红外光、rgb、其他形式的可见光或并用于3d成像中或关于3d成像使用的任何其他技术来完成。

一些主动三角度量或3d数据捕获技术依赖于使用对极限制将检测到的图案特征与投影的图案特征匹配。在本公开主题的一个示例中,基于对极限制来匹配检测到的特征的步骤的顺序可以是:1)检测在捕获图像中的图案特征类型;2)使用一组立体校准参数,估计通过投影仪的平面的相应的对极线;3)在线上或最接近线条处找到相应的特征类型;以及4)三角度量,以便使用校准参数来查找特征的3d坐标。

对于具有相机坐标xi的任何检测到的特征类型,相应的极线参数li可以由下式给出:

li=fxi,其中,f是立体组的基本矩阵(fm)。如上所述生成的失真标记可以被检测,然后使用分布规则(预定义方案,根据该方案,标记在图案中分布)与其投影的对应物匹配,允许通过许多技术进行fm估计。

图9示出了根据本公开的主题的示例的示例解码器900。诸如解码器900的硬件或软件解码器可以用于对极约束计算。解码器900可以包含例如要分开运行的几个线程或执行过程。线程可能在不同的处理周期中运行。类似地,每个线程可以作为单独的集成电路、或者在一个硬件处理器上的单独的模块运行。类似地,设备处理器50或3d捕获处理器16可以如在解码器900中那样进行解码。在其他示例中,可以在诸如服务器或家庭pc的单独系统中进行解码。

在解码器900的一个示例中,采集线程902、帧处理线程904、多帧数据线程906和基本矩阵估计器线程908可被全部运行。类似地,在另一示例中,多帧数据线程906可以不被运行。

在采集线程902中,帧采集引擎(fae)910可以从诸如使用3d捕获设备拍摄的视频的序列采集新的帧或多个帧。在帧处理线程904中,可能在帧处理器911中发生若干计算阶段。特征处理器912可以识别特征类型并检测标记。以示例的方式,标记检测和特征类型识别是两个不同的处理器,并且可以彼此独立。在一个示例中,当在单个帧上进行对极匹配时,特征处理器可以如路径922中的那样绕过多帧数据累加器916。在另一示例中,当使用多个帧执行对极匹配时,特征处理器912可以经由路径920来更新多帧数据累加器916。

当使用多帧数据线程906时,多帧数据累加器(mfda)916可以从序列中的若干帧累积特征和对极数据。在基本矩阵估计器线程908中,fm估计器918接收需要fm估计的指示。该指示可以由多帧累加器或特征处理器发出,其开始fm估计。当fm估计完成时,测试其有效性,且帧处理器911被通知以在下一帧处理周期中使用它。

在本公开主题的一个示例中,可将上述方法集成到3d成像方法中。例如,对于所接收的投影图像,根据特征类型识别标准来识别每个反射特征类型(例如,参见美国专利号8,090,194),并且沿图像中的其相关联的对极线确定其位置,例如由执行3d成像方法的图像处理设备确定。然后,基于三角度量,将沿其对极线的特征的精确位置对应于其反射的3d空间坐标。可选地,将位置与预先计算的三角度量表进行比较,以确定反射出特征的对象上的点的三维空间位置。在修改的程序中,在该方法期间或结束时,可首先检测失真的标记,并将失真的标记与投影图案中或投影图案的先前图像中的标记位置进行比较。

在本公开的主题的一个示例中,可以进行单帧基本矩阵(fm)估计。进行单帧fm估计可以包括采集帧、检测失真或修改的标记、建立标记对应、估计fm、更新fm、对帧中的特征进行对极匹配并进行三角度量。类似地,单帧fm估计可以包括用于多个连续帧的fm估计的多个迭代。帧的序列可以是连续的或可以是间隔开的帧。

在本公开的主题的一个示例中,可以执行多帧fm估计。检测到的标记可能在若干帧上累积。可以分析累积的标记以消除假阳性,例如检测到的不是标记的特征类型。检测到的标记可用于估计fm。在动态场景中,真正的标记可以沿着对极线排列,其被成像为基本上直的线。在静态场景中,准确的标记应位于相同或几乎相同的图像坐标处。

虽然前面的描述阐述了各种示例的详细描述,但是应当理解,本公开的主题的法律范围由下面提出的权利要求的词句定义。详细描述仅被解释为示例,并且不描述当前公开的主题的每个可能的示例。可以使用当前技术或在本专利申请日之后开发的现技术来实现许多备选示例,其仍然落在限定本公开的主题的权利要求的范围内。

应当理解,如对于本领域普通技术人员明显的是,存在对本公开的主题及其各个方面的其它变化和修改的实现,并且本公开的主题不限于本文所述的具体的示例。因此,预期覆盖落入本文公开和要求保护的基本基础原则的范围内的任何和所有修改、变化或等价物。

还应当理解的是,根据本发明的系统可以是适当编程的计算机。同样地,本发明涵盖由计算机可读的用于执行本发明的方法的计算机程序。本发明还考虑有形地实施由机器可执行用于执行本发明的方法的指令程序的机器可读存储器。

在一个实施例中,本文描述的功能或算法可以在软件或软件和硬件的组合中实现。软件可以由存储在计算机可读介质上的计算机可执行指令组成,计算机可读介质包括有形和非瞬态计算机可读介质,例如存储器或其他类型的存储设备。此外,这些功能对应于模块,模块是软件、硬件、固件或其任何组合。可以根据需要在一个或更多个模块中执行多个功能,并且所描述的实施例仅仅是示例。软件可以在诸如个人计算机、服务器或其他计算机系统的计算机系统上运行的数字信号处理器、asic、微处理器或其它类型的处理器上执行。

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