CN105247573A - 用于数据库创建目的的交互式且自动3d对象扫描方法 - Google Patents
用于数据库创建目的的交互式且自动3d对象扫描方法 Download PDFInfo
- Publication number
- CN105247573A CN105247573A CN201480030440.XA CN201480030440A CN105247573A CN 105247573 A CN105247573 A CN 105247573A CN 201480030440 A CN201480030440 A CN 201480030440A CN 105247573 A CN105247573 A CN 105247573A
- Authority
- CN
- China
- Prior art keywords
- focus
- key frame
- key point
- image
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
- Length Measuring Devices By Optical Means (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明描述用于捕获适合于离线对象检测的三维对象的紧凑表示,并将所述紧凑表示作为对象表示存储在数据库中的***、方法和裝置。一个实施例可包含捕获场景的帧,从所述场景的不同关键帧识别关注点,使用所述关注点来创建相关联的三维关键点,以及将与所述对象相关联的关键点作为对象表示存储在对象检测数据库中。
Description
技术领域
本发明大体上涉及图像辨识,且明确地说,涉及可用于辅助识别对象的对象表示基础信息的创建。
背景技术
例如数码相机、具有嵌入式相机的电话,或其它相机或传感器装置等裝置识别并跟踪三维环境中的对象。这可用于创建增强现实显示,其中关于***所辨识的对象的信息可呈现给正观察所述***的显示器的用户。此类信息可在装置的显示器中在真实环境的覆层上呈现。来自对象数据库从信息可随后用以识别装置所观察到的环境中的对象。
特别是具有嵌入式数码相机的移动装置可能具有存储和处理,特别是与强大的固定安装服务器***相比。减少实施此类对象检测/跟踪的***的处理和带宽负载的一种方法是存储可用于识别环境中的对象的对象信息的本地数据库。此数据库信息可基本上被视为帮助装置使用存储在数据库中的模板来识别对象的辅助信息。当装置正在增强现实或对象识别模式下操作时,将所述装置所捕获的图像与数据库中的对象表示进行比较,以确定是否存在对象匹配,且如果存在,那么将相机的当前姿态与所识别的物体进行比较。当发生对象匹配时,可起始响应性操作,或可结合含有所识别的对象的图像,在装置显示器中呈现关于所述对象的额外信息。
虽然存在用于创建此类数据库信息的***,但现存的***无法根据各种各样的移动装置而缩放。此现存***的一个实施例使用所关注对象的组合是几何/纹理模型。这些模型有时是对象生产级(CAD模型)处已知的,但在大多数情况下,它们是不可用的。另一已知方法是使用基于激光或基于IR的扫描***,来同时估计几何形状并收集对象的图像。然而,此类扫描***通常较昂贵,且归因于对所使用的不同传感器的物理限制而具有纹理挑战。因此,一般来说,所述模型不可用或有点准确达到它们会影响检测性能的点。
用于创建三维对象表示以用于如本文所述的计算机视觉的***和方法可以当前获得对象表示以用于检测和跟踪***的方式来提供改进和简化。
发明内容
本文中描述用于创建三维对象表示的***和方法。一个实施例可为捕获适合于离线对象检测的三维对象的紧凑表示的方法,其包括:使用装置的相机模块,捕获场景的多个图像,其中所述场景的多个图像中的每一者包含对象的至少一部分的图像;识别多个图像中作为第一关键帧的第一图像,以及所述装置的与所述第一图像相关联的第一位置,其中所述第一图像是由所述装置从所述第一位置捕获;识别多个图像中作为第二关键帧的第二图像,以及与所述装置的所述第二图像相关联的第二位置,其中所述第二图像是由所述装置从所述第二位置捕获,且其中所述第二位置不同于所述第一位置;从所述第一关键帧识别第一多个关注点,其中所述第一多个关注点识别来自所述场景的特征;从第二关键帧识别第二多个关注点,其中所述第二多个关注点识别来自所述场景的所述特征的至少一部分;使所述第一多个关注点与所述第二多个关注点匹配;至少部分地基于所述第一多个关注点与所述第二多个关注点的所述匹配,来识别与所述对象相关联的关键点;以及将与所述对象相关联的关键点作为对象表示存储在对象检测数据库中。
额外实施例可进一步操作,其中识别与对象相关联的关键点包括:对所述第一多个关注点和所述第二多个关注点进行滤波,以识别与所述对象相关联的关注点。
额外实施例可进一步操作,其中对所述第一多个关注点和所述第二多个关注点进行滤波包含包括以下各项中的一者或一者以上∶删除距阈值数目个最近关注点的平均距离小于阈值距离的关注点;删除与来自其它关键帧的关注点不匹配的关注点;以及删除在场景的限定容量之外的关键点。
额外实施例可进一步操作,其中所述场景进一步包含平面目标,或其中使所述第一多个关注点与所述第二多个关注点匹配包括:从所述第一图像中的所述平面目标的第一位置识别所述装置的所述第一位置;从所述第二图像中的平面目标的第二位置识别所述装置的所述第二位置;确定所述装置的所述第一位置与所述装置的所述第二位置之间的相对位置;基于所述第一位置与所述第二位置之间的相对位置,使所述第一多个关注点与所述第二多个关注点匹配;以及确定并记录每一关键点在坐标系中的位置。
额外实施例可进一步操作,其中每一关键点包括关键点定位信息和关键点描述符,包括从所关注的关键点周围的像素区域的外形导出的信息。在某些实施例中,关键点描述符可包含与关键点和所述关键点周围的像素相关联的梯度或其它信息。
额外实施例可进一步操作,其中识别作为第一关键帧的第一图像包括用户选择。
额外实施例可进一步操作,其中识别作为第一关键帧的第一图像包括装置的自动选择。
额外实施例可进一步操作,其中识别作为第二关键帧的第二图像包括:识别第二图像内的关键点密度;识别第二位置与第一位置之间的空间关系;确定第二位置处的关键帧将提供具有高于阈值的数据值的数据以用于对象表示;以及选择第二图像作为第二关键帧。
替代实施例可为用于捕获适合于离线对象检测的三维对象的紧凑表示的***,其包括:装置的相机模块,其捕获场景的多个图像,其中所述场景的所述多个图像中的每一者包含对象的至少一部分的图像;一个或多个处理器,其(1)识别所述多个图像中作为第一关键帧的第一图像,以及所述装置的与所述第一图像相关联的第一位置,其中所述第一图像由所述装置从所述第一位置捕获;(2)识别所述多个图像的作为第二关键帧的第二图像,以及所述装置的与所述第二图像相关联的第二位置,其中所述第二图像由所述装置从所述第二位置捕获,且其中所述第二位置不同于所述第一位置;(3)从所述第一关键帧识别第一多个关注点,其中所述第一多个关注点识别来自所述场景的特征;(4)从第二关键帧识别第二多个关注点,其中所述第二多个关注点识别来自所述场景的所述特征的至少一部分;(5)使所述第一多个关注点与所述第二多个关注点匹配;以及(6)至少部分地基于所述第一多个关注点与所述第二多个关注点的匹配,识别与所述对象相关联的关键点;以及存储器,其将与所述对象相关联的关键点作为对象表示存储在对象检测数据库中。
此实施例可进一步起作用,其中所述装置进一步包含:显示器,其耦合到所述相机模块,其中当所述装置的所述相机模块捕获到所述场景的所述多个图像的至少一部分时,所述显示器输出所述关键点的至少一部分的图像。
此实施例可进一步起作用,其中所述显示器进一步输出关键点重叠在对象上的场景的视频图像,其中所述装置进一步包含运动传感器,其中所述装置的第二位置由一个或多个处理器使用来自运动传感器的信息来识别,或其中所述装置进一步包含:用户输入模块,其中识别作为第一关键帧的第一图像包括在装置的用户输入模块处接收到的用户选择。
此实施例可进一步起作用,其中所述装置进一步包含:天线;以及无线收发器;其中一个或多个处理器经由网络、所述天线和所述无线收发器耦合到所述装置。
另一实施例可为非暂时性计算机可读媒体,其包括指令,所述指令在由耦合到所述非暂时性计算机可读媒体的处理器执行时,致使装置:使用所述装置的相机模块,捕获场景的多个图像,其中所述场景的所述多个图像中的每一者包含对象的至少一部分的图像;识别所述多个图像中作为第一关键帧的第一图像,以及所述装置的与所述第一图像相关联的第一位置,其中所述第一图像是由所述装置从所述第一位置捕获;识别所述多个图像中作为第二关键帧的第二图像,以及所述装置的与所述第二图像相关联的第二位置,其中第二图像是由所述装置从所述第二位置捕获,且其中所述第二位置不同于所述第一位置;从所述第一关键帧识别第一多个关注点,其中所述第一多个关注点识别来自所述场景的特征;从所述第二关键帧识别第二多个关注点,其中所述第二多个关注点识别来自所述场景的所述特征的至少一部分;使所述第一多个关注点与所述第二多个关注点匹配;至少部分地基于所述第一多个关注点与所述第二多个关注点的匹配,识别与所述对象相关联的关键点;以及将与所述对象相关联的关键点作为对象表示存储在对象检测数据库中。
此实施例的实例可进一步操作,其中所述指令在由所述处理器执行时,进一步致使所述装置:对所述第一多个关注点和所述第二多个关注点进行滤波,以识别与所述对象相关联的关注点,作为识别与所述对象相关联的关键点的一部分
此实施例的实例可进一步操作,其中所述指令在由所述处理器执行时,进一步致使所述装置:删除距阈值数目个其它关注点的平均距离小于阈值距离的关注点;以及删除与来自其它关键帧的关注点不匹配的关注点,作为对所述第一多个关注点和所述第二多个关注点进行滤波的一部分,以识别与所述对象相关联的关注点。
此实施例的实例可进一步操作,其中所述指令在由所述处理器执行时,进一步致使所述装置:删除在所述对象的限定容量之外的关键点,作为对所述第一多个关注点和所述第二多个关注点进行滤波的一部分,以识别与所述对象相关联的关注点。
此实施例的实例可进一步操作,其中作为对象检测数据库中的对象表示的与所述对象相关联的关键点中的每一关键点包括坐标信息、亮度信息和周围像素模式信息。
附图说明
图1说明包含将扫描到数据库中的对象的一个实施例的方面;
图2说明根据一个实施例的扫描对象以为数据库创建对象表示的方法的方面;
图3A说明包含来自一个装置位置的未过滤的关注点的一个可能实施例的方面;
图3B说明包含关注点的直方图的一个实施例的方面;
图3C说明包含经滤波关注点的一个可能实施例的方面;
图3D说明包含经滤波关注点的一个实施例的方面;
图3E说明包含组成对象表示以用于存储在数据库中的3D关键点的一个实施例的方面;
图4说明与三角测量有关的一个实施例的方面;
图5是结合本文所描述的各种实施例使用的装置的一个实施例;
图6是结合本文所描述的各种实施例使用的计算装置的一个实施例;以及
图7是可连接本文所述的各种实施例中的裝置和数据库的网络***的一个实施例。
具体实施方式
本文所述的实施例涉及用于扫描对象以创建对象表示的***和方法,其中创建所述对象表示来优化装置的对象辨识。
本文所述的实施例可创建紧凑对象表示,其可存储在数据库中,且稍后用来使在装置处捕获的图像中所见的对象与此前所扫描的对象匹配。这可与创建对象的紧凑表示并用来跟踪所述对象但不存储以供将来的对象识别的其它实施例区分开。对于本文所述的实施例,紧凑表示可将大量视频或图片图像压缩成具有相关联描述性数据的相对少量的关键点。在一个实例中,可处理若干兆字节的视频数据,以实现具有1000个关键点以及关于那些关键点的描述性信息(例如从不同角度观看的周围区域的梯度信息)的紧凑对象模型。显著关键点的提取器可通过首先借助于选择图像的子集作为关键帧,将图像从视频数据中的所有图像滤出,来处理此类视频数据。接着可通过关键帧内较高对比度或较高曲率的关注点来处理所述关键帧。接着可根据关键帧上的重复、其与其它关注点的接近性,或其它图像层级或几何关注点值,来进一步对所述关注点进行排序。此类处理以先前技术中未知的方式进行,所述处理取得一端上的图像序列,并产生由显著关键点及其描述组成的紧凑对象。某些实施例可使用SLAM(同时定位和映射)或PTAM(并行跟踪和映射)***的方面,作为用于将图像分为关键帧并建立在图像上观察到关注点与关键帧之间的几何关系的装置,且接着可另外提供关注点分段和精简,以便以先前技术中未知的方式来从若干组关键点实现紧凑对象。此类***因此以先前未知的方式提供适合于创建任意对象的紧凑对象信息的数据库的对象表示的高效创建。此类对象表示可存储在不连接到网络的装置上,和可用于辨识装置所捕获的图像中的对象。
举例来说,可将待扫描的对象放置在紧挨着已知场景的表格上。已知场景可由已知平面对象(平面目标)、已知三维对象(3D目标)或两者的组合给出。目标的位置和定向是将扫描所述对象的移动装置已知的。这是通过对先前已知对象-目标的对象检测和跟踪来实现。移动装置可为例如具有相机的电话、处理器和可用存储器存储空间。或者,移动装置可获取在单独处理单元上离线后处理的视频序列的相机。移动装置也可为连接到个人计算机或替代处理装置的相机。用户可键入命令以开始扫描处理,此时,移动扫描相机可开始捕获包含所述对象的场景的图像。所述装置可在延迟了至多达若干秒的时间周期内实时分析所述图像,或可仅存储所述图像供以后分析。随着用户将装置移动到对象周围和上方的不同位置,将捕获来自不同距离、角度和高度的图像,使得存储所述对象的不同视图。在一些实施方案中,例如对于实施实时或近实时分析的装置,所述装置可提供方向或建议,来移动所述装置以从优选位置捕获图像。接着可在稍后存取所述紧凑表示,以识别图像或视频流中的对象。
在另一实施例中,可安裝和固定具有相机的扫描装置,但可以某一方式旋转和移动所关注的对象,以便从各种观看角度尽可能多地展现其表面。根据特定实施例,此扫描装置可为电话、录像机、数码相机,或可包含相机和其它模块的任何其它此类装置。所述对象可再次伴有已知目标,以便促进所提取的关注点与已知坐标系的关联。或者,在不同实施例中,从相机固持器到用于对象扫描的平台的整个***可极佳地校准,使得相机相对于对象的位置在任何时刻都是已知的。
接着,可将某些图像选定为关键图像帧。此类关键帧可仅周期性地采集,可在处理器的分析之后选择,或可由用户手动选择。一旦已选定多个关键帧,就识别所述关键帧内的关注点,且可进行分析,以识别捕获每一关键帧时相机的相对位置。装置位置分析可使用已知目标的图像数据、来自集成作为相机的一部分或耦合到相机的位置模组的数据。所述位置模组可为任何合适模块,例如加速计或陀螺仪,来自经校准图像采集***(类似于具有物件固持器和旋转台的机械臂)的数据,或用于在捕获图像时跟踪相机相对于固定坐标系的移动和位置的此类装置的任何组合。接着可使用每一关键帧的捕获期间相机的位置,以与来自不同关键帧的二维关注点匹配,以创建三维(3D)关键点。
在某些步骤期间,可对来自关键帧的关键点或关注点进行滤波,以去除不大可能与正扫描的对象相关联的关键点或关注点。这留下描述所述对象的一组紧凑关键点。这些描述对象的剩余关键点可作为对象表示存储在数据库中。稍后,当对象识别装置执行增强现实或对象识别应用时,可使用数据库中的紧凑关键点对象表示来分析对象识别装置的相机所捕获的图像,以识别相机视图中存在的特定对象,以及其相对于对象识别装置的相机的姿势。此对象识别装置可为最初创建所述对象表示的同一扫描装置,或可为不同装置。
最后,讲经滤波和选定的关键点聚集为对象表示的一部分。所述对象表示是特定坐标系中相关联的关键点的集合,以供稍后用于识别所述对象或具有相似形状和大小的其它对象。所述对象表示可不仅包含关键点的坐标位置,而且包含色彩信息,或可用于对象识别的任何其它此类信息。可接着在用户正在检测模式下与场景交互时,存取多个对象表示(其中的每一者含有先前所扫描的对象的关键点)的数据库,以便使用存储在所述数据库照哦给你的对象表示来识别所述对象或相似对象。
图1说明一个实施例的一方面。图1包含装置110、对象120、目标130和场景100。展示装置110处于第一位置116和第二位置118。场景100可为装置110已识别为关键点的边界的具体界定的区域或容量。或者,场景100可仅为随着装置110移动到捕获图像的不同位置而捕获图像的区域的限制,捕获图像是作为扫描处理的一部分,以用于创建对象120的紧凑表示,以存储在数据库中。
装置110可为能够捕获图像的任何装置,其具有耦合的处理器和用于紧凑对象表示的存储装置。如上文所描述在一个具体实例中,装置110可为具有嵌入式相机的电话。装置110可替代地为专用增强现实装置、具有相机模块的头戴式装置、具有用于将数据传送到单独计算模块的端口的相机,或能够捕获对象的图像且识别关键数据的任何此类装置。装置110的以上实例中的任一者可创建图像数据、关键帧数据、关键点数据、紧凑对象表示,或其任何组合,其可存储在本地或远程数据库处。在某些实施例中,可接着将此数据传送到另一装置,以用于跟踪对象、检测对象或两者。在替代实施例中,可在创建本地对象表示以用于所述对象的跟踪之后,就在本地装置上使用本地对象表示。
装置110包含用于捕获图像数据的至少一个传感器。此类传感器的实例包含单眼相机、立体相机和RGBD传感器。如图1中所示,作为扫描处理的一部分,装置110将从不同位置捕获至少两个图像,其可用作关键帧。图1示出了当装置110处于第一位置116时所捕获的第一图像122的视野112。还示出当装置110处于第二位置118时所捕获的第二图像124的视野114。为了充当关键帧,每一图像必须包含对象120的至少一部分。对象120的其余部分可能被另一对象遮蔽,或可在相机的特定位置的视野之外。
如本文所使用装置的位置是指装置的空间位置和定向,包含装置上的任何传感器的空间位置和定向,以及所述装置上的传感器与所述装置之间的关系。位置也可被称作姿势,尤其是针对正由用户移动通过各种位置和定向的手持式装置时。位置信息因此捕获装置的相机关于在其中对象被视为静止的坐标系的定位和视野信息。
对象120可为具有能够装置110的相机捕获的对象关注点特征的任何对象。在某些实施例中,对象120可能非常大,因此接近对象120的用户可仅捕获所述对象的一部分。或者,对象120可为任何小尺寸,只要装置110的相机具有足够的分辨率和灵敏度来捕获对象的关注点信息即可。接着可将可接受对象视为具有可从图像识别的关注点的对象。在关键帧的处理中,可将这些关注点识别为3D关键点的二维方面。关键点可为实现对象的高效识别的识别点。接近高对比度和高曲率的区域的点可为关键点的一个实例。
如本文所使用,“关键点”是指三维坐标中的点,其结合其它关键点一起,可用于识别对象。单一关键帧可含有与这些关键点相关联的多个关注点的二维投影。这些二维方面在本文中被称作“关注点”。因为这些关注点是在来自不同相机姿势或不同装置位置的多个关键帧中识别,因此可从二维关注点信息和装置位置信息导出每一关键点的三维位置。因此,关键帧将包含关于关键点的二维信息。关键帧内的关注点的二维定位,结合来自其它关键帧的相关联关注点,使得能够将三维中的对象上的点识别为3D关键点。与作为关注点的关键点相关联的对象上的点的二维外形及其在关键帧内的环境可接着用以形成与所述关键帧相关联的此关键点的描述符。因为例如装置位置不确定性等不确定性、图像模糊以及其它此类错误来源,关键点可能在3D坐标系中具有多个可能位置。来自多个关键帧的关注点的统计平均或处理可用于从多个关键帧的二维结合捕获每一帧时装置的位置信息来识别3D关键点定位。关注点和关键点的实例可见于图3A到3E中,且将在下文更详细描述。
目标130示出为箭头,但可为可用于基于图像数据确定装置110的定向的任何经图案化或未经图案化的形状。相机的定向可由相机光轴相对于坐标系(例如世界坐标系或以目标为中心的坐标)的三个角度给出。装置110的位置提供另外三个值:相机镜头在世界坐标系中的x、y、z。它们一起形成相机的六个自由度。在某些实施例中,目标130可为(例如)具有边缘且可从场景100的周围部分区分开的一张纸。在某些实施例中,目标130可为上面放置对象120的已知经图案化表面。在替代实施例中可使用容量目标,可使用平面目标,或可不使用目标。
在某些实施例中,目标130可实现来自不同图像的关注点的匹配,其对于对象表示创建来说更高效,如下文详细描述。此匹配对于数据库创建可比对典型SLAM关键点匹配高效。典型SLAM***通过计算连续图像之间的小变换,且遵循关键帧之间跨多个图像的变换,来建立关键帧之间的对应性。此过程是处理器集中的、对等待时间敏感,且适合于其中此信息可具有其它用途的环境的实时分析。在其中处理功率受限且目标是创建数据库的紧凑对象表示的环境中,此过程对于建立关键帧之间的对应性是低效的。另外,在某些实施例中,此信息可能不可用于跟踪关键帧之间跨图像的关注点的变换。在允许装置110停止记录图像且在恢复记录之前跳转到新位置的***中,或在其中仅存储关键帧而不存储中间图像的实施例中,可为这种情况。下文关于图4进一步论述关注点的匹配。
各种替代实施例可在不具有目标的情况下起作用。举例来说,在某些实施例中,可使用自动对象分段算法来区分各种关键帧中的对象。在替代实施例中用户输入可识别对象,且可接着基于识别对象所驻存于的3D中的容量的用户输入,在其它帧中跟踪用户在一或多个帧中识别到的对象。在更进一步的实施例中,可使用不同对象识别方法的任何组合。
图2描述可结合各种实施例使用的一种方法。在S202中,使用例如装置110等装置的相机模块来捕获场景的多个图像,其中所述多个图像中的每一者包含第一对象的至少一部分。在一个实例中,用户可在正扫描的对象周围移动装置,以便从尽可能多的位置捕获信息,以提供更多的信息用于创建紧凑对象表示。在替代实施例中,预编程的机械臂可移动相机,以使得能够捕获包含正扫描的对象的场景的多个不同图像。
在S204a中,装置可交互地向用户提供关于所扫描的图像的品质以及所述图像在从所述多个图像创建数据库的对象表示中如何有用的反馈。举例来说,装置的显示器可显示具有对象120和目标130的场景100。所述显示器还可包含与在对象120的扫描期间所识别的关键点或关注点的数目和品质有关的文本和图像指示。在关键帧或关键点的识别之后,可周期性地重复S204a,以更新提供给所述用户的反馈。在一个实施例中,所提取的关键点或关注点可直接在所述对象和/或所述场景的其余部分上可视化,取决于分段是在显示步骤之前还是显示步骤之后实施。另外,在另一个替代性实施例中可仅显示已被视为阈值数目个帧中的关注点的所提取关键点,其中将所述阈值设定为被视为对正扫描的对象的扫描处理的一部分的可靠关注点的数目的粗略指示。
在S204b中,一种***可识别用于关键帧的自动选择和/或用于来自关键帧的关注点的自动选择的准则。本文详细地描述关于此类选择的额外细节,但可包含例如最近选定关键帧的角度和定位、图像质量、待扫描的对象上的关注点的密度、关注点的外观的相似性等准则,或其它相似的此类准则。随着将反馈提供给用户并在对象的扫描期间更新,用户可更改自动关键帧选择标准。在一个实施例中,可完全按照来自基础SLAM***的请求来进行关键帧选择,其中关键帧的自动选择是SLAM***的结构的一部分。下文论述使用SLAM来进行关键帧的选择的扫描实施方案的额外细节。或者,可停用此类自动关键帧选择准则,以有利于用户的手动选择。在手动选择***中,用户可明确地选择将被识别为关键帧的特定帧。此选择可在线发生,在此情况下,用户通过与扫描***的实况互动来选择关键帧,或此选择可离线发生,其中用户具有超驰所述***所确定的选择关键帧的能力。
在更进一步的实施例中,一种***可提供对何时已实现关键帧的充分分集以创建充足的对象表示的自动反馈。可通过仅显示已因此被选定用于对象表示的对象上的关键点,和/或通过显示选定关键帧计数以及定位伴随定向,来提供所述反馈。通过检测选定关注点和/或关键帧的密度,用户可接着推断此表示的可能品质,并决定何时已捕获充分的信息。在另一实施例中,课通过交互地显示表示品质的量度,来以更明确的方式提供反馈。此量度可基于实时分析,或基于用户选定的设定来检验对象的视图的充分分集。对于实时分析,***可检查对象的被遮蔽侧,或对象的某些元素的局部捕获。还可检查关键帧的噪声级,以确保过量的运动或模糊尚未损毁关键帧信息。在某些实施例中,捕获***在空中构建对象表示,并使用此表示来尝试实时地检测对象。成功的检测个例可通过在实际对象附近显示扩增来可视化,其大小和位置取决于检测时所计算的相机姿势。用户可接着从所述视觉反馈确定何时已捕获充分的信息,因为用户可从各种视图观察到所述扩增稳定。注意,对象表示的品质可不是从所有视图来看都是均一的,且这也可由本文所述的交互式***高效地捕获。
在S206中,可使用选择准则来识别所述多个图像中作为第一关键帧的第一图像,且在S208中,可将所述多个图像中从不同定位捕获的第二图像识别为第二关键帧。对于第一关键帧和第二关键帧两者,记录所述帧时所述装置的位置可为已知。可使用任何数目的方法来确定装置位置。可使用加速计或任何数目的各种移位测量方法来为每一关键帧确定所述装置的当前位置。在另一实施例中,在关键帧捕获期间,可将相机放置在已经以自动已知每一关键帧处的相机定位信息的方式相对于对象坐标系极佳地校准的抓持装置上。相机定位信息还可通过在任何给定时间跟踪目标130来推断,或在某些实施例中可由基础SLAM***确定,或由任何装置跟踪方法或例如并行跟踪和映射(PTAM)***等***来确定。所提到的相机本地化***的任何组合也是可能的。此位置信息将不仅包含x、y和z位置信息,而且包含关于相机的镜头正面对的方向以及相机的视野的角度信息,或其它此类信息。此位置信息也可被称作相机姿势。
在S210和S212中,从每一关键帧识别关注点。此关注点识别每一帧的关注点特征,例如高对比度的区域。在S214中,使来自每一图像的关注点匹配。因为来自每一图像的关注点是从不同位置采集,所以这使得三维信息能够与每一点相关联。使用的关键帧的数目越大,关注点的匹配中所创建的三维信息的量越大。作为此识别过程的一部分,建立来自特定帧的二维关注点之间的对应性。此对应性使得能够基于与来自不同关键帧的关键点相关联的关注点的多个二维识别来确定所述关键点的三维坐标。此情况的一个实例是如描述于图4中的对极几何的使用。此合并来自不同关键帧的关注点信息的过程在从所有关键帧提取的所有关注点上继续。以此方式建立对应性有时涉及用来自额外关键帧的信息来修改具有来自多个关键帧的信息的三维关键点。因此,在某些实施例中,三维关键点可包含来自与少至两个关键帧中或数百或数千个关键帧中所识别的特定关键点相关联的二维关注点方面的信息。当三维关键点从大量关注点导出信息时,可使用多种不同方法来对所述信息进行滤波或平均,以便增加用于将存储在数据库中供以后使用的最终对象表示中的单个关键点定位的准确性。
一旦来自关键帧的所有关注点均与三维关键点定位相关联,***就可确定哪些三维关键点将保持作为对象表示的一部分。在S216中,识别与对象相关联的关键点。此步骤可包含各种组成部分,包含对象分段、基于与最近邻域的关键点的接近性对离群值进行滤波、通过观察结果的数目进行滤波,或其它此类滤波。在某些实施例中,这可通过将信息从场景中的已知目标或已知背景分离以识别与正扫描的对象相关联的关键点来进行。在其它实施例中,可使用其它信息来对来自背景场景表示的对象表示进行分段。下文进一步描述此类分段的具体实施例。一旦从背景场景关键点对与所述对象相关联的关键点进行分段,与所述对象以及每一关键点的周围细节相关联的关键点就作为对象表示存储在数据库中。接着可立即使用此对象表示来识别和跟踪所述对象。
图3A、3B、3C、3D和3E接着描述从可用于导出三维(3D)关键点的2D图像识别的关注点的进一步细节,所述三维关键点连同额外描述性信息一起组成用于数据库的紧凑对象表示。在图3A和3C中,因为从上往下观看所述关注点,所以关注点是杯子侧面周围的点。还示出关注点306a。因为关注点306a相对孤立,所以关注点306a很可能不是正扫描的对象的一部分,且不可能在稍后时间点为从数据库检索包含关注点301和302的紧凑对象表示并用于对象识别时的图像辨识提供宝贵信息。关注点301周围的形状大概是中空的,因为杯子的底部上不存在图案,且单色表面(杯子的底部)不提供将创建关注点的对比度。举例来说,图3A、3C和3D中所指示的每个点关注点可具有关于所述关注点周围的像素的亮度、色彩或图案的相关联信息。当从2D关注点创建3D关键点时,像素的相关联亮度、色彩或图案可以可对稍后的对象检测有用的方式并入到紧凑对象表示中。3D关键点描述与其相对几何定位的组合为适合于检测的每一对象创建唯一签名。为了使关键点提取/描述符计算***适合于对象检测,组成存储在数据库中的对象表示的所得关键点需要对因查询时间期间相机的不同位置/定向而产生的多个几何变换保持不变,但可足以辨别,以避免产生与来自不同对象的特征的许多错误匹配。通过从例如图3A的位置316和图3D的位置318等多个位置选择关键帧,可为组成图3E中所示的对象表示310的关键点得出足够量的细节。
因此,图3A、3C和3D示出来自以给定角度从一个位置采集的关键帧的关注点。图3A示出了在滤波之前的关注点的俯视图。图3C示出了在滤波之后的关注点的俯视图。图3D示出了在滤波之后的关注点的侧视图。组合来自每一视图的关注点,以创建组成图3E的对象表示310的三维关键点305。作为匹配的一部分,将组合关注点301和关注点304,以创建从其它关键点导出的三维关键点305。虽然图3C和3D中示出来自具有不同位置的两个关键帧的关注点,但来自不同视图的任何数目的关键帧可贡献用以导出组成最终对象表示的关键点的关注点。此外,将显而易见,来自每一位置的关键帧可仅贡献三维关键点305的总数的一部分。这可因为对象上的某一表面从一个视图来看被遮蔽,或在从中导出关键点的某些关键帧中可经滤波或有噪声。
如上文所提到,从单个位置采集的单个图像(例如图1中从位置116采集的图像122)基本上是来自所述图像所捕获的场景的二维投影。从此图像识别的关注点与描述所述图像所捕获的二维投影中的那些关注点周围的区域的细节描述符相关联。单个关注点可与大量平面描述符相关联,因为与单个3D关键点相关联的关注点通常从多个关键帧可见。尽管这些平面描述符一般来说将看起来不同,即使对于非常接近但不同的观看角度来说也是如此,但实际上,对应于接近观看角度的描述符相对来说是相似的,且可收缩到可与3D关键点相关联的单个描述符。因此,不管多少关键帧含有与单个3D关键点相关联的关注点,此3D关键点都将与紧凑对象表示中的至多少数条目相关联。
从不同角度捕获的第二图像将类似地捕获作为三维对象的二维投影的信息。所述两个图像一起包含关于从多个二维投影收集的单个点的三维信息,类似于图4中所示。使来自一个关键帧的关注点与来自另一关键帧的关注点相关因此在从不同角度采集关键帧时,识别可用于导出关键点的三维信息。合并的关注点因此不仅识别关键点在一组标准化坐标中的三维定位,并且可与关于所述关键点周围的容量的三维描述性数据相关联。因此,在各种实施例中,一种***可建立跨关键帧的所述组二维关注点之间的对应性,以便连同三维描述性数据一起识别所关注关键点的三维定位。虽然可对来自单个关键帧的若干组二维关注点执行某些类型的滤波,例如边界滤波,但可接着对相关的关键点且不对若干组二维关注点进行分段以识别对象。在结合此滤波起作用的实施例中,这消除了对可能是来自关键帧的大量二维关注点的关注点的反复分段/滤波。这还使得能够使用关于空间中3D关键点定位以及所述关键点与其它关键点的关系的所有信息,而不仅使用二维信息。对用于对象表示的单组三维合并关键点进行滤波可提供与对许多组二维数据进行的滤波相同的滤波。
在一个实例中,在适中背景混杂中以标准帧速率对对象进行两分钟扫描可产生大约15000个不同所关注的关注点,其中可导出仅大约1000到1500个属于所述对象的关键点,且另外仅750到1000个关键点可适合于对象检测。图3A示出了挺过借助三维定位的分段的第一阶段的咖啡杯的关注点。即,在实际***中,在相对于已知目标定义所述对象的三维坐标的限界框是有益的。在对象关注点分段和滤波的第一阶段,可丢弃限界框内不存在的所有所收集的关注点。在具有适中背景混杂的典型2分钟对象扫描中,可在此步骤期间,将周围15000个不同关注点的初始数目减小到约2000个关键点,使得例如对象表示310等对象表示可仅使用从中导出对象表示的关键帧中的总关注点的一部分。对于使用例如目标130等目标的***,可将用于具有由图3A和3C表示的关注点的场景的坐标连接到目标的中间。接着可为属于所述对象的关键点识别限定容量。可将大约15000个关注点的某一部分识别为在限界框外部,且可滤除并消除。
另外,在某些实施例中,***可为属于一对象的关注点假定某一密度。可通过基于到给定数目个最近相邻者的阈值距离进行滤波,来执行分段以识别所述对象。图3B以三维形式示出了例如图3A中的对象的估计关注点距离的直方图。可使用滤波阈值308来识别哪些像素要滤波。因为关注点302位于密集区域中,所以其将与在图3B中的滤波阈值308左侧的像素分组在一起。然而,关注点306a明显不在关注点的密集区域中,且将在图3B中的滤波阈值308的右侧。因此,在图3C中,未示出经滤波关注点306b,因为其将在滤波阈值308右侧的像素被从紧凑对象表示删除时被滤波过程删除。
在某些实施例中,***执行分段可识别场景中的主要平面。对主要平面的参考可用于限定场景,并且进一步辅助创建来自不同图像的关注点之间的对应性。在此类***中,将不需要场景中明确已知的对象(目标)来辅助获得关注点坐标或分段。明确地说,参考坐标系以及限界框可由用户在扫描时或在离线处理期间手动给出。
另外,在某些实施例中,可使用特定方法来识别关注点。在某些实施例中,识别高密度高梯度区域,其中使用阈值来基于周围像素的梯度而确定选择哪些点。在更进一步的实施例中,以各种标度来处理图像,以检测关键帧中可在特定标度观察到的优选关注点。关键点和/或关注点以及其描述的选择可使用此类变换通过多种方式来执行,包含具有偏移(周围强度差或曲率在此处最显著的标度)的特征定向的分析、具有主成分分析的周围像素的分析,以及具有高斯导数滤波器的可转向滤波器的使用。另外,可使用基于对旋转不变的值的选择,来为给定关键点识别差分不变量。并且,可使用形状环境描述符来表示所关注区域。在另外的实施例中此类选择标准的任何组合,连同可优化适合于辅助离线对象检测的紧凑对象表示的创建的任何其它选择标准,可用于识别关注点或关键点。
图4接着提供可借此为关键帧建立对应性的一个实施例的细节。在一个实例中,图1的图像112和114可为具有所建立的对应性的关键帧。图4示出了装置410从两不同位置采集的对象420的图像412和414,具有对极平面423。从第一位置416采集图像412,且从第二位置418采集图像414。将对象420示出为具有关注点X。在图像412中,将关注点X成像为关注点x1。在图像414中,将关注点X成像为关注点x2。
如果***仅具有图像信息,那么其不大可能能够一致地使x1与x2相关联。然而,在给定X的观测结果x1,且知晓位置416与第二位置418之间的相对位置的情况下,可在图像414中识别对应于x1的对极线l1。如果(A)周围像素的描述在两个关注点观察结果之间足够接近(例如描述符域中的距离低于阈值),且(B)x2低于到对极线l2的阈值距离,那么可在图像414中提取关注点x2,连同周围像素的描述性信息。描述符域中的阈值距离以及距对应于x(1)的对极线的阈值距离可为***内的可选参数。这些可自动设定,或可由用户使用用户接口来选择。
最大对极线距离的一个阈值可为两个像素、三个像素或四个像素。在其它实施例中,可使用除这些阈值对极线距离值之外的值。可将实例描述符距离阈值设定为描述性信息之间的固定差异,或可设定为归一化描述符值的一部分。举例来说,如果将128元素长的描述符归一化到值1,那么考虑平方距离,其将指示观察到同一关注点可为归一化范围的一部分,例如归一化值的0.2与0.35之间。换句话说,这是检查当合并多个关键帧时,关注点周围的区域一致地识别为与其它关注点相关联。
在给定与所述关注点相关联的位置和信息的情况下,所述两个阈值一起为基本上为一检查,以确保所述两个关注点实际上能够为对应的关注点。对于这些阈值两者,松弛所述参数导致较高数目的对应性,且因此潜在地较高数目的成功提取的关注点。换句话说,因为二维关注点与其它二维关注点相关以创建三维关键点,因此当阈值松弛时,识别较多的三维关键点,以较高数目的错误为代价。这些错误可呈包含部分或完全地不正确数据的不正确或虚假关注点或关键点的形式。使用错误对应性来大概识别且三角测量在图3A中所示的对象外部浮动的关注点中的许多,例如关注点306a。后来,滤波和分段可识别并去除这些虚假点的一部分。
另外,在某些实施例中,相似的计算可用于以更稳健的方式识别关注点X的定位中的三角测量和束调整。束调整可指一次对来自三个或更多个不同关键帧的关注点的匹配进行评定和调整。在图4中,关注点X在第一位置416处的第一投影示出为X0,1,且关注点X在第二位置418处的第二投影示出为X0,2。如果图4中的图像是例如目标130等目标,那么***将能够使用关于所述目标的位置和定向的先前所提供的信息,使来自不同图像的关注点相关联。在给定关于对应性的信息的情况下,可对焦点的定位进行三角测量。此估计可具有噪声,因为关注点x的位置中的子像素错误可导致关注点X的所计算的位置中的大错误。可通过同一点处的多个观察结果来减少这些错误。此外,通过最小化估计地点的再投影错误,束调整可同时校正关于关键帧(例如图4中的帧412和414)中的相机姿势的初始信息。
当从两个以上关键帧使用两个以上对应性和位置时,可进一步使用束调整,从而导致所有相关联关注点X、Y和Z的归因于平均信息而导致所得位置中的大得多的置信度。另外,当使用关注点的跟踪和检测两者执行此束调整时,准确性得到进一步改进。
并且,如上所提到,装置中的额外传感器可用于进一步改进捕获关键帧时装置的相对定位的准确性。可使用测量装置的定位和移动的加速计、陀螺仪和各种其它定位***,来代替或补充上文所描述的位置测量结果。在某些实施例中,这可提供增加的准确性或减少的处理器使用。在某些实施例中,这些定位***可用于在装置捕获特定关键帧时,确定装置的位置或姿势。可使用此信息来创建关于从二维关注点(明确地说,关键帧)到处的关键点的信息。
在某些实施例中,归因于匹配图像之间的实际像素的简单过程,可将关于关注点周围的像素的描述性信息选择为对匹配决策具有较大影响。然而,对于许多对象,同一关注点的多个观察结果趋向于在多个视图上逐渐但持久地变化。这可归因于表面反射率的变化、对象上的变化的自遮挡,或仅投影视图的本质。因此,有可能以若干关键点分组群集来结束,其中每一分组的描述符满足某些常见滤波要求,而不是其它要求。举例来说,每一群集内的描述符可满足最大距离要求,但可能不满足跨群集的最大距离要求。这可导致正估计若干三维关键点匹配,其中仅存在一个匹配。因此,在某些实施例中,可进行描述符群集之间的相交的观察。这些观察为做出关于是否合并多个关注点或点的对应性集合的决策提供关注点与额外信息之间的链接。这进一步提供提供任何束调整的增加的稳健性,妾可充当前驱体来精简额外或不必要的数据。束调整过程可得益于跨视图群集合并对应性,因为接着基于更多数据来估计同一关注点X,而不是估计两个不同点X和X’,其中的一者是虚假的。这也可与其它精简或数据滤波技术组合,以优化将作为紧凑对象表示存储在数据库中的数据,其中从多个帧合并的关注点可存储为具有关于关键点周围的对象的相关联描述性数据的单个关键点。或者,在一些情况下,具有同一三维点定位X的多个个例,但两个或更多个不同描述符与之相关联是有益的。当跨多个视图的描述符差异过于显著使得匹配管线无法形成数据库中的单一描述符与从同一定位X的“远”查询视图提取的对应描述符之间的关联时,可为此情况。
在束调整之后,从至少两个视点可见的每一所关注点X现在由其三维定位和多个描述符表示,每一描述符通常对应于在扫描期间观察到所述点的一个不同关键帧。此步骤通常接着是旨在去除不与所关注的对象相关联的关键点的分段和滤波技术。此方法通常仅依靠所有所捕获关键点的三维位置(x1、x2、x3),且由此可与针对束调整的步骤组合,因为在此步骤处,三维位置是已经的。所述过程中用于在扫描之后形成紧凑对象表示的最终步骤称为特征精简。即,尚存的关注点X现在与至少两个,且通常若干描述符相关联。关注点的定位连同所附描述一起有时被称作“特征”。因此,一组特定三维坐标处可存在与单个关键点相关联的许多特征,妾目标是避免重复,压缩表示大小,并且通过精简这些特征中的一些来最小化混淆,其中精简是去除某些描述符与合并多个尚存描述符以形成减少数目的新“经精简”描述符的组合效应。此精简可由实施一系列精简步骤的模块来执行。此类步骤可基于针对其将关注点视为检测为关键点的特征的所述数目的不同图像和视点的可重复性对关注点进行滤波。这还可基于可辨性来进行滤波,使得选择相似特征中对应于多个视图中的同一关键点的部分。去除用于相似特征的其余部分的关键点,以减少紧凑对象表示中的冗余。
在某些实施例中,可执行分析,其使值与关键点关联,以便优化对象表示的大小。可建立值阈值,使得冗余或另外价值较小的关键点得以去除,而具有高于数据值阈值的唯一且高度可见关键点可得以保存。
在另外的实施例中,可使用不同的精简步骤,取决于所述装置可用的处理资源以及用户所选择的其它选项。可控制关键点精简程度的额外参数的实例包含:多维描述符空间中的ε球的半径,用以确定关键点周围的像素是否足够相似;三维空间中的ε球的半径,用以确定不同关键点一起非常接近地束缚在欧几里得空间中;基于特定关键点的视图数目的可重复性阈值;以及基于针对多个视图中的单个关键点而识别的特征变化的可辨性阈值。
一个实施例可因此涉及使用移动计算装置的相机模块来捕获场景的多个图像。所述场景的所述多个图像中的每一者包含第一对象的至少一部分的图像。对于所捕捉的图像中的每一者,假定由相对于所关注的对象在其中不移动的世界坐标系的六个自由度和一位置以三维形式组成的相机位置或“相机姿势”是已知的。可以不同方式获得相机姿势:通过小心地校准固定设置(如使用机械臂),或通过检测和跟踪与正扫描的对象相同的场景中存在的已知对象“目标”的投影外形。接着可将所述多个图像中的第一图像识别为第一关键帧,其中移动计算装置从第一位置捕获第一图像。可将所述多个图像中的第二图像选作第二关键帧。移动计算装置从不同于第一位置的第二位置捕获第二图像。可从所述第一关键帧识别第一多个关注点,其中所述第一多个关注点识别来自所述场景的特征。可从第二关键帧识别第二多个关注点。一种***可接着使所述第一多个关注点与所述第二多个关注点匹配,并识别与所述对象相关联的关键点。与所述对象相关联的关键点可接下来与每一关键点周围的区域的至少一个描述相关联,且它们在一起可作为紧凑对象表示存储在对象检测数据库中。
在替代实施例中,装置可操作SLAM***。SLAM***是使用成像数据来建立未知环境(无先验知识)内的地图,或更新已知环境(具有来自给定地图的先验知识)内的地图,同时从成像数据保持跟踪其当前定位。在本文所述的实施例中,不是建立环境或场景,而是使用来自标准SLAM***的地图数据,利用如上文所描述而创建的关键点来建立所述对象的地图。所述SLAM***如上文所描述从图像选择关键帧,因为SLAM***的标准操作包含创建关键帧,作为SLAM操作的一部分。可使用场景映射和装置位置跟踪,作为用于如上文所描述提取对象的显著特征和结构特性的工具。以此方式,图像捕获和关键帧选择可由SLAM***执行。整个***可将关键帧从SLAM***提供到单独的提取器和描述符***。此提取器和描述符***可接着对关键帧运行,以提取对象外形信息。在某些实施例中,单独的SLAM和提取器/描述符***可作为用于跟踪、地图建立和本地化的较简单且较便宜的***而提供益处。整个***可更复杂,但也可提供更高效的辩别和不变的关注点检测。描述符***可接着建立跨关键帧的关键点对应性,并执行任何其余步骤。
此实施例可使用SLAM利用多个准则来选择和存储关键帧,包含相机位置稳定性、所提取的多个充分“不同”特征,以及其它此类度量。SLAM关键帧可因此不经修改地用于检测特征提取。其它实施例可实现目标为与数据库创建更一致地自动创建关键帧的定制关键帧选择。这些实施例中的任一者实现可在扫描对象时隐藏不被用户看到的自动关键帧选择。
在某些实施例中,以多线程方式实施SLAM***,其中关键点特征提取在后台进程中运行。随关注点提取的描述符可对应于特定关键帧内的投影对象视图。为了编码关键点之间的相互几何形状,如上文所描述,某些实施例可使用传统的多视图对极几何技术。
在各种替代实施例中,可在匹配图像之间的关注点以创建关键点之前、在此匹配之后,或在之前和之后两者,对关注点进行滤波。其它实施例可使用检测以及SLAM特征和其跨多个关键帧的对应性,来稳健地估计三维关键点定位。其它实施例还可对关键点数据进行后处理,以精简所提取的多视图检测特征,并为对象检测数据库创建紧凑对象表示。
在一个实施例中,用户接口可提供不同关键帧选择准则,其目标可为为数据库创建优化紧凑对象表示。在某些实施例中,显示器可近实时地呈现所提取的且经三角测量的关键点,以使扫描过程可视化。在某些实施例中,这可使用户能够在空中更改参数,以在选择关键帧时,调整关键点创建。
图5现在描述根据某些实施例的装置500的一个实施方案。如上文所描述,图1和5说明一种***,其在一个实施例中,可包含用以扫描对象的装置110或410。装置500可为装置110或装置410的一个实施例,且可执行用于为对象检测数据库创建紧凑对象表示的方法的所有元素。在图5中所示的装置500的实施例中,可使用专用模块来实施对象扫描,包含对象识别模块521和扫描与数据库输入模块522。数据库524可为专用的紧凑对象表示基础,或可为较大数据库***的一部分。对象识别模块521可为实施本文所述的SLAM的模块,或可为用于识别关键帧的定制模块。在某些实施例中,对象识别模块521和数据库输入模块522可实施为单个模块。
另外,在某些实施例中,用于对象识别模块521和/或扫描与数据库输入模块522的控制模块或控制输入可实现各种扫描方面的手动选择。举例来说,当关键帧在某些角度稀少时,用户可选择具有在显示器输出503处呈现的自动提示,以确定何时需要来自不同角度的更多关键帧。此***还可实现到预期高值关键点数据的特定角度的提示和方向。在某些实施例中,此***可基本上跟踪对象的某些部分周围的关键点密度和/或关注点密度。对于给定图像,所述***可确定从中采集图像的定位与从中采集最近关键帧的定位之间的空间关系,并使用此信息连同用于这些定位的关注点信息来确定来自新定位的额外关键帧的值。
所述***可因此告知用户额外关键帧何时将从某些角度提供高数据值。此控制还可使用户能够定制关键帧的选择,或更新用于进行中的扫描的关键帧的选择。在某些实施例中,这还可使用户能够检视所记录的图像,并手动选择特定图像作为关键帧。更进一步,用户选择可设定关键点精简和滤波的阈值。
在图5处示出的实施例中,移动装置500包含处理器510,其经配置以执行用于在许多组件处实施操作的指令,且可(例如)为适合于在便携式电子装置内实施的通用处理器或微处理器。处理器510可因此实施用于本文所述的紧凑对象表示创建的特定步骤中的任一者或全部。处理器510与移动装置500内的多个组件通信耦合。为了实现这一通信耦合,处理器510可跨越总线540与其它所说明的组件通信。总线540可为适合于在移动装置500内传送数据的任何子***。总线540可为多个计算机总线,并且包含用以传送数据的额外电路。
存储器520可耦合到处理器510。在一些实施例中,存储器520提供短期和长期存储两者,且实际上可被划分成若干单元。存储器520可为易失性的,例如静态随机存取存储器(SRAM)和/或动态随机存取存储器(DRAM),和/或非易失性的,例如只读存储器(ROM)、快闪存储器等。此外,存储器520可包含可装卸存储装置,例如安全数字(SD)卡。因此,存储器520提供用于移动装置500的计算机可读指令、数据结构、程序模块及其它数据的存储。在一些实施例中,存储器520可分布到不同硬件模块中。
在一些实施例中,存储器520存储多个应用程序模块。应用程序模块含有待由处理器510执行的特定指令。在替代实施例中,其它硬件模块可另外执行某些应用程序或应用程序的部分。存储器520可用于存储用于根据某些实施例实施扫描的模块的计算机可读指令,且还可存储紧凑对象表示作为数据库的一部分。
在一些实施例中,存储器520包含操作***523。操作***523可操作以起始应用程序模块所提供的指令的执行,和/或管理其它硬件模块以及与可使用WAN无线收发器512和LAN无线收发器542的通信模块介接。操作***523可适于横跨移动装置500的组件执行其它操作,包含线程处理、资源管理、数据存储控制和其它相似功能性。
在一些实施例中,移动装置500包括多个其它硬件模块。其它硬件模块中的每一者为移动装置500内的物理模块。但是,虽然所述硬件模块中的每一个永久地配置为结构,但硬件模块中的相应者可经临时配置以执行特定功能或经临时激活。常见实例为可对相机501(即,硬件模块)编程以用于进行快门释放和图像捕获的应用程序模块。此相机模块可用于捕获图像,例如图1的图像122和124,以及图4的图像412和414。
其它硬件模块可为例如加速计、Wi-Fi收发器、卫星导航***接收器(例如GPS模块)、压力模块、温度模块、音频输出和/或输入模块(例如麦克风)、相机模块、接近传感器、一卡双号(ALS)模块、电容性触摸传感器、近场通信(NFC)模块、收发器、蜂窝收发器、磁力计、陀螺仪、惯性传感器(例如组合加速计和陀螺仪的模块)、环境光传感器、相对湿度传感器或可操作以提供感觉输出和/或接收感觉输入的任何其它类似模块。在一些实施例中,硬件模块的一或多种功能可在软件中实施。另外,如本文所述,某些硬件模块,例如加速计、GPS模块、陀螺仪、惯性传感器或其它此类模块,可用于估计关键帧之间的相对位置。此信息可用于结合上文所述的基于图像的技术来改进数据品质,或可代替此类方法以便保存处理器资源。在某些实施例中,用户可使用用户输入模块504来选择此选项。
移动装置500可包含例如无线通信模块等组件,其可将天线514和无线收发器512与任何其它无线通信所必需的硬件、固件或软件集成。此无线通信模块可经配置以经由网络和例如网络接入点等接入点,从例如数据源等各种裝置接收信号。在某些实施例中,可将紧凑对象表示传送到服务器计算机、其它移动装置或其它连网计算装置,以存储在远程数据库中,且在裝置执行目标辨识功能性时,由多个其它装置使用。
除存储器520中的其它硬件模块和应用程序之外,移动装置500还可具有显示器输出503和用户输入模块504。显示器输出503以图形方式将来自移动装置500的信息呈现给用户。此信息可从一或多个应用程序模块、一或多个硬件模块、其组合,或任何其它用于为用户解析图形内容(例如通过操作***523)的合适装置导出。显示器输出503可为液晶显示器(LCD)技术、发光聚合物显示器(LPD)技术,或一些其它显示器技术。在一些实施例中,显示模块503为电容性或电阻性触摸屏,且可对与用户的触感及/或触觉接触敏感。在这类实施例中,显示器输出503可包含多触敏显示器。显示器输出503可接着用以与对象识别模块521相关联的任何数目的输出,例如结合来自数据库524的紧凑对象表示,使用目标辨识输出的增强现实。还可显示接口选择,以选择扫描和存储选项。当扫描对象时,还可实时地连同所述对象的图像一起显示关键点。
图6提供可与例如本文所述的图1到5所描述的实施例等各种其它实施例一起使用的计算装置600的一个实施例的示意性说明。图6仅意图提供对各种组件的一般化说明,可在适当时利用所述组件中的任一者或全部。在某些实施例中,举例来说,图6和图5的组件可包含于单个装置中,或可包括一个具体实施例的多个分布式裝置中。因此,图6大体上说明可如何以相对分离或相对较集成的方式来实施个别***元件,且描述在(例如)由来自非暂时性计算机可读存储设备存储装置(例如存储装置625)的计算机可读指令控制时,可实施根据实施例的特定方法的元件。
示出计算装置600,其包括可经由总线605电耦合(或另外可以在适当时通信)的硬件元件。硬件元件可包含:一或多个处理器610,包含(但不限于)一或多个通用处理器和/或一或多个专用处理器(例如数字信号处理芯片、图形加速度处理器和/或其类似者);一或多个输入装置615,其可包含(但不限于)鼠标、键盘和/或其类似者;以及一或多个输出装置620,其可包含(但不限于)显示装置、打印机和/或其类似者。
计算装置600可进一步包含以下各项(和/或与以下各项通信):一或多个非暂时性存储装置625,所述非暂时性存储装置625可包括(但不限于)本地及/或网络可存取的存储装置,和/或可包含(但不限于)磁盘驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)和/或只读存储器(“ROM”)等固态存储装置,其可为可编程的、可快闪更新的和/或其类似者。这类存储装置可经配置以实施任何适当的数据存储装置,包括(但不限于)各种文件***、数据库结构和/或类似者。
计算装置600还可包含通信子***630,其可包含(但不限于)调制解调器、网卡(无线或有线)、红外线通信装置、无线通信装置和/或芯片组(例如,蓝牙装置、702.11装置、Wi-Fi装置、WiMax装置、蜂窝式通信设施等)和/或相似的通信接口。通信子***630可准许与网络(例如,作为一个实例,下文所描述的网络)、其它计算机***及/或本文中所描述的任何其它装置交换数据。例如移动装置500等移动装置可因此除包含无线收发器512和LAN无线收发器542的那些通信子***之外,还包含其它通信子***。
在许多实施例中,计算装置600将进一步包括非暂时性工作存储器635,其可包含RAM或ROM装置,如上文所描述。计算装置600还可包括展示为当前位于工作存储器635内的软件元件,包含操作***640、装置驱动器、可执行库及/或例如一或多个应用程序645等其它代码,其可包括通过各种实施例提供和/或可经设计以实施方法及/或配置***、通过其它实施例提供的计算机程序,如本文所描述。仅举例来说,相对于上文所论述的方法而描述的一或多个程序可实施为可由计算机(和/或计算机内的处理器)执行的代码和/或指令;在一个方面中,接着,可使用此代码和/或指令来配置和/或调适通用计算机(或其它装置),以根据所描述的用于扫描对象的方法来执行一或多个操作,以识别关键帧、关注点、关键点;创建对象表示;将对象表示存储在数据库中;且检索对象表示以用于未知或部分未知场景的后来扫描中的对象识别。
这些指令和/或代码的集合可存储在计算机可读存储媒体(例如,上文所描述的存储装置625)上。在一些情况下,存储媒体可并入计算机***(例如,计算装置600)内。在其它实施例中,存储媒体可与计算机***分离(例如,可装卸式媒体(例如,压缩光盘),和/或提供于安装包中,使得存储媒体可用以编程、配置和/或调适其上存储有指令/代码的通用计算机。这些指令可呈可由计算装置600执行的可执行码的形式,且/或可呈源和/或可安装码的形式,所述源和/或可安装码在计算装置600上编译和/或安装于计算装置600上(例如,使用多种通常可用编译程序、安装程序、压缩/解压缩公用程序等中的任一者)后,接着呈可执行码的形式。对象识别模块521和扫描与数据库输入模块522可因此为如本文所述的可执行码。在替代实施例中这些模块可为硬件、固件、可执行指令,或这些实施方案的任何组合。
可根据特定要求作出实质性变化。举例来说,还可使用定制硬件,和/或可将特定元件实施于硬件、软件(包含便携式软件,例如小程序等)或两者中。此外,提供某种功能的硬件和/或软件组件可包含专用***(具有专门的组件)或可为更通用***的一部分。活动选择子***经配置以提供本文所述的与从来自单个关键帧导出的多个二维关注点创建的三维关键点的输出的可接受特性的选择有关的特征中的一些或全部,且此类子***包括专用(例如专用集成电路(ASIC)、软件方法等)或通用(例如处理器610、可(例如)实施存储器635内的任何模块的应用程序645等)的硬件和/或软件。另外,可利用到其它计算装置(例如,网路输入/输出装置)的连接。
如本文所使用,术语“机器可读媒体”和“计算机可读媒体”是指参与提供致使机器以特定方式操作的数据的任何媒体。在使用计算装置600实施的实施例中,在将指令/代码提供到处理器610以用于执行的过程中可能涉及各种计算机可读媒体,和/或各种计算机可读媒体可用以存储和/或运载此类指令/代码(例如作为信号)。在许多实施方案中,计算机可读媒体为物理和/或有形存储媒体。此媒体可采用许多形式,包含但不限于非易失性媒体、非暂时性媒体、易失性媒体以及传输媒体。非易失性媒体包含例如光盘和/或磁盘,例如存储装置625。易失性媒体包含(但不限于)动态存储器(例如工作存储器635)。传输媒体包含(但不限于)同轴电缆、铜线和光纤,包含包括总线605的电线,以及通信子***630的各种组件(和/或通信子***630借此提供与其它装置的通信的媒体)。
举例来说,常见形式的物理和/或有形计算机可读媒体包含软性磁盘、柔性磁盘、硬盘、磁带,或任何其它磁性媒体、CD-ROM、任何其它光学媒体、打孔卡、纸带、具有孔图案的任何其它物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或盒带、如下文所描述的载波,或计算机可以从其读取指令和/或代码的任何其它媒体。任何此类存储器可充当存储器520或存储器635,或充当安全存储器,如果其经构造以维护所存储的内容的安全性。在某些实施例中,对象表示可具有某一水平的相关联安全性,且可存储在存储器635的与某些安全性或保密性设定相关联的部分中。
通信子***630(和/或其组件)一般将接收信号,且总线605可能接着将信号(和/或由所述信号运载的数据、指令等)运载到工作存储器635,处理器610从所述工作存储器检索指令并执行指令。由工作存储器635接收的指令可在由处理器610执行之前或之后任选地存储在非暂时性存储装置625上。
在本文所述的各种实施例中,计算装置可连网,以便传送信息。举例来说,移动装置500可连网,以接收信息或与远程对象表示数据库通信,如上文所描述。另外,这些元件中的每一者可进行与例如网络服务器、数据库或计算机等其它装置的连网通信,其经由网络提供对用以启用应用程序的信息的存取权。
图7说明可根据各种实施例使用以实现例如***700等***或可实施用于创建和存储对象表示以供后来用于识别对象的其它***的连网计算装置的***700的示意图。举例来说,在各种实施例中,可经由连网计算机,将输出的对象表示传送到一或多个数据库,如***700所描述。***700可包括一或多个用户计算装置705。用户计算装置705可为通用个人计算机(包括,仅举例来说,运行和/或Mac操作***的任何适当衍生***的个人计算机和/或膝上型计算机),和/或运行多种市售或类似UNIX的操作***中的任一者的工作站计算机。这些用户计算装置705还可具有多种应用程序中的任一者,包括经配置以执行本发明的方法的一或多个应用程序,以及一或多个办公应用程序、数据库客户端和/或服务器应用程序,以及网络浏览器应用程序。或者,用户计算装置705可为能够经由网络(例如下文描述的网络710)进行通信和/或显示并导航网页或其它类型的电子文档的任何其它电子装置,例如瘦客户端计算机、具有因特网能力的移动电话,和/或个人数字助理(PDA)。尽管示出示例性***700具有三个用户计算装置705a、705b、705c,但可支持任何数目个用户计算装置。
本发明的某些实施例在可包含网络710的连网环境中操作。网络710可为所属领域的技术人员所熟悉的可使用多种市售协议(包含但不限于TCP/IP、SNA、IPX、等等)中的任一者来支持数据通信的任何类型的网络。仅举例来说,网络710可为:局域网(“LAN”),包含(但不限于)以太网网络、令牌环网络和/或其类似者;广域网(WAN);虚拟网络,包含(但不限于)虚拟专用网络(“VPN”);因特网;企业内部网;企业外部网;公共交换电话网络(“PSTN”);红外线网络;无线网络,包含(但不限于)在IEEE802.11套件协议、所属领域中已知的蓝牙协议及/或任何其它无线协议中的任一者下操作的网络;和/或这些和/或其它网络的任何组合。网络710可包含用于实现各种计算装置对网络710的接入的接入点。
本发明的实施例可包括一或多个服务器计算机760。服务器计算机760a、760b中的每一者可配置有操作***,包含但不限于上文所论述的操作***以及任何市售(或免费)服务器操作***中的任一者。服务器计算机760a、760b中的每一者还可运行一或多个应用程序,所述应用程序可经配置以将服务提供给一或多个用户计算装置705和/或其它服务器计算机760。
仅举例来说,服务器计算机760中的一者可为网络服务器,仅举例来说,所述网络服务器可用于处理对网页或来自用户计算设备705的其它电子文档的请求。网络服务器还可运行多种服务器应用程序,包含HTTP服务器、FTP服务器、CGI服务器、数据库服务器、服务器等。在本发明的一些实施例中,网络服务器可经配置以服务可在用户计算装置705中的一或多者上的网络浏览器内操作以执行本发明的方法的网页。此类服务器可与特定IP地址相关联,或可与具有特定URL的模块相关联,且因此可存储安全导航模块,其可与例如移动装置500等移动装置相互作用,以提供地理点的安全指示,作为提供到移动装置500的定位服务的一部分。
根据其它实施例,一或多个服务器计算机760可能充当文件服务器,和/或可包含实施在用户计算装置705和/或另一服务器计算机760上运行的应用程序所并入的各种实施例的方法所必需的文件(例如应用程序代码、数据文件等)中的一或多者。或者,如所属领域的技术人员将了解,文件服务器可包括所有必要文件,从而允许用户计算装置705和/或服务器计算机760远程调用这类应用程序。应注意,本文相对于各种服务器(例如应用程序服务器、数据库服务器、网络服务器、文件服务器等)所描述的功能可由单个服务器和/或多个专用服务器来执行,取决于实施方案特定的需求和参数。
在某些实施例中,所述***可包含一或多个数据库720。数据库720的定位是自行决定的:仅举例来说,数据库720a可驻留在服务器760a(和/或用户计算装置705)本地的存储媒体上(和/或驻留在服务器760a(和/或用户计算装置705)中)。或者,数据库720b可远离用户计算装置705或服务器计算机760中的任一者或全部,只要数据库720b可(例如经由网络710)与这些装置中的一或多者通信即可。在一组特定实施例中,数据库720可驻留在所属领域的技术人员所熟悉的存储区域网络(“SAN”)中。(同样地,用于执行归于用户计算装置705或服务器计算机760的功能的任何必需文件可酌情本地存储在相应的计算机上和/或远程存储)在一组实施例中,数据库720可为关系型数据库,如数据库,其适合于响应于SQL格式化命令而存储、更新以及检索数据。举例来说,可通过数据库服务器来控制和/或维持数据库,如上文所描述。此类数据库可存储与安全等级相关的信息。
上文所论述的方法、***和装置是实例。各种实施例可酌情省略、替换或添加各种程序或组件。举例来说,在替代配置中,所描述的方法可以不同于所描述的次序来执行,和/或可添加、省略和/或组合各种阶段。而且,关于某些实施例描述的特征可在各种其它实施例中加以组合。可以类似方式来组合实施例的不同方面和元素。
在描述中给出特定细节以提供对实施例的透彻理解。然而,可以在没有这些特定细节的情况下实践实施例。举例来说,已在没有不必要的细节的情况下提到众所周知的电路、过程、算法、结构和技术,以免混淆所述实施例。这一描述仅提供实例实施例,并且不希望限制各种实施例的范围、适用性或配置。确切地说,实施例的前述描述将为所属领域的技术人员提供用于实施实施例的启迪性描述。可在不脱离各种实施例的精神和范围的情况下对元件的功能及布置做出各种改变。
并且,一些实施例被描述为可以具有过程箭头的流程来描绘的过程。尽管各自可将操作描述为循序过程,但许多操作可并行或同时进行。此外,操作的次序可以重新布置。方法可具有不包含在图式中的额外步骤。此外,所述方法的实施例可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码来实施时,用以执行相关联任务的程序代码或代码段可存储在例如存储媒体等计算机可读媒体中。处理器可进行相关联的任务。另外,以上元素可仅为较大***的组成部分,其中其它规则可优先于本申请案各种实施例或另外修改本申请案各种实施例,且在实施任何实施例的元素之前、期间或之后,可进行任何数目的步骤。
在描述了若干实施例之后,一般技术者因此将明白可在不脱离本发明的精神的情况下,使用各种修改、替代构造和等效物。
说明书附件
1.“蓝牙”文字标记和标识是蓝牙SIG公司拥有的注册商标。其它商标和商品名归其相应所有者。
2.“微软”和“视窗”是美国和/或其它国家的微软公司的注册商标或商标。
3.“MacOS”和“AplleTalk”是苹果公司在美国和其它国家注册的注册商标。
4.“UNIX”是开放组织的注册商标。
5.“Java”和“Oracle”是Oracle和/或其附属公司的注册商标。其它名称可为其相应所有者的商标。
Claims (20)
1.一种捕获适合于对象检测的三维对象的紧凑表示的方法,其包括:
使用装置的相机模块,捕获场景的多个图像,其中所述场景的所述多个图像中的每一者捕获对象的至少一部分;
从所述多个图像识别第一关键帧,以及所述装置的与所述第一关键帧相关联的第一位置;
从所述多个图像识别第二关键帧,以及所述装置的与所述第二关键帧相关联的第二位置,且其中所述第二位置不同于所述第一位置;
从所述第一关键帧识别第一多个关注点,其中所述第一多个关注点中的每一者识别来自所述场景的一或多个特征;
从所述第二关键帧识别第二多个关注点,其中所述第二多个关注点中的每一者识别来自所述场景的所述特征中的一或多者;
使所述第一多个关注点的子集与所述第二多个关注点的子集匹配;
至少部分地基于所述第一多个关注点的所述子集与所述第二多个关注点的所述子集的所述匹配,识别与所述对象相关联的多个关键点;以及
将与所述对象相关联的所述多个关键点的至少一部分作为对象表示存储在对象检测数据库中。
2.根据权利要求1所述的方法,其中识别与所述对象相关联的所述多个关键点包括:
对所述第一多个关注点和所述第二多个关注点进行滤波,以识别与所述对象相关联的所述多个关键点的所述至少一部分。
3.根据权利要求2所述的方法,其中对所述第一多个关注点和所述第二多个关注点进行滤波包括以下各项中的一者或一者以上:
删除距阈值数目个最近关注点的平均距离小于阈值距离的关注点;
删除与来自其它关键帧的关注点不匹配的所述关注点;以及
删除在所述场景的限定所关注容量之外的所述关键点。
4.根据权利要求1所述的方法,其中所述场景进一步包括平面目标。
5.根据权利要求4所述的方法,其中使用所述平面目标来辅助定义所述场景的所关注容量。
6.根据权利要求4所述的方法,其中使所述第一多个关注点与所述第二多个关注点匹配包括:
从所述第一图像中的所述平面目标的第一位置识别所述装置的所述第一位置;
从所述第二图像中的所述平面目标的第二位置识别所述装置的所述第二位置;
确定所述装置的所述第一位置与所述装置的所述第二位置之间的相对位置;
基于所述第一位置与所述第二位置之间的所述相对位置,使所述第一多个关注点与所述第二多个关注点匹配;以及
确定并记录每一关键点在坐标系中的位置。
7.根据权利要求1所述的方法,其中每一关键点包括关键点定位信息,且针对所述关键点周围的像素。
8.根据权利要求1所述的方法,其中将所述第一图像识别为所述第一关键帧包括用户选择。
9.根据权利要求1所述的方法,其中将所述第一图像识别为所述第一关键帧包括所述装置的自动选择。
10.根据权利要求9所述的方法,其中将所述第二图像识别为所述第二关键帧包括:
识别所述第二图像内的关键点密度;
识别所述第二位置与所述第一位置之间的空间关系;
确定所述第二位置处的关键帧将提供具有高于用于所述对象表示的阈值的数据值的数据;以及
选择所述第二图像作为所述第二关键帧。
11.一种用于捕获适合于离线对象检测的三维对象的紧凑表示的装置,其包括:
装置的相机模块,其捕获场景的多个图像,其中所述场景的所述多个图像中的每一者捕获对象的至少一部分;
一或多个处理器,其(1)识别第一关键帧,以及所述装置的与所述第一关键帧相关联的第一位置;(2)识别第二关键帧,以及所述装置的与所述第二关键帧相关联的第二位置,其中所述第二位置不同于所述第一位置;(3)从所述第一关键帧识别第一多个关注点,其中所述第一多个关注点识别来自所述场景的特征;(4)从所述第二关键帧识别第二多个关注点,其中所述第二多个关注点识别来自所述场景的所述特征的至少一部分;(5)使所述第一多个关注点的一部分与所述第二多个关注点的一部分匹配;以及(6)至少部分地基于所述第一多个关注点的所述部分与所述第二多个关注点的所述部分的匹配,识别与所述对象相关联的多个关键点;以及
存储器,其将与所述对象相关联的所述多个关键点的至少一部分作为对象表示存储在对象检测数据库中。
12.根据权利要求11所述的装置,其中所述装置进一步包括:
显示器,其耦合到所述相机模块,其中当所述装置的所述相机模块捕获所述场景的所述多个图像的至少一部分时,所述显示器输出所述多个关键点的至少一部分的图像。
13.根据权利要求12所述的装置,其中所述显示器进一步输出所述场景的视频图像,其中所述多个关键点的至少一第二部分重叠在所述对象上。
14.根据权利要求11所述的装置,其中所述装置进一步包括:
运动传感器,其中所述装置的所述第二位置由所述一或多个处理器使用来自所述运动传感器的信息来识别。
15.根据权利要求11所述的装置,其中所述装置进一步包括:
用户输入模块,其中识别所述第一关键帧包括在所述装置的所述用户输入模块处接收到的用户选择。
16.根据权利要求15所述的装置,其中所述装置进一步包括:
天线;以及
无线收发器;
其中所述一或多个处理器经由网络、所述天线和所述无线收发器耦合到所述装置。
17.一种包括指令的非暂时性计算机可读媒体,所述指令在由耦合到所述非暂时性计算机可读媒体的处理器执行时,致使装置:
使用所述装置的相机模块,捕获场景的多个图像,其中所述场景的所述多个图像中的每一者捕获对象的至少一部分;
识别第一关键帧,以及所述装置的与所述第一关键帧相关联的第一位置;
识别第二关键帧,以及所述装置的与所述第二关键帧相关联的第二位置,其中所述第二位置不同于所述第一位置;
从所述第一关键帧识别第一多个关注点,其中所述第一多个关注点识别来自所述场景的特征;
从所述第二关键帧识别第二多个关注点,其中所述第二多个关注点识别来自所述场景的所述特征的至少一部分;
使所述第一多个关注点的一部分与所述第二多个关注点的一部分匹配;
至少部分地基于所述第一多个关注点的所述部分与所述第二多个关注点的所述部分的所述匹配,识别与所述对象相关联的多个关键点;以及
将与所述对象相关联的所述多个关键点的至少一部分作为对象表示存储在对象检测数据库中。
18.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述处理器执行时,进一步致使所述装置:
对所述第一多个关注点和所述第二多个关注点进行滤波,以识别与所述对象相关联的所述多个关注点,作为识别与所述对象相关联的关键点的一部分。
19.根据权利要求18所述的非暂时性计算机可读媒体,其中所述指令当由所述处理器执行时,进一步致使所述装置:
删除距阈值数目个其它关注点的平均距离小于阈值距离的关注点,且删除与来自其它关键帧的关注点不匹配的所述关注点,作为所述对所述第一多个关注点和所述第二多个关注点进行滤波以识别与所述对象相关联的关注点的一部分。
20.根据权利要求18所述的非暂时性计算机可读媒体,其中所述指令当由所述处理器执行时,进一步致使所述装置:
删除在所述对象的限定容量之外的一组关键点,作为所述对所述第一多个关注点和所述第二多个关注点进行滤波以识别与所述对象相关联的关注点的一部分;以及
其中与作为所述对象检测数据库中的所述对象表示的所述对象相关联的所述多个关键点中的每一关键点包括坐标信息、亮度信息和周围像素图案信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361833889P | 2013-06-11 | 2013-06-11 | |
US61/833,889 | 2013-06-11 | ||
PCT/US2014/042005 WO2014201176A1 (en) | 2013-06-11 | 2014-06-11 | Interactive and automatic 3-d object scanning method for the purpose of database creation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105247573A true CN105247573A (zh) | 2016-01-13 |
CN105247573B CN105247573B (zh) | 2018-11-30 |
Family
ID=52005520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480030440.XA Active CN105247573B (zh) | 2013-06-11 | 2014-06-11 | 用于捕获适合于对象检测的三维对象的紧凑表示的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9501725B2 (zh) |
EP (1) | EP3008694B1 (zh) |
JP (1) | JP6144826B2 (zh) |
KR (1) | KR101775591B1 (zh) |
CN (1) | CN105247573B (zh) |
WO (1) | WO2014201176A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107274450A (zh) * | 2016-04-01 | 2017-10-20 | 佳能株式会社 | 信息处理装置及其控制方法 |
CN109325970A (zh) * | 2018-12-03 | 2019-02-12 | 舒彬 | 一种基于目标位姿跟踪的增强现实*** |
CN109840500A (zh) * | 2019-01-31 | 2019-06-04 | 深圳市商汤科技有限公司 | 一种三维人体姿态信息检测方法及装置 |
CN109931906A (zh) * | 2019-03-28 | 2019-06-25 | 杭州华雁云态信息技术有限公司 | 摄像机测距方法、装置以及电子设备 |
CN110140099A (zh) * | 2017-01-27 | 2019-08-16 | 高通股份有限公司 | 用于跟踪控制器的***和方法 |
CN110663245A (zh) * | 2017-01-13 | 2020-01-07 | 高途乐公司 | 用于存储成像数据的重叠区以产生优化拼接图像的设备及方法 |
CN111046698A (zh) * | 2018-10-12 | 2020-04-21 | 锥能机器人(上海)有限公司 | 可视化编辑的视觉定位方法和*** |
CN111432291A (zh) * | 2020-03-20 | 2020-07-17 | 稿定(厦门)科技有限公司 | 视频分段取帧场景下的视图更新方法及装置 |
CN112102223A (zh) * | 2019-06-18 | 2020-12-18 | 通用电气精准医疗有限责任公司 | 用于自动设置扫描范围的方法和*** |
CN114119686A (zh) * | 2021-11-24 | 2022-03-01 | 刘文平 | 空间布局相似计算的多源遥感影像配准方法 |
CN114600160A (zh) * | 2019-10-28 | 2022-06-07 | 瑞典爱立信有限公司 | 生成三维(3d)模型的方法 |
US11756152B2 (en) | 2016-10-10 | 2023-09-12 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10395125B2 (en) | 2016-10-06 | 2019-08-27 | Smr Patents S.A.R.L. | Object detection and classification with fourier fans |
US10262462B2 (en) | 2014-04-18 | 2019-04-16 | Magic Leap, Inc. | Systems and methods for augmented and virtual reality |
WO2015008798A1 (ja) * | 2013-07-18 | 2015-01-22 | 三菱電機株式会社 | 目標類識別装置 |
SG2013069893A (en) * | 2013-09-13 | 2015-04-29 | Jcs Echigo Pte Ltd | Material handling system and method |
KR20150049535A (ko) * | 2013-10-30 | 2015-05-08 | 삼성전자주식회사 | 전자장치 및 그 이용방법 |
WO2015155628A1 (en) * | 2014-04-07 | 2015-10-15 | Eyeways Systems Ltd. | Apparatus and method for image-based positioning, orientation and situational awareness |
US10026010B2 (en) * | 2014-05-14 | 2018-07-17 | At&T Intellectual Property I, L.P. | Image quality estimation using a reference image portion |
JP6399518B2 (ja) * | 2014-12-18 | 2018-10-03 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 処理装置、処理方法、およびプログラム |
US10133947B2 (en) * | 2015-01-16 | 2018-11-20 | Qualcomm Incorporated | Object detection using location data and scale space representations of image data |
JP6763869B2 (ja) * | 2015-02-26 | 2020-09-30 | ブリュール アンド ケーア サウンド アンド バイブレーション メジャーメント アクティーゼルスカブ | 1以上の空間方向特徴により変換器の空間方向を検出する方法 |
US10042078B2 (en) * | 2015-02-27 | 2018-08-07 | The United States of America, as Represented by the Secretary of Homeland Security | System and method for viewing images on a portable image viewing device related to image screening |
US9595038B1 (en) * | 2015-05-18 | 2017-03-14 | Amazon Technologies, Inc. | Inventory confirmation |
RU2602386C1 (ru) * | 2015-05-26 | 2016-11-20 | Общество с ограниченной ответственностью "Лаборатория 24" | Способ визуализации объекта |
KR102499332B1 (ko) * | 2015-06-05 | 2023-02-13 | 헥사곤 테크놀로지 센터 게엠베하 | 다중 트랜잭션 기술을 사용하여 객체 지향 환경에서 객체들에 대한 기하학적 변환을 수행하기 위한 방법 및 장치 |
US9734587B2 (en) * | 2015-09-30 | 2017-08-15 | Apple Inc. | Long term object tracker |
US10318819B2 (en) * | 2016-01-05 | 2019-06-11 | The Mitre Corporation | Camera surveillance planning and tracking system |
WO2017132636A1 (en) * | 2016-01-29 | 2017-08-03 | Pointivo, Inc. | Systems and methods for extracting information about objects from scene information |
US10003732B2 (en) * | 2016-02-25 | 2018-06-19 | Foodim Ltd | Depth of field processing |
US10019839B2 (en) | 2016-06-30 | 2018-07-10 | Microsoft Technology Licensing, Llc | Three-dimensional object scanning feedback |
US11400860B2 (en) | 2016-10-06 | 2022-08-02 | SMR Patents S.à.r.l. | CMS systems and processing methods for vehicles |
WO2018075628A1 (en) * | 2016-10-19 | 2018-04-26 | Shapeways, Inc. | Systems and methods for identifying three-dimensional printed objects |
JP2018067115A (ja) * | 2016-10-19 | 2018-04-26 | セイコーエプソン株式会社 | プログラム、追跡方法、追跡装置 |
CN107481284A (zh) * | 2017-08-25 | 2017-12-15 | 京东方科技集团股份有限公司 | 目标物跟踪轨迹精度测量的方法、装置、终端及*** |
DK180470B1 (en) | 2017-08-31 | 2021-05-06 | Apple Inc | Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments |
WO2019045724A1 (en) * | 2017-08-31 | 2019-03-07 | Sony Mobile Communications Inc. | METHODS, DEVICES AND COMPUTER PROGRAM PRODUCTS FOR GENERATING 3D IMAGES |
US11087536B2 (en) | 2017-08-31 | 2021-08-10 | Sony Group Corporation | Methods, devices and computer program products for generation of mesh in constructed 3D images |
WO2019075276A1 (en) * | 2017-10-11 | 2019-04-18 | Aquifi, Inc. | SYSTEMS AND METHODS FOR IDENTIFYING OBJECT |
US10860847B2 (en) * | 2017-10-17 | 2020-12-08 | Motorola Mobility Llc | Visual perception assistant |
EP3486606A1 (de) * | 2017-11-20 | 2019-05-22 | Leica Geosystems AG | Stereokamera und stereophotogrammetrisches verfahren |
WO2019147699A2 (en) * | 2018-01-24 | 2019-08-01 | Apple, Inc. | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
CN108592919B (zh) * | 2018-04-27 | 2019-09-17 | 百度在线网络技术(北京)有限公司 | 制图与定位方法、装置、存储介质和终端设备 |
US10885622B2 (en) | 2018-06-29 | 2021-01-05 | Photogauge, Inc. | System and method for using images from a commodity camera for object scanning, reverse engineering, metrology, assembly, and analysis |
CN109063567B (zh) * | 2018-07-03 | 2021-04-13 | 百度在线网络技术(北京)有限公司 | 人体识别方法、装置及存储介质 |
CN111986250A (zh) * | 2019-05-22 | 2020-11-24 | 顺丰科技有限公司 | 物体体积测量方法、装置、测量设备及存储介质 |
US11288835B2 (en) * | 2019-09-20 | 2022-03-29 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Lighttrack: system and method for online top-down human pose tracking |
SE1951205A1 (en) | 2019-10-23 | 2020-10-06 | Winteria Ab | Method and device for inspection of a geometry, the device comprising image capturing and shape scanning means |
US11407431B2 (en) | 2019-11-22 | 2022-08-09 | Samsung Electronics Co., Ltd. | System and method for object trajectory prediction in an autonomous scenario |
WO2021173862A1 (en) * | 2020-02-26 | 2021-09-02 | Magic Leap, Inc. | Cross reality system with buffering for localization accuracy |
US11941860B2 (en) * | 2021-09-24 | 2024-03-26 | Zebra Tehcnologies Corporation | Computational load mitigation for image-based item recognition |
KR20230098944A (ko) * | 2021-12-27 | 2023-07-04 | 주식회사 버넥트 | 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006084385A1 (en) * | 2005-02-11 | 2006-08-17 | Macdonald Dettwiler & Associates Inc. | 3d imaging system |
US20070216675A1 (en) * | 2006-03-16 | 2007-09-20 | Microsoft Corporation | Digital Video Effects |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4715539B2 (ja) * | 2006-02-15 | 2011-07-06 | トヨタ自動車株式会社 | 画像処理装置、その方法、および画像処理用プログラム |
NO327279B1 (no) * | 2007-05-22 | 2009-06-02 | Metaio Gmbh | Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning |
US20090010507A1 (en) * | 2007-07-02 | 2009-01-08 | Zheng Jason Geng | System and method for generating a 3d model of anatomical structure using a plurality of 2d images |
US9020274B2 (en) | 2009-05-06 | 2015-04-28 | University Of New Brunswick | Method of interest point matching for images |
KR101420549B1 (ko) | 2009-12-02 | 2014-07-16 | 퀄컴 인코포레이티드 | 쿼리 및 모델 이미지들에서 검출된 키포인트들을 클러스터링함에 따른 특징 매칭 방법, 디바이스 그리고 프로세서 판독가능 매체 |
JP5045827B2 (ja) | 2011-02-01 | 2012-10-10 | カシオ計算機株式会社 | 画像処理装置、画像処理方法、及び、プログラム |
US9020187B2 (en) | 2011-05-27 | 2015-04-28 | Qualcomm Incorporated | Planar mapping and tracking for mobile devices |
AU2011253973B2 (en) | 2011-12-12 | 2015-03-12 | Canon Kabushiki Kaisha | Keyframe selection for parallel tracking and mapping |
-
2014
- 2014-06-11 KR KR1020167000414A patent/KR101775591B1/ko active IP Right Grant
- 2014-06-11 EP EP14738674.2A patent/EP3008694B1/en active Active
- 2014-06-11 US US14/302,056 patent/US9501725B2/en active Active
- 2014-06-11 WO PCT/US2014/042005 patent/WO2014201176A1/en active Application Filing
- 2014-06-11 JP JP2016519630A patent/JP6144826B2/ja not_active Expired - Fee Related
- 2014-06-11 CN CN201480030440.XA patent/CN105247573B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006084385A1 (en) * | 2005-02-11 | 2006-08-17 | Macdonald Dettwiler & Associates Inc. | 3d imaging system |
US20070216675A1 (en) * | 2006-03-16 | 2007-09-20 | Microsoft Corporation | Digital Video Effects |
Non-Patent Citations (4)
Title |
---|
CHRISTIAN PIRCHHEIM 等: "Homography-Based Planar Mapping and Tracking for Mobile Phones", 《IEEE INTERNATIONAL SYMPOSIUM ON MIXED AND AUGMENTED REALITY 2011 SCIENCE AND TECHNOLGY PROCEEDINGS》 * |
ZILONG DONG 等: "Keyframe-Based Real-Time Camera Tracking", 《2009 IEEE 12TH INTERNATIONAL CONFERENCE ON COMPUTER VISION》 * |
杜歆 等: "一种基于单相机三维重建的简单方法", 《传感技术学报》 * |
魏春苗: "数码相机双目立体视觉的三维重建", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107274450A (zh) * | 2016-04-01 | 2017-10-20 | 佳能株式会社 | 信息处理装置及其控制方法 |
US11983839B2 (en) | 2016-10-10 | 2024-05-14 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US11756152B2 (en) | 2016-10-10 | 2023-09-12 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
CN110663245B (zh) * | 2017-01-13 | 2021-06-29 | 高途乐公司 | 用于存储成像数据的重叠区以产生优化拼接图像的设备及方法 |
US12022227B2 (en) | 2017-01-13 | 2024-06-25 | Gopro, Inc. | Apparatus and methods for the storage of overlapping regions of imaging data for the generation of optimized stitched images |
CN110663245A (zh) * | 2017-01-13 | 2020-01-07 | 高途乐公司 | 用于存储成像数据的重叠区以产生优化拼接图像的设备及方法 |
US11743416B2 (en) | 2017-01-13 | 2023-08-29 | Gopro, Inc. | Apparatus and methods for the storage of overlapping regions of imaging data for the generation of optimized stitched images |
US11477395B2 (en) | 2017-01-13 | 2022-10-18 | Gopro, Inc. | Apparatus and methods for the storage of overlapping regions of imaging data for the generation of optimized stitched images |
US10992881B2 (en) | 2017-01-13 | 2021-04-27 | Gopro, Inc. | Apparatus and methods for the storage of overlapping regions of imaging data for the generation of optimized stitched images |
CN110140099A (zh) * | 2017-01-27 | 2019-08-16 | 高通股份有限公司 | 用于跟踪控制器的***和方法 |
CN110140099B (zh) * | 2017-01-27 | 2022-03-11 | 高通股份有限公司 | 用于跟踪控制器的***和方法 |
CN111046698B (zh) * | 2018-10-12 | 2023-06-20 | 锥能机器人(上海)有限公司 | 可视化编辑的视觉定位方法和*** |
CN111046698A (zh) * | 2018-10-12 | 2020-04-21 | 锥能机器人(上海)有限公司 | 可视化编辑的视觉定位方法和*** |
CN109325970A (zh) * | 2018-12-03 | 2019-02-12 | 舒彬 | 一种基于目标位姿跟踪的增强现实*** |
CN109840500B (zh) * | 2019-01-31 | 2021-07-02 | 深圳市商汤科技有限公司 | 一种三维人体姿态信息检测方法及装置 |
CN109840500A (zh) * | 2019-01-31 | 2019-06-04 | 深圳市商汤科技有限公司 | 一种三维人体姿态信息检测方法及装置 |
CN109931906B (zh) * | 2019-03-28 | 2021-02-23 | 华雁智科(杭州)信息技术有限公司 | 摄像机测距方法、装置以及电子设备 |
CN109931906A (zh) * | 2019-03-28 | 2019-06-25 | 杭州华雁云态信息技术有限公司 | 摄像机测距方法、装置以及电子设备 |
CN112102223A (zh) * | 2019-06-18 | 2020-12-18 | 通用电气精准医疗有限责任公司 | 用于自动设置扫描范围的方法和*** |
CN112102223B (zh) * | 2019-06-18 | 2024-05-14 | 通用电气精准医疗有限责任公司 | 用于自动设置扫描范围的方法和*** |
CN114600160A (zh) * | 2019-10-28 | 2022-06-07 | 瑞典爱立信有限公司 | 生成三维(3d)模型的方法 |
CN111432291B (zh) * | 2020-03-20 | 2021-11-05 | 稿定(厦门)科技有限公司 | 视频分段取帧场景下的视图更新方法及装置 |
CN111432291A (zh) * | 2020-03-20 | 2020-07-17 | 稿定(厦门)科技有限公司 | 视频分段取帧场景下的视图更新方法及装置 |
CN114119686A (zh) * | 2021-11-24 | 2022-03-01 | 刘文平 | 空间布局相似计算的多源遥感影像配准方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014201176A1 (en) | 2014-12-18 |
EP3008694B1 (en) | 2021-01-27 |
CN105247573B (zh) | 2018-11-30 |
KR101775591B1 (ko) | 2017-09-06 |
EP3008694A1 (en) | 2016-04-20 |
JP2016521892A (ja) | 2016-07-25 |
JP6144826B2 (ja) | 2017-06-07 |
KR20160019497A (ko) | 2016-02-19 |
US9501725B2 (en) | 2016-11-22 |
US20140363048A1 (en) | 2014-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105247573A (zh) | 用于数据库创建目的的交互式且自动3d对象扫描方法 | |
US10096129B2 (en) | Three-dimensional mapping of an environment | |
JP6430064B2 (ja) | データを位置合わせする方法及びシステム | |
US9424461B1 (en) | Object recognition for three-dimensional bodies | |
CN106471548B (zh) | 使用***信息的加速模板匹配的方法和装置 | |
JP6091560B2 (ja) | 画像解析方法 | |
US9400941B2 (en) | Method of matching image features with reference features | |
US11842514B1 (en) | Determining a pose of an object from rgb-d images | |
US20210097103A1 (en) | Method and system for automatically collecting and updating information about point of interest in real space | |
US20160267326A1 (en) | Image abstraction system | |
US9524432B1 (en) | Fast interest point extraction for augmented reality | |
CN106462943A (zh) | 将全景成像与航拍成像对齐 | |
TW201229962A (en) | Augmenting image data based on related 3D point cloud data | |
WO2021136386A1 (zh) | 数据处理方法、终端和服务器 | |
JP2016513843A (ja) | 特徴の空間局所化を利用することによる物体検出時間の減少 | |
TW201222288A (en) | Image retrieving system and method and computer program product thereof | |
WO2018207426A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11610379B2 (en) | Rendering depth-based three-dimensional model with integrated image frames | |
TW202244680A (zh) | 位置姿勢獲取方法、電子設備及電腦可讀儲存媒體 | |
JP5931646B2 (ja) | 画像処理装置 | |
Bae et al. | Fast and scalable 3D cyber-physical modeling for high-precision mobile augmented reality systems | |
CN108335329B (zh) | 应用于飞行器中的位置检测方法和装置、飞行器 | |
Xiong et al. | SmartGuide: Towards single-image building localization with smartphone | |
KR20220062709A (ko) | 모바일 디바이스 영상에 기반한 공간 정보 클러스터링에 의한 재난 상황 인지 시스템 및 방법 | |
KR102249380B1 (ko) | 기준 영상 정보를 이용한 cctv 장치의 공간 정보 생성 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |