CN101116101A - 位置/姿势测量方法和设备 - Google Patents

位置/姿势测量方法和设备 Download PDF

Info

Publication number
CN101116101A
CN101116101A CNA2006800041471A CN200680004147A CN101116101A CN 101116101 A CN101116101 A CN 101116101A CN A2006800041471 A CNA2006800041471 A CN A2006800041471A CN 200680004147 A CN200680004147 A CN 200680004147A CN 101116101 A CN101116101 A CN 101116101A
Authority
CN
China
Prior art keywords
orientation
index
image
value
measurement
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.)
Granted
Application number
CNA2006800041471A
Other languages
English (en)
Other versions
CN101116101B (zh
Inventor
佐藤清秀
内山晋二
远藤隆明
守田宪司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN101116101A publication Critical patent/CN101116101A/zh
Application granted granted Critical
Publication of CN101116101B publication Critical patent/CN101116101B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/22Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

一种用于稳定准确地测量位置和姿势的位置姿势测量装置。拍摄示出在空间上排列的一个或多个指标的图像,从拍摄到的图像中检测该指标。当检测到多个指标时,确定分布范围,并根据尺寸选择应用于位置姿势计算的算法(S3033,S3050,S3060)。例如,如果指标分布在足够宽的范围上,则作为未知数计算成像装置的位置和姿势的六个参数(S3070)。当指标的分布范围越小时,使要确定的未知参数的自由度越小(S3035,S3025)。

Description

位置/姿势测量方法和设备
技术领域
本发明涉及一种测量物体的位置和姿势、尤其是摄像装置的位置和姿势的方法和设备。
背景技术
近年来,关于针对现实空间和虚拟空间的无缝融合的混和现实已经进行了广泛研究。呈现混和现实的图像显示设备可以作为显示通过将根据摄像装置的位置和姿势所生成的虚拟空间(由计算机图形绘制的虚拟物体、文本信息等)的图像叠加在由摄像机等摄像装置拍摄的现实空间的图像上而获得的图像的设备来实现。
实现这种图像显示设备的要点是对在现实空间上定义的基准坐标系(作为确定要叠加的虚拟物体的位置和姿势时的基准的现实空间上的坐标系)和摄像装置的坐标系(照相机坐标系)之间的相对位置和姿势的测量。这是因为为了绘制虚拟物体(虚拟空间图像)以符合现实空间上的位置,必须使用与相对于基准坐标系的摄像装置的物理照相机参数相同的照相机参数生成虚拟物体的图像。例如,当将虚拟物体的图像叠加在现实房间中的某个位置处时,在该房间上定义基准坐标系,并且可以计算摄像装置在该基准坐标系中的位置和姿势。当要将任意的虚拟图案或标签叠加在观察者的手所保持的现实箱子上时,箱子本身的物体坐标系被认为是基准坐标系,并且可以计算箱子(基准坐标系)相对于摄像装置的位置和姿势。
作为测量摄像装置的位置和姿势的方法,通常的作法是在现实空间上安排或设置多个指标(人为标记、自然特征等)以检测由摄像装置拍摄的图像中的指标的投影图像的坐标,并基于与指标的坐标信息的关系计算摄像装置的位置和姿势(例如,非专利文献1)。然而,使用这种方法具有指标必须总被拍摄的约束。
另一方面,已经尝试在摄像装置上安装使用磁传感器、超声传感器等的6自由度的位置/姿势传感器,并使用从通过拍摄指标得到的图像中获得的信息(图像信息)来校正由该传感器测得的摄像装置的位置和姿势的误差(例如,专利文献1和专利文献2)。利用专利文献2中所公布的方法,当在所拍摄的图像中检测到指标时,基于该信息校正传感器测量值的误差。当没有检测到指标时,不改变6自由度位置/姿势传感器的测量值,并将其用作摄像装置的位置和姿势。因为可以获得摄像装置的位置和姿势而与是否检测到指标无关,所以可以稳定地呈现混和现实。
利用专利文献2的方法,当检测到的指标的数量是三个或更多时,基于图像信息计算摄像装置的位置和姿势的六个自由度。当检测到的指标的数量是两个或一个时,应用用于校正由传感器测得的摄像装置的位置和姿势中的一个(两个或三个自由度)的处理。更具体来说,切换用于计算摄像装置的位置和姿势的算法以将检测到的指标的数量作为判断标准。这样,即使当仅基于图像信息无法计算摄像装置的位置和姿势时(当拍摄到的指标的数量少于三个时),可以参考传感器测量值获得位置和姿势,该位置和姿势已经过校正以尽可能地消除传感器测量值中的误差。
然而,利用专利文献1的方法,应用用于基于图像信息仅校正传感器测得的摄像装置的位置和姿势中的一个而与检测到的指标的数量无关的处理。利用这种校正方法,当校正姿势时,针对各个检测到的指标单独计算用于消除指标的误差的旋转校正值,并将该转动校正值平均以计算姿势测量值的校正值。当校正位置时,针对各个检测到的指标单独计算用于消除指标的误差的平移校正值,并将该平移校正值平均以计算位置测量值的校正值。由于校正的自由度限于两个或三个而与指标的数量无关,所以即使当信息量不充足时也可以获得稳定的解决。
非专利文献1:Kato等:An Augmented Reality System and itsCalibration based on Marker Tracking,TVRSJ,vol.4,no.4,pp.607-616,1999。
非专利文献2:J.Park,B.Jiang和U.Neumann:Vision-basedpose computation:robust and accurate augmented reality tracking,Proc.2nd International Workshop on Augmented Reality(IWAR′99),pp.3-12,1999。
非专利文献3:D.G.Lowe:Fitting parameterizedthree-dimensional models to images,IEEE Transactions on PAMI,vol.13,no.5,pp.441-450,1991。
非专利文献4:Satoh,Uchiyama和Yamamoto:UG+B:ARegistration Framework Using User′s View,Gyroscope,andBird′s-Eye View,TVRSJ,vol.10,no.3,pp.391-400,2005。
非专利文献5:I.S krypnyk和D.Lowe:Scene modeling,recognition and tracking with invariant image features,Proc.3rdInternational Symposium on Mixed and Augmented Reality(ISMAR′04),pp.110-119,2004。
非专利文献6:D.Kotake,K.Satoh,S.Uchiyama和H.Yamamoto:A hybrid and linear registration method utilizinginclination constraint,Proc. 4th International Symposium onMixed and Augmented Reality(ISMAR′05),pp.140-149,2005。
非专利文献7:D.G.Lowe,Fitting Parameterized three-dimensionalmodels to images,IEEE Transactions on PAMI,vol.13,no.5,pp.441-450,1991。
专利文献1:日本特开2003-222509号公报
专利文献2:日本特开2003-279310号公报
专利文献3:日本特开2003-344018号公报
专利文献4:日本特开2004-233334号公报
发明内容
本发明要解决的问题
利用专利文献2的方法,当观测到三个或更多个指标时,总是选择用于计算位置和姿势的六个自由度的算法。然而,在实践中,存在这样的情况:在指标不均匀地分布在图像上的局部区域中并且在该区域中观测到该指标的情形中,即使当指标的数量是三个或更多个时,输入图像不包括充足的图像信息以稳定地计算位置的六个自由度。利用专利文献2的方法,所获得的解决方案的准确度和稳定性在这种情况下通常变得不足,存在改进的空间。
另一方面,专利文献1的方法把重点放在稳定性而不是准确度上,即使在指标不均匀地分布在图像上的局部区域中并且在该区域中观测到该指标的情形中图像信息不充足的情况下,与专利文献2的方法相比较一般可以进行稳定的测量。这是因为实际的执行系统使用具有弱准确度但具有高稳定性的磁传感器等六自由度传感器。然而,由于即使在获得了充足的图像信息时,该方法也只校正部分参数,因此不是通过最佳地利用图像信息来获得高准确度的方法。具体来说,作为用于混和现实的摄像装置的位置/姿势推定方法,更希望通过最佳地利用在所拍摄的图像中捕捉到的指标来推定摄像装置的位置和姿势。这是因为:由于这种方法是针对将虚拟物体叠加在所拍摄的图像上,因此需要将图像平面的偏差最小化。换句话说,专利文献2的方法在使用图像信息获得准确度方面还有改进的余地。
如上所述,难以同时实现达到专利文献1的高稳定性的效果和专利文献2的使用图像信息获得高准确度的效果。
此外,由于专利文献1的方法仅计算各个指标的二维校正值的平均值,因此在最佳校正上不能够将所有指标上的误差的总和最小化有改进的余地。
本发明是考虑到这种现有技术的问题而做出的,其目的是提供一种能够测量测量对象物体的位置和姿势同时实现高稳定性和高准确度的位置/姿势测量方法和设备。
解决问题的手段
为了实现以上目的,本发明具有以下配置。
根据权利要求1的发明针对一种用于测量测量对象物体的位置和姿势的位置/姿势测量方法,其特征在于,包括:拍摄图像获取步骤,用于获取拍摄图像;指标检测步骤,用于检测所述拍摄图像中所包括的指标;分布范围计算步骤,用于计算与所述指标检测步骤中检测到的指标的分布范围有关的评价值;以及位置/姿势计算步骤,用于使用与所述检测到的指标的图像坐标有关的信息和与所述分布范围有关的所述评价值来计算所述测量对象物体的位置和姿势。
根据权利要求15的发明针对一种用于测量测量对象物体的位置和姿势的位置/姿势测量方法,其特征在于,包括:姿势测量值输入步骤,用于从安装到所述测量对象物体的姿势传感器输入姿势测量值;拍摄图像获取步骤,用于获取拍摄图像;指标检测步骤,用于检测所述拍摄图像中所包括的指标;以及位置/姿势计算步骤,用于使用与所述检测到的指标的图像坐标有关的信息和所述姿势测量值来计算所述摄像装置的所述位置和姿势,其中,在所述位置/姿势计算步骤中,使用以下差异作为评价基准来计算所述摄像装置的位置和姿势,所述差异是:与所述检测到的指标的所述图像坐标有关的信息的实际测量值和基于所述摄像装置的所述位置和姿势的推定值计算出的与所述检测到的指标的所述图像坐标有关的信息的理论值之间的差异,以及所述推定值和所述姿势测量值的至少部分参数之间的差异。
根据权利要求20的发明针对一种用于测量作为测量对象物体的摄像装置的位置和姿势的位置/姿势测量方法,其特征在于,包括:姿势测量值输入步骤,用于从安装到所述摄像装置的姿势传感器输入姿势测量值;图像输入步骤,用于输入由所述摄像装置拍摄的拍摄图像;指标检测步骤,用于检测包括在所述拍摄图像中的指标;权重设置步骤,用于设置由操作者输入的权重;以及位置/姿势计算步骤,用于使用与所述指标检测步骤中检测到的所述指标的图像坐标有关的信息以及所述姿势测量值来计算所述摄像装置的位置和姿势,其中,在所述位置/姿势计算步骤中,通过根据在所述权重设置步骤中设置的权重改变与所述指标的所述图像坐标有关的信息和所述姿势测量值的影响来计算所述摄像装置的位置和姿势。
本发明的效果
根据本发明的位置/姿势测量设备,由于可以使用不仅考虑到检测到的指标的数量而且还考虑到与它们的分布范围相关的评价值的更好的方法来测量测量对象物体的位置和姿势,所以可以实现与传统方法相比较具有高稳定性和准确度的测量。
从以下结合附图的说明,本发明的其它特征和优点将变得明显。注意,在所有附图中相同的附图标记表示相同或相似的组件。
附图说明
包含在说明书中并构成说明书的一部分的附图示出本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是示出根据第一实施例的位置/姿势测量设备的配置的框图;
图2是示出可通过软件实现位置/姿势测量设备的各个单元的计算机的基本配置的框图;
图3是用于说明根据第一实施例的用于计算摄像装置130和要测量的物体170的位置和姿势的处理的流程图;
图4是用于说明图3中的步骤S3035中的位置和姿势计算处理的细节的流程图;
图5是用于说明图3中的步骤S3070中的位置和姿势计算处理的细节的流程图;
图6示出通过由摄像装置130拍摄要测量的物体170的图像而获得的拍摄图像的例子;
图7示出通过由摄像装置130拍摄要测量的物体170的图像而获得的拍摄图像的例子;
图8示出通过由摄像装置130拍摄要测量的物体170的图像而获得的拍摄图像的例子;
图9示出将步骤S3040中的处理应用于图6中所示的拍摄图像(拍摄图像600)时获得的凸包(convex hull);
图10示出将步骤S3040中的处理应用于图7中所示的拍摄图像(拍摄图像700)时获得的凸包;
图11示出将步骤S3040中的处理应用于图8中所示的拍摄图像(拍摄图像800)时获得的凸包;
图12是示出根据第二实施例的位置/姿势测量设备的配置的框图;
图13是示出根据第三实施例的位置/姿势测量设备的配置的框图;
图14是示出根据第四实施例的位置/姿势测量设备的配置的框图;
图15是示出根据第五实施例的位置/姿势测量设备的配置的框图;
图16是用于说明根据第五实施例的用于计算摄像装置130的位置和姿势的处理的流程图;
图17是用于说明根据第六实施例的用于计算摄像装置130和要测量的物体170的位置和姿势的处理的流程图;
图18是示出检测到的指标之间的距离和通过公式(28)获得的权重w1之间的关系的图;
图19是示出凸包的面积和通过公式(26)和(28)获得的权重w1和w2之间的关系的图;
图20是示出根据第七实施例的位置/姿势测量设备的配置的框图;
图21是用于说明根据第七实施例的用于计算摄像装置130的位置和姿势的处理的流程图;
图22是示出根据第八实施例的位置/姿势测量设备的配置的框图;
图23是用于说明根据第八实施例的用于计算要测量的物体2270的位置和姿势的处理的流程图;以及
图24是用于说明使用指标的再投影误差和姿势传感器的误差作为评价基准的位置和姿势推定处理的流程图。
具体实施方式
下面将参照附图详细说明本发明的优选实施例。
第一实施例
根据本实施例的位置/姿势测量设备测量摄像装置和测量对象物体的位置和姿势。下面说明根据本实施例的位置/姿势测量设备和位置/姿势测量设备。
图1示出根据本实施例的位置/姿势测量设备的配置。如图1所示,根据本实施例的位置/姿势测量设备100包括图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元120。设备100连接到摄像装置130和位置/姿势传感器140,即安装到摄像装置130和要测量的物体170的传感器140a和140b。
在要测量的物体170上的多个位置处安排多个已知其在物体坐标系(在要测量的物体170上定义的坐标系)上的位置的指标Qk(k=1,2,...,K)。图1的例子示出K=9即安排九个指标Q1~Q9的情况。例如,可以由具有不同颜色和相同形状的的标记(图1中的圆形)来构成指标Qk,也可以由具有不同纹理特征的自然特征等的特征点来构成指标Qk。作为选择,可以使用由每个具有特定面积的矩形单色区域形成的矩形指标。指标Qk可以具有任何形式,只要它们在拍摄图像上的投影图像的图像坐标是可检测的并且可以通过任意方法来识别这些指标Qk中的每一个即可。此外,指标可以是特意设置的,也可以是自然形状的非特意设置的指标。
将从作为例如摄像机的摄像装置130输出的图像(以下称为拍摄图像)输入到位置/姿势测量设备100。
作为六自由度传感器的位置/姿势传感器140a和140b分别安装到摄像装置130和要测量的物体170,并测量摄像装置130和要测量的物体170在基准坐标系上的位置和姿势。将从位置/姿势传感器140输出的测量值输入到位置/姿势测量设备100。每个位置/姿势传感器140包括例如可以从美国Polhemus得到的FASTRAK等。注意,由位置/姿势传感器140测得的位置和姿势包括由磁场的畸变等的影响而产生的误差。然而,这些传感器可以在它们的测量范围内连续稳定地测量位置和姿势。
图像输入单元160将输入到位置/姿势设备100的拍摄图像转换为数字数据,并将该数字数据输出到指标检测单元110。
传感器测量值输入单元150从位置/姿势传感器140即传感器140a和140b接收测量值,并将它们输出到位置/姿势计算单元120。
指标检测单元110从图像输入单元160接收拍摄图像,并检测在输入的图像中捕捉到的指标Qk的图像坐标。例如,当由具有不同颜色的标记构成指标Qk时,单元110从拍摄图像中检测对应于每个单独标记颜色的区域,并确定其重心位置作为关注的指标的检测到的坐标。另一方面,当由具有不同纹理特征的特征点构成指标Qk时,单元110将使用作为已知信息预先保持的每个单独指标的模板图像的模板匹配应用到拍摄图像,从而检测关注指标的位置。此外,当使用矩形指标时,单元110对图像施加二值化处理,并标注二值图像以检测每个由四条直线形成的区域作为候选指标。此外,单元110检查每个候选区域是否包括特定图案以消除检测误差并获取该指标的标识符。注意,在本说明书中以这种方式检测到的矩形指标被视为由四个顶点单独形成的四个指标。
指标检测单元110还将检测到的指标Qkn的图像坐标uQkn和它们的标识符kn输出到位置/姿势计算单元120。注意,n(n=1,...,N)是每个检测到的指标的指标号,N代表检测到的指标的总数。
位置/姿势计算单元120从传感器测量值输入单元150接收作为输出的摄像装置130和要测量的物体170的位置和姿势的测量值,并从指标检测单元110接收作为输出的单独指标Qkn的图像坐标uQkn。单元120校正要测量的物体170或摄像装置130的位置和姿势的测量值的误差,并输出校正后的位置和姿势数据。
注意,图1中所示的图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元120中的至少一部分可以作为独立装置来实施,也可以作为通过将软件程序安装在一个或多个计算机中并由每个计算机的CPU执行它们来实现上述功能的软件程序来实施。在本实施例中,假定各单元(图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元120)由软件来实现并安装在单个计算机中。
图2是示出可通过执行软件来实现图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元120的功能的计算机的基本配置的框图。
CPU 1001使用存储在RAM 1002和ROM 1003中的程序和数据来控制整个计算机,并控制图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元120的软件程序的执行以实现各个单元的功能。
RAM 1002包括用于临时存储从外部存储装置1007或存储介质驱动1008加载的程序和数据的区、以及CPU 1001执行各种处理所需的工作区。
ROM 1003一般存储计算机的程序、设置数据等。键盘1004和鼠标1005是输入装置。操作者可以这些输入装置将各种指令输入到CPU 1001。
显示单元1006包括CRT、液晶显示器等,并且可以显示为了例如位置/姿势测量而显示的消息等。
外部存储装置1007是硬盘驱动等作为大容量信息存储装置的装置,并保存OS(操作系统)、由CPU 1001执行的程序等等。在本实施例的说明中,外部存储装置1007保存作为已知信息描述的信息,并根据需要将该信息加载到RAM 1002中。
存储介质驱动1008根据来自CPU 1001的指令读出存储在CD-ROM、DVD-ROM等存储介质中的程序和数据,并将所读出的程序和数据输出到RAM 1002和外部存储装置1007。
I/F 1009包括用于连接摄像装置130的模拟视频端口、或IEEE1394等数字输入/输出端口、用于连接位置/姿势传感器140的RS232C、USB等的串行端口、用于向外部输出计算后的位置和姿势的以太网(Ethernet)端口等等。从各装置输入的数据经由I/F1002存储在RAM 1002中。由I/F1009来实现图像输入单元160和传感器测量值输入单元150的部分功能。
通过总线1010相互连接上述组件。
图3是示出位置/姿势计算单元120的处理序列的流程图。在本实施例中,当CPU 1001执行用于实现位置/姿势计算单元120的功能的程序时执行该处理序列。假定在执行以下处理之前已经从例如外部存储装置1007将根据该流程图的程序代码加载到RAM 1002上。
在步骤S3000,位置/姿势计算单元120从指标提取单元110接收检测到的指标Qkn的图像坐标uQkn和它们的标识符kn。假定事先将各指标在物体坐标系上的三维(3D)坐标xo Qkn作为已知值加载到RAM 1002上。
在步骤S3005,位置/姿势计算单元120从传感器测量值输入单元150接收由传感器测量的摄像装置130和物体170的位置和姿势的测量值。
在步骤S3010中,位置/姿势计算单元120检查是否检测到指标。如果没有检测到指标,则处理跳至步骤S3080;否则,处理前进至步骤S3020。
在步骤S3020中,位置/姿势计算单元120检查检测到的指标的总数是否是一个。如果指标的总数是一个,则处理前进至步骤S3025;否则,处理前进至步骤S3030。
在步骤S3025,位置/姿势计算单元120对在步骤S3005中获得的摄像装置130的姿势的测量值的平转和倾斜角度施加校正以消除检测到的指标的误差(指标在物体坐标系上的3D坐标xo Qkn、从摄像装置130和要测量的物体170的位置和姿势的测量值得出的投影坐标的理论值xo Qkn*以及实际检测到的坐标uQk之间的误差)。然后处理前进到步骤S3080。由于可以采用已知的处理作为步骤S3025中的校正处理,所以将不给出进一步的说明。更具体来说,可以使用例如专利文献1中公开的方法(使用一个标志通过照相机的转动的校正方法(“0019”段至“0029”段)以及使用多个标志通过照相机的转动的校正方法(“0039”段至“0050”段))。
在步骤S3030中,位置/姿势计算单元120检查检测到的指标的总数是否是两个。如果指标的总数是两个,则处理前进到步骤S3033;否则,处理前进到步骤S3040。
在步骤S3033中,位置/姿势计算单元120计算图像上两个检测到的指标之间的距离,并将计算后的值与被定义为预定值的阈值T1(例如,图像对角线长度的1/4)进行比较。如果该距离等于或大于阈值T1,则处理前进到步骤S3035;否则处理前进到步骤S3025以执行上述处理。
在步骤S3035中,位置/姿势计算单元120对表示摄像装置130的姿势的测量值的三个参数(平转、倾斜和旋转角)进行校正以将所有检测到的指标的误差的总和最小化,同时将要测量的物体170的位置和姿势的测量值和在步骤S3005中获得的摄像装置130的位置的测量值设定为固定值。然后,处理前进到步骤S3080。下面说明该处理步骤的细节。
仅当检测到的指标的总数是三个或更多个时执行步骤S3040。在该步骤中,作为所有检测到的指标的分布范围的评价值的例子,位置/姿势计算单元120计算包括所有检测到的指标的图像坐标的凸包。由于作为图像处理的基本问题计算图像上的点群的凸包的方法是普通的现有技术,因此将不给出其详细说明。
图6、图7和图8示出当摄像装置130拍摄要测量的物体170的图像时获得的拍摄图像的例子。在图6所示的拍摄图像600上,观测到指标Q1、Q5、Q6和Q9。在图7所示的拍摄图像700上,观测到指标Q1、Q2、Q6和Q7。在图8所示的拍摄图像800上,观测到指标Q2、Q6和Q7。假定其它指标隐藏在另一物体(在本实施例中为用户的手610)的后面。
当检测到这些拍摄图像的指标并执行图3的流程图中所示的位置/姿势计算单元120的处理步骤时,由于从每个图像检测到的指标的数量是三个或者更多,所以执行步骤S3040和随后步骤中的处理。图9、图10和图11分别示出由对拍摄图像600、700和800执行步骤S3040中的处理时获得的检测到的指标形成的凸包900、1000和1100。在以下说明中,假定将A900、A1000和A1100设为各个凸包的面积,以下所述的阈值T2和T3满足关系A1100<T2<A1000<T3<A900
在步骤S3050中,位置/姿势计算单元120将步骤S3040中计算出的凸包的面积与定义为预定值的阈值T2(例如,整个拍摄图像的面积的1/16)进行比较。如果该面积等于或大于阈值T2,则处理前进到步骤S3060;否则,处理前进到步骤S3025。在图6至图11中所示的例子中,针对拍摄图像800处理前进到步骤S3025,针对拍摄图像700和600处理前进到步骤S3060。
在步骤S3060中,位置/姿势计算单元120将步骤S3040中计算出的凸包的面积与定义为预定值的阈值T3(例如,整个拍摄图像的面积的1/9)进行比较。如果该面积等于或大于阈值T3,则处理前进到步骤S3070;否则,处理前进到步骤S3035。在图6至图11中所示的例子中,针对拍摄图像700处理前进到步骤S3035,针对拍摄图像600处理前进到步骤S3070。
在步骤S3070中,位置/姿势计算单元120计算摄像装置130的位置和姿势以将所有检测到的指标的误差的总和最小化。下面说明该处理步骤的细节。
在步骤S3080中,位置/姿势计算单元120经由I/F1009向外部输出代表在步骤S3025、S3035或S3070中获得的摄像装置130和要测量的物体170的位置和姿势的数据。作为选择,单元120将这些数据转换为其它应用程序可使用的状态之后,将它们存储在RAM 1002中。
注意,由于在步骤S3025、S3035或S3070中只校正与摄像装置130相关的测量值,因此在步骤S3080中输出的位置和姿势数据包括与要测量的物体170相关的在步骤S3005中输入的传感器的测量值本身。然而,位置和姿势的输出模式不限于此。相反,可以不校正摄像装置130的测量值,并按原样输出传感器的测量值,可以校正并输出要测量的物体170的测量值。在此情况下,在步骤S3080中,位置/姿势计算单元120执行以下说明的坐标转换处理,然后输出转换后的位置和姿势。
在使用齐次坐标系通过4×4坐标转换矩阵描述位置和姿势时,基于摄像装置130的位置和姿势M# WC(#是表示传感器的测量值的符号;它适用于以下说明)、作为传感器测量值获得的要测量的物体170的位置和姿势M# WO以及作为直到步骤S3070的处理结果而得到的摄像装置130的校正后的位置和姿势MWC,通过下式计算要测量的物体170的校正后的位置和姿势MWO
M WO = M # WC · M WC - 1 · M # WO - - - ( 1 )
这时,由下式给出要测量的物体170在由摄像装置130定义的照相机坐标系上的位置和姿势:
M CO = M WC - 1 · M # WO = M # WC - 1 · M WO - - - ( 2 )
更具体来说,要测量的物体170和摄像装置130的相对位置和姿势之间的关系在以下两种情况之间相互等价:一种情况是输出作为直到步骤S3070的处理结果获得的摄像装置130的校正后的位置和姿势(MWC)和作为传感器测量值获得的要测量的物体170的位置和姿势(M# WO)的情况,另一种情况是输出作为传感器测量值获得的摄像装置130的位置和姿势(M# WC)和通过公式(1)算出的要测量的物体170的校正后的位置和姿势(MWO)的情况。因此,优选选择与使用该设备的输出的应用程序所需的模式相对应的输出模式。
可以使用公式(2)计算要测量的物体170在照相机坐标系上的位置和姿势(MCO)并将其输出,也可以计算并输出摄像装置130在物体坐标系上的位置和姿势(MCO -1)。
在步骤S3090,位置/姿势计算单元120检查处理是否要结束。如果处理没有要结束,则处理返回到步骤S3000。
下面使用图4的流程图说明步骤S3035中摄像装置130的姿势计算处理步骤。在以下说明中,由三值矢量S=ωWC=[ξWCψWCζWC]T内部地表示作为要计算的未知参数的摄像装置130的姿势。
可以使用通过三值表示姿势的各种方法。在这种情况下,使用由矢量的大小定义旋转角、由矢量的方向定义旋转轴方向的三值矢量来表示姿势。注意,可以由下式给出的3×3旋转矩阵R来表示姿势ω:
R ( ω ) = ξ 2 θ 2 ( 1 - cos θ ) + cos θ ξψ θ 2 ( 1 - cos θ ) - ζ θ sin θ ξζ θ 2 ( 1 - cos θ ) + ψ θ sin θ ψξ θ 2 ( 1 - cos θ ) + ζ θ sin θ ψ 2 θ 2 ( 1 - cos θ ) + cos θ ψζ θ 2 ( 1 - cos θ ) - ξ θ sin θ ζξ θ 2 ( 1 - cos θ ) - ψ θ sin θ ζψ θ 2 ( 1 - cos θ ) + ξ θ sin θ ζ 2 θ 2 ( 1 - cos θ ) + cos θ
( forθ = ξ 2 + ψ 2 + ζ 2 ) - - - ( 3 )
ω和R可以唯一地相互转换。由于对本领域的技术人员来说从R到ω的转换方法是已知的,所以不给出其详细说明。
在步骤S4000中,位置/姿势计算单元120将作为传感器测量值获得的摄像装置130的姿势设置为初始值s。
在步骤S4010中,位置/姿势计算单元120计算每个单独指标Qkn的图像坐标的推定值uQkn*。基于由s定义的指标的观测方程,即从每个指标Qkn在物体坐标系上的坐标XO Qkn(作为已知信息预先保持)计算图像坐标的函数来计算uQkn*
U Q k n * = F C ( x O Q k n , s ) - - - ( 4 )
更具体来说,由用于从XO Qkn和s计算关注指标的照相机坐标(将摄像装置130的视点位置定义为原点,将三个正交轴分别定义为X轴、Y轴Z轴的坐标系)XC Qkn的公式:
x C Q k n = x C Q k n y C Q k n z C Q k n = R ( ω WC ) - 1 · ( R WO · x O Q k n + t WO - t WC ) - - - ( 5 )
以及用于从照相机坐标XC Qkn计算图像坐标uQkn*的公式:
u Q k n * = [ u x Q k n * u y Q k n * ] T = [ - f x C x C Q k n z C Q k n - f y C y C Q k n z C Q k n ] T - - - ( 6 )
来构成观测方程Fc()。
其中,tWC和tWO是表示摄像装置130和要测量的物体170的位置测量值(平移成分)的3D矢量,并且在此情况中作为固定值来处理tWC和tWO。RWO是表示要测量的物体170的姿势测量值(旋转成分)的3×3旋转矩阵,并同样作为固定值来处理RWO。fC x和fC y是摄像装置130在x轴和y轴方向上的焦距,作为已知值预先保持fC x和fC y
在步骤S4020中,位置/姿势计算单元120通过下式计算每个独立指标Qkn的图像坐标的推定值uQkn*和实际测量值uQkn之间的误差ΔuQkn
Δ u Q k n = u Q k n - u Q k n * - - - ( 7 )
在步骤S4030中,位置/姿势计算单元120关于每个独立指标Qkn计算s的图像雅克比(Jacobian)(即,用s的各元素对公式(4)给出的观测方程Fc()进行偏微分而获得的解作为各元素的2行×3列的雅克比矩阵)Jus Qkn(=u/s)。更具体来说,单元120计算用照相机坐标xC Qkn的各元素对公式(6)的右侧进行偏微分而获得的解作为各元素的2行×3列的雅克比矩阵Jux Qkn(=u/x)以及用矢量s的各元素对公式(5)的右侧进行偏微分而获得的解作为各元素的3行×3列的雅克比矩阵Jxs Qkn(=x/s),然后用下式计算Jus Qkn
J us Q k n = J ux Q k n · J xs Q k n - - - ( 8 )
在步S4040中,位置/姿势计算单元120基于在步骤S4020和S4030中计算出的误差ΔuQkn和图像雅克比Jus Qkn来计算s的校正值Δs。更具体来说,位置/姿势计算单元120生成通过纵向排列误差ΔuQkn来定义的2N维误差矢量:
U = Δ u Q k 1 · · · Δ u Q k N - - - ( 9 )
以及通过纵向排列图像雅克比Jus Qkn来定义的2N行×3列的矩阵:
Θ = J us Q k 1 · · · J us Q k N - - - ( 10 )
然后,单元120使用Θ的伪逆矩阵Θ+如下计算Δs:
Δs=Θ+U                        (11)
这样,本实施例通过局部线性近似来计算校正值Δs。
在步骤S4050,位置/姿势计算单元120根据公式(12)使用在步骤S4040中计算出的校正值Δs来校正s,并将所获得的值设置为s的新推定值:
S+ΔS→S                                (12)
在步骤S4060中,位置/姿势计算单元120使用例如误差矢量U是否小于预定阈值或校正值Δs是否小于预定阈值的某些标准来检查该计算是否收敛。如果该计算不收敛,则单元120使用校正后的s再次执行步骤S4010及随后步骤中的处理。如果判定计算收敛,则处理前进到步骤S4070。
上述步骤即步骤S4000至S4060用牛顿(Newton)方法解决了包括多个观测方程的针对s的非线性联立方程。如下面在变形例5中所述,该一系列步骤可以使用任何其它非线性解法。
在步骤S4070中,位置/姿势计算单元120将通过直到步骤S4060的处理所获得的s设置为摄像装置130的姿势的推定值ωWC(校正后)。
如上所述,可以在作为传感器测量值固定所获得的位置参数的同时计算使所有指标的误差的总和最小化的姿势参数。
下面使用图5中的流程图说明步骤S3070中的摄像装置130的位置和姿势计算处理步骤。在以下说明中,由六值矢量s=[tWC TωWC T]T=[xWC yWC zWCξWC ψWCζWC]T来内部地表示作为要计算的未知参数的摄像装置130的位置和姿势。
在步骤S5000中,位置/姿势计算单元120将作为传感器测量值获得的摄像装置130的位置和姿势设置为s的初始值。
在步骤S5010中,位置/姿势计算单元120计算每个单独指标Qkn的图像坐标的推定值uQkn*。基于由s定义的指标的观测方程,即从每个指标Qkn在物体坐标系上的坐标XO Qkn计算图像坐标的函数,来计算uQkn*
u Q k n * = F C ′ ( x O Q k n , s ) - - - ( 13 )
更具体来说,由用于从XO Qkn和s计算关注指标的照相机坐标XC Qkn的公式(5)和用于从照相机坐标XC Qkn计算图像坐标uQkn*的公式(6)构成观测方程F′c()。然而,在此情况下,公式(5)中的tWC(表示摄像装置130的位置)不是作为固定值而是作为形成s的部分参数来处理的。另一方面,对于要测量的物体170的位置tWO和姿势RWO,将传感器测量值作为固定值原样使用。
在步骤S5020中,位置/姿势计算单元120通过公式(7)针对每个单独的指标Qkn计算图像坐标的推定值uQkn*和实际测量值uQkn之间的误差ΔuQkn
在步骤S5030,位置/姿势计算单元120关于每个独立指标Qkn计算s的图像雅克比(即,将用s的元素对公式(13)给出的观测方程F′c()进行偏微分而获得的解作为各元素的2行×6列的雅克比矩阵)Jux Qkn(=u/s)。更具体来说,单元120计算将用照相机坐标xC Qkn的各元素对公式(6)的右侧进行偏微分而获得的解作为各元素的2行×3列的雅克比矩阵Jux Qkn(=u/x)、以及将用矢量s的各元素对公式(5)的右侧进行偏微分而获得的解作为各元素的3行×6列的雅克比矩阵Jxs Qkn(=x/s),然后用公式(8)计算Jus Qkn
在步骤S5040中,位置/姿势计算单元120基于在步骤S5020和S5030中计算出的误差ΔuQkn和图像雅克比Jus Qkn来计算s的校正值Δs。更具体来说,位置/姿势计算单元120生成通过纵向排列误差ΔuQkn来定义的2N维误差矢量U以及通过纵向排列图像雅克比Jus Qkn来定义的2N行×6列的矩阵Θ,然后通过公式(11)使用Θ的伪逆矩阵Θ+计算Δs。
在步骤S5050,位置/姿势计算单元120根据公式(12)使用在步骤S5040中计算出的校正值Δs来校正s,并将所获得的值设置为s的新推定值。
在步骤S5060中,位置/姿势计算单元120使用例如误差矢量U是否小于预定阈值或校正值Δs是否小于预定阈值等一些标准来检查该计算是否收敛。如果该计算不收敛,则单元120使用校正后的s再次执行步骤S5010及随后步骤中的处理。如果判定计算收敛,则处理前进到步骤S5070。
在步骤S5070中,位置/姿势计算单元120将通过直到步骤S5060的处理获得的s设置为摄像装置130的位置和姿势校正后的推定值。
在本实施例中,在步骤S3070的处理中,选择摄像装置130的位置和姿势作为校正对象。作为选择,在执行该处理时,可以选择要测量的物体170的位置和姿势作为校正对象。在此情况下,由六值矢量s=[tWO TωWO T]T=[xWO yWO zWOξWO ψWOζWO]T来内部地表示要计算的未知参数,并将作为传感器测量值得到的要测量的物体170的位置和姿势设置为s的初始值。形成观测方程F′c()的公式(5)修改为:
x C Q k n = R WC - 1 · ( R ( ω WO ) · x O Q k n + t WO - t WC ) - - - ( 14 )
此时,关于摄像装置130的位置tWC和姿势RWC,原样使用传感器测量值作为固定值。
要测量的物体170在照相机坐标系上的位置和姿势或者摄像装置130在物体坐标系上的位置和姿势可以作为未知参数来计算。
在前一种情况下,由表示要测量的物体170在照相机坐标系上的位置和姿势的六值矢量s=[tCO TωCO T]T=[xCO yCO zCOξCOψCOζCO]T来内部表示要计算的未知参数。位置/姿势计算单元120通过下式基于传感器测量值(M# WC和M# WO)计算要测量的物体170在照相机坐标系上的位置和姿势(M# CO):
M # CO = M # WC - 1 · M # WO - - - ( 15 )
单元120将其设置为s的初始值。此外,形成观测方程F′c()的公式(5)被修改为:
x C Q k n = R ( ω CO ) · x O Q k n + t CO - - - ( 16 )
另一方面,在后一种情况下,由表示摄像装置130在物体坐标系上的位置和姿势的六值矢量s=[tOC TωOC T]T=[xOC yOC zOCξOC ψOCζOC]T来内部表示要计算的未知参数。位置/姿势计算单元120通过下式基于传感器测量值(M# WC和M# WO)计算摄像装置130在物体坐标系上的位置和姿势(M# CO):
M # OC = M # WO - 1 · M # WC - - - ( 17 )
单元120将其设置为s的初始值。此外,将形成观测方程F′c()的公式(5)修改为:
x C Q k n = R ( ω OC ) - 1 · ( x O Q k n - t OC ) - - - ( 18 )
这样,使用要测量的物体170和摄像装置130之间的相对位置和姿势的关系作为未知参数可以校正传感器测得的位置和姿势的误差。
由于传统的位置/姿势测量设备不考虑指标的分布,所以当指标不均匀地分布在图像上的局部区域中并且在该区域中感测到该指标时,解变得不稳定。另一方面,根据本实施例的位置/姿势测量设备,由于在步骤S3033和步骤S3040、S3050以及S3060中考虑到指标的分布范围的大小来选择方法,所以即使当例如检测到大量指标时,如果它们不均匀地分布在图像上的小区域中时,可以判定这些指标不足以稳定地计算6自由度的位置和姿势。因此,即使当指标不均匀地分布在图像上的局部区域中并且在该区域中观测到该指标时,选择适当的位置/姿势推定方法,以降低获得不稳定的解的情况的可能性,并且与传统方法相比可以获得稳定的解。
根据本实施例的位置/姿势测量设备,当只选择形成摄像装置的位置和姿势的部分参数来校正传感器测量值时,可以在这种约束下进行将指标的误差总和最小化的校正。因此,即使当通过减少未知参数的数量来稳定地测量摄像装置的位置和姿势时,也可以实现具有比传统方法更高准确度的测量。
第二实施例
根据本实施例的位置/姿势测量设备测量任意测量对象物体在房间等中定义的基准坐标系上的位置和姿势。
根据本实施例的位置/姿势测量设备与第一实施例中的位置/姿势测量设备的不同之处在于,在摄像设备上没有安装位置/姿势传感器,使用三角架等以已知的位置和姿势固定摄像装置。下面只说明与第一实施例的不同之处。
图12是示出本实施例的位置/姿势测量设备的配置的框图。如图12所示,本实施例的位置/姿势测量设备1200包括图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1220,位置/姿势测量设备1200连接到摄像装置130和位置/姿势传感器140。
通过三角架1280将摄像装置130以已知的位置和姿势固定到空间中。将从摄像装置130输出的拍摄图像输入到位置/姿势测量设备1200的图像输入单元160中。假定摄像装置130在基准坐标系上的位置和姿势作为已知值预先保持。
传感器测量值输入单元150从位置/姿势传感器140接收要测量的物体170的位置和姿势的测量值,并将其输出到位置/姿势计算单元1220。
位置/姿势计算单元1220接收作为传感器测量值输入单元150的输出的要测量的物体170的位置和姿势的测量值、以及作为指标检测单元110的输出的各指标Qkn的图像坐标uQkn,基于输入信息校正要测量的物体170的位置和姿势的测量值的误差,并输出校正后的位置和姿势数据。
注意,图12中所示的图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1220中的至少一部分可以作为独立装置来实现,也可以通过将用于实现所述功能的软件程序安装在一个或多个计算机中并由每个计算机的CPU来执行它们,从而作为软件程序来实现。在本实施例中,假定各个单元(图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1220)由软件来实现并安装在单个计算机中。通过执行软件来实现各个单元的功能的计算机的基本配置与第一实施例中相同,避免其重复说明。
本实施例的位置/姿势计算单元1220的处理序列基本上与第一实施例中的位置/姿势计算单元120的处理序列(对应于图3中的流程图)相同。唯一的不同之处在于摄像装置130的位置和姿势不是作为测量值给出的,而是作为已知值预先保持的。位置/姿势计算单元1220将摄像装置130的位置和姿势的已知值设置为摄像装置130的位置和姿势的临时测量值,以通过与第一实施例中的步骤S3000~S3070相同的步骤来校正摄像装置130的位置和姿势的测量值。然后单元1220按第一实施例中的步骤S3080(公式(1))校正要测量的物体170的位置和姿势的测量值。在本实施例中,位置/姿势计算单元1220在步骤S3080中仅输出要测量的物体170的位置和姿势。
利用上述处理,测量测量对象物体的位置和姿势。如上所述,同样根据本实施例的位置/姿势测量设备,由于考虑到指标的分布范围的大小来选择方法,所以即使当指标不均匀地分布在图像上的局部区域中并且在该区域中观测到该指标时,也可以选择适当的位置/姿势推定方法,并且与传统方法相比较可以获得稳定的解。
注意,即使当将安装到测量对象物体上的传感器改变为姿势传感器时,也可以实现由固定在已知位置处的摄像装置测量任意测量对象物体的位置和姿势的方法。例如,当检测到的指标的分布小于阈值时,作为固定值使用姿势传感器的姿势测量值,并且只从指标的信息来推定位置。另一方面,当指标的分布等于或大于阈值时,从指标的信息来推定位置和姿势的六个参数。在此情况下,摄像装置的数量不限于一个,可以使用多个摄像装置。
第三实施例
根据本实施例的位置/姿势测量设备测量摄像装置在房间等的空间上的位置和姿势。下面说明根据本实施例的位置/姿势测量设备。
在本实施例中,不存在摄像装置以外的测量对象物体,并且与第一实施例中不同,根据本实施例的位置/姿势测量设备只测量摄像装置的位置和姿势。下面只说明与第一实施例的不同之处。
图13是示出本实施例的位置/姿势测量设备的配置的框图。如图13中所示,本实施例的位置/姿势测量设备1300包括图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1320,位置/姿势测量设备1300连接到摄像装置130和位置/姿势传感器140。
在现实空间上的多个位置处布置在基准坐标系上的位置已知的多个指标Qk作为要由摄像装置130拍摄的指标。指标Qk可以采用任何形式,只要可以检测它们的投影图像在拍摄图像上的图像坐标、并且每个指标可以由任意方法来识别即可。
传感器测量值输入单元150从位置/姿势传感器140接收摄像装置130的位置和姿势的测量值,并将其输出到位置/姿势计算单元1320。
位置/姿势计算单元1320接收作为传感器测量值输入单元150的输出的摄像装置130的位置和姿势的测量值、以及作为指标检测单元110的输出的各指标Qkn的图像坐标uQkn,校正摄像装置130的位置和姿势的测量值的误差,并输出校正后的位置和姿势数据。
注意,图13中所示的图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1320中的至少一部分可以作为独立装置来实现,也可以通过将用于实现所述功能的软件程序安装在一个或多个计算机中并由每个计算机的CPU执行它们,从而作为软件程序来实现。在本实施例中,假定各个单元(图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1320)由软件来实现并安装在单个计算机中。通过执行软件来实现各个单元的功能的计算机的基本配置与第一实施例中相同,不给出其重复说明。
由于本实施例中的位置/姿势计算单元1320的处理序列与第一实施例中的位置/姿势计算单元120的处理序列(对应于图3中的流程图)类似,所以以下参考图3只说明与第一实施例的不同之处。
在步骤S3005中,位置/姿势计算单元1320从传感器测量值输入单元150接收由传感器测得的摄像装置130的位置和姿势。
在步骤S3025中,位置/姿势计算单元1320对在步骤S3005中获得的摄像装置130的姿势的测量值的平转和倾斜角度施加校正,以消除检测到的指标的误差(指标在基准坐标系上的3D坐标xW Qkn、从摄像装置130的位置和姿势的测量值取得的投影坐标的理论值uQkn*以及实际检测的坐标uQkn之间的误差)。然后处理前进到步骤S3080。
由于可以使用已知的处理作为该校正处理,所以将不给出进一步的说明。更具体来说,可以使用例如专利文献1中公开的方法(使用一个标志通过转动照相机的校正方法(“0019”段至“0029”段)以及使用多个标志通过转动照相机的校正方法(“0039”段至“0050”段))。
在步骤S3035中,位置/姿势计算单元1320对表示摄像装置130的姿势的测量值的三个参数(平转、倾斜和旋转角)进行校正,以将所有检测到的指标的误差的总和最小化,同时将在步骤S3005中获得的摄像装置130的位置测量值设定为固定值。然后处理前进到步骤S3080。该校正处理步骤与第一实施例中的步骤S3035(对应于图4的流程图)中的处理相同。然而,在本实施例的情况下,指标的观测方程F″c()表示用于从指标Qkn在基准坐标系上的坐标xW Qkn(预先作为已知信息保持)计算图像坐标的函数。即,观测方程F″c()为:
u Q k n * = F C ′ ′ ( x W Q k n , s ) - - - ( 19 )
更具体来说,由用于从xW Qkn和s计算关注指标的照相机坐标xC Qkn、由下式给出的公式:
x C Q k n = R ( ω WC ) - 1 · ( x W Q k n - t WC ) - - - ( 20 )
和用于从照相机坐标xC Qkn计算图像坐标uQkn*的公式(6)来配置观测方程F″c()。应当注意,twc是代表摄像装置130的位置测量值3D矢量,在该公式中作为固定值来处理twc
在步骤S3070中,位置/姿势计算单元1320计算摄像装置130的位置和姿势以将所有检测到的指标的误差的总和最小化。由于例如可以使用专利文献2中公开的现有技术来来实现该处理步骤的详细处理,所以将不给出其说明。
在步骤S3080中,位置/姿势计算单元1320经由I/F 1009向外部输出作为直到S3070的结果获得的摄像装置130的位置和姿势。作为选择,单元1320通过其它应用程序将这些数据转换为可使用的状态之后,将它们存储在RAM 1002中。
利用上述处理,测量了摄像装置的位置和姿势。如上所述,同样根据本实施例的位置/姿势测量设备,由于考虑到指标的分布范围的大小来选择方法,所以即使当指标被不均匀被分布并且在图像上的局部区域中被观测到时,也可以选择适当的微行子/姿势推定方法,并且与传统方法相比较可以获得稳定的解。
第四实施例
根据本实施例的位置/姿势测量设备测量任意测量对象物体在房间等空间上的位置和姿势。下面说明根据本实施例的位置/姿势测量设备。在本实施例中,与第三实施例中不同,代替摄像装置测量任意测量对象物体的位置和姿势。下面只说明与第三实施例的不同之处。
图1 4是示出根据本实施例的位置/姿势测量设备的配置的框图。如图14中所示,本实施例的位置/姿势测量设备1400包括图像输入单元160、指标检测单元110、传感器测量值输入单元150、摄像单元1430、位置/姿势测量单元1440、位置/姿势计算单元1420,并且连接到要测量的物体1470。
摄像单元1430被固定并安装到作为要测量其位置和姿势的物体的要测量的物体1470上,并拍摄包括指标的现实空间的视频。
位置/姿势测量单元1440被固定并安装到摄像单元1430上,测量摄像单元1430在基准坐标系上的位置和姿势,并将其输出到传感器测量值输入单元150。位置/姿势测量单元1440包括例如可以从美国Polhemus得到的FASTRAK等。
图像输入单元160将摄像单元1430拍摄的拍摄图像转换为数字数据,并将该数字数据输出到指标检测单元110。
传感器测量值输入单元150从位置/姿势测量单元1440接收摄像单元1430的位置和姿势的测量值,并将其输出到位置/姿势计算单元1420。
位置/姿势计算单元1420接收作为传感器测量值输入单元150的输出的摄像单元1430的位置和姿势的测量值、和作为指标检测单元110的输出的各指标Qkn的图像坐标uQkn,并校正摄像单元1430的位置和姿势的测量值的误差。
位置/姿势计算单元1420还根据所获得的摄像单元1430的位置和姿势、关于摄像单元1430和要测量的物体1470之间的相对位置/姿势关系的信息(更具体来说,表示摄像单元1430在要测量的物体1470上设置的位置的信息;该信息由摄像单元1430在由要测量的物体1470定义的物体坐标系上的位置和姿势来表示)来计算要测量的物体1470在基准坐标系上的位置和姿势。然后,单元1420经由I/F 1009向外部输出计算后的数据。作为选择,单元1420通过其它应用程序将该数据转换为可以使用的状态之后将其存储在RAM 1002中。注意,该转换处理不是总是需要的,可以原样输出摄像单元1430的位置和姿势。
在本实施例中,位置/姿势测量单元1440测量摄像单元1430的位置和姿势。作为选择,可以配置位置/姿势测量单元1440以测量要测量的物体1470的位置和姿势。在此情况下,位置/姿势计算单元1420使用作为已知值保持的摄像单元1430和要测量的物体1470之间的相对位置/姿势关系,根据作为测量值获得的要测量的物体1470的位置和姿势来计算摄像单元1430的位置和姿势,并使用该值作为初始值执行与上述相同的处理。
位置/姿势计算单元1420校正摄像单元1430的姿势或位置和姿势,然后在步骤S3025、S3035、以及S3070中的任何一个中计算要测量的物体1470的位置和姿势。然而,可以配置位置/姿势计算单元1420以在步骤S3035和S3070中直接计算要测量的物体1470的位置和姿势。
当位置/姿势测量单元1440测量摄像单元1430的位置和姿势时,位置/姿势计算单元1420使用作为已知值预先保持的摄像单元1430和要测量的物体1470之间的相对位置/姿势关系,根据作为测量值获得的摄像单元1430的位置和姿势来计算要测量的物体1470的位置和姿势,并使用它们作为初始值。
在步骤S3035中,位置/姿势计算单元1420作为未知参数设置表示要测量的物体1470的姿势的三值矢量s=ωWO=[ξWOψWOζWO]T。在步骤S3070中,位置/姿势计算单元1420作为未知参数设置表示要测量的物体1470的位置和姿势的六值矢量s=[tWO TωWO T]T=[xWO yWO zWOξWOψWOζWO]T。此外,单元1420将定义观测方程F″c()所需的公式(20)修改为:
x C Q k n = R OC - 1 · ( R ( ω WO ) - 1 · ( x W Q k n - t WO ) - t OC ) - - - ( 21 )
其中,tOC和ROC是表示摄像装置1430在由要测量的物体170定义的物体坐标系上的姿势的3×3旋转矩阵和表示姿势的3D矢量,并且作为表示摄像装置1430和要测量的物体1470之间的相对位置/姿势关系的已知值预先保持。注意,在步骤S3035中将tWO设置为固定值。
利用上述处理,测量了任意物体的位置和姿势。如上所述,同样根据本实施例的位置/姿势测量设备,由于考虑到指标分布范围的大小来选择方法,所以即使当指标被不均匀地分布并且在图像上的局部区域中被观测到,与传统方法相比,也可以获得稳定的解。
第五实施例
根据本实施例的位置/姿势测量设备测量摄像装置在房间等空间上的位置和姿势。下面说明根据本实施例的位置/姿势测量设备。
图15是示出本实施例的位置/姿势测量设备的配置的框图。如图15中所示,本实施例的位置/姿势测量设备1500包括包括图像输入单元160、指标检测单元110、传感器测量值输入单元1550、以及位置/姿势计算单元1520,并连接到摄像装置130和姿势传感器1540。
在本实施例中,与第三实施例中不同,姿势传感器代替位置/姿势传感器安装到摄像装置130。使用姿势传感器可以避免使用位置/姿势时施加的约束以及传感器测量范围以外的区域不能被测量的约束。下面只说明与第三实施例的不同之处。
姿势传感器1540安装到摄像装置130,测量姿势传感器1540本身的当前姿势,并将其输出到传感器测量值输入单元1550。姿势传感器1540是基于例如陀螺仪传感器和加速传感器的传感器单元,包括从TOKIMEC可以获得的TISS-5-40、从美国InterSense可以获得的InertiaCube2等。由于这些传感器中每一个所测量的姿势测量值是作为对惯性测量值进行时间积分而获得的值的测量值,所以其具有不同于真实姿势的误差。然而,由于这些姿势传感器通过内部加速传感器观测地球重力的方向,所以它们具有消除倾斜角方向(螺距角和横摇角)中漂移误差累积的功能。因此,这些传感器具有在倾斜角度方向上不出现漂移误差的本性。换句话说,这些传感器具有随着时间的推移在方位方向(偏航角方向)上累积的漂移误差。
传感器测量值输入单元1550从位置/姿势计算单元1520接收方位漂移误差校正值的更新值,并更新和保持姿势传感器1540的当前方位漂移误差校正值。此外,单元1550从姿势传感器1540接收姿势测量值,通过当前的方位漂移误差校正值来校正该姿势测量值,并将校正后的值输出到位置/姿势计算单元1520作为摄像装置130的姿势的预测值。
位置/姿势计算单元1520作为输入值接收作为传感器测量值输入单元1550的输出的摄像装置130的姿势的预测值、作为指标检测单元110的输出的各指标Qkn的图像坐标uQkn,并计算和输出摄像装置130的位置和姿势。此外,单元1520将位置和姿势计算步骤中得出的姿势传感器1540的方位漂移误差校正值的更新值输出到传感器测量值输入单元1550。
注意,图15中所示的图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1520中的至少一些可以作为独立装置来实施,也可以作为通过将软件程序安装在一个或多个计算机中并由每个计算机的CPU执行它们来实现上述功能的软件程序来实施。在本实施例中,假定各单元(图像输入单元160、指标检测单元110、传感器测量值输入单元150、以及位置/姿势计算单元1520)由软件来实现并安装在单个计算机中。通过执行软件来实现各单元的功能的计算机的基本配置与第一实施例中的相同,并取消其重复说明。
图16是示出用于计算表示摄像装置130的位置和姿势的参数的处理的流程图。当CPU 1001执行位置/姿势计算单元1520的软件程序时执行该处理。
在步骤S15000中,位置/姿势计算单元1520从指标提取单元110接收检测到的指标Qkn的图像坐标uQkn和它们的标识符kn。假定各指标在基准坐标系上的3D坐标xQkn作为已知值预先加载到RAM 1002上。
在步骤S15005中,位置/姿势计算单元1520从传感器测量值输入单元1550接收摄像装置130的姿势的预测值R*,并将其设置为摄像装置130的姿势的初始值。在第二或随后的处理中,单元1520将紧前一循环的处理中计算出的摄像装置130的位置设置为摄像装置130的姿势的初始值。
在步骤S15010中,位置/姿势计算单元1520检查是否检测到指标。如果没有检测到指标,择处理跳至步骤S15090;否则,处理前进至步骤S15020。
在步骤S15020中,位置/姿势计算单元1520检查检测到的指标的总数是否为一个。如果指标的总数是一个,则处理前进至步骤S15025;否则,处理前进至步骤S15030。
在步骤S15025中,位置/姿势计算单元1520对作为校正对象的垂直于步骤S15005中设置的初始值的平移成分的视轴的两个轴方向上的值进行校正以消除检测到的指标上的误差。然后处理前进到步骤S15090。由于可以提供已知的处理作为步骤S15025中的处理步骤,所以不给出进一步的说明。更具体来说,可以使用例如专利文献1中公开的方法(使用一个标志借助于照相机的平移的校正方法(“0030”段至“0036”段)以及使用多个标志借助于照相机的平移的校正方法(“0051”段至“0056”段))。注意,专利文献1说明了这样的情况:六自由度位置/姿势传感器的测量值被用作要进行误差校正的对象。然而,在本实施例中,与专利文献1中不同,在上述构架中计算的位置与姿势传感器的测量值的组合被用作校正对象。
在步骤S15030中,位置/姿势计算单元1520检查检测到的指标的总数是否为两个。如果指标的总数是两个,则处理前进到步骤S15032;否则,处理前进到步骤S15040。
在步骤S15032中,位置/姿势计算单元1520计算图像上两个检测到的指标之间的距离,并比较计算后的值与作为预定值定义的阈值T1(例如,图像对角线长度的1/8)。如果该距离等于或大于阈值T1,则处理前进到步骤S15034;否则,处理前进到步骤S15025。
在步骤S15034中,位置/姿势计算单元1520比较图像上两个检测到的指标之间的距离与作为预定值定义的阈值T2(例如,图像对角线长度的1/4)。如果该距离等于或大于阈值T2,则处理前进到步骤S15038;否则,处理前进到步骤S15036。
在步骤S15036中,位置/姿势计算单元1520只对位置的参数进行使检测到的指标的误差最小化的校正,使代表步骤S15005中设置的初始值的位置的三个参数(平移成分)作为更新目标(即,在姿势测量值不包括任何误差的假定下)。然后,处理前进到步骤S15090。由于该处理步骤的细节在例如专利文献3(第六实施例)中进行了说明,因此取消其重复说明。作为选择,可以配置包括作为未知变量的、表示位置的三个参数的观测方程,并且使用图像雅克比进行误差最小化计算,这样也可以在将图像上的误差最小化的同时校正位置。
在步骤S15038中,位置/姿势计算单元1520处理作为要计算的未知参数的、表示步骤S15005中设置的初始值的位置的三个参数(平移成分)和总数传感器1340的方位漂移误差校正值的更新值φ的总共四个参数,并使用检测到的指标的信息计算它们。由于该处理步骤的细节在例如专利文献3(第七实施例)中进行了说明,因此取消其重复说明。作为选择,可以配置包括作为未知变量的、包括这四个参数的观测方程,并且使用图像雅克比进行误差最小化计算,这样也可以在将图像上的误差最小化的同时计算位置和方位漂移误差校正值的更新值。然后,处理前进到步骤S15080。
仅当检测到的指标的总数为三个或更多时才执行步骤S15040。在该步骤中,作为与所有检测到的指标的分布范围相关的评价值的例子,位置/姿势计算单元1520计算包括所有检测到的指标的图像坐标的凸包。
在步骤S15050中,位置/姿势计算单元1520比较在步骤S15040中计算出的凸包的面积与作为预定值定义的阈值T3(例如,整个拍摄图像的面积的1/16)。如果该面积等于或大于阈值T3,则处理前进到步骤S15060;否则,处理前进到步骤S15036以执行上述处理。
在步骤S15060中,位置/姿势计算单元1520在步骤S15040中计算出的凸包的面积与作为预定值定义的阈值T4。如果该面积等于或大于阈值T3(例如,整个拍摄图像的面积的1/9),则处理前进到步骤S15070;否则,处理前进到步骤S15038以执行上述处理。
在步骤S15070中,位置/姿势计算单元1520计算摄像装置130的位置和姿势以将所有检测到的指标的误差的总和最小化。通过计算参数来执行该计算,该计算是使用在步骤S15005中设置的初始值通过非线性方程的迭代解法使误差最小化,表示摄像装置130的位置和姿势的六个参数作为变量。即,配置包括作为未知变量的、表示位置和姿势的六个参数的观测方程,并使用基于该方程算出的指标投影位置的误差以及与该参数相关的图像雅克比来计算每个参数的校正值,由此通过重复校正处理来计算使图像上的误差最小化的位置和姿势。
位置/姿势计算单元1520进一步计算在步骤S15005中设置的姿势的初始值与计算后的姿势之间的变化,并将其方位成分设置为方位漂移误差校正值的更新值φ。
在步骤S15080中,位置/姿势计算单元1520将在步骤S15038或S15070中获得的方位漂移误差校正值的更新值φ输出到传感器测量值输入单元1550。
在步骤S15090,位置/姿势计算单元1520经由I/F 1009向外部输出作为直到步骤S15080的结果获得的摄像装置130的位置和姿势。作为选择,单元1520通过其它应用程序将这些数据转换成可使用的状态后将这些数据存储在RAM 1002上。
在步骤S15100中,位置/姿势计算单元1520检查该处理是否结束。如果该处理没有结束,则处理返回到步骤S15000。
利用上述处理,可以测量摄像装置的位置和姿势。
根据本实施例的位置/姿势测量设备,由于在步骤S15034和S15050中考虑指标分布范围的大小(即,检查是否更新方位漂移误差校正值)来选择方法,所以当指标被不均匀分布并且在图像上的局部区域中被观测到时,可以消除不准确地更新方位漂移误差校正值的情况。
根据本实施例的位置/姿势测量设备,除了第三实施例中的效果以外,通过在步骤S15060中选择方法,即使当图像信息不足时,通过姿势传感器信赖倾斜角度信息,从而可以稳定地得出位置和姿势。另外,当获得了足够的图像信息时,可以高精确度地推定位置和姿势。这样,可以同时实现基于通常图像信息的位置/姿势推定方法的优点。
第一~第五实施例的变形例
变形例1
在上述实施例的每一个中,基于指标在图像上的分布来选择要应用的校正算法。这些算法(第一实施例中的步骤S3025、S3035、S3070,第二至第四实施例中的这些步骤的修改、以及第五实施例中的步骤S15025、S15038、以及S15070)不局限于上述实施例中所公开的算法,可以由其它校正算法来替换这些算法,只要根据依照指标的分布假定的图像信息的信息大小来适当设置这些方法即可。
例如,在第一至第四实施例中的步骤S3025或S3035中,可以校正位置的测量值而不是姿势的测量值。在此情况下,在步骤S3025中,如专利文献1的“0030”段至“0036”段和“0051”段至“0056”段中所公开的,位置/姿势计算单元可以对基于使用一个或多个指标借助于照相机的平移的校正方法对垂直于位置测量值的照相机的视轴的两个轴方向上的值施加校正以消除检测到的指标上的误差。
在步骤S3035中,位置/姿势计算单元以与图5中相同的处理序列校正作为要计算的未知参数的、具有三值矢量s=tWC=[xWC yWC zWC]T的位置。与第一实施例中不同,配置观测方程的公式(5)被修改为:
x C Q k n = R WC - 1 · ( R WO · x O Q k n + t WO - t WC ) - - - ( 22 )
其中,RWC是作为固定值的由传感器测得的摄像装置130的姿势测量值。此外,RWO和tWO是作为固定值来处理的、如第一实施例中公式(5)的要测量的物体170的位置和姿势的传感器测量值。
由于公式(22)是线性方程,所以由与公式(6)组合的观测方程形成联立方程,并求解该联立方程,从而不使用迭代操作而获得校正值。
注意,可以允许用户自由选择以通过UI(未示出)向姿势或位置的校正赋予优先级。在此情况下,在执行步骤S3025和S3035时,根据用户的选择执行姿势或位置校正算法。在此情况下,即使当使用具有不同特征的位置/姿势传感器,也可以进行更优化的测量。
在步骤S3025中,位置/姿势计算单元可以从作为测量值获得的六个参数中选择任意两个作为校正目标,并且可以以与上述方法相同的方式使用这些参数作为未知数进行计算。在步骤S3035中,位置/姿势计算单元同样可以从作为测量值获得的六个参数中选择任意三个作为校正目标,并且可以通过以与上述方法中相同的构架使用这些参数作为未知数来行进计算。
变形例2
在第一至第四实施例中,基于对指标在图像上的分布的测量,处理分支到三个不同的算法(步骤S3033、S3050、S3060)。然而,基于指标分布的测量进行分支的数量不限于三个。例如,可以省略步骤S3050中的处理,并且基于阈值T3与凸包面积之间的大小关系,处理可以分支到步骤S3035或S3070。作为选择,可以设置更多数量的阈值,并且处理可以分支到四个或更多个路线。例如,可以根据凸包的面积改变要校正的参数的数量(2至6个),并且可以通过相同的方法将位置和姿势作为未知数进行计算。
变形例3
在上述实施例的每一个中,使用位置/姿势传感器或姿势传感器的测量值计算测量对象(测量对象物体或摄像装置)的位置或姿势,并通过摄像装置一起拍摄图像信息。然而,基于指标在图像上的分布选择用于计算位置和姿势的算法的基本技术思想也可以应用到仅根据图像信息而不使用这些传感器的测量值的计算测量对象的位置和姿势的情况。
例如,下面考虑这样的情况:位置/姿势测量设备1300不具有传感器测量值输入单元150,位置/姿势传感器140不安装到图13所示的第三实施例的配置中的摄像装置130上。在此情况下,假定位置/姿势计算单元1320使用在前一帧中计算出的位置和姿势(或者从前一计算值中预测的当前帧中的位置和姿势)的计算值作为初始值,而不是使用位置/姿势传感器140对摄像装置130的位置和姿势的测量值,它执行与图3中相同的处理,将这些值作为临时测量值,从而根据指标的分布选择位置和姿势的适当计算算法。
变形例4
在上述每一个实施例中,当检测到三个或更多个指标时,计算由这些指标定义的凸包,并将其面积作为用于评价指标分布的评价值。然而,评价指标分布时使用的测量不局限于此,还可以使用其它测量。例如,选择位于距离图像中心最远处的指标作为第一指标,选择位于距离第一指标最远处的指标作为第二指标,选择距离第一和第二指标的连线最远的指标作为第三指标。然后,使用由第一、第二、第三指标形成的三角形的面积代替凸包的面积作为分布的测量。更简单地,可以使用该第一和第二指标之间的距离作为分布的测量,还可以使用表示分布的任意信息,例如作为指标的图像坐标的方差、标准偏差等的数字值,作为分布的测量。
作为使用其它指标的图像坐标的方差的实际方法,可以考虑使用指标的图像坐标的协方差的方法。即,该方法计算检测到的指标的方差-协方差矩阵,并使用其特征值(该值对应于主要成分分析中的主要成分的方差)。在此情况下,使用第二特征值作为测量值,可以推定指标在图像上的展开。使用第一特征值作为测量值也可以推定图像的线性展开。
此外,可以使用凸包面积以外的特征量,例如凸包的周长等。还可以使用从所有检测到的指标的外接四边形、外接圆等获得的特征量。可以使用指标的图像坐标的矩(moments)的分析值(例如,惯性等效椭圆的长轴和短轴)等。当使用单个多边形指标时,可以原样使用检测到该指标时获得的指标区域的面积。
代替直接测量检测到的指标的分布,可以基于任意信息来推定指标分布的大小。例如,可以基于从前一帧获得的照相机或物体的位置和坐标的推定值(初始值)或来自传感器的信息来计算图像上要观测的指标的坐标以获得指标的计算分布。此外,可以基于检测到的指标的外观大小等来近似推定到指标的距离,并且可以基于这些距离来推定分布。
变形例5
如图4中的步骤S4040中所详细说明的,在第一实施例的步骤S3035中,由公式(11)说明的方法被用于基于误差矢量U和矩阵Θ来计算校正值Δs。此外,使用作为结果的Δs,通过用s+Δs代替s的牛顿方法来计算s。例如,然而,计算s的方法不局限于该牛顿方法。例如,可以使用作为已知的非线性方程的迭代解法的例如LM方法(Levenberg-Marquardt方法)来计算s,也可以结合作为已知的鲁棒评价方法的M评价等统计方法。因此,即使当应用任何其它数字计算方法时也不会削弱本发明的要旨。在上述实施例中通过将s定义为状态矢量并将公式(4)定义为观测方程,可以配置具有使用图像雅克比只校正位置/姿势传感器的测量值的部分参数的效果的扩展卡尔曼过滤器(ExtendedKalman Filter)或者迭代扩展卡尔曼过滤器。由于如非专利文献2中所述,扩展卡尔曼过滤器和迭代扩展卡尔曼过滤器对本领域的技术人员来说是已知的,所以不给出关于它们的细节的进一步说明。
变形例6
在上述每一个实施例中,使用了每个代表一个坐标位置的指标(在下文中称为点指标)。然而,可以使用点指标以外的指标。例如,可以使用在已知的位置/姿势测量设备(例如,参见非专利文献3)中所使用的由线特征配置的指标(在下文中称为线指标)。例如,当使用从原点到线指标的距离作为基于s的评价和推定值的标准,通过从图像的检测值计算出的误差配置误差矢量U,并且通过由利用s的元素对观测方程进行偏微分而获得的解作为元素的1行×6列的雅克比矩阵配置矩阵Θ时,可以如上述实施例中那样测量(校正)位置和姿势。通过累积从线指标、点指标和其它指标获得的误差以及图像雅克比,可以一起使用这些特征。
变形例7
在上述每个实施例中,根据指标关于图像面积的分布来选择随后的处理。然而,也可以使用与测量对象物体的相对比作为测量值。例如,在第一实施例中,在步骤S3040中,处理由所有检测到的指标形成的凸包的面积SH以外,位置/姿势计算单元还计算要测量的物体(假定存储了代表物体170的大致形状的3D数据)在图像上的投影图像的面积SO,并获得它们的比(SH/SO)。然后,可以使用针对该比适当设置的阈值来执行步骤S3050和S3060中的条件分支。
可以使用指标在现实空间上而不是在图像上的分布作为测量值。例如,在第一实施例中,在步骤S3040中,位置/姿势计算单元计算由所有检测到的指标在物体坐标系上的3D坐标形成的3D凸包,计算其体积VH,并获得与要测量的物体170的体积VO的比(VH/VO)。然后,可以使用针对该比适当设置的阈值来执行步骤S3050和S3060中的条件分支。此外,计算由在物体坐标系上相互距离最远的三个检测到的指标形成的三角形的面积,计算与要测量的物体170的大小的比(例如,由外接矩形平行六面体的两个最长的边形成的矩形的面积),并且可以使用该比作为测量值。
第六实施例
在第一至第五实施例中,根据指标的分布选择用于计算位置和姿势的一些方法中的一个。本实施例通过不同于选择一种方法的方法考虑到指标的分布来实现位置和姿势的稳定测量。
根据本实施例的位置/姿势测量设备象第一实施例中那样测量摄像装置和测量对象物体的位置和姿势。下面说明根据本实施例的位置/姿势测量设备和位置/姿势测量方法。
除了位置/姿势计算单元120的内部操作以外,根据本实施例的位置/姿势测量设备的配置与第一实施例中的基本相同。因此,以下只说明本实施例的位置/姿势计算单元与第一实施例不同的操作。
图17是示出本实施例的位置/姿势计算单元1720的处理序列的流程图。在本实施例中,当CPU执行用于实现位置/姿势计算单元1720的功能的程序时执行以下序列。
在步骤S17000中,位置/姿势计算单元1720从指标提取单元110接收检测到的指标Qkn的图像坐标uQkn和它们的标识符kn。假定各指标在物体坐标系上的3D坐标xO Qkn作为已知值被预先加载到RAM 1002上。
在步骤S17005中,位置/姿势计算单元1720从传感器测量值输入单元150接收摄像装置130和要测量的物体170的位置和姿势的传感器测量值。在以下说明中,摄像装置130的位置测量值由三值矢量t# WC表示,其位置测量值由3×3旋转矩阵R# WC表示。
在步骤S17010中,位置/姿势计算单元1720检查是否检测到指标。如果没有检测到指标(N=0),则处理跳至步骤S17120;否则(N≥1),处理前进至步骤S17020。
在步骤S17020中,位置/姿势计算单元1720检查检测到的指标的总数是否为一个。如果指标的总数是一个,则处理前进至步骤S17025;否则,处理前进至步骤S17030。
在步骤S17025中,位置/姿势计算单元1720对摄像装置130的姿势测量值的两个参数(平转和倾斜角)施加校正以消除检测到的指标上的误差。然后处理跳至步骤S17120。由于步骤S17025中的校正处理与第一实施例中的步骤S305中的相同,所以不给出其详细说明。
在步骤S17030中,位置/姿势计算单元1720计算用于对摄像装置130的姿势测量值的三个参数(平转、倾斜和旋转角度)施加校正的校正矩阵ΔRWC_1,从而消除检测到的指标上的误差。首先,单元1720通过与第一实施例中的步骤S3035相同的方法校正姿势的三个参数以获得摄像装置的校正后的姿势RWC_1。然后,单元1720基于所获得的RWC_1和传感器测得的姿势测量值R# WC通过下式计算ΔRWC_1
Δ R WC _ 1 = R WC _ 1 · R WC # - 1 - - - ( 23 )
尽管在步骤S17030中没有校正位置,但是为了说明方便,用三值矢量ΔtWC_1描述位置的校正值。然后,我们有ΔtWC_1=[000]T
在步骤S17040中,位置/姿势计算单元1720检查检测到的指标的总数N是否为2个。如果指标的总数N是2个,则处理前进至步骤S17043;否则,处理前进至步骤S17050。
在步骤S17043中,位置/姿势计算单元1720计算用于对摄像装置130的姿势测量值的两个参数(平转和倾斜角度)施加校正的校正矩阵ΔRWC_2,从而消除检测到的指标上的误差。首先,单元1720通过与步骤S17025相同的方法校正姿势以获得摄像装置的校正后的姿势RWC_2。然后,单元1720基于获得的RWC_2和姿势测量值R# WC以与公式(23)相同的方式计算ΔRWC_2
在步骤S17047中,位置/姿势计算单元1720通过组合两个姿势校正值(校正矩阵ΔRWC_1和ΔRWC_2)计算实际要施加的姿势校正值(校正矩阵ΔRWC)。由于没有校正位置,所以位置的校正矩阵ΔtWC等于[000]T。然后处理前进至步骤S17111。
下面说明步骤S17047中姿势校正值的组合处理的细节。位置/姿势计算单元1720通过下式根据两个检测到的指标之间的距离dist确定两个校正值的权重w1
w 1 = 0 dist &le; T 1 min dist - T 1 min T 1 max - T 1 min T 1 min < dist < 1 T 1 max &le; dist T 1 max - - - ( 24 )
其中,T1 min和T1 max是用于标准化指标之间的距离的参数,并且事先设置适当的值。图18示出由公式(24)获得的权重w1和dist之间的关系。
接下来,位置/姿势计算单元1720获得校正矩阵ΔRWC_1和ΔRWC_2的姿势成分作为四元素表达式(由四值矢量ΔHWC_1和ΔHWC_2表示),并通过下式计算它们的权重和ΔHWC
ΔHWC=(1-w1)ΔHWC_2+w1ΔHWC_1    (25)
位置/姿势计算单元1720将所获得的权重和ΔHWC转换为ΔRWC作为旋转矩阵表达式。由于旋转矩阵和作为四元素的权重和之间的相互转换方法是计算机图形学等领域中的基本点,所以将不给出其详细说明。
当权重w1=0时,公式(25)选择两个参数的校正,当权重w1=1时,公式(25)选择三个参数的校正。当权重w1范围从0到1时,根据权重w1的大小生成两个参数的校正和三个参数的校正之间的中间转换矩阵。
下面说明步骤S17040中N≠2的情况,即检测到三个或更多个指标。在步骤S17050中,位置/姿势计算单元1720计算包括所有检测到的指标的图像坐标的凸包。
在步骤S17060中,位置/姿势计算单元1720比较在步骤S17050中计算出的凸包的面积A和作为预定值定义的阈值T4(例如,整个拍摄图像的面积的1/12)。如果面积A等于或大于阈值T4,则处理前进至步骤S17090;否则,处理前进至步骤S17070。注意,阈值T4可以采用任何值,只要它对于稍后说明的两个参数T2 max和T3 min满足T2 max≤T4≤T3 min即可。
在步骤S17070中,如步骤S17043中那样,位置/姿势计算单元1720计算用于对摄像装置130的姿势测量值的平转和倾斜角施加校正的校正矩阵ΔRWC_2
在步骤S17080中,如步骤S17047中那样,位置/姿势计算单元1720通过组合两个校正矩阵ΔRWC_1和ΔRWC_2来计算校正矩阵ΔRWC。然后处理前进至步骤S17110。注意,在步骤S17080中,单元1720通过下式根据步骤S17050中计算出的凸包的面积A而不是根据指标之间的距离dist来确定权重w1
w 1 = 0 A &le; T 2 min A - T 2 min T 2 max - T 2 min T 2 min < A < T 2 max 1 T 2 max &le; A - - - ( 26 )
其中,T2 min和T2 max是用于标准化凸包的面积的参数,并且设置满足T2 max≤T4的适当值。
在步骤S17090中,位置/姿势计算单元1720计算摄像装置130的位置和姿势的校正值以将所有检测到的指标上的误差最小化。注意,位置的校正值由三值矢量ΔtWC_3表示,姿势的校正值由3×3旋转矩阵ΔRWC_3表示。首先,单元1720通过与第一实施例中的步骤S3070相同的方法校正摄像装置的位置和姿势,以获得摄像装置的校正后的位置tWC_3和姿势RWC_3。然后,单元1720基于所获得的RWC_3和传感器测得得姿势测量值R# WC按公式(23)计算ΔRWC_3。此外,单元1720通过下式,基于所获得的tWC_3和位置测量值t# WC计算ΔtWC_3
&Delta; t WC _ 3 = t WC _ 3 - t WC # - - - ( 27 )
在步骤S17100中,位置/姿势计算单元1720通过组合两对校正值(ΔRWC_1和ΔtWC_1,以及ΔRWC_3和ΔtWC_3)来计算实际对传感器测量值施加的校正值。然后处理前进至步骤S17110。
下面说明步骤S17100中的处理细节。位置/姿势计算单元1720通过下式根据步骤S17050中计算出的凸包的面积A来确定权重w2
w 2 = 0 A &le; T 3 min A - T 3 min T 3 max - T 3 min T 3 min < A < T 3 max 1 T 3 max &le; A - - - ( 28 )
其中,T2 min和T2 max是用于标准化凸包面积的参数,预先设置适当值以满足T4≤T3 min。图19示出凸包的面积A和通过公式(26)和(28)获得的权重w1和w2之间的关系。
接下来,位置/姿势计算单元1720针对每个位置和姿势计算两个校正值的权重和。对于姿势,单元1720获得校正矩阵ΔRWC_1和ΔRWC_3的姿势成分作为四值表达式(由四值矢量ΔHWC_1和ΔHWC_3表示),并通过下式计算它们的权重和ΔHWC
ΔHWC=(1-w2)ΔHWC_1+w2ΔHWC_3    (29)
位置/姿势计算单元1720将所获得的权重和ΔHWC转换为ΔRWC作为旋转矩阵。另一方面,对于位置的校正值,单元1720通过下式直接计算两个矢量的权重和ΔTWC
ΔtWC=(1-w2)ΔtWC_1+w2ΔtWC_3    (30)
如上所述,ΔtWC_1=[000]T。因此,当权重W2=0时,公式(29)和(30)只选择姿势的三个值的校正,当权重W2=1时,通过添加位置的三个值来选择六个自由度的校正。
在步骤S17110中,位置/姿势计算单元1720通过下面的公式(31)和(32)对摄像装置的位置和姿势的传感器测量值施加校正以获得校正后的位置tWC和姿势RWC
R WC = &Delta; R WC &CenterDot; R WC # - - - ( 31 )
t WC = &Delta; t WC + t WC # - - - ( 32 )
在步骤S17120中,位置/姿势计算单元1720经由I/F 1009向外部输出所获得的表示摄像装置130和要测量的物体170的位置和姿势的数据。作为选择,单元1720通过其它应用程序将这些数据转换为可使用状态后将它们存储在RAM 1002中。
注意,可以象第一实施例中那样校正和输出要测量的物体170的位置和姿势的测量值。可以计算和输出要测量的物体在照相机坐标系上的位置和姿势。还可以计算和输出摄像装置130在物体坐标系上的位置和姿势。
在步骤S1720中,位置/姿势计算单元1720检查处理是否结束。如果处理没有结束,则处理返回到步骤S17000。
利用上述处理,测量了摄像装置的位置和姿势。
在本实施例中,根据检测到的指标的分布条件改变多个校正方法的使用比。因此,  当检测到的指标在时间序列图像上的分布逐渐改变时,多个方法对评价值或校正值的影响程度逐渐改变,并无缝地切换这些方法。因此,与通过阈值处理完全切换方法的第一实施例相比,在时间轴上的平滑方面,本实施例具有优势。
在本实施例中,结合了重点放在图像上的方法和重点放在传感器测量值上的方法。结果,图像信息对推定的位置和姿势的影响程度(贡献程度)根据检测到的指标的分布而改变。更具体来说,可以获得以下效果:当获得了足够的图像信息时,优先使用图像信息;否则,图像信息的影响程度降低。
注意,在上述实施例中,总是通过权重值W独立的两种方法,即权重w1和w2,来计算校正值。然而,首先计算权重w,当其值为0或1时,可以跳过其权重值为零的校正值的计算处理。可以减少当权重=0或1时的计算量。
在上述说明中,通过两种方法获得的校正值(校正矢量和校正矩阵)的权重和可以被计算并添加到传感器测量值。然而,通过计算由两种方法获得的位置和姿势本身的位置和姿势的权重和也可以获得相同的效果。以这种方式,在步骤S17047中,单元1720按照公式(25)计算在步骤S17030中算出的姿势RWC_1和在步骤S17043中算出的姿势RWC_2的权重和。在步骤S17070中,单元1720按照公式(25)计算在步骤S17030中算出的姿势RWC_1和在步骤S17070中算出的姿势RWC_2的权重和。在步骤S17100中,单元1720按照公式(29)和(30)计算在步骤S17030中算出的姿势RWC_1和位置t# WC与在步骤S17090中算出的姿势RWC_3和位置tWC_3的权重和。然后,单元1720输出所获得的位置和姿势作为权重和的结果而不执行步骤S17110。
本实施例中所述的技术思想的要旨是根据检测到的指标的分布组合通过多个方法获得的解。因此,在第二至第五实施例中,通过对两个结果的权重和根据指标的分布改变方法的选择步骤,可以配置具有与第一实施例相同效果的位置/姿势测量设备。
例如,下面将要说明将本实施例的思想应用到第五实施例的情况。例如,执行步骤S15070和S15038二者的处理,以通过这些处理获得位置和姿势。按照公式(28)计算凸包的面积A的权重w2,按照公式(29)和(30)计算位置和姿势的权重和。同时,对于姿势,可以计算通过各方法获得的校正值的权重和,并且可以将该权重和添加到传感器测量值。由于同样应用于对权重和改变另一方法的选择步骤的方法,因此不再给出进一步说明。
在本实施例中,作为指标分布的测量值,由检测到的指标形成的凸包的面积的使用同样不是必不可少的,并且可以如上述实施例中的变形例4使用各种其它测量值。
如公式(24)、(26)和(28)以及图18和图19中所示,在本实施例中,当指标分布的测量值从下限值转变到上限值时,权重,即,权重w1和w2被设置为从0到1的线性转变。然而,权重计算方法不局限于这种特定方法。也就是说,当指标分布的测量值是下限值时,权重值是0;当指标分布的测量值是上限值时,权重值为1;并且假定权重值是在这两个值之间单调递增的值,由此获得相同的效果。例如,公式(26)可以修改为:
w 1 = 0 A &le; T 2 min ( cos ( A - T 2 min T 2 max - T 2 min &pi; ) + 1 ) / 2 T 2 min < A < T 2 max 1 T 2 max &le; A - - - ( 33 )
当然,可以使用其它相似的单调递增函数来代替。
作为计算两个姿势的权重平均的方法,在本实施例中使用由公式(25)和(29)给出的四元素的权重和。然而,姿势的权重平均方法不限于此,可以使用其它计算方法。例如,可以代替使用公式(25)而使用以下方法。首先,计算表示姿势-校正矩阵ΔRWC_2和ΔRWC_1之间差异的姿势作为旋转轴和旋转角度θ的表达式。接下来,使权重w1乘以旋转角度θ获得的角度等于0′。最后,计算由旋转轴和旋转角度θ表示的姿势,并将其乘以ΔRWC_2。当w1=0时,该结果是ΔRWC_2,当w1=1时,该结果是ΔRWC_1。当w1假定是0和1之间的中间值时,可以获得通过加权和插值这两个校正矩阵而获得的校正矩阵。当然,可以使用例如加权和插值这两个姿势的各种其它计算方法。
第七实施例
在上述实施例中,用数值明确地表示检测到的指标的分布情况,并基于该值控制所关注的帧中检测到的指标以外的信息的影响程度。本实施例除了不执行指标分布的明确数值转换以外,由于它提供根据指标的分布情况控制指标以外的信息的影响程度的方法,所以它与上述实施例相同。
根据本实施例的位置/姿势测量设备通过使用由作为测量对象物体的摄像装置所拍摄的时间序列图像来测量摄像装置的位置和姿势。下面说明根据本实施例的位置/姿势测量设备和位置/姿势测量方法。
图20是示出根据本实施例的位置/姿势测量设备的配置的框图。如图20中所示,本实施例的位置/姿势测量设备2000包括图像输入单元2050、指标检测单元2010、位置/姿势计算单元2020、权重设置单元2060、以及姿势传感器2040。设备2000连接到作为测量对象物体的摄像装置2030。根据本实施例的位置/姿势测量设备2000测量摄像装置2030的位置和姿势。
在场景(摄像装置2030要拍摄的空间)中定义基准坐标系(由符号W表示)。在该场景中的多个位置处,安排在基准坐标系上的位置(基准坐标)已知的多个指标Qk(k=1,2,...,K)。注意,k表示每个指标的标识符。K表示所安排的指标的总数。优选调整指标Qk的布局,使得摄像装置2030在测量范围内移动时都可以在拍摄图像中观测到这些指标。
图20的例子示出了K=6的情况,即在场景中安排有六个指标Q1至Q6。例如,指标Qk可以由颜色不同而形状相同(图20中为圆形)的标记来配置,也可以由具有不同纹理特征的自然特征等特征点来配置。作为选择,可以使用由每个具有一定面积的矩形单色区域形成的矩形指标。指标Qk可以具有任何形式,只要它们的投影图像在拍摄图像上的坐标可以检测,并且这些指标Qk中的每一个可以由任意方法来识别即可。此外,指标可以是故意设置的,也可以是自然形状的指标而不是故意设置的。
摄像装置2030包括例如摄像机。由摄像装置2030拍摄的图像被输入到位置/姿势测量设备2000。在摄像装置2030上定义照相机坐标系。在以下说明中,当需要时,用符号C表示照相机坐标系。位置/姿势测量设备2000测量该照相机坐标系关于基准坐标系的位置和姿势作为该摄像装置的位置和姿势。照相机坐标系是以摄像装置2030的视点位置为原点、以视轴为Z轴、以垂直于Z轴的两个值交轴为X轴和Y轴的坐标系。假定摄像装置2030的照相机内部参数是已知的。
姿势传感器2040安装到摄像装置2030,并测量摄像装置2030在基准坐标系上的姿势。从姿势传感器2040输出的测量值被输入到位置/姿势计算单元2020。姿势传感器2040包括例如可从美国InterSense获得的InertiaCube2等。
图像输入单元2050将输入到位置/姿势测量设备2000的拍摄图像转换为数字数据,并将该数字数据输出到指标检测单元2010。
指标检测单元2010从图像输入单元2050接收拍摄图像。指标检测单元2010分析输入图像,并检测(识别)在该图像中拍摄到的指标。注意,在本说明书中,除非另外说明,“检测到的指标”是指“识别到的指标”。指标检测单元2010还将对应于检测到的指标(在下文中当需要时也被称为检测指标)的图像坐标的基准坐标输出到位置/姿势计算单元2020。
注意,序号n(n=1,2,...,N)被分配给各个检测指标,在图像上检测到的每个指标被描述为Qkn。注意,N表示在图像上检测到的指标的总数。每个检测指标Qkn的图像坐标(实际测量值)被描述为un,当需要时,由uC Qk描述每个指标Qk的图像坐标(即,un=uC Qkn)。作为已知值的每个指标Qk的基准坐标被描述为xW Qk
由根据要使用的指标类型的方法检测指标。例如,如图20的例子中,当由具有不同颜色的标记配置指标时,从拍摄图像中检测对应于每个单独标记的区域。然后,将其中心位置确定为关注指标的检测到的坐标。另一方面,  当由具有不同纹理特征的特征点配置指标时,使用其模板图像通过模板匹配来检测每个指标的位置。在此情况下,将每个单独指标的模板图像作为已知值预先保持。
当使用矩形指标时,图像经过二值化处理和加标签处理以检测作为指标候选的由四条直线形成的标签区域。此外,通过检查每个候选区域的矩形区域是否包括特定图案来消除检测误差。此外,基于矩形区域中的图案来获取该指标的标识符。最后,输出矩形区域的四个顶点坐标作为指标的位置。注意,在本说明书中以这种方式检测到的矩形指标被认为是由四个顶点单独形成的四个指标。
权重设置单元2060提供用户接口(UI),其用于设置表示“对姿势测量值的重视程度”的参数(在下文中根据需要称之为“权重参数”)。权重设置单元2060经由例如键盘1004、鼠标1005(稍后说明)的输入装置等接收权重参数,并将其输出到位置/姿势计算单元2020。
作为操作者在UI上表达权重参数的方法,可以原样使用在位置/姿势计算单元2020内使用的加权系数w的值。作为选择,可以使用加权系数w的指数部分的数值(10的N次幂)。此外,可以输入标准化后的值(0和1之间的值),并且标准化后的值可以被内部地映射到加权系数w上。可以通过从键盘直接键入值来输入这些数值,也可以通过使用滑动块等GUI选择值来输入这些数值。
当使用滑动块等GUI时,可以使用数字值以外的概念表达式来输入参数,并且可以将该输入值内部地映射到加权系数w上。作为概念表达式,可以使用允许操作者从“最小”、“最大”、以及它们之间的几个水平中选择参数的UI。此外,还可以使用允许操作者从“指标重视”、“传感器重视”、以及它们之间的几个水平中选择参数的UI。
位置/姿势计算单元2020从姿势传感器2040接收摄像装置2030的姿势的测量值,并且还从指标检测单元2010接收检测指标Qkn的图像坐标uQkn和基准坐标xW Qkn对。单元2020基于输入信息计算并输出摄像装置2030的位置和姿势。稍后使用流程图说明位置/姿势计算单元2020的处理细节。
注意,图像输入单元2050、指标检测单元2010、权重设置单元2060、以及位置/姿势计算单元2020中的至少一些可以作为独立装置来实现,也可以作为通过安装在一个或多个计算机中并由每个计算机的CPU来执行从而实现该功能的软件程序来实现。在本实施例中,假定各单元(图像输入单元2050、指标检测单元2010、权重设置单元2060、以及位置/姿势计算单元2020)由软件来实现,并安装在单个计算机中。通过执行软件来实现各单元的功能的计算机的基本配置与第一实施例中的相同,并且将不给出其重复说明。
图21是示出位置/姿势计算单元2020的处理序列的流程图。在本实施例中,当CPU 1001执行用于实现位置/姿势计算单元2020的功能的程序时执行该处理序列。假定在执行以下处理前已经将执行根据图21的流程图的序列的程序代码从例如外部存储装置1007加载到RAM 1002上。
在以下说明中,由三值矢量t=[x y z]T内部地表达摄像装置2030的位置。此外,由三值矢量ω=[ξψζ]T表达摄像装置2030的姿势,该矢量通过矢量大小来定义旋转角度,通过矢量方向来定义旋转轴。由六值矢量s=[tTωT]T=[x y zξψζ]T来表达摄像装置2030的位置和姿势。
注意,姿势信息被变换为3×3旋转矩阵R,在使用时旋转矩阵R获得从照相机坐标系到基准坐标系的旋转变换。ω和R可以被唯一地相互转换。可以通过公式(3)获得从ω到R的转换。由于对本领域的技术人员来说从R到ω的转换方法是已知的,所以将不给出其详细说明。
在步骤S21000中,位置/姿势计算单元2020在时间τ从姿势传感器2040接收摄像装置2030的姿势测量值ω* τ(=[ξ* τψ* τζ* τ]T)。
在步骤S21010中,位置/姿势计算单元2020在时间τ指标检测单元2010接收从拍摄图像中检测到的指标Qkn(n=1,2,...,N)的图像坐标un(=uC Qkn)和基准坐标xW Qkn对。
在步骤S21020中,位置/姿势计算单元2020检查检测指标的输入信息是否足以推定位置和姿势,并根据该检查结果分支该处理。更具体来说,如果输入指标的数量是三个或更多时,处理前进到步骤S21030;否则,处理结束。
在步骤S21030中,位置/姿势计算单元2020处理作为规定值的与姿势测量值的倾斜角有关的两个参数,并使用各检测指标的信息推定剩余四个参数。注意,剩余的四个参数包括摄像装置2030的方位和位置。由于可以通过例如非专利文献6中所公开的方法来实现该处理,因此将不给出其详细说明。在以下说明中,在步骤S21030中获得的位置和姿势被表记为在随后处理中的位置和姿势的处始值s0=[t0 T ω0 T]T=[x0 y0 z0ξ0ψ0ζ0]T。注意,所获得的姿势ω0和姿势测量值ω* τ之间的差异只是方位分量。也就是说,ω0可以被认为是通过校正ω* τ的方位漂移误差而获得的姿势。
在步骤S21040中,位置/姿势计算单元2020计算每个指标Qkn的图像坐标的推定值(理论值)un *(=uC Qkn*)。基于由s定义的指标的观测方程,即从指标的基准坐标xW Qkn计算图像坐标的公式(19)来计算un *。在公式(19)中,图像坐标的推定值un *被表记为uQkn*
在步骤S21050中,位置/姿势计算单元2020通过下式计算每个指标Qkn的图像坐标的推定值(理论值)un *和实际测量值un之间的差异(再投影误差)Δun
&Delta; u n = u n - u n * - - - ( 34 )
在步骤S21060中,位置/姿势计算单元2020关于每个指标Qkn计算s的图像雅克比Jus Qkn(=u/s)。注意,该图像雅克比是以利用s的元素对由公式(19)给出的观测方程进行偏微分而获得的解作为各元素的2行×3列的雅克比矩阵。更具体来说,单元2020计算雅克比矩阵Jux Qkn(=u/x)和雅克比矩阵Jxs Qkn(=x/s),然后通过下式计算Jus Qkn
J us Q k n = J ux Q K n &CenterDot; J xs Q K n - - - ( 35 )
其中,Jux Qkn是以用照相机坐标xC Qkn的各元素对公式(6)的右首侧进行偏微分而获得的解作为各元素的2行×3列的雅克比矩阵。Jxs Qkn是以用矢量s的各元素对公式(20)的右手侧进行偏微分而获得的解作为各元素的3行×6列的雅克比矩阵。
在步骤S21070中,位置/姿势计算单元2020使用下式计算当前姿势推定值ω与在步骤S21030中获得的姿势初始值ω0的差Δω(=[ΔξΔψΔζ]T):
Δω=ω0-ω            (36)
在步骤S21080中,位置/姿势计算单元2020基于在上述步骤中计算出的再投影误差Δun、图像雅克比Jus Qkn、以及姿势差异Δω计算s的校正值Δs。更具体来说,单元2020生成通过排列雅克比形成的矩阵Θ,并通过下式计算Δs:
ΔS=(Θ′Θ)-1Θ′U    (37)
其中,Θ是通过将与姿势参数ξ、ψ和ζ的s有关的雅克比垂直添加到由排列雅克比Jus Qkn形成的矩阵而生成的。Θ由下式定义:
&Theta; = J us Q k 1 . . . J us Q k N 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 - - - ( 38 )
此外,Θ′是通过将加权系数w添加到Θ的转置矩阵而生成的,并且由下式定义:
&Theta; &prime; = 0 0 0 0 0 0 0 0 0 J us Q k 1 T . . . J us Q k N T w 0 0 0 w 0 0 0 w - - - ( 39 )
其中,w是用于在图像信息和姿势测量值之间平衡的加权系数,并代表“对姿势测量值的重视程度”。值w确定姿势测量值对最终获得的位置和姿势的影响的基准值。由权重设置单元2060给出加权系数w的值。注意,根据从指标获得的信息量被动地改变姿势测量值的实际影响。
另一方面,误差矢量U是通过排列Δun和Δω的各项而形成的(2N+3)维矢量,并由下式来定义:
U = &Delta; u 1 . . . &Delta; u N &Delta;&xi; &Delta;&psi; &Delta;&zeta; - - - ( 40 )
下面说明由公式(37)至(40)计算出的Δs的含义。公式(36)的目的是计算Δs以直观地减少误差U。例如,在仅使用如第五实施例的步骤S15070中的处理的指标信息计算照相机的位置和姿势的方法中,由下式定义误差矢量:
U = &Delta; u 1 . . . &Delta; u N - - - ( 41 )
该公式意图使用它们作为评价基准来最小化指标的再投影误差。
另一方面,通过将姿势差异Δω添加到由公式(41)定义的误差矢量U来形成由公式(40)定义的误差矢量U。这表明根据本实施例的位置/姿势计算单元2020使用指标的再投影误差和姿势测量值之间的差异作为评价基准。直观上,单元2020计算Δs,Δs用于考虑到姿势一定不能过分偏离姿势测量值(严格来说是通过校正姿势测量值的方位误差而获得的值)的约束条件将指标的再投影误差最小化。
在步骤S21090中,位置/姿势计算单元2020使用在步骤S21080中计算出的校正值Δs根据公式(12)来校正s,并将所获得的值设置为s的新的推定值。
在步骤S21100中,位置/姿势计算单元2020使用一些标准,如误差矢量U是否小于预定阈值或者校正值Δs是否小于预定阈值,来检查该计算是否收敛。如果该计算不收敛,则单元2020在校正后再次使用s执行步骤S21040及随后步骤中的处理。另一方面,如果判定该计算收敛,则处理前进到步骤S21110。
在步骤S21110中,位置/姿势计算单元2020输出通过直到步骤S21100的处理获得的s作为摄像装置2030的位置和姿势的推定值。注意,位置和姿势的输出形式不限于s本身。例如,当输出时,可以将姿势转换为旋转矩阵、旋转轴矢量和旋转角、欧拉角、四元素等。此外,可以由基于同次坐标表达的4×4位置/姿势转换矩阵或其逆矩阵表示位置和姿势。可以计算和输出摄像装置2030在基准坐标系上的位置和姿势。当然,可以同时输出这些输出形式的组合。
利用上述处理,计算出摄像装置2030的位置和姿势。当针对连续拍摄的时间序列图像计算摄像装置2030的位置和姿势时,可以针对每个输入帧执行上述处理。
根据本实施例的位置/姿势测量设备,计算这样的位置和姿势,该位置和姿势考虑到姿势一定不能过分偏离姿势测量值(严格来说是通过校正姿势测量值的方位误差而获得的值)的约束条件将指标的再投影误差最小化。
根据本实施例的位置/姿势测量设备,当从图像获得的信息不充足时,由于检测指标的各项的影响变得很小,所以可以获得重视姿势测量值的位置和姿势。结果,可以获得与信赖姿势测量值的同时约束未知参数的方法中相同的使解稳定的效果。另一方面,当获得充足的图像信息时,检测指标的各项的影响变得很大。结果,可以获得高精确度解而不受姿势测量值的误差的影响。
也就是说,根据本实施例的位置/姿势测量设备,可以有效利用从图像和姿势传感器获得的信息,并且与传统方法相比较可以实现稳定性和精确度二者皆优的测量。
第八实施例
根据本实施例的姿势测量设备使用配置在环境侧上的多个摄像装置和指标以及设置在测量对象物体上的多个摄像装置、指标和姿势传感器来测量任意测量对象物体的位置和姿势。下面说明根据本实施例的位置测量设备和位置测量方法。
图22是示出根据本实施例的位置/姿势测量设备的配置。如图22中所示,根据本实施例的位置/姿势测量设备2200包括图像输入单元2250、指标检测单元2210、位置/姿势计算单元2220、模式选择单元2280、一个或更多个主观视点照相机2230、一个或更多个客观视点照相机2260、以及姿势传感器2040。位置/姿势测量设备2200连接到要测量的物体2270。根据本实施例的位置/姿势测量设备2200测量要测量的物体2270在基准坐标系上的位置和姿势。
在场景中,与第一实施例中相同地配置在基准坐标系上的位置已知的一个或更多个指标Qk(k=1,2,...,KW)。在以下说明中,根据需要将配置在环境侧上的这些指标称为主观视点指标。与第一实施例中相同,主观视点指标可以采用每种形式,只要它们的投影图像在拍摄图像上的图像坐标是可以检测的并且可以由任意方法识别每个指标即可。在图22中,KW=6,即,配置六个主观视点指标。
在要测量的物体2270上,配置在物体坐标系上的位置(物体坐标)已知的一个或更多个指标QKW+k(k=1,...,KO)。在以下说明中,根据需要将配置在物体侧上的这些指标称为客观视点指标。与主观视点指标相同,客观视点指标可以采用每种形式,只要它们的投影图像在拍摄图像上的图像坐标是可以检测的并且可以由任意方法识别每个指标即可。在图22中,KO=4,即配置四个客观视点指标。注意,客观视点指标不可以直接配置在要测量的物体2270上。客观视点指标可以配置在例如主观视点照相机2230上或姿势传感器2040上。
主观视点照相机2230a和2230b(也被通称为主观视点照相机2230)例如是视频照相机。主观视点照相机2230配置在要测量的物体2270上。由主观视点照相机2230拍摄的图像(主观视点图像)被输入到图像输入单元2250。假定主观视点照相机2230的照相机内部参数和它们在物体坐标系上的位置和姿势是已知的。主观视点指标的配置和主观视点照相机2230被优选调节成当要测量的物体2270在测量范围内移动时在拍摄图像中总可以观测到主观视点指标。在图22中,配置两个主观视点2230a和2230b。在以下说明中,根据需要,由符号C1和C2来表达由主观视点照相机2230分别定义的主观视点照相机坐标系。
客观视点照相机2260a至2260d(也被通称为客观视点照相机2260)是例如摄像机。客观视点照相机2260被设置在包围在测量范围内的位置处,以便于拍摄要测量的问题2270的图像。由客观视点照相机拍摄的图像(客观视点图像)被输入到图像输入单元2250。假定客观视点照相机2260的照相机内部参数和它们在基准坐标系上的位置和姿势是已知的。客观视点指标的配置和客观视点照相机2260被优选调节成当要测量的物体2270在测量范围内移动时在拍摄图像中总可以观测到客观视点指标。在图22中,配置两个主观视点2230a和2230b。在以下说明中,根据需要,由符号C1和C2来表达由主观视点照相机2230分别定义的主观视点照相机坐标系。在图22中,配置了四个客观指标照相机2260a、2260b、2260c、以及2260d。在以下说明中,由符号B1、B2、B3和B4来表达由客观视点照相机2260a至2260d分别定义的客观视点照相机坐标系。
姿势传感器2040配置在要测量的物体2270上。姿势传感器2040测量要测量的物体2270的姿势,并将其输出到位置/姿势计算单元2220。
图像输入单元2250将输入到位置/姿势测量设备2000的拍摄图像转换为数字数据,并将该数字数据输出到指标检测单元2210。
指标检测单元2210从图像输入单元2250接收拍摄图像。指标检测单元2210分析每个输入图像,并检测(识别)每个图像中的所拍摄到的指标。指标检测单元2210针对每个单独检测指标向位置/姿势计算单元2220输出一组检测到该指标的照相机的标识符、图像坐标的实际测量值、对应的3D坐标。注意,当指标是主观视点指标时3D坐标意味着基准坐标,当指标是客观视点指标时3D坐标以为着物体坐标。注意,指标检测方法与第一实施例中的一样不受具体限制,并且将不给出其详细说明。
在以下说明中,注意,序号n(n=1,2,...,N)被分配给各检测指标,在每个图像上被检测到的每个指标被描述为Qkn。注意,N表示在每个图像上检测到的指标的总数。此外,N=∑Nd,Nd代表在每个照相机的拍摄图像上检测到的指标数。此外,d表示照相机的标识符(d=C1,C2,B1,B2,B3,B4)。每个指标Qkn的图像坐标被描述为un,拍摄该指标的照相机的标识符被描述为dn,由具有该标识符的照相机检测到的每个指标Qk的图像坐标被描述为ud Qk(即,un=udn Qkn)。当每个指标Qk是主观视点指标时,其基准坐标作为已知值被描述为xW Qk。同样,当每个指标Qk是客观视点指标时,其物体坐标作为已知值被描述为xO Qk
模式选择单元2280允许用户用通过键盘1004、鼠标1005等输入装置选择在位置/姿势计算单元2220中使用的算法。例如,单元2280允许用户使用无线按钮等GUI在“重视指标信息”模式、“重视姿势传感器测量值”模式、以及“中间”模式中选择一种模式。描述选择单元2280将表示所选中的模式的信息输出到位置/姿势计算单元2220。
位置/姿势计算单元2220从姿势传感器2040接收要测量的物体2270的姿势测量值。此外,单元2220从指标检测单元2210接收针对每个检测指标的一组检测到该指标的照相机的标识符dn、图像坐标的实际测量值un、对应的3D坐标(xW Qkn或xO Qkn)。单元2220基于输入信息计算并输出要测量的物体2270的位置和姿势。下面使用流程图说明位置/姿势计算单元2220的处理细节。
注意,图像输入单元2250、指标检测单元2210、模式选择单元2280、以及位置/姿势计算单元2220中的至少一些可以作为独立装置来实现,也可以作为通过安装到一个或多个计算机中并通过每个计算机的CPU的执行来实现所述功能的软件程序来实现。在本实施例中,假定各单元(图像输入单元2250、指标检测单元2210、模式选择单元2280、以及位置/姿势计算单元2220)由软件来实现并安装在单个计算机中。通过软件来实现各单元的功能的计算机的基本配置与第一实施例中的相同,并省略其重复说明。
图23是示出位置/姿势计算单元2220的处理序列的流程图。在本实施例中,当CPU 1001执行用于实现位置/姿势计算单元2220的功能的程序时,执行该处理序列。假定在执行该处理序列之前,用于执行根据图23的流程图的序列的程序代码已经从例如外部存储装置1007加载到RAM 1002上。
在以下说明中,与第一实施例中相同,由三值矢量t=[x yz]T和ω=[ξψζ]T内部地表达要测量的物体2270的位置和姿势。此外,由六值矢量s=[tT ωT]T=[x y zξψζ]T表达要测量的物体2270的位置和姿势。
在步骤S23000中,位置/姿势计算单元2220从姿势传感器2040接收要测量的物体2270的姿势测量值ω* τ(=[ξ* τψ* τζ* τ]T)。
在步骤S23010中,位置/姿势计算单元2220从指标检测单元2210接收在时间τ从各拍摄图像中检测到的检测指标Qkn的信息。更具体来说,单元2220接收多组检测到对应指标的照相机的标识符dn、图像坐标的实际测量值un、以及对应的3D坐标(xW Qkn或xO Qkn)。
在步骤S23020中,位置/姿势计算单元2220检查检测指标的输入信息是否足以推定位置和姿势,并根据检查结果分支处理。更具体来说,如果输入指标的实体总数为三个或更多个(N≥3)时,处理前进到步骤S23030;否则,处理结束。注意,实体总数意味着当在多个图像中检测到同一指标并将其确定为一个指标时计数的总数。
在步骤S23020中,位置/姿势计算单元2220检查模式选择单元2280所选择的模式是否为“重视指标信息”模式。如果“重视指标信息”模式被选中,则处理前进到步骤S23035;否则,处理前进到步骤S23040。
在步骤S23035中,位置/姿势计算单元2220通过使用各检测指标的再投影误差作为评价基准的方法来推定要测量的物体2270的位置和姿势。作为在将从主观和客观视点照相机获得的检测指标的再投影误差最小化的同时计算物体的位置和姿势的方法,由于在非专利文献1等中公开了基于非线性优化计算的方法,所以将不给出其详细说明。然后,处理前进到步骤S23070。
在步骤S23070中,位置/姿势计算单元2220处理作为规定值的与姿势测量值的倾斜角度有关的两个参数,并使用各检测指标的信息来推定剩余的四个参数。注意,所述剩余的四个参数包括要测量的物体2270的方位和姿势。由于可以通过例如非专利文献1中所公开的方法来实现该处理,所以将不给出其详细说明。在以下说明中,在步骤S23040中获得的位置和姿势被描述为随后步骤中的位置和姿势的初始值s0=[t0 T ω0 T]T=[x0 y0 z0ξ0 ψ0 ζ0]T
在步骤S23050中,位置/姿势计算单元2220检查模式选择单元2280所选择的模式是否为“重视姿势传感器测量值”模式。如果“重视姿势传感器测量值”模式被选中,则确定在步骤S23040中获得的位置和姿势被原样输出,并且处理跳至步骤S23070。否则,处理前进到步骤S23060。
在步骤S23060中,位置/姿势计算单元2220通过使用各检测指标的再投影误差和所推定的姿势参数和姿势测量值之间的差异作为评价基准的方法来推定要测量的物体2270的位置和姿势。稍后使用流程图说明步骤S23060中的处理细节。
在步骤S23070中,位置/姿势计算单元2220输出通过上述处理获得的要测量的物体2270的位置和姿势。
下面使用图24的流程图说明步骤S23060中的处理细节。
在步骤S24010中,位置/姿势计算单元2220计算每个单独指标Qkn的图像坐标的推定值(理论值)un *。如果指标Qkn是主观视点坐标,则基于如下式描述的基于主观视点照相机指标Ci的观测方程计算un *
u n * = u C i Q k n * = F C i ( x W Q k n , s ) - - - ( 42 )
由用于根据xW Qkn和s计算关注指标的照相机坐标xCi Qkn的公式(43)和用于根据xCi Qk计算图像坐标un *的公式(44)来配置观测方程Fci():
Figure A20068000414700761
u n * = u C i Q k n * = [ u x Q k n * u y Q k n * ] T = [ - f x C i x C i Q k n z C i Q k n - f y C i y C i Q k n z C i Q k n ] T - - - ( 44 )
其中,fCi x和fCi y是主观视点照相机指标Ci分别在x轴方向和y轴方向上的焦距。RCiO是用于将姿势从物体坐标系O转换到主观视点照相机坐标系Ci上的矩阵,tCiO是用于在同一坐标系之间转换位置的矢量。假定与主观视点照相机2230a和2230b相对应地预先保持所有这些值作为位置的值。
另一方面,如果指标Qkn是客观视点,则基于由下式描述的基于客观视点照相机Bi的观测方程计算un *
u n * = u B i Q k n * = F B i ( x O Q k n , s ) - - - ( 45 )
由用于根据xO Qkn和s计算关注指标的世界坐标xW Qkn的公式(46)、用于计算每个客观视点照相机坐标系上的坐标xBi Qkn的公式(47)、以及用于根据xBi Qkn计算图像坐标un *的公式(48)来配置观测方程FBi():
x B i Q k n = x B i Q k n y B i Q k n z B i Q k n = R W B i - 1 ( x W Q k n - t W B i ) - - - ( 47 )
u n * = u B i Q k n * = [ u x Q k n * u y Q k n * ] T = [ - f x B i x B i Q k n z B i Q k n - f y B i y B i Q k n z B i Q k n ] T - - - ( 48 )
在步骤S24020中,位置/姿势计算单元2220使用公式(34)计算每个指标Qkn的图像坐标的推定值un *和实际测量值un之间的差(再投影误差)Δun
在步骤S24030中,位置/姿势计算单元2220关于每个指标Qkn计算s的图像雅克比Jus Qkn(=u/s)。注意,该图像雅克比是以用s的各元素对由公式(42)或(4 5)给出的观测方程进行偏微分而获得的解作为各元素的2行×6列的雅克比矩阵。可以以与公式(35)相同的方式获得观测方程Fci()的图像雅克比。另一方面,通过计算雅克比矩阵JuxB Qkn(=u/xB)、雅克比矩阵JxBxW Qkn(=xB/xW)以及雅克比矩阵JxWs Qkn(=xW/s),并使用下式来计算观测方程FBi()的图像雅克比:
J us Q k n = J u x B Q k n &CenterDot; J x B x W Q k n &CenterDot; J x W s Q k n - - - ( 49 )
其中,JuxB Qkn是以用客观视点照相机坐标xBi Qkn的各元素对公式(48)的右手侧进行偏微分而获得的解作为元素的2行×3列的雅克比矩阵。JxBxW Qkn是以用世界坐标xW Qkn的各元素对公式(47)的右手侧进行偏微分而获得的解作为元素的3行×3列的雅克比矩阵。JxWs Qkn是以用状态矢量s的各元素对公式(46)的右手侧进行偏微分而获得的解作为元素的3行×6列的雅克比矩阵。
在步骤S24040中,位置/姿势计算单元2220使用公式(35)计算当前姿势推定值ω关于在步骤S23040中获得的姿势的初始值ω0的差Δω(=[ΔξΔψΔζ]T)。
在步骤S24050中,位置/姿势计算单元2220基于在以上步骤中计算出的再投影误差Δun、图像雅克比Jus Qkn以及姿势差异Δω来计算s的校正值Δs。更具体来说,单元2220生成通过安排所述雅克比和误差矢量U形成的矩阵Θ,并使用公式(37)计算Δs。注意,矩阵Θ、Θ′和U的定义与公式(38)、(39)和(40)中相同。然而,与第七实施例中不同,每个矩阵包括与不同照相机(主观和客观视点照相机)的检测指标Qkn有关的所有信息。在本实施例中,作为加权系数w,将事先计算的适当值设置为固定值。
在步骤S24060中,位置/姿势计算单元2220使用在步骤S24050中计算的校正值Δs根据公式(12)校正s,并将所获得的值设置为s的新推定值。
在步骤S24070中,位置/姿势计算单元2220使用一些标准,如误差矢量U是否小于预定阈值或者校正值Δs是否小于预定阈值,来检查该计算是否收敛。如果该计算不收敛,则单元2220在校正后再次使用s执行步骤S21040及随后步骤中的处理。另一方面,如果判定该计算收敛,则处理前进到步骤S24010。
利用上述处理,计算出要测量的物体2270的位置和姿势。根据本实施例的位置/姿势测量设备,计算这样的位置和姿势,该位置和姿势考虑到姿势一定不能过分偏离姿势测量值(严格来说是通过校正姿势测量值的方位误差而获得的值)的约束条件将指标的再投影误差最小化。
在本实施例中,使用主观视点照相机2230和客观视点照相机2260二者。然而,用于测量要测量的物体2270的位置和姿势的照相机的配置不限于此。例如,可以只使用主观视点照相机2230,也可以只使用客观视点照相机2260。
注意,当目的是计算主观视点照相机2230的位置和姿势时,可以使用与本实施例中相同的方法。在此情况下,主观视点照相机2230本身(中的一个)可以被看作是要测量的物体2270。
在本实施例中,使用预定加权系数作为固定值。然而,与第一实施例中相同,可以提供权重设置单元2060以允许操作者设置加权系数w。此外,可以建议使用单个UI来设置权重设置单元2060和模式选择单元2280。例如,作为权重设置单元2060的输入部件,将考虑数值输入标准化参数(例如,0和1之间的值)的UI。在此情况下,如果输入参数是0,则可以设置“重视指标信息”模式;如果输入参数是1,则可以设置“重视姿势传感器测量值”模式;如果输入参数是0和1之间的中间值,则可以设置“中间”模式。只有在“中间”模式下,才可以在使用时将输入参数转换为加权系数w。
第七和第八实施例的变形例
变形例7
在第七和第八实施例中,考虑到姿势一定不能过分偏离姿势传感器2040的姿势测量值的约束条件来推定测量对象物体(摄像装置2030或要测量的物体2270)的位置和姿势。然而,在上述实施例中说明的技术思想的应用范围不限于只考虑姿势一定不能过分偏离姿势测量值的约束条件。
例如,当针对连续拍摄的时间序列图像计算测量对象物体的位置和姿势时,可以考虑与前一帧的连续性。在考虑到位置和姿势一定不能过分偏离在前一帧中计算出的位置和姿势的约束条件时,可以获得在帧之间连续性很好的位置和姿势。
本变形例中的处理步骤与第七和第八实施例中的处理步骤基本相同。下面参考图21说明与第七实施例的不同之处。基本上,与第七实施例的不同之处仅在于步骤S21110中保持的位置和姿势的推定结果(sτ-1),并且在校正值的计算步骤(步骤S21080)中考虑关于前一帧的约束条件。注意,第八实施例可以进行类似的修改。
在本变形例中,矩阵Θ(公式(38)),Θ′(公式(39))以及误差矢量U(公式(40))被分别修改为:
&Theta; = J us Q k 1 . . . J us Q k N 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 - - - ( 50 )
&Theta; &prime; = 0 0 0 w 2 0 0 0 0 0 0 0 0 0 w 2 0 0 0 0 0 0 0 0 0 w 2 0 0 0 J us Q k 1 T . . . J us Q k N T w 1 0 0 0 0 0 w 3 0 0 0 w 1 0 0 0 0 0 w 3 0 0 0 w 1 0 0 0 0 0 w 3 - - - ( 51 )
&Delta; u 1 . . . &Delta; u N &Delta;&xi; &Delta;&psi; &Delta;&zeta; ( s &tau; - 1 - s ) T - - - ( 52 )
也就是说,新添加代表针对前一帧的结果的约束条件的六个评价值。注意,w1、w2,和w3是定义姿势测量值的影响、前一帧位置的影响以及前一帧姿势的影响的权重参数。在本变形例中,假定针对各权重参数预先设置适当的值。可以根据对传感器的可靠性的重视程度和帧之间的连续性来独立设置这些值,也可以以简单的方式设置相同的值。。可以针对各参数设置不同的值。与上述实施例中相同,用户可以通过权重设置单元2060对值进行调节。
利用上述处理,可以同时考虑姿势一定不能过分偏离姿势测量值的约束条件以及位置和姿势一定不能过分偏离前一帧的推定结果的约束条件。利用这些约束条件的范围,可以计算使指标的再投影误差最小化的位置和姿势。
注意,作为在前一帧中的位置和姿势的推定结果的sτ-1可以不总是步骤S21110中推定的结果。例如,可以基于测量对象物体的移动历史来使用当前帧中的测量对象物体的位置和姿势的推定值。在此情况下,可以通过基于测量对象物体的速度或角速度的简单线性近似或者通过各种其它方法来进行预测。
在本变形例中,使用前一帧中的全部位置和姿势参数(六个自由度)作为约束条件。然而,全部参数不必总是被用作约束条件。例如,对于姿势,可以只约束姿势传感器的测量值。在此情况下,可以从矩阵Θ(公式(50)),Θ′(公式(51))和误差矢量U(公式(52))中排除与前一帧中的姿势相关的项。同样,可以省略与前一帧的位置相关的项。还可以只约束前一帧中位置和姿势参数的任意组合。
变形例8
下面将考虑这样的情况,其中以添加到第七和第八实施例的形式将位置传感器进一步设置在测量对象物体(摄像装置2030或要测量的物体2270上)。在此情况下,可以使用从姿势传感器获得的姿势测量值和从位置传感器获得的位置测量值二者作为约束条件。
本变形例中的处理步骤与第七和第八实施例中的处理步骤基本相同。下面参考图21说明与第七实施例的不同之处。基本上,与第七实施例的不同之处仅在于在步骤S21010之后立即插入由位置传感器输入位置测量值的步骤作为步骤S21015,并且在校正值的计算步骤(步骤S21080)中考虑对位置测量的约束。注意,第八实施例也可以进行类似的修改(参见图23)。
在作为新添加的步骤的步骤S21015中,位置/姿势计算单元2020在时间τ从位置传感器接收摄像装置2030的位置姿势值t* τ
在步骤S21030中,位置/姿势计算单元2020计算位置和姿势的初始值s0。在本变形例中,单元2020使将步骤S21010中输入的姿势测量值ω* τ乘以由前一帧的处理推定的姿势传感器的误差校正值Δωτ-1而获得的姿势等于姿势的初始值ω0。此外,单元2020使用在步骤S21015中输入的姿势测量值t* τ并使用下式来计算位置的初始值t0
t 0 = t &tau; * - R ( &omega; 0 ) &CenterDot; x O - - - ( 53 )
其中,xO作为已知值表示位置传感器的测量点在测量对象物体的坐标系上的坐标。更具体来说,公式(53)代表从位置传感器的测量值(其代表测量点的位置)到测量对象物体的测量值的转换方程。
在本变形例中,用于在步骤S21070中计算姿势的初始值和当前推定的姿势之间的差异的方程(公式(36))被修改为如下式的包括位置和姿势两者:
ΔS=S0-S                                (54)
此外,在步骤S21080中要计算的矩阵Θ(公式(38))、Θ(公式(39))以及误差矢量U(公式(40))被分别修改为:
&Theta; = J us Q k 1 . . . J us Q k N 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 - - - ( 55 )
&Theta; &prime; = w 1 0 0 0 0 0 0 w 1 0 0 0 0 0 0 w 1 0 0 0 J us Q k 1 T . . . J us Q k N T 0 0 0 w 2 0 0 0 0 0 0 w 2 0 0 0 0 0 0 w 2 - - - ( 56 )
U = &Delta; u 1 . . . &Delta; u N &Delta; s T - - - ( 57 )
更具体来说,添加了针对位置测量值的新的约束条件。注意,w1和w2是分别定义位置测量值的影响和姿势测量值的影响的权重参数。在本变形例中,针对w1和w2预先设置适当的值。可以根据传感器的可靠性单独设置这些值,也可以以简单的方式设置相同的值。可以针对各参数设置不同的值。与上述实施例中相同,用户可以通过权重设置单元2060调整各值。
在步骤S21110中,位置/姿势计算单元2020输出推定的位置和姿势。此时,单元2020计算姿势测量值ω* τ和最终获得的姿势ω之间的差,并保持其作为误差校正值Δωτ-1
利用上述处理,可以考虑到位置和姿势一定不能分别过分偏离位置测量值和姿势测量值的约束条件来计算使指标的再投影误差最小化的位置和姿势。
根据本变形例的位置/姿势测量设备,当从图像获得的信息不充分时,由于指标的各项的影响很小,所以可以获得重视各传感器的测量值的位置和姿势。另一方面,当获得了充分的图像信息时,指标各项的影响变得很大。结果,可以获得高精确度的解而不受各传感器测量值误差的影响。
在本变形例中,同样可以考虑帧之间的连续性。在此情况下,与变形例7中相同,可以将针对在前一帧中算出的位置和姿势的约束添加到校正值的计算步骤中。更具体来说,可以将用于评价前一帧的位置和姿势参数的各项添加到矩阵Θ(公式(55))、Θ′(公式(56))以及误差矢量U(公式(57))。注意,可以选择和使用全部12个约束条件(针对前一帧的六个约束条件和针对传感器测量值的六个约束条件)的任意组合。
变形例9
在第七和第八实施例以及变形例7和8的每一个中,推定了测量对象物体(摄像装置2030或要测量的物体2270)的位置和姿势的六个自由度的参数。然而,上述实施例中说明的技术思想的应用范围不局限于要推定的参数为位置和姿势的六个值的情况。
例如,下面将考虑具有高精确度的位置传感器被设置在测量对象物体上的情况。在此情况下,作为已知的方法,可以采用根据图像信息只计算测量对象物体的姿势参数的方法同时将从位置传感器获得的位置设置为已知值。与例如专利文献4的第六实施例中的说明相同,可以通过只将测量对象物体的姿势参数作为未知数的非线性优化处理来实现该方法。当采用该方法时,同样可以原样应用上述实施例中说明的技术思想。也就是说,可以在考虑针对姿势传感器2040的姿势测量值的约束条件的同时推定测量对象物体的姿势参数。
本变形例的处理步骤与第七和第八实施例中的基本相同。下面将参考图21说明与第七实施例的不同之处。基本上,与第七实施例的不同之处仅在于添加了输入姿势传感器的姿势测量值的步骤(步骤S21015),并且只有测量对象物体的姿势ω变为未知参数。注意,也可以对第八实施例进行类似修改。
步骤S21015、S21030以及S21110中的处理与变形例7中的相同。
在本变形例中,将测量对象物体的位置作为已知值来处理,未知参数只是代表姿势的ω。在步骤S21060中,位置/姿势计算单元2020只针对ω的各参数计算图像雅克比。此外,根据未知参数的变化将步骤S21080中的矩阵Θ(公式(38))和Θ′(公式(39))分别修改为:
&Theta; = J us Q k 1 . . . J us Q k N 1 0 0 0 1 0 0 0 1 - - - ( 58 )
&Theta; &prime; = w 0 0 J us Q k 1 T . . . J us Q k N T 0 w 0 0 0 w - - - ( 59 )
利用上述处理,即使当六个自由度的位置和姿势没有被用作未知参数时,也可以考虑到姿势一定不能过分偏离姿势传感器的测量值的约束条件来计算使指标的再投影误差最小化的姿势。
在本变形例中,同样可以考虑帧之间的连续性。在此情况下,与变形例7中相同,可以将针对前一帧中算出的姿势的约束添加到校正值计算步骤中。更具体来说,可以将用于评价前一帧的姿势参数的各项添加到矩阵Θ(公式(58))、Θ′(公式(59))以及误差矢量U(公式(40))。
变形例10
在第七和第八实施例以及变形例7至9的每一个中,权重参数w使预先确定的固定值,或者是用户通过权重设置单元2060设置的值。然而,权重参数值的设置方法不局限于这种特定方法。在本变形例中,根据检测到的指标的分布主动调整权重参数,从而根据从指标获得的信息量更积极地实现调整指标影响的效果。
本变形例的处理步骤与第七和第八实施例中的基本相同。下面将参考图21说明与第七实施例的不同之处。基本上,与第七实施例的不同之处仅在于添加了计算检测到的指标的分布状况的步骤(步骤S21025)和根据计算出的检测到的指标的分布状况确定权重参数w的步骤(步骤S21027)。注意,对第八实施例也可以进行类似的修改。
在作为新添加步骤的步骤S21025中,位置/姿势计算单元2020计算包括所有检测到的指标的图像坐标的凸包。该处理与第六实施例中的步骤S17050中的处理相同。
接下来,在作为新添加步骤的步骤S21027中,位置/姿势计算单元2020通过下式根据在步骤S21025中计算出的凸包的面积A确定权重调整参数w0
w 0 = 1 A &le; T min T max - A T max - T min T min < A < T max 0 T max &le; A - - - ( 60 )
其中,Tmin和Tmax是标准化凸包的面积所需的参数,针对这些参数预先设置适当的值。假定w0是标准化为范围0和1之间的值。如果指标的分布是充分的,则w0假定为0;如果指标的分布是不充分的,则w0假定为靠近1的值。位置/姿势计算单元2020基于所获得的w0通过下式计算在校正值Δs的计算步骤中所使用的加权系数w:
w=w0·w′                            (61)
其中,w′是由权重设置单元2060设置的加权系数。也就是说,根据指标的分布增加/减少由权重设置单元2060设置的加权系数。注意,w′不必使用权重设置单元2060来设置,可以预先设置适当的值。
利用上述处理,如果指标的分布是充分的,则加权系数w的值变小,并且姿势一定不能过分偏离姿势测量值的约束条件的影响也被减小。因此,可以通过充分采用检测到的图像信息来测量位置和姿势,而不受传感器误差的约束。
另一方面,如果指标的分布是不充分的,则加权系数w的值变大,并且姿势一定不能过分偏离姿势测量值的约束条件的影响增强。因此,即使当检测到的图像信息的信息量不充分时,也可以获得推定结果而不会偏离从传感器获得的姿势。
如上所述,根据本实施例,同样可以获得根据指标的分布控制从图像获得的信息的影响的效果。
注意,在本变形例中,使用由指标形成的凸包的面积作为指标分布的测量不是必不可少的。与实施例的变形例4中相同,可以使用各种其它测量。此外,加权系数w的偏差不必总是关于指标分布的测量成线性,并且与第六实施例中相同,可以使用在两个区间单调增加的任意值。
即使当像变形例7中那样同时考虑位置和姿势一定不能过分偏离在前一帧中计算出的位置和姿势的约束条件时,也可以根据指标的分布调整加权系数。在此情况下,w1′、w2′和w3′被保持作为基本加权系数,并乘以w0以获得要被实际应用的加权系数,即w1、w2和w3。此外,当像变形例8中那样采用姿势传感器的约束时,可以根据指标的分布类似地调整加权系数。
注意,当使用上述12个约束条件(针对前一帧的6个约束条件以及针对传感器测量值的6个约束条件)的任意组合时,也可以获得根据指标的分布调整检测到的图像信息的影响的效果。例如,可以采用只使用位置和姿势一定不能过分偏离前一帧的推定结果(其至少一个参数)的约束条件而不使用任何传感器的配置。
在此情况下,如果指标的分布是充分的,则加权系数w的值变小,然后位置和姿势一定不能过分偏离前一帧中的推定值的约束条件的影响被减小。因此,通过充分利用检测到的图像信息可以测量位置和姿势而不受可以进行帧之间的平滑化的约束的影响。
另一方面,如果指标的分布不充分,则加权系数w的值变大,然后位置和姿势一定不能过分偏离前一帧中的推定值的约束条件的影响被增强。因此,即使当检测到的图像信息的信息量不充分时,也可以避免帧之间不自然的抖动,并且可以获得稳定的位置和姿势。
变形例11
第七和第八实施例以及变形例7至10的每一个使用又公式(37)表达的方法计算校正值Δs。此外,通过用s+Δs替换s来更新推定值。然而,基于矩阵Θ、矩阵Θ′以及误差矢量U计算s的方法不限于这种特定方法。例如,可以使用作为已知的非线性方程迭代解法的例如LM方法(Levenberg-Marquardt方法)来计算s。或者可以结合作为已知的鲁棒推定方法的M推定(M-estimation)等统计方法。因此,即使当应用任何其它数值计算方法时本发明的本质也不受损害。
变形例12
在上述实施例和变形例的每一个中,姿势由公式(3)描述的三个值来表达,并且在优化计算步骤中被使用。然而,在优化计算步骤中使用的位置和姿势不限于此。例如,可以使用欧拉角由三个值来表达姿势,并且可以使用该欧拉角作为未知参数进行优化计算。在此情况下,代替公式(3)获得了用于从欧拉角计算3×3旋转矩阵R的公式,并且可以在每个单独观测方程中建立该公式。当施加基于姿势测量值或前一帧的姿势推定值的约束时,可以将每个单独参数类似地改变为欧拉角。当然,即使当使用其它参数表达方法作为未知参数时,也可以类似地解决它们,并且参数表达方法不会造成任何本质问题。由于在例如非专利文献7中公开了使用欧拉角基于非线性优化计算推定照相机位置和姿势的方法,所以将不给出其详细说明。
通过将记录有可以实现上述实施例功能的软件程序的程序代码的存储介质(或记录介质)提供给系统或设备,并由系统或设备的计算机(或CPU或MPU)读出并执行存储在该存储介质中的程序代码也可以实现本发明的目的。在此情况下,从存储介质中读出的程序代码本身实现上述实施例的功能,并且存储有该程序代码的存储介质构成本发明。此外,本发明包括以下情况:不仅通过计算机执行所读出的程序代码而且还通过运行在计算机上的操作系统(OS)基于该程序代码的指令执行的一些或全部实际处理来实现上述实施例的功能。
此外,本发明还包括以下情况:在将从存储介质中读出的程序代码写入插入在计算机中或连接到计算机的功能扩展板或功能扩展单元之后,由设置在该功能扩展板或功能扩展单元中的CPU等执行的一些或全部实际处理来实现上述实施例的功能。
当本发明被应用于上述存储介质时,该存储介质优先存储对应于上述流程图的程序代码。
本发明不局限于上述实施例,在本发明的精神和范围内可以进行各种改变和修改。因此,为了公开本发明的范围,给出了所附的权利要求。
本申请要求在2005年2月4日提交的日本专利申请2005-029827和2006年2月2日提交的日本专利申请2006-026177的优先权,其全部内容通过引用包含于此。

Claims (27)

1.一种用于测量测量对象物体的位置和姿势的位置/姿势测量方法,其特征在于,包括:
拍摄图像获取步骤,用于获取拍摄图像;
指标检测步骤,用于检测所述拍摄图像中所包括的指标;
分布范围计算步骤,用于计算与所述指标检测步骤中检测到的指标的分布范围有关的评价值;以及
位置/姿势计算步骤,用于使用与所述检测到的指标的图像坐标有关的信息和与所述分布范围有关的所述评价值来计算所述测量对象物体的位置和姿势。
2.根据权利要求1所述的位置/姿势测量方法,其特征在于,所述测量对象物体是摄像装置,以及
所述拍摄图像是所述摄像装置拍摄的图像。
3.根据权利要求1所述的位置/姿势测量方法,其特征在于,所述拍摄图像是由与所述测量对象物体的相对位置关系已知的摄像装置拍摄的图像。
4.根据权利要求1所述的位置/姿势测量方法,其特征在于,所述拍摄图像是由拍摄所述测量对象物体的摄像装置拍摄的图像。
5.根据权利要求1所述的位置/姿势测量方法,其特征在于,在所述位置/姿势计算步骤中,根据所述分布范围的所述评价值从多个计算方法中选择一个。
6.根据权利要求1所述的位置/姿势测量方法,其特征在于,与所述分布范围有关的所述评价值是与所述检测到的指标的三维分布范围有关的评价值。
7.根据权利要求1所述的位置/姿势测量方法,其特征在于,与所述分布范围有关的所述评价值是与所述检测到的指标在所述拍摄图像上的分布范围有关的评价值。
8.根据权利要求1所述的位置/姿势测量方法,其特征在于,在所述位置/姿势计算步骤中,根据与所述指标的所述分布范围有关的所述评价值来控制与所述检测到的指标的所述图像坐标有关的信息对计算所述测量对象物体的所述位置和姿势的影响。
9.根据权利要求1所述的位置/姿势测量方法,其特征在于,在所述位置/姿势计算步骤中,
利用与所述指标检测步骤中检测到的指标的图像坐标有关的所述信息,使用不同的方法来计算所述测量对象物体的第一位置/姿势和第二位置/姿势;以及
基于与所述分布范围计算步骤中计算出的所述指标的分布范围有关的所述评价值,从所述第一位置/姿势和所述第二位置/姿势计算所述测量对象物体的所述位置和姿势。
10.根据权利要求1所述的位置/姿势测量方法,其特征在于,还包括测量结果获取步骤,所述测量结果获取步骤用于从测量单元获取代表所述测量对象物体的位置和姿势的参数中的至少一个的测量结果,
其中,在所述位置/姿势计算步骤中,通过基于与所述指标的分布范围有关的所述评价值控制与所述指标的所述图像坐标有关的信息的影响和所述测量结果的影响,来计算所述测量对象物体的位置和姿势。
11.根据权利要求10所述的位置/姿势测量方法,其特征在于,所述测量单元是安装到所述测量对象物体的位置传感器和/或姿势传感器。
12.根据权利要求1所述的位置/姿势测量方法,其特征在于,还包括保持步骤,所述保持步骤用于保持代表所述测量对象物体的位置和姿势的、从前一帧的拍摄图像中计算出的参数中的至少一个,
其中,在所述位置/姿势计算步骤中,
通过基于与所述指标的分布范围有关的所述评价值控制与所述指标的所述图像坐标有关的信息的影响和代表所述测量对象物体的位置和姿势的、从所述前一帧拍摄图像中计算出的所述参数的影响,来计算所述测量对象物体的位置和姿势。
13.根据权利要求1所述的位置/姿势测量方法,其特征在于,还包括姿势测量值获取步骤,所述姿势测量值获取步骤用于从测量所述测量对象物体的姿势的姿势传感器获取姿势测量值,
其中,在所述位置/姿势计算步骤中,根据与所述指标的图像坐标有关的信息的信息量的大小来设置与所述指标的图像坐标有关的信息的影响和所述姿势测量值的影响,并计算所述摄像装置的位置和姿势。
14.根据权利要求3所述的位置/姿势测量方法,其特征在于,还包括姿势测量值获取步骤,所述姿势测量值获取步骤用于从测量所述测量对象物体的所述姿势的姿势传感器获取姿势测量值,
其中,在所述位置/姿势计算步骤中,使用与所述指标检测步骤中检测到的所述指标的所述图像坐标有关的信息的实际测量值和基于所述摄像装置的位置和姿势的推定值计算出的与所述图像坐标有关的信息的理论值之间的差异、以及所述推定值和所述姿势测量值的至少部分参数之间的差异二者作为评价基准,来计算所述摄像装置的所述位置和姿势。
15.一种用于测量测量对象物体的位置和姿势的位置/姿势测量方法,其特征在于,包括:
姿势测量值输入步骤,用于从安装到所述测量对象物体的姿势传感器输入姿势测量值;
拍摄图像获取步骤,用于获取拍摄图像;
指标检测步骤,用于检测所述拍摄图像中所包括的指标;以及
位置/姿势计算步骤,用于使用与所述检测到的指标的图像坐标有关的信息和所述姿势测量值来计算所述摄像装置的所述位置和姿势,
其中,在所述位置/姿势计算步骤中,
使用以下差异作为评价基准来计算所述摄像装置的位置和姿势,所述差异是:与所述检测到的指标的所述图像坐标有关的信息的实际测量值和基于所述摄像装置的所述位置和姿势的推定值计算出的与所述检测到的指标的所述图像坐标有关的信息的理论值之间的差异,以及
所述推定值和所述姿势测量值的至少部分参数之间的差异。
16.根据权利要求15所述的位置/姿势测量方法,其特征在于,所述测量对象物体是摄像装置,以及
所述拍摄图像是所述摄像装置拍摄的图像。
17.根据权利要求15所述的位置/姿势测量方法,其特征在于,所述拍摄图像是由与所述测量对象物体的相对位置关系已知的摄像装置拍摄的图像。
18.根据权利要求15所述的位置/姿势测量方法,其特征在于,所述拍摄图像是由拍摄所述测量对象物体的摄像装置拍摄的图像。
19.根据权利要求15所述的位置/姿势测量方法,其特征在于,还包括保持步骤,所述保持步骤用于保持代表所述测量对象物体的位置和姿势的、从前一帧拍摄图像计算出的参数中的至少一个,
其中,在所述位置/姿势计算步骤中,
使用以下差异作为评价机关枪来计算所述测量对象物体的位置和姿势,所述差异是:与所述指标的所述图像坐标有关的信息的实际测量值和基于与所述检测到的指标的所述图像坐标有关的信息的实际测量值和所述摄像装置的所述位置和姿势的推定值计算出的与所述检测到的指标的所述图像坐标有关的信息的理论值之间的差异,
所述推定值和所述姿势测量值的至少部分参数之间的差异以及所述推定值和代表由所述保持部件所保持的前一位置和姿势的参数中的至少一个之间的差异;以及
所述推定值和代表位置和姿势的从所述前一帧拍摄图像计算出的参数中的至少一个之间的差异。
20.一种用于测量作为测量对象物体的摄像装置的位置和姿势的位置/姿势测量方法,其特征在于,包括:
姿势测量值输入步骤,用于从安装到所述摄像装置的姿势传感器输入姿势测量值;
图像输入步骤,用于输入由所述摄像装置拍摄的图像;
指标检测步骤,用于检测包括在所述拍摄图像中的指标;
权重设置步骤,用于设置由操作者输入的权重;以及
位置/姿势计算步骤,用于使用与所述指标检测步骤中检测到的所述指标的图像坐标有关的信息以及所述姿势测量值来计算所述摄像装置的位置和姿势,
其中,在所述位置/姿势计算步骤中,通过根据在所述权重设置步骤中设置的权重改变与所述指标的所述图像坐标有关的信息和所述姿势测量值的影响来计算所述摄像装置的位置和姿势。
21.根据权利要求20所述的位置/姿势测量方法,其特征在于,在所述位置/姿势计算步骤中,根据在所述权重设置步骤中设置的权重对以下差异中的至少一个进行加权,所述差异是:与所述指标的所述图像坐标有关的信息的实际测量值和基于所述摄像装置的位置和姿势的所述推定值计算出的与所述图像坐标有关的信息的理论值之间的差异,以及所述推定值和所述姿势测量值的至少部分参数之间的差异,并使用所述差异作为评价基准来计算所述摄像装置的位置和姿势。
22.一种用于测量作为测量对象物体的摄像装置的位置和姿势的位置/姿势测量方法,其特征在于,包括:
姿势测量值输入步骤,用于从安装到所述摄像装置的姿势传感器输入姿势测量值;
图像输入步骤,用于输入由所述摄像装置拍摄的图像;
指标检测步骤,用于检测包括在所述拍摄图像中的指标;
模式选择步骤,用于从以下模式中选择一个:重视与所述指标的图像坐标有关的信息的第一模式,重视所述姿势测量值的第二模式,以及作为所述第一模式和所述第二模式之间的中间模式的第三模式;以及
位置/姿势计算步骤,用于通过使用与所述指标检测步骤中检测到的所述指标的图像坐标有关的信息以及所述姿势测量值、应用根据所述模式选择步骤中选择的模式的方法,来计算所述摄像装置的位置和姿势。
23.根据权利要求22所述的位置/姿势测量方法,其特征在于,在所述位置/姿势计算步骤中,
当在所述模式选择步骤中选择所述第一模式时,基于与在所述指标检测步骤中检测到的所述指标的所述图像坐标有关的信息来计算所述摄像装置的位置和姿势,而不使用所述姿势测量值作为规定值或评价基准,
当在所述模式选择步骤中选择所述第三模式时,使用以下两种差异作为评价基准来计算所述摄像装置的位置和姿势,所述差异是:与在所述指标检测步骤中检测到的所述指标的所述图像坐标有关的信息的实际测量值和基于所述摄像装置的位置和姿势的所述推定值计算出的与所述图像坐标有关的信息的理论值之间的差异,以及所述推定值和所述姿势测量值的至少部分参数之间的差异,以及
当在所述模式选择步骤中选择所述第二模式时,基于与所述指标检测步骤中检测到的所述指标的所述图像坐标有关的信息,并设置所述姿势测量值的至少部分参数作为规定值来计算所述摄像装置的位置和姿势的未知参数。
24.一种用于使计算机执行根据权利要求1~23中任何一项所述的位置/姿势测量方法的控制程序。
25.一种用于存储根据权利要求24所述的控制程序的计算机可读记录介质。
26.一种用于测量测量对象物体的位置和姿势的位置/姿势测量设备,其特征在于,包括:
拍摄图像获取部件,用于获取拍摄图像;
指标检测部件,用于检测所述拍摄图像中所包括的指标;
分布范围计算部件,用于计算与所述指标检测部件检测到的指标的分布范围有关的评价值;以及
位置/姿势计算部件,用于使用与所述检测到的指标的图像坐标有关的信息和与所述分布范围有关的所述评价值来计算所述测量对象物体的位置和姿势。
27.一种用于测量测量对象物体的位置和姿势的位置/姿势测量设备,其特征在于,包括:
姿势测量值输入部件,用于从安装到所述测量对象物体的姿势传感器输入姿势测量值;
拍摄图像获取部件,用于获取拍摄图像;
指标检测部件,用于检测所述拍摄图像中所包括的指标;以及
位置/姿势计算部件,用于使用与所述检测到的指标的图像坐标有关的信息和所述姿势测量值来计算所述摄像装置的所述位置和姿势,
其中,所述位置/姿势计算部件使用以下差异作为评价基准来计算所述摄像装置的位置和姿势,所述差异是:
与所述检测到的指标的所述图像坐标有关的信息的实际测量值和基于所述摄像装置的所述位置和姿势的推定值计算出的与所述检测到的指标的所述图像坐标有关的信息的理论值之间的差异,以及
所述推定值和所述姿势测量值的至少部分参数之间的差异。
CN2006800041471A 2005-02-04 2006-02-03 位置/姿势测量方法和设备 Expired - Fee Related CN101116101B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005029827 2005-02-04
JP029827/2005 2005-02-04
JP026177/2006 2006-02-02
JP2006026177A JP4859205B2 (ja) 2005-02-04 2006-02-02 情報処理装置、情報処理方法、及びプログラム
PCT/JP2006/301876 WO2006082928A1 (ja) 2005-02-04 2006-02-03 位置姿勢計測方法及び装置

Publications (2)

Publication Number Publication Date
CN101116101A true CN101116101A (zh) 2008-01-30
CN101116101B CN101116101B (zh) 2012-09-26

Family

ID=36777310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800041471A Expired - Fee Related CN101116101B (zh) 2005-02-04 2006-02-03 位置/姿势测量方法和设备

Country Status (5)

Country Link
US (1) US8073201B2 (zh)
EP (1) EP1852821B1 (zh)
JP (1) JP4859205B2 (zh)
CN (1) CN101116101B (zh)
WO (1) WO2006082928A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385695A (zh) * 2010-09-01 2012-03-21 索尼公司 人体三维姿势识别方法和装置
CN102472609A (zh) * 2009-07-28 2012-05-23 佳能株式会社 位置和姿势校准方法及设备
CN102763132A (zh) * 2010-02-24 2012-10-31 佳能株式会社 三维测量设备、处理方法和非暂态计算机可读存储介质
CN103003845A (zh) * 2011-03-02 2013-03-27 松下电器产业株式会社 姿势估计装置、姿势估计系统、及姿势估计方法
CN105704374A (zh) * 2016-01-29 2016-06-22 努比亚技术有限公司 一种图像转换装置、方法和终端
CN107869984A (zh) * 2016-09-28 2018-04-03 本田技研工业株式会社 位置姿势推定方法和位置姿势推定系统
CN110140023A (zh) * 2017-01-17 2019-08-16 国立研究开发法人产业技术综合研究所 标记器和使用了标记器的姿势推定方法及位置姿势推定方法
CN110581945A (zh) * 2018-06-11 2019-12-17 欧姆龙株式会社 控制系统、控制装置、图像处理装置以及存储介质
CN111935396A (zh) * 2020-07-01 2020-11-13 青岛小鸟看看科技有限公司 VR一体机的6DoF数据处理方法和装置
CN113296287A (zh) * 2021-05-14 2021-08-24 中国科学院长春光学精密机械与物理研究所 一种物镜系统元件位置偏差精密装调方法

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4914019B2 (ja) * 2005-04-06 2012-04-11 キヤノン株式会社 位置姿勢計測方法及び装置
US7933001B2 (en) * 2005-07-11 2011-04-26 Kabushiki Kaisha Topcon Geographic data collecting system
JP4739004B2 (ja) * 2005-12-15 2011-08-03 キヤノン株式会社 情報処理装置及び情報処理方法
JP4916167B2 (ja) * 2005-12-15 2012-04-11 キヤノン株式会社 指標識別方法及び指標識別装置
JP4481280B2 (ja) * 2006-08-30 2010-06-16 富士フイルム株式会社 画像処理装置、及び画像処理方法
US20100306318A1 (en) * 2006-09-28 2010-12-02 Sfgt Inc. Apparatuses, methods, and systems for a graphical code-serving interface
US8407220B2 (en) * 2006-09-28 2013-03-26 Augme Technologies, Inc. Apparatuses, methods and systems for ambiguous code-triggered information querying and serving on mobile devices
JP5403861B2 (ja) * 2006-11-06 2014-01-29 キヤノン株式会社 情報処理装置、情報処理方法
DE602008005448D1 (de) * 2007-06-27 2011-04-21 Panasonic Corp Bildgebungsgerät, verfahren, systemintegrierte schaltung und programm
EP2959824A1 (en) * 2007-09-25 2015-12-30 Olympus Corporation Position sensor
JP5051839B2 (ja) * 2007-10-29 2012-10-17 国立大学法人東京工業大学 視標位置測定装置
EP2071515A1 (en) * 2007-12-11 2009-06-17 Honda Research Institute Europe GmbH Visually tracking an object in real world using 2D appearance and multicue depth estimations
JP2009168626A (ja) * 2008-01-16 2009-07-30 Canon Inc 位置姿勢計測装置、位置姿勢計測方法
JP4956456B2 (ja) * 2008-02-05 2012-06-20 キヤノン株式会社 画像処理装置、画像処理方法
JP5181704B2 (ja) * 2008-02-07 2013-04-10 日本電気株式会社 データ処理装置、姿勢推定システム、姿勢推定方法およびプログラム
JP5150307B2 (ja) * 2008-03-03 2013-02-20 株式会社トプコン 地理データ収集装置
JP5150310B2 (ja) * 2008-03-04 2013-02-20 株式会社トプコン 地理データ収集装置
JP5674465B2 (ja) * 2008-04-23 2015-02-25 レノボ・イノベーションズ・リミテッド(香港) 画像処理装置、カメラ、画像処理方法およびプログラム
US20100045701A1 (en) * 2008-08-22 2010-02-25 Cybernet Systems Corporation Automatic mapping of augmented reality fiducials
KR101185589B1 (ko) * 2008-11-14 2012-09-24 (주)마이크로인피니티 움직임 감지를 통한 사용자 명령 입력 방법 및 디바이스
US8330611B1 (en) * 2009-01-15 2012-12-11 AvidaSports, LLC Positional locating system and method
US8988240B2 (en) * 2009-01-15 2015-03-24 AvidaSports, LLC Performance metrics
US9767351B2 (en) 2009-01-15 2017-09-19 AvidaSports, LLC Positional locating system and method
JP2010216968A (ja) * 2009-03-16 2010-09-30 Fuji Xerox Co Ltd 位置計測システムおよびプログラム
FR2944174B1 (fr) * 2009-04-03 2017-12-08 European Aeronautic Defence And Space Company - Eads France Procede d'extension virtuelle et d'enrichissement du champ d'observation d'une scene.
MX343763B (es) * 2009-05-01 2016-11-18 Hy-Ko Products Sistema de identificación de llave en blanco con exploración digital de ranura.
WO2012001793A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 画像処理プログラムおよび画像処理装置
JP5698480B2 (ja) 2010-09-02 2015-04-08 株式会社トプコン 測定方法及び測定装置
US8619124B2 (en) * 2010-10-14 2013-12-31 Industrial Technology Research Institute Video data processing systems and methods
KR101748180B1 (ko) * 2010-12-31 2017-06-16 주식회사 케이티 영상으로부터 피사체의 크기를 측정하기 위한 방법 및 장치
JP5178860B2 (ja) * 2011-02-24 2013-04-10 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
JP5016723B2 (ja) 2011-02-24 2012-09-05 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
JP4989768B2 (ja) 2011-02-24 2012-08-01 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP2011134343A (ja) 2011-02-24 2011-07-07 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP4967065B2 (ja) 2011-02-24 2012-07-04 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP5026604B2 (ja) 2011-02-24 2012-09-12 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
US9342886B2 (en) * 2011-04-29 2016-05-17 Qualcomm Incorporated Devices, methods, and apparatuses for homography evaluation involving a mobile device
JP5834292B2 (ja) * 2011-05-09 2015-12-16 アルプス・グリーンデバイス株式会社 電流センサ
CN102322826A (zh) * 2011-05-24 2012-01-18 上海瑞伯德智能系统科技有限公司 一种物体三维表面数据的改进的测量方法
DE102011114115A1 (de) * 2011-09-25 2013-03-28 Zdenko Kurtovic Verfahren und Anordnung zur Bestimmung der Lage eines Meßpunktes im geometrischen Raum
EP2773896B1 (en) * 2011-11-02 2018-05-30 Wagner, Steven D. Actively stabilized payload support apparatus and methods
JP5728372B2 (ja) 2011-11-30 2015-06-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
US9588582B2 (en) 2013-09-17 2017-03-07 Medibotics Llc Motion recognition clothing (TM) with two different sets of tubes spanning a body joint
WO2014034035A1 (ja) * 2012-08-31 2014-03-06 日本電気株式会社 位置姿勢推定装置、位置姿勢推定方法および位置姿勢推定プログラム
US20140112201A1 (en) 2012-10-24 2014-04-24 International Business Machines Corporation Forming a Convex Polygon of Mobile Sensors
JP6061770B2 (ja) * 2013-04-25 2017-01-18 日本放送協会 カメラ姿勢推定装置及びそのプログラム
US10247556B2 (en) * 2013-07-23 2019-04-02 The Regents Of The University Of California Method for processing feature measurements in vision-aided inertial navigation
US20150042791A1 (en) * 2013-08-09 2015-02-12 Postea, Inc. Apparatus, systems and methods for enrollment of irregular shaped objects
US9747680B2 (en) 2013-11-27 2017-08-29 Industrial Technology Research Institute Inspection apparatus, method, and computer program product for machine vision inspection
JP6425405B2 (ja) * 2014-04-16 2018-11-21 キヤノン株式会社 情報処理装置、方法、プログラム
US10198865B2 (en) 2014-07-10 2019-02-05 Seiko Epson Corporation HMD calibration with direct geometric modeling
JP2016033474A (ja) * 2014-07-31 2016-03-10 セイコーエプソン株式会社 位置算出方法及び位置算出装置
US9548014B2 (en) * 2014-08-04 2017-01-17 Canon Kabushiki Kaisha Information processing apparatus and information processing method
US9846974B2 (en) * 2014-12-05 2017-12-19 Stmicroelectronics S.R.L. Absolute rotation estimation including outlier detection via low-rank and sparse matrix decomposition
CN104504691B (zh) * 2014-12-15 2017-05-24 大连理工大学 基于低秩纹理的摄像机位置和姿态测量方法
US9832085B1 (en) * 2015-01-20 2017-11-28 Mehdi Malboubi System for estimating unknown attributes of interest in the under-determined inverse problem and a process of accomplishing the same
JP6325116B2 (ja) * 2015-05-23 2018-05-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 慣性および画像センサを用いたセンサ融合
WO2016187760A1 (en) 2015-05-23 2016-12-01 SZ DJI Technology Co., Ltd. Sensor fusion using inertial and image sensors
US10192133B2 (en) 2015-06-22 2019-01-29 Seiko Epson Corporation Marker, method of detecting position and pose of marker, and computer program
US10192361B2 (en) 2015-07-06 2019-01-29 Seiko Epson Corporation Head-mounted display device and computer program
EP3396313B1 (en) * 2015-07-15 2020-10-21 Hand Held Products, Inc. Mobile dimensioning method and device with dynamic accuracy compatible with nist standard
KR102462799B1 (ko) * 2015-11-05 2022-11-03 삼성전자주식회사 자세 추정 방법 및 자세 추정 장치
US10347048B2 (en) 2015-12-02 2019-07-09 Seiko Epson Corporation Controlling a display of a head-mounted display device
US9686539B1 (en) * 2016-06-12 2017-06-20 Apple Inc. Camera pair calibration using non-standard calibration objects
GB2552385B (en) 2016-07-22 2021-09-15 Cmr Surgical Ltd Calibrating position sensor readings
IL251544A0 (en) * 2017-04-03 2017-06-29 Elbit Systems Electro Optics Elop Ltd A system and method for increasing the coverage of the photographed area using a photographic device
JP7025156B2 (ja) * 2017-09-19 2022-02-24 株式会社トプコン データ処理装置、データ処理方法およびデータ処理用プログラム
NL2020405B1 (en) 2018-02-08 2019-08-19 Fugro N V Method of and apparatus for analyzing images
JP7204346B2 (ja) 2018-06-05 2023-01-16 キヤノン株式会社 情報処理装置、システム、情報処理方法及びプログラム
JP7257752B2 (ja) * 2018-07-31 2023-04-14 清水建設株式会社 位置検出システム
JP7031540B2 (ja) 2018-09-07 2022-03-08 オムロン株式会社 対象物認識装置、マニピュレータ、および移動ロボット
GB201818357D0 (en) * 2018-11-12 2018-12-26 Forsberg Services Ltd Locating system
DE102019201526A1 (de) * 2019-02-06 2020-08-06 Ford Global Technologies, Llc Verfahren und System zum Erfassen und Messen der Position eines Bauteils gegenüber einer Referenzposition sowie der Verschiebung und der Verdrehung eines sich relativ zu einem Bezugssystem bewegenden Bauteils
EP3889906A1 (en) * 2020-03-31 2021-10-06 Continental Automotive GmbH Method and system for calculating vehicle trailer angle
EP4203188A4 (en) * 2020-10-12 2024-03-20 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE WITH UWB ANTENNA AND 6DOF IMPLEMENTATION METHOD
US11523033B2 (en) 2020-12-16 2022-12-06 Volvo Car Corporation Camera mount assembly for incremental angle measurement in three axes
US20240249433A1 (en) * 2021-05-17 2024-07-25 Nec Corporation Imaging condition determination method, imaging condition determination system, imaging condition determination device, and computer readable medium

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0562845B1 (en) * 1992-03-24 1999-02-03 Kabushiki Kaisha Toshiba Variable length code recording/playback apparatus for a video recorder
US5576902A (en) * 1993-01-13 1996-11-19 Hitachi America, Ltd. Method and apparatus directed to processing trick play video data to compensate for intentionally omitted data
US6064794A (en) * 1995-03-30 2000-05-16 Thomson Licensing S.A. Trick-play control for pre-encoded video
US6064749A (en) * 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
US6268857B1 (en) * 1997-08-29 2001-07-31 Xerox Corporation Computer user interface using a physical manipulatory grammar
US6340957B1 (en) * 1997-08-29 2002-01-22 Xerox Corporation Dynamically relocatable tileable displays
JP3796449B2 (ja) * 2002-01-31 2006-07-12 キヤノン株式会社 位置姿勢決定方法および装置並びにコンピュータプログラム
JP2003279310A (ja) * 2002-03-22 2003-10-02 Canon Inc 位置姿勢補正装置、及び位置姿勢補正方法
JP4136859B2 (ja) 2003-01-10 2008-08-20 キヤノン株式会社 位置姿勢計測方法
JP4743818B2 (ja) 2003-04-04 2011-08-10 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP4532856B2 (ja) * 2003-07-08 2010-08-25 キヤノン株式会社 位置姿勢計測方法及び装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102472609B (zh) * 2009-07-28 2014-11-05 佳能株式会社 位置和姿势校准方法及设备
CN102472609A (zh) * 2009-07-28 2012-05-23 佳能株式会社 位置和姿势校准方法及设备
US9733339B2 (en) 2009-07-28 2017-08-15 Canon Kabushiki Kaisha Position and orientation calibration method and apparatus
US9841271B2 (en) 2010-02-24 2017-12-12 Canon Kabushiki Kaisha Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
CN102763132B (zh) * 2010-02-24 2015-03-25 佳能株式会社 三维测量设备和处理方法
CN102763132A (zh) * 2010-02-24 2012-10-31 佳能株式会社 三维测量设备、处理方法和非暂态计算机可读存储介质
CN102385695A (zh) * 2010-09-01 2012-03-21 索尼公司 人体三维姿势识别方法和装置
CN103003845B (zh) * 2011-03-02 2016-05-25 松下电器产业株式会社 姿势估计装置、姿势估计系统、及姿势估计方法
US9480417B2 (en) 2011-03-02 2016-11-01 Panasonic Corporation Posture estimation device, posture estimation system, and posture estimation method
CN103003845A (zh) * 2011-03-02 2013-03-27 松下电器产业株式会社 姿势估计装置、姿势估计系统、及姿势估计方法
CN105704374A (zh) * 2016-01-29 2016-06-22 努比亚技术有限公司 一种图像转换装置、方法和终端
CN107869984B (zh) * 2016-09-28 2020-08-11 本田技研工业株式会社 位置姿势推定方法和位置姿势推定系统
CN107869984A (zh) * 2016-09-28 2018-04-03 本田技研工业株式会社 位置姿势推定方法和位置姿势推定系统
CN110140023A (zh) * 2017-01-17 2019-08-16 国立研究开发法人产业技术综合研究所 标记器和使用了标记器的姿势推定方法及位置姿势推定方法
US10928191B2 (en) 2017-01-17 2021-02-23 National Institute Of Advanced Industrial Science And Technology Marker, and posture estimation method and position and posture estimation method using marker
CN110140023B (zh) * 2017-01-17 2021-07-30 国立研究开发法人产业技术综合研究所 标记器和使用了标记器的姿势推定方法及位置姿势推定方法
CN110581945A (zh) * 2018-06-11 2019-12-17 欧姆龙株式会社 控制系统、控制装置、图像处理装置以及存储介质
CN110581945B (zh) * 2018-06-11 2021-02-23 欧姆龙株式会社 控制系统、控制装置、图像处理装置以及存储介质
CN111935396A (zh) * 2020-07-01 2020-11-13 青岛小鸟看看科技有限公司 VR一体机的6DoF数据处理方法和装置
CN113296287A (zh) * 2021-05-14 2021-08-24 中国科学院长春光学精密机械与物理研究所 一种物镜系统元件位置偏差精密装调方法

Also Published As

Publication number Publication date
US8073201B2 (en) 2011-12-06
JP2006242943A (ja) 2006-09-14
EP1852821A1 (en) 2007-11-07
US20090022369A1 (en) 2009-01-22
WO2006082928A1 (ja) 2006-08-10
CN101116101B (zh) 2012-09-26
EP1852821B1 (en) 2013-04-10
JP4859205B2 (ja) 2012-01-25
EP1852821A4 (en) 2009-06-24

Similar Documents

Publication Publication Date Title
CN101116101A (zh) 位置/姿势测量方法和设备
JP5036260B2 (ja) 位置姿勢算出方法及び装置
JP4593968B2 (ja) 位置姿勢計測方法および装置
JP5746477B2 (ja) モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
US7613361B2 (en) Information processing method and device
EP1596330B1 (en) Estimating position and orientation of markers in digital images
JP4785416B2 (ja) 位置姿勢計測方法及び装置
US7467061B2 (en) Information processing method and apparatus for finding position and orientation of targeted object
JP5230114B2 (ja) 情報処理装置、情報処理方法
JP4914039B2 (ja) 情報処理方法および装置
JP5728372B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2008261755A (ja) 情報処理装置、情報処理方法
JP4726191B2 (ja) 位置姿勢補正装置、位置姿勢補正方法、そのプログラムおよび記憶媒体
JP2005351886A (ja) 位置姿勢計測方法および情報処理装置
JP2009168626A (ja) 位置姿勢計測装置、位置姿勢計測方法
JP4612804B2 (ja) 位置姿勢計測方法および情報処理装置
JP5620972B2 (ja) 情報処理装置、情報処理方法
JP2015215191A (ja) 位置姿勢計測装置、方法及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120926

Termination date: 20190203