利用直接几何建模的头戴式显示器校准的制作方法

文档序号:16319009发布日期:2018-12-19 05:36阅读:243来源:国知局
利用直接几何建模的头戴式显示器校准的制作方法

相关申请的交叉引用

本申请按照35u.s.c.119(e)要求于2014年7月10日提交的临时专利申请no.62/023,090的权益,其全部内容通过引用并入本文中。

总体地,本发明涉及摄像装置校准领域,并且更具体地涉及虚拟摄像装置校准领域,其中后者包括作为增强现实(ar)单元的一部分的人眼/光学透视(ost)头戴式显示器(hmd)系统。更特别地,本发明涉及osthmd的虚拟视图的校准。具体地,本发明涉及虚拟摄像装置的立体校准,并且涉及将感知的虚拟3d对象锚定到现实3d环境。

背景技术

对于3d视觉化特别是用于利用虚拟替代物来取代现实环境,头戴式显示器已经变得越来越流行。并行地,增强现实(ar)领域同样在增长。在ar系统中,通过虚拟物品的叠加来丰富现实环境,虚拟物品可以包括好像漂浮在该虚拟物品所参照的现实对象旁边的虚拟对象或文本。因此,ar技术具有两个主要方面:增强视觉内容的能力以及扩展并且增强用户与现实世界交互的潜力。

ar单元可以提供如由虚拟摄像装置“看见”(或捕获)的视觉内容的视图(或显示或图像)。如在本领域中已知的,虚拟摄像装置从规定的角度(或视场,fov)来显示虚拟对象的图像,如同如果现实摄像装置被定位在该规定的角度处并且虚拟对象是现实对象时由现实摄像装置捕获到或看到的该虚拟对象的图像一样。所产生的视图不仅包括现实场景中的现实的物理物品,还包括被插入到该现实场景中的虚拟对象。在这样的增强现实(ar)单元中,可以通过光学透视(ost)头戴式显示器(hmd)系统(即osthmd系统)来提供虚拟摄像装置视图。

在人眼/光学透视显示器中,各个图像针对人类用户的选择眼所指定,并且能够由人类用户的选择眼观察到。如果人眼ost是单象管显示器,则提供针对用户的两只眼睛中的一者(或二者)的仅一个图像。如果人眼ost是立体显示器,则提供两个单独的图像,一个图像针对用户的两只眼睛中的每只眼睛。例如,人眼ost可以具有在人类用户的一只眼睛的正上方的一个显示器,并且可选地具有在人类用户的另一只眼睛的正上方的另一单独显示器。可替选地,人眼ost可以将单独的图像直接投影进人类用户的各个眼睛中,或者以其他方式控制要分别由人类用户的一只眼睛或两只眼睛中的每只眼睛所观看的各个图像。

通常,这包括构建在现实世界场景的现实世界坐标与对应于现实世界场景的计算机生成的虚拟场景中的虚拟坐标之间一致地平移的方法。为了使ar系统提供沉浸式体验,期望的是,对虚拟对象进行渲染并且将其置于三维(3d)即立体图像或显示的虚拟摄像装置显示器内。这反过来需要捕获现实世界场景的3d信息。可以通过例如“飞行时间”传感器、视觉跟踪器、惯性传感器、机械式连接跟踪器、相差传感器和/或混合系统的装置来获得这样的3d信息。不论所使用的3d捕获方法,ar系统需要所捕获的现实世界信息与计算机生成的虚拟世界信息之间的校准。这需要将ar的虚拟摄像装置视图校准到现实世界所捕获的数据。

存在将虚拟摄像装置校准到现实世界所捕获的信息的许多方法,但是这样的方法往往是费时的和/或具有高的计算资源需求。期望的是,ar系统是便携式的且是人类用户可穿戴的,其限制了计算机架构并且因此限制了可用的计算资源。还期望的是,ar系统提供实时的虚拟摄像装置显示,其被对可用计算资源的限制所阻碍。

所需要的是对现实世界场景/对象的现实世界所捕获数据与计算机生成的虚拟场景/对象的校准进行简化的系统。

本发明的目的是提供用于简化将ar系统校准到现实世界场景的系统/方法。

本发明的另一目的是提供能够使虚拟摄像装置显示器将现实世界所捕获的信息与虚拟对象信息实时地结合的ar系统。



技术实现要素:

光学透视(ost)头戴式显示器(hmd)使用具有在其所有参数内的可调参数的固定子集的校准矩阵。校准矩阵的初始值是基于模型头部的。针对每个可调参数来提供增量调节值的预定义集合。在校准期间,使校准矩阵遍历其预定义增量参数变化,并且针对每个增量变化对虚拟对象进行投影。将所产生的所投影虚拟对象对准到参考现实对象,并且对具有最优对准的所投影虚拟对象进行识别。产生了最优对准的虚拟对象的校准矩阵的设置值被视为要与osthmd一起使用的最终校准矩阵。

在一种用于(虚拟)光学透视(ost)头戴式显示器(hmd)的立体校准的系统/方法中满足了以上目的,所述(虚拟)光学透视(ost)头戴式显示器(hmd)具有用于提供立体图像(即立体显示)的左眼视图和右眼视图。定义左视图和右视图包括:对左校准矩阵和右校准矩阵(具有分别在各自的校准矩阵中建模的内部参数和外部参数)进行建模,所述左校准矩阵和右校准矩阵定义了在定义的世界坐标系中现实参考对象的3d坐标与osthmd的左投影图像和右投影图像中的对应虚拟对象的2d位置之间的3d到2d点对应。假设在世界坐标系中已知虚拟对象的3d姿势(由于虚拟对象到其相应的3d参考对象的在先3d锚定),该虚拟对象由包括3d虚拟对象的左2d图像和右2d图像的立体投影产生。同样假设已知头部跟踪设备的坐标系中的(现实)参考对象的3d姿势。先前可能已经将现实参考对象的3d姿势确定为初始校准过程的一部分,和/或可能通过处理由一个或更多个跟踪设备记录的数据来估算现实参考对象的3d姿势,所述一个或更多个跟踪设备可以被安装在hmd上和/或被附接到现实参考对象上和/或被分布在现实参考对象所位于的整个场景中。以下几何信息被直接并入针对每只眼睛的外部校准矩阵:该几何信息包括由跟踪设备提供的相对于平均头部模型(即hmd用户)的左眼和右眼的姿势信息(例如平移和旋转)。通过考虑关于以下内容的信息来定义内部参数:平均头部模型的眼睛相对于两个hmd显示器(即左立体显示器和右立体显示器)的位置;从平均头部模型的两只眼睛到虚拟图像平面的距离;所投影左图像和右图像(假设图像歪斜是可忽略的)的大小和分辨率。以这种方式,提供了针对左眼和右眼的默认校准矩阵。

在定制过程中,向各个用户提供将校准参数调节至个人期望的精确度的机会。针对标准水平的精确度的应用,该定制过程可以包括调节用户的瞳孔间距以及校准焦距。作为校准焦距的一部分,在该定制过程中用户可以调节使得对用户可见的标记坐标系中的所投影虚拟对象的所感知的大小、位置和/或旋转。应当理解的是,当未执行该定制过程时可以使得标记坐标系不可见。在校准焦距之后,瞳孔间距的校准可以与虚拟对象深度校准直接相关,并且因此可以作为虚拟对象位置校准的一部分被隐含地执行。该定制过程的结果用于更新相关的内部默认校准矩阵和外部默认校准矩阵。因此这些矩阵用于将3d虚拟参考对象锚定至3d现实参考对象。校准过程是快速的、简单的且用户友好的。

上述校准系统/方法可以应用于装备有用于视觉头部跟踪的安装摄像装置的osthmd。可替选地,该校准系统/方法还可以应用于在预先指定的世界坐标系中的具有已知姿势的任何其他跟踪传感器。然而,该校准方法的复杂性可以根据使用的增强现实系统的特殊性而变化。优选实施方式被呈现为立体osthmd校准的一部分,但是,将本发明修改为单视场osthmd系统和2d视图osthmd系统是很简单的,其将减少系统和校准过程的复杂性。

在一种增强现实(ar)系统的光学透视(ost)头戴式显示器(hmd)的校准方法中满足了以上目的,该校准方法包括:在要使用osthmd的场景中提供现实目标对象,所述现实目标对象在所述场景内具有已知的尺寸、位置和方向;基于预定义头部模型来定义默认校准矩阵集合;使用默认校准矩阵集合来生成现实目标对象的虚拟对象表示,并且对虚拟对象的视图进行投影;尽可能地将所投影的虚拟对象的视图中心对准到现实目标对象上;在所述默认校准矩阵集合内,遍历至少一个预定义参数的预定义数目的增量变化;针对预定义参数的每个增量变化,生成并且投影新的虚拟对象,将该新的虚拟对象重新对准到现实目标对象,并且将当前的新的虚拟对象的当前的重新对准与先前所投影虚拟对象的先前对准进行比较;识别具有与现实目标对象的最优对准的所投影虚拟对象,并且将所投影虚拟对象指定为经校准的虚拟对象;以及设置osthmd以使用具有与经校准的虚拟对象相对应的预定义参数的值的校准矩阵集合。

根据另一方面,一种包括用户接口的增强现实系统的光学透视头戴式显示器的校准方法,包括:(a)使用摄像装置跟踪参考对象;(b)使用校准矩阵集合对与参考对象对应的虚拟对象进行投影,使得允许通过头戴式显示器感知所投影的虚拟对象和参考对象,校准矩阵集合是基于头部模型和头戴式显示器模型的几何测量而被预定义的,并且具有作为可调参数的参数的预定义子集;(c)使校准矩阵集合内的至少一个可调参数改变通过用户接口输入的正的或负的预定义的增量变化量,其中使至少一个可调参数改变定义至少一个可调参数的预定义数目的增量变化的预定义的增量变化量;(d)使用包括改变了增量变化量的至少一个可调参数来对虚拟对象进行投影;(e)允许执行步骤(c)和(d)直到允许感知到虚拟对象基本上与参考对象对准为止,从而调节校准矩阵集合。

优选地,osthmd是提供所投影虚拟对象的双目图像的立体ar系统。

还优选地,双目图像包括左图像和右图像;分别针对左图像和右图像中的每一个来执行将新的虚拟对象重新对准到现实目标对象的步骤;以及经校准的虚拟对象还被定义为下述所投影虚拟对象:该所投影虚拟对象的左图像虚拟对象投影和右图像虚拟对象投影彼此最优地对准。

另外,默认校准矩阵集合包括外部参数矩阵和内部参数矩阵,这两个矩阵均根据头部模型和osthmd的直接几何测量来定义;以及外部参数矩阵和内部参数矩阵是基于针孔摄像装置模型的。

在这种情况下,通过使用现实目标对象的已知尺寸、位置和方向以及现实目标对象的坐标系,根据所投影并且对准的虚拟对象的3d姿势(3d旋转+3d平移)的直接几何测量来获得对外部参数矩阵的更新。

另外,现实目标对象的坐标系中的值被转换为所投影虚拟对象的坐标系中的值。

另外,使用虚拟摄像装置来生成每个所投影虚拟对象。

在优选实施方式中,所投影虚拟对象是基于针孔摄像装置模型的;使用以下几何测量来定义内部参数矩阵内的参数:用于定义焦距的、从虚拟针孔摄像装置的中心到虚拟针孔摄像装置的虚拟图像平面的中心的距离;虚拟图像平面相对于头部模型的中心位置;用于定义所投影图像的中心像素位置的所投影图像的图像分辨率;以及所投影虚拟对象的像素密度。

在这种情况下,osthmd是提供所投影虚拟对象的双目图像的立体ar系统;双目图像包括左图像和右图像,所述左图像和所述右图像中的每一个均具有各自的外部参数矩阵和内部参数矩阵;以及所定义的焦距用于左图像和右图像二者。

另外,一个预定义参数是瞳孔间距(ipd),并且通过以下操作来得到最优ipd:分别针对左图像和右图像的每一个来执行将新的虚拟对象重新对准到现实目标对象的步骤;以及识别以下参数值:该参数值使得左图像的所重新对准的新的虚拟对象对准到右图像的所重新对准的新的虚拟对象。

还应当注意,最优瞳孔间距不一定与用户的真实ipd匹配。

优选地,遍历预定义数目的增量变化响应于用户控制的输入。

应当理解的是,所述一个预定义参数可以是多个所述预定义参数中的一个;所述多个预定义参数中的增量变化引起所投影虚拟对象的平移,并且通过调节所投影虚拟对象的平移来对所投影虚拟对象相对于现实目标对象在方向上的差异进行校正。

还通过非暂态计算机可读介质来满足以上目的,该非暂态计算机可读介质包括用于由计算设备执行本优选实施方式的方法的指令。

通过结合附图来参考下述描述和权利要求,本发明的其他目的和成果以及更全面的理解将变得明显并且被理解。

附图说明

在附图中,相似的附图标记指代相似的部件。

图1示出使用不同图像中的对应特征点来将图像拼接在一起以创建更大的合成图像。

图2示出对极几何的原理。

图3是使用对极几何来定义立体约束的示例。

图4示出根据立体约束对单应性约束的构建。

图5示出用于根据一对立体图像来重新构建透视(即3d)视图的单应性,所述一对立体图像是共同场景的图像,但每个图像具有不同的视场,即fov。

图6示出从样本图像的特征点提取。

图7示出使用sift变换对特征点对应关系的构建。

图8示出使用asift变换对特征点对应关系的构建。

图9是共同场景的从不同视场即fov拍摄两个图像的中的特征点对应的示例。

图10提供sift的特征点提取功能的概述。

图11示出从n个图像中提取的特征点的多个集合,其中图像被识别为id1至idn。

图12示出示例性头戴式显示器。

图13示出根据本发明的优选实施方式的hmd的一些外部参数和内部参数。

图14示出虚拟摄像装置的一些几何特征。

图15示出如通过hmd显示器观察到的虚拟对象。

图16示出ar系统的总体概述。

图17示出虚拟摄像装置的针孔模型。

图18示出使用所投影虚拟对象的焦距调节。

图19示出被聚焦的并且彼此重合的左单视场视图和右单视场视图。

图20示出由于瞳孔间距(ipd)并非最优时由右眼感知的虚拟对象与由左眼感知的另一个虚拟对象不重合的情况。

图21示出通过校正平移误差来补偿旋转误差。

图22示出由于给定的ipd的所计算的视差。

图23示出眼睛坐标系。

图24示出校准坐标系。

图25示出用户在校准护目镜式hmd。

图26a和图26b示出用户校准过程中的各个步骤。

图27、图28a、图28b、图29和图30以图形方式示出了校准过程中的一些步骤。

图31和图32提供在本发明的优选实施方式中使用的数学公式和符号。

具体实施方式

头戴式显示器已经在增强现实(ar)领域中得到广泛的接受,头戴式显示器采用计算机生成的虚拟内容来增强现实世界场景。ar系统中的头戴式显示器(hmd)可以包括:人眼/光学透视(ost)显示器,该人眼/光学透视(ost)显示器是将虚拟对象合并到其上的透视显示器;或者视频透视(vst)显示器,该视频透视(vst)显示器作为将虚拟对象结合到现实场景的所显示图像中的视频显示器(例如屏幕)。在这两种情况下,均使虚拟对象与现实世界场景的视图相混合。这两种方法均均可以利用跟踪传感器(例如3d场景捕获设备例如“飞行时间”传感器、视觉跟踪器(例如立体摄像装置对)、惯性传感器、机械式连接的跟踪器、相差传感器和/或混合系统)来跟踪(和/或捕获)现实世界场景信息。

在这样的ar系统中,计算机理想地实时生成虚拟对象的图形,该虚拟对象的图形随后与如由跟踪传感器成像的该虚拟对象的现实对象对应物(即,相应的物理参考对象)对准。目标是确保虚拟对象被附接或锚定至规定的现实世界坐标,以使现实环境和虚拟环境能够感知融合。合适的感知融合需要测量/校准跟踪传感器以及虚拟摄像装置参数,并且需要知道跟踪器坐标系中的现实对象和虚拟对象的位置(和/或姿势)。

通过跟踪机构来获得跟踪器坐标系中的现实世界对象的位置,跟踪机构可以基于如上所列出的不同类型的跟踪传感器(即传感器和/或跟踪器)。来自跟踪传感器的信息被结合到由虚拟摄像装置提供的合成图像中。基本上,虚拟摄像装置定义了视场,该视场定义了在hmd中提供的至少虚拟对象的视图。虚拟摄像装置与所采用的传感器之间的关系允许将虚拟对象锚定且融合到现实世界,并且可以通过校准过程来获得这种关系。

校准过程包括设置虚拟摄像装置参数,使得3d虚拟对象和现实对象达到点对点对应。摄像装置参数包括内部参数(例如焦距、像素密度和图像主点的坐标)和外部参数(例如虚拟摄像装置相对于跟踪器坐标系的位置)二者。

如上所述,存在用于在ar系统中呈现视觉信息的两种主要手段:视频透视和光学透视。在视频透视的情况下,计算机生成的虚拟对象被叠加到由被附接至hmd的现实摄像装置获得的视频流上。已经访问现实世界场景的图像并且能够处理相关数据,使得视频透视系统的校准不易出错。也就是说,因为hmd提供了将现实世界场景的所捕获的图像与计算机生成的虚拟对象结合的构造图像,所以用户不易意识到虚拟对象与实际的现实世界场景之间的未对准。

另一方面,因为hmd优选地不向用户隐藏真实的现实世界视图,所以光学透视系统的校准产生了另外的挑战。因为光学透视(ost)显示器可被置于hmd的一只(并且在立体视觉的情况下优选地是两只)眼睛的位置的上方,所以这样的系统可以被称为眼hmd。在对人眼hmd显示器结合的虚拟摄像装置进行校准的一些困难涉及对准(特别是在立体视觉的情况下),并且涉及动态地管理信号延迟。也就是说,眼hmd中的现实世界场景的用户的视图可以是瞬时的,而生成并显示虚拟对象可能不是瞬时的。

该眼hmd校准问题已经被研究了一段时间。就像现实物理摄像装置的校准,可以通过对方程进行求解来执行虚拟摄像装置的校准,所述方程带入了所投影的虚拟3d对象的坐标与2d图像(被投影到虚拟osthmd图像平面上)中的虚拟3d对象的对应物的坐标之间的对应。假设根据与已知坐标的现实3d参考对象的感知对准(锚定)而得知期望虚拟3d对象位置的坐标。

因此虚拟摄像装置向跟踪传感器的校准是ar系统的重要方面,除了该校准的内在复杂性之外,该校准由于依赖于人类用户的感知(即依赖于用户如何感知所结合的虚拟对象和现实对象)而更复杂。因此,存在需要被解决以更好地对ar系统进行商业化的多个技术挑战。尽管有多个有前景的结果,但是校准似乎仍然是至今需要有些麻烦的用户交互的用户依赖过程。本发明呈现了在保持用户友好和易于应用的同时可以达到期望的精确度水平的校准方法。

但是在深入探讨本发明的详细讨论之前,首先提供关于立体摄像装置对、图像变换、3d成像、特征点检测和其他图像处理主题的一些背景信息可能是有益的。

可以通过3d成像系统——例如3d激光扫描仪、microsoftcorp.kinect传感器、测距摄像装置或许多不同类型的飞行时间设备的任一个——来产生场景或目标对象的3d图像。也可以根据立体的2d图像对来生成3d图像。这些方法可以用于创建点云,点云是定义3d对象的表面的三维空间中的点的集合。可以期望的是,该3d点云的点可以与目标对象的2d图像(或形状轮廓)上的各个点(例如像素)相关联。也就是说,可以期望的是,点云的点(或区域)与2d图像的相应点(或区域)相关联,并且更特别地与2d图像的分割相互关联。

如上面提到的,可以根据立体的2d图像对(即立体(stereoscopic)(或立体(stereo))图像对)来生成3d图像。由间隔开的两个2d成像摄像装置中的相应一个2d成像摄像装置来产生立体图像对中的两个2d图像中的每个2d图像以提供共同场景的两个视图(即两个视场fov或角视图)。通过立体约束,将两个视图中的对应像素的点(或像素)信息结合以创建包括点云信息的透视(即3d)视图。因此,根据立体图像对生成的点云内在地包括点云的点与立体图像对的两个2d图像中的点(例如像素或区域)之间的关联。

为了从立体图像对中提取3d信息,首先需要识别立体图像对中的共同成像物品。这样做的一种方式将是校准两个摄像装置,并且识别特定场景中的已知参考点。一种限制较少的方法将消除将摄像装置校准到特定场景的需要。然而,因为立体图像对的两个图像提供了共同场景的不同视图,所以这可能是困难的任务。需要识别两个2d图像场景中的共同对象的不同视图,并且将共同对象的特定部分相关联。

因此对象识别(objectrecognition)(或对象识别(objectidentification))是计算机视觉的一个组成部分,并且对象识别的一个组成部分是模式匹配。图像中(并且特别是2d图像中)的模式匹配的基本要素是特征检测(或特征点检测),特征检测(或特征点检测)指的是对图像的部分或图像的各个特征点(例如各个像素)进行识别,所述图像的部分或图像的各个特征点是用于研究以确定它们是否可能是图像中的寻求目标的一部分的好的候选者。

用于识别图像中的可以用于描述所成像场景的特有特征的各种技术是已知的。特有特征可以包括区分图像的形状或图像部分或单独点(即像素)。为了易于讨论,基于也可以使用其他特有特征(以及识别特有特征的方法)的理解,本示例被描述为使用特征点(其包括各个像素)。

作为可以如何使用特有特征的示例,如果具有描述对象的识别特征(例如从目标对象的训练图像(即图像样本)集合所获得的,或对象类型)的库,则可以针对那些识别特征来搜索输入测试图像,以试图确定在输入测试图像中是否存在目标对象的示例。在计算机视觉领域中,已经对该观念进行扩展,以匹配从不同视角(即不同fov)拍摄的共同场景的多个数字图像中的共同场景的共同特征,从而逐个图像地索引(例如,匹配或关联)特征点(即像素)。这允许多个数字图像的组合处理。

例如在图1中,图像7a、图像7b、图像7c和图像7d均提供了现实世界场景中的建筑的局部的且交叠的视图,但是均未提供整个建筑的完整视图。然而,通过应用边缘检测并且对四个局部图像7a、7b、7c和7d中的与现实世界场景中的相同现实特征点相互关联的特征点进行索引(即识别其匹配对),可以将四个局部图像拼接在一起(例如通过应用图像拼接工具)以创建整个建筑的一个合成图像7e。在图1的示例中,四个局部图像7a、7b、7c和7d是从相同视角(即单个fov)拍摄的,但是该方法可以扩展到对应匹配领域,并且应用到从不同fov拍摄的图像。

对应匹配指的是对两个或更多个图像共同的对象或对象特征(或更典型地,特征点例如单个像素的匹配)的匹配。假设在拍摄第一图像的摄像装置已经移动、时间已经过去和/或所描绘的对象已经移动之后拍摄第二图像,则对应匹配试图确定第一图像的哪些部分对应于(即匹配于)第二图像的哪些部分。例如,第一图像可以是从定义第一视场(即fov)的第一视角拍摄的现实世界场景的,并且第二图像可以是从定义第二fov的第二视角拍摄的相同现实世界场景。假设第一fov和第二fov至少部分交叠,则对应匹配指的是第一图像和第二图像的所交叠部分中的共同特征点的匹配。

因此,对应匹配是计算机视觉中特别是立体视觉、视图合成和3d(或透视)重建中的基本问题。假设从两个视角拍摄的两个图像中的多个图像特征或对象已经匹配,则对极几何可以用于识别所匹配的图像特征之间的位置关系,以实现立体视图合成或3d重建。

对极几何基本上是立体视觉的几何。例如在图2中,两个摄像装置11和13分别创建包括较大球体19和较小球体21的共同3d场景10的两个2d图像15和17。2d图像15和17是从两个不同的视角23和25拍摄的。对极几何描述了3d场景10(例如球体19和21)中的点与它们在2d图像15和17中的相对投影之间的几何关系。这些几何关系导致图像点之间的约束,该约束是对极约束或立体约束的基础。

图2示出了水平视差,其中,从摄像装置11的视点来看,较小球体21似乎在较大球体19的前面(如2d图像15中所示),但是从摄像装置13的视点来看,较小球体21似乎距较大球体19(如2d图像17中所示)的一侧有一定距离。然而,因为两个2d图像15和17是相同3d场景10的,所以两者均是较大球体19和较小球体21的相对位置的真实表示。因此只要对极约束条件(即立体约束)是已知的,则摄像装置11、摄像装置13、较小球体21以及较大球体19之间的位置关系在2d图像15和17上构建几何约束,该几何约束允许在只给出2d图像15和17的条件下重构3d场景10。

对极几何基于公知的针孔摄像装置模型,在图3中示出该针孔摄像装置模型的简化表示。在针孔摄像装置模型中,摄像装置由在每个相应的摄像装置的焦点处的点例如左点ol和右点or来表示。点po代表被成像的3d场景中的兴趣点(即对象),其在本示例中由两个交错的线表示。

典型地,图像平面(即在其上成像的3d场景的2d表示被捕获的平面)在摄像装置的焦点的后面并且被反转。为了易于说明,并且为了避免经反转的所捕获图像的复杂化,两个虚拟图像平面imgl和imgr被示出在它们各自的焦点ol和or的前面,以示出所捕获图像的未反转表示。可以将这些虚拟图像平面视为窗口,通过该窗口正在观看3d场景。点pl是点po在左虚拟图像imgl上的2d投影,并且点pr是点po在右虚拟图像imgr上的2d投影。如本领域中已知的,从3d到2d的该转换可以被称为透视投影或图像投影,并且由针孔摄像装置模型描述从3d到2d的该转换。通常通过从摄像装置发射并且穿过摄像装置焦点的射线对该投影操作进行建模。每个所建模的发射射线将对应于所捕获的图像中的单个点。在本示例中,这些发射射线由虚线27和虚线29表示。

对极几何还定义了与每个摄像装置相对于彼此的位置相关的约束。这可以通过焦点ol和or的相对位置来完成。第一摄像装置的焦点将投影到第二摄像装置的图像平面上的不同点上,并且第二摄像装置的焦点将投影到第一摄像装置的图像平面上的不同点上。在本示例中,焦点or投影到虚拟图像平面imgl上的图像点el上并且焦点ol投影到虚拟图像平面imgr上的图像点er上。图像点el和图像点er被称为核点(epipoles)或核点(epipolepoints)。核点以及它们投影自的焦点位于单个线即线31上。

因为点po在焦点ol的正前面,所以从焦点ol到点po的线27被看作虚拟图像平面imgl中的单个点pl。这与在图2的图像15中为何较小球体21似乎在较大球体19的前面类似。然而,从焦点or来看,从ol到po的相同线27被看作从图像点er到点pr的位移线33。这与在图2的图像17中为何较小球体21似乎被移位到较大球体19的一侧类似。该位移线33可以被称为核线。反之,从焦点or来看,线29被看作虚拟图像平面imgr中的单个点pr,但是从焦点ol来看,线29被看作虚拟图像平面imgl上的位移线或核线35。

对极几何因此形成三角测量的基础。例如,假设摄像装置or和摄像装置ol的相对平移和旋转是已知的,如果左虚拟图像平面imgl上的投影点pl是已知的,则通过对极几何右虚拟图像平面imgr上的核线33是已知的。另外,点po必须投影到位于该特定核线33上的点pr处的右虚拟图像平面imgr上。基本上,对于在一个图象平面中观测到的每个点,必须在已知的核线上的另一图像平面中观测到相同点。这提供了在不同图像平面上的相应图像点必须满足的对极约束。

另一对极约束可以被定义如下。如果投影点pl和pr是已知的,则它们的相应的投影线27和29也是已知的。另外,如果投影点pl和投影点pr对应于相同3d点po,则它们的投影线27和投影线29必须在3d点po处精确地相交。这意指可以根据两个投影点pl和pr的2d坐标来计算3d点po的三维位置。这个过程被称为三角测量。

对极几何也构成单应性即投影变换的基础。单应性描述了当观测者的视点变化时被观测对象的所感知位置发生了什么。上述的示例在图4中示出,其中,如分别从视图v1和v2的两个不同点所观看的,正方形12的形状在两个图象投影14和16中被示出为失真。像之前的,图像平面14和图像平面16可以被视为通过其来观看正方形12的窗口。

单应性将识别图像投影14和图像投影16与正方形12之间共同的点(即点注册)。例如,正方形12的四个角a、b、c和d分别对应于图像投影14中的点a'、b'、c'和d',并且分别对应于图像投影16中的点a"、b"、c"和d"。因此,图像投影14中的点a'、b'、c'和d'分别对应于图像投影16中的点a"、b"、c"和d"。

假设针孔模型适用下述事实:对极几何允许单应性来关联空间中的相同平面的任意两个图像,这允许两个图像之间的图像校准、图像注册或对摄像装置运动(旋转和平移)的计算。一旦已经从所估算的单应性矩阵中提取了的摄像装置旋转和平移,则该信息可用于导航或者将3d对象的模型插入图像或视频,使得它们采用正确的透视图进行渲染并且似乎已经是原始场景的一部分。

例如在图5中,摄像装置22和摄像装置24均从不同视点来拍摄立方体26的3d场景的图片。从摄像装置22的视点来看,立方体26看起来如2d图像28中所示,并且从摄像装置24的视点来看,立方体26看起来如2d图像30中所示。单应性允许识别相关联点,所述相关联点中的一些出于说明目的由虚线示出。如在图像32中所示,这允许2d图像28和2d图像30二者被拼接在一起以创建3d图像。因此,在立体视觉领域中自动查找图像对之间的对应是典型的问题。但是,该问题的一部分是识别图像对中的特征点,以及匹配图像对中的对应特征点。

以上立体视觉的讨论例如对极几何和单应性,特别是当所述立体视觉的讨论应用于立体图像对时,可以被统称为透视约束。

因为它们在构建透视(即3d)信息中的使用,所以基于特征的对应匹配算法已经在计算机视觉中得到广泛应用。基于特征的对应匹配算法的示例是渐变位置和方向直方图(gloh)、加速鲁棒特征(surf)、尺度不变的特征变换、sift和仿射sift(或asift)。每个特征提取算法具有其优点和缺点。例如,sift和仿射sift有意将边缘点从它们的分析中排除,并且因此不太适于边缘检测。出于说明的目的,本文中讨论了基于sift的算法。

如本领域中已知的,sift算法对图像进行扫描并且对可以是各个像素的兴趣点或特征点进行识别,并且充分地描述兴趣点或特征点(通常相对于包围窗口内的其相邻像素),使得相同特征点(或像素)可以分别在另一个图像中被识别。在lowe的美国专利6,711,293——其全部内容通过引用并入本文中——中提供了sift变换的讨论。本质上,sift使用训练图像库来识别作为特定对象的特征的特征点。一旦已经识别出该对象的特有特征点(例如,像素)的库,则特征点可以用于确定在新近接收的测试图像中是否找到对象的实例。

主要地,提取对象的特征点(即兴趣点)以提供特定对象的“特征描述”。从训练图像中提取的该描述然后可以用于识别包含许多对象类型的测试图像中的特定对象。为了执行可靠识别,优选地是,从训练图像中提取的特征在图像比例、噪声、照度和旋转变化的条件下是能够检测的。特征点通常位于图像的高对比度区域附近。然而,因为对象的失真(例如如果特征点位于对象的接和部分或柔性部分)可以改变特征点的相对于其相邻像素的描述,对象的内部几何的变化可能会引入误差。为了补偿这些误差,sift通常检测并且使用大量的特征点,使得可以减少由这些局部变化所产生的误差的影响。

在典型的sift应用中,首先从训练图像的集合中提取对象的特征点并且将对象的特征点存储在数据库中。通过以下方式在新图像(即测试图像)中识别对象:分别将从新图像提取的每个特征点与该数据库中的特征点进行比较;以及基于它们的特征点向量的欧几里德距离来查找候选匹配特征。从全部匹配集合中,识别出新图像中的与对象和对象的位置、比例和方向一致的特征点的子集以筛选出好的匹配。然后识别出好的匹配的一致集群。典型地,然后与对象和对象姿势一致的三个或更多个特征的每个集群经受另外详细的模型验证,并且随后丢弃离群值。最终,在给定的符合精确度和可能错误匹配的数目的情况下,计算特征的特定集合指示特定对象的存在的概率。通过所有这些测试的对象匹配可以被识别为正确的。

图6中示出了图像中的特征点的sift确定的示例。如通过图像8a中暗点所指示的,首先识别可能的特征点。然后如图像8b中所示,丢弃具有低对比度的可能特征点。最后,去除位于边缘的可能特征点,其留下图像8c中所示的最终的特征点集合。

因此,sift允许逐个图像地对识别对象的特征点进行匹配。这在图7中示出,其中示出了相同对象即笑脸的三个图像。出于说明的目的,仅示出了对应于靠近眼睛和嘴角的点的四个特征点。如图7中所示,sift可以从第一脸36到第二脸37对特征点进行匹配,而不考虑比例的变化。sift还可以从第一脸36到第三脸38对特征点进行匹配,而不考虑旋转。然而,已经发现sift对于图像的仿射变换具有有限的免疫性。也就是说,sift受限于成像对象能够经历并且仍然被识别的视角的变化的量。

在由morel等人的“asift:anewframeworkforfullyaffineinvariantimagecomparison”siamjournalonimagingsciences,第2卷,第2期,2009年——其全部内容通过引用并入本文中——中对扩展sift变换以更好地处理仿射变换的方法进行了描述。

参考图8,如通过笑脸39、笑脸40和笑脸41所示,仿射sift将能够将来自第一脸36的特征点更好地匹配到已经经历仿射变换的相同对象的表示。

在图9中示出了仿射sift变换的应用的示例,其中,从第一视角的自由女神像的第一图像9a到从不同视角并且以不同的比例的自由女神像的第二图像9b对多个特征点进行匹配。

在图10和图11中示出了sift滤波器/算法/模块/处理器的特征点提取功能的简要概述。参考图10,通过在窗口例如表示为window_1的像素阵列内的落入若干类别的一系列指标即区别特征,对每个所提取的特征点id_1(例如图5至图8中所示的那些)进行描述。在窗口内的中心点(或中心像素)可以被识别为该窗口的特征点。如果需要,向每个特征点分配识别码、id以用于快速参考。例如特征点id1_1可以识别为从图像“id1”提取的特征点号码为“1”的特征点。

所观测的指标被布置到相应的直方图中,并且因此针对每个特征窗口创建多个直方图。因此,典型的sift处理算法创建一系列或一组sift直方图66,并且每组直方图共同地描述单个特征点(或sift描述符)。sift直方图中的每个sift直方图统计性地描述了正在被处理的图像中的特征点相对于该特征点(或物品描述符)周围的相邻像素(或像素窗口)的区别特征。

然后一系列sift直方图66被集合(或者另外地被组合)成定义了一个特征点的单个向量68。也就是说,每个向量68提供了足够的数据以识别图像内的单个像素(或特征点)。因此,每个向量68描述单个物品描述符(即特征点或特有特征或(特征)像素),并且每个向量68通常包括128个描述性数据。因此,每个特征点以128维向量68来表征(即描述或识别)。

图11示出从n个图像中提取的特征点的多个集合,其中,该图像被识别为id1至idn。每个图像被示出为具有分别被识别的特征点集合(如圆圈所示)。例如从图像id1中提取i个特征点,并且通过id1_1至id1_i来标记该i个特征点。类似地,从图像idn中提取p个特征点,并且通过idn_1至idn_p来标记该p个特征点。每个特征点是128维向量(即具有128个数据单元的向量)。然后可以将从一个图像中提取的特征点匹配到(即比较以找到与其的匹配)从其他图像中提取的特征点。

上述特征点可以用于识别立体图像对中的对应点,但是可以通过对立体图像捕获系统中的摄像装置进行适当的校准来最小化或去除上述处理中的多个处理。

如上所说明的,本发明意在一种头戴式显示器(hmd)。出于说明的目的,在图12中示出了示例性hmd50。在本示例中,hmd50被示出为具有类似于眼镜的形状,并且可以以类似于眼镜的方式被穿戴。所有计算资源可以被并入hmd50,或者可替选地,可以在hmd50与辅助控制单元53或者某些其他远程计算资源例如个人计算机、服务器等之间被划分。如果需要,辅助控制单元53可以提供用户接口来控制hmd50。可替选地,所有用户接口控件可以被并入hmd50。

优选地,hmd50包括右光学透视显示单元51和左光学透视显示单元52,右光学透视显示单元51和左光学透视显示单元52一起工作以提供显示虚拟3d对象的立体图像对的左图像和右图像。在本情况下,用户通过左显示单元51和右显示单元52将看到3d虚拟对象的所显示的左图像和所显示的右图像二者并且还将看到外部场景。也就是说,可以在未主动显示虚拟对象的区域中使左显示单元51和右显示单元52透明。如果需要,还可以对所显示的虚拟对象给出所需的透明度水平,使得用户可以可选地透视所显示的虚拟对象。左光学透视显示单元51和右光学透视显示单元52可以通过图像投影显示器、透明oled或lcd显示器或本领域已知的任何其他类型的透明显示装置来提供图像。

在本示例中,hmd50包括右耳机51b和左耳机52b以向用户提供音频信息。优选地由所集成的右显示驱动单元51a控制右光学透视显示单元51,并且由所集成的左显示驱动单元52a控制左光学透视显示单元52。

在本示例中,hmd50具有一个所集成的摄像装置54,该所集成的摄像装置54具有相对于左光学透视显示单元51和右光学透视显示单元52以及相对于预定义世界坐标的已知位置和姿势。然而,应当理解的是,hmd50可以可选地包括两个摄像装置来捕获立体成像对,并且由此获得其周围现实场景的3d信息。可替选地,hmd50可以并入用于捕获周围场景的3d信息的其他任何已知3d成像系统(即3d信息捕获设备),例如3d激光扫描仪、microsoftcorp.kinect传感器、测距摄像装置或许多不同类型的飞行时间设备的任一种。还可替选地,一个或更多个3d信息捕获设备可以分布在整个周围场景并且它们的所捕获的3d信息可以被发送或以其他方式被传送到hmd50和/或辅助控制单元53。

在被转让给与本申请相同的受让人的美国专利no.2013/0234914——其全部内容通过引用并入本文中——中提供了示例性hmd的较完整描述。

现在返回到用于在眼hmd系统中创建立体图像的左视图和右视图的本优选使用,第一步骤是对hmd系统提供给用户的左视图和右视图进行校准。用于对虚拟光学透视(ost)头戴式显示器(hmd)的左视图和右视图的立体校准的方法包括对左校准矩阵和右校准矩阵进行建模,该左校准矩阵和右校准矩阵定义了:世界坐标系(即所有局部坐标系可以参考的全局坐标系)中的参考对象的3d坐标与左osthmd所投影图像和右osthmd所投影图像中的虚拟对象的2d位置之间的3d-2d点对应。优选地内部参数和外部参数被单独考虑,并且可以具有针对内部参数和外部参数的单独校准矩阵。

在世界坐标系中,假设由显示3d虚拟对象(即立体投影)的左2d图像和右2d图像所产生的虚拟对象的3d姿势是已知的(例如通过3d锚定到3d现实参考对象)。同样假设头部跟踪设备的坐标系中的(现实)参考对象的3d姿势是已知的。可以通过对由跟踪设备记录的数据进行处理来估算(现实)以上参考对象的3d姿势。将以下几何信息直接并入针对每只眼睛的外部校准矩阵:该几何信息包括跟踪设备相对于平均头部模型(即平均人类用户的头部)的左眼和右眼的姿势(例如,平移和旋转)。通过考虑关于以下内容的信息来定义内部参数:平均头部模型的眼睛相对于两个hmd显示器的位置;虚拟图像平面距离两只眼睛的距离;所投影图像的大小和分辨率(假设图像歪斜是可忽略的)。这样,提供了左眼和右眼的默认校准矩阵。

在定制过程中,向各个用户提供了将校准参数调节到期望精确度的机会。对于标准精确度水平的应用,该定制过程包括调节用户的瞳孔间距、(优选所观测的)对象大小以及标记坐标系中的虚拟对象位置(平移和/或旋转)。在校准焦距之后,瞳孔间距的校准可以与虚拟对象深度校准直接相关,因此可以作为虚拟对象位置校准的一部分隐含地执行。定制过程的结果用于更新相关的内部默认校准矩阵和外部默认校准矩阵。这些矩阵因此用于将3d虚拟对象锚定到3d现实的参考对象。校准过程是快速的、简单的且用户友好的。

本优选实施方式是装备有用于视觉头部跟踪的安装摄像装置的osthmd。然而,本校准方法完全可适用于在预先指定的世界坐标系中具有已知姿势的任何其他跟踪传感器的情况。然而,该校准方法的复杂性可以根据使用的增强现实系统的特殊性而变化。另外,本优选实施方式使用了立体osthmd校准,但是应当理解的是,本发明可以很容易地被修改为单视场视图和2d视图osthmd校准,这将减少校准过程。

基本上,本发明涉及对包括人类用户眼睛和光学透视(ost)头戴式(hmd)显示器的光学系统的立体校准。校准结果用于以下目的:将虚拟3d对象锚定至现实环境(即现实场景);以及在增强现实(ar)系统的框架内感知融合它们的视图。

校准基于下述操作:针对与平均头部模型相关的左虚拟摄像装置和右虚拟摄像装置来指定复合眼osthmd系统(在下面的讨论中被称为“虚拟摄像装置”)的内部参数和外部参数,并且还基于调节针对各个用户的参数。

在优选实施方式中,osthmd装备有用于视觉头部跟踪的安装摄像装置。然而,优选的校准方法完全可适用于预先指定的世界坐标系中的具有已知姿势的任何其他跟踪传感器。然而,该校准方法的复杂性可以根据使用的增强现实系统的特殊性而变化。

例如,如在图13至图15中所描绘的,校准使用关于以下的可用信息:hmd几何、跟踪传感器相对于左hmd显示器和右hmd显示器的相对位置、平均头部模型的眼睛相对于hmd屏幕的位置、从(左和右)虚拟摄像装置的各自的焦点到图像平面之间的距离以及所投影图像的大小和分辨率。

图13示出根据本发明的优选实施方式的hmd的一些外部参数和内部参数。关于外部参数,右hmd屏幕101和左hmd屏幕103位于已知位置处。如上所说明的,至少一个现实摄像装置被安装在hmd上,并且该现实摄像装置与描绘了如由用户的眼睛所观看的虚拟对象的虚拟摄像装置相关。

参考图14,这意指虚拟摄像装置理想地被置于用户的眼睛105和107的位置处。在图14中,hmd屏幕101和hmd屏幕103被示出在用户的眼睛105和107的正前面。对于本讨论,因为这些虚拟摄像装置将理想地“看到”用户应当看到的虚拟对象,所以眼睛105和107可以被视为代表虚拟摄像装置。因此,图14还示出了两个交叠的虚拟图像平面109和111。还分别示出了左虚拟摄像装置和右虚拟摄像装置(如通过左眼107和右眼105所示)的hmd左光轴112和hmd右光轴114。从虚拟摄像装置到其相应的虚拟图像平面的焦距113被示出为摄像装置的内部参数,但是如下面所说明的,用户可以调节该焦距并且由此调节虚拟图像平面109和虚拟图像平面111中的每一个的位置。

图15示出如例如通过左hmd屏幕103和右hmd屏幕101所看到的左图像103a和右图像101a。如上面所说明的,这两个图像将包括立体图像对。理想地,如在图14的中间所示,左图像103a和右图像101a是下述的虚拟对象(分别为117a和117b):通过使虚拟对象叠加在现实对象上而将所述虚拟对象锚定到对应的现实物理对象117。

参考图14,通过使光轴线116和光轴线118相交(即会聚)在现实对象117的中心处来表示将所投影虚拟对象117a/117b叠加到现实对象117上。如下面更充分地说明的,通过使用户将虚拟摄像装置的所感知图像(即虚拟对象117a和117b)调节到现实对象117上,hmd系统可以确定到现实对象117的距离和其他参数。

返回到图13,正方形115示出了用于将hmd的现实摄像装置的位置和姿势信息平移至虚拟摄像装置的平移向量的使用。在图13中还示出了用户的瞳孔之间的瞳孔间距120。如上所说明的,hmd基于模型头部来假设初始瞳孔间距,但各个用户可以可选地调节该初始瞳孔间距并且由此调节hmd的内部参数。另一所示的内部参数是右屏幕103与左屏幕101之间的距离,以及屏幕大小和分辨率。

可以使定制过程具有可调精确度,并且是用户友好的。将用户交互最小化并且优选地降低到仅调节(总共十二个中的)五个参数:两个内部参数和三个外部参数。两个内部参数是焦距和瞳孔间距(ipd)。三个外部参数是x平移、y平移和z平移,其中x和y表示平行于hmd屏幕的主方向(例如平行于hmd屏幕的平面)的方向,并且z垂直于hmd屏幕。优选地,在假设虚拟图像平面中的绝对图像坐标的恒定条件下,与两个虚拟摄像装置的平面内平移参数的变化成比例地,来内部地更新两个虚拟摄像装置的主点(即光轴和图像平面的交点)的变化。

对于标准目标精确度的应用,假设旋转误差较小,并且可以通过校正平移误差使旋转误差最小化。

虚拟摄像装置的立体校准的方法包括:使用该系统的直接几何特征来定义左虚拟摄像装置和右虚拟摄像装置的默认校准矩阵;以及同时定制这些矩阵以达到针对各个用户的期望精确度。以下描述中的一些部分指的是单个虚拟摄像装置,但是应当理解的是,类似的描述将适用于立体成像系统(即立体校准)的两个虚拟摄像装置中的每一个。

参考图13至图15,针对左/右虚拟摄像装置的默认校准矩阵被定义为以下两点:

1.对于内部校准参数,假设针孔虚拟摄像装置模型。焦距被设置为等于从(左和右)虚拟摄像装置的各个焦点到图像平面的距离。主图像点的坐标被设置在相对于投影图像的大小和分辨率在从眼睛到图像平面的法线(即垂直方向)的交点处。像素密度被给出为所投影图像的分辨率与相应图像的大小的比率。

2.对于外部校准参数,平移和旋转参数被设置为跟踪传感器的坐标系中的每个虚拟摄像装置的各个平移向量和旋转矩阵。

默认校准矩阵的定制包括以下三个要素:

1.输入并且调整ipd的已知值,或者通过测量模型基线参数来手动地调节ipd。

2.通过单视场地操纵焦距参数(例如仅使用两个立体摄像装置中的一个,即仅使用一只眼睛)来调节虚拟对象的大小。

3.同时针对左眼和右眼、沿参考坐标系中的x方向、y方向和z方向来将虚拟对象置于中心。参考坐标系优选地是与跟踪传感器的坐标系以及所有其他的所使用的局部坐标系——例如虚拟摄像装置坐标系、跟踪设备的坐标系、参考3d对象的坐标系、具有到跟踪器坐标系的已知变换的任何预定义坐标系——具有已知关系的任意坐标系。

通过实时地处理从跟踪传感器获得的数据来得知参考(锚定)对象的位置。在视觉跟踪的情况下,世界坐标系通常被附加至参考3d或2d对象(例如,标记),并且相对于参考对象来跟踪头部姿势。

优选实施方式的以下讨论假设立体osthmd校准,然而,修改方法并且将校准过程减少为单视场osthmd校准和2d视图osthmd校准是简单的。

现在参考图13至图15提供本发明的优选方法的描述。数学模型使用关于包括osthmd和用户的系统的可用几何信息,并且这些附图示出了眼睛+osthmd系统的校准参数与直接几何测量(即几何参数)之间的关系。摄像装置115(或更一般地,任何给定的跟踪传感器)被示出为置于hmd的右侧,但在一般的情况下,摄像装置115可以在hmd框架上的任何一般位置。

图16示出ar系统的总体概述。目标是将世界坐标系映射到虚拟摄像装置(眼睛+osthmd)坐标系。因为后者可能难以在实践中实现,因此借助于头部跟踪系统(运动传感器121),该转换优选地被解析为两步。将世界坐标映射到传感器坐标系,在该传感器坐标系上执行从运动传感器121到虚拟摄像装置坐标系的映射。

在ar上下文中,本优选实施方式使用了与大多数现有技术的osthmd校准方法不同的校准方法。并非如通常所做的收集点对应关系,优选实施方式采用对包括osthmd和hmd用户的系统的直接几何测量以定义默认校准矩阵。然后各个用户经历定制过程,该定制过程包括通过直接操纵负责2d左立体图像和2d右立体图像对的形成的各个校准参数来感知地对准虚拟3d对象和现实3d对象。然而,通过这种方法仍然使用户交互最小化。

应当强调的是,该方法避免了使用标志点,并且从而避免了任何的逐点对准各个标志点(例如,避免了点对应)。在本优选实施方式中,因为用户未物理地移动任何点以使虚拟对象与现实参考对象对准,所以使用户交互并且因此用户错误最小化。而是向用户提供由减少数量的校准参数的增量变化而产生的虚拟对象的递增地不同的姿势的选择。因此充分规避了指向正确点位置处的任何用户错误、以及跟踪用户运动的任何错误。

本方法进一步使用户与hmd之间的交互最小化。另外,在本方法中,用户仅需要在有差异的递增步骤中分别地查看产生整个(即整体)虚拟对象的不同表示的一些校准参数,并且选择最优参数集合。

为了进一步简化本校准过程,通过遵循以下所列出的多个假设来减少用户可修改的校准参数的数目。同时,保留具有补偿其他校准参数的影响的能力的参数(例如,如将在文中进一步说明的,可以补偿小的旋转的平移参数)。本过程还被设计成对不同参数的优化进行适当地排序,并且因此避免了遍历不同参数。

本实施方式还避免引入潜在的数值误差,作为对将3d姿势差异与参数向量差异链接的动力/力学方程进行求解的结果可能产生该数值误差。

为了针对用户进一步简化本校准过程,本系统向用户提供了工作在哪个坐标系中的选择。

总之,不同于取决于数据点收集来定义默认校准矩阵的现有技术校准方法,本方法使用系统的直接几何信息,并且因此不需要数据收集。也还不同于使用代数或数值求解器来定义默认校准矩阵的先前的校准方法,本方法完全规避了该步骤。本方法仅需要针对定制步骤的用户交互,并且然后仅需要最少的用户交互来从固定的增量选择集合中选择最优的视觉满意的校准集合,而先前的校准方法需要大量的用户交互和努力来操纵各个数据点。也不同于工作在固定的坐标系中的针对校准细化的现有方法,本优选实施方式向用户提供了关于工作在哪个坐标系中的选择(针对视觉头部跟踪,默认选择是标记坐标系)。

该优选实施方式的基本校准过程假设系统的11个点或假设特征。本发明的目的在于:基本校准过程满足标准应用精确度的要求。为了在保持期望的准确度水平的同时,简化校准过程并且使用户交互最小化,作出以下假设(即点):

1.如图17所示,假设(即使用)虚拟摄像装置(左osthmd眼系统和右osthmd眼系统)的针孔模型。

2.虚拟摄像装置主图像点是在从用户的瞳孔的直接垂直投影处。假设平行视轴。

3.假设针对左眼和右眼二者的虚拟摄像装置的焦距是相同的。

4.当适当地单视场地(即,此时仅用一只眼睛观看场景)调节焦距时,对象大小是正确的。也就是说,如图18所示的,当焦距不适于(例如被调节至)虚拟摄像装置的针孔模型时,在标记平面中的所感知的虚拟对象的大小(单视场地观看)是不正确的。在图18中,较暗竖条(即较暗颜色)对应于正确地估算的焦距和对象/图像大小,并且较亮竖条(即较亮颜色)对应于不正确地估算的焦距和对象/图像大小。如所示的,可以根据所调节的焦距来获得从虚拟对象到hmd的虚拟距离。

5.当用户聚焦在正确的深度上时,如果适当地调节焦距,则假设当针对左眼和右眼的虚拟对象的单视场视图(即每只眼睛被分别地使用,每次使用一只眼睛)交叠时对瞳孔间距(ipd)进行调节。例如,图19示出了左单视场视图和右单视场视图被聚焦并且彼此重合。在本示例中,假设感知的虚拟对象与现实参考对象117重合。与此相反,图20示出了由右眼感知的虚拟对象117b与由左眼感知的另一个虚拟对象117a不重合的情况,并且因此ipd是不正确的(假设焦距已经被正确地设置),并且ipd需要进一步被调节。以这种方式,用户可以容易地确定他/她的正确ipd。

6.如由hmd光学器件确定的(16:9),假设长宽比在不同用户之间是恒定的。

7.如图21中所示,假设旋转误差较小,并且可以通过校正平移误差对旋转误差进行补偿。

8.假设图像不歪斜。

9.传感器121固定地被安装到hmd框架上,例如如图16所示在护目镜上。

10.以上第2点和第7点隐含了左校准矩阵与右校准矩阵之间的唯一差异将归因于瞳孔间距。因此,对于定为中心的平均头部模型,假设在左虚拟摄像装置和右虚拟摄像装置各自的虚拟图像平面中,针对左虚拟摄像装置和右虚拟摄像装置的该主图像点是相同的。

11.如在第2点中所述,如图17中所示,针孔摄像装置模型以及被置成与视轴垂直的固定虚拟图像平面隐含了针对左眼和右眼的平行视轴。如图22中所示,计算出的视差因此严格地归因于给定的ipd。

对于较高精确度的应用,假设3、假设6和假设7可以被放宽,并且如果用户认为其有益,可以向用户提供更丰富的可能参数的集合以用于调节。然而应当注意的是,该选项将需要更有经验的osthmd用户并且将需要首先检查其潜在益处,这是因为该潜在益处可能无法超过所增加的投入工作。

即使具有构成校准矩阵的变量的完全的知识,但是校准结果可能并且通常是不完美的。如下面进一步说明的,这是针孔虚拟摄像装置模型假设的结果,但是也是增强现实中一些感知问题的结果。

接下来,讨论针对校准定制的坐标系的选择。初始地,在跟踪摄像装置坐标系中定义校准矩阵。(回想到虽然该方法被示出在装备有视觉跟踪的osthmd系统上,但是该方法可容易扩展到利用任何其他类型的跟踪方法或跟踪方法的混合的osthmd系统)。如图23中所示,该坐标系不是如人眼从它们自身的坐标系的角度来观看世界的针对对象操纵的自然坐标系。因此,为了便于对取决于对虚拟对象和现实对象的视图的感知对准的校准,优选实施方式将初始坐标系从现实摄像装置坐标系变换到虚拟摄像装置坐标系。然后在虚拟摄像装置坐标系中递增地修改相关的校准参数。

即使在将视图变换到虚拟摄像装置坐标系之后,用户可能发现下述事实:与工作在预定义参考坐标系中——诸如例如在用户想要将虚拟对象视图锚定至其的参考3d(或2d)对象(例如,在视觉跟踪情况下使用的标记)的坐标系(如图24所示)中——相比,虚拟摄像装置坐标系不太直观。为此,优选实施方式采用如图24中所说明的变换链将参考的锚定现实对象的坐标轴变换到虚拟摄像装置坐标系,并且在锚定对象坐标系中执行校准。类似地,本实施方式可以工作在任何用户指定的坐标系中,针对该坐标系的到固定世界坐标系或跟踪器摄像装置坐标系的变换是已知的。(同样的推理适用于使用任何给定的跟踪设备或者两个或更多个跟踪设备的混合的osthmd系统)。

接下来对实现虚拟摄像装置的差动(differentialmotion)的话题进行讨论。

为了在任何给定的坐标系中成功地对运动进行变换,优选实施方式定义了如何将沿眼睛坐标系的x轴、y轴和z轴的无穷小运动投影到校准参数上。x-y平面中的运动将直接变换为在两个虚拟摄像装置坐标系(左和右)的x-y平面中的平移参数的变化。深度上(沿z)的运动映射成ipd变化,该ipd变化被反映到沿虚拟摄像装置x轴的左平移参数和右平移参数的直接变化中。

参考图31,δtx(y)代表外部平移参数的无穷小变化。δx(y)是眼睛坐标系中x(y)坐标的无穷小变化,而δz表示深度上(在眼睛坐标系中)的无穷小变化。下标x和y表示正在讨论的轴,并且下标l和r分别指示左虚拟摄像装置和右虚拟摄像装置。等式(1)和等式(2)二者是在假设所投影虚拟图像平面中的绝对点位置恒定的条件下得到的。

如图31的等式(3)所示,δtx(y)的变化内在地隐含了图像主点c0x(y)的变化。其中,sx(y)(px/mm)是像素密度。

一旦定义了这些无穷小运动,则可以适当地计算出虚拟摄像装置坐标系中的坐标轴的任意组合(如图24以及等式(1)、等式(2)和等式(3)中所示,并且作为在所选择的参考坐标系中沿各个坐标轴的无穷小变换的结果)。

接下来,解决针对校准参数理论值和真实值之间的差异。

关于增强现实中的感知问题,在自然视觉中,人类视觉系统使用了多种深度线索来推断深度信息。因此,在现实世界中,通过彼此相符地存在的多种深度线索实现精确的深度感知。与此相反,立体显示器仅可以提供可用深度线索的一个子集。丢失或不受控的深度线索可以缺乏信息深度或者提供错误的深度信息,并且产生失真感知。例如,即使适应(即调节的设置)可能是弱深度线索,但该适应仍然可以显著改变深度感知和大小感知二者。具有比工作距离更远的图像平面(优选地在5米处,而工作距离通常被保持在臂长处)将产生感知到更靠近图像平面并且因此距用户更远的对象的效果。最优ipd将大于真实用户的ipd。这是为何经最优校准的ipd可能超过真实ipd的合理说明。类似地,即使现实对象被置于与虚拟对象视图相同的深度处,现实对象与虚拟对象之间的适应失配可能使可以感知错误深度处的虚拟对象的用户困惑;两个对象之间的适应差异可能产生不同深度线索。

另外,已经示出了:不管视觉刺激的形状和大小,人类视觉系统不能区分细于7mm的边界的深度。

上述意指即使对于完美设置的默认参数,可能仍然需要一些小的调节以实现正确感知的校准,并且由于区分深度的人类能力的极限,所以内在地难以实现完美校准。

在校准范围方面,在假设根据跟踪机构的所完美地再现的头部位置的条件下,不论到现实参考对象的用户距离,针对不同距离/深度范围的校准结果仍然可能不同。另外,如果未针对一个深度范围来完美地测量校准参数,则在经校准的范围的远侧的深度范围处的误差可能成比例地增加。

校准结果对深度范围的依赖主要归因于上面所讨论的感知问题。另一个原因是具有平行视轴的针孔模型的妨碍,其中焦距和/或会聚角的潜在的小差异可能出现在不同的深度范围中。

通常,如果用户报告了针对范围之一的完全成功的校准,则不会发现校准结果对于短程(30cm至40cm)测试和中程(70cm至80cm)测试而不同。然而因为上述内容,优选实施方式鼓励用户针对特定应用来校准工作距离附近的设备。可替选地,小的线性校正项可能用于使不同距离范围的校准变得平坦。

现在转到校准协议的话题,该部分假设使用了头部姿势的视觉跟踪。针对集成在ar系统中任何其他跟踪传感器对协议进行修改是简单的。使用系统的直接几何测量(即几何参数)来定义默认校准矩阵。参考图25、图26a和图26b,在视觉跟踪的情况下,校准定制协议包括以下八个步骤:

1.用户戴上护目镜并且将护目镜定位在用户眼睛正前方并且垂直于用户眼睛。护目镜的正确定位对于ar系统的成功校准和ar系统的使用是重要的。使用该系统的直接几何信息所定义的默认校准矩阵被加载。

2.用户选择用于校准的坐标系。默认地,标记坐标系被设置。

3.如果已知,则用户输入正确的值并且微调ipd。否则,如上所说明的,用户调节ipd。标记优选地被定位成竖直且垂直于视轴。

4.将标记保持在相同位置,用户沿x方向和y方向(双目地)将对象置于标记上的中心。

5.已经以平面方式将虚拟对象的视图置于标记上的中心,并且保持该标记仍然在竖直位置,用户通过单视场地调节焦距来调节测试对象的大小。如果正确地设置ipd并且如果适当地调节焦距,则应该在执行步骤3和步骤5之后最优地调节距用户的对象深度。

6.将标记保持在与针对步骤5的位置相同的位置,如果焦距已经被修改,则用户可能需要重新调节所感知的虚拟对象位置使得测试对象保持在标记上的中心处。应该在执行步骤4和步骤6之后最优地调节虚拟摄像装置坐标系中的x位置和y位置。

7.用户更加水平或横向地对标记进行定位,并且验证是否需要任何进一步的调节以将测试对象(例如虚拟对象)锚定到标记(例如现实参考对象)并且将测试对象(例如虚拟对象)置于标记(例如现实参考对象)的中心。在选择的坐标系(默认为标记坐标系)中完成必要的调节,并且搜索最优ipd和平面平移是隐含的、并且所述搜索被嵌入对象对准过程中。

8.校准定制过程结束。

在图27、图28a、图28b、图29和图30中逐步骤地图形化地说明校准过程。

接下来,对传感器校准进行描述。下述校准方法假设完美的跟踪传感器校准和完美头部姿势的再现。对本视觉跟踪ar系统的情况进行详细地测试,但是原理对于任何其他跟踪机制是有效的。使用本领域中已知的opencv校准工具(开源计算机视觉库)对摄像装置进行校准。所使用的校准模式是14列×10行、对边宽(squaresize)=10.8mm的棋盘格。该测试证实了在头部姿势再现中的精确摄像装置校准(适用于其他类型的传感器)的重要性。

使用artoolkit标记和跟踪方法(artoolkit是用于构建增强现实应用的本领域已知的软件库),保持相对于该标记表面法线的小角度摄像装置轴,同样运行测试以估算短程到中远程(20cm至1m)中的标记跟踪误差。跟踪误差保持在2mm至3mm上至约90cm的水平上。对于大于90cm的距离,性能下降(大概由于每标记表面单位的较小的像素密度)。

为了完整起见,在本文中对优选实施方式中使用的数学模型的一些附加细节进行说明。

可以以由图32中的公式(4)所描绘矩阵形式来表示世界坐标系中的3d点与在图像(像素)坐标中的该点的2d投影之间的关系。在该情况下,在齐次坐标中给出了3d世界x和2d点p,w是任意比例,并且p是统一外部元素和内部元素的投影矩阵。也就是说,如公式(5)中所示对p进行定义,其中,符号(6)是内部参数矩阵,u0的和v0表示图像平面中心的图像像素坐标,fu是在x方向上焦距倍的像素密度。同样,fv是在y方向上焦距倍的像素密度。r代表旋转矩阵并且t代表平移向量。优选地通过构造p矩阵来定义数学模型,通过插入对应于平均头部模型的直接几何测量(即几何参数)来完成p矩阵的构造。

虽然已经结合若干具体实施方式对本发明进行了描述,对于本领域技术人员明显的是,根据前面的描述,许多另外的替代、修改和变化将是明显的。因此,本文中所描述的本发明旨在涵盖如可以落入所附权利要求的精神和范围内的所有这样的替代、修改、应用和变型。

综上,在根据本公开的实施例中,本公开提供了如下方案,但不限于此:

方案1.一种增强现实ar系统的光学透视ost头戴式显示器hmd的校准方法,包括:

在要使用所述osthmd的场景中提供现实目标对象,所述现实目标对象在所述场景内具有已知的尺寸、位置和方向;

基于预定义头部模型来定义默认校准矩阵集合;

使用所述默认校准矩阵集合来生成所述现实目标对象的虚拟对象表示,并且对所述虚拟对象的视图进行投影;

尽可能地将所投影的虚拟对象的视图中心对准到所述现实目标对象上;

在所述默认校准矩阵集合内,遍历至少一个预定义参数的预定义数目的增量变化;

针对所述预定义参数的每个增量变化,生成并且投影新的虚拟对象,将所述新的虚拟对象重新对准到所述现实目标对象,并且将当前的新的虚拟对象的当前的重新对准与先前所投影虚拟对象的先前对准进行比较;

识别具有与所述现实目标对象的最优对准的所投影虚拟对象,并且将所述所投影虚拟对象指定为经校准的虚拟对象;以及

设置所述osthmd以使用具有与所述经校准的虚拟对象相对应的预定义参数的值的校准矩阵集合。

方案2.根据方案1所述的方法,其中,所述osthmd是提供所投影虚拟对象的双目图像的立体ar系统。

方案3.根据方案2所述的方法,其中:

所述双目图像包括左图像和右图像;

分别针对所述左图像和所述右图像中的每一个来执行将所述新的虚拟对象重新对准到所述现实目标对象的步骤;

并且所述经校准的虚拟对象还被定义为下述所投影虚拟对象:该所投影虚拟对象的左图像虚拟对象投影和右图像虚拟对象投影彼此最优地对准。

方案4.根据方案1所述的方法,其中:

所述默认校准矩阵集合包括外部参数矩阵和内部参数矩阵,这两个矩阵均根据所述头部模型和所述osthmd的直接几何测量来定义;以及

所述外部参数矩阵和所述内部参数矩阵是基于针孔摄像装置模型的。

方案5.根据方案4所述的方法,其中,通过使用所述现实目标对象的已知尺寸、位置和方向以及所述现实目标对象的坐标系,根据所投影并且对准的虚拟对象的3d姿势即3d旋转+3d平移的直接几何测量来获得对所述外部参数矩阵的更新。

方案6.根据方案5所述的方法,其中,所述现实目标对象的坐标系中的值被转换为所投影虚拟对象的坐标系中的值。

方案7.根据方案5所述的方法,其中,使用虚拟摄像装置来生成每个所投影虚拟对象。

方案8.根据方案4所述的方法,其中:

所投影虚拟对象是基于所述针孔摄像装置模型的;

使用以下几何测量来定义所述内部参数矩阵内的参数:

用于定义焦距的、从虚拟针孔摄像装置的中心到所述虚拟针孔摄像装置的虚拟图像平面的中心的距离;以及

所述虚拟图像平面相对于所述头部模型的中心位置、用于定义所投影图像的中心像素位置的所投影图像的图像分辨率、以及所投影虚拟对象的像素密度。

方案9.根据方案8所述的方法,其中:

所述osthmd是提供所投影虚拟对象的双目图像的立体ar系统;

所述双目图像包括左图像和右图像,所述左图像和所述右图像中的每一个均具有各自的外部参数矩阵和内部参数矩阵;以及

所定义的焦距用于所述左图像和所述右图像二者。

方案10.根据方案8所述的方法,其中,所述一个预定义参数是瞳孔间距ipd,并且通过以下操作来得到最优ipd:

分别针对所述左图像和所述右图像中的每一个来执行将所述新的虚拟对象重新对准到所述现实目标对象的步骤;以及

识别以下参数值:所述参数值使得所述左图像的所重新对准的新的虚拟对象对准到所述右图像的所重新对准的新的虚拟对象。

方案11.根据方案10所述的方法,其中,所述最优ipd与用户的真实ipd不匹配。

方案12.根据方案11所述的方法,其中,遍历所述预定义数目的增量变化响应于用户控制的输入。

方案13.根据方案1所述的方法,其中:

所述一个预定义参数是多个所述预定义参数中的一个;

所述多个预定义参数的增量变化引起所投影虚拟对象的平移,并且通过调节所投影虚拟对象的平移来对所投影虚拟对象相对于所述现实目标对象在方向上的差异进行校正。

方案14.一种非暂态计算机可读介质,所述非暂态计算机可读介质包含用于由计算设备来执行根据方案1所述的方法的指令。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1