CN112955901A - 用于执行回环检测的方法和装置 - Google Patents
用于执行回环检测的方法和装置 Download PDFInfo
- Publication number
- CN112955901A CN112955901A CN201980070722.5A CN201980070722A CN112955901A CN 112955901 A CN112955901 A CN 112955901A CN 201980070722 A CN201980070722 A CN 201980070722A CN 112955901 A CN112955901 A CN 112955901A
- Authority
- CN
- China
- Prior art keywords
- detection
- lcd
- loop
- user
- movement
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000033001 locomotion Effects 0.000 claims abstract description 47
- 230000009471 action Effects 0.000 claims description 20
- 238000011045 prefiltration Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 230000003190 augmentative effect Effects 0.000 claims description 2
- 230000003044 adaptive effect Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 18
- 230000000737 periodic effect Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 231100000430 skin reaction Toxicity 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B2027/0178—Eyeglass type
-
- 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/10016—Video; Image sequence
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- User Interface Of Digital Computer (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
描述了一种执行回环检测的方法。该方法包括:检测具有相机的装置的移动;以及基于检测到的装置的移动,使用装置的处理器自适应地启用或禁用所述装置的回环检测。
Description
技术领域
本公开涉及一种捕获图像的电子装置,并且具体地,涉及一种用于在电子装置中执行回环检测的方法和装置。
背景技术
使用由电子装置捕获的图像的对象检测可以具有许多实际应用。然而,对象检测可能需要大量的计算资源并且可能花费相当长的时间。诸如智能眼镜和头戴式显示器(HMD)可穿戴装置的智能眼部佩戴物具有许多新兴的应用。使此类应用能够用于智能眼部佩戴物或具有相机的其它跟踪装置(例如,机器人跟踪装置)的有用特征包含对象检测、识别和跟踪以及在显示器上显示结果。对象检测对于同步定位和建图(SLAM)也是重要的。
回环检测(LCD)是SLAM应用中的重要组件。当SLAM引擎在电子装置上运行时,LCD识别先前访问的地点,使得可以在这种情况下调用全局光束法平差(BA)。全局BA可用于优化和重新对准相机姿态信息(关键帧的)及3D地图点位置,这会在巡航期间累积一定量的漂移。在SLAM的传统实现方式中,LCD以固定的周期性速率运行,因此在用户根本没有移动或者当用户没有与增强现实(AR)应用交互时的情况下引起不必要的错误警报。不必要地运行LCD也会导致功耗的增加。
因此,需要改进的LCD操作以改进智能眼部佩戴物或具有相机的用于跟踪对象的其它装置的效率。
发明内容
技术问题
本发明的实施例提供一种用于执行LCD以改进智能眼部佩戴物或具有相机的用于跟踪对象的其它装置的效率的方法及设备。
问题的解决方案
根据本公开的实施例,公开了一种执行回环检测的方法。该方法包括:识别具有相机的装置的移动;基于所识别的装置的移动来确定是否执行回环检测,并且当确定执行回环检测时,启用回环检测。
根据本公开的实施例,公开了一种用于执行回环检测的设备。该设备包括至少一个传感器;以及至少一个处理器,被耦接以从所述至少一个传感器接收数据,其中,所述至少一个处理器被配置为识别具有相机的装置的移动,基于所识别的装置的移动来确定是否执行回环检测,并且当确定执行回环检测时启用回环检测。
附图说明
在附图中示出了本公开,贯穿附图,相同的附图标记指示各个附图中的对应部分。从以下参考附图的描述中将更好地理解本文的实施例,其中:
图1是根据本公开的实施例的具有相机的电子装置的示例性框图;
图2是示出根据本公开的实施例的与利用相机跟踪对象和回环检测相关联的块的示例性图;
图3是根据本公开的实施例的用于实现回环检测的电路的示例性图;
图4是示出根据本公开的实施例的与传统回环检测电路相比的自适应回环检测的操作的时序图;
图5是示出根据本公开的实施例的自适应回环检测的示例的流程图;
图6是根据本公开的实施例的包括用于实现自适应回环检测的前置滤波器的电路的示例性图;
图7是示出根据本公开的实施例的与传统回环检测相比的自适应回环检测的操作的另一时序图;
图8是根据本公开的实施例的用于实现自适应回环检测并且包括后置滤波器的电路的示例性图;
图9是示出根据本公开的实施例的传统高速率和低速率周期性回环检测与自适应回环检测的比较的图表;以及
图10是示出根据本公开的实施例的实现自适应回环检测的方法的流程图。
具体实施方式
参考在附图中示出并在以下描述中详述的非限制性实施例,更全面地解释本文的实施例及其各种特征和有利细节。省略了对公知部件和处理技术的描述,以免不必要地模糊本文的实施例。此外,本文描述的各种实施例不一定是相互排斥的,因为一些实施例可以与一个或更多个其他实施例组合以形成新的实施例。除非另有说明,如本文所用的术语“或”是指非排他性的或。本文使用的示例仅旨在便于理解可以实践本文的实施例的方式,并且进一步使本领域技术人员能够实践本文的实施例。因此,示例不应被解释为限制本文的实施例的范围。
在本领域中的传统是可以用执行所述的一个或更多个功能的块来描述和示出实施例。在本文中可以被称为单元或模块等的这些块由模拟或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子部件、有源电子部件、光学部件、硬连线电路等)物理地实现,并且可以视需要由固件和软件驱动。例如,电路可以实施在一个或更多个半导体芯片中,或者实施在诸如印刷电路板等的基板支撑件上。构成块的电路可以由专用硬件实现,或者由处理器(例如,一个或更多个编程的微处理器和相关联的电路)实现,或者由执行块的一些功能的专用硬件和执行块的其他功能的处理器的组合实现。在不脱离本公开的范围的情况下,实施例的每个块可以物理地分成两个或更多个相互作用的和离散的块。同样地,在不脱离本公开的范围的情况下,实施例的块可以物理地组合成更复杂的块。
附图用于帮助容易地理解各种技术特征,并且应当理解,本文呈现的实施例不受附图的限制。因此,本公开应当被解释为扩展到除了在附图中特别阐述的那些之外的任何改变、等同和替代。尽管本文可以使用术语第一、第二等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语通常仅用于将一个元件与另一个元件区分开。
本文使用的诸如“第一”、“第二”等术语可以指代本公开的各种实施例的各种元件,但不限制这些元件。例如,“第一用户装置”和“第二用户装置”可以指示不同的用户装置,而不管其顺序或优先级。例如,“第一用户装置”和“第二用户装置”指示不同的用户装置。例如,在不脱离本公开的范围的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。
根据情况,本文使用的表述“被配置为”可以用作例如表述“适合于”、“具有……的能力”、“被设计为”、“适于”、“被制造为”或“能够”。术语“被配置为”不一定仅意指在硬件中“专门设计为”。相反,表述“被配置为…的装置”可以表示该装置“能够”与另一装置或其他组件一起操作。例如,“被配置为(或设置为)执行A、B和C的处理器”可以表示用于执行相应操作的专用处理器(例如,嵌入式处理器)或通过执行存储在存储器装置中的一个或更多个软件程序来执行相应操作的通用处理器(例如,中央处理器(CP U)或应用处理器(AP))。
LCD确定在具有相机的装置穿越特定区域的过程期间先前什么时候已经看到当前场景。如果先前已经看到该场景,则认为已经检测到环路,并且可以执行某些处理,诸如基于当前检测到的内容来改善姿态估计的全局光束法平差。该方法和设备可以实现自适应LCD,该自适应LCD可以是例如事件驱动的LCD,并且解决了基于例如用户运动、用户与AR应用的交互以及正在执行的特定AR应用何时触发LCD的问题。一些实施方案包含在使用AR应用程序时监测用户运动以决定何时启用/禁用LCD,在使用AR应用程序时监测用户交互以决定何时启用/禁用LCD,以及监测AR应用特定决策的使用以决定何时启用/禁用LCD。
现在参考附图,更具体地参考图1至图10,其中类似的附图标记在整个附图中始终表示相应的特征,示出了优选实施例。
首先转到图1,示出了具有多个相机的电子装置的框图。示例性电子装置100可以是具有一个或更多个相机的任何类型的装置。电子装置100可以包括耦接到多个相机104和105的处理器102。虽然示出了相机104和105,但是应当理解,相机包括图像记录装置(诸如图像传感器),并且相机可以彼此独立或者可以共享电路。相机可以是HMD的一部分,其中一个相机可以用于提供场景的视图,并且另一个相机可以用于执行HMD的用户眼睛的眼动跟踪(即,移动和观察方向)。电子装置100可以是用于执行包括SLAM的位置跟踪的任何类型的装置,诸如可穿戴装置或其他机器人装置。因此,处理器102可以包括用于执行包括SLAM的位置跟踪的块,并且将参考图2详细描述块的配置。
处理器102是集成电子电路,诸如例如ARM处理器、X86处理器、MI PS处理器、图形处理单元(GPU)、通用GPU或被配置为执行存储在存储器中的指令的任何其他处理器。处理器102可以在一个或更多个处理装置中实现,其中的处理器可以是不同的。例如,电子装置可以包括例如中央处理器(CPU)以及GPU。
处理器102可以耦接到用于向用户显示信息的显示器106。处理器102还可以耦接到存储器108,存储器108允许存储与数据相关的信息或与实现目标相关的信息。存储器108可以作为处理器102的一部分来实现,或者可以在处理器的任何高速缓存存储器之外实现,这是众所周知的。存储器108可以包括任何类型的存储器,诸如固态硬盘(SSD)、闪存、只读存储器(R OM)或提供长期存储的任何其他存储器元件,其中的存储器可以是电子装置的任何类型的内部存储器或电子装置可访问的外部存储器。
还提供用户接口110以使用户能够输入数据和接收数据。一些活动跟踪可能需要用户的手动输入。用户接口可以包括通常在便携式通信装置上使用的触摸屏用户接口,以及诸如扬声器和麦克风的其他输入/输出(I/O)元件。用户接口还可以包括用于输入或输出数据的装置,该装置可以通过电连接器或通过无线连接(诸如蓝牙或近场通信(NFC)连接)附接到移动装置。
处理器102还可以耦接到接收输入数据或提供数据的其他元件,包括各种传感器111、惯性测量单元(IMU)112和用于活动跟踪的全球定位系统(G PS)装置113。例如,惯性测量单元(IMU)112可以提供与装置的运动或方位相关的各种信息,而GPS 113提供与装置相关联的位置信息。作为示例,可以是移动装置的一部分或耦接到移动装置的传感器可以包括光强度(例如,环境光或UV光)传感器、接近传感器、环境温度传感器、湿度传感器、心率检测传感器、皮肤电反应传感器、皮肤温度传感器、气压计、速度计、高度计、磁力计、霍尔传感器、陀螺仪、WiFi收发器或可以向移动装置提供信息的任何其他传感器。处理器102可以通过输入/输出(I/O)端口114或耦接到天线118的收发器116来接收输入数据。
现在转到图2,示例性图示出了与用于执行包括SLAM的位置跟踪的处理器200相关联的块。也就是说,与处理器200相关联的块执行捕获图像并实现与跟踪操作相关联的回环检测。处理器200包括初始化块202,该初始化块202的输出耦接到跟踪块204。初始化块202通过提取例如在跟踪阶段期间跟踪的特征来初始化装置以执行诸如由映射块206进行的映射操作的操作。在将一定数量的帧写入存储器并且可以跟踪所提取的特征之后,可以由跟踪块204执行诸如SLAM跟踪处理的跟踪操作。
作为映射操作的一部分,可以执行包括LCD的重新定位。通常在执行跟踪的装置的漂移超过某个值或者特征丢失时(诸如灯光熄灭或存在遮挡时)执行重新定位。LCD使得相机在穿越路径时能够识别对象或位置,并且可以由重新定位块208用作重新定位的一部分。LCD块210能够进行自适应回环检测,其中,可以根据与特定AR应用的用户相关联的某些标准来启用或禁用回环检测,如下面将更详细描述的。LCD确定在穿越该特定区域的过程中在先前何时已经看到过当前场景。如果先前已经看到过该场景,则认为已经检测到环路,并且可以执行某些处理(诸如全局光束法平差)以完善姿态估计。根据一些实施方案,自适应地禁用或启用装置的回环检测可包括基于装置的模式禁用回环检测。例如,模式可以是特定AR应用,其中,回环检测可以基于来自AR应用的应用层的输入,诸如与AR应用的操作相关联的环境历史和/或位置设置。
现在转到图3,示出了用于实现回环检测的电路300的示例性图,回环检测可以在回环检测块208中实现。电路300接收LCD启用信号,该信号可以响应于在需要LCD操作的眼部佩戴物上运行的特定应用,以自适应地启用LCD操作。将来自装置(例如眼部佩戴物或用于跟踪图像的其它装置)的相机的图像数据提供到处理电路302。处理电路302包括特征提取块306,其中,提取的特征在特征匹配块308中被匹配。根据一个实施方式,将所提取的特征与由具有词汇表312和数据库314的存储器310生成的值进行比较。如下面将更详细描述的,存储器310可以包括具有某些特征的预先存储的图像,或者具有在装置穿越不同路径时添加的特征的图像。匹配确定块316将基于特征匹配处理的结果生成输出信号。如下面将更详细描述的,将存储在存储器中的每个特征与图像数据的特征进行比较以确定匹配。
如果在特征匹配块308中比较的特征被匹配确定块316确定为匹配,则将匹配指示提供给几何验证块318,几何验证块318执行所比较的特征的几何验证。更具体地,虽然可以在很少的空间上下文的情况下进行匹配比较,但是可以从另一个视角(诸如从不同的角度)来执行另一验证以确定对象是否匹配。如果确定存在特征匹配和几何验证两者,则生成已检测到环路信号。
然而,如果特征匹配或几何验证失败,如分别由匹配确定块316和几何验证确定块320生成的输出所指示的,则控制电路322启用写入存储器以便能够存储新特征。根据一个实施方式,存储在存储器中的数据被顺序地访问并与图像数据匹配,以确定生成图像数据的相机是否处于环路中(即,识别先前查看的特征),在这种情况下可以实现LCD。根据另一实施方案,可将存储器中的图像(或包括特征的图像的部分)与输入数据图像进行比较。例如,假设存在N个图像,其中每个图像被编码为词汇表中的M个特征向量。当相机捕获输入图像帧时,从其中提取图像特征(通常为M个),并将其与N个图像中的每一个图像的M个特征匹配。因此,对于N个图像中的每一个图像,将存在N个存储器读取启用信号,该存储器读取启用信号被生成以产生每个图像的M个特征向量。然后在特征匹配阶段将这些特征向量与输入图像的M个特征向量进行比较。
更具体地,匹配确定块316和几何验证确定块320的输出(例如逻辑1)被提供给OR门324,该输出指示在特征点匹配期间不存在匹配,或者匹配的特征点的几何验证失败。可产生OR门324的输出(例如,逻辑1)以指示应执行写入,其中将存储器写入启用(MemWrEnable)及关键帧(或关键帧的包括关键帧的特征的相关部分)提供到存储器。根据一个实施方式,存储器可以包括词汇表312和数据库314,词汇表312可以是包括预定特征的离线部分,数据库314可以比较添加到存储器的图像数据的新特征。应当注意,图3提供了用于执行LCD的电路的一个示例,但是可以用用于执行LCD的任何类型的电路来实现执行LCD的设备和方法。
现在转到图4,时序图示出了与传统回环检测电路相比的自适应回环检测的操作。如图4所示,周期性地运行LCD的传统装置不仅在没有事件发生时运行LCD,而且还可能错过事件。例如,当LCD在如图4所示的周期性时间运行时,事件B和事件D将被遗漏,而LCD将在事件A和事件B之间不必要地运行,并且在事件C和事件D之间运行两次。也就是说,传统装置中的LCD周期性地运行,并且对可能不是周期性的用户事件不可知。结果,错过了事件并且需要不必要的功率。与此相反,可以使用图3的电路通过自适应地控制LCD启用信号来实现的自适应LCD,例如,基于某些事件的检测自适应地运行LCD。例如,可以基于某些事件的检测针对事件A和事件B以及事件D运行LCD,但是可以不针对事件C和事件E运行LCD。也就是说,尽管检测到事件C和事件E,但是有意地不针对这些事件运行LCD。漂移由虚线示出,其中在累积漂移达到某一点之后发生重新定位处理。
因此,如图4所示,自适应LCD在没有检测到事件时将不执行LCD,并且即使在检测到事件时也可以不执行LCD。例如,取决于运动的类型、用户的其他动作或者正在运行的应用(例如某种类型的AR应用),响应于检测到某个事件可以执行或不执行LCD,如下面将更详细描述的。参考图5提供了与自适应LCD相关的其他细节。
现在转到图5,流程图500示出了回环检测的自适应操作。AR应用程序可以设置模式来实现异步或同步LCD。在同步模式期间,装置将自适应地决定是否周期性地运行LCD,诸如基于时钟的预定计数。在异步模式期间,每当检测到满足某些预定标准的事件时,就可以执行LCD。
用户运动过滤器可用于检测用户在使用AR应用时是否正在移动。如果检测到有效的用户运动,则打开环路启用信号并执行LCD。用户动作过滤器也可用于检测用户是否已在AR场景中创建锚点。可以基于场景中的锚点的确定来打开环路启用信号。根据一个实施方式,如果删除了所有锚点,则关回环路启用信号。也就是说,由于不存在要锚定到真实场景的增强对象,因此不需要执行LCD。
具体参考图5的流程图,在运行AR应用之后,在框502确定正在使用的AR应用的模式。如果正在使用自适应同步模式,则可以在框504运行计数器以确定何时运行LCD,并且在框506确定计数率。如果计数等于计数率,则在框508确定是否已经存在用户动作,在这种情况下,在框510识别用户动作(其中用户动作可以与创建或删除锚点相关联)。如果在框512已经插入了锚点,则断言环路启用(即,执行环路检测),并且处理返回到框502的A R应用监测的开始。
如果没有插入锚点,则在框514确定是否存在锚点删除。如果不存在,则断言环路禁用,并且处理返回到框502的开始。如果存在锚点删除,则在框516确定锚点的个数是否等于零。如果不是,则断言环路启用,并且处理返回到框502的开始。如果是,则断言环路禁用,并且处理返回到框502的开始。
如果在框508没有用户动作,则还在框518检查用户运动,其中,用户运动可用于确定用户是否正在穿越路径。如果确定不存在用户运动,则断言环路禁用,并且处理返回到框502的开始。如果存在用户运动,则在框520识别用户运动,并且在框522确定是否存在平移。如果不是,则断言环路禁用,并且处理返回到框502的开始。如果在框522检测到平移,则在框524确定平移是否超过阈值。如果不是,则断言环路禁用,并且处理返回到框502的开始。如果是,则断言环路启用,并且处理返回到框502的开始。下面将参考图6更详细地描述用户动作和用户运动的具体示例。虽然图5的流程图公开了AR应用,但是应当理解,图5中描述的方法可以与使用相机的任何类型的应用一起使用来提供环路检测。
现在转到图6,示出了包括前置滤波器602的用于实现回环检测(诸如上文在图5中描述的回环检测)的电路的示例性图。前置滤波器602适于生成LCD启用信号以启用或禁用环路检测电路,诸如图3的环路检测电路。前置滤波器602接收各种输入以生成LCD启用信号,该LCD启用信号启用或禁用LCD操作以用作自适应LCD。更具体地,前置滤波器602接收启用前置滤波器操作的滤波器启用信号以及各种输入,从而使LCD操作自适应,其中,对各种输入进行处理以确定LCD启用信号是启用还是禁用LCD操作。
这里以AR应用过滤器为例示出的应用过滤器块604从AR应用接收输入。AR应用滤波器块的输出被提供给生成LCD启用信号的自适应LCD滤波器610。也就是说,启用/禁用LCD的需要可以基于AR应用而不同。例如,对于办公室AR应用,可能需要启用环路检测,但是对于健身房AR应用,可能不期望启用环路检测。自适应LCD允许AR应用的应用层确定是启用还是禁用LCD,并且还确定事件驱动LCD应该同步运行还是异步运行。
用户动作过滤器块606接收来自用户的输入(诸如用户的头部运动)以识别房间中的对象。用户动作滤波器块的输出被提供给生成LCD启用信号的自适应LCD滤波器610。作为示例,AR应用可以用于学习新的烹饪食谱。如果用户在厨房灶具前面打开菜谱应用并向左转,则可以创建一个增强的菜谱书形式的锚点。自适应LCD可以在用户已经创建锚点之后检测环路,即使用户可能是静止的。也就是说,即使没有用户运动,也响应于用户动作而检测到环路。
例如,可以用于AR应用的用户运动滤波器块608可以从AR应用接收输入。用户运动滤波器块的输出被提供给生成LCD启用信号的自适应LCD滤波器610。作为示例,AR应用可以对走过杂货店并停在特定过道以检查一些商品的用户进行跟踪。因为用户是静止的,所以LCD不需要运行,因为没有潜在的环路要检测。相反,在用户运行用于食谱的AR应用的情况下,即使当用户静止时,LCD也可以基于用户的头部运动来运行。由前置滤波器602生成的LCD启用信号用于启用LCD,这可以使用如上所述的图3的电路或一些其他电路来实现。
还应当注意,如果启用并且检测到环路,则即使不执行LCD,也可以触发全局光束法平差。也就是说,在一些情况下,可以基于用于确定是否启用LCD的标准来执行全局光束法平差,如下面将参考图8更详细地描述的。
现在转到图7,另一时序图示出了自适应回环检测的操作。在传统装置的高速率周期性LCD中,捕获所有事件,但是LCD在没有事件发生时(即,在事件A和B之间以及在事件B和C之间)时常运行,因此导致功率损耗。相比之下,在另一传统装置的低速率周期性LCD下,LCD运行频率降低,导致功率降低,但错过事件D。然而,如使用自适应LCD所示,LCD仅在事件发生时运行,因此仅在必要时使用功率而不会丢失事件。自适应LCD可以基于如上所述的前置滤波器602的确定或其他确定来确定检测事件A-事件E。例如,如上面参考图4所述,即使当检测到事件时,LCD也可以不运行。
现在转到图8,示出了包括后置滤波器的用于实现回环检测的电路的示例性示图。除了如上文参考图3所描述的由电路300产生的环路检测信号之外,后置滤波器802可类似于图6的前置滤波器602接收各种输入以确定是否在跟踪操作(例如SLAM)期间执行其它功能。更具体地,后置滤波器802接收启用后置滤波器的环路检测信号以及各种输入,其中,各种输入被处理以确定是否启用执行跟踪(诸如执行全局BA)的电路的功能的操作。
后置滤波器802的应用滤波器块804(其可以例如用于AR应用)从AR应用接收输入。AR应用滤波器块804的输出被提供给自适应LCD后置滤波器810,该自适应LCD后置滤波器810生成已检测到环路信号,该已检测到环路信号可用于确定是否执行某个功能,诸如全局BA。启用/禁用LCD的需要可以基于AR应用而不同。如上面关于图6所阐述的,对于办公室AR应用,可能需要启用环路检测,而对于健身房AR应用,可能不期望启用环路检测。自适应LCD允许AR应用的应用层做出该确定。用户动作滤波器块806接收来自用户的输入,其中用户动作滤波器块的输出被提供给生成已检测到环路信号的自适应LCD滤波器810,如上面参考图6所述。最后,例如可以用于AR应用的用户运动滤波器块808接收来自AR应用的输入,如上面参考图6所述,并且还可以用于生成已检测到环路信号。
因此,由诸如电路300的环路检测电路生成的环路检测电路可以用于生成功能启用信号,该功能启用信号可以用于诸如全局BA的功能。取决于SL AM引擎,全局BA优化器可以是或可以不是回环检测的一部分。如果通过回环检测检测到环路,则可以基于用户事件(诸如通过后置滤波器802)来启用/禁用全局光束法平差。图8的实现方式允许启用/禁用LCD以及控制SL AM内的全局BA块。虽然前置滤波器602将处于静态“始终开启”状态,但是后置滤波器802通常会在检测到环路时被动态地“唤醒”。
现在转到图9,图表示出了传统回环检测与自适应回环检测的比较。如图9所示,根据本公开的自适应LCD不仅比低速率周期性LCD响应更快,而且比高速率周期性LCD需要更少的功率。用例分析还确定自适应LCD降低功耗并改善操作。考虑到用户走过杂货店并在商店中度过10分钟的AR应用,用户在不同的过道停留的同时可能会静止约2分钟。假设传统LCD解决方案以3Hz的固定速率(每秒3次)运行,而自适应LCD在用户正在移动的情况下以3Hz运行,并且在用户静止的情况下以1Hz的最小必要速率(即,触发重新定位)运行,可以基于用户运动、用户动作和AR应用显著减少检测到的错误环路的数量。此外,可以显著降低功耗,因为回环检测可以自适应地运行而不是以固定的周期性速率运行。
表1示出了当使用预定数据集在Galaxy S7电话上运行时SL AM引擎(ORB-SLAM2)的性能分解。如表中所示,最后一行给出由回环检测(LC)处理的帧、由回环检测消耗的累积时间和每帧处理时间。关键帧与总帧的比率是375/2965=0.13。所有这375个关键帧都用在回环(LC)线程中。当SLAM运行大约600秒时,其中大约10秒由回环线程使用,则10/600=0.0167是LC占用的时间片段。SLAM的总功耗为4.5W-4.3W=200mW。因此,表1的信息用于计算功率节省,其中关键帧与总帧的比率为0.1,并且其中用户运动被认为自适应地改变LC的速率。如果假设传统LCD以3Hz(例如每秒3次)运行,而自适应LCD在用户正在移动的情况下以3Hz运行,但是在用户静止的情况下以1Hz的最小必要速率(以触发重新定位)运行,则错误警报从使用传统LCD的360减少到使用自适应LCD的120,并且LCD运行的次数从使用传统LCD的1800减少到使用自适应LCD的1560。计算功率也可以降低43微瓦(μW),存储器功率要求降低30μW。
表1
还应当注意,自适应LCD可以在回环检测的图像到图像匹配框架以及诸如地图到地图匹配和图像到地图匹配的其他框架中实现,因为即使用户是静止的或锚点被删除,本地地图也将始终可用。
现在转到图10,流程图示出了实现自适应回环检测的方法。更具体地,在框1002识别具有相机的装置的移动。所述装置可为(例如)用于实施SL AM的装置。在框1004确定正在使用的AR应用的类型。如上所述,用户的某些动作或运动可能影响LCD是否被禁用。在框1006分析用户动作,并且在框1008分析用户运动。例如,与头部的移动相关联的用户动作以识别与特定活动相关联的动作。还可以分析用户运动以确定用户的位置的路径或其他变化。在框1010,可以基于AR应用的类型、用户动作或用户运动中的至少一个,使用装置的处理器自适应地启用或禁用LCD。
也就是说,装置基于所识别的移动来确定是否执行回环检测。以及当确定执行所述回环检测时,所述装置启用所述回环检测。
图10的方法的各种元件可以使用如所描述的图1-图8的电路或者使用一些其他合适的电路来实现。虽然描述了该方法的特定元件,但是应当理解,可以根据图1-图8的公开内容来实现该方法的其他元件或与元件相关的其他细节。
因此,可以理解,已经描述了用于实现自适应LCD的新电路和方法。本领域技术人员将理解,将看到存在包含所公开的发明的许多替代方案和等同物。因此,本发明不受前述实施方式的限制,而是仅受所附权利要求的限制。
Claims (15)
1.一种执行回环检测的方法,所述方法包括:
识别具有相机的装置的移动;
基于所识别的装置的移动来确定是否执行回环检测;以及
当确定执行回环检测时,启用回环检测。
2.根据权利要求1所述的方法,其中,识别装置的移动的步骤包括跟踪用户使用装置的动作。
3.根据权利要求2所述的方法,还包括:
响应于用户与场景的交互,基于锚点的检测禁用装置的回环检测。
4.根据权利要求1所述的方法,其中,识别具有相机的装置的移动的步骤包括跟踪头戴式装置的用户的运动。
5.根据权利要求1所述的方法,还包括:
基于头戴式装置的平移或旋转中的至少一个来禁用头戴式装置的回环检测。
6.根据权利要求1所述的方法,还包括:
基于装置的模式禁用回环检测。
7.根据权利要求1所述的方法,其中,识别具有相机的装置的移动的步骤包括同步地检测装置的移动。
8.根据权利要求1所述的方法,其中,识别具有相机的装置的移动的步骤包括异步地检测装置的移动。
9.根据权利要求1所述的方法,还包括:实现前置滤波器,其中,基于所识别的装置的移动来确定是否执行回环检测的步骤是基于增强现实(AR)应用。
10.根据权利要求1所述的方法,还包括:实现后置滤波器,其中,当检测到环路时可以执行全局光束法平差。
11.一种用于执行回环检测的设备,所述设备包括:
至少一个传感器;以及
至少一个处理器,被耦接以从所述至少一个传感器接收数据,
其中,所述至少一个处理器被配置为:
识别具有相机的装置的移动;
基于所识别的装置的移动来确定是否执行回环检测,以及
当确定执行回环检测时,启用回环检测。
12.根据权利要求11所述的设备,其中,识别装置的移动的操作将跟踪用户使用装置的动作。
13.根据权利要求11所述的设备,其中,所述至少一个处理器还被配置为响应于用户与场景的交互基于锚点的检测禁用装置的回环检测。
14.根据权利要求11所述的设备,其中,所述至少一个处理器还被配置为基于头戴式装置的平移或旋转中的至少一个来禁用头戴式装置的回环检测。
15.根据权利要求11所述的设备,其中,所述至少一个处理器同步地或异步地识别装置的移动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/231,554 | 2018-12-23 | ||
US16/231,554 US10991117B2 (en) | 2018-12-23 | 2018-12-23 | Performing a loop closure detection |
PCT/KR2019/004454 WO2020138596A1 (en) | 2018-12-23 | 2019-04-12 | Method and device for performing a loop closure detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112955901A true CN112955901A (zh) | 2021-06-11 |
Family
ID=71098634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980070722.5A Pending CN112955901A (zh) | 2018-12-23 | 2019-04-12 | 用于执行回环检测的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10991117B2 (zh) |
EP (1) | EP3834133A4 (zh) |
CN (1) | CN112955901A (zh) |
WO (1) | WO2020138596A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024041464A1 (zh) * | 2022-08-22 | 2024-02-29 | 先临三维科技股份有限公司 | 回环路径的预测方法及装置、非易失性存储介质、处理器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950597B (zh) * | 2020-07-15 | 2022-10-18 | 重庆邮电大学 | 机器人基于原图光照不变图词袋模型改进的闭环检测方法 |
CN112085788B (zh) * | 2020-08-03 | 2024-04-19 | 优必康(青岛)科技有限公司 | 回环检测方法、装置、计算机可读存储介质及移动装置 |
US20230177780A1 (en) * | 2021-12-06 | 2023-06-08 | Htc Corporation | Tracking device, head-mounted display device, and virtual reality system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150262029A1 (en) * | 2014-01-09 | 2015-09-17 | Qualcomm Incorporated | Sensor-based camera motion detection for unconstrained slam |
WO2016095057A1 (en) * | 2014-12-19 | 2016-06-23 | Sulon Technologies Inc. | Peripheral tracking for an augmented reality head mounted device |
JP2017146952A (ja) * | 2016-02-15 | 2017-08-24 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法およびプログラム |
US20170337749A1 (en) * | 2016-05-18 | 2017-11-23 | Google Inc. | System and method for fault detection and recovery for concurrent odometry and mapping |
US20180113506A1 (en) * | 2016-10-25 | 2018-04-26 | Oculus Vr, Llc | Position tracking system that exploits arbitrary configurations to determine loop closure |
WO2018140701A1 (en) * | 2017-01-27 | 2018-08-02 | Kaarta, Inc. | Laser scanner with real-time, online ego-motion estimation |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3695930B2 (ja) | 1998-02-05 | 2005-09-14 | 株式会社東芝 | 画像監視装置 |
KR101177271B1 (ko) | 2010-01-05 | 2012-08-24 | 주식회사 코아로직 | 움직임 검출 장치와 방법, 및 그 검출장치를 포함한 영상처리장치 |
KR20120046614A (ko) | 2010-11-02 | 2012-05-10 | 국민대학교산학협력단 | 네비게이션 장치 및 방법 |
US8913055B2 (en) | 2011-05-31 | 2014-12-16 | Honda Motor Co., Ltd. | Online environment mapping |
US9739891B2 (en) | 2011-09-30 | 2017-08-22 | Echo Ridge Llc | System and method of using measurements of opportunity with vector tracking filters for improved navigation |
US10262462B2 (en) * | 2014-04-18 | 2019-04-16 | Magic Leap, Inc. | Systems and methods for augmented and virtual reality |
CN104471558B (zh) | 2013-06-28 | 2017-11-07 | 英特尔公司 | 用于重访位置检测的系统和方法 |
US9952042B2 (en) * | 2013-07-12 | 2018-04-24 | Magic Leap, Inc. | Method and system for identifying a user location |
US10617271B2 (en) | 2013-12-19 | 2020-04-14 | Aktiebolaget Electrolux | Robotic cleaning device and method for landmark recognition |
EP3092790B1 (en) * | 2014-01-07 | 2020-07-29 | ML Netherlands C.V. | Adaptive camera control for reducing motion blur during real-time image capture |
CN112651288B (zh) | 2014-06-14 | 2022-09-20 | 奇跃公司 | 用于产生虚拟和增强现实的方法和系统 |
US10180734B2 (en) | 2015-03-05 | 2019-01-15 | Magic Leap, Inc. | Systems and methods for augmented reality |
KR102403504B1 (ko) | 2015-11-26 | 2022-05-31 | 삼성전자주식회사 | 이동 로봇 및 그 제어 방법 |
JP6323439B2 (ja) | 2015-12-17 | 2018-05-16 | カシオ計算機株式会社 | 自律移動装置、自律移動方法及びプログラム |
KR20170099137A (ko) | 2016-02-23 | 2017-08-31 | 한국외국어대학교 연구산학협력단 | 지도 생성 장치 및 방법 |
US10217221B2 (en) | 2016-09-29 | 2019-02-26 | Intel Corporation | Place recognition algorithm |
WO2018134686A2 (en) | 2017-01-19 | 2018-07-26 | Mindmaze Holding Sa | Systems, methods, device and apparatuses for performing simultaneous localization and mapping |
-
2018
- 2018-12-23 US US16/231,554 patent/US10991117B2/en active Active
-
2019
- 2019-04-12 CN CN201980070722.5A patent/CN112955901A/zh active Pending
- 2019-04-12 WO PCT/KR2019/004454 patent/WO2020138596A1/en unknown
- 2019-04-12 EP EP19903148.5A patent/EP3834133A4/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150262029A1 (en) * | 2014-01-09 | 2015-09-17 | Qualcomm Incorporated | Sensor-based camera motion detection for unconstrained slam |
WO2016095057A1 (en) * | 2014-12-19 | 2016-06-23 | Sulon Technologies Inc. | Peripheral tracking for an augmented reality head mounted device |
JP2017146952A (ja) * | 2016-02-15 | 2017-08-24 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法およびプログラム |
US20170337749A1 (en) * | 2016-05-18 | 2017-11-23 | Google Inc. | System and method for fault detection and recovery for concurrent odometry and mapping |
US20180113506A1 (en) * | 2016-10-25 | 2018-04-26 | Oculus Vr, Llc | Position tracking system that exploits arbitrary configurations to determine loop closure |
WO2018140701A1 (en) * | 2017-01-27 | 2018-08-02 | Kaarta, Inc. | Laser scanner with real-time, online ego-motion estimation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024041464A1 (zh) * | 2022-08-22 | 2024-02-29 | 先临三维科技股份有限公司 | 回环路径的预测方法及装置、非易失性存储介质、处理器 |
Also Published As
Publication number | Publication date |
---|---|
WO2020138596A1 (en) | 2020-07-02 |
EP3834133A1 (en) | 2021-06-16 |
EP3834133A4 (en) | 2021-10-13 |
US20200202550A1 (en) | 2020-06-25 |
US10991117B2 (en) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112955901A (zh) | 用于执行回环检测的方法和装置 | |
CN111602140B (zh) | 分析由头戴式设备的相机记录的图像中的对象的方法 | |
KR102039427B1 (ko) | 스마트 글라스 | |
US10007349B2 (en) | Multiple sensor gesture recognition | |
KR102649197B1 (ko) | 그래픽 객체를 표시하기 위한 전자 장치 및 컴퓨터 판독 가능한 기록 매체 | |
US20170269752A1 (en) | Method for recognizing biometrics information and electronic device thereof | |
KR102558473B1 (ko) | 이미지를 표시하기 위한 방법 및 그 전자 장치 | |
CN108234750B (zh) | 用于检测盖设备的打开和闭合的电子设备及其操作方法 | |
KR20170138667A (ko) | 어플리케이션을 활성화하는 방법 및 이를 제공하는 전자 장치 | |
KR102548199B1 (ko) | 전자 장치 및 전자 장치의 시선 추적 방법 | |
EP2992403B1 (en) | Depth sensors | |
KR20180089085A (ko) | 어플리케이션을 전환하기 위한 방법 및 그 전자 장치 | |
US9223415B1 (en) | Managing resource usage for task performance | |
US20170052673A1 (en) | Gestural, motion and speech interface control method for 3D audio-video data navigation on handheld devices | |
US20230300464A1 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
US20200105039A1 (en) | Low Power Virtual Reality Presence Monitoring and Notification | |
US9866753B2 (en) | Electronic device having camera and method for operating the same | |
CN109791432A (zh) | 推迟影响图形用户界面的信息的状态改变直至不专注的情况期间 | |
KR20210000671A (ko) | 헤드 포즈 추정 | |
US10551195B2 (en) | Portable device with improved sensor position change detection | |
US10852138B2 (en) | Scalabale simultaneous localization and mapping (SLAM) in virtual, augmented, and mixed reality (xR) applications | |
US11683585B2 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
US9911237B1 (en) | Image processing techniques for self-captured images | |
US8630458B2 (en) | Using camera input to determine axis of rotation and navigation | |
US9761009B2 (en) | Motion tracking device control systems and methods |
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 |