CN108604010B - 用于校正设备中的漂移的方法和该设备 - Google Patents
用于校正设备中的漂移的方法和该设备 Download PDFInfo
- Publication number
- CN108604010B CN108604010B CN201780008559.0A CN201780008559A CN108604010B CN 108604010 B CN108604010 B CN 108604010B CN 201780008559 A CN201780008559 A CN 201780008559A CN 108604010 B CN108604010 B CN 108604010B
- Authority
- CN
- China
- Prior art keywords
- keypoint
- center
- pose
- electronic device
- center pose
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/17—Image acquisition using hand-held instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/803—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
- G06V10/993—Evaluation of the quality of the acquired pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Studio Devices (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
描述了用于校正电子设备中的漂移的方法。该方法包括:确定所述电子设备的第一中心姿态;当所述第一中心姿态相对于报告的中心姿态在容限内时,使用传感器结合在处理器上操作的计算机视觉来跟踪场景内的至少一个关键点;确定基于所述第一中心姿态和所述至少一个关键点所导出的中心姿态;将所述传感器禁用预定时间;在所述预定时间之后,确定第二中心姿态相对于所述导出的中心姿态是否在所述容限内;当所述第二中心姿态相对于所述导出的中心姿态在所述容限内时,使用所述传感器来跟踪所述至少一个关键点;以及当所述第二中心姿态与所述导出的中心姿态之间存在差异时,调整所述第二中心姿态。
Description
技术领域
本发明的实施例一般地涉及便携式电子设备,具体地涉及一种电子设备和校正该电子设备中的漂移的方法。
背景技术
未采用外部***进行跟踪的虚拟现实设备和其他头戴式显示器(HMD)设备依赖HMD中的传感器或HMD中使用的器件来进行头部取向跟踪。目前的HMD设备技术存在的一个问题是一些传感器可能会随着时间而漂移。例如,当HMD设备改变温度时,当前的HMD设备遭受惯性测量单元(IMU)漂移,其中现实世界中的HMD的旋转可能未被登记在虚拟世界中。
发明内容
技术问题
解决漂移的传统技术需要太多的计算机能力和能量,导致用户体验受损。用户体验受损的示例可包括用于绘制的资源减少、电池寿命缩短以及热量增加,热量增加往往会加剧IMU的错误。
因此,校正电子设备中的漂移的设备和方法是有益的。
问题的解决方案
在第一实施例中,一种方法包括确定电子设备的第一中心姿态(center pose)。该方法还包括:当所述第一中心姿态相对于报告的中心姿态在容限内时,使用传感器结合处理器上的计算机视觉来跟踪场景内的至少一个关键点。该方法包括:确定基于所述第一中心姿态和所述至少一个关键点所导出的中心姿态。然后,该方法包括:将所述传感器禁用预定时间。之后,该方法包括:在所述预定时间之后,确定第二中心姿态相对于所述导出的中心姿态是否在容限内。然后,该方法可以在所述第二中心姿态相对于所述导出的中心姿态在所述容限内时使用所述传感器来跟踪所述至少一个关键点。然后,该方法能够在所述第二中心姿态与所述导出的中心姿态之间存在差异时调整所述第二中心姿态。
在第二实施例中,被配置为校正漂移的电子设备包括:处理器;耦接至所述处理器以显示场景的显示器;以及耦接至所述处理器的运动传感器,其中,所述运动传感器确定所述电子设备的第一中心姿态。如果所述第一中心姿态相对于报告的中心姿态在容限内,则耦接至所述处理器的相机跟踪场景内的至少一个关键点,其中,所述处理器确定基于所述第一中心姿态和第一关键点所导出的中心姿态。所述传感器被禁用预定时间。在所述预定时间之后,确定何时第二中心姿态相对于所述导出的中心姿态在所述容限内。如果所述第二中心姿态相对于所述导出的中心姿态在所述容限内,使用所述至少一个关键点来跟踪所述第二中心姿态;并且当所述第二中心姿态与所述导出的中心姿态之间存在差异时,调整所述第二中心姿态。
第三实施例包括存储有数据的非暂时性计算机可读存储介质,所述数据表示可由处理器执行以执行方法的指令。该方法还包括:当第一中心姿态相对于报告的中心姿态在容限内时,使用传感器结合处理器上的计算机视觉来跟踪场景内的至少一个关键点。该方法包括:确定基于所述第一中心姿态和所述至少一个关键点所导出的中心姿态。然后,该方法包括:将所述传感器禁用预定时间。之后,该方法包括:在所述预定时间之后,确定第二中心姿态相对于所述导出的中心姿态是否在所述容限内。然后,该方法可以在所述第二中心姿态相对于所述导出的中心姿态在所述容限内时使用所述传感器来跟踪所述至少一个关键点。然后,该方法可以在所述第二中心姿态与所述导出的中心姿态之间存在差异时调整所述第二中心姿态。
将通过考虑以下详细描述和权利要求来认识其他特征。
在进行下面的详细描述之前,阐述贯穿本专利文件所使用的某些词语和短语的定义会是有利的。术语“耦接”及其派生词是指两个或更多个元件之间的任何直接通信或间接通信,不管这些元件是否彼此物理接触。术语“发送”、“接收”和“通信”及其派生词包含直接通信和间接通信二者。术语“包括”和“包含”及其派生词意指包括,但并非限制。术语“或”是包含性的,意思是和/或。短语“与…相关联”及其派生词意指包括、包括在…内、与…互连、包含、包含在…内、连接至或与…连接、耦接至或与…耦接、可与…通信、与…协作、交错、并置、接近、接合至或与…接合、具有、具有…性质、具有到…的关系或与…具有关系等。术语“控制器”意指控制至少一种操作的任何设备、***或其部件。这种控制器可以用硬件或硬件和软件的组合和/或固件来实现。无论是本地还是远程,与任何特定控制器相关的功能都可以是集中式的或分布式的。当与一系列项目一起使用时,短语“至少一个”意指可以使用一个或更多个所列项目的不同组合,并且可能仅需要列表中的一个项目。例如,“A、B和C中的至少一个”包括以下组合中的任何一种:A、B、C、A和B、A和C、B和C、以及A和B和C。
此外,下面描述的各种功能可以由一个或更多个计算机程序来实现或支持,每个计算机程序均由计算机可读程序代码形成,并具体体现在计算机可读介质中。术语“应用”和“程序”是指适于在合适的计算机可读程序代码中实现的一个或更多个计算机程序、软件组件、指令集、过程、功能、对象、类、实例、相关数据或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,该计算机代码包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,例如,只读存储器(ROM、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)、或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括可以永久存储数据的介质以及可以存储数据并且稍后覆写数据的介质,例如,可重写光盘或可擦除存储设备。
贯穿本专利文件,提供了对其他某些词语和短语的定义。本领域的普通技术人员应当理解,在许多(如果不是大多数)情况下,这样的定义适用于这样定义的词语和短语的先前使用和未来使用。
附图说明
图1例示了头戴式电子设备的示例性框图;
图2例示了电子设备的示例性框图;
图3例示了示出校正电子设备中的漂移的方法的示例性流程图;
图4例示了示出确定HMD姿态是否在偏移容限内的方法的示例性流程图;
图5例示了示出查找场景中的视觉关键点的方法的示例性流程图;
图6例示了示出确定关键点分布的示例性流程图;以及
图7例示了示出校正电子设备中的漂移的另一种方法的示例性流程图。
具体实施方式
虽然本说明书包括定义本发明的视为新颖的一个或更多个实施方式的特征的权利要求,但是相信通过考虑描述并结合附图,将更好地理解电路和方法。虽然公开了各种电路和方法,但是应当理解,电路和方法仅仅是能够以各种形式实现的创造性布置的示例。因此,本说明书中公开的具体结构和功能细节不应被解释为限制性的,而仅仅作为权利要求的基础和作为用于教导本领域技术人员以几乎任何合适的详细结构来不同地采用创造性布置的代表性基础。另外,本文使用的术语和短语并不旨在是限制性的,而是提供对电路和方法的可理解描述。本发明的实施例以不会消耗太多的电力并降低设备性能的方式使用计算机视觉技术来解决“漂移”现象。目前计算机视觉技术在移动设备上的已知限制是需要大量计算机能力,因此损害了性能以及加剧了热量问题。本发明的实施例采用计算机视觉技术,诸如例如,单眼同时定位和地图创建(SLAM)或使用电子设备的相机或其他传感器的模式识别和跟踪。可以控制这些技术在不给***带来过大负担的情况下解决漂移问题。在持续提供电力的情况下,本发明通过简单地将复位定时器设置为零、空值(null)或完全绕过定时器而仍然是有效且可采用的。图1例示了电子设备的示例性框图,该电子设备在此被实现为头戴式电子设备。图1的头戴式电子设备100包括头部安装元件102,该头部安装元件102使能控制单元104固定到用户的头部。头部安装元件可以包括带子、可调节头带或使能HMD固定到用户头部的附接构件。控制单元104被配置为在穿戴头戴式电子设备100的用户所观看的屏幕上提供视觉体验。根据一些实施例,例如,头戴式设备的一些元件可以在便携式电子设备106(诸如智能电话的显示器)中实现。也就是说,下面阐述的实现电路和方法所需的元件能够被实现在头戴式电子设备的控制单元104以及便携式电子设备106中,或者分布在头戴式电子设备的控制单元104与便携式电子设备106之间。根据其他实施例,与电路和方法相关联的元件被实现在不需要便携式电子设备106的集成头戴式设备的控制单元中。
附接元件108可以用于将便携式电子设备106固定到控制单元104。附接元件108可以包括连接器机构(例如,微小USB、C型USB、闪电连接器等)。附接元件还可以包括将便携式电子设备保持到HMD的机构。这种机构的示例可以包括夹子、夹钳、可移除的盖子等。便携式电子设备可以例如是智能电话或具有显示器的其他类型的无线通信设备。相机110可以是便携式电子设备106的一部分,其允许头戴式电子设备用作使用相机来传递周围环境的图像的虚拟现实(VR)设备或增强现实(AR)设备。HMD还可以包括用户接口元件,这里被示为跟踪板112和控制按钮114,其可以使能取决于HMD的操作模式的选择操作。
虽然在图1中将具有用户可观看的显示器的电子设备示出为头戴式电子设备,但是应当理解,下面阐述的电路和元件能够在以下电子设备中实现:该电子设备不需要被安装到头部,但是能够被握持在用户手中以向用户提供视觉体验(例如可以是VR或AR体验)。这种设备可以是独立的设备或者可以具有便携式电子设备(诸如智能电话)。
图2例示了电子设备的示例性框图。具体地,设备200包括耦接至图像传感器204的处理器电路202。处理器202可以是ARM处理器、X86处理器、MIPS处理器、图形处理单元(GPU)、通用GPU或被配置为执行存储器中存储的指令的任何其他处理器。处理器202可以在一个或更多个处理设备中实现,在这些处理设备中,处理器可以是不同的。例如,电子设备可以包括中央处理单元(CPU)以及GPU。处理器实现访问存储器上的软件并接收各种输入(诸如来自IMU和传感器(例如,相机)的读数)的操作***(OS),以使能对如下面将更具体描述的漂移进行校正。设备200可以是适合于捕获数字图像的任何类型的设备,或者组件(诸如设备或***的集成电路)。图像传感器204可以是数码相机、或数码相机的任何部分,例如,镜头或其他图像感测元件。虽然示出了单个图像传感器,但是应当理解,可以包括多个传感器并且可以包括可用于检测场景中的关键点的任何类型的传感器。处理器电路可以被耦接至用于显示所捕获的图像(并且更具体地,显示数字图像)的显示器206。处理器电路能够单独地或与其他元件结合,校正电子设备中的漂移。
处理器电路202还可以被耦接至存储器208,该存储器208使能存储与图像的各种帧有关的信息或者与AR或VR图像相关联的结果数字图像。如众所周知的,存储器208可以被实现为处理器电路202的一部分,或者可以被实现为除处理器的任何高速缓存存储器之外的存储器。存储器208可以包括诸如固态硬盘(SSD)、闪存、只读存储器(ROM)的任何类型的存储器、或者提供长期记忆的任何其他存储器元件,其中存储器可以是任何类型的电子驱动器的内部存储器或电子设备可访问的外部存储器。处理器202可以实现存储在存储器上并可由处理器访问的开放式CV软件工具或其他合适的软件工具,以实现计算机视觉。还示出了用户接口210,用户接口210可以与显示器分离或者可以是显示器的一部分或响应于显示器。用户接口210可以包括图形用户接口元件和物理用户接口元件二者,其中图形用户接口可以包括实现为显示器206的触摸屏显示器,其可以在将HMD附接至头部之前被使用。物理用户接口可以包括能够向电子设备提供数据或其他信息的元件(诸如触摸板112和控制按钮114)或诸如麦克风、鼠标或小键盘的其他元件,其中,例如,鼠标或小键盘可以是有线设备或无线设备。处理器电路202还可以被耦接至接收输入或使能捕获数字图像或显示AR或VR图像的其他元件。例如,运动传感器(诸如惯性测量单元(IMU)212)可以提供与设备200的运动或取向有关的各种信息。例如,IMU 212可以包括加速度计和陀螺仪。处理器电路202还可以通过耦接至天线218的输入/输出(I/O)端口214或收发器216来接收输入。例如,I/O端口214可以是适于通过有线或无线连接来与外部物理用户接口元件(例如,外部键盘或鼠标)连接的任何接口元件。电池220可以被实现为向设备200的处理器和其他元件提供电力。
图3例示了示出校正电子设备中的漂移的方法的示例性流程图。在块302处,确定电子设备的第一中心姿态。在块304处,如果第一中心姿态相对于报告的中心姿态在容限(其可以是偏移容限)内,则利用在处理器上操作的计算机视觉来跟踪场景内的至少一个关键点。可以在电子设备(例如,HMD)最初被戴上时,基于用户的头部面向的位置来确定报告的中心姿态。报告的中心姿态是HMD的OS认为是前面和中心取向的方向。可以使用HMD的重置特征来将报告的中心姿态重置到HMD当前面向的位置。关键点可以是图像中的具有能够被识别的关键值的元素或对象。例如,关键点可以通过可以形成鲜明对比并且可以通过与边缘值相关联的值来识别的对象的边缘的交点来识别。虽然可以使用单个关键点,但是能够选择多个关键点,以确保正确地确定中心姿态。关键点的数量可以根据场景而改变,其中,检测足够的数量,以确保计算机视觉工具能够确定相对于所选择的关键点的姿态。计算机视觉技术可以包括SLAM、模式识别和跟踪、或者用于跟踪场景中的对象的其他计算机视觉技术。例如,传感器可以是相机、或者可以检测场景中的对象的任何其他传感器,例如,红外传感器。
在块306处,确定基于第一中心姿态和至少一个关键点所导出的中心姿态。可以通过建立例如由电子设备的IMU建立的第一中心姿态与由采用已知计算机视觉技术的传感器建立的至少一个关键点之间的变化,确定基于第一中心姿态和至少一个关键点所导出的中心姿态。所述导出的中心姿态可以由位置偏差来表示,并且更具体地,可以由使用第一中心姿态和至少一个关键点的偏移角度测量结果来表示。然后,在块308处,可以将所述传感器禁用预定时间。然后,在块310处,在预定时间之后,确定第二中心姿态相对于所述导出的中心姿态是否在容限内。例如,该确定可以基于IMU测量。在块312处,当第二中心姿态相对于所述导出的中心姿态在容限内时,利用计算机视觉来跟踪至少一个关键点。在块314处,如果在第二中心姿态与所述导出的中心姿态之间存在差异,则调整第二中心姿态。第二中心姿态能够以一定度数增量被逐渐地调整,直到第二中心姿态在容限内为止。例如,如果(基于比较IMU测量与由相机获得的至少一个关键点的位置)确定第二中心姿态相对于至少一个关键点具有5度的偏移,则与IMU相关联的中心姿态被依次调整0.5度,直到由IMU确定的中心姿态在容限内为止。虽然可以使用任何度数增量,但是可以使用较小的增量来减少用户易见的断开。每当由IMU确定的中心姿态不在容限内,只要所存储的视觉关键点被匹配,就将校正中心姿态,直到它处于偏移阈值内为止。一旦中心姿态在容限内,就会在超时期间关闭相机。
图4例示了示出可以在图3的块302处执行的确定HMD姿态是否在偏移容限值内的方法的示例性流程图。在块402处,开始用于支持HMD姿态跟踪的程序。该程序可以由设备自动启动,或者可以是用户发起的请求。然后,在块404处,确定电子设备的姿态是否在偏移容限内。该确定可以是基于电子设备的IMU的读数。然后,在块406处,当姿态在偏移容限内时,确定至少一个关键点。也就是说,在继续姿态跟踪之前,执行程序以支持HMD姿态跟踪的电子设备将等待直到HMD姿态在偏移容限内为止。如果当HMD不在HMD前面和中心姿态的偏移容限内时,在任何后续姿态处理中确定的至少一个关键点被确定,则当HMD返回到前面和中心姿态时,任何选择的关键点可能一般不在中心附近。图4的示例性流程图可以根据图7的块701以及图7的其他元件一起来实现。
图5例示了示出可以在图3的块304处执行的查找场景中的视觉关键点的方法的示例性流程图。在块502处,识别场景中的至少一个关键点。在块504处,计算与一个或更多个关键点相关联的置信度。例如,可以通过重复识别场景中的关键点的步骤来确定置信度。可以多次检查至少一个关键点,并且如果关键点出现在场景内的基本相同的位置,则将存储该至少一个关键点。例如,可以基于由电子设备的相机捕获的并且出现在由相机捕获的预定数量的图像中的相同位置的点来计算置信度。然后,在块506处,确定置信度是否大于预定值。如果至少一个关键点的变化小于某个值(例如,某一图像中的关键点之间的最大距离或所捕获的多个图像中的关键点之间的平均距离),则置信度可以大于确定的值。在块508处,如果至少一个关键点满足预定的存储标准,则存储该至少一个关键点。图5的方法可以在图7的块705中实现。
图6例示了示出确定关键点分布的示例性流程图。在块602处,存储预定数量的关键点。在块604处,计算HMD姿态。在块606处,通过评估HMD姿态和至少一个关键点之间的位置偏差是否大于预定值来确定基于HMD姿态和至少一个关键点所导出的中心姿态。在块608处,确定与中心姿态偏移的关键点分布中心。关键点的分布能够影响传感器是否能够确定由IMU建立的姿态偏移超过偏移阈值的时间。也就是说,如果关键点被更广泛地分布,则可能性更大的是关键点能够在开启相机之后被识别然后用于校正姿态,如将参照图7所描述的。相反,如果关键点彼此太靠近,则可能难以确定偏移。
图7例示了示出校正电子设备中的漂移的另一种方法的示例性流程图。在块701处,初始地确定HMD姿态是否在偏移容限值内,其中,在块702处,程序被启动以支持有限的姿态跟踪。根据图7的实施方式的姿态跟踪能够通过选择性地关闭传感器(诸如相机)和来自相机的数据所需的计算机处理来减少电子设备所使用的电力,其中该计算机处理用于确定由电子设备的IMU确定的姿态是否已经漂移,该漂移可以是由于电子设备改变温度或其他异常而导致的。可以自动地启动程序或可以响应于用户而启动程序。在一个实施例中,用于漂移校正的计算机视觉技术能够默认地从电子设备的操作***(OS)开启,由应用(app)启动,或者由用户启动(例如,当用户将设备置于飞行模式或电影模式时启动)。一旦程序被初始化,OS就会提供报告的中心姿态。当HMD的用户直视前方时,该报告的中心姿态是HMD姿态中心。然后,在块704处,确定HMD姿态是否在偏移容限内。例如,可以确定中心姿态相对于报告的中心姿态是否在容限内。如果不在,则***等待直到HMD姿态在偏移容限内为止。也就是说,***等待直到用户再次向前直视为止。如果HMD姿态在偏移容限内,则在块706处,开启诸如相机的前向传感器或其他HMD传感器,以测量和跟踪用户前面的场景并发送数据。该测量和跟踪能够被OS、应用或用户越权,以定义新的HMD姿态中心。
然后,在块708处,查找场景中的至少一个视觉关键点。例如,利用计算机视觉技术,能够发现和跟踪场景内的至少一个关键点。关键点可以例如是场景内的对象的边缘。在块710处,可以可选地查找场景中的每个关键点的置信度。然后,在块712处,对于每个关键点,可以可选地确定置信度是否大于预定值。如果置信度不满足预定阈值,则可以通过块708来重复对视觉关键点的搜索。一旦足够多的关键点被以足够高的置信度跟踪,并且与IMU数据一致,则存储所述关键点(例如,能够在数据库中存储关键点的场景和位置)。例如,当关键点被多次(例如,100次)检查并且关键点出现在基本相同的位置时,置信度能够被认为是高的。举例来说,当IMU数据指示没有头部移动(容限内)并且关键点在基本相同的位置(容限内)时,IMU数据和关键点能够被认为是一致的。如果数据一致,则在块714处存储关键点和相关数据,并且完成初始化过程。
然后,在块716处,确定关键点的数量是否大于预定值。如果关键点的数量不大于预定值,则过程可以返回到块708,以找到场景中的其他视觉关键点。预定值可以是足够计算机视觉工具确定计算出的HMD姿态与一个或更多个关键点之间的对应关系的任意数量的关键点。如果这样,则在块717处,过程可以被进行以确定关键点分布。在块717内,在块718处计算HMD姿态。然后,在块720处,过程可以确定位置偏差是否大于预定值。也就是说,位置偏差是否大于预定阈值的确定使用一个或更多个关键点来提供另一检查,以确保穿戴HMD的用户的头部在关闭相机之前未转过来,以便稍后在开启相机时提供另一次视觉检查。如果这样,则过程可以返回到块704,以重新校准HMD姿态和一个或更多个关键点。这样,先前存储的一个或更多个关键点中的任何一个将从存储中被去除并不再被保存。如果位置偏差在由预定值指示的阈值内,则过程可以进行以在可选块722处确定与中心姿态偏移的关键点分布中心。在块722处,可以计算所有关键点的中心。然后,可以将该中心(x,y)与HMD姿态中心的距离添加到HMD姿态中心(x,y)。然后,在块724处,也可以基于关键点分布偏移来可选地调整HMD偏移容限。例如,可以计算跟踪的所有关键点与中心的平均距离。该偏移值越大,则HMD姿态中心偏移的偏移容限增加得越大。换句话说,跟踪的关键点的平均分布指示HMD能够被移动多少,并且在视图中仍然具有足够的关键点来确定是否发生了漂移。然后,在块726处,该过程停用相机并激活定时器。定时器可以具有预设的持续时间。例如,定时器可以是设定为约30秒的倒计时器。一旦预设的持续时间过去(例如,计时器倒数至零),能够在块730处启动漂移检查,其中一个或更多个关键点用于确定在该间隔期间是否发生了某一漂移。如果在块730处条件未被满足,则***将等待直到HMD在偏移容限内为止。倒数计时器的持续时间可以根据需要而改变,以适应漂移的变化。例如,随着电子设备稳定,IMU可能不会随着时间流逝而漂移很多,从而使得检查之间的持续时间增加。如果由用户或应用确定,例如,如果施加恒定功率,则可以将定时器持续时间设置为零或者进行旁路处理以支持恒定漂移校正。当预定时间流逝并且HMD在偏移容限内时,过程可以进行到块732以开启相机并加载所存储的一个或更多个关键点。然后,在块734处,确定存储的视觉关键点是否被找到并匹配。如果一个或更多个关键点丢失且不能被找到,则在块736处从存储中去除该一个或更多个关键点,并且过程返回块708处以根据场景来确定一个或更多个关键点。当与关键点相关联的物理周围环境中的对象(例如,关键点与椅子相关联)被移动或移除时,会发生这种情况的示例。如果存储的视觉关键点被找到并匹配,则在块738处确定与第二姿态相关联的姿态误差是否大于偏移容限。例如,利用相同的计算机视觉技术,相对于基于计算机视觉技术计算出的中心姿态来测试当前OS使用IMU提供的HMD中心姿态,产生误差值(或漂移)。基于预设度数和预设帧数,调整HMD OS中心姿态以匹配计算出的中心姿态。如果姿态误差在偏移容限内,则该过程返回到停用相机并且重新启动迭代计时器的块726。否则,如图3的块314或以下所述的,在块740处基于偏移容限来逐渐地校正姿态,并且在块734处再次确定存储的视觉关键点是否被找到并匹配。
可以不断重新计算误差,直到误差低于预设容限。例如,如果误差(或漂移)为3°,则漂移能够以0.5°被缓慢地调整,直到漂移得到校正为止。此时,关闭相机并且重新启动定时器。应当注意,在存在大于偏移容限的误差的任何时候,如果视觉关键点被匹配,则将校正误差。如果在视觉关键点重新发现步骤期间,发现关键帧的数量不足,则在块736处将关键帧数据从存储中去除,并且重新开始查找一个或更多个新关键点的过程。应当注意,图3-图7的方法可以使用访问存储有数据的非暂时性计算机可读存储介质的计算机来实现。
因此,能够理解,已经描述了通过计算机视觉技术来提供漂移校正的新设备和方法。本领域技术人员将理解,可见存在包含所公开的本发明的多种替代方案和等同方案。因此,本发明不受前述实施例的限制,而仅受所附权利要求的限制。
Claims (15)
1.一种用于校正电子设备中的漂移的方法,所述方法包括:
使用所述电子设备的惯性测量单元确定所述电子设备的第一中心姿态;
当所述第一中心姿态相对于报告的中心姿态在偏移容限内时,使用传感器结合在处理器上操作的计算机视觉来跟踪场景内的至少一个关键点,所述报告的中心姿态是所述电子设备的操作***认为是前面和中心取向的方向;
通过评估所述第一中心姿态与所述至少一个关键点的位置偏差是否大于预定值来确定基于所述第一中心姿态和所述至少一个关键点所导出的中心姿态;
通过关闭所述传感器,将所述传感器禁用预定时间;
在所述预定时间之后,使用所述电子设备的所述惯性测量单元来确定第二中心姿态;
确定所述第二中心姿态相对于所述导出的中心姿态是否在所述偏移容限内;
当所述第二中心姿态相对于所述导出的中心姿态在所述偏移容限内时,
开启所述传感器;
使用所述传感器来跟踪所述至少一个关键点;以及
基于跟踪的至少一个关键点在所述偏移容限内,调整与所述惯性测量单元相关联的中心姿态。
2.根据权利要求1所述的方法,其中,确定第一中心姿态包括基于所述电子设备的惯性测量单元传感器读数来确定所述电子设备的姿态是否在所述偏移容限内。
3.根据权利要求1所述的方法,其中,跟踪所述场景内的所述至少一个关键点包括查找所述场景中的所述至少一个关键点并计算每个关键点的置信度。
4.根据权利要求3所述的方法,其中,计算所述置信度包括确定所述置信度是否大于预定值。
5.根据权利要求1所述的方法,还包括:
当所述至少一个关键点被多次检查并且在所述多次检查中所述至少一个关键点出现在所述场景内的基本相同的位置时,存储所述至少一个关键点。
6.根据权利要求1所述的方法,其中,确定导出的中心姿态包括确定所述第一中心姿态与所述至少一个关键点之间的位置偏差。
7.根据权利要求1所述的方法,还包括:
确定所述至少一个关键点的关键点分布。
8.根据权利要求3所述的方法,其中,跟踪所述至少一个关键点包括识别所述场景内的对象的边缘。
9.一种用于校正漂移的电子设备,所述电子设备包括:
显示器;
惯性测量单元;
传感器;以及
处理器,所述处理器耦接到所述显示器、所述惯性测量单元和所述传感器,其中,所述处理器被配置为:
使用所述惯性测量单元确定所述电子设备的第一中心姿态;
如果所述第一中心姿态相对于报告的中心姿态在偏移容限内,则使用所述传感器结合在所述处理器上操作的计算机视觉来跟踪场景内的至少一个关键点,所述报告的中心姿态是所述电子设备的操作***认为是前面和中心取向的方向;
通过评估所述第一中心姿态与所述至少一个关键点的位置偏差是否大于预定值来确定基于所述第一中心姿态和所述至少一个关键点所导出的中心姿态;
通过关闭所述传感器,将所述传感器禁用预定时间;
在所述预定时间之后,使用所述惯性测量单元来确定第二中心姿态;
确定所述第二中心姿态相对于所述导出的中心姿态是否在所述偏移容限内;
当所述第二中心姿态相对于所述导出的中心姿态在所述偏移容限内时,
开启所述传感器;
使用所述传感器来跟踪所述至少一个关键点;以及
基于跟踪的至少一个关键点在所述偏移容限内,调整与所述惯性测量单元相关联的中心姿态。
10.根据权利要求9所述的电子设备,其中,所述处理器被配置为:如果基于所述电子设备的惯性测量单元传感器读数,所述电子设备的姿态在所述偏移容限内,则确定第一中心姿态。
11.根据权利要求9所述的电子设备,其中,在跟踪所述场景内的所述至少一个关键点期间,所述处理器被配置为查找所述场景中的所述至少一个关键点并且计算每个关键点的置信度。
12.根据权利要求11所述的电子设备,其中,在跟踪所述场景内的所述至少一个关键点期间,所述处理器被配置为确定所述置信度是否大于预定值。
13.根据权利要求9所述的电子设备,还包括:
存储器,所述存储器被配置为在所述至少一个关键点被多次检查并且所述至少一个关键点出现在所述场景内的基本相同的位置时存储所述至少一个关键点。
14.根据权利要求10所述的电子设备,其中,在确定所述导出的中心姿态期间,所述处理器被配置为确定所述第一中心姿态与所述至少一个关键点之间的位置偏差。
15.根据权利要求10所述的电子设备,其中,所述处理器根据权利要求7至权利要求8中的一项来实现。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662290253P | 2016-02-02 | 2016-02-02 | |
US62/290,253 | 2016-02-02 | ||
US15/421,824 | 2017-02-01 | ||
US15/421,824 US10565723B2 (en) | 2016-02-02 | 2017-02-01 | Systems and methods for drift correction |
PCT/KR2017/001131 WO2017135697A1 (en) | 2016-02-02 | 2017-02-02 | A method for correcting drift in a device and the device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108604010A CN108604010A (zh) | 2018-09-28 |
CN108604010B true CN108604010B (zh) | 2021-10-26 |
Family
ID=59386951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780008559.0A Active CN108604010B (zh) | 2016-02-02 | 2017-02-02 | 用于校正设备中的漂移的方法和该设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10565723B2 (zh) |
EP (1) | EP3394659A4 (zh) |
CN (1) | CN108604010B (zh) |
WO (1) | WO2017135697A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10786729B1 (en) * | 2019-03-08 | 2020-09-29 | Sony Interactive Entertainment Inc. | Thermopile array fusion tracking |
US11409360B1 (en) * | 2020-01-28 | 2022-08-09 | Meta Platforms Technologies, Llc | Biologically-constrained drift correction of an inertial measurement unit |
EP4100916A1 (en) * | 2020-02-07 | 2022-12-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Monocular camera activation for localization based on data from depth sensor |
WO2021160257A1 (en) * | 2020-02-12 | 2021-08-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Depth sensor activation for localization based on data from monocular camera |
CN115236810B (zh) * | 2022-07-14 | 2024-03-15 | 武汉昱升光电股份有限公司 | 一种光接收组件耦合的方法与电子设备 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3467017B2 (ja) * | 2000-11-30 | 2003-11-17 | キヤノン株式会社 | 位置姿勢の決定方法及び装置並びに記憶媒体 |
JP4138371B2 (ja) | 2002-06-06 | 2008-08-27 | 富士フイルム株式会社 | 解剖学的特徴位置検出装置並びに記録媒体および被写体構造計測装置並びに記録媒体 |
US7627197B2 (en) | 2003-04-07 | 2009-12-01 | Honda Motor Co., Ltd. | Position measurement method, an apparatus, a computer program and a method for generating calibration information |
US20160098095A1 (en) * | 2004-01-30 | 2016-04-07 | Electronic Scripting Products, Inc. | Deriving Input from Six Degrees of Freedom Interfaces |
WO2009106141A1 (en) | 2008-02-29 | 2009-09-03 | Trimble Ab | Determining coordinates of a target in relation to a survey instrument having at least two cameras |
US9600067B2 (en) * | 2008-10-27 | 2017-03-21 | Sri International | System and method for generating a mixed reality environment |
US20150205111A1 (en) | 2014-01-21 | 2015-07-23 | Osterhout Group, Inc. | Optical configurations for head worn computing |
US8290744B2 (en) * | 2009-01-14 | 2012-10-16 | The Charles Stark Draper Laboratory, Inc. | Integrated rate isolation sensor |
US9024972B1 (en) * | 2009-04-01 | 2015-05-05 | Microsoft Technology Licensing, Llc | Augmented reality computing with inertial sensors |
US8242423B2 (en) * | 2009-06-02 | 2012-08-14 | Raytheon Company | Missile navigation method |
JP5613025B2 (ja) | 2009-11-18 | 2014-10-22 | パナソニック株式会社 | 視線検出装置、視線検出方法、眼電位計測装置、ウェアラブルカメラ、ヘッドマウントディスプレイ、電子めがねおよび眼科診断装置 |
US8430510B2 (en) | 2009-11-19 | 2013-04-30 | Panasonic Corporation | Noise reduction device, electro-oculography measuring device, ophthalmological diagnosis device, eye-gaze tracking device, wearable camera, head-mounted display, electronic eyeglasses, noise reduction method, and recording medium |
DE102010049175B4 (de) | 2010-10-21 | 2013-09-19 | Eads Deutschland Gmbh | Verfahren zur Darstellung der Driftwerte eines Luftfahrzeugs |
US8890896B1 (en) | 2010-11-02 | 2014-11-18 | Google Inc. | Image recognition in an augmented reality application |
US8761439B1 (en) * | 2011-08-24 | 2014-06-24 | Sri International | Method and apparatus for generating three-dimensional pose using monocular visual sensor and inertial measurement unit |
US9025252B2 (en) | 2011-08-30 | 2015-05-05 | Microsoft Technology Licensing, Llc | Adjustment of a mixed reality display for inter-pupillary distance alignment |
US10213645B1 (en) * | 2011-10-03 | 2019-02-26 | Swingbyte, Inc. | Motion attributes recognition system and methods |
US8913789B1 (en) | 2012-01-06 | 2014-12-16 | Google Inc. | Input methods and systems for eye positioning using plural glints |
US9529426B2 (en) * | 2012-02-08 | 2016-12-27 | Microsoft Technology Licensing, Llc | Head pose tracking using a depth camera |
US9851787B2 (en) * | 2012-11-29 | 2017-12-26 | Microsoft Technology Licensing, Llc | Display resource management |
US9830857B2 (en) * | 2013-01-14 | 2017-11-28 | Ignis Innovation Inc. | Cleaning common unwanted signals from pixel measurements in emissive displays |
US9070202B2 (en) | 2013-03-14 | 2015-06-30 | Nec Laboratories America, Inc. | Moving object localization in 3D using a single camera |
US9256987B2 (en) * | 2013-06-24 | 2016-02-09 | Microsoft Technology Licensing, Llc | Tracking head movement when wearing mobile device |
US10306206B2 (en) * | 2013-07-23 | 2019-05-28 | The Regents Of The University Of California | 3-D motion estimation and online temporal calibration for camera-IMU systems |
US10585478B2 (en) | 2013-09-13 | 2020-03-10 | Nod, Inc. | Methods and systems for integrating one or more gestural controllers into a head mounted wearable display or other wearable devices |
US9400930B2 (en) | 2013-09-27 | 2016-07-26 | Qualcomm Incorporated | Hybrid photo navigation and mapping |
US9336440B2 (en) | 2013-11-25 | 2016-05-10 | Qualcomm Incorporated | Power efficient use of a depth sensor on a mobile device |
US9285872B1 (en) | 2013-12-12 | 2016-03-15 | Google Inc. | Using head gesture and eye position to wake a head mounted device |
US9109905B2 (en) | 2013-12-14 | 2015-08-18 | PNI Sensor Corporation | Device location determination |
US9244539B2 (en) | 2014-01-07 | 2016-01-26 | Microsoft Technology Licensing, Llc | Target positioning with gaze tracking |
US9311718B2 (en) | 2014-01-23 | 2016-04-12 | Microsoft Technology Licensing, Llc | Automated content scrolling |
US9437159B2 (en) | 2014-01-25 | 2016-09-06 | Sony Interactive Entertainment America Llc | Environmental interrupt in a head-mounted display and utilization of non field of view real estate |
CA3027407A1 (en) | 2014-02-18 | 2015-08-27 | Merge Labs, Inc. | Head mounted display goggles for use with mobile computing devices |
KR102246553B1 (ko) * | 2014-04-24 | 2021-04-30 | 엘지전자 주식회사 | Hmd 및 그 제어 방법 |
US9953243B2 (en) * | 2014-04-25 | 2018-04-24 | Google Llc | Electronic device localization based on imagery |
US9489739B2 (en) | 2014-08-13 | 2016-11-08 | Empire Technology Development Llc | Scene analysis for improved eye tracking |
EP3289430B1 (en) * | 2015-04-27 | 2019-10-23 | Snap-Aid Patents Ltd. | Estimating and using relative head pose and camera field-of-view |
US10073531B2 (en) * | 2015-10-07 | 2018-09-11 | Google Llc | Electronic device pose identification based on imagery and non-image sensor data |
KR102462799B1 (ko) * | 2015-11-05 | 2022-11-03 | 삼성전자주식회사 | 자세 추정 방법 및 자세 추정 장치 |
US10908694B2 (en) * | 2016-02-01 | 2021-02-02 | Microsoft Technology Licensing, Llc | Object motion tracking with remote device |
US10302482B2 (en) * | 2016-10-07 | 2019-05-28 | Microsoft Technology Licensing, Llc | Dynamic sensor performance adjustment |
-
2017
- 2017-02-01 US US15/421,824 patent/US10565723B2/en active Active
- 2017-02-02 CN CN201780008559.0A patent/CN108604010B/zh active Active
- 2017-02-02 WO PCT/KR2017/001131 patent/WO2017135697A1/en active Application Filing
- 2017-02-02 EP EP17747742.9A patent/EP3394659A4/en active Pending
Non-Patent Citations (1)
Title |
---|
WEAR++: 3D model driven camera tracking on board the International Space Station;Tingdahl, D. , et al.;《International Conference on 3d Imaging IEEE》;20130821;1-8 * |
Also Published As
Publication number | Publication date |
---|---|
US20170221225A1 (en) | 2017-08-03 |
EP3394659A1 (en) | 2018-10-31 |
WO2017135697A1 (en) | 2017-08-10 |
CN108604010A (zh) | 2018-09-28 |
US10565723B2 (en) | 2020-02-18 |
EP3394659A4 (en) | 2019-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108604010B (zh) | 用于校正设备中的漂移的方法和该设备 | |
EP3466070B1 (en) | Method and device for obtaining image, and recording medium thereof | |
CN110310329B (zh) | 操作显示设备的方法、信息处理***及非暂时性存储介质 | |
WO2019205850A1 (zh) | 位姿确定方法、装置、智能设备及存储介质 | |
US9785233B2 (en) | Systems and methods of eye tracking calibration | |
WO2019205851A1 (zh) | 位姿确定方法、装置、智能设备及存储介质 | |
EP3123283B1 (en) | Eye gaze tracking based upon adaptive homography mapping | |
US11276183B2 (en) | Relocalization method and apparatus in camera pose tracking process, device, and storage medium | |
US10955245B2 (en) | System and method for low latency, high performance pose fusion | |
US9417689B1 (en) | Robust device motion detection | |
CN108885343B (zh) | 校正车辆引起的方向改变的***和方法 | |
US20200125100A1 (en) | Movable object control method, device and system | |
WO2015026645A1 (en) | Automatic calibration of scene camera for optical see-through head mounted display | |
US11503266B2 (en) | Super-resolution depth map generation for multi-camera or other environments | |
US9411412B1 (en) | Controlling a computing device based on user movement about various angular ranges | |
CN110895433B (zh) | 用于增强现实中用户交互的方法和装置 | |
Perra et al. | Adaptive eye-camera calibration for head-worn devices | |
US20240071018A1 (en) | Smooth object correction for augmented reality devices | |
WO2019134305A1 (zh) | 确定姿态的方法、装置、智能设备、存储介质和程序产品 | |
KR102570009B1 (ko) | Ar 객체 생성 방법 및 전자 장치 | |
WO2020149149A1 (en) | Information processing apparatus, information processing method, and program | |
KR101980725B1 (ko) | 객체 제어를 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 | |
US20160063319A1 (en) | Method and apparatus for tracking gaze | |
WO2018109847A1 (ja) | 制御装置、撮像装置、移動体、制御方法、およびプログラム | |
CN114600162A (zh) | 用于捕捉摄像机图像的场景锁定模式 |
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 |