CN108700946A - 用于并行测距和建图的故障检测和恢复的***和方法 - Google Patents
用于并行测距和建图的故障检测和恢复的***和方法 Download PDFInfo
- Publication number
- CN108700946A CN108700946A CN201780013624.9A CN201780013624A CN108700946A CN 108700946 A CN108700946 A CN 108700946A CN 201780013624 A CN201780013624 A CN 201780013624A CN 108700946 A CN108700946 A CN 108700946A
- Authority
- CN
- China
- Prior art keywords
- diagram data
- electronic device
- module
- motion tracking
- fault state
- 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
- 238000000034 method Methods 0.000 title claims description 23
- 238000011084 recovery Methods 0.000 title description 17
- 238000010586 diagram Methods 0.000 claims abstract description 104
- 230000033001 locomotion Effects 0.000 claims abstract description 95
- 230000004438 eyesight Effects 0.000 claims description 31
- 230000000007 visual effect Effects 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 6
- 230000005611 electricity Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000009017 pursuit movement Effects 0.000 abstract description 9
- 230000003139 buffering effect Effects 0.000 abstract description 8
- 238000003860 storage Methods 0.000 description 33
- 238000003384 imaging method Methods 0.000 description 26
- 239000000872 buffer Substances 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007514 turning Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 241001515997 Eristalis tenax Species 0.000 description 1
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001144 postural effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000006798 ring closing metathesis reaction Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
Abstract
电子装置(100)在跟踪其运动并构建其环境(112)的地图(417)的同时检测故障状况并从故障状况中恢复。前端运动跟踪模块(210)检测故障状况,同时随时间推移跟踪运动,并将建图数据(312、316)提供给后端建图模块(220)。所述运动跟踪模块在已检测到故障状况时以及在不再检测到故障状况时向所述建图模块指示。所述建图模块从所述建图数据生成地图(417),并合并所述地图以构建所述环境的三维表示(225)。所述建图模块缓冲或丢弃在故障状况存在期间从所述运动跟踪模块接收的任何建图数据。所述建图模块合并基于在所述故障状况之前和之后接收的建图数据而生成的地图,并将已合并的地图添加到所述环境的三维表示中。
Description
背景
技术领域
本公开总体上涉及成像捕获和处理,并且更具体地,涉及使用捕获的成像的机器视觉。
背景技术
用于增强现实(AR)和虚拟现实(VR)应用的机器视觉和显示技术,例如同步定位和建图(SLAM)、运动结构(SFM)、视觉惯性里程计(VIO)和视觉惯性建图,通常依赖于通过分析由装置所捕获的本地环境成像来识别装置的本地环境中的对象。为了支持这些技术,该装置导航环境,同时同步地构建环境的地图(3D视觉表示)或者增强环境的现有地图。然而,视觉和惯性传感器在跟踪运动时会出现故障,导致在基于跟踪运动构建环境地图中出现延迟或不准确。这样的延迟和不准确会因此限制机器视觉技术的实用性和有效性。
附图说明
通过参考附图,可以更好地理解本公开,并且本公开的许多特征和优点对于本领域技术人员来说是显而易见的。在不同的附图中使用相同的参考符号表示相似或相同的项目。
图1是示出了根据本公开的至少一个实施例的电子装置的图,该电子装置被配置为在构建本地环境的地图的同时使用基于非图像传感器数据和图像传感器数据生成的姿势信息来估计电子装置在本地环境中的姿势时检测故障状况,并且一旦故障状况已经解决则恢复。
图2是示出根据本公开的至少一个实施例的、图1的电子装置的具有故障检测和恢复的建图器的图,该建图器被配置为在估计电子装置的当前姿势并更新环境地图以定位估计的当前姿势时,检测视觉和惯性传感器数据中的故障并从故障中恢复。
图3是示出根据本公开的至少一个实施例的、图2的具有故障检测和恢复的建图器的运动跟踪模块的图,该运动跟踪模块被配置为生成故障指示符和包括环境中的对象的空间特征的特征描述符的建图数据,并将其传输到图2的具有故障检测和恢复的建图器的建图模块,以在故障状况期间中断更新环境的地图。
图4是示出根据本公开的至少一个实施例的、图2的具有故障检测和恢复的建图器的建图模块的图,该建图模块被配置为基于包括生成的特征描述符的建图数据生成地图并将其合并到电子装置的环境的三维表示,并且缓冲或丢弃在故障状况期间接收的建图数据。
图5是示出根据本公开的至少一个实施例的、图2的具有故障检测和恢复的建图器的定位模块的图,该定位模块被配置为生成电子装置的经过定位的姿势。
图6是示出根据本公开的至少一个实施例的电子装置在跟踪运动和更新环境的三维表示的同时检测故障状况并从故障状况恢复的操作的流程图。
具体实施方式
以下描述旨在通过提供多个具体实施例和细节来传达对本公开的透彻理解,这些具体实施例和细节涉及当基于电子装置的本地环境中的对象的基于图像的识别来确定电子装置的相对位置或相对取向时的故障状况的检测和从故障状况中的恢复。然而,应当理解,本公开不限于这些仅是示例的具体实施例和细节,并且因此本公开的范围仅由所附权利要求及其等同物限定。还应理解,根据已知的***和方法,本领域普通技术人员将理解,根据具体设计和其他需要,本公开在任何数量的替代实施例中用于其预期目的和益处。
图1-6示出了用于在构建环境的三维表示的同时跟踪环境中的电子装置的运动时检测故障状况并从故障状况中恢复的各种技术。前端运动跟踪模块从视觉、惯性和深度传感器接收传感器数据,并跟踪可由应用编程接口(API)使用的电子装置的运动(即,估计随时间推移的姿势)。前端运动跟踪模块基于与环境中对象的空间特征的视觉外观相对应的特征描述符来估计随时间推移的姿势,并估计空间特征的三维位置(称为3D点位置)。前端运动跟踪模块还将捕获的特征描述符和估计的装置姿势(统称为建图数据)提供给后端建图模块。前端运动跟踪模块还检测所接收的传感器数据中的故障状况,并在已检测到故障状况时以及在不再检测到故障状况时向后端建图模块指示。
后端建图模块被配置为基于存储的建图数据存储多个地图,并且当电子装置移动通过环境时随着其被生成从前端运动跟踪模块接收额外的建图数据。后端建图模块从每组建图数据生成地图,并基于存储的多个地图和生成的地图来合并地图以构建环境的三维表示(地图)。响应于从前端运动跟踪模块接收到已经检测到故障状况的指示,后端建图模块缓冲或丢弃从前端运动跟踪模块接收的任何建图数据,直到后端建图模块从前端运动跟踪模块接收到不再检测到故障状况的指示。后端建图模块合并基于在故障状况之前和之后接收的建图数据生成的地图,并将已合并的地图添加到环境的三维表示中。
后端建图模块将环境的三维视觉表示提供给定位模块,定位模块将所生成的特征描述符与来自于所存储的多个地图的所存储的特征描述符比较,并识别所存储的和观察到的特征描述符之间的对应关系。定位模块通过最小化匹配特征描述符之间的差异来执行循环闭包,以计算经过定位的姿势。经过定位的姿势校正由前端运动跟踪模块所生成的估计姿势中的漂移,并被周期性地发送到前端运动跟踪模块以输出到API。
通过检测故障状况并缓冲或丢弃故障状况期间生成的建图数据,以及基于故障状况之前和之后接收的数据来合并地图,电子装置能够以极小的中断,从故障状况快速恢复以跟踪运动并构建环境的地图。为了说明,在至少一个实施例中,在电子装置以比运动跟踪模块能够生成准确或可靠的建图数据的速率更高的速率改变方向时,例如,在电子装置快速来回摇动或波动时,前端运动跟踪模块检测到故障状况。特别是,在这种故障状况期间,来自图像和非视觉传感器的传感器数据可能会受到损害或缺少有用信息,从而影响基于这种数据的任何地图的准确性或可靠性。因此,在检测到故障状况时,前端运动跟踪模块向后端建图模块指示已经检测到故障状况。响应于接收到已经被检测到故障状况的指示,后端建图模块启动对从前端运动跟踪模块接收的建图数据的缓冲或丢弃,使得在故障状况指示之后接收的建图数据不被用于构建或调整后端地图。当前端运动跟踪模块检测到故障状况不再存在时,前端运动跟踪模块向后端建图模块指示故障状况已经解决。响应于接收到故障状况已经解决的指示,后端建图模块在接收到故障状况不再存在的指示之后,停止缓冲或丢弃从前端运动跟踪模块接收的建图数据,并且基于从前端运动跟踪模块接收的建图数据继续进行生成地图。后端建图模块将在接收到故障状况指示之前生成的地图与在接收到故障状况已经解决的指示之后生成的地图合并。在一些实施例中,后端建图模块将在接收到故障状况已经解决的指示之后生成的地图与环境的三维表示合并。
图1示出了根据本公开的至少一个实施例的电子装置100,其被配置为使用图像和非视觉传感器数据来支持使用用于AR/VR应用的SLAM的基于位置的功能。电子装置100可以包括用户便携式移动装置,例如平板电脑、支持计算的蜂窝电话(例如,“智能手机”)、头戴式显示器(HMD)、笔记本电脑、个人数字助理(PDA)、游戏***遥控器、电视遥控器等。在其他实施例中,电子装置100可以包括其他类型的移动装置,例如汽车、机器人、遥控无人驾驶飞机或其他空中装置等。为了便于说明,电子装置100在此通常是在移动装置的示例上下文中描述的,例如平板电脑或智能手机;然而,电子装置100不限于这些示例实施方式。
在所描绘的示例中,电子装置100包括壳体102,壳体102具有与另一表面106相对的表面104。在所示的示例中,薄矩形块形状规格描绘的、表面104和106基本平行,并且壳体102还包括表面104和表面106之间的四个侧表面(顶部、底部、左侧和右侧)。壳体102可以以许多其他形状规格实施,并且表面104和106可以具有非平行取向。对于所示的平板电脑实施方式,电子装置100包括设置在表面106处的显示器108,用于向用户110呈现视觉信息。因此,为了便于参考,表面106在本文中被称为“面向前的”表面,并且表面104在本文中被称为“面向用户的”表面,作为电子装置100相对于用户110的该示例性取向的反映,但是这些表面的取向不受这些关系名称的限制。
电子装置100包括多个传感器以获得关于电子装置100的本地环境112的信息。电子装置100经由设置在面向前的表面106处的成像传感器114和116以及深度传感器120和设置在面向用户的表面104处的成像传感器118获得本地环境112的视觉信息(成像)。在一个实施例中,成像传感器114被实施为具有鱼眼镜头或其他广角镜头的广角成像传感器,以提供面向表面106的本地环境112的广角视图。成像传感器116被实施为具有典型视角镜头的窄角成像传感器,以提供面向表面106的本地环境112的更窄角度的视图。因此,成像传感器114和成像传感器116在本文中也分别称为“广角成像传感器114”和“窄角成像传感器116”。如下文更详细描述的,广角成像传感器114和窄角成像传感器116可以在面向前的表面106上定位和取向,使得它们的视场从距电子装置100指定距离处开始重叠,从而使得能够通过图像分析对本地环境112中的位于重叠视场区域中的对象进行深度感测。成像传感器118可用于捕获面向表面104的本地环境112的图像数据。此外,在一些实施例中,成像传感器118被配置用于跟踪头部122的运动或用于面部识别,并因此提供头部跟踪信息,该信息可用于调整经由显示器108呈现的成像的视角。
在一个实施例中,深度传感器120使用调制光投影器119将调制光图案从面向前的表面106投射到本地环境中,并且使用成像传感器114和116中的一个或两个来捕获调制光图案从本地环境112中的对象反射回来时的反射。这些调制光图案可以是空间调制光图案或时间调制光图案。所捕获的调制光图案的反射在这里被称为“深度成像”。深度传感器120然后可以基于深度成像的分析来计算对象的深度,即对象距电子装置100的距离。从深度传感器120获得的所得深度数据可用于校准或以其他方式增强从成像传感器114和116捕获的图像数据的图像分析(例如,立体分析)获得的深度信息。替代地,可以代替从图像分析获得的深度信息使用来自深度传感器120的深度数据。为了说明,多视角分析通常更适合于明亮的照明条件以及当对象相对较远时,而基于调制光的深度感测更适合于较低的照明条件或者当观察到的对象相对较近时(例如,在4-5米内)。因此,当电子装置100感测到它在室外或者以其他方式处于相对良好的照明条件下时,电子装置100可以选择使用多视角分析来确定对象深度。相反,当电子装置100感测到它在室内或者处于相对较差的照明条件下时,电子装置100可以切换到经由深度传感器120使用基于调制光的深度感测。
电子装置100还可以依赖于非视觉姿势信息来进行姿势检测。可以通过电子装置100经由一个或多个非视觉传感器(图1中未示出),例如包括一个或多个陀螺仪、磁力计和加速度计的IMU,来获得该非视觉姿势信息。在至少一个实施例中,IMU可用于沿着多个运动轴生成姿势信息,这些运动轴包括表示为电子装置100的参考系的X、Y和Z轴的平移轴,以及表示为电子装置100的参考系的翻滚、俯仰和偏航轴的旋转轴。非视觉传感器还可以包括环境光传感器和位置传感器,例如GPS传感器,或者可以用于识别电子装置100的位置的其他传感器,例如一个或多个无线无线电设备、蜂窝无线电设备等。
为了便于故障检测和恢复,电子装置100包括具有故障检测和恢复的建图器150,以在基于图像传感器数据134、136和非图像传感器数据142跟踪电子装置100的运动的同时检测故障状况,并且构建排除在检测到的故障状况存在期间收集的建图数据的本地环境112的三维表示。具有故障检测和恢复的建图器150从多组建图数据生成地图,并将地图与本地环境112的三维表示合并。响应于检测到故障状况的存在,具有故障检测和恢复的建图器150缓冲或丢弃在故障状况存在期间生成的建图数据,并且当具有故障检测和恢复的建图器150不再检测到故障状况的存在时,继续进行从多组建图数据生成地图。具有故障检测和恢复的建图器150将在检测到故障状况之前生成的最后一个地图与在不再检测到故障状况之后生成的第一个地图合并,并将故障状况前和故障状况后的地图添加到本地环境112的三维表示中。
在操作中,电子装置100使用图像传感器数据和非视觉传感器数据来跟踪电子装置100的运动(估计姿势)。在至少一个实施例中,在复位之后,电子装置100基于地理位置数据、其他非视觉传感器数据、如下面进一步描述的视觉传感器数据或其组合来确定初始估计姿势。随着电子装置100的姿势改变,非视觉传感器以相对高的速率生成反映装置姿势的变化的非视觉姿势信息。同时,视觉传感器捕获也反映装置姿势的变化的图像。基于该非视觉和视觉姿势信息,电子装置100更新初始估计姿势以反映装置的当前估计姿势或跟踪的运动。
电子装置100基于对由成像传感器114、116和118中的一个或多个捕获的图像数据中的空间特征的检测来生成视觉姿势信息。为了说明,在图1所示的示例中,本地环境112包括办公楼的走廊,该走廊包括三个拐角124、126和128、踢脚线130和电源插座132。用户110已经定位并定向了电子装置100,使得面向前的成像传感器114和116分别捕获广角成像传感器图像数据134和窄角成像传感器图像数据136,其包括走廊的这些空间特征。在这个示例中,深度传感器120还捕获反映这些空间特征相对于电子装置100的当前姿势的相对距离的深度数据138。此外,面向用户的成像传感器118捕获表示用户110的头部122的当前姿势的头部跟踪数据140的图像数据。通过电子装置100在其当前姿势下还收集非视觉传感器数据142,例如来自IMU的读数。
根据该输入数据,电子装置100可以确定其相对姿势的估计或跟踪的运动,而无需来自外部源的明确绝对定位信息。为了说明,电子装置100可以执行广角成像传感器图像数据134和窄角成像传感器图像数据136的分析,以确定电子装置100与拐角124、126、128之间的距离。替代地,从深度传感器120获得的深度数据138可用于确定空间特征的距离。从这些距离,电子装置100可以三角测量或以其他方式推断其在由本地环境112表示的办公室中的相对位置。作为另一个示例,电子装置100可以识别图像数据134和136的一组捕获图像中存在的空间特征,确定到这些空间特征的初始距离,然后跟踪这些空间特征在后续捕获成像中的位置和距离的变化,以确定电子装置100在自由参考系中的姿势变化。在这种方法中,某些非视觉传感器数据,例如陀螺数据或加速度计数据,可以用于将一个图像中观察到的空间特征与后续图像中观察到的空间特征相关。
在至少一个实施例中,电子装置100使用图像数据和非视觉数据来为捕获成像中识别的空间特征生成特征描述符。每个生成的特征描述符描述一个或多个所识别的空间特征的取向、重力方向、比例和其他方面。将所生成的特征描述符与本地环境112的多个存储地图的一组存储描述符(出于描述的目的被称为“已知特征描述符”)相比较,所述存储描述符中的每一个识别先前识别的空间特征及其对应姿势。在至少一个实施例中,每个已知特征描述符是先前由电子装置100或另一电子装置生成并且其姿势被确定地建立的描述符。估计的装置姿势、3D点位置和已知特征描述符可以存储在电子装置100、远程服务器(其可以组合来自多个电子装置的数据)或其他存储装置或其组合处。因此,所生成的特征描述符的比较可以在电子装置100、远程服务器或其他装置或其组合处执行。
在至少一个实施例中,通过将所生成的特征描述符的每个方面(例如,对应特征的取向、对应特征的比例等)与已知特征描述符的对应方面相比较,并确定指示被比较的特征之间的方差的误差值,来将所生成的特征描述符与已知特征描述符相比较。因此,例如,如果所生成的特征描述符中的特征的取向由向量A识别,并且已知特征描述符中的特征的取向由向量B识别,则电子装置100可以通过计算向量A和B之间的差来识别特征描述符的取向方面的误差值。可以根据指定的统计技术(例如最小二乘技术)来组合误差值,以识别被比较的每个已知特征描述符的组合误差值,并且匹配的已知特征描述符识别为具有最小组合误差值的已知特征描述符。
每个已知特征描述符包括识别对应的空间特征的点位置以及从其看到对应的空间特征的相机姿势的一个或多个字段。因此,已知特征描述符可以包括姿势信息,该姿势信息指示空间特征在指定分辨率(例如1cm)内在指定坐标系(例如代表地球的地理坐标系)内的位置、空间特征视点的取向、视点离特征的距离等。将观察到的特征描述符与存储在地图中的特征描述符相比较,以识别多个匹配的已知特征描述符。匹配的已知特征描述符然后与非视觉姿势数据一起存储为定位数据,该定位数据既可用于校正电子装置100的跟踪运动(或估计姿势)中的漂移,又可用于增强电子装置100的本地环境的多个存储的地图。
在一些场景中,匹配过程将识别与对应生成的特征描述符匹配的多个已知特征描述符,从而指示在电子装置100的本地环境中存在先前已经识别的多个特征。匹配的已知特征描述符的对应姿势可以变化,从而指示电子装置100并不处于匹配的已知特征描述符所指示的姿势中的特定一个姿势。因此,电子装置100可以通过使用常规内插技术在匹配已知特征描述符所指示的姿势之间内插其姿势来改进其估计姿势。在一些场景中,如果匹配的已知特征描述符之间的方差高于阈值,则电子装置100可以将其估计姿势锁定(snap)到由已知特征描述符指示的姿势。
在至少一个实施例中,具有故障检测和恢复的建图器150基于图像传感器数据134、136和非图像传感器数据142生成电子装置100的估计姿势(即,跟踪运动),以输出到API。具有故障检测和恢复的建图器150还基于图像传感器数据和非视觉传感器数据来生成特征描述符,并基于图像传感器数据和非视觉传感器数据来检测故障状况的存在。具有故障检测和恢复的建图器150存储包含已知特征描述符的多个地图,其从这些特征描述符构建本地环境112的三维表示。例如,具有故障检测和恢复的建图器150可以使用已知特征描述符来生成地图文件,该地图文件指示在已知特征描述符中包括的每个特征在电子装置100的参考系中的位置。当具有故障检测和恢复的建图器150基于图像传感器数据和非视觉传感器数据生成新的特征描述符时,其通过将生成的特征描述符与已知特征描述符相匹配来周期性地增强本地环境112的三维表示。
在检测到故障状况时,具有故障检测和恢复的建图器150缓冲或丢弃在故障状况存在期间生成的建图数据,并且在具有故障检测和恢复的建图器150不再检测到故障状况之后,基于建图数据继续进行生成地图文件。具有故障检测和恢复的建图器150通过获得两个地图文件之间的视觉对应关系(称为循环闭包约束),将故障状况之前生成的最后一个地图文件与故障状况之后生成的第一个地图文件合并。一旦获得了这样的约束,具有故障检测和恢复的建图器150优化两个地图以及地图间约束,以准确估计感兴趣的量(轨迹、地标、校准参数)。
具有故障检测和恢复的建图器150利用不包括在故障状况期间生成的建图数据的、合并的地图文件来增强环境的三维表示。以这种方式,具有故障检测和恢复的建图器150在生成图像传感器数据和非视觉传感器数据时检测由图像传感器数据和非视觉传感器数据证明的故障状况,并且从故障状况快速恢复以生成环境的准确三维表示。环境的三维表示可以用于支持各种基于位置的服务中的任何服务。例如,在一个实施例中,环境的三维表示可用于生成表示电子装置100的本地环境的虚拟现实环境或其一部分。具有故障检测和恢复的建图器150被配置为基于图像传感器数据134、136、深度数据138和非视觉传感器数据142来检测故障状况,并且从其用于增强环境的三维表示的数据中排除与故障状况相关联的数据。具有故障检测和恢复的建图器150还被配置为检测故障状况何时不再存在,并且用在故障状况不再存在之后接收的图像传感器数据134、136、深度数据138和非视觉传感器数据142来继续进行增强环境的三维表示。
图2示出了图1的电子装置100的具有故障检测和恢复的建图器150的组件。具有故障检测和恢复的建图器250包括前端运动跟踪模块210、后端建图模块220和定位模块230。具有故障检测和恢复的建图器250被配置为向API模块240输出当前姿势214。具有故障检测和恢复的建图器250被配置为检测故障状况,同时跟踪运动以估计电子装置的当前姿势,并且更新环境的地图以定位估计的当前姿势。
前端运动跟踪模块210被配置为从图1的成像相机114和116接收视觉传感器数据136,从图1的深度传感器120接收深度数据138,以及从非图像传感器(未示出)接收惯性传感器数据142(在图2中,视觉传感器数据136、深度数据138和惯性传感器数据142统称为视觉和惯性传感器数据205)。前端运动跟踪模块210还被配置为基于视觉和惯性传感器数据205检测故障状况。基于所接收的视觉和惯性传感器数据205,前端运动跟踪模块210生成建图数据215,该建图数据215包括本地环境112中的对象的空间特征的特征描述符。在一些实施例中,建图数据215被分组为多组,每组包括在给定时间段内收集的建图数据。
在一些实施例中,前端运动跟踪模块210以与其接收传感器数据相同的频率来检测故障状况。在一些实施例中,前端运动跟踪模块210为每组建图数据215生成故障指示216,其中故障指示216在前端运动跟踪模块210检测到故障状况时指示存在故障状况,并且其中故障指示216在前端运动跟踪模块210未检测到故障状况时指示不存在故障状况。在一些实施例中,前端运动跟踪模块仅当检测到故障状况的存在的变化时,即当检测到故障状况时,以及当不再检测到故障状况时,才生成故障指示216。在一些实施例中,故障指示216包括关于检测到的故障的类型的信息。前端运动跟踪模块210向建图模块220提供建图数据215和故障指示216。
建图模块220被配置为存储包括已知特征描述符的多个地图(未示出),并且从运动跟踪模块210接收建图数据215。所存储的多个地图形成环境的压缩历史和电子装置100的跟踪运动。建图模块220被配置为基于从前端运动跟踪模块210接收的每组建图数据215来构建环境的地图。建图模块220还被配置为将地图合并在一起。在一些实施例中,建图模块220周期性地(例如每五秒钟)从运动跟踪模块210接收建图数据215。在一些实施例中,在前端运动跟踪模块210已经接收到阈值量的传感器数据之后,建图模块220从前端运动跟踪模块210接收建图数据215。建图模块220基于合并的地图构建电子装置100的本地环境112的三维表示225,所述合并的地图是基于从运动跟踪模块210接收的建图数据215和存储的多个地图而构建的。建图模块220将合并的地图的一个或多个空间特征与多个存储的地图的空间特征相匹配,以生成环境112的三维表示225。
响应于接收到指示故障状况已经被前端运动跟踪模块210检测到的故障指示216,建图模块220基于在故障指示216之前从前端运动跟踪模块接收的最后一组建图数据215来构建地图文件。建图模块220缓冲或丢弃在故障状况存在期间从前端运动跟踪模块210接收的任何建图数据215。一旦前端运动跟踪模块发送指示故障状况不再存在的故障指示216,建图模块220就停止缓冲或丢弃从前端运动跟踪模块210接收的建图数据215,并且基于在指示故障状况不再存在之后从前端运动跟踪模块接收的第一组建图数据215构建地图文件。建图模块220然后通过查询定位模块230以获得基于故障指示216之前从前端运动跟踪模块接收的最后一组建图数据215的地图文件与基于故障状况不再存在的指示之后从前端运动跟踪模块接收的第一组建图数据215的地图文件之间的视觉对应关系(称为循环闭包约束),来将这两个地图文件合并。一旦获得了这样的约束,具有故障检测和恢复的建图器150就优化两个地图文件以及地图间约束,以准确估计感兴趣的量(轨迹、地标、校准参数)。
定位模块230被配置为使用经匹配的描述符来将建图数据215与存储的多个地图对齐,例如通过应用循环闭包算法。因此,定位模块230可以使用匹配特征描述符来估计所存储的多个地图中的一个或多个地图的变换,由此定位模块230变换与所生成的具有匹配描述符的建图数据215的特征描述符相关联的几何数据,以与具有对应匹配描述符的所存储的地图相关联的几何数据对齐。当定位模块230从建图数据215和存储的地图中找到阈值数量的匹配特征描述符以确认所生成的建图数据215和存储的地图包含共同视觉地标的描述时,定位模块230执行建图数据215和匹配的已知特征描述符之间的变换,从而对齐匹配特征描述符的几何数据。此后,定位模块230可以应用协同优化算法来改进电子装置100的建图数据215的姿势和场景的对齐,以生成经过定位的姿势235。
图3示出了根据本公开的至少一个实施例的、图2的具有故障检测和恢复的建图器150的运动跟踪模块210,其被配置为生成故障指示符和建图数据并将其传输到图2的具有故障检测和恢复的建图器150的建图模块220,用于中断在故障状况期间更新环境的地图。运动跟踪模块210和建图模块220中的每一个表示被配置为执行这里描述的操作的硬件、软件或其组合。具体来说,运动跟踪模块210被配置为接收表示由成像传感器114、116、118捕获的图像以及非视觉传感器数据142的成像305。基于该接收的数据,运动跟踪模块生成包括本地环境112中的对象的空间特征的特征描述符的建图数据。运动跟踪模块210还基于成像305和非图像传感器数据142来检测故障状况是否存在,并生成故障状况是否存在的指示。运动跟踪模块210向建图模块220提供建图数据和故障状况是否存在的指示。
在图3所示的示例中,在时间T1,运动跟踪模块210向建图模块220提供第一建图数据312。在时间T2,运动跟踪模块210向建图模块220提供故障指示314,指示已经检测到故障状况。在时间T3,运动跟踪模块210向建图模块220提供第二建图数据316。在时间T4,运动跟踪模块210向建图模块220提供故障指示318,指示已检测到无故障状况。在时间T5,运动跟踪模块210向建图模块220提供第三建图数据320。
在不存在故障状况的指示的情况下,建图模块220基于第一建图数据312生成地图文件。然而,因为建图模块220在时间T2接收到故障指示314之后,在时间T3接收到第二建图数据316,所以建图模块220丢弃或缓冲第二建图数据316。在时间T4,建图模块220接收到无故障指示318,从而指示已检测到无故障状况。因为建图模块220在接收到无故障指示318之后,在时间T5接收第三建图数据320,所以建图模块220基于第三建图数据320生成地图文件。
图4是示出根据本公开的至少一个实施例的、图2的具有故障检测和恢复的建图器250的后端建图模块220的图,该后端建图模块被配置为基于包括生成的特征描述符的建图数据生成地图并将其合并到电子装置100的环境112的三维表示225,并且缓冲或丢弃在故障状况期间接收的建图数据。后端建图模块220包括建图器410、存储模块415、缓冲器430和地图合并模块425。
建图器410被配置为基于从运动跟踪模块210接收的多组建图数据来生成电子装置100的环境的地图文件412、414。地图文件412、414是积累建图数据以便随后与其他地图合并的数据结构。地图文件412、414包括来自视觉传感器(包括特征描述符)和非视觉传感器的信息,以及从运动跟踪模块210接收的粗略建图数据。建图器410对该信息执行数据选择和修剪。建图器410使用已经被电子装置100重新观察多次的视觉信息来执行额外的数据关联,然后处理该数据以联合优化和估计装置姿势并构建环境的三维表示。该数据保存在地图文件412、414中。
存储模块415被配置为存储电子装置100的环境的多个地图417。在一些实施例中,多个地图417可以包括电子装置100之前在先前的建图会话期间生成的地图。在一些实施例中,多个地图417还可以包括包含在电子装置100的物理环境中未发现的特征的VR或AR地图。多个地图417包括环境中的对象的空间特征的存储的(已知的)特征描述符422,这些特征描述符422可共同用于生成环境的三维表示225。
地图合并模块425被配置为从建图器410接收地图。地图合并模块425将从建图器410接收的地图的特征描述符与存储的多个地图417的已知特征描述符相比较。地图合并模块425基于存储的多个地图417的已知特征描述符和由建图器410基于从前端运动跟踪模块210所接收的建图数据而生成的地图的特征描述符来构建电子装置100的本地环境112的三维表示225。
缓冲器430被配置为存储建图器410在建图器410接收到故障状况的指示之后以及在建图器410接收到故障状况已经解决的指示之前接收的建图数据(即,在故障状况存在期间,由建图器410接收的建图数据)。因此,建图器410不基于在检测到的故障状况存在期间接收的建图数据来生成地图,而是在缓冲器430处缓冲该建图数据。
在图4所示的示例中,在时间T1,建图器410从运动跟踪模块210接收第一建图数据312。在时间T2,建图器410接收故障指示314,指示运动跟踪模块210已经检测到故障状况。在时间T3,建图器410从运动跟踪模块210接收第二建图数据316。在时间T4,建图器410接收无故障指示318,指示运动跟踪模块210已经检测到存在无故障状况。在时间T5,建图器410从运动跟踪模块210接收第三建图数据320。
建图器410基于第一建图数据312生成第一地图文件412,并将第一地图文件412提供给地图合并模块425。因为建图器410在故障指示314之后接收到第二建图数据316,建图器410在缓冲器430处缓冲第二建图数据316。在一些实施例中,建图器410丢弃第二建图数据316,而不是在缓冲器430处缓冲第二建图数据316。因为建图器410在无故障指示318之后接收到第三建图数据,建图器410基于第三建图数据320生成第三地图文件414。
地图合并模块425通过查询定位模块230来获得第一地图文件412和第三地图文件414之间的循环闭包约束,来将第一地图文件412与第三地图文件414合并。一旦获得了这样的约束,地图合并模块425就优化两个地图文件以及地图间约束,以准确估计感兴趣的数量。地图合并模块425进一步将第一地图文件412和第三地图文件414与多个地图417合并,以生成或增强电子装置100的环境112的三维表示225。
图5是示出根据本公开的至少一个实施例的、图2的具有故障检测和恢复的建图器250的定位模块530的图,该定位模块被配置为生成电子装置100的经过定位的姿势235。定位模块530包括特征描述符差异检测器515和循环闭包模块525。
特征描述符差异检测器515被配置为从具有故障检测和恢复的建图器250的后端建图模块220接收环境的三维表示225。特征描述符差异检测器515分析三维表示225的匹配特征描述符,并识别匹配特征描述符之间的差异。特征描述符差异检测器515变换与具有匹配描述符的建图数据215的生成的特征描述符相关联的几何数据,以与和具有对应匹配描述符的存储的地图相关联的几何数据对齐。当定位模块230从建图数据215和存储的地图中找到足够数量的匹配特征描述符以确认建图数据215和存储的地图包含共同视觉地标的描述时,定位模块230执行建图数据215和匹配的已知特征描述符之间的变换,从而对齐匹配特征描述符的几何数据。
循环闭包模块525被配置为通过求解协同优化或集束调整算法来优化三维表示225,以改进匹配特征描述符的对齐。可以通过Gauss-Newton或Levenberg-Marquardt算法或用于优化变换的其他已知算法来解决协同优化问题,以生成电子装置100的经过定位的姿势235。在一些实施例中,循环闭包模块525将已知的特征描述符视为变量。循环闭包模块525因此生成经过定位的姿势235,并将该经过定位的姿势235发送到前端运动跟踪模块210。经过定位的姿势235可以被馈送给在电子装置100处执行的应用,以通过允许电子装置100更高效和准确地识别其先前已经穿越的本地环境112来实现增强现实或其他基于位置的功能。
图6是示出根据本公开的至少一个实施例的电子装置100在跟踪运动和更新环境的三维表示的同时检测故障并恢复的方法600的流程图。方法600在框602处开始,在框602处,具有故障检测和恢复的建图器250的建图模块220从运动跟踪模块210接收基于电子装置100在其在本地环境中由用户通过的不同姿势移动时捕获的成像和非视觉数据的建图数据。在框604处,建图模块220确定其是否已经接收到存在故障状况的指示。如果建图模块确定其已经接收到存在故障状况的指示,则在框616处,建图模块220缓冲所接收的建图数据,并且方法流程继续到框602,在框602处,建图模块220接收额外的建图数据。如果在框604处,建图模块220确定其没有接收到存在故障状况的指示(或者,其接收到故障状况已经解决的指示),则方法流程继续到框606。在框606处,建图模块220使用建图数据215来生成本地环境112中的电子装置100的地图文件。
在框608处,建图模块220通过查询定位模块230以获得两个地图文件之间的循环闭包约束,来合并生成的地图文件。在框610处,建图模块220构建和/或更新其提供给定位模块230的电子装置的环境的三维表示225。在框612处,定位模块230识别匹配特征描述符之间的差异,并执行循环闭包以将建图数据与三维表示225对齐。在框614处,定位模块定位电子装置的当前姿势,并且具有故障检测和恢复的建图器250将经过定位的姿势提供给API模块240。
在一些实施例中,上述技术的某些方面可以由执行软件的处理***的一个或多个处理器来实施。该软件包括一个或多个可执行指令集合,这些指令被存储或以其他方式有形地具体实施在非暂时性计算机可读存储介质上。软件可以包括指令和某些数据,当由一个或多个处理器执行时,这些指令和数据操纵一个或多个处理器来执行上述技术的一个或多个方面。非暂时性计算机可读存储介质可以包括例如磁盘或光盘存储装置、诸如闪存、高速缓存、随机存取存储器(RAM)或其他非易失性存储装置等固态存储装置。存储在非暂时性计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码或由一个或多个处理器解释或以其他方式可执行的其他指令格式。
计算机可读存储介质可以包括计算机***在使用期间可访问以向计算机***提供指令和/或数据的任何存储介质或存储介质的组合。这种存储介质可以包括但不限于光学介质(例如,压缩光盘(CD)、数字多功能光盘(DVD)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁硬盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存)、或基于微机电***(MEMS)的存储介质。计算机可读存储介质可以嵌入在计算***(例如,***RAM或ROM)、固定地附接到计算***(例如,磁性硬盘驱动器)、可移除地附接到计算***(例如,光盘或基于通用串行总线(USB)的闪存),或者经由有线或无线网络(例如,网络可访问存储(NAS))耦合到计算机***。
请注意,并非以上在一般描述中描述的所有活动或元件都是必需的,可能不需要特定活动或装置的一部分,并且除了所描述的活动或元件之外可以执行一个或多个进一步的活动或包括一个或多个进一步的元件。此外,列出活动的顺序不一定是执行活动的顺序。此外,已经参考特定实施例描述了这些概念。然而,本领域的普通技术人员应理解,在不脱离所附权利要求所阐述的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图被认为是说明性的而非限制性的,并且所有这样的修改意图被包括在本公开的范围内。
上文已经关于具体实施例描述了益处、其他优点和问题的解决方案。然而,这些益处、优点、问题的解决方案以及可能引起任何益处、优点或解决方案发生或变得更加明显的任何特征都不应被解释为任何或所有权利要求的关键的、必需的或基本的特征。而且,上文公开的特定实施例只是说明性的,因为所公开的主题可以用本领域的技术人员得益于本文中的教导而容易明白的不同的但是等效的方式来修改和实践。除了随附权利要求书中说明的,不期望对本文中示出的构造或设计的细节构成限制。因此,很明显,上面公开的特定实施例可以被更改或修改,并且所有这些变化都被认为在公开主题的范围内。因此,这里寻求的保护如随附权利要求书所述。
Claims (15)
1.一种方法,包括:
在电子装置(100)处,基于从运动跟踪模块(210)接收的第一建图数据(312),修改所述电子装置的环境(112)的三维表示(225),其中,所述第一建图数据基于从一个或多个视觉传感器(114、116)捕获的图像和来自于一个或多个非图像传感器的非视觉数据(205);
响应于在从所述运动跟踪模块接收到存在故障状况的指示之后从所述运动跟踪模块接收到第二建图数据(316),从所述三维表示中省略所述第二建图数据;和
响应于在从所述运动跟踪模块接收到所述故障状况已经解决的指示之后从所述运动跟踪模块接收到第三建图数据(414),基于所述第三建图数据修改所述三维表示。
2.根据权利要求1所述的方法,其中,所述第一建图数据包括表示所述电子装置的所述环境中的对象的一个或多个空间特征的特征描述符(422),并且其中,基于所述第三建图数据修改所述三维表示包括:将所述第三建图数据的特征描述符与所述第一建图数据的特征描述符相匹配。
3.根据权利要求2所述的方法,还包括:构建包括所述三维表示的所述特征描述符的集束调整问题,并解决所述集束调整问题以生成所述电子装置的经过定位的姿势。
4.根据权利要求1所述的方法,其中,所述建图数据包括表示所述电子装置的所述环境中的对象的一个或多个空间特征的特征描述符(422),并且其中,基于所述第三建图数据修改所述三维表示包括:将所述第三建图数据的特征描述符与所述三维表示的特征描述符相匹配。
5.一种方法,包括:
基于从电子装置(100)的运动跟踪模块(210)接收的第一建图数据(312),在所述电子装置处,生成所述电子装置的环境(112)的三维表示(225),所述第一建图数据包括基于从一个或多个视觉传感器(114、116)捕获的图像和来自于一个或多个非图像传感器的非视觉数据(205)表示所述电子装置的所述环境中的对象的一个或多个空间特征的特征描述符(422);
响应于从所述运动跟踪模块接收到故障状况的指示,中断生成所述环境的所述三维表示;和
响应于从所述运动跟踪模块接收到所述故障状况已经解决的指示,在所述故障状况已经解决的所述指示之后,基于从所述运动跟踪模块接收的第二建图数据(316)继续进行生成所述三维表示。
6.根据权利要求5所述的方法,其中,继续进行生成所述三维表示包括:将所述第二建图数据的特征描述符(422)与所述三维表示的特征描述符(422)相匹配。
7.根据权利要求5所述的方法,还包括:构建包括所述三维表示的所述特征描述符的集束调整问题,并解决所述集束调整问题以生成所述电子装置的经过定位的姿势。
8.根据权利要求1或权利要求5中的任一项所述的方法,还包括:在所述运动跟踪模块处,检测所述故障状况的存在。
9.根据权利要求8中的任一项所述的方法,其中,检测以与所述一个或多个视觉传感器的操作频率基本上相同的频率发生。
10.根据权利要求1或权利要求5中的任一项所述的方法,其中,所述故障状况包括以下至少一个:所述电子装置以比所述运动跟踪模块能够生成建图数据更高的速率改变方向;和从所述一个或多个视觉传感器捕获的所述图像包括小于阈值量的信息。
11.一种电子装置(100),包括:
运动跟踪模块(210),所述运动跟踪模块被配置为基于建图数据(312、316、320)跟踪所述电子装置相对于所述电子装置的环境(112)的运动,所述建图数据包括表示所述环境中的一个或多个对象的一个或多个空间特征的特征描述符(422),并且被配置为指示故障状况,其中,所述特征描述符是基于从一个或多个视觉传感器(114、116)捕获的图像和来自于一个或多个非图像传感器的非视觉数据(205)生成的;和
建图模块(220),所述建图模块被配置为基于从所述运动跟踪模块接收的第一建图数据(312)生成所述电子装置的所述环境的三维表示(225),其中,所述建图模块还被配置为响应于从所述运动跟踪模块接收到故障状况的指示,中断生成所述环境的所述三维表示,并且响应于从所述运动跟踪模块接收到所述故障状况已经解决的指示,在所述故障状况已经解决的所述指示之后,基于从所述运动跟踪模块接收的第二建图数据(316)继续进行生成所述三维表示。
12.根据权利要求11所述的电子装置,其中,所述建图模块被配置为通过将所述第二建图数据的特征描述符(422)与所述三维表示的特征描述符相匹配来继续进行生成所述三维表示。
13.根据权利要求11所述的电子装置,还包括:循环闭包模块(525),所述循环闭包模块被配置为构建和解决包括所述三维表示的所述特征描述符的集束调整问题,以生成所述电子装置的经过定位的姿势(235)。
14.根据权利要求11所述的电子装置,其中,所述运动跟踪模块还被配置为以与所述一个或多个视觉传感器的操作频率基本上相同的频率来检测故障状况。
15.根据权利要求11所述的电子装置,其中,所述故障状况包括以下至少一个:所述电子装置以比所述运动跟踪模块能够生成建图数据更高的速率改变方向;和从所述一个或多个视觉传感器捕获的所述图像包括小于阈值量的信息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662337987P | 2016-05-18 | 2016-05-18 | |
US62/337,987 | 2016-05-18 | ||
US15/597,366 | 2017-05-17 | ||
US15/597,366 US11017610B2 (en) | 2016-05-18 | 2017-05-17 | System and method for fault detection and recovery for concurrent odometry and mapping |
PCT/US2017/033357 WO2017201305A1 (en) | 2016-05-18 | 2017-05-18 | System and method for fault detection and recovery for concurrent odometry and mapping |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108700946A true CN108700946A (zh) | 2018-10-23 |
CN108700946B CN108700946B (zh) | 2021-10-19 |
Family
ID=59071068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780013624.9A Expired - Fee Related CN108700946B (zh) | 2016-05-18 | 2017-05-18 | 用于并行测距和建图的故障检测和恢复的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11017610B2 (zh) |
EP (1) | EP3400507B1 (zh) |
CN (1) | CN108700946B (zh) |
WO (1) | WO2017201305A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11989835B2 (en) * | 2017-09-26 | 2024-05-21 | Toyota Research Institute, Inc. | Augmented reality overlay |
US10970425B2 (en) * | 2017-12-26 | 2021-04-06 | Seiko Epson Corporation | Object detection and tracking |
US11761767B2 (en) * | 2018-02-26 | 2023-09-19 | Cloudminds Robotics Co., Ltd. | Method, device, apparatus, and application for cloud-based trajectory map generation |
WO2019209882A1 (en) * | 2018-04-23 | 2019-10-31 | Purdue Research Foundation | Augmented reality interface for authoring tasks for execution by a programmable robot |
US11989933B2 (en) * | 2018-04-27 | 2024-05-21 | Carnegie Mellon University | Polynomial convolutional neural network with late fan-out |
US11307049B2 (en) * | 2018-07-19 | 2022-04-19 | Uisee Technologies (Beijing) Co., Ltd | Methods, apparatuses, systems, and storage media for storing and loading visual localization maps |
US10991117B2 (en) * | 2018-12-23 | 2021-04-27 | Samsung Electronics Co., Ltd. | Performing a loop closure detection |
CN109737950B (zh) * | 2019-01-28 | 2020-04-17 | 智真海洋科技(威海)有限公司 | 基于vio和动力学模型的水下机器人定位***及方法 |
CN109917670B (zh) * | 2019-03-08 | 2022-10-21 | 北京精密机电控制设备研究所 | 一种智能机器人集群的同时定位与建图方法 |
US11145117B2 (en) * | 2019-12-02 | 2021-10-12 | At&T Intellectual Property I, L.P. | System and method for preserving a configurable augmented reality experience |
US11470107B2 (en) * | 2020-06-10 | 2022-10-11 | Servicenow, Inc. | Matching configuration items with machine learning |
US11451573B2 (en) | 2020-06-16 | 2022-09-20 | Servicenow, Inc. | Merging duplicate items identified by a vulnerability analysis |
US11460867B2 (en) * | 2020-06-30 | 2022-10-04 | Sony Group Corporation | System of multi-swarm drone capturing |
CN113238557B (zh) * | 2021-05-17 | 2024-05-07 | 珠海一微半导体股份有限公司 | 一种建图异常的识别及恢复方法、计算机可读存储介质和移动机器人 |
US12008806B2 (en) * | 2021-08-19 | 2024-06-11 | Meta Platforms Technologies, Llc | Methods and systems to allow three-dimensional map sharing between heterogeneous computing systems, cross-localization, and sharing content in three-dimensional space |
US20230186570A1 (en) * | 2021-12-10 | 2023-06-15 | Meta Platforms Technologies, Llc | Methods and systems to allow three-dimensional maps sharing and updating |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7015831B2 (en) * | 2002-12-17 | 2006-03-21 | Evolution Robotics, Inc. | Systems and methods for incrementally updating a pose of a mobile device calculated by visual simultaneous localization and mapping techniques |
CN101509783A (zh) * | 2009-03-24 | 2009-08-19 | 北京四维图新科技股份有限公司 | 应用于导航电子地图生产中的数据检查方法及装置 |
US20100094460A1 (en) * | 2008-10-09 | 2010-04-15 | Samsung Electronics Co., Ltd. | Method and apparatus for simultaneous localization and mapping of robot |
CN101877149A (zh) * | 2010-07-16 | 2010-11-03 | 光庭导航数据(武汉)有限公司 | 二维地图背景在三维图形显示加速设备上的显示方法 |
CN102426019A (zh) * | 2011-08-25 | 2012-04-25 | 航天恒星科技有限公司 | 一种无人机景象匹配辅助导航方法及*** |
CN103456038A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种井下环境三维场景重建方法 |
CN103472478A (zh) * | 2013-09-29 | 2013-12-25 | 中核能源科技有限公司 | 核电站中子剂量当量率分布图的自动绘制***及其方法 |
US20140218540A1 (en) * | 2013-02-05 | 2014-08-07 | Google Inc. | Noise Models for Image Processing |
US20150071524A1 (en) * | 2013-09-11 | 2015-03-12 | Motorola Mobility Llc | 3D Feature Descriptors with Camera Pose Information |
CN104520913A (zh) * | 2012-07-03 | 2015-04-15 | 歌乐株式会社 | 车载环境识别装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6176837B1 (en) | 1998-04-17 | 2001-01-23 | Massachusetts Institute Of Technology | Motion tracking system |
US6474159B1 (en) | 2000-04-21 | 2002-11-05 | Intersense, Inc. | Motion-tracking |
US7660920B2 (en) | 2005-09-30 | 2010-02-09 | Rockwell Automation Technologies, Inc. | Multi-rate optimized connection between industrial control scanner and industrial controller |
US20080012935A1 (en) | 2005-11-22 | 2008-01-17 | Gateway Inc. | Inappropriate content detection and distribution prevention for wireless cameras/camcorders with e-mail capabilities and camera phones |
US8751151B2 (en) * | 2012-06-12 | 2014-06-10 | Trx Systems, Inc. | System and method for localizing a trackee at a location and mapping the location using inertial sensor information |
US9195345B2 (en) | 2010-10-28 | 2015-11-24 | Microsoft Technology Licensing, Llc | Position aware gestures with visual feedback as input method |
US8711206B2 (en) | 2011-01-31 | 2014-04-29 | Microsoft Corporation | Mobile camera localization using depth maps |
US9197891B1 (en) | 2012-01-02 | 2015-11-24 | Marvell International Ltd. | Systems and methods for periodic structure handling for motion compensation |
US9552648B1 (en) | 2012-01-23 | 2017-01-24 | Hrl Laboratories, Llc | Object tracking with integrated motion-based object detection (MogS) and enhanced kalman-type filtering |
US10139985B2 (en) * | 2012-06-22 | 2018-11-27 | Matterport, Inc. | Defining, displaying and interacting with tags in a three-dimensional model |
US9488492B2 (en) * | 2014-03-18 | 2016-11-08 | Sri International | Real-time system for multi-modal 3D geospatial mapping, object recognition, scene annotation and analytics |
US9177404B2 (en) * | 2012-10-31 | 2015-11-03 | Qualcomm Incorporated | Systems and methods of merging multiple maps for computer vision based tracking |
US9782141B2 (en) | 2013-02-01 | 2017-10-10 | Kineticor, Inc. | Motion tracking system for real time adaptive motion compensation in biomedical imaging |
US9606848B2 (en) | 2013-03-12 | 2017-03-28 | Raytheon Company | Iterative Kalman filtering |
US9377310B2 (en) * | 2013-05-02 | 2016-06-28 | The Johns Hopkins University | Mapping and positioning system |
US20150092048A1 (en) * | 2013-09-27 | 2015-04-02 | Qualcomm Incorporated | Off-Target Tracking Using Feature Aiding in the Context of Inertial Navigation |
US9524434B2 (en) * | 2013-10-04 | 2016-12-20 | Qualcomm Incorporated | Object tracking based on dynamically built environment map data |
US9524580B2 (en) | 2014-01-06 | 2016-12-20 | Oculus Vr, Llc | Calibration of virtual reality systems |
KR102016551B1 (ko) | 2014-01-24 | 2019-09-02 | 한화디펜스 주식회사 | 위치 추정 장치 및 방법 |
US9953243B2 (en) | 2014-04-25 | 2018-04-24 | Google Llc | Electronic device localization based on imagery |
US9996976B2 (en) * | 2014-05-05 | 2018-06-12 | Avigilon Fortress Corporation | System and method for real-time overlay of map features onto a video feed |
US9483879B2 (en) * | 2014-09-18 | 2016-11-01 | Microsoft Technology Licensing, Llc | Using free-form deformations in surface reconstruction |
EP3078935A1 (en) * | 2015-04-10 | 2016-10-12 | The European Atomic Energy Community (EURATOM), represented by the European Commission | Method and device for real-time mapping and localization |
US10146414B2 (en) | 2015-06-09 | 2018-12-04 | Pearson Education, Inc. | Augmented physical and virtual manipulatives |
US9940542B2 (en) | 2015-08-11 | 2018-04-10 | Google Llc | Managing feature data for environment mapping on an electronic device |
US10073531B2 (en) | 2015-10-07 | 2018-09-11 | Google Llc | Electronic device pose identification based on imagery and non-image sensor data |
US9652896B1 (en) * | 2015-10-30 | 2017-05-16 | Snap Inc. | Image based tracking in augmented reality systems |
CN105424026B (zh) | 2015-11-04 | 2017-07-07 | 中国人民解放军国防科学技术大学 | 一种基于点云轨迹的室内导航定位方法与*** |
-
2017
- 2017-05-17 US US15/597,366 patent/US11017610B2/en active Active
- 2017-05-18 CN CN201780013624.9A patent/CN108700946B/zh not_active Expired - Fee Related
- 2017-05-18 EP EP17730978.8A patent/EP3400507B1/en active Active
- 2017-05-18 WO PCT/US2017/033357 patent/WO2017201305A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7015831B2 (en) * | 2002-12-17 | 2006-03-21 | Evolution Robotics, Inc. | Systems and methods for incrementally updating a pose of a mobile device calculated by visual simultaneous localization and mapping techniques |
US20100094460A1 (en) * | 2008-10-09 | 2010-04-15 | Samsung Electronics Co., Ltd. | Method and apparatus for simultaneous localization and mapping of robot |
CN101509783A (zh) * | 2009-03-24 | 2009-08-19 | 北京四维图新科技股份有限公司 | 应用于导航电子地图生产中的数据检查方法及装置 |
CN101877149A (zh) * | 2010-07-16 | 2010-11-03 | 光庭导航数据(武汉)有限公司 | 二维地图背景在三维图形显示加速设备上的显示方法 |
CN102426019A (zh) * | 2011-08-25 | 2012-04-25 | 航天恒星科技有限公司 | 一种无人机景象匹配辅助导航方法及*** |
CN104520913A (zh) * | 2012-07-03 | 2015-04-15 | 歌乐株式会社 | 车载环境识别装置 |
US20140218540A1 (en) * | 2013-02-05 | 2014-08-07 | Google Inc. | Noise Models for Image Processing |
CN103456038A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种井下环境三维场景重建方法 |
US20150071524A1 (en) * | 2013-09-11 | 2015-03-12 | Motorola Mobility Llc | 3D Feature Descriptors with Camera Pose Information |
CN103472478A (zh) * | 2013-09-29 | 2013-12-25 | 中核能源科技有限公司 | 核电站中子剂量当量率分布图的自动绘制***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017201305A1 (en) | 2017-11-23 |
EP3400507B1 (en) | 2019-09-11 |
EP3400507A1 (en) | 2018-11-14 |
US20170337749A1 (en) | 2017-11-23 |
CN108700946B (zh) | 2021-10-19 |
US11017610B2 (en) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108700946A (zh) | 用于并行测距和建图的故障检测和恢复的***和方法 | |
US11668571B2 (en) | Simultaneous localization and mapping (SLAM) using dual event cameras | |
CN108700947B (zh) | 用于并发测距和建图的***和方法 | |
CN109791608B (zh) | 映射摘要和本地化 | |
CN112666714B (zh) | 注视方向映射 | |
JP6198230B2 (ja) | 深度カメラを使用した頭部姿勢トラッキング | |
CN109298629B (zh) | 在未绘制地图区域中引导移动平台的***及方法 | |
CN102622762B (zh) | 使用深度图的实时相机跟踪 | |
CN112219087A (zh) | 位姿预测方法、地图构建方法、可移动平台及存储介质 | |
Dorfmüller | Robust tracking for augmented reality using retroreflective markers | |
JP6609640B2 (ja) | 電子デバイス上における環境マッピング用のフィーチャ・データの管理 | |
CN103181157A (zh) | 基于平面特性的无标记增强现实***及其操作方法 | |
WO2015123774A1 (en) | System and method for augmented reality and virtual reality applications | |
JP2015532077A (ja) | 少なくとも1つの画像を撮影する撮影装置に関連する装置の位置及び方向の決定方法 | |
Brunetto et al. | Fusion of inertial and visual measurements for rgb-d slam on mobile devices | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN114185073A (zh) | 一种位姿显示方法、装置及*** | |
US20200211275A1 (en) | Information processing device, information processing method, and recording medium | |
EP3392748B1 (en) | System and method for position tracking in a virtual reality system | |
Janszen et al. | Master Thesis Improving robustness of pose estimation in AR using motion segmentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211019 |
|
CF01 | Termination of patent right due to non-payment of annual fee |