位置姿势测量方法及装置.pdf

上传人:1520****312 文档编号:1012593 上传时间:2018-03-25 格式:PDF 页数:29 大小:1.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN200410062666.6

申请日:

2004.07.08

公开号:

CN1578414A

公开日:

2005.02.09

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04N5/232

主分类号:

H04N5/232

申请人:

佳能株式会社

发明人:

内山晋二; 佐藤清秀

地址:

日本东京都

优先权:

2003.07.08 JP 193633/2003

专利代理机构:

北京市金杜律师事务所

代理人:

季向冈

PDF下载: PDF下载
内容摘要

本发明提供一种位置姿势测量方法及装置。输入表示摄像装置的姿势变化的信号(S302),用过去求得的位置姿势预测当前时刻的位置姿势(S306)。另外,对从由摄像装置拍摄的现实空间的图像中检测出的标识,和在从所预测的位置姿势拍摄时包含在图像中的标识之间的对应关系进行识别(S308)。利用根据由被识别出的标识对的数量而确定的修正方法,对预测出的摄像机的位置姿势的全部自由度或者其中的一部分进行修正(S312、S313);或者原样使用预测出的摄像机的位置姿势(S314)。据此,能够在摄像装置的位置姿势测量中,通过简便的结构而获得高精度的测量结果。

权利要求书

1.  一种对拍摄现实空间的摄像装置的位置姿势进行测量的位置姿势测量方法,其特征在于,包括:
姿势变化测量步骤,测量上述摄像装置的姿势的变化量;
第1图像坐标计算步骤,求取包含在上述摄影装置所拍摄的现实空间图像中的标识在图像中的坐标;
位置姿势推测步骤,根据过去求得的上述摄像装置的位置姿势,和在上述姿势变化测量步骤中得到的姿势的变化量,推测当前的上述摄像装置的位置姿势;
第2图像坐标计算步骤,求取处于由上述位置姿势推测步骤得到的位置姿势时的上述摄像装置的拍摄画面中的标识的坐标;
位置姿势修正步骤,利用依照从在上述第1图像坐标计算步骤中求得的标识的坐标,和在上述第2图像坐标计算步骤中求得的标识的坐标而得到的信息量的修正方法,对在上述位置姿势推测步骤中推测出的位置姿势进行修正。

2.
  根据权利要求1所述的位置姿势测量方法,其特征在于:
上述位置姿势具有6个自由度,
上述位置姿势修正步骤,根据上述信息量足够修正上述位置姿势的6个自由度到什么程度,来确定上述修正方法。

3.
  根据权利要求1所述的位置姿势测量方法,其特征在于:
上述信息量,是通过识别从在上述第1图像坐标计算步骤中求得的标识,和在上述第2图像坐标计算步骤中求得的标识中的,存在对应关系的标识对而获得的。

4.
  根据权利要求3所述的位置姿势测量方法,其特征在于:
上述信息量,是上述被识别出的标识对的数量。

5.
  根据权利要求3所述的位置姿势测量方法,其特征在于:
在上述修正方法中,包括对在上述位置姿势推测步骤中推测出的位置姿势进行修正的方法,在推测步骤中使上述被识别出的标识对间的距离最小。

6.
  根据权利要求3所述的位置姿势测量方法,其特征在于:
在上述修正方法中,包括根据使上述被识别出的标识对中至少有一对是一致的这样的修正,对在上述位置姿势推测步骤中推测出的位置姿势进行修正的方法。

7.
  根据权利要求3所述的位置姿势测量方法,其特征在于:
在上述修正方法中,包括在没有上述被识别出的标识对的情况下,将在上述位置姿势推测步骤中推测出的位置姿势原样作为修正后的位置姿势的方法。

8.
  一种对拍摄现实空间的摄像装置的位置姿势进行测量的位置姿势测量装置,其特征在于,包括:
姿势变化测量装置,测量上述摄像装置的姿势的变化量;
第1图像坐标计算装置,求取包含在上述摄影装置所拍摄的现实空间图像中的标识在图像中的坐标;
位置姿势推测装置,根据过去求得的上述摄像装置的位置姿势,和由上述姿势变化测量装置得到的姿势的变化量,推测当前的上述摄像装置的位置姿势;
第2图像坐标计算装置,求取处于用上述位置姿势推测装置得到的位置姿势时的上述摄像装置的拍摄画面中的标识的坐标;
位置姿势修正装置,利用依照从由上述第1图像坐标计算装置求得的标识的坐标,和由上述第2图像坐标计算装置求得的标识的坐标而得到的信息量的修正方法,对由上述位置姿势推测装置推测出的位置姿势进行修正。

9.
  一种对拍摄现实空间的摄像装置的位置姿势进行测量的位置姿势测量方法,其特征在于,包括:
姿势变化测量步骤,测量上述摄像装置的姿势的变化量;
第1图像坐标计算步骤,求取包含在上述摄影装置所拍摄的现实空间图像中的标识在图像中的坐标;
位置姿势推测步骤,根据过去求得的上述摄像装置的位置姿势,和在上述姿势变化测量步骤中得到的姿势的变化量,推测当前的上述摄像装置的位置姿势;
第2图像坐标计算步骤,求取处于由上述位置姿势推测步骤得到的位置姿势时的上述摄像装置的拍摄画面中的标识的坐标;
位置姿势计算步骤,从在上述第1图像坐标计算步骤中求得的标识的坐标和在上述第2图像坐标计算步骤中求得的标识的坐标,计算出当前的位置姿势。

说明书

位置姿势测量方法及装置
技术领域
本发明涉及测量摄像装置的位置姿势的位置姿势测量技术,该摄像装置具有拍摄现实空间的摄像部和测量姿势变化量的姿势变化测量部。
背景技术
拍摄现实空间的摄像机等的摄像部(以下为方便起见,简单地称为摄像机)的位置姿势测量,在例如融合显示现实空间和虚拟空间的复合现实感系统中是必需的。
例如在日本特开平11-084307号公报(文献1)、日本特开2000-041173号公报(文献2)、日本专利申请2000-354230号公报(文献3)、日本特开2002-230586号公报(文献4)等中,作为现有技术所公开的那样,作为求取这样的摄像机的位置姿势的方法,有不使用该摄像机的摄像图像,通过例如磁传感器等位置姿势传感器来测量摄像机的位置姿势的方法(以下称为方法1)。
上述文献1到文献3所记述的发明,是着眼于通过方法1的方法,无法获得足够的精度的课题而做出的发明。而且,在方法1的基础上,还公开了使用配置于现实空间中的位置已知的标志,或者现实空间中的位置已知的特征点(以下,将标志和特征点合在一起称为标识),来修正测量摄像机的位置姿势的位置姿势传感器的测量误差的方法。文献1到文献3中所公开的方法,虽然每一个的计算原理、手段和步骤不同,但是在以用于测量摄像机的位置姿势的6自由度的位置姿势传感器所获得的信息、配置在现实空间中的位置已知的点的信息、以及通过摄像机捕捉到这些点的信息为基础,求出摄像机的位置姿势这一点上是共同的。因此,将这些方法汇集在一起,下面称为方法2。
另外,作为其他方法,例如,在W.A.Hoff and K.Nguyen,“Computer vision-based registration techniques for augmentedreality”,Proc.SPIE,vol.2904,pp.538-548,Nov.199,U.Neumannand Y.Cho,“A self-tracking augmented reality system”,Proc.VRST’96,pp.109-115,July 1996.,历本纯一、“利用2维矩阵码的扩展现实感系统的构成方法”、交互系统和软件IV、近代科学社、pp.199-208,Dec.1996.等中所公开的那样,多数实施的都只是从通过摄像机拍摄存在于现实空间(场景)中的标识而获得的信息,来求取该摄像机的位置姿势的方法。除摄像机外不使用传感器的这种方法,以下称为方法3。
由于方法3是仅通过图像处理来测量摄像机的位置姿势的方法,因而对于因高速的头部运动而使帧间的标识的位置发生大的变化的情况,会存在追踪失败的问题。
作为应对该问题的方法,在S.You,U.Neumann,and R.Azuma,“Hybrid inertial and vision tracking for augmented reality registration”,Proc.IEEE Virtual Reality’99, pp.260-267,Mar.1999中,提出了组合使用摄像机之外的传感器的方法。该方法是,利用在当前的帧中检测出的标识的坐标和由陀螺传感器得到的角速度,预测下一帧中的标识的坐标,由此来提高图像中的标识的检测精度的方法。更进一步,将该方法进一步发展,在藤井、神原、岩佐、竹村,“一并使用了用于扩展现实感的陀螺传感器的立体摄像机的定位”信学技报,PRMU99-192,Jan.2000中,提出了向标识地坐标预测方法中追加从图像信息得到的信息的进行了改良的方法。对于使用摄像机之外的传感器来预测标识的坐标的这些方法,以下称为方法4。
除此之外,除使用陀螺传感器等惯性传感器的方法之外,同时还提出了使用扩展卡尔曼滤波器(Kalman filter)的方法。这种方法不是如方法4那样为了预测计算下一个图像帧中的标识而单纯使用惯性传感器的方法。这是对于进行摄像机位置姿势的推测计算(预测计算)的扩展卡尔曼滤波器,将惯性传感器测量信息直接作为输入值而加入的尝试。同时,标识的图像坐标值也输入到扩展卡尔曼滤波器。
即,是以惯性传感器的测量值和从图像检测出的标识的位置作为信息的输入源,对扩展卡尔曼滤波器直接适用这些信息,而预测性地推测出摄像机当前的位置姿势的方法(由于从惯性传感器和图像得到的标识的位置,是以当前的摄像机的位置姿势为基准,过去所获得的信息,因此当前的位置姿势的推测就被预测性地求出)。该方法是,准确地以一定的间隔在连续的时间内,使用不间断连续获得的传感器的测量信息,和从图像检测出的标识的信息,预测连续的摄像机的运动,由此来推测摄像机的位置姿势的方法。作为该方法,在横小路、菅原、吉川,“用于头部佩戴型显示器的使用了视觉和加速度的位置追踪法”,日本虚拟现实(virtual reality)学会第2次大会论文集,pp.121-124,Sep.1997中,提出了将6个加速度传感器组合起来,从而获得3轴的平移加速度和3轴的旋转角加速度,将其作为对扩展卡尔曼滤波器的输入而使用,由此来推测摄像机的位置和姿势的方法。另外,在L.Chai,K.Nguyen,B.Hoff,and T.Vincent,“An adaptiveestimator for registration in augmented reality”,ibid,pp.23-32,Oct.1999.,S.You and U.Neumann,“Fusion of vision and gyro tracking forrobust augmented reality registration”,Proc.IEEE Virtual Reality 2001,pp.71-78,Mar.2001中,也提出了使用陀螺传感器和扩展卡尔曼滤波器的方法。将使用陀螺传感器和扩展卡尔曼滤波器的这些方法称为方法5。
如以上这样大分一下,从方法1到方法5的方法作为现有技术而存在。
关于方法1,正如方法2已经将其视为问题那样,在一般只使用6自由度传感器的方法中,存在着所获得的位置姿势的精度不足的问题。另外,关于6自由度传感器,一般情况下除了固定在摄像机上使用的传感器部分外,还需要固定在现实空间(除摄像机外)中的其他装置,这些装置输出用于由该传感器部分检测的信号。例如,在磁力型6自由度传感器的情况下,产生用于由安装在测量对象上的传感器进行测量的磁场的装置就相当于该其他装置;在光学式传感器的情况下,受光装置或者发光装置就相当于该其他装置。并且,需要该其他装置,就意味着传感器的测量范围被局限在某一个被限定的范围内。另外,还存在着因设置地点的关系,设置其他装置本身就比较困难,或者即便是可以设置,安装也很麻烦等这样的问题。并且,还存在着传感器本身价格一般较高的问题。
方法2是鉴于方法1的问题点中的、测量精度不足这一点而设计的,针对测量精度低这个问题点进行了解决。但是,只要使用了6自由度传感器,测量范围的问题、设置的问题、价格的问题就得不到解决。
方法3,由于是不使用6自由度传感器的方法,因此从原理上既不存在测量范围的问题,也不存在设置和成本的问题。另外,如果用摄像机能观察到足够多的现实空间内位置已知的标识,则位置姿势的测量精度也就足够。然而,一旦标识变成不能由摄像机观察到的状态,就完全无法求取摄像机的位置姿势。因此,在摄像机能够活动的所有位置和所有姿势,都必须能够看到所需要的足够的信息量的标识。即,存在如下问题:必须将非常多的标识配置在现实空间内,或者用某种方法事先输入标识的3维位置。
更进一步,在从图像检测出标识时,有时在标识的检测稳定性上存在问题。更详细地说,为了使标识的检测稳定,对于每个标识,必须使用具有较宽的面的大标识,并且,该标识在由摄像机得到的图像中占有足够大的面积,在此条件下,才能单独识别、特定该标识。但是,这样的大标识,未必总能设置在现实空间中。因此,不得不取代大标识,而使用无法单独识别是哪一个标识的例如点状的小标识。在这种情况下,例如如果有急剧的摄像机的运动,则标识检测失败的可能性变高。
方法4,是鉴于方法3的标识检测稳定性而设计的方法。然而,在该方法中,在从图像中检测出标识之前,仅为了预测标识位置,就使用陀螺传感器,除增加了标识检测的稳定性之外,存在与方法3相同的问题。另外,在方法3中,通过陀螺传感器获得的信息,没有被摄像机的位置姿势的推测计算所使用,关于位置姿势的推测计算,与方法3相同。由于陀螺传感器那样的惯性传感器没有必须设置在现实空间中的装置,所以不存在方法1和方法2所具有的测量范围的问题和设置的问题。并且,由于价格一般都比较低,因此也是一种解决了方法1和方法2的价格问题的方法。
方法5,与以上方法1到方法4的方法不同,是准确地在一定间隔的连续时间内,不间断地连续推测摄像机的位置姿势的方法。在方法5中,需要以一定的间隔取得连续的信息,并且,必须以一定间隔连续地进行推测计算。但是,如果考虑到将所获得的位置姿势应用于复合现实感系统这样的情况,由于在步骤内包含有虚拟空间的描绘这种所需时间不确定的处理,因此在利用扩展卡尔曼滤波器进行计算的时刻,无法预测描绘结束的时间点的摄像机的位置姿势,并不一定能够有效地发挥作用。并且,基于同样的理由,有时以准确的一定间隔进行推测计算本身就非常困难。因此,对于复合现实感系统,原本就很难适用方法5,或者即便能够适用,计算结果也无法正确求得。
另外,还存在着如下问题:符合扩展卡尔曼滤波器的设计和使用环境的参数调整非常细,为了实现良好的动作所进行的设定非常困难。在没能够进行良好的设定的情况下,作为只使用某一时刻的信息的方法1到方法3的方法中所不会出现的问题,位置姿势测量结果可能会发生沿时间轴方向摇摆(如果仅看某一时刻,该时间点的图像中的标识位置可能变成不吻合的状态,会产生这种位置姿势精度较差的结果)的现象。另外,由于方法4是在推测标识的检测区域这种限定的形式下使用陀螺传感器的测量结果的,因此不会发生方法5那样的问题,基本上同方法1到方法3是一样的。
发明内容
本发明是考虑到上述问题点而完成的,目的在于使得能够在位置姿势测量中,通过简单的结构,获得高精度的测量结果。
上述目的,通过对拍摄现实空间的摄像装置的位置姿势进行测量的位置姿势测量方法来实现,其特征在于,包括:姿势变化测量步骤,测量上述摄像装置的姿势的变化量;第1图像坐标计算步骤,求取包含在上述摄影装置所拍摄的现实空间图像中的标识在图像中的坐标;位置姿势推测步骤,根据过去求得的上述摄像装置的位置姿势,和在上述姿势变化测量步骤中得到的姿势的变化量,推测当前的上述摄像装置的位置姿势;第2图像坐标计算步骤,求取处于由上述位置姿势推测步骤得到的位置姿势时的上述摄像装置的拍摄画面中的标识的坐标;位置姿势修正步骤,通过依照从在上述第1图像坐标计算步骤中求得的标识的坐标,和在上述第2图像坐标计算步骤中求得的标识的坐标而得到的信息量的修正方法,对在上述位置姿势推测步骤中推测出的位置姿势进行修正。
另外,上述目的也可以通过对拍摄现实空间的摄像装置的位置姿势进行测量的位置姿势测量装置来实现,其特征在于,包括:姿势变化测量装置,测量上述摄像装置的姿势的变化量;第1图像坐标计算装置,求取包含在上述摄影装置所拍摄的现实空间图像中的标识在图像中的坐标;位置姿势推测装置,根据过去求得的上述摄像装置的位置姿势,和由上述姿势变化测量装置得到的姿势的变化量,推测当前的上述摄像装置的位置姿势;第2图像坐标计算装置,求取处于由上述位置姿势推测装置得到的位置姿势时的上述摄像装置的拍摄画面中的标识的坐标;位置姿势修正装置,通过依照从由上述第1图像坐标计算装置求得的标识的坐标,和由上述第2图像坐标计算装置求得的标识的坐标而得到的信息量的修正方法,对由上述位置姿势推测装置推测出的位置姿势进行修正。
另外,上述目的也可以通过对拍摄现实空间的摄像装置的位置姿势进行测量的位置姿势测量方法来实现,其特征在于,包括:姿势变化测量步骤,测量上述摄像装置的姿势的变化量;第1图像坐标计算步骤,求取包含在上述摄影装置所拍摄的现实空间图像中的标识在图像中的坐标;位置姿势推测步骤,根据过去求得的上述摄像装置的位置姿势,和在上述姿势变化测量步骤中得到的姿势的变化量,推测当前的上述摄像装置的位置姿势;第2图像坐标计算步骤,求取处于由上述位置姿势推测步骤得到的位置姿势时的上述摄像装置的拍摄画面中的标识的坐标;位置姿势计算步骤,从在上述第1图像坐标计算步骤中求得的标识的坐标和在上述第2图像坐标计算步骤中求得的标识的坐标,计算出当前的位置姿势。
本发明的其他特征和优点可以通过下面的参照附图进行的说明得到明确,对附图中的相同或相似的部分附加相同的说明符号。
附图构成本说明书的一部分,用于说明本发明的实施例,并与该说明一起用于阐明本发明的原理。
图1是表示本发明的一个实施方式的具有位置姿势测量装置和HMD的系统的功能结构框图。
图2是说明图1的系统的使用状态的示意图。
图3是说明本发明的一个实施方式的位置姿势测量装置所进行的位置测量处理的流程图。
图4是说明本发明的一个实施方式的位置姿势测量装置所进行的位置测量处理的流程图。
下面将结合附图详细说明本发明的优选实施例。
【第1实施方式】
图1表示将本实施方式的位置姿势测量装置100适用于头部佩戴型装置(HMD=Head Mounted Display)101时的功能结构。HMD101具有摄像机102、角速度传感器103和显示器104,可以在现实空间内移动。摄像机102拍摄现实空间,将表示所拍摄的图像的信号输出到摄像图像取得单元105。角速度传感器103根据振动陀螺等的原理,测量HMD的运动的角速度。显示器104是能够显示图像的显示器,一般由右眼用、左眼用的2个显示器构成。
另外,在本实施方式中,使用固定了摄像机102、角速度传感器103以及显示器104这三个的位置的HMD101,但只要摄像机102和角速度传感器103具有固定的位置关系,能够在现实空间内移动,显示器104并非一定要相对于其他2个固定,也可以不内置在HMD101中。
105是摄像图像取得单元,接收从摄像机102传送来的信号,生成图像数据。获得的图像数据被传送到特征点检测单元106,还被传送给后述的摄像图像描绘单元111。特征点检测单元106具有检测出包含在所输入的图像数据中的、现实空间中的标识(可以是预先配置的标志,也可以是建筑物或特征性地形等的特征点)的功能。此时,图像中标识的位置(图像中的2维坐标)也被检测出来。
位置姿势更新处理单元107,根据来自角速度传感器103的角速度信号,和例如通过使用装置内的时钟信号的计时处理而获得的经过时间,计算姿势的变化量,并通过将该变化量同保存在位置姿势缓冲器110内的过去的值、或者位置姿势的最初值108进行简单的累加,来更新位置姿势(表示位置姿势的信息)。摄像机位置姿势推测运算单元109,根据由位置姿势更新处理单元107获得的摄像机的位置姿势,将存在于现实空间内的标识的3维位置投影到图像面上,根据获得的图像上的标识的投影点,和通过特征点检测单元106获得的标识在图像面上的检测位置,推测出摄像机的位置姿势。关于该推测处理将在后面详细论述。
用摄像机位置姿势推测运算单元109获得的摄像机的位置姿势被保存到位置姿势缓冲器110中,并被传送到虚拟空间融合描绘单元112。位置姿势缓冲器110,是保存通过摄像机位置姿势推测运算单元109求得的摄像机位置姿势的缓冲器,被保存的位置姿势如上述那样,在位置姿势更新单元107中被使用。
摄像图像描绘单元111和虚拟空间融合描绘单元112,是使用本实施方式中的位置姿势测量装置100所输出的摄像机位置姿势的装置的一个例子,是与位置姿势的测量无关的构成元素。
摄像图像描绘单元111,与特征点检测单元106同样,接收由图像取得单元105获得的图像数据,将作为现实空间的摄像结果本身的该图像数据,描绘到用于显示到显示器104的缓冲器(未图示)。
虚拟空间融合描绘单元112,通过对与摄像图像描绘单元111进行了描绘的缓冲器相同的显示缓冲器,重写描绘描绘虚拟空间(虚拟物体图像),来进行虚拟空间的融合描绘。更具体地说,是将由摄像机102拍摄的现实空间(现实空间图像),和根据由摄像机位置姿势推测运算单元109求得的摄像机的位置姿势,描绘预先确定的虚拟空间模型而生成的虚拟空间(虚拟物体图像)进行合成。
虚拟空间融合描绘单元112,将显示缓冲器的内容发送到内置于HMD101的显示器104。由此,在显示器104上显示融合描绘结果。
具有这样的结构的位置姿势测量装置100,只要能够接收来自HMD101的摄像机102的图像信号,以及来自角速度传感器103的检测信号,就能够与HMD101所移动的范围无关地设置在任意的场所,这与使用6自由度传感器时所需要的其他装置存在很大不同。
图2是表示使用图1所示的本实施方式中的HMD101的环境的示意图。如该图所示,在HMD101中内置了摄像机102,固定了角速度传感器103,并内置了显示器104。该HMD101可在现实空间内自由移动,在作为观察对象的现实空间中配置有作为标识的标志204。另外,如上述那样,标识是现实空间内的3维位置已知的点,并且具有可通过特征点检测单元106,从拍摄了标识的图像中检测出的特征量。
对于赋予可检测出的特征量,可以通过设定使得在特征点检测单元106中能够将例如标志204的形状、颜色、其面积等所拍摄的图像中检测出来而实现。
接着,参照图3和图4所示的流程图,对具有上述结构的位置姿势测量装置100所进行的处理进行说明。图3和图4是本实施方式中的主要处理的流程图。另外,这两张图只是由于纸张的关系才被分割成两部分的,如由流程连接符连接起来的那样,是一个流程图。
在步骤S301中,首先设定摄像机的初始位置姿势。所谓摄像机的初始位置姿势,是指在以后的步骤中使用的摄像机的位置姿势的初始值,表示在执行本实施方式的时刻,摄像机的大致的位置姿势。该初始位置姿势不需要表示处理开始时的摄像机的准确的位置姿势,只要表现出大致的位置和姿势即可。
作为可以在步骤S301中使用的初始位置姿势,例如在假定启动时摄像机的位置姿势不发生大的变化的基础上,可以使用预先作为常数值而保存的值。在这里,将作为存储在初始值108中的常数值的、摄像机的位置姿势初始值,作为摄像机的位置姿势进行设定。
另外,取代使用常数值,可以使用由作为位置姿势的测量对象的摄像机(摄像机102)拍摄的图像,使用通过该图像特征而推测出的摄像机的位置姿势。在这种情况下,在图2的标志204之外,另外准备能推测摄像机的位置姿势的6自由度的标志(初始位置姿势设定用标志),将其配置在附近。并且,在设定摄像机使得能拍摄到初始位置姿势设定用标志的状态下,开始处理,在步骤S301中,根据由摄像机拍摄的初始位置姿势设定用标志,推测摄像机的位置姿势,作为初始位置姿势而使用。
接着,并列执行步骤S302和步骤S304。步骤S302是同后述的步骤S303连在一起连续地执行的步骤,步骤S304是只在该步骤中连续地执行的步骤。在步骤S302和S303的说明之前,为了对在这些步骤中所进行的处理进行说明,首先,对步骤S304进行说明。
在步骤304,执行由摄像图像取得单元105取得来自摄像机102的影像的处理。摄像机102,在连续的时间内对连续帧的图像进行持续摄像,在该取得步骤中,取得该连续的帧在某一时刻的1幅量的信号。在某一时刻的图像全部取得完成的时间点,产生表示在后述的步骤S303中使用的图像的取得已经结束的触发(trigger)。另外,取得的图像数据,在进入步骤S305的处理时被使用。该步骤S304,在完成一个画面量的图像的取得处理后,为了立刻进行下一帧的取得,再次回到步骤S304的处理。即,步骤S304是连续地从摄像机持续取得图像数据,在取得完成1幅量的图像数据的时间点,产生触发的步骤。
在步骤S304,完成了1幅量的图像的取得后,接着执行步骤S305,在步骤S305中,以获得的图像为基础,通过特征点检测单元107,从该图像检测出204所表示的标志。为了后面的说明,将所获得的图像上的标志的检测点的位置以Vi(i=1,2,...)来表现。
在步骤S302,使用角速度传感器103进行角速度的测量。接着,在步骤S303,以经过时间为基础对在步骤S302中测量出的角速度进行累计。步骤S303的处理结束后,立刻进行步骤S302的处理,再次进行角速度的测量。在这里,所谓经过时间是指在步骤S302中进行累计处理的间隔,是将步骤S302的测量和步骤S303的计算时间这两部分相加后的极短的时间。这2个步骤可以使极短的时间与均等的时钟同步地进行动作,可以将该时钟的间隔作为经过时间来使用。这样的时钟,可以使用在计算机设备的动作中常用的时钟发生器所输出的时钟来生成。
步骤S302以及S303被反复执行,步骤S302测量出的角速度随时在步骤S303中被累计。但是,步骤S303并不只是单纯地持续累计,以步骤S304取得1幅图像后产生的触发作为输入,将在收到该触发的时间点的累计结果,传送给步骤S306,将累计值复位到0。
在步骤S306中,在接收到从步骤S303传送来的数据的时间点,即,在步骤S303将步骤S304的触发作为输入,输出累计值的时间点,以在该时间点所保存的摄像机的位置姿势为基础,通过将在步骤S303获得的角速度的累计值进行合计,计算新的摄像机位置姿势。在这里,在本流程动作开始并初次执行步骤S306时所使用的摄像机的位置姿势,是在步骤S301中设定的摄像机的位置姿势的初始值。如后面所述那样,经过以后的步骤之后,虽然该步骤S306被再次执行,但在那个阶段,成为使用通过后述步骤计算出的摄像机位置姿势。
在步骤S307中,使用在步骤S306获得的摄像机的位置姿势,将配置在以该位置姿势拍摄的场景(现实空间)中的标志204的3维位置,投影计算为摄像机的摄像面上的2维位置,即由摄像机获得的图像面上的2维位置。该投影计算可以通过以下两个步骤来进行,即,将标志204的坐标值,即配置在场景内的标志的世界坐标系的坐标值,变换成摄像机坐标系,即以摄像机的位置为原点,根据摄像机的姿势,轴的朝向会发生变化的三维坐标系的坐标值的观察(viewing)变换的步骤,和将摄像机坐标系的坐标值向图像面进行透视投影变换的步骤。以下对该方法进行详细阐述。
首先,如果将表示摄像机的位置的3维矢量设为tConW,将表示姿势的3×3旋转变换矩阵设为RConW,将摄像机坐标系上的点Xc=[xcyczc]变换成世界坐标系上的点Xw=[xwywzw]的变换式可以表示为
x w y w z w 1 = M ConW x c y c z c 1 = R ConW t ConW 0 1 x c y c z c 1 · · · · ( 1 ) ]]>
在这里,如果通过旋转轴矢量[rxryrz](rx2+ry2+rz2=1)和旋转角ra来表现姿势的测量值,则可以采用
R conW = r x 2 ( 1 - cos r a ) + cos r a r x r y ( 1 - cos r a ) - r z sin r a r z r x ( 1 - cos r a ) + r y sin r a r x r y ( 1 - cos r a ) + r z sin r a r y 2 ( 1 - cos r a ) + cos r a r y r z ( 1 - cos r a ) - r x sin r a r z r x ( 1 - cos r a ) - r y sin r a r y r z ( 1 - cos r a ) + r x sin r a r z 2 ( 1 - cos r a ) + cos r a · · · · ( 2 ) ]]>
来计算。
所谓观察(viewing)变换,是相当于该式(1)所表示的坐标变换的逆变换的变换。即,从世界坐标系上的点Xw=[xwywzw],向摄像机坐标系Xc=[xcyczc]的变换表示为
x c y c z c 1 = M wonC x w y w z w 1 = M conW - 1 x w y w z w 1 · · · · ( 3 ) ]]>
这里,为了以后的步骤的说明,新设
M ConW - 1 = M WonC = R t 0 1 ]]>
将MConW-1的旋转分量置换为R,平行移动分量置换为t。则可以表示为
Xc=RXw+t...(4)
。作为补充,该R、t不是摄像机的位置姿势的测量值本身(是逆变换的旋转分量和平行移动分量)。作为该式(4)的Xw,可以通过使用标志的位置,从标志在世界坐标系上的坐标值计算出摄像机坐标系的坐标值。
接着,将摄像机坐标系上的点透视投影变换到图像面上。设被投影的图像面上的2维点的坐标为U=[uxuy]t,则可以通过下式计算。
u x = f x x c z c , u y = f y y c z c · · · · ( 5 ) ]]>
这里,fxfy分别是摄像机的x轴方向和y轴方向的焦点距离。虽然摄像机的焦点距离在物理上具有1个值,但在这里为了同时表现x轴方向和y轴方向的纵横比,以具有2个值来表示焦点距离。另外,焦点距离是摄像机固有的值,预先求出。
如果将该透视投影变换式(5)表达为
(uxuy)=P(xcyczc)...(6)
U=P(Xc),
则由式(4)和(6),可以将位于世界坐标系上的点变换到图像面上的式子表示为
U=P(RXw+t)...(7)
即,在步骤S307中进行的、将标志的3维位置向图像面的投影计算,指的是将世界坐标系上的标志的点的坐标值作为Xw,用式(7)计算图像面的位置U的步骤。
接着,在步骤S308中,对在步骤S307中获得的标志在图像面上的投影位置,和在步骤S305中获得的图像中的标志位置进行比较,将在图像面上距离足够近的标志对识别(identify)为是相同的标志。
在步骤S309中,作为判定在步骤S308中识别出的标志是否具有可以针对全部6个自由度来修正在步骤S306中求得的摄像机的位置姿势的信息量的一例,判定是否存在至少3点(3对)的识别出的标志。如果大于等于3点(3对),则进入步骤S311,如果小于等于2点,则进入步骤S310进行处理。即,在步骤S310中,进一步判定是否有识别出的标志,如果有则进入步骤S313,否则进入步骤S314进行处理。
接着,对步骤S311和步骤S312中的处理进行说明。在步骤S311和步骤S312中,进行使用了至少3点的识别出的标志的摄像机位置姿势的推测(初始值的修正)。式(4)的旋转分量R,如式(2)所表示那样可以通过旋转轴和旋转角来表示。并且,通过将旋转角以旋转轴的长度表达为((ωx,ωy,ωz)=(rarx,rary,rarz)),能够以3个值来表现。因此,将组合了旋转分量R和平行移动分量t的6自由度参数设为矢量S=[ωxωyωztxtytz]t。据此,如果将作为在3维空间内的旋转和平行移动的坐标变换的观察变换式(4)表达为Xc=T(S,Xw),则包括投影变换的变换式(7)可以表达为
Ui = N ~ ( T ( S , X i ) ) = F ( ( S , X i ) ) · · · ( 8 ) ]]>
另一方面,关于在图像上检测出的标识的位置,如果将基于3维位置姿势传感器的测量值获得的观察变换的6自由度参数S,和可能从真的摄像机的位置姿势获得的观察变换的6自由度参数的差,表达为ΔS(即,真的观察变换的6自由度参数为S+ΔS),
Vi = N ~ ( T ( S + ΔS , X i ) ) = F ( ( S + ΔS , X i ) ) · · · ( 9 ) ]]>
式成立。
如果在步骤S306中获得的摄像机位置姿势表现真值,那么ΔS为0,Ui和Vi变成同一点,正因为在步骤S306中获得的摄像机的位置姿势不是真值,因此Ui和Vi才不会变成同一点。求取摄像机的位置姿势,就是基于Ui和Vi之间的误差,推测ΔS或者S+ΔS。换言之,该2点的距离,即只要能够求出在图像面上的误差矢量
ΔUi=Ui-Vi...(10)
的长度的平方误差
err = Σ i = 1 N | | Δu | | 2 = Σ i = 1 N | | u i - v i | | 2 · · · · ( 11 ) ]]>
变成最小的ΔS或者S+ΔS即可。
这可以运用牛顿迭代法等的反复运算求取。以下,以使用了牛顿迭代法的情况为例进行说明。首先,求取将式(8)的右边以tx、ty、tz、ωx、ωy、ωz偏微分之后的函数。各元素具有将式(8)以tx、ty、tz、ωx、ωy、ωz这6个变量偏微分之后的解的雅可比矩阵为:
J ba = ∂ u ∂ s = ∂ u x ∂ ω x ∂ u x ∂ ω y ∂ u x ∂ ω z ∂ u x ∂ t x ∂ u x ∂ t y ∂ u x ∂ t z ∂ u y ∂ ω x ∂ u y ∂ ω y ∂ u y ∂ ω z ∂ u y ∂ t x ∂ u y ∂ t y ∂ u y ∂ t z · · · · ( 12 ) ]]>
在这里,从j元素(element)数的矢量a到k元素数的矢量b的雅可比矩阵,成为j×k元素数的矩阵,将其表示为Jba
将ux和uy以某一变量p进行偏微分后,就会从式(5)和式(6)变成
∂ u x ∂ p = f x ∂ x c ∂ p z c - f x x c ∂ z c ∂ p z c 2 = f x z c ( ∂ x c ∂ p - x c z c ∂ z c ∂ p ) ]]>
∂ u y ∂ p = f y ∂ y c ∂ p z c - f y x c ∂ z c ∂ p z c 2 = f y z c ( ∂ y c ∂ p - y c z c ∂ z c ∂ p ) ]]>
因此,式(12)的矩阵的右侧3列的各元素成为
∂ u x ∂ t x = ∂ u x ∂ t y = ∂ u x ∂ t z = f x z c ( 1 - x c z c ) , · · · · ( 13 ) ]]>
∂ u y ∂ t x = ∂ u y ∂ t y = ∂ u y ∂ t z = f y z c ( 1 - y c z c ) , ]]>
可以通过摄像机坐标系上的标识位置和焦点距离求取。
另外,同样地,式(12)的矩阵的左侧3列的各元素为
∂ u x ∂ ω x = f x z c ( ∂ x c ∂ ω x - x c z c ∂ z c ∂ ω x ) , ∂ u x ∂ ω y = f x z c ( ∂ x c ∂ ω y - x c z c ∂ z c ∂ ω y ) , ∂ u x ∂ ω z = f x z c ( ∂ x c ∂ ω z - x c z c ∂ z c ∂ ω z ) , ]]>
∂ u y ∂ ω x = f y z c ( ∂ y c ∂ ω x - y c z c ∂ z c ∂ ω x ) , ∂ u y ∂ ω y = f y z c ( ∂ y c ∂ ω y - y c z c ∂ z c ∂ ω y ) , ∂ u y ∂ ω z = f y z c ( ∂ y c ∂ ω z - y c z c ∂ z c ∂ ω z ) , · · · · ( 14 ) ]]>
在这里,关于
∂ x c ∂ ω x , ∂ x c ∂ ω y , ∂ x c ∂ ω z , ∂ y c ∂ ω x , ∂ y c ∂ ω y , ∂ y c ∂ ω y , ∂ z c ∂ ω x , ∂ z c ∂ ω y , ∂ z c ∂ ω z ]]>
没有进行详细论述,但由于能够通过世界坐标系上的标识的位置和旋转轴旋转角来求取,因此式(14),即式(12)的矩阵的左侧3列的元素,可以通过世界坐标系上的标识的位置和旋转轴旋转角来求取。
进而,根据式(12),
∂ u = ∂ u ∂ s ∂ s · · · · ( 15 ) ]]>
∂ u = J us ∂ s ]]>
式成立。这意味着针对S的微小的变化量,能够用基于此时S的值得到的Jus,计算U的微小的变化量。由此,实际的误差量ΔU和ΔS,在ΔS较小的时候,成为
Δu≈JusΔs....(16)
这样的关系。在这里,用于该修正计算的点(标识),考虑有n点(n≥3)。由于式(16),在各个点成立,因此用进而将n点的矢量垂直排列后的矢量,
Δu 1 Δ u 2 · · · Δu n ≈ J us 1 J us 2 · · · J usn Δs · · · · ( 17 ) ]]>
的式成立。如果将式(17)中的[ΔU1ΔU2...ΔUn]和[Jus1Jus2...Jusn]分别记为
Ψ = Δ u 1 Δ u 2 · · · Δu n , Φ = J us 1 J us 2 · · · J usn · · · · ( 18 ) , ]]>
则可以使用Φ的广义逆矩阵(伪逆矩阵:pseudoinversematrix),通过
Δs≈(ΦΦt)-1ΦΨ....(19)
来求取对所有的点以同样的权值获得最小误差的ΔS。
这在以牛顿迭代法求S的问题中,相当于当S处于某状态时,求下面的S的计算过程。换言之,可以作为牛顿迭代法的反复优化过程中某一过程的计算而适用。即,在有某初始值S0时,可以基于作为不变量的标识在世界坐标系上的位置x1,x2,...xn,和误差矢量[ΔU1ΔU2...ΔUn],用式(19)求出ΔS。
使用该结果,使S1=S0+ΔS,重新计算[ΔU1ΔU2...ΔUn],再次用式(19)求取ΔS。更进一步,用该结果,使S2=S1+ΔS,再次进行相同计算的处理,直到[ΔU1ΔU2...ΔUn]接近0为止,或者是反复执行,直到反复执行了k次时,Sk-1和Sk的差几乎没有为止。通过该反复处理,可以将图像面上的标识的投影位置和检测位置的误差变成最小的观察变换的6自由度参数,作为Sk求得。
在步骤S311中,作为该反复运算所需要的初始值,设定在步骤S306中得到的摄像机的位置姿势进行处理。以该值为基础进行上述反复运算的处理,是步骤S312。
在这里,关于使式(11)的误差err变得最小而求取S的方法,只要使用某个反复运算即可,并非一定要使用牛顿迭代法。例如,已知可以使用Levenberg-Marquardt法(LM法),或者单纯形法(simplexmethod)。
以上对步骤S311以及S312的摄像机的位置姿势推测方法进行了阐述。接着,对在步骤S309中判定为No,并在步骤S310中判定为Yes时,即,可以使用的标志只有1点或者2点时所进入的步骤S313进行说明。在这种情况下,由于可以使用的标志点数少,因此无法使摄像机的位置姿势的6自由度全部最优化地推测摄像机的位置姿势。
在这里,只对摄像机的姿势的3自由度(坐标轴周围的旋转方向的自由度)、或者摄像机的位置的3自由度(与坐标轴平行的平移方向的自由度)的任意一者进行修正处理。关于可使用的标志只有1点的情况,采用使该点完全一致地修正姿势或位置的方法。如果可使用的标志有2点,则使用使2点都完全一致的修正量的平均的修正量进行修正。
接着,对在步骤S310中被判定为No时所进入的步骤S314进行说明。在步骤S314中,由于无法使用标志推测摄像机位置姿势和进行修正,因此将在步骤S306中得到的摄像机的位置姿势,原样视作当前的摄像机位置姿势。
即便经过步骤S312、步骤S313或者步骤S314中的任何一个步骤,仍继续进行从这些步骤向图4的步骤S401的处理。在步骤S401中,使用摄像图像描绘单元111,对在步骤S304中由摄像图像取得单元105获得的图像进行描绘。接着,在步骤S402中,使用由步骤S312、S313、S314的任何一个方法获得的摄像机的位置姿势,通过虚拟空间融合描绘单元112,将虚拟空间(虚拟物体的图像)重叠描绘到摄像图像描绘结果上。其结果是得到现实空间和虚拟空间的融合描绘结果。
在步骤S403中,将得到的融合描绘结果显示到显示单元104中。由此,通过HMD101,观察者可以观察现实空间和虚拟空间的融合图像。之后,在步骤S404,判定是否结束全部处理。
在结束处理的情况下,使步骤S302、S303的处理、和步骤S304的处理结束,并结束全部步骤。在不结束的情况下,即,继续持续地求取摄像机的位置姿势,并进行融合图像的显示的情况下,进入到步骤S306。由于在步骤S306中,如上述那样,进行基于在进行该处理的时刻获得的摄像机的位置姿势的处理,因此使用在步骤S312、S313、S314的任一个方法获得的摄像机的位置姿势。
[其他的实施方式]
在上述实施方式中,只是对将本发明的位置姿势测量装置适用于设置在HMD上的摄像机的位置姿势检测的情况进行了说明,但本发明的位置姿势测量装置,可以适用于其他任意的摄像装置的位置姿势测量。
另外,在上述实施方式中,只对使用了检测作为检测对象的摄像装置的姿势的角速度传感器的情况进行了说明,但并不局限于使用角速度传感器,只要能够获得从上次求得的位置姿势,推测当前时刻的位置姿势的信息,可以使用来自6自由度传感器之外的任意的传感器的信号。
在上述实施方式中,只对由1个设备构成的位置姿势测量装置进行了说明,但同等的功能也可以通过由多个设备构成的系统来实现。
另外,将实现上述实施方式功能的软件的程序(在实施方式中为对应于图3、图4所示的流程图的程序),从记录媒体中直接提供、或者用有线/无线通信,将该程序提供给具有可执行该程序的计算机的系统或者装置,该系统或者装置的计算机通过执行该提供的程序,实现同等的功能的情况也包括在本发明中。
因此,为了用计算机实现本发明的功能处理,提供给该计算机并安装的程序代码本身也是实现本发明的部分。也就是说,用于实现本发明的功能处理的计算机程序本身也包括在本发明中。
在这种情况下,只要具有程序的功能,不论程序的形式如何,目标代码、由解释程序执行的程序、提供给OS的脚本程序等都可以。
作为用于提供程序的记录媒体,有例如软盘、硬盘、磁带等磁记录媒体、MO、CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-R、DVD-RW等的光/光磁记录媒体、非易失性的半导体存储器等。
作为使用了有线/无线通信的程序供给方法,可以列举出诸如在计算机网络的服务器上形成本发明的计算机程序本身、或者包括经过压缩并自动安装的功能的文件等,在客户计算机上存储能够成为形成本发明的计算机程序的数据文件(程序数据文件),将程序数据文件下载到连接着的客户计算机上的方法等。在这种情况下,也可以将程序数据文件分割成多个片段文件,将片段文件配置在不同的服务器上。
即,使多个用户下载用于由计算机实现本发明的功能处理的程序数据文件的服务器装置也包含在本发明中。
另外,也可以将本发明的程序加密之后存储在CD-ROM等存储媒体中分发给用户,使满足预定条件的用户例如经由互联网从主页下载解密的密钥信息,通过使用该密钥信息,执行该加密后的程序,使其安装到计算机中来实现。
另外,除了通过计算机执行所读出的程序,实现上述实施方式的功能之外,也可以由计算机上运行着的OS等根据该程序的指示,进行实际的处理的一部分或者全部,通过该处理实现上述实施方式的功能。
并且,也可以是,在从记录媒体中读出的程序,被写入到插在计算机上的功能扩展板或者连接在计算机上的功能扩展单元所具有的存储器中之后,根据该程序的指示,该功能扩展板或功能扩展单元所具有的CPU等执行实际处理的一部分或者全部,通过该处理实现上述实施方式的功能。
通过以上的说明,根据本发明,不需要使用6自由度传感器,从而可以解决6自由度传感器的测量范围的问题、设置的问题、价格的问题。另外,不会造成为了测量摄像机的姿势变化量,仅通过由摄像机获得的图像,来推测位置姿势的方法所带来的标识的检测不稳定的问题。并且,不仅是标识的检测位置的预测,在摄像机的位置姿势的测量中也可以直接利用摄像机的姿势变化量的测量结果。另外,不必如使用扩展卡尔曼滤波器那样,需要以准确的一定间隔进行位置姿势的预测计算,就能够测量摄像机的位置姿势。
在不脱离本发明的精神和范围的前提下,本发明可以有各种不同的实施方式,并且应该理解为,本发明不受特定的实施方式的限定,其范围由所附的权利要求限定。

位置姿势测量方法及装置.pdf_第1页
第1页 / 共29页
位置姿势测量方法及装置.pdf_第2页
第2页 / 共29页
位置姿势测量方法及装置.pdf_第3页
第3页 / 共29页
点击查看更多>>
资源描述

《位置姿势测量方法及装置.pdf》由会员分享,可在线阅读,更多相关《位置姿势测量方法及装置.pdf(29页珍藏版)》请在专利查询网上搜索。

本发明提供一种位置姿势测量方法及装置。输入表示摄像装置的姿势变化的信号(S302),用过去求得的位置姿势预测当前时刻的位置姿势(S306)。另外,对从由摄像装置拍摄的现实空间的图像中检测出的标识,和在从所预测的位置姿势拍摄时包含在图像中的标识之间的对应关系进行识别(S308)。利用根据由被识别出的标识对的数量而确定的修正方法,对预测出的摄像机的位置姿势的全部自由度或者其中的一部分进行修正(S312。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1