用于数据库创建目的的交互式且自动3d对象扫描方法_4

文档序号:9493734阅读:来源:国知局
述目标的位置和定向的先前所提供的信息,使来自不同图像的关 注点相关联。在给定关于对应性的信息的情况下,可对焦点的定位进行三角测量。此估计 可具有噪声,因为关注点X的位置中的子像素错误可导致关注点X的所计算的位置中的大 错误。可通过同一点处的多个观察结果来减少这些错误。此外,通过最小化估计地点的再 投影错误,束调整可同时校正关于关键帧(例如图4中的帧412和414)中的相机姿势的初 始信息。
[0070] 当从两个以上关键帧使用两个以上对应性和位置时,可进一步使用束调整,从而 导致所有相关联关注点X、Y和Z的归因于平均信息而导致所得位置中的大得多的置信度。 另外,当使用关注点的跟踪和检测两者执行此束调整时,准确性得到进一步改进。
[0071] 并且,如上所提到,装置中的额外传感器可用于进一步改进捕获关键帧时装置的 相对定位的准确性。可使用测量装置的定位和移动的加速计、陀螺仪和各种其它定位系统, 来代替或补充上文所描述的位置测量结果。在某些实施例中,这可提供增加的准确性或减 少的处理器使用。在某些实施例中,这些定位系统可用于在装置捕获特定关键帧时,确定装 置的位置或姿势。可使用此信息来创建关于从二维关注点(明确地说,关键帧)到处的关 键点的信息。
[0072] 在某些实施例中,归因于匹配图像之间的实际像素的简单过程,可将关于关注点 周围的像素的描述性信息选择为对匹配决策具有较大影响。然而,对于许多对象,同一关注 点的多个观察结果趋向于在多个视图上逐渐但持久地变化。这可归因于表面反射率的变 化、对象上的变化的自遮挡,或仅投影视图的本质。因此,有可能以若干关键点分组群集来 结束,其中每一分组的描述符满足某些常见滤波要求,而不是其它要求。举例来说,每一群 集内的描述符可满足最大距离要求,但可能不满足跨群集的最大距离要求。这可导致正估 计若干三维关键点匹配,其中仅存在一个匹配。因此,在某些实施例中,可进行描述符群集 之间的相交的观察。这些观察为做出关于是否合并多个关注点或点的对应性集合的决策提 供关注点与额外信息之间的链接。这进一步提供提供任何束调整的增加的稳健性,妾可充 当前驱体来精简额外或不必要的数据。束调整过程可得益于跨视图群集合并对应性,因为 接着基于更多数据来估计同一关注点X,而不是估计两个不同点X和X',其中的一者是虚假 的。这也可与其它精简或数据滤波技术组合,以优化将作为紧凑对象表示存储在数据库中 的数据,其中从多个帧合并的关注点可存储为具有关于关键点周围的对象的相关联描述性 数据的单个关键点。或者,在一些情况下,具有同一三维点定位X的多个个例,但两个或更 多个不同描述符与之相关联是有益的。当跨多个视图的描述符差异过于显著使得匹配管线 无法形成数据库中的单一描述符与从同一定位X的"远"查询视图提取的对应描述符之间 的关联时,可为此情况。
[0073] 在束调整之后,从至少两个视点可见的每一所关注点X现在由其三维定位和多个 描述符表示,每一描述符通常对应于在扫描期间观察到所述点的一个不同关键帧。此步骤 通常接着是旨在去除不与所关注的对象相关联的关键点的分段和滤波技术。此方法通常仅 依靠所有所捕获关键点的三维位置(Xl、x2、x3),且由此可与针对束调整的步骤组合,因为在 此步骤处,三维位置是已经的。所述过程中用于在扫描之后形成紧凑对象表示的最终步骤 称为特征精简。即,尚存的关注点X现在与至少两个,且通常若干描述符相关联。关注点 的定位连同所附描述一起有时被称作"特征"。因此,一组特定三维坐标处可存在与单个关 键点相关联的许多特征,妾目标是避免重复,压缩表示大小,并且通过精简这些特征中的一 些来最小化混淆,其中精简是去除某些描述符与合并多个尚存描述符以形成减少数目的新 "经精简"描述符的组合效应。此精简可由实施一系列精简步骤的模块来执行。此类步骤可 基于针对其将关注点视为检测为关键点的特征的所述数目的不同图像和视点的可重复性 对关注点进行滤波。这还可基于可辨性来进行滤波,使得选择相似特征中对应于多个视图 中的同一关键点的部分。去除用于相似特征的其余部分的关键点,以减少紧凑对象表示中 的冗余。
[0074] 在某些实施例中,可执行分析,其使值与关键点关联,以便优化对象表示的大小。 可建立值阈值,使得冗余或另外价值较小的关键点得以去除,而具有高于数据值阈值的唯 一且高度可见关键点可得以保存。
[0075] 在另外的实施例中,可使用不同的精简步骤,取决于所述装置可用的处理资源以 及用户所选择的其它选项。可控制关键点精简程度的额外参数的实例包含:多维描述符空 间中的ε球的半径,用以确定关键点周围的像素是否足够相似;三维空间中的ε球的半 径,用以确定不同关键点一起非常接近地束缚在欧几里得空间中;基于特定关键点的视图 数目的可重复性阈值;以及基于针对多个视图中的单个关键点而识别的特征变化的可辨性 阈值。
[0076] -个实施例可因此涉及使用移动计算装置的相机模块来捕获场景的多个图像。所 述场景的所述多个图像中的每一者包含第一对象的至少一部分的图像。对于所捕捉的图像 中的每一者,假定由相对于所关注的对象在其中不移动的世界坐标系的六个自由度和一位 置以三维形式组成的相机位置或"相机姿势"是已知的。可以不同方式获得相机姿势:通过 小心地校准固定设置(如使用机械臂),或通过检测和跟踪与正扫描的对象相同的场景中 存在的已知对象"目标"的投影外形。接着可将所述多个图像中的第一图像识别为第一关 键帧,其中移动计算装置从第一位置捕获第一图像。可将所述多个图像中的第二图像选作 第二关键帧。移动计算装置从不同于第一位置的第二位置捕获第二图像。可从所述第一关 键帧识别第一多个关注点,其中所述第一多个关注点识别来自所述场景的特征。可从第二 关键帧识别第二多个关注点。一种系统可接着使所述第一多个关注点与所述第二多个关注 点匹配,并识别与所述对象相关联的关键点。与所述对象相关联的关键点可接下来与每一 关键点周围的区域的至少一个描述相关联,且它们在一起可作为紧凑对象表示存储在对象 检测数据库中。
[0077] 在替代实施例中,装置可操作SLAM系统。SLAM系统是使用成像数据来建立未知 环境(无先验知识)内的地图,或更新已知环境(具有来自给定地图的先验知识)内的地 图,同时从成像数据保持跟踪其当前定位。在本文所述的实施例中,不是建立环境或场景, 而是使用来自标准SLAM系统的地图数据,利用如上文所描述而创建的关键点来建立所述 对象的地图。所述SLAM系统如上文所描述从图像选择关键帧,因为SLAM系统的标准操作 包含创建关键帧,作为SLAM操作的一部分。可使用场景映射和装置位置跟踪,作为用于如 上文所描述提取对象的显著特征和结构特性的工具。以此方式,图像捕获和关键帧选择可 由SLAM系统执行。整个系统可将关键帧从SLAM系统提供到单独的提取器和描述符系统。 此提取器和描述符系统可接着对关键帧运行,以提取对象外形信息。在某些实施例中,单独 的SLAM和提取器/描述符系统可作为用于跟踪、地图建立和本地化的较简单且较便宜的系 统而提供益处。整个系统可更复杂,但也可提供更高效的辩别和不变的关注点检测。描述 符系统可接着建立跨关键帧的关键点对应性,并执行任何其余步骤。
[0078] 此实施例可使用SLAM利用多个准则来选择和存储关键帧,包含相机位置稳定性、 所提取的多个充分"不同"特征,以及其它此类度量。SLAM关键帧可因此不经修改地用于 检测特征提取。其它实施例可实现目标为与数据库创建更一致地自动创建关键帧的定制关 键帧选择。这些实施例中的任一者实现可在扫描对象时隐藏不被用户看到的自动关键帧选 择。
[0079] 在某些实施例中,以多线程方式实施SLAM系统,其中关键点特征提取在后台进程 中运行。随关注点提取的描述符可对应于特定关键帧内的投影对象视图。为了编码关键点 之间的相互几何形状,如上文所描述,某些实施例可使用传统的多视图对极几何技术。
[0080] 在各种替代实施例中,可在匹配图像之间的关注点以创建关键点之前、在此匹配 之后,或在之前和之后两者,对关注点进行滤波。其它实施例可使用检测以及SLAM特征和 其跨多个关键帧的对应性,来稳健地估计三维关键点定位。其它实施例还可对关键点数据 进行后处理,以精简所提取的多视图检测特征,并为对象检测数据库创建紧凑对象表示。
[0081] 在一个实施例中,用户接口可提供不同关键帧选择准则,其目标可为为数据库创 建优化紧凑对象表示。在某些实施例中,显示器可近实时地呈现所提取的且经三角测量的 关键点,以使扫描过程可视化。在某些实施例中,这可使用户能够在空中更改参数,以在选 择关键帧时,调整关键点创建。
[0082] 图5现在描述根据某些实施例的装置500的一个实施方案。如上文所描述,图1和 5说明一种系统,其在一个实施例中,可包含用以扫描对象的装置110或410。装置500可 为装置110或装置410的一个实施例,且可执行用于为对象检测数据库创建紧凑对象表示 的方法的所有元素。在图5中所示的装置500的实施例中,可使用专用模块来实施对象扫 描,包含对象识别模块521和扫描与数据库输入模块522。数据库524可为专用的紧凑对象 表示基础,或可为较大数据库系统的一部分。对象识别模块521可为实施本文所述的SLAM 的模块,或可为用于识别关键帧的定制模块。在某些实施例中,对象识别模块521和数据库 输入模块522可实施为单个模块。
[0083]另外,在某些实施例中,用于对象识别模块521和/或扫描与数据库输入模块522 的控制模块或控制输入可实现各种扫描方面的手动选择。举例来说,当关键帧在某些角度 稀少时,用户可选择具有在显示器输出503处呈现的自动提示,以确定何时需要来自不同 角度的更多关键帧。此系统还可实现到预期高值关键点数据的特定角度的提示和方向。在 某些实施例中,此系统可基本上跟踪对象的某些部分周围的关键点密度和/或关注点密 度。对于给定图像,所述系统可确定从中采集图像的定位与从中采集最近关键帧的定位之 间的空间关系,并使用此信息连同用于这些定位的关注点信息来确定来自新定位的额外关 键帧的值。
[0084] 所述系统可因此告知用户额外关键帧何时将从某些角度提供高数据值。此控制还 可使用户能够定制关键帧的选择,或更新用于进行中的扫描的关键帧的选择。在某些实施 例中,这还可使用户能够检视所记录的图像,并手动选择特定图像作为关键帧。更进一步, 用户选择可设定关键点精简和滤波的阈值。
[0085] 在图5处示出的实施例中,移动装置500包含处理器510,其经配置以执行用于在 许多组件处实施操作的指令,且可(例如)为适合于在便携式电子装置内实施的通用处理 器或微处理器。处理器510可因此实施用于本文所述的紧凑对象表示创建的特定步骤中的 任一者或全部。处理器510与移动装置500内的多个组件通信耦合。为了实现这一通信耦 合,处理器510可跨越总线540与其它所说明的组件通信。总线540可为适合于在移动装 置500内传送数据的任何子系统。总线540可为多个计算机总线,并且包含用以传送数据 的额外电路。
[0086] 存储器520可耦合到处理器510。在一些实施例中,存储器520提供短期和长期存 储两者,且实际上可被划分成若干单元。存储器520可为易失性的,例如静态随机存取存储 器(SRAM)和/或动态随机存取存储器(DRAM),和/或非易失性的,例如只读存储器(ROM)、 快闪存储器等。此外,存储器520可包含可装卸存储装置,例如安全数字(SD)卡。因此,存 储器520提供用于移动装置500的计算机可读指令、数据结构、程序模块及其它数据的存 储。在一些实施例中,存储器520可分布到不同硬件模块中。
[0087] 在一些实施例中,存储器520存储多个应用程序模块。应用程序模块含有待由处 理器510执行的特定指令。在替代实施例中,其它硬件模块可另外执行某些应用程序或应 用程序的部分。存储器520可用于存储用于根据某些实施例实施扫描的模块的计算机可读 指令,且还可存储紧凑对象表示作为数据库的一部分。
[0088] 在一些实施例中,存储器520包含操作系统523。操作系统523可操作以起始应 用程序模块所提供的指令的执行,和/或管理其它硬件模块以及与可使用WAN无线收发器 512和LAN无线收发器542的通信模块介接。操作系统523可适于横跨移动装置500的组 件执行其它操作,包含线程处理、资源管理、数据存储控制和其它相似功能性。
[0089] 在一些实施例中,移动装置500包括多个其它硬件模块。其它硬件模块中的每一 者为移动装置500内的物理模块。但是,虽然所述硬件模块中的每一个永久地配置为结构, 但硬件模块中的相应者可经临时配置以执行特定功能或经临时激活。常见实例为可对相机
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1