CN109146965B - 信息处理装置、计算机可读介质和头戴式显示装置 - Google Patents
信息处理装置、计算机可读介质和头戴式显示装置 Download PDFInfo
- Publication number
- CN109146965B CN109146965B CN201810620562.4A CN201810620562A CN109146965B CN 109146965 B CN109146965 B CN 109146965B CN 201810620562 A CN201810620562 A CN 201810620562A CN 109146965 B CN109146965 B CN 109146965B
- Authority
- CN
- China
- Prior art keywords
- pose
- sensor
- sequence
- image
- imu
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Abstract
信息处理装置和计算机程序。一种头戴式显示装置包括相机、与相机成第一空间关系的惯性传感器以及处理器,该处理器:从相机获取图像数据序列;并且从惯性传感器获取传感器数据序列;基于图像数据序列中的图像帧和基于与对象对应的3D模型创建的模板数据来推导对象的第一姿态;至少基于第一姿态或从第一姿态跟踪的姿态、传感器数据序列和第一空间关系来推导对象或3D模型上定义的对象坐标系与全局坐标系之间的第二空间关系;并且使用非线性估计算法至少基于图像数据序列、传感器数据序列和第二空间关系来推导对象的第二姿态。
Description
技术领域
本发明的实施方式涉及一种使用相机和运动传感器(例如,惯性传感器)来处理关于目标对象的三维模型的信息的信息处理装置的技术。
背景技术
JP-A-2013-50947中公开了估计由相机成像的对象的姿态的方法,其公开了这样一种技术:创建包括对象的图像的输入图像的二值掩码,从二值掩码提取作为对象的内外轮廓中的点的单重态(singlet),并且将单重态的集合彼此连接以形成被表示为双重矩阵的网格,从而估计对象的姿态。
然而,诸如JP-A-2013-50947的现有技术仅使用相机来估计姿态。然而,相机具有延迟,其随着用户的头部的运动或速度增加而增加。
发明内容
本申请的实施方式公开了具有相机的系统以及具有相机和运动传感器的系统。组合的相机和运动传感器的实施方式减小了延迟并增加了系统的效率。
本发明的一些方面的优点在于解决了上述问题中的至少一部分,并且本发明的各方面可被实现为以下方面。
(1)根据本发明的一方面,提供了一种用于跟踪用户正在观看的对象的姿态的方法。该方法可包括:从相机获取图像数据序列;从惯性传感器获取传感器数据序列,所述惯性传感器固定或者相对于相机以第一空间关系可调节地固定;利用计算机处理器使用图像数据序列中的图像帧和基于与对象对应的3D模型创建的模板数据来推导对象的第一姿态;利用计算机处理器至少基于(1)第一姿态或从第一姿态跟踪的姿态、(2)传感器数据序列和(3)第一空间关系来推导对象或3D模型上定义的对象坐标系与全局坐标系之间的第二空间关系;利用计算机处理器使用非线性估计算法至少基于图像数据序列、传感器数据序列和第二空间关系来推导对象的第二姿态;以及利用显示器使用对象的第二姿态来显示图像。
(2)根据本发明的另一方面,一种用于跟踪用户所观看的对象的各个姿态的方法可包括:从相机获取图像数据序列;从惯性传感器获取传感器数据序列,所述惯性传感器固定或者相对于相机以第一空间关系可调节地固定;利用计算机处理器基于图像数据序列中的图像帧和基于分别与对象对应的3D模型创建的模板数据来推导各个对象的第一姿态;利用计算机处理器至少基于第一姿态或从第一姿态跟踪的姿态、传感器数据序列和第一空间关系来推导对象或3D模型上分别定义的对象坐标系与全局坐标系之间的各个第二空间关系,并且利用计算机处理器使用非线性估计算法至少基于图像数据序列、传感器数据序列和第二空间关系来推导各个对象的第二姿态;以及将第二空间关系存储在存储器中。
(3)根据本发明的另一方面,一种头戴式显示装置可包括:相机;惯性传感器,其固定或者相对于相机以第一空间关系可调节地固定;以及处理器。该处理器可被配置为:从相机获取图像数据序列;从惯性传感器获取传感器数据序列;基于图像数据序列中的图像帧和基于与对象对应的3D模型创建的模板数据来推导对象的第一姿态;至少基于第一姿态或从第一姿态跟踪的姿态、传感器数据序列和第一空间关系来推导对象或3D模型上定义的对象坐标系与全局坐标系之间的第二空间关系;并且使用非线性估计算法至少基于图像数据序列、传感器数据序列和第二空间关系来推导对象的第二姿态。
本发明可按照信息处理装置以外的形式方面来实现。例如,本发明可按照诸如头戴式显示器、显示装置、信息处理装置和显示装置的控制方法、信息处理系统、用于实现信息处理装置的功能的计算机程序、记录有该计算机程序的记录介质以及包括计算机程序并以载波具体实现的数据信号的形式来实现。
附图说明
将参照附图描述本发明的各方面,其中,相似的标号指代相似的元件。
图1是示出在本实施方式中作为信息处理装置的个人计算机的功能配置的框图。
图2是示出由模板创建器执行的模板创建处理的流程图。
图3是用于说明使用式(1)计算的针对三维模型表示目标对象的两个维度中的N个点的集合的图。
图4A-4C是示出3D CAD、2D模型与基于2D模型创建的3D模型之间的关系的示意图。
图5是示出使用模板来优化成像的目标对象的姿态的头戴式显示器(HMD)的外部配置的图。
图6是功能上示出本实施方式中的HMD的配置的框图。
图7是示出估计目标对象的姿态的处理的流程图。
图8是示出单个模型点可与多个图像点组合的图。
图9是示出模型点与错误的图像点组合的示例的图。
图10是示出CF相似度的计算示例的图。
图11是示出CF相似度的计算示例的图。
图12是示出CF相似度的计算示例的图。
图13是示出第二实施方式中的CF相似度的计算示例的图。
图14是示出第二实施方式中的CF相似度的计算示例的图。
图15是示出第二实施方式中的CF相似度的计算示例的图。
图16A是示出根据实施方式的AR应用中的姿态与对象之间的延迟高的图。
图16B是示出根据实施方式的AR应用中的姿态与对象之间的延迟低或没有延迟的图。
图17是示出根据实施方式的具有惯性传感器和相机传感器的HMD的示意性配置的图。
图18是示出根据实施方式的图17的HMD的功能配置的框图。
图19是框示出根据实施方式的惯性传感器中的融合部的图。
图20是示出根据实施方式的融合的传感器数据与图像数据融合以预测对象位置的流程图。
图21是示出根据实施方式的融合的传感器数据与图像数据融合的流程图。
图22是示出根据实施方式的对象姿态预测的流程图。
图23是示出根据实施方式的将传感器融合初始化的流程图。
图24是示出根据实施方式的惯性传感器对象跟踪器的流程图。
图25是示出根据实施方式的将IMU融合重新初始化的流程图。
图26是示出根据实施方式的处理视觉丢失的流程图。
图27是示出根据实施方式的针对所生成的姿态的抖动减小的流程图。
图28是示出根据实施方式的特征匹配的图。
具体实施方式
在本说明书中,将根据以下项按顺序进行描述。
A.第一实施方式
A-1.信息处理装置的配置
A-2.模板的创建(训练)
A-2-1.2D模型点的选择
A-2-2.3D模型点的确定和模板的创建
A-2-3.用于训练的平面内旋转优化
A-2-4.超级模板
A-3.头戴式显示器(HMD)的配置
A-4.目标对象姿态的估计的执行
A-4-1.边缘检测
A-4-2.模板的选择
A-4-3.2D模型点对应关系
A-4-4.姿态的优化
A-4-5.子像素对应关系
B.第二实施方式
C.第三实施方式
D.修改例
D-1.修改例1
E.使用惯性运动传感器(IMU)和相机传感器的融合的的3D跟踪对象E-1.介绍
E-2-1.概述
E-2-1-1.系统
E-2-1-2.IMU传感器的融合部
E-2-1-3.传感器融合的方法的概述
E-2-2.跟踪器融合IMU
E-2-2-1.将IMU与3D对象跟踪器融合的方法
E-2-2-2.将IMU融合初始化
E-2-2-2-1.检测静止运动
E-2-2-3.IMU姿态预测
E-2-2-4.IMU发散确定
E-2-2-5.IMU对象跟踪器
E-2-2-5-1.检测静止运动
E-2-2-5-2.使用IMU预测姿态预测特征点位置/使用预测特征位置的KLT匹配
E-2-2-5-3.使用KLT匹配结果和IMU预测姿态的姿态估计
E-2-2-5-4.通过边缘对齐和IMU预测姿态的姿态细化
E-2-2-5-5.离群值去除
E-2-2-6.将IMU融合重新初始化
E-2-2-7.融合IMU和视觉
E-2-2-8.处理视觉丢失
E-2-3.得到抖动减小的IMU姿态
E-2-3-1.检测静止运动
E-2-3-2.检测运动抖动
E-3.实验结果
E-3-1.延迟改进
E-3-2.减少跟踪漂移
E-3-3.容许更快的用户运动
A.第一实施方式
A-1.信息处理装置的配置
图1是示出在本实施方式中作为信息处理装置的个人计算机PC的功能配置的框图。个人计算机PC包括CPU 1、显示单元2、电源3、操作单元4、存储单元5、ROM和RAM。电源3向个人计算机PC的各个单元供电。作为电源3,例如,可使用二次电池。操作单元4是用于从用户接收操作的用户接口(UI)。操作单元4由键盘和鼠标构成。
存储单元5存储各种数据项,并且由硬盘驱动器等构成。存储单元5包括3D模型存储部7和模板存储部8。3D模型存储部7存储使用计算机辅助设计(CAD)创建的目标对象的三维模型。模板存储部8存储由模板创建器6创建的模板。由模板创建器6创建的模板的细节将稍后描述。
CPU 1从ROM读取各种程序并在RAM中展开程序,以执行各种程序。CPU 1包括执行用于创建模板的程序的模板创建器6。模板被定义为这样的数据,即,在所述数据中,相对于存储在3D模型存储部7中的单个三维模型(在本实施方式中,3DCAD),表示通过基于虚拟特定视点(以下,也简称为“视角”)将3D模型投影到虚拟平面上而获得的2D模型的外观的轮廓线(以下,也简称为“轮廓”)中所包括的点(2D模型点)的坐标值、通过基于所述特定视角将2D模型点转换为对象坐标系中的点而获得的3D模型点以及所述特定视角彼此相关。本实施方式的虚拟视点由用于从对象坐标系向虚拟相机坐标系变换并在相机坐标系表示的刚体变换矩阵以及用于将三维坐标投影到虚拟平面上的坐标上的透视投影变换矩阵表示。刚体变换矩阵由表示绕彼此正交的三个轴的旋转的旋转矩阵以及表示沿着三个轴的平移的平移矢量表示。透视投影变换矩阵被适当地调节以使得虚拟平面对应于显示装置的显示面或相机的成像面。如稍后描述的,CAD模型可用作3D模型。以下,基于视角执行刚体变换和透视投影变换将被简称为“投影”。
A-2.模板的创建(训练)
图2是示出由模板创建器6执行的模板创建处理的流程图。模板创建器6创建当存储在3D模型存储部7中的目标对象的三维模型从T个视角看时所获得的T个模板。在本实施方式中,模板的创建也将被称为“训练”。
在模板创建处理中,首先,模板创建器6准备存储在3D模型存储部7中的三维模型(步骤S11)。接下来,模板创建器6针对不同的t个视角中的每一个使用所有可能的平面内旋转(1、…、和P)渲染CAD模型,以获得其各个2D模型。各个视角是“发明内容”中的特定视点的示例。模板创建器6对各个2D模型执行边缘检测以获取边缘特征(步骤S13)。
模板创建器6针对T(P x t)个视角中的每一个基于边缘特征计算指示2D模型的轮廓的轮廓特征(CF)(步骤S15)。如果提供足够密集采样的视角的集合,则可获得具有与图像点(将稍后描述)匹配的轮廓特征的视角。2D模型点是表示虚拟平面上的2D模型的轮廓的点或者包括在轮廓中的点。模板创建器6针对各个样本视角从2D轮廓中的2D模型点当中选择代表性2D模型点(如将在下一节中描述的),并且计算所选择的特征的描述符。边缘特征或轮廓特征也可被称为特征描述符,并且是“发明内容”中的特征信息的示例。
如果两个维度中的轮廓特征的计算完成,则模板创建器6选择2D轮廓特征(步骤S17)。接下来,模板创建器6计算具有与特征的各个描述符对应的对象坐标系中的3D坐标的3D点(步骤S19)。
A-2-1. 2D模型点的选择(步骤S17)
模板创建器6针对各个样本视角从设置在轮廓中的点当中选择位于标量场中点具有高亮度梯度值(以下,也称为“梯度大小”)的位置处并且彼此充分地分离的N个点。具体地,模板创建器6从具有足够大的梯度大小的所有点当中选择使由下式(1)表示的得分最大的多个点。
在式(1)中,Ei指示点i的梯度大小,Dij指示点i与点j之间的距离。在本实施方式中,为了使式(1)所示的得分最大,首先,模板创建器6选择具有最大梯度大小的点作为第一点。接下来,模板创建器6选择使E2D21 2最大的第二点。接下来,模板创建器6选择使下式(2)最大的第三点。然后,模板创建器6选择第四点、第五点、…、和第N点。
图3是示出使用式(1)计算的N个2D模型点的集合PMn的图。在图3中,2D模型点的集合PMn被显示为与所拍摄的目标对象OBm的图像交叠。为了将所拍摄的目标对象OBm的图像与2D模型集合PMn相区分,目标对象OBm的位置相对于集合PMn偏离。如图3所示,作为使用式(1)计算的点的集合的2D模型点的集合PMn被分布以基本上与所拍摄的目标对象OBm的图像的轮廓匹配。如果计算2D模型点的集合PMn,则模板创建器6将2D模型点的位置或地点与该位置处的亮度的梯度(矢量)相关,并且将相关结果存储为该位置处的轮廓特征。
A-2-2. 3D模型点的确定和模板的创建(步骤S19和S20)
模板创建器6计算与所计算的2D模型点的集合PMn对应的3D模型点。3D模型点和轮廓特征的组合取决于视角。
如果提供2D模型点和视角V,则模板创建器6通过以下三个步骤来计算3D模型点POBJ。
1.在虚拟平面上绘制(渲染)视角V中的3D CAD模型的深度图。
2.如果获得2D模型点p的深度值,则计算表示在相机坐标系中的3D模型坐标PCAM。
3.对视角V执行逆3D变换,并且计算3D模型点在对象坐标系(原点被固定到3D模型的坐标系)中的坐标POBJ。
作为执行上述三个步骤的结果,模板创建器6将由下面的表达式(3)表示的各个视角t的视角矩阵Vt、由下面的表达式(4)表示的与各个视角关联的对象坐标系中的3D模型点以及由下面的表达式(5)表示的与对象坐标系中的3D模型点对应并且与各个视角关联的2D特征(以下,也称为轮廓特征)的描述符创建到单个模板中。
t∈{1,...,T}···(3)
{P1,...,PN}t···(4)
{CF1,...,CFN}t···(5)
图4A至图4C是示出3D CAD、通过投影3D CAD而获得的2D模型以及基于2D模型创建的3D模型之间的关系的示意图。如作为示出上述模板创建处理的图像图的图4A至图4C所示,模板创建器6基于作为3D模型的3D CAD的视角Vn渲染虚拟平面上的2D模型。模板创建器6检测通过渲染获得的图像的边缘,进一步提取轮廓,并且基于参照式(1)和(2)描述的方法选择包括在轮廓中的多个2D模型点。以下,所选择的2D模型点的位置以及2D模型点的位置处的梯度(亮度梯度矢量)由轮廓特征CF表示。模板创建器6对二维空间中的由轮廓特征CFi表示的2D模型点pi执行逆变换以获得与轮廓特征CFi对应的三维空间中的3D模型点Pi。这里,3D模型点Pi被表示在对象坐标系中。视角Vn下的模板包括由下面的表达式(6)表示的元素。
(CF1n,CF2n,···,3DP1n,3DP2n,···,Vn)···(6)
在表达式(6)中,具有相同后缀的轮廓特征和3D模型点(例如,CF1n和3DP1m)彼此相关。在视角Vn下未检测到的3D模型点可在不同于视角Vn的视角Vm等下检测到。
在本实施方式中,如果提供2D模型点p,则模板创建器6将2D模型点p的坐标当作表示像素的拐角的整数。因此,2D模型点p的深度值对应于(p+0.5)的坐标。结果,模板创建器6使用(p+0.5)的坐标以用于逆投影2D点p。当恢复的3D模型点被投影时,模板创建器6截断浮点坐标以获得整数坐标。
A-2-3.用于训练的平面内旋转优化
如果提供单个视角,则可从单个视角视觉上识别基本上相同的特征,因此模板创建器6通过对单个视角执行平面内旋转来创建多个模板。模板创建器6可通过创建经历平面内旋转的模板来以较少的处理创建多个模板。具体地,模板创建器6分别基于表达式(4)和(5)根据下面的表达式(7)和(8)为视角t下的0度的平面内旋转定义3D点和CF描述符。
{P1,...,PN}t,0···(7)
{CF1,...,CFN}t,0···(8)
模板创建器6使用表达式(7)和(8)针对α度的平面内旋转下的模板计算3D模型点和轮廓特征描述符。无论平面内旋转如何,可见性不改变,并且表达式(7)中的3D模型点被表示在对象坐标系中。从这一事实,α度的平面内旋转下的3D模型点通过仅复制0度的平面内旋转下的3D模型点的点坐标来获得,因此如下式(9)中那样表示。
{P1,...,PN}t,α={P1,...,PN}t,0···(9)
α度的平面内旋转下的轮廓特征被存储在2D坐标系中,因此使0度的平面内旋转下的轮廓特征旋转α度就足够了。这种旋转通过将2×2的旋转矩阵应用于各个矢量CFi来执行,并且如下式(10)中那样表示。
式(10)中的旋转是顺时针旋转,并且对应于用于训练的当前视角采样方法。视角t对应于“发明内容”中的特定视点。2D模型点的集合PMn对应于两个维度中的多个特征点的位置,3D模型点对应于三个维度中的多个特征点的位置,其表示在对象坐标系中。
A-2-4.超级模板
模板创建器6选择不同视角t下的K个(例如,四个)模板,并且将所选择的K个模板合并成单个超级模板。模板创建器6选择视角t彼此最接近的模板作为K个模板。因此,超级模板可能包括对象上可视觉上识别的目标对象的所有边缘的可能性高。因此,在优化所检测的目标对象的姿态的情况下,收敛于准确姿态的可能性高。
如上所述,在本实施方式的个人计算机PC中,在从特定视角看表示目标对象的三维CAD模型的情况下,模板创建器6检测两个维度中的多个边缘。模板创建器6计算通过变换多个边缘的轮廓特征而获得的3D模型点。模板创建器6创建如下的模板,即,在所述模板中,两个维度中的多个边缘、通过变换获得的3D模型点以及特定视角彼此相关。因此,在本实施方式中,由于通过例如个人计算机PC创建的模板,当通过相机等对目标对象成像并且选择表示与所拍摄的图像中的目标对象的姿态最接近的姿态的模板时,以高准确性和/或在短时间段内估计成像的目标对象的姿态。
A-3.头戴式显示器(HMD)的配置
图5是使用模板来优化成像的目标对象的姿态的头戴式显示器100(HMD 100)的外部配置的图。如果相机60(将稍后描述)拍摄目标对象的图像,则HMD 100优选使用超级模板和所拍摄的目标对象的图像来优化和/或估计成像的目标对象的位置和姿态。
HMD 100是装在头上的显示装置,也被称为头戴式显示器(HMD)。本实施方式的HMD100是允许用户视觉上识别虚拟图像并且还直接视觉上识别外部景物的光学透射或光学透视型头戴式显示器。在本说明书中,为了方便,HMD 100允许用户视觉上识别的虚拟图像也被称为“显示图像”。
HMD 100包括:图像显示部20,其在装在用户的头上的状态下使得用户能够实际上识别虚拟图像;以及控制部10(控制器10),其控制图像显示部20。
图像显示部20是要装在用户的头上的安装体,并且在本实施方式中具有眼镜形状。图像显示部20包括右保持单元21、右显示驱动单元22、左保持单元23、左显示驱动单元24、右光学图像显示单元26、左光学图像显示单元28和相机60。右光学图像显示单元26和左光学图像显示单元28被设置为当用户穿戴图像显示部20时位于用户的右眼和左眼的前方。右光学图像显示单元26的一端和左光学图像显示单元28的一端在当用户穿戴图像显示部20时在与用户的眉间对应的位置处彼此连接。
右保持单元21是当用户穿戴图像显示部20时被设置为从端部ER(右光学图像显示单元26的另一端)延伸越过与用户的颞区对应的位置的构件。类似地,左保持单元23是当用户穿戴图像显示部20时被设置为从端部EL(左光学图像显示单元28的另一端)延伸越过与用户的颞区对应的位置的构件。右保持单元21和左保持单元23按照与眼镜腿相同的方式将图像显示部20保持在用户的头上。
当用户穿戴图像显示部20时右显示驱动单元22和左显示驱动单元24被设置在与用户的头部相对的一侧。以下,右保持单元21和左保持单元23被统一简称为“保持单元”,右显示驱动单元22和左显示驱动单元24被统一简称为“显示驱动单元”,右光学图像显示单元26和左光学图像显示单元28被统一简称为“光学图像显示单元”。
显示驱动单元22和24分别包括液晶显示器241和242(以下,称为“LCD 241和242”)、投影光学系统251和252等(参照图6)。显示驱动单元22和24的配置的细节将稍后描述。作为光学构件的光学图像显示单元26和28包括导光板261和262(参照图6)和调光板。导光板261和262由光透射树脂材料等制成并且将从显示驱动单元22和24输出的图像光引导到用户的眼睛。调光板是薄板形光学元件,并且被设置为覆盖图像显示部20的表面侧(与用户的眼睛侧相反的一侧)。调光板保护导光板261和262以防止导光板261和262被损坏、弄脏等。另外,调节调光板的光透射比以调节进入用户的眼睛的外部光的量,从而控制实际上识别虚拟图像的程度。调光板可被省略。
相机60对外部景物成像。相机60被设置在右光学图像显示单元26的一端和左光学图像显示单元28的一端彼此连接的位置处。如稍后将详细描述的,使用包括在由相机60成像的外部景物中的目标对象的图像以及优选存储在存储单元120中的超级模板来估计包括在外部景物中的目标对象的姿态。相机60对应于“发明内容”中的成像部。
图像显示部20还包括将图像显示部20连接到控制部10的连接单元40。连接单元40包括连接到控制部10的主体软线(cord)48、右软线42、左软线44和连接构件46。右软线42和左软线44是主体软线48所分出的两条软线。右软线42从右保持单元21的延伸方向上的顶端AP插入到右保持单元21的壳体中,并且连接到右显示驱动单元22。类似地,左软线44从左保持单元23的延伸方向上的顶点AP插入到左保持单元23的壳体中,并且连接到左显示驱动单元24。连接构件46设置在主体软线48、右软线42和左软线44的分支点处,并且具有用于连接耳机插头30的插孔。右耳机32和左耳机34从耳机插头30延伸。
图像显示部20和控制部10经由连接单元40发送各种信号。主体软线48的在与连接构件46相反的一侧的端部和控制部10分别设置有彼此配合的连接器(未示出)。主体软线48的连接器和控制部10的连接器彼此配合或脱离,因此控制部10与图像显示部20连接或断开。例如,金属线缆或光纤可用作右软线42、左软线44和主体软线48。
控制部10是用于控制HMD 100的装置。控制部10包括确定键11、照明单元12、显示改变键13、跟踪板14、亮度改变键15、方向键16、菜单键17和电源开关18.确定键11检测推按操作,以输出用于确定控制部10中操作的内容的信号。照明单元12使用其发光状态来指示HMD 100的操作状态。HMD 100的操作状态包括例如电源的开和关等。例如,LED用作照明单元12。显示改变键13检测推按操作,以输出用于在3D和2D之间改变内容移动图像显示模式的信号。跟踪板14检测用户的手指在跟踪板14的操作表面上的操作,以基于所检测的内容输出信号。作为跟踪板14,可采用电容型、压力检测型和光学型的各种跟踪板。亮度改变键15检测推按操作,以输出用于增大或减小图像显示部20的亮度的信号。方向键16检测与垂直和水平方向对应的键上的推按操作,以基于所检测的内容输出信号。电源开关18检测开关的滑动操作以改变HMD 10的电源状态。
图6是示出本实施方式的HMD 100的配置的功能框图。如图6所示,控制部10包括存储单元120、电源130、操作单元135、CPU 140、接口180、传输单元51(Tx51)和传输单元52(Tx52)。操作单元135由确定键11、显示改变键13、跟踪板14、亮度改变键15、方向键16和菜单键17以及电源开关18构成,其从用户接收操作。电源130向HMD 100的各个单元供电。例如,二次电池可用作电源130。
存储单元120包括存储计算机程序的ROM、用于CPU 140以执行各种计算机程序的写入和读取的RAM以及模板存储部121。模板存储部121存储由个人计算机PC的模板创建器6创建的超级模板。模板存储部121经由连接到接口180的USB存储器来获取超级模板。模板存储部121对应于所附权利要求书中的模板获取部。
CPU 140读取存储在存储单元120的ROM中的计算机程序,并且将计算机程序写入到存储单元120的RAM中以及从存储单元120的RAM读取计算机程序,以用作操作系统150(OS150)、显示控制单元190、声音处理单元170、图像处理单元160、图像设定单元165、位置对应关系确定单元168和优化单元166。
显示控制单元190生成用于控制右显示驱动单元22和左显示驱动单元24的控制信号。具体地,显示控制单元190使用控制信号来单独地控制右LCD控制部211以打开和关闭右LCD 241的驱动,控制右背光控制部201以打开和关闭右背光221的驱动,控制左LCD控制部212以打开和关闭左LCD 242的驱动,并且控制左背光控制部202以打开和关闭左背光222的驱动。因此,显示控制单元190控制右显示驱动单元22和左显示驱动单元24中的每一个以生成并发射图像光。例如,显示控制单元190使得右显示驱动单元22和左显示驱动单元24二者生成图像光,使得两个单元中的任一个生成图像光,或者使得两个单元均不生成图像光。生成图像光也被称为“显示图像”。
显示控制单元190经由传输单元51和52向右LCD控制部211和左LCD控制部212发送控制信号。显示控制单元190向右背光控制部201和左背光控制部202发送控制信号。
图像处理单元160获取包括在内容中的图像信号。图像处理单元160从所获取的图像信号分离诸如垂直同步信号VSync和水平同步信号HSync的同步信号。图像处理单元160基于所分离的垂直同步信号VSync或水平同步信号HSync的循环使用锁相环(PLL)电路等(未示出)来生成时钟信号PCLK。图像处理单元160使用A/D转换电路等(未示出)将分离出同步信号的模拟图像信号转换为数字图像信号。接下来,图像处理单元160针对各个帧将所转换的数字图像信号作为目标图像的图像数据(RGB数据)存储在存储单元120的DRAM中。根据需要,图像处理单元160可对图像数据执行包括分辨率转换处理的图像处理、诸如亮度和颜色饱和度的调节的各种色调校正处理、梯形失真校正处理等。
图像处理单元160经由传输单元51和52发送所生成的时钟信号PCLK、垂直同步信号VSync和水平同步信号HSync中的每一个以及存储在存储单元120的DRAM中的图像数据。这里,经由传输单元51发送的图像数据被称为“右眼图像数据”,经由传输单元52发送的图像数据Data被称为“左眼图像数据”。传输单元51和52用作用于控制部10与图像显示部20之间的串行传输的收发器。
声音处理单元170获取包括在内容中的音频信号以放大所获取的音频信号,并且将所放大的音频信号供应给与连接构件46连接的右耳机32的扬声器(未示出)以及与连接到那里的左耳机34的扬声器(未示出)。另外,例如,在采用Dolby(注册商标)系统的情况下,音频信号被处理,因此从右耳机32和左耳机34分别输出频率改变的不同声音。
在由相机60拍摄包括目标对象的外部景物的图像的情况下,位置对应关系确定单元168检测所拍摄的图像中的目标对象的边缘。然后,位置对应关系确定单元168确定目标对象的边缘(边缘特征元素)与存储在模板存储部121中的2D模型的轮廓特征元素之间的对应关系。在本实施例中,以特定目标对象(例如,特定部分)作为预设目标对象预先创建并存储多个模板。因此,如果在所拍摄的图像中包括预设目标对象,则位置对应关系确定单元168确定目标对象的边缘的2D位置与从在不同视角下的多个模板当中选择的模板中所包括的目标对象的2D模型点的2D位置之间的对应关系。稍后将描述确定或建立所拍摄的图像中的目标对象的边缘特征元素与模板中的2D模型的轮廓特征元素之间的对应关系的特定处理。
优化单元166从目标对象的模板输出与图像点具有对应关系的2D模型点所对应的3D模型点(包括各个3D位置),并且基于图像点、3D模型点以及由至少一个变换矩阵表示的视角使式(14)中的成本函数最小,以估计包括在由相机60成像的外部景物中的目标对象在三个维度中的位置和姿态。稍后将描述成像的目标对象的位置和姿态的估计和/或优化。
图像设定单元165对显示在图像显示部20上的图像(显示图像)执行各种设定。例如,图像设定单元165设定显示图像的显示位置、显示图像的尺寸、显示图像的亮度等,或者设定右眼图像数据和左眼图像数据以使得形成双眼视差(以下,也称为“视差”)以便于用户立体地(3D)视觉上将显示图像识别为三维图像。图像设定单元165通过对所拍摄的图像应用图案匹配等来从所拍摄的图像检测预先设定的确定目标图像。
在位置对应关系确定单元168和优化单元166正在执行各种处理以及已执行所述处理的情况下,图像设定单元165按照由优化单元166推导和/或优化的目标对象的姿态将与目标对象对应的3D模型显示(渲染)在光学图像显示单元26和28上。操作单元135从用户接收操作,并且用户可确定所估计的目标对象的姿态是否与透射穿过光学图像显示单元26和28的外部景物中所包括的目标对象的姿态匹配。
接口180是将控制部10连接到作为内容供应源的各种外部设备OA的接口。作为外部设备OA,例如,可使用个人计算机(PC)、移动电话终端和游戏终端。作为接口180,例如,可使用USB接口、microUSB接口和存储卡接口。
图像显示部20包括右显示驱动单元22、左显示驱动单元24、作为右光学图像显示单元26的右导光板261、作为左光学图像显示单元28的左导光板262以及相机60。
右显示驱动单元22包括接收部53(Rx 53)、用作光源的右背光控制部201(右BL控制部201)和右背光221(右BL221)、用作显示元件的右LCD控制部211和右LCD 241、以及右投影光学系统251。如上所述,右背光控制部201和右背光221用作光源。如上所述,右LCD控制部211和右LCD 241用作显示元件。右背光控制部201、右LCD控制部211、右背光221和右LCD241被统称为“图像光生成单元”。
接收部53用作用于控制部10与图像显示部20之间的串行传输的接收器。右背光控制部201基于输入的控制信号驱动右背光221。右背光221是诸如LED或电致发光元件(EL)的发光体。右LCD控制部211基于经由接收部53输入的时钟信号PCLK、垂直同步信号Vsync、水平同步信号HSync和右眼图像数据来驱动右LCD 241。右LCD 241是多个像素按照矩阵设置的透射式液晶面板。
右投影光学系统251由将从右LCD 241发射的图像光转换为平行光束的准直透镜构成。作为右光学图像显示单元26的右导光板261沿着预定光路反射从右投影光学系统251输出的图像光,以将图像光引导到用户的右眼RE。右投影光学系统251和右导光板261被统称为“导光部”。
左显示驱动单元24具有与右显示驱动单元22相同的配置。左显示驱动单元24包括接收部54(Rx54)、用作光源的左背光控制部202(左BL控制部202)和左背光222(左BL 222)、用作显示元件的左LCD控制部212和左LCD 242、以及左投影光学系统252。如上所述,左背光源控制部202和左背光222用作光源。如上所述,左LCD控制部212和左LCD 242用作显示元件。另外,左背光控制部202、左LCD控制部212、左背光222和左LCD 242被统称为“图像光生成单元”。左投影光学系统252由将从左LCD 242发射的图像光转换为平行光束的准直透镜构成。作为左光学图像显示单元28的左导光板262沿着预定光路反射从左投影光学系统252输出的图像光,以将图像光引导到用户的左眼LE。左投影光学系统252和左导光板262被统称为“导光部”。
A-4.目标对象姿态的估计的执行(运行时)
图7是示出目标对象姿态估计处理的流程图。在姿态估计处理中,首先,位置对应关系确定单元168利用相机60对包括目标对象的外部景物成像(步骤S21)。位置对应关系确定单元168对所拍摄的目标对象的图像执行下面所述的边缘检测(步骤S23)。
A-4-1.边缘检测(步骤S23)
位置对应关系确定单元168检测目标对象的图像的边缘以将成像的目标对象与目标对象所对应的模板相关。位置对应关系确定单元168基于所拍摄的图像的像素来计算用作边缘的特征。在本实施方式中,位置对应关系确定单元168计算所拍摄的目标对象的图像的像素的亮度梯度以确定特征。当从所拍摄的图像检测边缘时,外部景物中目标对象以外的对象、包括在外部景物中的对象的不同的阴影、不同的照明和不同的材料可影响所检测的边缘。因此,与从3D CAD模型检测边缘相比,从所拍摄的图像检测边缘可能相对困难。在本实施方式中,为了更容易地检测边缘,位置对应关系确定单元168仅将边缘与阈值进行比较并按照与简单边缘检测方法中所执行的过程相同的方式抑制非极大值。
A-4-2.模板的选择(步骤S25)
如果从目标对象的图像检测到边缘,则位置对应关系确定单元168从存储在模板存储部121中的模板当中选择视角与其所拍摄的图像中的目标对象的姿态最接近的模板(步骤S25)。对于此选择,可单独地使用用于估计目标对象的粗略姿态的现有三维姿态估计算法。在高度准确地推导3D姿态时,位置对应关系确定单元168可能找到比所选择的训练视角更接近图像中的目标对象的姿态的新的训练视角。在找到新的训练视角的情况下,位置对应关系确定单元168在新的训练视角下高度准确地推导3D姿态。在本实施方式中,如果视角彼此不同,则作为包括3D模型的2D轮廓线的视觉上可识别的边缘的集合的轮廓特征也彼此不同,因此可能找到新的训练视角。位置对应关系确定单元168针对视觉上可识别的边缘的集合彼此不同的问题使用超级模板,因此提取尽可能多的视觉上可识别的边缘。在另一实施方式中,代替使用预先创建的模板,位置对应关系确定单元168可对目标对象成像,并且可在反映成像环境(例如,在飞行中渲染的照明)的同时根据需要使用3D CAD数据创建模板,以提取尽可能多的视觉上可识别的边缘。
A-4-3.2D点对应关系(步骤S27)
如果步骤S25中的处理完成,位置对应关系确定单元168将目标对象的图像的边缘与包括在模板中的2D模型点相关(步骤S27)。
图8是示出单个2D模型点与包括在特定边缘中的多个图像点组合的图。图9是示出2D模型点与错误的图像点组合的示例的图。图8和图9示出在与图3所示的3D模型对应的目标对象OBm通过相机60成像的情况下所拍摄的目标对象OBm的图像IMG、2D模型点集合PMn的局部放大图以及多个箭头CS。如图8所示,与2D模型点PM1(包括在模板中的一个2D模型点)相关的从目标对象OBm的图像IMG检测的边缘的一部分包括如箭头CS1至CS5中的多个选项。图9示出包括在模板中并排列的2D模型点PM1至PM5与从目标对象OBm的图像IMG检测的边缘(包括在其中的图像点)错误地组合的示例。在这种情况下,例如,在图9中,尽管2D模型点PM2、PM3、PM1、PM4和PM5从顶部排列,但是箭头CS7、CS6、CS8、CS10和CS9在目标对象OBm的图像IMG的边缘中按此顺序排列。因此,箭头CS8和箭头CS6以及箭头CS9和箭头CS10改变。如上所述,需要位置对应关系确定单元168准确地将包括在模板中的2D模型点与包括在目标对象OBm的图像IMG的边缘中的图像点相关,以准确地估计或推导成像的目标对象OBm的姿态。
在本实施方式中,位置对应关系确定单元168针对包括在各个投影的2D模型点的局部附近中的所有图像点使用下式(11)计算相似度得分。
式(11)中指示的相似度得分的度量基于包括在模板中的2D模型点的亮度的梯度矢量(以下,简称为梯度)与图像点的梯度矢量之间的匹配,但是作为示例基于式(11)中的两个矢量的内积。式(11)中的Ep的矢量是2D模型点(边缘点)p的单位长度梯度矢量。在获得相似度得分时,位置对应关系确定单元168使用测试图像(输入图像)的梯度▽I以便计算图像点p’的特征。表达式(11)中通过分母中的梯度大小的局部最大值来归一化确保了可靠地给予具有局部高强度的边缘以优先级。这种归一化防止了较弱的并且因此成为噪声的边缘被对照。位置对应关系确定单元168增强在获得相似度得分时搜索对应关系的最近邻域的大小N(p)。例如,在连续迭代计算中所投影的2D模型点的位置位移的平均值减小的情况下,N(p)可减小。以下,将描述使用式(11)建立对应关系的特定方法。
图10至图12是示出相似度得分的计算的示例的图。图10示出通过相机60拍摄的目标对象的图像IMGOB(实线)、基于与目标对象的图像IMGOB相似的模板的2D模型MD(点划线)以及作为2D模型MD中的多个轮廓特征CFm的2D模型点。图10示出按照格子形式排列的多个像素px以及以各个轮廓特征CFm为中心的由3像素×3像素形成的区域(例如,区域SA1)。图10示出以轮廓特征CF1(将稍后描述)为中心的区域SA1、以轮廓特征CF2为中心的区域SA2以及以轮廓特征CF3为中心的区域SA3。轮廓特征CF1和轮廓特征CF2彼此相邻,并且轮廓特征CF1和轮廓特征CF3也彼此相邻。换言之,在图10中轮廓特征按照轮廓特征CF2、轮廓特征CF1和轮廓特征CF3的顺序排列。
如图10所示,由于目标对象的图像IMGOB与2D模型MD不匹配,所以位置对应关系确定单元168使用式(11)将包括在目标对象的图像IMGOB的边缘中的图像点分别与2D模型MD的多个轮廓特征CFm所表示的2D模型点相关。首先,位置对应关系确定单元168选择作为多个轮廓特征CFm中的一个的轮廓特征CF1,并且提取以包括轮廓特征CF1的像素px为中心的3像素×3像素的区域SA1。接下来,位置对应关系确定单元168提取分别以与轮廓特征CF1相邻的两个轮廓特征(例如,轮廓特征CF2和轮廓特征CF3)为中心的3像素×3像素的区域SA2和区域SA3。位置对应关系确定单元168针对形成区域SA1、SA2和SA3中的每一个的各个像素px使用式(11)计算得分。在这一阶段,区域SA1、SA2和SA3是具有相同形状和相同尺寸的矩阵。
图11示出各个区域SA1、SA2和SA3的放大图以及针对形成区域SA1、SA2和SA3的各个像素计算的相似度得分。位置对应关系确定单元168计算作为轮廓特征的2D模型点与九个图像点之间的相似度得分。例如,在示出于图11的下部的区域SA3中,位置对应关系确定单元168计算像素px33和px36的得分为0.8,像素px39的得分为0.5,剩余六个像素的得分为0。像素px33和px36的得分0.8不同于像素px39的得分0.5的原因在于,像素px39中的目标对象的图像IMGOB弯曲,因此梯度不同。如上所述,位置对应关系确定单元168按照相同的方式计算形成所提取的区域SA1、SA2和SA3的各个像素(图像点)的相似度得分。
以下,将集中于轮廓特征CF1进行描述。位置对应关系确定单元168计算形成区域SA1的各个像素的校正得分。具体地,使用与形成区域SA1的各个像素相比位于区域SA2和SA3的相同矩阵位置处的像素利用加权因子对相似度得分取平均。位置对应关系确定单元168不仅对轮廓特征CF1,而且对其它轮廓特征CF2和CF3执行相似度得分的这种校正。按照上述方式,可实现使2D模型点与图像点之间的对应关系平滑的效果。在图11所示的示例中,位置对应关系确定单元168通过将区域SA1的各个像素px的得分的加权因子设定为0.5,将区域SA2的各个像素px的得分的加权因子设定为0.2,并且将区域SA3的各个像素px的得分的加权因子设定为0.3来计算校正得分。例如,作为图12所示的像素px19的校正得分的0.55是通过将三个值,例如通过将区域SA1的像素px19的得分0.8乘以加权因子0.5而获得的值、通过将区域SA2的像素px29的得分0乘以加权因子0.2而获得的值以及通过将区域SA3的像素px39的得分0.5乘以加权因子0.3而获得的值加在一起而获得的值。加权因子与处理目标轮廓特征CF1与其它轮廓特征CF2和CF3之间的距离成反比。位置对应关系确定单元168将具有形成区域SA1的像素的校正得分当中的最大得分的图像点确定为与轮廓特征CF1相关的图像点。在图12所示的示例中,校正得分的最大值是像素px13和px16的0.64。在多个像素具有相同的校正得分的情况下,位置对应关系确定单元168选择距轮廓特征CF1的距离最短的像素px16,并且位置对应关系确定单元168将轮廓特征CF1与像素px16的图像点相关。位置对应关系确定单元168将由相机60拍摄的目标对象的多个图像中所检测的边缘与视角接近目标对象的图像的模板中的2D模型点进行比较,以确定与2D模型点(轮廓特征CF)对应的目标对象的图像点。
如果位置对应关系确定单元168完成图7中的步骤S27中的处理,则优化单元166从存储在模板存储部121中的目标对象的模板获取与图像点相关的2D模型点所对应的3D模型点以及关于用于创建2D模型点的视角的信息(步骤S29)。优化单元166基于所提取的3D模型点和关于视角的信息以及图像点来推导通过相机60成像的目标对象的姿态(步骤S33)。推导的细节如下。
A-4-4.姿态的优化(步骤S33)
在本实施方式中,优化单元166使用与所选择的训练视角对应的模板中所包括的轮廓特征以及与包括在轮廓特征中的2D模型点对应的3D模型点来高度准确地推导或细化目标对象的3D姿态。在推导中,优化单元166通过执行优化计算以使式(14)最小来推导目标对象的姿态。
如果位置对应关系确定单元168完成预定视角下的2D模型点与图像点之间的对应关系的建立,则位置对应关系确定单元168从与该视角对应的模板读取与2D模型点(或轮廓特征CFi)对应的3D模型点Pi。在本实施方式中,如上所述,与2D模型点对应的3D模型点Pi被存储在模板中。然而,3D模型点Pi未必存储在模板中,位置对应关系确定单元168可每次基于视角对与图像点的对应关系完成的2D模型点进行逆转换,以获得3D模型点Pi。
优化单元166基于式(12)将所获得的3D模型点Pi的位置再投影到2D虚拟平面上。
π(Pi)=(ui,vi)T···(12)
这里,式(12)中的π包括视角中所包括的刚体变换矩阵和透视投影变换矩阵。在本实施方式中,刚体变换矩阵中所包括的指示绕三个轴的三种旋转的三个参数以及指示沿着三个轴的三种平移的三个参数被当作使式(14)最小的变量。旋转可由四元数表示。与3D模型点Pi对应的图像点pi如式(13)中表示。
pi=(pix,piy)T···(13)
优化单元166使用由下式(14)表示的成本函数来推导3D姿态以使3D模型点Pi与图像点pi之间的误差最小化。
这里,式(14)中的wi是用于控制各个模型点对成本函数的贡献的加权因子。投影到图像边界之外的点或者对应关系的可靠性低的点被给予值较小的加权因子。在本实施方式中,为了呈现3D姿态的特定调节,如果达到下列三项之一,则优化单元166使用高斯-牛顿方法根据3D姿态参数将由式(14)表示的成本函数的最小化:
1.初始3D姿态远比预设姿态更发散。在这种情况下,确定成本函数的最小化失败。
2.使用高斯-牛顿方法的近似次数超过预先设定的限定次数。
3.高斯-牛顿方法中的相对姿态改变等于或小于预设阈值。在这种情况下,确定成本函数被最小化。
当3D姿态被推导出时,优化单元166可衰减目标对象的姿态的细化。处理目标对象的姿态的估计所需的时间直接取决于为实现姿态的高准确性(细化)而执行的迭代计算的次数。从增强系统速度的角度,可能有益的是采用在不影响姿态的准确性的情况下通过尽可能少的迭代计算次数来推导姿态的方法。根据本实施方式,各个迭代计算独立于其先前迭代计算来执行,因此不施加约束,该约束确保2D模型点的对应关系保持一致,或者在两次连续的迭代计算之间相同的2D模型点与相同的图像结构或图像点相关。结果,特别是在存在由其中由相机60拍摄的图像中混合了与目标对象不同的其它对象的杂乱状态或者其中存在阴影的状态所导致的噪声边缘结构的情况下,点的对应关系不稳定。结果,为了收敛,可能需要更多迭代计算。根据本实施方式的方法,这一问题可通过将式(11)中的相似度得分乘以下式(15)中所示的衰减加权因子来处理。
式(15)表示高斯函数,并且σ具有控制衰减的强度(效果)的功能。在σ的值大的情况下,不会发生很大的衰减,但是在σ的值较小的情况下,发生强衰减,因此可防止点变得远离当前位置。为了确保不同迭代计算中的点的对应关系的一致性,在本实施方式中,σ是通过最近几次迭代计算获得的再投影误差的函数。在再投影误差(可由式(14)表示)相当大的情况下,在本实施方式的方法中,不会发生收敛。在根据本实施方式的算法中,σ被设定为大的值,因此确保了与远点的对应关系,从而几乎不执行衰减或极大地执行衰减。在再投影误差微小的情况下,使用根据本实施方式的算法的计算状态可能导致准确的解决方案的可能性高。因此,优化单元166将σ设定为较小的值以增加衰减,从而使点的对应关系稳定。
A-4-5.子像素对应关系
本实施方式的点的对应关系仅考虑整数像素位置处的图像点,因此存在3D姿态的准确性可能劣化的可能性。根据本实施方式的方法包括两种技术以解决这一问题。首先,寻找相似度得分最大的图像点p’,然后通过插值来增大该位置处的准确性。最终位置由四个连接的相邻图像点p’的加权线性组合表示。这里的权重是相似度得分。其次,根据本实施方式的方法针对再投影误差使用两个阈值,以便进行高准确性的姿态收敛。在实现大的阈值的情况下,姿态以高准确性收敛,因此仅需要获得略微高度准确的解。因此,在实现阈值之后通过各个迭代计算将点的对应关系的矢量长度人为地减小到1/2。在此过程中,迭代地执行后续几次计算,直到再投影误差小于较小的第二阈值。
作为以高准确性推导姿态的最后步骤,位置对应关系确定单元168计算将用于去除错误结果的匹配得分。这些得分具有与式(14)中的成本函数相同的形式,并且由下式(16)表示。
在式(16)中,SIMi指示轮廓特征i(2D模型点)与最匹配该轮廓特征的图像点之间的相似度得分。指数部分是使用姿态再投影的2D模型点与其所对应的图像点之间的范数(在本实施方式中,两点之间的距离的平方),N指示2D模型点与图像点的集合的数量。优化单元166在式(16)的值小于阈值的情况下连续地执行优化而不采用姿态,在式(16)的值等于或大于阈值的情况下采用姿态。如上所述,如果优化单元166完成图7中的步骤S33中的处理,则位置对应关系确定单元168和优化单元166结束姿态估计处理。
如上所述,在本实施方式的HMD 100中,位置对应关系确定单元168从由相机60拍摄的目标对象的图像检测边缘。位置对应关系确定单元168建立包括在图像中的图像点与存储在模板存储部121中的模板中所包括的2D模型点之间的对应关系。优化单元166使用2D模型点以及通过转换包括在模板中的2D模型点而获得的3D点来估计或推导成像的目标对象的姿态。具体地,优化单元166使用成本函数来优化成像的目标对象的姿态。因此,在本实施方式的HMD 100中,如果可检测表示由相机60成像的目标对象的轮廓的边缘,则可利用高准确性估计成像的目标对象的姿态。由于以高准确性估计目标对象的姿态,所以在目标对象上的AR图像的交叠显示的准确性改进,并且由机器人执行的操作的准确性改进。
B.第二实施方式
除了由HMD 100的位置对应关系确定单元168执行的建立2D点的对应关系中的相似度得分的计算方法之外,第二实施方式与第一实施方式相同。因此,在第二实施方式中,将描述与第一实施方式不同的相似度得分的计算,将省略其它处理的描述。
图13至图15是示出第二实施方式中的CF相似度的计算示例的图。图13还示出与图10相比垂直于各个轮廓特征CFm处的2D模型MD的轮廓的垂直线VLm。例如,图13所示的垂直线VL1垂直于轮廓特征CF1处的2D模型MD的轮廓。垂直线VL2垂直于轮廓特征CF2处的2D模型MD的轮廓。垂直线VL3垂直于轮廓特征CF3处的2D模型MD的轮廓。
按照与第一实施方式中相同的方式,位置对应关系确定单元168选择作为多个轮廓特征CFm中的一个的轮廓特征CF1,并且提取以包括轮廓特征CF1的像素px为中心的3像素×3像素的区域SA1。接下来,位置对应关系确定单元168提取分别以与轮廓特征CF1相邻的两个轮廓特征(例如,轮廓特征CF2和轮廓特征CF3)为中心的3像素×3像素的区域SA2和区域SA3。位置对应关系确定单元168向形成区域SA1、SA2和SA3中的每一个的各个像素px分配得分。在第二实施方式中,如上所述,位置对应关系确定单元168向区域SA1、SA2和SA3分配得分的方法不同于第一实施方式。
以下,将集中于区域SA1进行描述。位置对应关系确定单元168假设通过由区域SA中的轮廓特征CF1表示的2D模型点与2D模型点处的模型轮廓垂直的垂直线VL1。位置对应关系确定单元168使用各自具有在垂直线VL1上的中心并且分布在与线段VL1垂直的方向(也称为主轴)上的多个高斯函数来设定轮廓特征CF1的各个像素px(各个图像点)的得分。像素px的坐标由整数(m,n)表示,但是在本实施方式中,与垂直线VLm交叠的像素px的中心由(m+0.5,n+0.5)表示,并且从其中心到垂直线VLm绘制的第二垂直线用作主轴。与垂直线VL1交叠的像素px和与主轴交叠的像素px的相似度得分如下计算。首先,关于垂直线VL1上的像素px,通过乘以加权因子(与像素px的相似度得分成比例)而获得的高斯函数的中心部分的值用作新的相似度得分。这里,选择高斯函数的方差以与距轮廓特征CF1的距离成比例。另一方面,关于各个高斯函数的主轴上的像素px,以距垂直线VL1与主轴之间的交点(中心)的距离作为变量的各个高斯函数的值用作新的相似度得分。结果,例如,如图14所示,位置对应关系确定单元168分别向目标对象的图像IMGOB中所包括的像素px13、px16和像素19分配得分0.2、0.7和0.3,尽管这些像素具有几乎相同的梯度。这是因为从垂直线VL1到各个像素px的距离彼此不同。
接下来,位置对应关系确定单元168按照与第一实施方式中相同的方式局部地平滑相似度得分。区域SA1、SA2和SA3乘以与第一实施方式中相同的加权因子,因此计算形成区域SA1的各个像素的校正得分。位置对应关系确定单元168将通过计算获得的形成区域SA1的像素的校正得分当中的最大得分确定为指示与轮廓特征CF1的对应关系的得分。在图15所示的示例中,位置对应关系确定单元168将像素px16的0.56确定为得分。
C.第三实施方式
在本实施方式中,位置对应关系确定单元168将关于相似度得分的式(11)修改为用于对与垂直于模型轮廓的垂直线分离的图像点施加惩罚的式。位置对应关系确定单元168定义模型点p和图像点p’,将与2D模型的边缘取向(轮廓)垂直的单位长度矢量定义为矢量Ep,并且定义下式(17)。
如果使用由w指示的加权因子定义下式(18),则模型点与图像点之间的相似度得分可如式(19)中表示。
接下来,位置对应关系确定单元168根据与第一实施方式中相同的方法局部地平滑使用式(19)获得的区域SA1、SA2和SA3中的各个像素px的相似度得分,然后建立区域SA1、SA2和SA3中的每一个中的图像点与轮廓特征CF之间的对应关系。
D.修改例
本发明不限于上述实施方式,而是可在不脱离其精神的范围内在各种方面实现。例如,也可出现以下修改例。
D-1.修改例1
在上述第一和第二实施方式中,位置对应关系确定单元168在以轮廓特征CFm为中心的3像素×3像素的区域内计算得分以建立与2D点的对应关系,但是可对在建立对应关系时计算得分的方法进行各种修改。例如,位置对应关系确定单元168可在4像素×4像素的区域内计算得分。位置对应关系确定单元168可使用式(11)以外的评估函数来建立2D点之间的对应关系。
在上述第一实施方式中,位置对应关系确定单元168和优化单元166使用CF方法来估计成像的目标对象的姿态,但是可在比较例中通过CF方法和MA方法的组合来估计目标对象的姿态。MA方法适用于在目标对象和背景中建立双色基的情况。因此,位置对应关系确定单元168和优化单元166可选择CF方法或MA方法,以便根据所拍摄的图像来估计目标对象的姿态。在这种情况下,例如,位置对应关系确定单元168首先根据MA方法来估计目标对象的姿态。在使用MA方法的目标对象的姿态的估计不收敛的情况下,位置对应关系确定单元168可使用CF方法的算法基于目标对象的初始姿态再次执行姿态估计。与仅使用MA方法的算法的情况或者仅使用CF方法的算法的情况相比,位置对应关系确定单元168可通过使用组合了MA方法和CF方法的方法以更高的准确性估计目标对象的姿态。
在上述实施方式中,诸如CPU 140的一个或更多个处理器可使用基于与目标对象对应的各个3D模型创建的模板(模板数据)来推导和/或跟踪由相机60拍摄的场景的图像帧内的两个或更多个目标对象的各个姿态。根据实施方式,即使当目标对象在场景中相对于彼此移动时,这些姿态也可按照小于或等于相机60的帧速率或者右/左光学图像显示单元26/28的显示帧速率来推导和/或跟踪。
模板可包括与目标对象关联的信息(例如,目标对象的名称和/或几何规格),以使得一旦一个或更多个处理器已推导出目标对象的姿态,一个或更多个处理器就将信息显示在右/左光学显示单元26/28上或者通过接口180呈现给外部设备OA。
本发明不限于上述实施方式或修改例,可在不脱离其精神的范围内使用各种配置来实现。例如,为了解决上述问题中的一些或全部,或者为了实现上述效果中的一些或全部,与发明内容中所描述的各个方面的技术特征以及修改例中的技术特征对应的实施方式可酌情交换或组合。另外,如果在本说明书中技术特征未被描述为基本特征,则该技术特征可酌情删除。
2016年3月29日提交的日本专利申请No.2016-065733的完整公开明确地通过引用并入本文。
E.使用惯性运动传感器(IMU)和相机传感器的融合的3D跟踪对象
本发明不限于上述实施方式,下面所述的实施方式也在不脱离其精神的范围内。
上面经由节标题A-E讨论的实施方式涉及与包括(但不限于)相机60以用于估计姿态的HMD 100有关的图1至图15,下面的实施方式涉及与HMD 100’有关的图16A和图16B至图28,HMD 100’包括(但不限于)相机60和惯性传感器71以用于以新的改进的方式估计姿态。下面的实施方式通过使用多个传感器并将传感器的数据融合在一起来改进对象跟踪的准确性和速度。下面讨论各种实施方式。
E-1.介绍
增强现实(AR)实时地整合来自实况视频的数字信息和用户的环境。AR应用中的三个要求总结如下:
(1)其为实时交互的,
(2)其为三维的(“3D”),以及
(3)其将真实元素与虚拟元素组合。
已研究了大量计算机视觉和图像处理技术以满足这些要求。一些AR应用不需要准确的3D对象姿态,因此在视频叠加模式下渲染增强信息不会导致任何问题,例如针对教育应用将增强信息“悬停”在书上方。
然而,许多AR应用需要低延迟(例如,小于15mm/s)和准确的3D对象姿态,例如工业、军事和医疗AR应用。延迟涉及姿态的速度,当对象从初始位置移动到第二位置时,将姿态从初始位置移动到第二位置。
在下面所述的实施方式中,描述了可实现在用于AR应用的头戴式显示器中的3D对象跟踪系统。然而,如图16A所示,对于一些AR应用而言,3D对象跟踪的延迟可能太高,这表明当对象302相对于用户的视点初始移动时,姿态300延迟从而无法继续叠加在对象302上。相反,姿态暂时不在位(即,没有叠加在对象302上方)。另外,当用户更快地移动时或者当用户移动到存在较少特征点的对象视角时,3D对象跟踪容易丢失。高延迟、用户移动速度限制以及频繁地丢失跟踪极大地影响了使用头戴式显示器进行光学透视AR应用的用户体验。
图16B示出延迟减小以使得当对象302相对于用户的视点初始移动时,姿态300不延迟,因此被用户的视觉感知为连续地叠加在对象302上。
根据本公开的各方面,为了避免上述问题并减小延迟,头戴式显示器可配备具有陀螺仪传感器和加速度计的惯性运动单元(“IMU”)传感器。为了减小延迟并因此改进3D对象跟踪性能,IMU传感器和相机传感器被“融合”或者IMU传感器和相机传感器的数据被组合在一起。可使用IMU传感器,因为其按照比相机高许多的频率(例如,125Hz、250Hz、1MHz等)操作,并且人眼的延迟在15ms左右。因此,理想情况下,优选将系统的延迟减小为小于15ms。
应该理解,贯穿本公开,术语“IMU传感器”和“惯性传感器”可互换使用。
在一个实施方式中,头戴式显示器配备有IMU传感器(3轴加速度计和3轴陀螺仪)作为运动传感器,如上面以及贯穿本申请所讨论的。然而,在另一实施方式中,除了加速度计和陀螺仪之外,头戴式显示器还可配备3轴磁传感器。在这方面,IMU传感器可包括加速度计、陀螺仪传感器和/或磁传感器。在一个实施方式中,在算法中仅使用加速度计和陀螺仪传感器。然而,在另一实施方式中,可使用磁传感器以进一步改进融合准确性,因此磁传感器可被添加(并且算法相应改变)到加速度计和陀螺仪传感器。
然而,应该理解,本发明不应限于使用包括加速度计、陀螺仪和/或磁传感器的IMU传感器来检测运动的上述实施方式,可采用任何其它类型的运动传感器或者能够检测沿着3轴的运动的运动感测系统。
另外,一个或更多个运动传感器或运动感测系统可用在单个HMD装置中以进一步减小延迟。例如,这些运动传感器或运动感测系统可交错以在不同的时间输出姿态。在这方面,各个传感器/系统在其它传感器不输出姿态时提供姿态,从而减小总延迟。
根据一个实施方式,本文中的运动传感器或运动感测系统可在125Hz下操作。然而,在其它实施方式中,运动传感器或运动感测系统可在高频(例如,250Hz、1MHz)下操作,以使得延迟减小至15ms以下。
E-2.IMU和3D对象跟踪融合
在本公开中,可在单个HMD系统中使用诸如扩展卡尔曼滤波(EKF)、粒子滤波、无迹卡尔曼滤波(UKF)、最大似然非线性系统估计等的一个或更多个非线性滤波以融合来自IMU传感器和相机传感器的数据。在Gabriele Ligorio和Angelo Maria Sabatini的“ExtendedKalman Filter-Based Methods for Pose Estimation Using Visual,Inertial andMagnetic Sensors:Comparative Analysis and Performance Evaluation”(Sensor2013,13,1919-1941)中提供了使用EKF进行传感器融合的示例,其整体并入本文。尽管Ligorio等人讨论了使用EKF进行传感器融合的基本概念,但是传感器之间的传感器质量变化,因此,将来自视觉所使用的不同类型的传感器的数据与不同传感器融合的方法可能不同,并且将不同传感器的数据融合遇到不同的挑战和问题。本文公开了如何使用3D视觉跟踪技术来融合IMU传感器和相机传感器以改进3D对象跟踪性能和效率。在本公开中,呈现了这种融合框架的细节,讨论了问题和解决方案,并最终示出了性能评估结果。
应该注意,术语“融合”在关于推导对象(无论是运动中还是静止)的姿态使用时涉及使用来自至少一个传感器和相机(或其它成像装置)的数据来推导姿态的处理,例如通过来自IMU传感器和相机的数据的分析和/或组合来推导姿态涉及IMU传感器和相机的融合。
E-2-1.概述
E-2-1-1.系统
图17是示出根据各种实施方式的HMD 100’的示意性配置的图。应该注意,图17与图5相似,但是是不同的实施方式,并且尽管图5的许多特征可能与图17相似或重复,但是下面描述图17的所有特征。
HMD 100’是根据例示性实施方式的头戴式显示器(但是本发明的实施方式不应限于头戴式显示器,可具体实现于诸如移动电话的其它装置中)。类似于图5的HMD100,HMD100’也是光学透射型头戴式显示器,其使得用户能够观看虚拟图像并且同时直接观看外部景物。HMD 100’包括相机60,其从外部景物收集图像数据以使得HMD 100’可显示相关虚拟图像。
在此实施方式中,HMD 100’包括装在用户的头上的安装带90、显示图像的显示部20以及控制显示部20的控制器10。当显示部20被装在用户的头上时显示部20使得用户能够观看虚拟图像。
安装带90包括:安装基座部91,在此实施方式中,其由树脂形成;织物带部92,其连接到安装基座部91;相机60;和惯性传感器(惯性测量单元;IMU)71。安装基座部91具有与人的前额匹配的弯曲形状。带部92是围绕用户的头部安装的带。在其它实施方式中,相机60和IMU 71直接与显示部20的框架集成。
尽管图17示出了安装带90,但是应该理解,本发明不限于需要安装带90。事实上,在这样的实施方式中,安装带90中的元件(包括相机60和IMU 71)可被集成在显示部20的框架、显示部20本身和/或HMD 100’的任何其它部分中或设置到其上。因此,在一些实施方式中,HMD 100’中可不包括安装带90,但是为了易于例示和讨论,下面的实施方式将安装带90描述为HMD 100’的一部分。
相机60可对外部景物成像,并且在图17所示的实施方式中被设置在安装基座部91的中间部分中。换言之,在安装带90被装在用户的头上的状态下,相机60被设置在与用户的前额的中间对应的位置处。因此,在用户将安装带90装在用户的头上的状态下,相机60对作为用户的视线方向上的外部景物的外部景物成像,并通过成像获取所拍摄的图像。
在此实施方式中,相机60包括相对于安装基座部91旋转的相机基座部61以及与相机基座部61的相对位置固定的镜头部62。当安装带90被装在用户的头上时,相机基座部61被设置为可沿着箭头CS1(包括用户的中心轴线的平面中所包括的轴线的预定范围)旋转。因此,镜头部62的光轴(相机60的光轴)的方向可在箭头CS1的范围内改变。镜头部62通过绕光轴的变焦来对改变的范围成像。
IMU 71是检测加速度的惯性传感器。在一些实施方式中,除了加速度之外,IMU 71还可使用陀螺仪传感器和磁传感器来检测角速度和地磁。在此实施方式中,IMU 71被包含在安装基座部91中,但是在其它实施方式中,如上所述,IMU 71可被设置在HMD 100’的任何其它部分(例如,显示部框架)处。因此,在IMU 71被包含在安装基座部91中的实施方式中,IMU 71检测安装带90和相机基座部61的加速度、角速度和地磁。因此,在IMU 71被设置在HMD 100’的显示部框架的一部分中的实施方式中,IMU 71检测显示部框架和相机基座部61的加速度、角速度和地磁。在任一情况下,IMU 71检测用户的头部的加速度、角速度和地磁。
由于IMU 71与安装基座部91的相对位置固定,所以相机60可相对于IMU 71移动。因此,IMU 71与相机60具有可调节的固定空间关系。在另一实施方式中,IMU 71可与相机60具有固定的空间关系。此外,由于显示部20与安装基座部91的相对位置固定,所以相机60与显示部20的相对位置可移动。
显示部20连接到安装带90的安装基座部91并且在此实施方式中具有眼镜形状。显示部20包括右保持器21、右显示驱动器22、左保持器23、左显示驱动器24、右光学图像显示器26和左光学图像显示器28。当显示部20被装在用户上时,右光学图像显示器26和左光学图像显示器28位于用户的右眼和左眼的前方。当显示部20被装在用户上时,右光学图像显示器26的一端和左光学图像显示器28的一端在与用户的前额的中间对应的位置处彼此连接。
右保持器21具有从端部ER(右光学图像显示器26的另一端)在大致水平方向上延伸的形状并从该形状的中间斜向上倾斜,并且将端部ER连接到安装基座部91的右连接器93。类似地,左保持器23具有从端部EL(左光学图像显示器28的另一端)在大致水平方向上延伸的形状并从该形状的中间斜向上倾斜,并将端部EL连接到安装基座部91的左连接器(未示出)。右保持器21和左保持器23通过右和左连接器93连接到安装基座部91,因此右光学图像显示器26和左光学图像显示器28位于用户的眼睛前方。连接器93将右保持器21和左保持器23连接以可旋转并可固定在任何旋转位置。结果,在此实施方式中,显示部20被安装为可相对于安装基座部91旋转。
右保持器21是被安装为当显示部20被安装在用户上时从端部ER(右光学图像显示器26的另一端)延伸到与用户的颞区对应的位置的构件。类似地,左保持器23是被安装为当显示部20被安装在用户上时从端部EL(左光学图像显示器28的另一端)延伸到与用户的颞区对应的位置的构件。在此实施方式中,当显示部20被安装在用户上时,右显示驱动器22和左显示驱动器24被设置在面向用户的头部的一侧。
显示驱动器22和24包括液晶显示器241和242(以下也称为“LCD 241和242”)和投影光学系统251和252(下面参照图18描述)。下面将描述显示驱动器22和24的配置的细节。
光学图像显示器26和28包括导光板261和262(参见图18)和调光板(将在下面描述)。导光板261和262由光透射树脂材料等形成,并且将从显示驱动器22和24输出的图像光引导到用户的眼睛。在一些实施方式中,除了导光板261和262之外或者替代导光板261和262,图像显示器26和28包括棱镜。调光板是具有薄板形状的光学元件,并且被设置为覆盖显示部20的前侧(与用户的眼睛侧相反的一侧)。通过调节调光板的光透射比,可调节进入用户的眼睛的外部光的量并调节虚拟图像的易观度。这对在维持虚拟图像的可见性的同时针对变化的照明条件(例如,室内或室外照明水平)进行调节可能是有用的。
显示部20还包括将显示部20连接到控制器10的连接部40。连接部40包括连接到控制器10的主体软线48、右软线42、左软线44和连接构件46。右软线42和左软线44是主体软线48的两条分支软线。显示部20和控制器10经由连接部40发送各种信号。在右软线42、左软线44和主体软线48中,例如,可使用金属线缆或光纤。
图18是示出HMD 100’的功能配置的框图。如图18所示,控制器10包括ROM 121、RAM122、电源130、操作部135、识别目标存储部(未图示)、CPU 140、接口180、发送部51(Tx 51)和发送部52(Tx 52)。
电源130将电力馈送到HMD 100’的各个部分。ROM 121存储各种程序。CPU 140通过将存储在ROM 121中的各种程序加载到RAM 122上来执行各种程序。
接口180是将作为内容供应源的各种外部装置OA连接到控制器10的输入和输出接口。外部装置OA的示例包括存储AR场景的存储装置、个人计算机(PC)、移动电话终端和游戏终端。接口180的示例包括USB接口、微型USB接口、存储卡接口和视频接口(例如,DisplayPort、HDMI等)。
CPU 140将存储在ROM 121中的程序加载到RAM 122上以起到操作系统150(OS150)、显示控制器190、音频处理器170、图像处理器160、标记识别部165和处理器167的作用。
显示控制器190生成控制信号以控制右显示驱动器22和左显示驱动器24。显示控制器190根据右显示驱动器22和左显示驱动器中的每一个来控制图像光的生成和发射。显示控制器190分别经由发送部51和52来发送用于右LCD控制器211和左LCD控制器212的控制信号。显示控制器190发送用于右背光控制器201和左背光控制器202的控制信号。
如图18所示,显示部20包括右显示驱动器22、左显示驱动器24、用作右光学图像显示器26的右导光板261以及用作左光学图像显示器28的左导光板262。
右显示驱动器22包括接收部53(Rx53)、右背光控制器201、右背光221、右LCD控制器211、右LCD 241和右投影光学系统251。右背光控制器201和右背光221用作光源。右LCD控制器211和右LCD 241用作显示元件。在另一实施方式中,代替上述配置,右显示驱动器22可包括诸如有机EL显示元件的自发发射型显示元件,或者可包括将来自激光二极管的光束扫描在视网膜上的扫描型显示元件。这也适用于左显示驱动器24。
接收部53用作在控制器10与显示部20之间执行串行传输的接收器。右背光控制器201基于输入的控制信号来驱动右背光221。例如,右背光221是诸如LED或电致发光(EL)的发射器。右LCD控制器211基于从图像处理器160和显示控制器190发送来的控制信号来驱动右LCD 241。右LCD 241是多个像素以矩阵形式排列的透射型液晶面板。
右投影光学系统251被配置为包括将从右LCD 241发射的图像光形成为平行状态的光通量的准直透镜。用作右光学图像显示器26的右导光板261在沿着预定光路反射图像光的同时将从右投影光学系统251输出的图像光引导到用户的右眼RE。左显示驱动器24具有与右显示驱动器22相同的配置并且与用户的左眼LE对应,因此将省略其描述。
图像处理器160获取包括在内容中的图像信号并经由发送部51和52将所获取的图像信号发送到显示部20的接收部53和54。音频处理器170获取包括在内容中的音频信号,放大所获取的音频信号,并将所放大的音频信号供应给连接到连接构件46的右耳机32内的扬声器(未示出)和左耳机34内的扬声器(未示出)。
控制器10是控制HMD 100’的装置。在一些实施方式中,控制器10被集成到显示部20和/或安装带90中。在其它实施方式中,控制器10被实现在单独的计算机上。控制器10包括操作部135,其包括静电跟踪板或多个可按压的按钮并且可用于成像中的校准。操作部135被设置在控制器10的前表面上。在其它实施方式中,操作部135的一部分或其整体被设置在显示部20和/或安装带90的框架上。
在执行包括在IMU 71中的各个传感器的校准之后,IMU 71中的传感器的加速度、角速度和地磁的检测值(测量输出)被融合,因此可获得高精度IMU取向。这种融合意指来自传感器的测量的移动值与预测值合并,以便提供更平滑和更准确的最终传感器输出。
E-2-1-2.IMU传感器的融合部
图19示出IMU 71中的融合部300。融合部300可存在于IMU 71外部。融合部300基于扩展卡尔曼滤波(EKF)将内部传感器的测量(值或信号)融合。在此实施方式中,IMU取向由四元数表示。通过四元数的表示法可被转换为旋转矩阵。对如下表示的状态矢量应用扩展卡尔曼滤波。
X=[qs2w,bgyro]...(a)
控制输入矢量由陀螺仪传感器的输入决定。
u=[ws]...(b)
按照间隔t从K-1到K的状态转变模型表示在下式中。
xk=f(xk-1,uk-1,wk-1)...(c)
这里,wk-1是噪声矢量。
如图19所示,融合部300包括测量部310、预测部320、更新部330、重力抵消部340、旋转转换部350和延迟部360。
测量部310基于从加速度传感器输出的加速度和从地磁传感器输出的地磁的测量as k和ms k来起作用。测量部310包括低通滤波器311和312。低通滤波器311减小所测量的加速度as k的噪声。低通滤波器312减小所测量的地磁的噪声ms k。
预测部320通过对在预定时间内检测的角速度ωs k-1进行积分来估计角变化量(或姿态),并将所预测的角变化(或姿态)输出到更新部330。更新部330使用所预测的角变化(或姿态)来对测量zk(加速度和地磁)进行滤波(即,融合)。然后,更新并输出融合的IMU取向qs2w k。为了后续循环,经由延迟部360将融合的IMU取向qs2w k反馈回预测部320。当计算融合的IMU取向qs2w k时,通过由重力抵消部340抵消重力来计算IMU 71的动态或线性加速度aw k。
旋转转换部350接收IMU取向qs2w k,将IMU取向qs2w k转换为旋转矩阵Rs2w k,并输出旋转矩阵Rs2w k。从加速度传感器测量的加速度as k被输入到重力抵消部340。重力抵消部340使用由旋转矩阵Rs2w k表示的IMU取向来抵消地球的重力加速度,然后计算并输出重力加速度的分量中不包括的IMU 71的线性加速度aw k。
基于上述扩展卡尔曼滤波调节所检测的值的融合可在制造HMD 100’的工厂执行。相机60和IMU 71的初始校准也可在制造HMD 100’的工厂执行。
E-2-1-3.传感器融合方法的概述
根据图20中的实施方式,CPU 140操作两个单独的线程,一个处理来自IMU 71的数据,一个处理来自相机60的数据。在两个线程之间交换信息以便将相机数据与IMU数据融合。相机数据和IMU数据的融合允许更准确的对象位置跟踪,因为与图像数据(例如,30fps或30Hz)相比,IMU数据可被更快速地处理(例如,按照125Hz)。因此,对象跟踪中将存在较少延迟。
应该理解,术语“相机数据”可指由相机60得到的数据,但是不应限于相机,而是可由任何其它成像装置得到。因此,术语“相机数据”不应仅限于由相机得到的数据。因此,术语“相机数据”在本文中可被称为“图像数据”。
类似地,应该理解,术语“IMU数据”可指由IMU 71得到的数据,但是不应限于IMU,而是可由其它运动感测装置获得。因此,术语“IMU数据”不应仅限于由IMU获得的数据。因此,术语“IMU数据”在本文中可被称为“传感器数据”。
仍参照图20,通过在传感器数据和图像数据二者上放置时间戳来实现融合。这样,传感器数据和图像数据二者的精确定时已知并且其可彼此匹配,导致数据从相同的时间融合。因此,在步骤S300和S302中,利用时间戳来获取IMU数据和图像数据。随后在步骤S306中在视觉线程中将图像数据和IMU数据融合。步骤S306稍后在图21中更详细地讨论。在步骤S312中,判定是否为视频叠加模式。在判定为是视频叠加模式的情况下,进入步骤S316,输出相机姿态,以用于显示。
在IMU线程中,S304确认HMD处于透视模式。透视模式是用户同时观看外部环境和虚拟图像数据的模式。在一些实施方式中,HMD 100’能够在显示区域被虚拟图像覆盖并且用户旨在仅聚焦于虚拟图像的非透视模式下操作。一旦确认透视模式,就在S310中将来自S306的融合数据从视觉线程发送到IMU线程。
(与图像数据相比)使用传感器数据来跟踪移动的一个缺点在于其可包括抖动。该抖动可能是由IMU 71的有限精度以及在所测量的移动中通常发生的离群值导致的。例如,当用户的头部猛地一动时,IMU 71可在几分之一秒内巧合地测量加速度。这可被IMU 71记录为突然和极端的移动。该问题通过步骤S306、S310和S308来解决。通过将传感器数据与图像数据融合并将融合数据重新引入IMU线程中,这些抖动幅度减小或被消除,导致更平滑的移动跟踪。利用这种平滑的传感器数据,在步骤S314中,IMU线程最终输出IMU姿态或预测的对象位置。换言之,如果HMD 100’正在利用例如“信息气泡”来跟踪移动的真实世界对象,则信息气泡将在图像显示中(并在用户的视角中)移动基于S314中输出的预测的量以跟随移动的真实世界对象。
E-2-2.跟踪器融合IMU
E-2-2-1.将IMU与3D对象跟踪器融合的方法
图21是示出根据实施方式的图20的步骤S306的IMU传感器和3D对象跟踪器的融合方法400的流程图。
图21在本文中用作本文的基础流程图,并且将参照图22至图28中的每一个,其各自在图21中使用图中的标号A-E(各自被圆圈围绕)引用。因此,尽管将贯穿以下几点讨论图12,也将贯穿这些部分讨论图22至图28,然后回到图21的讨论。
将注意,可使用各种术语来指代相机数据,例如“3D对象跟踪器”。
首先以图21的步骤S402开始,CPU 140确定使用相机60的3D对象跟踪器是否已准确地确定对象的初始3D姿态,如本文中先前所讨论的。如果是,则CPU 140可将“跟踪器状态”的值设定为真,这允许方法400前进到步骤S406。
另一方面,如果在步骤S402中CPU 140确定3D对象跟踪器没有准确地确定对象的初始3D姿态,则在步骤S404中执行对象姿态估计模块(示出于图22中)。在图22(步骤S502)中,在开始跟踪之前(即,在步骤S506之前),检测初始对象姿态,并且位置对应关系确定单元168可使用例如上面的A-4节中所讨论的算法基于目标对象的初始姿态来执行对象姿态估计。如果未检测到初始姿态或者未成功估计对象姿态(步骤S504),则方法500可前进到步骤S506,其中将对象跟踪器初始化以设定所有跟踪参数的初始值。在步骤S508,方法500确定跟踪器是否正确地跟踪对象,并且如果是,则状态参数(例如,“trackerInit”)被设定为真并且方法返回到图21;否则,方法500可前进到步骤S510,其中状态参数(例如,“trackerInit”)被设定为假以指示差姿态和/或跟踪器未被初始化。
E-2-2-2.将IMU融合初始化
返回到图21,方法400确定IMU融合是否被初始化。在这方面,如果跟踪器被初始化(如上面在步骤S506中所讨论的),则下一步骤是将IMU融合模块初始化(在图23中讨论)。方法600中的第一步骤是在步骤S602中运行3D对象跟踪器,并且如果CPU 140确定3D对象跟踪器正在提供准确的输出(S604),则CPU 140执行指令以确定用户是不是静止的(S606),并且当例如在步骤S608(稍后讨论)中确定用户的头部处于静止时,则在步骤S610中CPU 140获得居中的姿态。在这方面,如果跟踪成功,则在步骤S612中执行融合初始化功能(在下面深入描述),然后返回到图21(S614)。
为了将IMU融合初始化,初始化的主要参数是对象坐标系与全局坐标系之间的变换矩阵TO2G。下面是计算变换矩阵的自动方式。
TO2G=TS2G*TC2S*TO2C
其中TC2S是从相机到IMU的变换矩阵,并且通过校准而预先已知。假设对象是静止的,因此TO2G是固定的,仅需要在系统初始化阶段计算一次。TS2G是全局坐标系中的IMU姿态。TO2C是相机坐标系中的对象姿态,并由对象跟踪器输出。
在初始化阶段,建议用户保持他/她的头部处于静止。当IMU处于静止时,TS2G可如下计算(ax、ay、az是加速度计读数),
yaw=0
RS2G=(Rx*Ry*Rz)′
由于如果用户不处于静止,则TS2G可能不准确,并且该误差将使得融合准确性变得不可靠,所以在将IMU融合初始化之前,存在检查用户是否处于静止的另一功能。只有当用户处于静止时,才将调用IMU融合初始化功能。因此,如上所述,在将IMU融合初始化之前,在步骤S606下CPU执行指令以检测用户处于静止。
E-2-2-2-1检测静止运动
当用户处于静止时,IMU读数可被建模为高斯分布,并且各个维度读数的概率密度函数为:
其中μ表示均值,σ是标准偏差。μ和σ可从用户处于静止时所收集的IMU数据来估计。对于实时IMU读数x,当p(x)>th(其中“th”是实验阈值)时,用户被确定为静止。
如果根据是上面所讨论的模型检测到用户处于静止,则在步骤S612下执行IMU融合初始化。在IMU融合被初始化之后,状态标志被设定为真以指示融合被成功初始化;否则标志被设定为假。
E-2-2-3.IMU姿态预测
返回到图21,在步骤S408中,如果IMU融合没有被初始化,则进入到S410,将IMU融合初始化。在步骤S408中,如果IMU融合被初始化(上面讨论),则在跟踪之前预测IMU姿态,然后在跟踪中使用IMU预测姿态。具体地,CPU 140至少基于从IMU传感器获取的传感器数据序列通过非线性估计算法来依次预测惯性传感器相对于全局坐标系的传感器姿态。这在下面更详细地描述。
根据本公开的一个实施方式,状态矢量xk={pk,vk,qk}包括IMU位置pk、IMU速度vk和IMU取向qk(全部在全局坐标系中);并且控制输入uk包括加速度计输入和陀螺仪输入。状态转变和测量模型为,
xk=f(xk-1,uk-1,wk-1)和zk=h(xk,nk)
其中wk和nk是过程噪声和测量噪声,其分别被假设为具有协方差Qk和Rk的零均值高斯噪声。
预测IMU姿态的式为
其中F是f相对于x的雅可比矩阵,L是f相对于过程噪声w的雅可比矩阵。
E-2-2-4.IMU发散确定
IMU传感器,特别是加速度计可能发散,意指对于姿态预测而言数据不准确。例如,当长时间丢失视觉时。
为了在跟踪中最佳地使用IMU,需要确定IMU何时发散(S412)。下面定义了确定IMU发散的标准。
其中P是状态协方差矩阵。
下式确定加速度计读数是否异常:
|(||加速度计||-||加速度计的校准的地面实况||)|>ThAcc (9)
如果满足或或或式(9),则IMU发散并且状态标志“PredictPose”被设定为假(步骤S414),否则其被设定为真(步骤S416)。然后方法400可前进到下面针对IMU对象跟踪器讨论的步骤S420。
E-2-2-5.IMU对象跟踪器(S418)
使用IMU传感器跟踪对象的示例示出于图24中并在下面讨论。
E-2-2-5-1.检测静止运动(S702)
在步骤S702和S704中,CPU 140执行基于传感器数据序列确定用户的头部(因此,惯性传感器)是否保持静止或基本上静止的模块,如上面已讨论的。如果用户或惯性传感器被检测为处于静止或基本上静止,则可不执行跟踪。相反,在惯性传感器被确定为保持静止或基本上静止的情况下,先前通过非线性估计算法预测的传感器姿态用作下一预测的传感器姿态(S706)。在这方面,不预测另一姿态,而是简单地从存储器检索已存储在存储器中的先前姿态并用于下一帧或当前帧。另选地,先前通过将相机数据和传感器数据融合而获得的对象姿态(或者对象的第二姿态)可用作下一融合的对象姿态。即,在一些实施方式中,如果用户或惯性传感器被检测为处于静止或基本上静止,则不需要在视觉线程中执行视觉跟踪。
这降低了系统的计算时间和处理功率,因为不需要执行其它计算或步骤以确定当前姿态。这样,跟踪速度改进。
然而,如果用户正在移动,则方法700前进以执行步骤S708-S722。
应该注意,当使用边缘对齐或其它特征时或者对于可能没有许多特征匹配特征(例如,没有许多KLT特征)的低特征对象,步骤S712-S716可为可选的(因此,围绕这些步骤以虚线框示出)。因此,一个实施方式从S708前进到S709或直接到S718,另一实施方式从S708前进到S712或S710。
E-2-2-5-2.使用IMU预测姿态预测特征点位置/使用预测特征位置的KLT匹配
在步骤S708中,如果IMU预测姿态状态标志“PredictPose”为真(从图21的S414),则方法700中的行为将与其原始跟踪器非常不同。IMU预测姿态具有多种用途以改进跟踪性能。首先,其被转换为相机坐标并成为预测对象姿态。使用预测对象姿态,在先前帧中匹配的所有特征点被投影到当前帧,因此预测其在当前帧中的位置(步骤S712),前提是对象具有足够的特征进行特征匹配(但是如果没有,则方法700可直接前进到S718)。
然后,在步骤S714-S716中,CPU 140使用预测特征位置执行特征匹配。根据实施方式,特征匹配可这样执行:使用Kanade–Lucas–Tomasi(KLT)匹配(S714),去除任何离群值(例如,相对于匹配差异大于预定阈值的点)(S715),然后使用内点特征匹配结果和IMU预测姿态来估计姿态(S716)。在KLT匹配中,利用预测特征位置,匹配变得更准确更快。原因示出于图28中,其中图28中由正方形指示的点(图中752所示)指示先前帧中的特征位置,图28中由圆圈指示的点(图中754所示)指示那些特征在当前帧中的真/预测位置。根据这些点之间的虚线的长度,帧间运动大并且如果不使用IMU则KLT特征匹配可能失败。利用IMU预测,当前帧中的特征位置被预测为接近其真实位置,因此特征匹配将成功并且匹配将快速且准确,因为算法知道在哪里找到那些特征。
在这方面,在图像数据序列中的连续图像帧之间存在匹配:至少基于预测传感器姿态、第二空间关系和3D模型上的3D点的对象的2D特征点,由此3D点与2D特征点对应。
返回参照图24的步骤S708,如果IMU预测姿态状态标志“PredictPose”为假(从图21的S416),则在S710中在不使用IMU数据的情况下执行CPU 140特征匹配(或者方法700可前进到S709,其中CPU 140确定视觉丢失)。在这方面,例如,可仅使用KLT匹配,然后输出使用特征匹配结果的姿态估计。在这方面,代替步骤S712-S715使用步骤S710允许系统避开来自IMU传感器的数据,因为IMU传感器已发散,因此这样的数据没有用。
E-2-2-5-3.使用KLT匹配结果和IMU预测姿态的姿态估计(S716)
如上所述,KLT匹配输出匹配的特征。使用这些特征及其对应3D坐标,根据一个实施方式,可使用通过高斯-牛顿优化的鲁棒姿态估计器来估计姿态。
使用高斯-牛顿优化的鲁棒姿态估计器需要初始姿态,并且如果初始姿态不够接近真实姿态,则其可能不收敛,或者其可能收敛到错误的局部最小值,这导致估计姿态可能不准确。在原始跟踪器中,先前帧中的对象姿态是对鲁棒姿态估计器的输入。如果帧间运动明显,则先前姿态将不接近当前帧的真实姿态,因此鲁棒姿态估计器可收敛非常慢,收敛到错误的最小值,或者可能根本不收敛。因此,在一个实施方式中,从IMU预测姿态转换的预测对象姿态用作鲁棒估计器的初始姿态。由于作为初始姿态的预测姿态远比先前帧中的对象姿态准确,所以鲁棒估计器更快地收敛并且收敛到的姿态更准确。这样,跟踪器性能改进。
因此,至少基于(1)匹配的2D特征点、(2)依次预测的传感器姿态或另一传感器姿态以及(3)第二空间关系(即,对象或3D模型上定义的对象坐标系与全局坐标系之间的关系)来推导第二姿态,第二空间关系至少基于:(1)第一初始姿态或从第一姿态跟踪的姿态、(2)从惯性传感器获取的传感器数据序列以及(3)惯性传感器与相机之间的第一空间关系。
在一些实施方式中,CPU 140或计算机处理器使用显示器使用如此推导的对象的第二姿态来显示诸如3D AR模型的渲染图像这样的图像,以使得用户被允许通过HMD 100视觉上感知AR对象的位置和姿态基本上与对象对准或锚定到对象。在这种情况下,处理器使用下式来推导包括在3D AR对象中的各个3D点的图像位置xdis_1。
xdis_1=PTCam2DispTObject2CamX
其中P是投影矩阵,TCam2Disp是从相机坐标系到HMD 100的显示坐标系的3D变换矩阵。TObject2Cam是指根据本实施方式的对象姿态或对象的第二姿态(二者均表示在相机坐标系中)。X表示存储在HMD 100的存储器中的3D AR模型(表示在3D模型坐标系中)中所包括的各个3D点。
E-2-2-5-4.通过边缘对齐和IMU预测姿态的姿态细化(S718)
根据如步骤S718中所示的一些实施方式,使用边缘对齐方法来细化从KLT特征计算的姿态。基于从KLT特征计算的姿态来提取初始边缘点。当对象的视角使得少于5个的KLT特征点被检测到时,可不从KLT匹配估计姿态,然后边缘对齐方法将失败。在此工作中,当遇到这种情况下时,IMU预测对象姿态将是边缘对齐方法的输入。由于预测姿态相对准确,所以边缘对齐方法将最可能仍有效。
KLT匹配甚至可被消除,因为IMU预测姿态可有效用作边缘对齐方法的初始姿态。这对低特征对象最有用,因为低特征对象中可能不存在KLT特征。
E-2-2-5-5.离群值去除(S720)
一般而言,KLT特征和边缘特征包含离群值,并且如步骤S720中所提供的,执行离群值去除。
为了从KLT特征去除离群值,将比较KLT匹配结果与IMU预测位置之间的差异。计算差异的直方图并且差异大于阈值的特征将作为离群值被去除。
为了去除离群值边缘特征,除了使用用于KLT特征的直方图方法之外,具有太多可能的匹配点的边缘点将作为离群值被去除。
E-2-2-6.将IMU融合重新初始化
返回参照图21,在步骤S420,CPU 140执行“将IMU融合重新初始化”步骤(或模块)。此模块检查从其先前步骤检测的姿态是否准确。如果姿态准确并且IMU发散,则IMU融合将被重新初始化。如图25所示的IMU重新初始化与图23中提供并且先前讨论的IMU融合初始化模块相似。方法800中的第一步骤是运行3D对象跟踪器,并且如果CPU 140确定3D对象跟踪器正在提供准确的输出(S802),则在步骤S804中当例如用户的头部被确定为移动时,CPU140执行指令以确定IMU是否已经历发散状况。如果是,则CPU 140在步骤S806中获得居中的姿态,并且CPU将IMU融合功能重新初始化(S808),并且方法800返回到图21。在对象相对于场景或全局坐标系移动,并且因此基于IMU预测姿态的对象姿态与基于图像帧的对象姿态之间的差异被处理器确定为等于或大于阈值的情况下,也可执行步骤S420处的“将IMU融合重新初始化”以更新由TO2G表示的场景中的对象之间的空间关系。
返回参照图21的步骤S422,如果内点(在离群值滤波之后留下的匹配特征点)的数量大于阈值,则下一步骤将是“将IMU和视觉融合”步骤S424。
E-2-2-7.将IMU和视觉融合(S424)
在步骤S424中,更新IMU读数,并且来自对象跟踪器的特征的2D和3D信息可用。
首先,根据式(3)和(4)使用最新的陀螺仪和加速度计读数预测新的状态。
其中H是h相对于x的雅可比矩阵,M是相对于n的雅可比矩阵。测量zk包括通过视觉对象跟踪器匹配的所有特征点。为了改进融合速度,在离群值去除之后仅选择d个特征。例如,在我们的一个实现方式中d<50。从xk(从pk的平移以及从qk的旋转)推导IMU姿态TS2G。
E-2-2-8.处理视觉丢失(S426)
图26是示出根据实施方式处理视觉丢失的流程图。图26的方法900处理当视觉姿态由于特定原因(例如,姿态估计不收敛等)而没有更新,但是IMU姿态被正确地融合时的情况。
例如,如果IMU不发散(S902),则在步骤S904中计算融合的视觉姿态,然后在步骤S906中将IMU融合姿态设定为视觉姿态,如下面所讨论的。
从xk(从pk的平移以及从qk的旋转)推导IMU姿态TS2G。
TO2C=TS2C*inv(TS2G)*TO2G (15)
然后将对象跟踪器中的姿态更新为TO2C。此模块在视觉跟踪器失败时使用IMU姿态来减少跟踪丢失。当在步骤S908中判定为视觉姿态被更新时,重置视觉姿态状态(S910),重新得到新的特征点(S912),并返回到图21。
E-2-3.得到抖动减小IMU姿态
图27是用于获得抖动减小的姿态并且贯穿上面所讨论的IMU方法的所有步骤。
在HMD 100或100’上,对于光学透视应用,输出IMU预测姿态以用于显示。在装置上观测到的一个问题是与原始跟踪器相比,利用IMU融合,用户感觉到更多抖动。因此,介绍静止抖动检测和运动抖动检测方法以检测抖动并应用对应抖动减小方法以确保用户有良好体验。
姿态平滑是减小姿态抖动的传统方式,但是其缺点是其也增加了延迟,这使得延迟改进比之前更不明显。因此,我们提出了以下新的方法以在不太影响延迟改进的情况下减小抖动。另外,任何复杂的计算将增加延迟,因此我们应用尽可能快速和简单的方法。
E-2-3-1.检测静止运动(S1002)
当用户处于静止时,抖动最明显。因此,首先去除静止抖动。
在步骤S1002中,检测静止运动(S1002)。如果用户被检测为处于静止(S1004),则先前IMU姿态被复制作为当前IMU姿态(S1006)。然后将使用式(15)将当前IMU姿态转换为对象坐标中的姿态以用于显示(S1008)。
使用此功能,静止抖动被完全减小。
除了静止抖动之外,许多人在移动期间观测到抖动,我们将其称为运动抖动。接下来几个模块用于减小运动抖动。
另一方面,如果用户不处于静止,则预测IMU姿态(S1010),然后将IMU姿态转换为对象姿态(S1012),如本文中所讨论的。然后,方法1000可前进到步骤S1014(下面讨论)。
E-2-3-2.检测运动抖动(S1014)
在步骤S1014中,在当前IMU姿态与先前IMU姿态之间的姿态差异小(例如,小于或等于预定义阈值)时检测运动抖动。
当识别出运动抖动时,按照与识别出静止运动时相似的方式来处理,即,将先前姿态复制到当前姿态(S1006)。如果静止抖动和运动抖动二者均未检测到,则CPU 140可应用指数平滑(S1018)以减小抖动,并且可基于姿态差异来设定平滑因子。最简单形式的指数平滑由下式给出,
st=α·xt+(1-α)·st-1 (16)
其中α是平滑因子,并且0<α<1。
在步骤S1020下然后复制平滑的姿态作为显示姿态。
E-3.实验结果
上面所讨论的所提出的IMU和3D对象跟踪融合方法减小了用户所感知到的延迟,允许更快的用户头部运动而不会影响相对于对象的姿态的感知,并且处理视觉丢失。其改进了总跟踪性能和用户的体验。一些实验结果在下节中示出。
E-3-1.延迟改进
使用所提出的方法观测到显著的延迟减小,并且表1中给出了延迟测量结果。与在利用不使用IMU的原始跟踪器的情况下的延迟(128ms~140ms)相比,在有IMU的情况下延迟约为32ms。
在具有IMU的HMD的情况下明显观测到延迟改进。本发明之前的装置可不低于100ms,但是本公开的实施方式的延迟能够为32ms左右。
E-3-2.减少跟踪漂移
利用IMU融合,实现无漂移跟踪。对于利用IMU跟踪富特征对象和低特征对象是这样的。对于两种对象,如本文所讨论添加IMU改进了跟踪性能。
E-3-3.容许更快的用户运动
如上所述,在特征匹配之前使用IMU预测姿态来预测当前帧中的特征位置,这导致更快更准确的特征匹配,并且容许大的帧间运动。
另外,如上所述,IMU预测姿态用作鲁棒姿态估计器的初始姿态,这导致更快的收敛和更准确的估计姿态。
因此,所提出的方法容许更快的用户运动。
E-3-3总结
以下特征使得所提出的方法独特并且比用于可穿戴装置上的AR应用的现有3D对象跟踪技术更好地执行。
设计用于将IMU传感器和我们的3D对象跟踪技术融合的IMU和3D对象跟踪融合框架以使3D对象跟踪性能最大化。
IMU线程和视觉线程这两个线程在HMD装置上运行,并且按照IMU输出频率更新姿态,这减小了光学透视延迟。
IMU预测姿态用作鲁棒姿态估计器的初始姿态,其改进了姿态准确性和姿态估计速度。
在来自特征匹配的先前姿态估计失败的情况下使用IMU预测姿态作为边缘细化模块的输入对象姿态,这改进了姿态准确性、姿态估计速度并且降低了富特征要求,因此可跟踪较少特征的对象/视角。
当跟踪器失败并且IMU未发散时,使用IMU姿态来更新视觉跟踪器姿态,这减少了跟踪丢失。
公开了一种检测静止运动并将IMU融合初始化的自动方法。
公开了一种两步抖动减小方法(静止抖动减小+运动抖动减小),以不仅减小抖动,而且还维持延迟改进。
由于当用户被检测为静止时,跟踪器仅使用来自最后帧的姿态而无需实际跟踪当前帧,所以跟踪速度改进。
利用IMU预测,在跟踪期间可使用较少特征,跟踪速度改进。
利用IMU预测,由于特征匹配变得更快且更准确,所以可考虑其它复杂的特征。
这些特征使得所提出的技术改进3D对象跟踪速度、准确性和延迟,减少了跟踪丢失,降低了对用户移动速度的限制,并且改进了用户对可穿戴装置上的AR应用的体验。
E-3-4多个装置中的空间关系
在上述实施方式中,步骤S612(图23)中的IMU融合初始化提供表示对象相对于场景的空间关系的数据。在另一实施方式中,这样的空间关系可由多个装置存储并使用。根据这样的实施方式,即使对象在相机60的视野之外,不同HMD 100’中的CPU 140也可获得对象相对于相同场景的位置和姿态。然后,CPU 140使用不同HMD100’在全局坐标系中的位置和姿态向其用户显示关于对象的位置和/或姿态的视觉信息,前提是全局坐标系被设定为这些HMD 100’所共有。为此,优选的是HMD 100’(例如,第一装置)和不同HMD 100’(例如,第二装置)中的每一个包括GPS(全球定位系统)传感器和/或IMU 71以定义并彼此共享全局坐标系。如果除了加速度计和陀螺仪之外IMU 71还包括磁传感器,则CPU 140还可使用例如NED(North-East-Down)坐标系来定义多个装置所共有的这种全局坐标系而无需GPS传感器。这样,节省了不同HMD 100’获得场景或全局坐标系中的对象姿态的计算功率。
例如,相机获取图像数据序列,并且惯性传感器获取传感器数据序列。如上面所讨论的,惯性传感器相对于相机以第一空间关系固定或者可调节地固定。
诸如HMD 100’的第一装置的CPU 140至少基于图像数据序列中的图像帧和基于分别与对象对应的3D模型创建的模板数据中的一个来推导各个对象的第一姿态或视觉对象姿态。第一装置的CPU 140还至少基于第一姿态或从第一姿态跟踪的姿态、传感器数据序列和第一空间关系来推导对象或3D模型上分别定义的对象坐标系与全局坐标系之间的各个第二空间关系。
第二空间关系被存储在存储介质中以使得第二空间关系对访问能够与存储介质通信的计算机的装置(即,第一装置以外的诸如第二装置的装置)可用。例如,第二空间关系可被存储在服务器中,所有装置可经由网络访问该服务器。在这方面,这些其它装置可使用姿态和空间关系来确定与其它装置的空间关系。
如本领域技术人员将理解的,本发明的各方面可被具体实现为系统、方法或计算机程序产品。因此,本发明的各方面可采取全硬件实施方式、全软件实施方式(包括固件、常驻软件、微码等)或者将软件和硬件方面组合的实施方式的形式,其在本文中通常可全部称为“电路”、“模块”或“系统”。此外,本发明的各方面可采取具体实现有计算机可读程序代码的一个或更多个计算机可读介质中具体实现的计算机程序产品的形式。
可使用一个或更多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或非暂时性计算机可读存储介质。计算机可读存储介质可以是(例如,但不限于)电子、磁、光学、电磁、红外或半导体系统、设备或装置或者前述的任何合适的组合。非暂时性计算机可读存储介质的更具体的示例(非穷尽性列表)将包括下列项:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式光盘只读存储器(CD-ROM)、光学存储装置、磁存储装置或者前述的任何合适的组合。在本文献的上下文中,非暂时性计算机可读存储介质可以是可包含或存储由指令执行系统、设备或装置使用或与其结合使用的程序的任何有形介质。
计算机可读信号介质可包括具体实现有计算机可读程序代码的传播数据信号(例如,在基带中或作为载波的一部分)。这样的传播信号可采取各种形式中的任何形式,包括(但不限于)电磁、光学或其任何合适的组合。计算机可读信号介质可以是不是非暂时性计算机可读存储介质并且可传送、传播或传输程序以供指令执行系统、设备或装置使用或与其结合使用的任何计算机可读介质。
计算机可读介质上具体实现的程序代码可使用任何适当的介质来发送,包括(但不限于)无线、有线、光纤线缆、RF等或者前述的任何合适的组合。用于实现本发明的各方面的操作的计算机程序代码可按照一种或更多种编程语言的任何组合来编写,包括诸如Java、Smalltalk、C++等的面向对象的编程语言以及诸如“C”编程语言或类似编程语言的传统过程编程语言。程序代码可完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情形下,远程计算机可通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,或者可连接到外部计算机(例如,使用互联网服务提供商通过互联网)。
上面参照根据本发明的实施方式的方法、设备(系统)和计算机程序产品的流程图和框图描述了本发明的各方面。将理解,流程图和/或框图中的各个方框以及流程图和/或框图中的方框的组合可通过计算机程序指令来实现。可将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以产生机器,使得经由计算机或其它可编程数据处理设备的处理器执行的指令创建用于实现流程图和/或框图方框中指定的功能/动作的装置。
这些计算机程序指令也可被存储在可引导计算机、其它可编程数据处理设备或其它装置以特定方式起作用的计算机可读介质中,使得存储在计算机可读介质中的指令产生包括实现流程图和/或框图方框中指定的功能/动作的指令的制品。
计算机程序指令也可被加载到计算机、其它可编程数据处理设备或其它装置上,以使得在计算机、其它可编程设备或其它装置上执行一系列操作步骤以产生计算机实现的处理,使得在计算机或其它可编程设备上执行的代码提供用于实现流程图和/或框图方框中指定的功能/动作的处理。
附图中的流程图和/或框图示出了根据本发明的各种实施方式的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这方面,流程图或框图中的各个方框可表示模块、片段或部分代码,其包括用于实现所指定的逻辑功能的一个或更多个可执行指令。还应该注意,在一些另选实现方式中,方框中指出的功能可不按附图中指出的顺序发生。例如,根据所涉及的功能,连续示出的两个方框实际上可基本上同时执行,或者方框有时可按照相反的顺序执行。还将注意,框图和/或流程图中的各个方框以及框图和/或流程图中的方框的组合可由执行指定的功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
本文中所使用的术语仅是为了描述特定实施方式,而非旨在限制本发明的实施方式。如本文所用,除非上下文清楚地另外指示,否则单数形式旨在也包括复数形式。还将理解,当用在本说明书中时,术语“具有”、“包括”和/或“包含”指定所述特征、整体、步骤、操作、元件和/或组件的存在,但是不排除一个或更多个其它特征、整体、步骤、操作、元件、组件和/或其组的存在或添加。
如具体要求保护的,随附的权利要求书中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于与其它要求保护的元件组合执行功能的任何结构、材料或动作。为了例示和描述呈现了本发明的明确描述,但是其并非旨在为穷尽性的或限于明确公开的形式的本发明的实施方式。在不脱离本发明的实施方式的范围和精神的情况下,对于本领域普通技术人员而言许多修改和变化将是显而易见的。选择并描述实施方式以便最佳地说明本发明的实施方式的原理和实际应用,并且使得本领域普通技术人员能够理解本发明的实施方式的各种实施方式以及适合于可以想到的特定用途的各种修改
尽管本文例示和描述了特定实施方式,但是本领域普通技术人员将理解,被计算为实现相同目的的任何布置方式可替换所示的特定实施方式,并且本发明的实施方式在其它环境中有其它应用。本申请旨在涵盖本发明的任何更改或变化。随附权利要求书决非旨在将本发明的实施方式的范围限于本文所描述的特定实施方式。
Claims (21)
1.一种用于跟踪用户正在观看的对象的姿态的方法,该方法包括以下步骤:
从相机获取图像数据序列;
从惯性传感器获取传感器数据序列,所述惯性传感器相对于所述相机以第一空间关系固定或者可调节地固定;
利用计算机处理器,使用所述图像数据序列中的图像帧和基于与所述对象对应的3D模型创建的模板数据来推导所述对象的第一姿态;
利用所述计算机处理器,至少基于(1)所述第一姿态或从所述第一姿态跟踪的姿态、(2)所述传感器数据序列和(3)所述第一空间关系来推导所述对象或所述3D模型上定义的对象坐标系与全局坐标系之间的第二空间关系;
利用所述计算机处理器,使用非线性估计算法,至少基于所述图像数据序列、所述传感器数据序列和所述第二空间关系来推导所述对象的第二姿态;以及
利用显示器,使用所述对象的所述第二姿态来显示图像。
2.根据权利要求1所述的方法,其中,所述非线性估计算法包括扩展卡尔曼滤波(EKF)算法。
3.根据权利要求1所述的方法,其中,所述非线性估计算法包括粒子滤波、无迹卡尔曼滤波(UKF)或最大似然非线性系统估计中的一个。
4.根据权利要求1所述的方法,该方法还包括以下步骤:
至少基于所述传感器数据序列,通过所述非线性估计算法依次预测所述惯性传感器相对于所述全局坐标系的传感器姿态;以及
在所述图像数据序列中的连续图像帧之间,至少基于所预测的传感器姿态、所述第二空间关系和所述3D模型上的3D点,对所述对象的2D特征点进行匹配,所述3D点与所述2D特征点对应,
其中,推导所述第二姿态的步骤至少基于(1)所匹配的2D特征点、(2)所述传感器姿态或依次预测的另一传感器姿态和(3)所述第二空间关系。
5.根据权利要求4所述的方法,
其中,所述匹配步骤包括在所述连续图像帧之间将所述对象的所述2D特征点匹配至所述对象上的预定特征点。
6.根据权利要求5所述的方法,其中,所述预定特征点是所述对象的拐角或边缘之一。
7.根据权利要求4所述的方法,该方法还包括以下步骤:
通过所述非线性估计算法,基于包括在所述传感器数据序列中的陀螺仪和加速度计的读数来依次预测所述传感器姿态,所述陀螺仪和所述加速度计包括在所述惯性传感器中。
8.根据权利要求4所述的方法,该方法还包括以下步骤:
确定所述惯性传感器是否相对于所述对象保持静止或基本上静止;以及
当所述惯性传感器被确定为保持静止或基本上静止时,通过所述非线性估计算法,基于包括在所述传感器数据序列中的加速度计的读数来预测所述传感器姿态。
9.根据权利要求4所述的方法,该方法还包括以下步骤:
基于所述传感器数据序列确定所述惯性传感器是否处于发散状况以外的状况;以及
在所述惯性传感器被确定为处于所述发散状况以外的状况的情况下,在包括后一图像帧和前一图像帧的所述连续图像帧之间对所述对象的所述2D特征点进行匹配之前,基于所述前一图像帧上的2D特征点位置、所述传感器姿态和所述第一空间关系来预测所述后一图像帧上的2D特征点位置。
10.根据权利要求1所述的方法,该方法还包括以下步骤:
基于所述传感器数据序列确定所述惯性传感器是否保持静止或基本上静止;以及
在所述惯性传感器被确定为保持静止或基本上静止的情况下,使用先前通过所述非线性估计算法预测的传感器姿态作为下一预测的传感器姿态。
11.根据权利要求1所述的方法,该方法还包括以下步骤:
将所述第二空间关系存储在媒体存储介质中以使得所述第二空间关系对访问能够与所述存储介质通信的计算机的第一装置可用。
12.根据权利要求11所述的方法,其中,所述用户使用与另一用户所使用的所述第一装置不同的第二装置观看所述对象。
13.一种计算机可读介质,该计算机可读介质存储有使得计算机执行根据权利要求1所述的方法的程序。
14.一种具体实现指令的非暂时性计算机可读介质,所述指令在由处理器执行时执行用于跟踪用户所观看的对象的各个姿态的方法,该方法包括以下步骤:
从相机获取图像数据序列;
从惯性传感器获取传感器数据序列,所述惯性传感器相对于所述相机以第一空间关系固定或者可调节地固定;
利用计算机处理器,基于所述图像数据序列中的图像帧和基于分别与所述对象对应的3D模型创建的模板数据来推导所述对象中的各个对象的第一姿态;
利用所述计算机处理器,至少基于所述第一姿态或从所述第一姿态跟踪的姿态、所述传感器数据序列和所述第一空间关系来推导所述对象或所述3D模型上分别定义的对象坐标系与全局坐标系之间的各个第二空间关系,并且利用所述计算机处理器,使用非线性估计算法,至少基于所述图像数据序列、所述传感器数据序列和所述第二空间关系来推导所述对象中的各个对象的第二姿态;以及
将所述第二空间关系存储在存储器中。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,所述非线性估计算法包括扩展卡尔曼滤波算法。
16.根据权利要求14所述的非暂时性计算机可读介质,其中,所述存储步骤包括将所述第二空间关系存储在存储介质中以使得所述第二空间关系对访问能够与所述存储介质通信的计算机的装置可用。
17.一种头戴式显示装置,该头戴式显示装置包括:
相机;
惯性传感器,该惯性传感器相对于所述相机以第一空间关系固定或者可调节地固定;以及
处理器,该处理器被配置为:
从所述相机获取图像数据序列;
从惯性传感器获取传感器数据序列;
基于所述图像数据序列中的图像帧和基于与对象对应的3D模型创建的模板数据来推导所述对象的第一姿态;
至少基于所述第一姿态或从所述第一姿态跟踪的姿态、所述传感器数据序列和所述第一空间关系来推导所述对象或所述3D模型上定义的对象坐标系与全局坐标系之间的第二空间关系;并且
使用非线性估计算法,至少基于所述图像数据序列、所述传感器数据序列和所述第二空间关系来推导所述对象的第二姿态。
18.根据权利要求17所述的头戴式显示装置,其中,所述非线性估计算法包括扩展卡尔曼滤波算法。
19.根据权利要求17所述的头戴式显示装置,其中,所述处理器还被配置为:
至少基于所述传感器数据序列,使用所述非线性估计算法依次预测所述惯性传感器相对于所述全局坐标系的传感器姿态;并且
在所述图像数据序列中的连续图像帧之间,至少基于所预测的传感器姿态、所述第二空间关系和所述3D模型上的3D点对所述对象的2D特征点进行匹配,所述3D点与所述2D特征点对应,
其中,推导所述第二姿态的步骤至少基于(1)所匹配的2D特征点、(2)所述传感器姿态或依次预测的另一传感器姿态和(3)所述第二空间关系。
20.根据权利要求17所述的头戴式显示装置,其中,所述处理器还被配置为:
基于所述传感器数据序列确定所述惯性传感器是否保持静止或基本上静止;并且
在所述惯性传感器被确定为保持静止或基本上静止的情况下,使用先前通过所述非线性估计算法预测的传感器姿态作为下一预测的传感器姿态。
21.根据权利要求17所述的头戴式显示装置,该头戴式显示装置还包括:
显示器,该显示器被配置为使用所述第二姿态来显示图像。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/625,174 US10621751B2 (en) | 2017-06-16 | 2017-06-16 | Information processing device and computer program |
US15/625,174 | 2017-06-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109146965A CN109146965A (zh) | 2019-01-04 |
CN109146965B true CN109146965B (zh) | 2022-10-25 |
Family
ID=64657453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810620562.4A Active CN109146965B (zh) | 2017-06-16 | 2018-06-15 | 信息处理装置、计算机可读介质和头戴式显示装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10621751B2 (zh) |
CN (1) | CN109146965B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9868212B1 (en) * | 2016-02-18 | 2018-01-16 | X Development Llc | Methods and apparatus for determining the pose of an object based on point cloud data |
JP6918672B2 (ja) * | 2017-10-11 | 2021-08-11 | 株式会社日立システムズ | 劣化診断システム |
US10762702B1 (en) * | 2018-06-22 | 2020-09-01 | A9.Com, Inc. | Rendering three-dimensional models on mobile devices |
US10810430B2 (en) * | 2018-12-27 | 2020-10-20 | At&T Intellectual Property I, L.P. | Augmented reality with markerless, context-aware object tracking |
JP7190919B2 (ja) * | 2019-01-25 | 2022-12-16 | 株式会社ソニー・インタラクティブエンタテインメント | 画像解析システム |
US11090561B2 (en) * | 2019-02-15 | 2021-08-17 | Microsoft Technology Licensing, Llc | Aligning location for a shared augmented reality experience |
CN109977784B (zh) * | 2019-02-28 | 2021-03-23 | 北京百度网讯科技有限公司 | 用于获取信息的方法及装置 |
CN110119698B (zh) * | 2019-04-29 | 2021-08-10 | 北京百度网讯科技有限公司 | 用于确定对象状态的方法、装置、设备和存储介质 |
US11328486B2 (en) * | 2019-04-30 | 2022-05-10 | Google Llc | Volumetric capture of objects with a single RGBD camera |
US11010921B2 (en) * | 2019-05-16 | 2021-05-18 | Qualcomm Incorporated | Distributed pose estimation |
CN110379017B (zh) * | 2019-07-12 | 2023-04-28 | 北京达佳互联信息技术有限公司 | 一种场景构建方法、装置、电子设备及存储介质 |
CN110751736B (zh) * | 2019-10-11 | 2023-06-16 | 彩讯科技股份有限公司 | 一种ar模型生成方法、装置、终端和存储介质 |
US11443455B2 (en) * | 2019-10-24 | 2022-09-13 | Microsoft Technology Licensing, Llc | Prior informed pose and scale estimation |
JP2021071672A (ja) * | 2019-11-01 | 2021-05-06 | セイコーエプソン株式会社 | 表示システム、表示方法、及び、表示プログラム |
CN110956666B (zh) * | 2019-11-12 | 2023-05-12 | 深圳市瑞立视多媒体科技有限公司 | 运动数据标定方法、装置、终端设备及存储介质 |
CN111323007B (zh) * | 2020-02-12 | 2022-04-15 | 北京市商汤科技开发有限公司 | 定位方法及装置、电子设备和存储介质 |
US11647352B2 (en) * | 2020-06-20 | 2023-05-09 | Apple Inc. | Head to headset rotation transform estimation for head pose tracking in spatial audio applications |
CN112833788B (zh) * | 2021-01-07 | 2022-07-08 | 深圳许多米科技有限公司 | 一种枪体定位方法、装置、设备、仿真枪及可读存储介质 |
US11941863B2 (en) * | 2021-08-04 | 2024-03-26 | Datalogic Ip Tech S.R.L. | Imaging system and method using a multi-layer model approach to provide robust object detection |
CN113916906B (zh) * | 2021-09-03 | 2024-01-09 | 江苏理工学院 | 视觉检测系统led光源照度优化方法及所用实验设备 |
CN113838089B (zh) * | 2021-09-20 | 2023-12-15 | 哈尔滨工程大学 | 一种基于特征匹配算法的气泡轨迹跟踪方法 |
CN114543797A (zh) * | 2022-02-18 | 2022-05-27 | 北京市商汤科技开发有限公司 | 位姿预测方法和装置、设备、介质 |
US11977672B2 (en) * | 2022-06-03 | 2024-05-07 | Qualcomm Incorporated | Distributed pose prediction |
CN117670994A (zh) * | 2022-08-22 | 2024-03-08 | 华为技术有限公司 | 一种图像处理方法、标定系统及相关设备 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4573085B2 (ja) | 2001-08-10 | 2010-11-04 | 日本電気株式会社 | 位置姿勢認識装置とその位置姿勢認識方法、及び位置姿勢認識プログラム |
DE102006005044B4 (de) | 2006-02-03 | 2011-01-27 | Metaio Gmbh | Verfahren und System zur Bestimmung eines Datenmodells zur Überlagerung mit einem realen Objekt in einem Verfahren zur Objektverfolgung |
JP4260814B2 (ja) | 2006-03-09 | 2009-04-30 | 任天堂株式会社 | ゲーム装置およびゲームプログラム |
US20080310757A1 (en) | 2007-06-15 | 2008-12-18 | George Wolberg | System and related methods for automatically aligning 2D images of a scene to a 3D model of the scene |
EP2048599B1 (en) * | 2007-10-11 | 2009-12-16 | MVTec Software GmbH | System and method for 3D object recognition |
JP5290864B2 (ja) | 2009-05-18 | 2013-09-18 | キヤノン株式会社 | 位置姿勢推定装置及び方法 |
EP2382599B1 (en) | 2009-07-29 | 2012-12-12 | Metaio GmbH | Method for determining the pose of a camera with respect to at least one real object |
JP2011175477A (ja) | 2010-02-24 | 2011-09-08 | Canon Inc | 3次元計測装置、処理方法及びプログラム |
US8467596B2 (en) | 2011-08-30 | 2013-06-18 | Seiko Epson Corporation | Method and apparatus for object pose estimation |
US9529426B2 (en) * | 2012-02-08 | 2016-12-27 | Microsoft Technology Licensing, Llc | Head pose tracking using a depth camera |
US9013617B2 (en) | 2012-10-12 | 2015-04-21 | Qualcomm Incorporated | Gyroscope conditioning and gyro-camera alignment |
GB201310364D0 (en) | 2013-06-11 | 2013-07-24 | Sony Comp Entertainment Europe | Head-mountable apparatus and systems |
JP6353214B2 (ja) | 2013-11-11 | 2018-07-04 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置および画像生成方法 |
US20150243031A1 (en) | 2014-02-21 | 2015-08-27 | Metaio Gmbh | Method and device for determining at least one object feature of an object comprised in an image |
US9436987B2 (en) | 2014-04-30 | 2016-09-06 | Seiko Epson Corporation | Geodesic distance based primitive segmentation and fitting for 3D modeling of non-rigid objects from 2D images |
JP6736257B2 (ja) | 2015-04-02 | 2020-08-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
US20160379074A1 (en) * | 2015-06-25 | 2016-12-29 | Appropolis Inc. | System and a method for tracking mobile objects using cameras and tag devices |
JP6565465B2 (ja) * | 2015-08-12 | 2019-08-28 | セイコーエプソン株式会社 | 画像表示装置、コンピュータープログラム、および画像表示システム |
CN105698765B (zh) * | 2016-02-22 | 2018-09-18 | 天津大学 | 双imu单目视觉组合测量非惯性系下目标物位姿方法 |
CN105825518B (zh) * | 2016-03-31 | 2019-03-01 | 西安电子科技大学 | 基于移动平台拍摄的序列图像快速三维重建方法 |
JP7011608B2 (ja) * | 2016-06-30 | 2022-01-26 | マジック リープ, インコーポレイテッド | 3次元空間内の姿勢推定 |
US10698475B2 (en) | 2016-10-26 | 2020-06-30 | Htc Corporation | Virtual reality interaction method, apparatus and system |
US10055028B2 (en) | 2016-12-05 | 2018-08-21 | Google Llc | End of session detection in an augmented and/or virtual reality environment |
IL310727A (en) * | 2017-04-27 | 2024-04-01 | Magic Leap Inc | Light emitting user output device |
-
2017
- 2017-06-16 US US15/625,174 patent/US10621751B2/en active Active
-
2018
- 2018-06-15 CN CN201810620562.4A patent/CN109146965B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20180365853A1 (en) | 2018-12-20 |
US10621751B2 (en) | 2020-04-14 |
CN109146965A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146965B (zh) | 信息处理装置、计算机可读介质和头戴式显示装置 | |
CN110047104B (zh) | 对象检测和跟踪方法、头戴式显示装置和存储介质 | |
CN110310329B (zh) | 操作显示设备的方法、信息处理系统及非暂时性存储介质 | |
US10674142B2 (en) | Optimized object scanning using sensor fusion | |
JP6860488B2 (ja) | 複合現実システム | |
US10852847B2 (en) | Controller tracking for multiple degrees of freedom | |
KR102006043B1 (ko) | 깊이 카메라를 이용한 머리 포즈 추적 기법 | |
US20170286750A1 (en) | Information processing device and computer program | |
US10373334B2 (en) | Computer program, object tracking method, and object tracking device | |
KR20150093831A (ko) | 혼합 현실 환경에 대한 직접 상호작용 시스템 | |
CN114761909A (zh) | 针对头戴式显示器的内容稳定 | |
CN112655202B (zh) | 用于头戴式显示器的鱼眼镜头的减小带宽立体失真校正 | |
US11915453B2 (en) | Collaborative augmented reality eyewear with ego motion alignment | |
CN110895433B (zh) | 用于增强现实中用户交互的方法和装置 | |
US11443719B2 (en) | Information processing apparatus and information processing method | |
US20200211275A1 (en) | Information processing device, information processing method, and recording medium | |
WO2021182124A1 (ja) | 情報処理装置、及び情報処理方法 | |
WO2021065607A1 (ja) | 情報処理装置および方法、並びにプログラム | |
WO2023157338A1 (ja) | 情報処理装置およびデバイス位置推定方法 | |
WO2023157498A1 (ja) | 情報処理装置、デバイス速度推定方法およびデバイス位置推定方法 | |
WO2023064025A1 (en) | Frame selection for image matching in rapid target acquisition | |
WO2023069164A1 (en) | Determining relative position and orientation of cameras using hardware |
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 |