CN115690201A - 姿势估计方法和装置 - Google Patents
姿势估计方法和装置 Download PDFInfo
- Publication number
- CN115690201A CN115690201A CN202210158102.0A CN202210158102A CN115690201A CN 115690201 A CN115690201 A CN 115690201A CN 202210158102 A CN202210158102 A CN 202210158102A CN 115690201 A CN115690201 A CN 115690201A
- Authority
- CN
- China
- Prior art keywords
- state variable
- current state
- feature point
- noise
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000033001 locomotion Effects 0.000 claims abstract description 81
- 230000003190 augmentative effect Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 230000001133 acceleration Effects 0.000 claims description 6
- 239000004984 smart glass Substances 0.000 claims description 6
- 230000004807 localization Effects 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000005259 measurement Methods 0.000 description 37
- 230000015654 memory Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 125000004435 hydrogen atom Chemical class [H]* 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
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
-
- 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
- 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
- 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
- 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/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- 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/006—Mixed reality
-
- 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
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- 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
-
- 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
- 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/20—Special algorithmic details
- G06T2207/20024—Filtering details
-
- 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
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- General Health & Medical Sciences (AREA)
- Optics & Photonics (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种由处理器实现的姿势估计方法包括:跟踪从包括多个图像帧的图像信息中提取的特征点的位置,所述图像信息是从图像传感器接收的;基于从运动传感器接收的运动信息,预测用于确定电子设备的姿势的估计模型的当前状态变量;基于从所述图像帧中提取的所述特征点的第一位置与基于所述当前状态变量预测的所述特征点的第二位置之间的残差,确定由于所述估计模型的不确定性引起的噪声;基于所述当前状态变量、所跟踪的特征点的位置和所述噪声来更新所述当前状态变量;以及基于所更新的当前状态变量确定所述电子设备的姿势。
Description
相关申请的交叉引用
本申请要求于2021年7月29日在韩国知识产权局递交的韩国专利申请No.10-2021-0100131的优先权,其全部公开内容通过引用合并于此以用于所有目的。
技术领域
以下描述涉及姿势估计方法和设备。
背景技术
某些电子设备可以实现虚拟现实(VR)、增强现实(AR)或混合现实(MR)。其中,AR是一种显示技术,可以将虚拟物体或信息结合在现实世界环境中并加以显示。AR可以在例如无处不在的环境或物联网(IoT)环境中以各种方式使用。AR可以通过外部视图和虚拟图像的组合,更真实地向用户传递各种信息。
发明内容
提供本发明内容以用简化形式介绍对下面在具体实施方式中进一步描述的构思的选择。本发明内容不意在标识所请求保护的主题的关键特征或基本特征,也不意在帮助确定所请求保护的主题的范围。
在一个总体方面,一种由处理器实现的姿势估计方法包括:跟踪从包括多个图像帧的图像信息中提取的特征点的位置,图像信息是从图像传感器接收的;基于从运动传感器接收的运动信息,预测用于确定电子设备的姿势的估计模型的当前状态变量;基于从图像帧中提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差,确定由于估计模型的不确定性引起的噪声;基于当前状态变量、所跟踪的特征点的位置和噪声来更新当前状态变量;以及基于所更新的当前状态变量确定电子设备的姿势。
确定噪声可以包括:确定从图像帧中的当前图像帧提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差;以及基于残差确定由于估计模型的不确定性引起的噪声。
确定噪声可以包括:通过将从当前图像帧提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差表示为真实值和误差的总和,来确定噪声。
确定噪声可以包括:通过使用估计模型的调整参数来近似将残差表示为真实值和误差的总和的结果,来确定噪声。
可以根据基于扩展卡尔曼滤波器的同时定位和映射(SLAM)技术,使用估计协方差来确定估计模型的不确定性。
预测当前状态变量可以包括:基于运动信息和与图像帧中的先前图像帧相对应的先前状态变量,预测先前状态变量的误差协方差和与图像帧中的当前图像帧相对应的当前状态变量。
更新当前状态变量可以包括:基于当前状态变量、先前状态变量的误差协方差、所跟踪的特征点的位置和噪声来更新当前状态变量。
跟踪特征点的位置可以包括:提取包括在图像帧中的当前图像帧中的第二特征点;以及通过在第一特征点与第二特征点之间进行匹配,来跟踪第二特征点的位置,其中第一特征点是从图像帧中的当前图像帧之前的先前图像帧中提取的。
估计模型可以包括使用基于滤波器的视觉惯性里程计(VIO)的估计模型。
电子设备可以包括以下任意一种或两种:包括智能眼镜的可穿戴设备;以及包括增强现实(AR)设备、虚拟现实(VR)设备和混合现实(MR)设备中的任意一个或任意两个或更多个的任意组合在内的头戴式设备(HMD)。
在另一个一般方面,一个或多个实施例包括一种存储指令的非暂时性计算机可读存储介质,当由一个或多个处理器执行时,该指令将一个或多个处理器配置为执行在此描述的操作和方法中的任何一个、任何组合或全部。
在另一总体方面,一种姿势估计装置包括:图像传感器,被配置为感测包括多个图像帧的图像信息;运动传感器,被配置为感测电子设备的运动信息;以及一个或多个处理器,被配置为:通过从图像信息中提取特征点来跟踪特征点;基于运动信息预测用于确定电子设备的姿势的估计模型的当前状态变量;基于从图像帧中提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差,确定由于估计模型的不确定性引起的噪声;基于当前状态变量、所跟踪的特征点的位置和噪声来更新当前状态变量;以及基于所更新的当前状态变量确定电子设备的姿势。
为了确定噪声,一个或多个处理器可以被配置为:确定从图像帧中的当前图像帧提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差;以及基于残差确定由于估计模型的不确定性引起的噪声。
为了确定噪声,一个或多个处理器可以被配置为:通过将从当前图像帧提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差表示为真实值和误差的总和,来确定噪声。
为了确定噪声,一个或多个处理器可以被配置为:通过使用估计模型的调整参数来近似将残差表示为真实值和误差的总和的结果,来确定噪声。
可以根据基于扩展卡尔曼滤波器的同时定位和映射(SLAM)技术,使用估计协方差来确定估计模型的不确定性。
为了预测当前状态变量,一个或多个处理器可以被配置为:基于运动信息和与图像帧中的先前图像帧相对应的先前状态变量,预测先前状态变量的误差协方差和与图像帧中的当前图像帧相对应的当前状态变量。
为了更新当前状态变量,一个或多个处理器可以被配置为:基于当前状态变量、先前状态变量的误差协方差、所跟踪的特征点的位置和噪声来更新当前状态变量。
为了跟踪特征点的位置,一个或多个处理器可以被配置为:提取包括在图像帧中的当前图像帧中的第二特征点;以及通过在第一特征点与第二特征点之间进行匹配,来跟踪第二特征点的位置,其中第一特征点是从图像帧中的当前图像帧之前的先前图像帧中提取的。
估计模型可以包括使用基于滤波器的视觉惯性里程计(VIO)的估计模型。
电子设备可以包括以下任意一种或两种:包括智能眼镜的可穿戴设备;以及包括增强现实(AR)设备、虚拟现实(VR)设备和混合现实(MR)设备中的任意一个或任意两个或更多个的任意组合在内的头戴式设备(HMD)。
在另一总体方面,一种可穿戴电子设备包括:图像传感器,被配置为感测包括多个图像帧的图像信息;运动传感器,被配置为感测可穿戴电子设备的运动信息;一个或多个处理器,被配置为:通过从图像信息中提取特征点来跟踪特征点;基于运动信息预测用于确定可穿戴电子设备的姿势的估计模型的当前状态变量;基于从图像帧中提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差,确定由于估计模型的不确定性引起的噪声;基于当前状态变量、所跟踪的特征点的位置和噪声来更新当前状态变量;基于所更新的当前状态变量确定可穿戴电子设备的姿势;以及基于所确定的姿势生成虚拟内容;以及显示器,被配置为显示虚拟内容。
在另一总体方面,一种由处理器实现的姿势估计方法包括:预测用于确定电子设备的姿势的估计模型的当前状态变量;基于从图像帧中提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差,确定由于估计模型的不确定性引起的噪声;基于噪声更新当前状态变量;以及基于所更新的当前状态变量确定电子设备的姿势。
当前状态变量可以包括与运动传感器相对应的状态变量和与图像传感器相对应的状态变量。
与运动传感器相对应的状态变量可以包括图像帧中的图像帧的方向误差、运动传感器的偏置误差、速度误差、加速度偏置误差和位置误差中的任意一种或任意两种或更多种的任意组合。
与图像传感器相对应的状态变量可以包括在图像帧中的图像帧处观察到的特征点的位置的误差。
其他特征和方面将通过以下详细描述、附图和权利要求变得清楚明白。
附图说明
图1和图2是示出提供增强现实(AR)的电子设备的概览的示例的图。
图3是示出估计姿势的方法的示例的图。
图4是示出姿势估计装置的操作的示例的图。
图5是示出估计姿势的方法的示例的流程图。
图6是示出确定噪声的方法的示例的流程图。
图7是示出估计姿势的方法的示例的流程图。
图8是示出姿势估计装置的示例的框图。
在整个附图和详细描述中,除非另有描述或提供,否则相同的附图标记应被理解为指代相同的元件、特征以及结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以扩大附图中元件的相对尺寸、比例和描绘。
具体实施方式
提供以下详细描述以帮助读者获得对本文描述的方法、装置和/或系统的全面理解。然而,在理解了本申请的公开之后,本文中描述的方法、装置和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文中描述的操作顺序仅仅是示例,并且不限于在本文中阐述的那些操作顺序,而是可以在理解本申请的公开之后明显改变,除了必须以一定顺序进行的操作之外。此外,为了更加清楚和简洁,在理解本申请的公开之后可以省略对已知的特征的描述。
虽然本文中使用了“第一”或“第二”的术语来描述各构件、组件、区域、层或部,但是这些构件、组件、区域、层或部不应被这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分加以区分。因此,在不脱离示例的教导的情况下,本文中描述的示例中提及的第一构件、组件、区域、层或部分也可以被称为第二构件、组件、区域、层或部分。
贯穿说明书,当诸如层、区域或基板之类的元件被描述为在另一元件“上”、“连接到”或“耦接到”另一元件时,它可以直接在该另一元件“上”、“连接到”或“耦接到”该另一元件,或者可以存在介于其间的一个或多个其他元件。相反,当元件被描述为“直接在另一元件上”、“直接连接到”或“直接耦接到”另一元件时,可以不存在介于其间的其他元件。同样,也应与前述描述一样地解释例如“在…之间”和“直接在…之间”以及“与…相邻”和“与…紧邻”的表述。
本文中使用的术语仅用于描述具体示例的目的,而不用于限制本公开。如本文中使用的,单数形式“一”、“一个”和“所述”意图还包括复数形式,除非上下文明确地给出相反的指示。如本文中所使用的,术语“和/或”包括关联列出的项目中的任何一个和任何两个或更多个的任何组合。还应理解,术语“包含”、“包括”和“具有”指定所陈述的特征、数字、整数、步骤、操作、元件、组件和/或它们的组合的存在,但不排除存在或添加一个或多个其他特征、数字、整数、步骤、操作、元件、组件和/或它们的组合。在本文中,关于示例或实施例(例如,关于示例或实施例可以包括或实现什么)的术语“可以”的使用意味着存在至少一个示例或实施例,其中这样的特征是被包括或实现的,而所有示例不限于此。
除非另外定义,否则这里使用的所有术语(包括技术或科学术语)具有与本公开所属领域的普通技术人员基于对本申请的公开的理解通常所理解的含义相同的含义。还应理解,诸如在通用词典中定义的那些术语之类的术语应被解释为具有与它们在相关技术和本申请的公开的上下文中的意义相一致的意义,而不被解释为理想或过于表面的意义,除非本文如此明确地定义。
在下文中,将参考附图来详细描述示例。关于分配给附图中的元件的附图标记,应该注意的是,将由相同的附图标记来表示相同的元件,并且将省略对它们的冗余描述。
图1和图2是示出提供增强现实(AR)的电子设备的概览的示例的图。
参照图1,电子设备110是向用户100提供AR服务的设备。AR服务是可以将虚拟图像或虚拟内容叠加在用户100观看的真实世界的图像或视图上的服务。电子设备110可以使用显示器115来向用户100提供虚拟图像(例如,图2的虚拟对象220),该虚拟图像包括真实世界的真实对象120以及与真实世界的真实对象120相关的内容。用户100看到的虚拟图像可以是二维(2D)图像或三维(3D)图像。另外,虚拟图像可以是没有运动的静态图像,也可以是有运动的动态图像,例如动画。电子设备110可以是穿戴在用户100上的可穿戴设备。例如,电子设备110可以是诸如包括智能眼镜的头戴式显示器(HMD)、虚拟现实(VR)耳机和/或AR耳机和面戴式显示器在内的可穿戴电子设备(FMD),但不限于此。
图2示出了通过电子设备110的显示器115提供的AR内容210的示例。为便于说明,以下以电子设备110提供的虚拟内容为AR内容210为例进行说明,但不排除提供VR内容和/或MR内容。
电子设备110可以通过将包括虚拟信息的虚拟对象220与用户100看到的真实世界的真实对象120进行匹配来创建(例如,生成)AR内容210。AR内容210可以是例如来自真实世界的真实对象120的真实虚拟对象的复制、和/或对真实世界的真实对象120的虚拟计算机图形效果的实现。虚拟计算机图形效果例如可以是通过在真实的机械设备上实现附加信息(诸如用户手册)和/或附加内容(诸如解释用户手册的虚拟角色)而获得的虚拟图像,但不限于此。
例如,当用户100移动头部或视线时,用户100注视真实对象120的注视方向可以改变。电子设备110可以根据注视方向的变化精确地调整虚拟对象220,从而以高精度向用户100提供AR内容210。电子设备110可以通过精确测量注视方向的变化来自然地匹配真实对象120和虚拟对象220。电子设备110可以通过在用户100注视真实对象120的场景中在与真实对象120相对应的准确位置处表现虚拟对象220来真实地实现AR内容210。
电子设备110可以自行执行下述姿势估计方法(例如,电子设备可以是或包括图8的姿势估计装置800),或者可以接收由姿势估计装置(例如,图8的姿势估计装置800)估计(例如,确定)的姿势。姿势估计装置可以执行对电子设备110的定位。电子设备110的定位结果可以用于估计用户100的头部运动或用户100的注视方向。由姿势估计装置确定的电子设备110的姿势可以包括关于电子设备110的位置和取向的信息。作为非限制性示例,可以基于例如六自由度(6DoF)来表示电子设备110的姿势。电子设备110的姿势可以对应于穿戴电子设备110的用户100的姿势或包括在电子设备110中的图像传感器(例如,相机)的姿势。
姿势估计装置可以使用图像传感器获取的图像信息(例如,图3的图像帧301)以及运动传感器获取的运动信息(例如,惯性测量单元(IMU)传感器数据)来确定电子设备110的姿势。与可以使用图像信息和运动信息中的任意一个而不是两者来估计姿势的典型姿势估计装置相比,通过一起使用图像信息和运动信息来确定电子设备110的姿势,一个或多个实施例的姿势估计装置可以以更高的准确度和有效性确定电子设备110的姿势。图像传感器和运动传感器可以被包括在电子设备110中。图像传感器可以通过捕捉电子设备110的环境或周围区域的至少一部分区域(例如,用户100的正面区域)来获取图像信息。运动传感器可以测量电子设备110或用户100的运动。运动传感器可以包括例如包括加速度传感器和陀螺仪传感器的IMU,但不限于此。
姿势估计装置可以从通过捕捉真实对象120而获得的图像信息中提取真实对象120的特征点232、233、234、235、236、237和238。此外,姿势估计装置可以通过在提取的特征点232、233、234、235、236、237和238与预先定义或确定为先验信息的真实对象120的参考特征点之间的映射来跟踪特征点的位置。先验信息可以包括做出参考姿势的真实对象120的表面上的参考特征点的3D坐标信息。“特征点”也可以称为“地标”。
姿势估计装置可以通过将在先前到现在的时间段内做出的运动应用于与先前时间相对应的电子设备110的位置,来预测估计特征点的位置的估计模型的状态变量。
图3是示出估计姿势的方法的示例的图。图3示出了使用基于视觉惯性里程计(VIO)的同时定位和映射(SLAM)技术来估计姿势的姿势估计装置的配置。
VIO可以对应于如下技术,其通过融合使用诸如相机的图像传感器获取的图像信息(例如,图像帧301)和由IMU传感器获取的运动信息(例如,IMU传感器数据303)来估计对应设备的位置、速度和/或取向值。“图像信息”可以对应于从诸如相机之类的图像传感器获取的图像。与IMU传感器相比,相机可以在缓慢移动时检测到相对准确的运动。“运动信息”可以对应于通过测量施加到IMU传感器的运动而获得的信息。例如,运动信息可以包括从IMU中的加速度计和陀螺仪施加到对应设备的力、加速度和/或旋转。
SLAM可以对应于通过同时执行定位和映射来估计位置的技术。SLAM可以使用VIO作为元素技术,其中VIO同时应用图像信息和运动信息。
当在SLAM中执行实时估计位置的定位时,可以使用VIO。
姿势估计装置中使用的基于VIO的SLAM可以包括两部分,例如前端310和后端330。
在前端310中,姿势估计装置可以从图像信息(例如,图像帧301)中提取特征点,如框312所示。“特征点”可以指示在图像帧301中具有独特颜色或亮度变化的点,从而表示整体图像特征。如框314所示,在前端310中,姿势估计装置可以通过在连续捕捉的图像帧301中的特征点之间进行匹配来跟踪相同的特征点。通过跟踪匹配特征点而获得的信息可以被后端330的姿势估计装置用于估计姿势(例如,电子设备110的姿势)。
在后端330,姿势估计装置可以基于从前端310接收的匹配特征点以及由IMU传感器获取的运动信息(例如,IMU传感器数据303)来估计特征点的当前位置,如框332所示。此外,姿势估计装置可以基于所估计的特征点的当前位置来估计姿势,如框334所示。姿势估计装置可以实时输出估计的姿势,如附图标记350所示。
在后端330,姿势估计装置可以基于估计模型来估计姿势,该估计模型通过递归滤波方案使用在每一个图像帧的当前图像帧和先前图像帧中发现的运动信息和特征点。作为估计模型,可以使用基于卡尔曼滤波器的各种估计模型,例如扩展卡尔曼滤波器(EKF)、无迹卡尔曼滤波器(UKF)和/或扩展信息滤波器(EIF)。为便于描述,以下将根据基于EKF的估计模型的操作进行描述,但是这仅是一个示例。卡尔曼滤波器可以通过重复执行状态预测和测量值更新来估计姿势。EKF可以对应于通过将卡尔曼滤波器扩展到非线性模型来使用卡尔曼滤波器的方案。
一个或多个实施例的姿势估计装置可以使用针对每一帧重复地估计姿势的基于滤波器的VIO来提高操作效率。因此,一个或多个实施例的姿势估计装置即使在可能限于少量计算操作的AR和VR设备中也可以更准确地估计位置。
图4是示出姿势估计装置的操作的示例的图。参照图4,姿势估计装置400可以包括图像传感器401、运动传感器403、特征点提取和跟踪部410、运动信息获取器420、状态预测器430、测量值更新器440、和模型不确定性计算器450。
特征点提取和跟踪部410以及运动信息获取器420可以对应于前端310。运动信息获取器420、状态预测器430、测量值更新器440和模型不确定性计算器450可以对应于后端330。
姿势估计装置400可以通过例如使用基于滤波器的VIO的估计模型执行的状态预测和测量值更新来估计姿势。随着估计模型的不准确度增加,姿势估计准确度可能降低。
一个或多个实施例的姿势估计装置400可以通过考虑估计模型的不确定性来防止姿势估计准确度的降低。
姿势估计装置400可以接收由图像传感器401捕捉的图像信息(例如,图像帧)和由运动传感器403感测的惯性传感器信息。
特征点提取和跟踪部410可以从图像信息(例如,当前图像帧)中提取至少一个特征点,并将从当前图像帧中提取的特征点与从先前图像帧中提取的特征点匹配,从而跟踪当前图像帧的特征点。
运动信息获取器420可以获取运动传感器403感测到的惯性传感器信息作为运动信息。
由运动信息获取器420获取的运动信息可以在状态预测器430中使用,并且关于由特征点提取和跟踪部410跟踪的特征点的信息可以在测量值更新器440中使用。
根据基于滤波器的VIO的估计模型可以包括状态预测器430和测量值更新器440。
测量值更新器440可以基于与由特征点提取和跟踪部410跟踪的特征点相关的信息和估计模型来更新测量值(例如,特征点的位置(例如,当前位置))。估计模型可以与被跟踪的特征点的3D位置相关联,因此可能包括误差。在一个示例中,一个或多个实施例的姿势估计装置400可以在更新测量值时计算并反映估计模型的不确定性,从而提高估计模型和姿势估计装置400的性能。
姿势估计装置400可以将用于估计电子设备姿势的众多元件设置为估计模型的状态变量并实时进行估计。
例如,与运动传感器403相关的状态变量XI可以例如表示为下面示出的等式1。
等式1:
XI=(∈ δbg δv δba δp)
在等式1中,∈表示相较于参考图像帧的对应图像帧的方向误差,并且δbg表示陀螺仪传感器的偏置误差。另外,δv表示速度误差,δba表示加速度偏置误差,δp表示位置误差。
在某些非限制性示例中,与运动传感器403相关的状态变量XI还可以包括在图像传感器401和运动传感器403之间的外在参数、加速度、陀螺仪比例因子等。此外,在某些非限制性示例中,特征点的3D位置误差也可以包括在与运动传感器403相关的状态变量XI中。
在一个示例中,在图像传感器401获取的图像帧处观察到的特征点的位置误差可以被估计为与图像传感器401或图像帧相关的状态变量XF,例如如下面的等式2所示。
等式2:
等式3:
例如,估计模型的整体状态变量X可以表示为下面所示的等式4,并且估计值可以根据滤波器设计通过状态变量来改变。
等式4:
x=(xI xF)T
姿势估计装置400可以基于概率模型(例如基于滤波器的估计模型)来估计姿势。基于滤波器的估计模型的操作可以分为状态预测和测量值更新。
状态预测器430可以通过运动传感器403的输入(例如,位置、速度、方向等)和估计的值来预测当前状态变量和概率分布(例如,先前状态变量的估计协方差)。
状态预测器430可以更新基于先前状态变量而预测的当前状态变量,该先前状态变量基于先前图像帧来估计。当更新测量值(例如,特征点的位置)时,估计模型可以基于反馈结构去除误差。因此,状态预测器430可以在不执行误差值更新的情况下对概率分布执行预测。
例如,状态预测器430可以通过例如下面的等式5来预测当前状态变量。
等式5:
Pk+1=ΦkPkΦk T+Qk
在等式5中,Pk表示在时间点k的状态变量(例如,先前状态变量)的误差协方差,Pk+1表示在时间点k+1的状态变量(例如,当前状态变量)的误差协方差,Φk表示系统模型(估计模型),以及Qk可以对应于系统噪声。系统噪声Qk可由运动传感器(例如,IMU传感器)的误差特性确定。
测量值更新器440可以使用关于从当前图像帧提取的特征点的信息和由状态预测器430预测的先前状态变量的误差协方差来估计当前状态变量。
测量值更新器440可以通过反映在实际测量值(特征点的位置)与根据基于先前图像帧估计的先前状态变量预测的测量值(特征点的位置)之间的差r来更新当前状态变量。此时,与实际测量值和预测测量值之间的差相对应的残差r例如可以表示为下面所示的等式6。
等式6:
r=HX+v
在等式6中,H表示估计模型,以及v表示测量噪声(或误差)。
在一个示例中,可以将估计模型的不确定性引起的误差考虑为测量噪声,即测量值的噪声。
例如,与预测测量值和实际测量值之间的差相对应的残差r可以表示为下面所示的等式7。例如,当使用针对第j个特征点的测量值时,通过图像传感器测量的第j个特征点的实际位置和第j个特征点的预测位置可以如等式7所示进行微分。在以下等式中,符号表示实际测量值,符号表示估计值。另外,当包含符号δ时,对应的值可能是错误的。此外,当不包括符号时,对应的值可以是真实值(ground truth)。
等式7:
等式8:
等式9:
等式10:
等式11:
这里,等式11可以指示根据第j个特征点的估计的3D位置坐标计算第j个特征值在u轴上的位置坐标,并且估计值可以表示为真实值和误差的总和。
特征点位置的实际测量值和特征点位置的预测值可以表示为真实值和误差的总和,如等式10所示,然后根据等式11进行微分,并且其结果例如被表示为下面的等式12。
等式12:
等式13:
如下所示,可以通过使用等式13重新排列等式12来获得等式14。
等式14:
在等式14中,δcXj、δcYj、以及δcZj可以对应于在捕捉的图像帧处观察到的第j个特征点的3D位置坐标(x,y,z)的误差。δuj可以对应于在U轴测量的真实值uj的误差。
等式15:
ru=HuX+vu
等式16:
等式17:
在等式15至17中,X可以对应于对估计模型Hu关于U轴的状态加以指示的状态误差。ru可以对应于关于U轴上第j个特征点的实际测量位置的误差。vu可以对应于U轴上的测量噪声(测量误差)。可以对应于关于U轴上第j个特征点的位置的误差的方差。
通常,EKF可以忽略高阶项。然而,当误差不小时,由于高阶项的影响,可能会产生额外的估计误差。
在示例中,线性化EKF的高阶项可以被近似以考虑测量值(例如,特征点的位置)的噪声,也可以被称为“测量噪声”。通过这一点,一个或多个实施例的姿势估计装置可以确定和/或实现对各种运动情况鲁棒的VIO以稳定地估计姿势。此外,可以考虑估计模型的不确定性,以减少在快速运动情况下可能产生的额外噪声。通过这一点,与EKF相比,一个或多个实施例的姿势估计装置可以减少动态抖动。
等式18:
例如,假设测量噪声为高斯分布时,从前端310接收到的第j个特征点的实际位置的值可能不符合高斯分布,这在实际中可能会导致很大的误差。为了防止这种情况,可以将等式18的误差考虑为在忽略相关性的情况下的测量噪声。测量噪声可以对应于响应于特征点的深度方向位置被错误估计而生成的估计模型的误差。
可以以各种方式将估计模型的误差考虑为测量噪声。例如,模型不确定性计算器450可以将估计模型的调整参数定义为α或α,β,然后将用于更新状态变量的等式15排列为例如以下等式19。
等式19:
ru=Hux+vu+gu
测量噪声vu可以对应于关于在U轴上的第j个特征点的位置的误差的方差,如例如下面的等式20所示。
等式20:
在等式20中,gu可以对应于估计模型Hu的不确定性。
如下所示,等式21表示估计模型的不确定性以及估计模型的调整参数(α,β)。此外,在等式21中,等式18的上述误差被考虑为在忽略相关性的情况下与调谐参数成正比的噪声。
等式21:
等式22:
rv=Hvx+vv+gv
在等式22中,X可以对应于对估计模型Hv关于V轴的状态加以指示的状态误差。rv可以对应于关于V轴上第j个特征点的实际位置的误差。vv可以对应于V轴上的测量噪声(测量误差)。gv表示估计模型Hv的不确定性。
测量噪声vv可以对应于关于在V轴上的第j个特征点的位置的误差的方差,如例如下面的等式23所示。
等式23:
可以将估计模型Hv的不确定性gv考虑为测量噪声,如等式24所示。
等式24:
图5是示出估计姿势的方法的示例的流程图。在下文中,操作可以不必按顺序执行。例如,可以改变操作的顺序,并且可以并行执行两个或更多个操作。
参照图5,姿势估计装置可以通过操作510至550来估计电子设备的姿势。
在操作510中,姿势估计装置可以跟踪从包括多个图像帧的图像信息中提取的特征点的位置,该图像信息是从图像传感器接收的。例如,姿势估计装置可以在图像帧中提取当前图像帧中包括的第二特征点。姿势估计装置可以通过在第一特征点与第二特征点之间进行匹配,来跟踪第二特征点的位置,其中第一特征点是从图像帧中的当前图像帧之前的先前图像帧中提取的。
在操作520中,姿势估计装置可以基于从运动传感器接收的运动信息来预测估计电子设备的姿势的估计模型的当前状态变量。基于运动信息,姿势估计装置可以预测估计模型的当前状态变量,其中估计模型估计电子设备的姿势(包括位置、速度和方向)。估计模型例如可以是使用基于滤波器的VIO的估计模型,但不限于此。例如,滤波器可以是基于诸如EKF、UKF和EIF之类的基于卡尔曼滤波器的滤波器。当前状态变量可以包括与特征点的当前位置相对应的概率分布。
例如,在操作520中,基于运动信息和与图像帧中的先前图像帧相对应的先前状态变量,姿势估计装置可以预测先前状态变量的误差协方差和与图像帧中的当前图像帧相对应的当前状态变量。
在操作530中,姿势估计装置可以基于从图像帧中提取的特征点的第一位置与在操作520中基于当前状态变量预测的特征点的第二位置之间的残差,确定由于估计模型的不确定性引起的噪声。将参考图6更详细地描述由姿势估计装置确定由于估计模型的不确定性而引起的噪声的非限制性示例方法。
在操作540中,姿势估计装置可以基于在操作520中预测的当前状态变量、在操作510中跟踪的特征点的位置以及在操作530中确定的噪声来更新当前状态变量。例如,姿势估计装置可以基于当前状态变量、先前状态变量的误差协方差、所跟踪的特征点的位置和噪声来更新当前状态变量。
在操作550中,姿势估计装置可以基于更新的当前状态变量来估计电子设备的姿势。电子设备可以包括例如包括智能眼镜的可穿戴设备和包括AR设备、VR设备和MR设备在内的HMD中的至少一种。
图6是示出确定噪声的方法的示例的流程图。在下文中,操作可以不必按顺序执行。例如,可以改变操作的顺序,并且可以并行执行至少两个操作。
参考图6,姿势估计装置可以通过操作610和620确定由于估计模型的不确定性而引起的噪声。
在操作610中,姿势估计装置可以计算从图像帧中的当前图像帧提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差。例如,姿势估计装置可以根据等式6计算残差。
在操作620中,姿势估计装置可以基于在操作610中计算的残差来确定由于估计模型的不确定性引起的噪声。估计模型的不确定性可以根据基于卡尔曼滤波器的SLAM技术的估计协方差来确定,这只是一个示例。由于估计模型的不确定性引起的噪声例如可以对应于因为响应于特征点的深度方向位置被错误估计而产生的估计模型的误差。
姿势估计装置可以通过将从当前图像帧提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差表示为真实值和误差的总和(如等式10所示),来确定噪声。
此外,姿势估计装置可以通过使用估计模型的调整参数来近似将残差表示为真实值和误差的总和的结果,从而确定噪声。
图7是示出估计姿势的方法的另一示例的流程图。在下文中,操作可以不必按顺序执行。例如,可以改变操作的顺序,并且可以并行执行至少两个操作。
参照图7,姿势估计装置可以通过操作710至790来估计电子设备的姿势。电子设备可以包括图像传感器和运动传感器。
在操作710中,姿势估计装置可以从图像传感器接收包括多个图像帧的图像信息。
在操作720中,姿势估计装置可以提取图像帧中的当前图像帧中包括的第二特征点。
在操作730中,姿势估计装置可以通过在第一特征点与第二特征点之间进行匹配来跟踪特征点的位置,其中第一特征点是从图像帧中的当前图像帧之前的先前图像帧中提取的。
在操作740中,姿势估计装置可以从运动传感器接收电子设备的运动信息。电子设备可以是姿势估计装置,也可以是与姿势估计装置相区别的独立设备。
在操作750中,基于运动信息和与图像帧中的先前图像帧相对应的先前状态变量,姿势估计装置可以预测先前状态变量的误差协方差和与图像帧中的当前图像帧相对应的当前状态变量。
在操作760中,姿势估计装置可以计算从当前图像帧提取的第一特征点的第一位置与基于当前状态变量预测的第二特征点的第二位置之间的残差。
在操作770中,姿势估计装置可以基于残差来确定由于估计模型的不确定性引起的噪声。
在操作780中,姿势估计装置可以基于当前状态变量、先前状态变量的误差协方差、所跟踪的特征点的位置和噪声来更新当前状态变量。
在操作790中,姿势估计装置可以基于更新的当前状态变量来估计电子设备的姿势。
图8是示出姿势估计装置的示例的框图。参照图8,姿势估计装置800可以包括至少一个传感器810(例如,一个或多个传感器)、处理器830(例如,一个或多个处理器)、存储器850(例如,一个或多个存储器)、通信接口870和显示器890。至少一个传感器810、处理器830、存储器850、通信接口870和显示器890可以通过通信总线805彼此连接。
至少一个传感器810可以包括感测包含多个图像帧的图像信息的图像传感器和感测电子设备的运动信息的运动传感器。
处理器830可以执行本文描述的任何一个或多个或所有操作和方法。处理器830可以通过从图像信息中提取特征点来跟踪特征点。处理器830可以基于运动信息来预测估计电子设备的姿势的估计模型的当前状态变量。处理器830可以基于从图像帧中提取的特征点的第一位置与基于当前状态变量预测的特征点的第二位置之间的残差,确定由于估计模型的不确定性引起的噪声。处理器830可以基于当前状态变量、所跟踪的特征点的位置和噪声来更新当前状态变量。处理器830可以基于更新的当前状态变量来估计电子设备的姿势。
例如,当姿势估计装置800是可穿戴电子设备时,处理器830可以基于估计的姿势创建虚拟内容。虚拟内容可以是例如上述AR内容210、以及其他各种MR内容。
在该示例中,显示器890可以显示由处理器830创建的虚拟内容。
处理器830可以执行程序并控制姿势估计装置800。可以将由处理器830执行的程序代码存储在存储器850中。
存储器850可以存储由至少一个传感器810感测到的图像信息和/或运动信息。存储器850可以存储处理器830预测的估计模型的噪声、残差和当前状态变量中的至少一种。此外,存储器850可以存储由处理器830更新的当前状态变量、估计的姿势和/或由处理器830创建的虚拟内容。
因此,存储器850可以存储在上述处理器830的处理操作中产生的各种信息。此外,存储器850可以存储各种数据和程序等。存储器850可以包括例如易失性存储器或非易失性存储器。存储器850可以包括诸如硬盘之类的大容量存储介质以存储各种数据。
通信接口870可以接收由至少一个传感器810感测到的信息。通信接口870可以向外部发送由处理器830预测的电子设备的姿势。
姿势估计装置800可以选择性地包括显示器890。例如,当姿势估计装置800是可穿戴电子设备时,姿势估计装置800可以基于处理器830通过上述过程估计的可穿戴电子设备的姿势来匹配虚拟内容对象和真实对象。在该示例中,显示器890使处理器830匹配的虚拟内容对象和真实对象可视化。显示器890可以是例如显示器和/或柔性显示器,但不限于此。在这种情况下,匹配的结果可以显示在显示器890上。
姿势估计装置800可以对应于各种领域的设备,例如,高级驾驶辅助系统(ADAS)、平视显示器(HUD)设备、3D数字信息显示器(DID)、导航设备、神经拟态设备、3D移动设备、智能手机、智能电视(TV)、智能汽车、物联网(IoT)设备、医疗设备、测量设备等。3D移动设备可以被理解为包括例如显示设备、HMD、FMD和用于显示AR、VR和/或MR的AR眼镜的概念。
此外,处理器830可以执行以上参考图1至图7描述的方法中的至少一种或者与这些方法中的至少一种相对应的技术。处理器830可以是硬件实现的姿势估计装置,其具有物理结构化以执行期望操作的电路。例如,期望的操作可以包括程序中包括的代码或指令。作为硬件实现的姿势估计装置可以包括例如微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理器核、多核处理器、多处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和神经网络处理单元(NPU)。
电子设备、显示器、姿势估计装置、图像传感器、运动传感器、特征点提取和跟踪部件、运动信息获取器、状态预测器、测量值更新器、模型不确定性计算器、传感器、处理器、存储器、通信接口、显示器、通信总线、电子设备110、显示器115、姿势估计装置400、图像传感器401、运动传感器403、特征点提取和跟踪部410、运动信息获取器420、状态预测器430、测量值更新器440、模型不确定性计算器450、
姿势估计装置800、传感器810、处理器830、存储器850、通信接口870、显示器890、通信总线805以及本文关于图1至图8描述的其他装置、单元、模块、设备和组件由硬件组件实现或代表硬件组件。在适当的情况下可用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行本申请所述的操作的任何其他电子组件。在其他示例中,用于执行本申请中所描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其他设备或设备的组合)来实现。在一个示例中,处理器或计算机包括(或连接到)存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如,操作系统(OS)和在OS上运行的一个或多个软件应用,以执行本申请中描述的操作。硬件组件还可以响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简洁起见,在本申请中描述的示例的描述中可以使用单数术语“处理器”或“计算机”,但是在其他示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼有。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,并且一个或多个其他硬件组件可以由一个或多个其他处理器或另一处理器和另一控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可以具有不同的处理配置中的任一种或多种,所述处理配置的示例包括单处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理、和多指令多数据(MIMD)多处理。
执行本申请描述的操作的图1至图8中示出的方法是由计算硬件来执行的,例如,由如以上描述而实现的、执行指令或软件以执行本申请所述的操作(通过所述方法实现的操作)的一个或多个处理器或计算机来执行的。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可以由一个或多个其它处理器或者另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可以被编写为计算机程序、代码段、指令或其任何组合,用于单独或共同指示或配置一个或多个处理器或计算机以作为机器或专用计算机操作从而执行由上述硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的更高级的代码。可以基于附图中所示出的框图和流程图以及说明书中的对应的描述(其公开了用于执行由硬件组件执行的操作和如上所述的方法的算法),使用任何编程语言来编写指令或软件。
用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可以被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或其上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、卡类型的存储器(比如,多媒体卡或微型卡(例如,安全数字(SD)或极限数字(XD)))、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘以及任何其他设备,所述任何其他设备被配置为以非暂时性方式存储指令或软件以及任何相关数据、数据文件和数据结构,并且向一个或多个处理器或计算机提供指令或软件以及任何相关数据、数据文件和数据结构,使得一个或多个处理器或计算机可以执行所述指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得一个或多个处理器或计算机以分布方式存储、访问和执行所述指令和软件以及任何相关联的数据、数据文件和数据结构。
尽管本公开包括特定示例,但是在理解了本申请的公开内容之后将显而易见的是,在不脱离权利要求及其等同物的精神和范围的情况下,可以对这些示例进行形式和细节上的各种改变。本文描述的示例应仅被认为是描述性的,而不是为了限制的目的。每个示例中的特征或方面的描述被认为适用于其他示例中的类似特征或方面。如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其他组件或其等同物替换或补充,则可以实现合适的结果。
Claims (26)
1.一种由处理器实现的姿势估计方法,所述方法包括:
跟踪从包括多个图像帧的图像信息中提取的特征点的位置,所述图像信息是从图像传感器接收的;
基于从运动传感器接收的运动信息,预测用于确定电子设备的姿势的估计模型的当前状态变量;
基于从所述图像帧中提取的所述特征点的第一位置与基于所述当前状态变量预测的所述特征点的第二位置之间的残差,确定由于所述估计模型的不确定性引起的噪声;
基于所述当前状态变量、所跟踪的特征点的位置和所述噪声来更新所述当前状态变量;以及
基于所更新的当前状态变量确定所述电子设备的姿势。
2.根据权利要求1所述的方法,其中,确定所述噪声包括:
确定从所述图像帧中的当前图像帧提取的所述特征点的所述第一位置与基于所述当前状态变量预测的所述特征点的所述第二位置之间的残差;以及
基于所述残差确定由于所述估计模型的不确定性引起的所述噪声。
3.根据权利要求2所述的方法,其中,确定所述噪声包括:通过将从所述当前图像帧提取的所述特征点的所述第一位置与基于所述当前状态变量预测的所述特征点的所述第二位置之间的所述残差表示为真实值和误差的总和,来确定所述噪声。
4.根据权利要求3所述的方法,其中,确定所述噪声包括:通过使用所述估计模型的调整参数来近似将所述残差表示为所述真实值和所述误差的总和的结果,来确定所述噪声。
5.根据权利要求1所述的方法,其中,根据基于扩展卡尔曼滤波器的同时定位和映射SLAM技术,使用估计协方差来确定所述估计模型的所述不确定性。
6.根据权利要求1所述的方法,其中,预测所述当前状态变量包括:基于所述运动信息和与所述图像帧中的先前图像帧相对应的先前状态变量,预测所述先前状态变量的误差协方差和与所述图像帧中的当前图像帧相对应的所述当前状态变量。
7.根据权利要求6所述的方法,其中,更新所述当前状态变量包括:基于所述当前状态变量、所述先前状态变量的所述误差协方差、所跟踪的所述特征点的位置和所述噪声来更新所述当前状态变量。
8.根据权利要求1所述的方法,其中,跟踪所述特征点的位置包括:
提取包括在所述图像帧中的当前图像帧中的第二特征点;以及
通过在第一特征点与所述第二特征点之间进行匹配,来跟踪所述第二特征点的位置,其中所述第一特征点是从所述图像帧中的所述当前图像帧之前的先前图像帧中提取的。
9.根据权利要求1所述的方法,其中,所述估计模型包括使用基于滤波器的视觉惯性里程计VIO的估计模型。
10.根据权利要求1所述的方法,其中,所述电子设备包括以下项之一或两者:
包括智能眼镜的可穿戴设备;以及
包括增强现实AR设备、虚拟现实VR设备和混合现实MR设备中的任意一个或任意两个或更多个的任意组合在内的头戴式设备HMD。
11.一种存储指令的非暂时性计算机可读存储介质,当所述指令由一个或多个处理器执行时,将所述一个或多个处理器配置为执行权利要求1所述的方法。
12.一种姿势估计装置,所述装置包括:
图像传感器,被配置为感测包括多个图像帧的图像信息;
运动传感器,被配置为感测电子设备的运动信息;以及
一个或多个处理器,被配置为:
通过从所述图像信息中提取特征点来跟踪所述特征点;
基于所述运动信息预测用于确定所述电子设备的姿势的估计模型的当前状态变量;
基于从所述图像帧中提取的所述特征点的第一位置与基于所述当前状态变量预测的所述特征点的第二位置之间的残差,确定由于所述估计模型的不确定性引起的噪声;
基于所述当前状态变量、所跟踪的特征点的位置和所述噪声来更新所述当前状态变量;以及
基于所更新的当前状态变量确定所述电子设备的姿势。
13.根据权利要求12所述的装置,其中,为了确定所述噪声,所述一个或多个处理器被配置为:
确定从所述图像帧中的当前图像帧提取的所述特征点的所述第一位置与基于所述当前状态变量预测的所述特征点的所述第二位置之间的残差;以及
基于所述残差确定由于所述估计模型的不确定性引起的所述噪声。
14.根据权利要求13所述的装置,其中,为了确定所述噪声,所述一个或多个处理器被配置为:通过将从所述当前图像帧提取的所述特征点的所述第一位置与基于所述当前状态变量预测的所述特征点的所述第二位置之间的所述残差表示为真实值和误差的总和,来确定所述噪声。
15.根据权利要求14所述的装置,其中,为了确定所述噪声,所述一个或多个处理器被配置为:通过使用所述估计模型的调整参数来近似将所述残差表示为所述真实值和所述误差的总和的结果,来确定所述噪声。
16.根据权利要求12所述的装置,其中,根据基于扩展卡尔曼滤波器的同时定位和映射SLAM技术,使用估计协方差来确定所述估计模型的所述不确定性。
17.根据权利要求12所述的装置,为了预测所述当前状态变量,所述一个或多个处理器被配置为:基于所述运动信息和与所述图像帧中的先前图像帧相对应的先前状态变量,预测所述先前状态变量的误差协方差和与所述图像帧中的当前图像帧相对应的所述当前状态变量。
18.根据权利要求17所述的装置,为了更新所述当前状态变量,所述一个或多个处理器被配置为:基于所述当前状态变量、所述先前状态变量的所述误差协方差、所跟踪的所述特征点的位置和所述噪声来更新所述当前状态变量。
19.根据权利要求12所述的装置,其中,为了跟踪所述特征点的位置,所述一个或多个处理器被配置为:
提取包括在所述图像帧中的当前图像帧中的第二特征点;以及
通过在第一特征点与所述第二特征点之间进行匹配,来跟踪所述第二特征点的位置,其中所述第一特征点是从所述图像帧中的所述当前图像帧之前的先前图像帧中提取的。
20.根据权利要求12所述的装置,其中,所述估计模型包括使用基于滤波器的视觉惯性里程计VIO的估计模型。
21.根据权利要求12所述的装置,其中,所述电子设备包括以下项之一或两者:
包括智能眼镜的可穿戴设备;以及
包括增强现实AR设备、虚拟现实VR设备和混合现实MR设备中的任意一个或任意两个或更多个的任意组合在内的头戴式设备HMD。
22.一种可穿戴电子设备,包括:
图像传感器,被配置为感测包括多个图像帧的图像信息;
运动传感器,被配置为感测所述可穿戴电子设备的运动信息;
一个或多个处理器,被配置为:
通过从所述图像信息中提取特征点来跟踪所述特征点;
基于所述运动信息预测用于确定所述可穿戴电子设备的姿势的估计模型的当前状态变量;
基于从所述图像帧中提取的所述特征点的第一位置与基于所述当前状态变量预测的所述特征点的第二位置之间的残差,确定由于所述估计模型的不确定性引起的噪声;
基于所述当前状态变量、所跟踪的特征点的位置和所述噪声来更新所述当前状态变量;
基于所更新的当前状态变量确定所述可穿戴电子设备的姿势;以及
基于所确定的姿势生成虚拟内容;以及
显示器,被配置为显示所述虚拟内容。
23.一种由处理器实现的姿势估计方法,所述方法包括:
预测用于确定电子设备的姿势的估计模型的当前状态变量;
基于从图像帧中提取的特征点的第一位置与基于所述当前状态变量预测的所述特征点的第二位置之间的残差,确定由于所述估计模型的不确定性引起的噪声;
基于所述噪声更新所述当前状态变量;以及
基于所更新的当前状态变量确定所述电子设备的姿势。
24.根据权利要求23所述的方法,其中,所述当前状态变量包括与运动传感器相对应的状态变量和与图像传感器相对应的状态变量。
25.根据权利要求24所述的方法,其中,与运动传感器相对应的状态变量包括所述图像帧中的图像帧的方向误差、所述运动传感器的偏置误差、速度误差、加速度偏置误差和位置误差中的任意一种或任意两种或更多种的任意组合。
26.根据权利要求24所述的方法,其中,与图像传感器相对应的状态变量包括在所述图像帧中的图像帧处观察到的特征点的位置的误差。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210100131A KR20230018214A (ko) | 2021-07-29 | 2021-07-29 | 포즈를 추정하는 방법 및 장치 |
KR10-2021-0100131 | 2021-07-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115690201A true CN115690201A (zh) | 2023-02-03 |
Family
ID=81325684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210158102.0A Pending CN115690201A (zh) | 2021-07-29 | 2022-02-21 | 姿势估计方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230035458A1 (zh) |
EP (1) | EP4125039B1 (zh) |
JP (1) | JP2023020877A (zh) |
KR (1) | KR20230018214A (zh) |
CN (1) | CN115690201A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210030147A (ko) * | 2019-09-09 | 2021-03-17 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
-
2021
- 2021-07-29 KR KR1020210100131A patent/KR20230018214A/ko unknown
-
2022
- 2022-01-26 US US17/584,682 patent/US20230035458A1/en active Pending
- 2022-02-21 CN CN202210158102.0A patent/CN115690201A/zh active Pending
- 2022-03-25 EP EP22164546.8A patent/EP4125039B1/en active Active
- 2022-05-06 JP JP2022076437A patent/JP2023020877A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4125039B1 (en) | 2023-10-04 |
JP2023020877A (ja) | 2023-02-09 |
KR20230018214A (ko) | 2023-02-07 |
EP4125039A1 (en) | 2023-02-01 |
US20230035458A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10964030B2 (en) | Device and method with pose estimator based on current predicted motion state array | |
CN107407567B (zh) | 增强现实导航 | |
KR102442780B1 (ko) | 장치의 자세 추정 방법 및 그 장치 | |
US10891795B2 (en) | Localization method and apparatus based on 3D color map | |
US20220051031A1 (en) | Moving object tracking method and apparatus | |
US11842514B1 (en) | Determining a pose of an object from rgb-d images | |
US20230154134A1 (en) | Method and apparatus with pose estimation | |
US10866427B2 (en) | Method and apparatus for outputting pose information | |
CN109141411B (zh) | 定位方法、定位装置、移动机器人及存储介质 | |
EP4050564A1 (en) | Method and apparatus with augmented reality pose determination | |
US20230145875A1 (en) | Apparatus for accelerating simultaneous localization and mapping and electronic device including the same | |
CN117044194A (zh) | 同步定位与地图构建的情境化和细化 | |
CN115690201A (zh) | 姿势估计方法和装置 | |
US11328182B2 (en) | Three-dimensional map inconsistency detection using neural network | |
CN112562087A (zh) | 用于估计姿态的方法和装置 | |
WO2023140990A1 (en) | Visual inertial odometry with machine learning depth | |
CN114913500A (zh) | 位姿确定方法、装置、计算机设备和存储介质 | |
US20240169562A1 (en) | Device and method with camera pose estimation | |
US20220237814A1 (en) | Method and apparatus with pose prediction | |
WO2023032321A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
EP4181065A2 (en) | Method and device with sensing data processing | |
EP4181066A1 (en) | Method and apparatus with pose estimation | |
EP3822914B1 (en) | Device and method with simultaneous implementation of localization and mapping | |
US20230377182A1 (en) | Augmented reality device for obtaining depth information and method of operating the same | |
KR20230161309A (ko) | 깊이 정보를 획득하는 증강 현실 디바이스 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |