CN110869978A - 信息处理装置和信息处理方法 - Google Patents

信息处理装置和信息处理方法 Download PDF

Info

Publication number
CN110869978A
CN110869978A CN201880045839.3A CN201880045839A CN110869978A CN 110869978 A CN110869978 A CN 110869978A CN 201880045839 A CN201880045839 A CN 201880045839A CN 110869978 A CN110869978 A CN 110869978A
Authority
CN
China
Prior art keywords
orientation
image
dimensional map
key frame
information processing
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
CN201880045839.3A
Other languages
English (en)
Other versions
CN110869978B (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 CN110869978A publication Critical patent/CN110869978A/zh
Application granted granted Critical
Publication of CN110869978B publication Critical patent/CN110869978B/zh
Active 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
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/26Measuring arrangements characterised by the use of optical techniques 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
    • G01B21/045Correction of measurements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • 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/30204Marker
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

基于三维地图并且基于摄像设备拍摄的图像来推导出摄像设备在拍摄图像时的第一位置和姿势,在三维地图中,摄像设备拍摄的场景的三维信息与摄像设备的位置和姿势相互关联。基于所拍摄的图像以及所推导出的第一位置和姿势来更新三维地图。推导出第一位置和姿势与摄像设备的第二位置和姿势之间的相对位置和姿势,所述第二位置和姿势是通过与第一位置和姿势不同的技术或者在与第一位置和姿势不同的时间推导出的。基于相对位置和姿势来校正三维地图。

Description

信息处理装置和信息处理方法
技术领域
本发明涉及一种获取摄像装置的位置和姿势的技术。
背景技术
提供了一种SLAM(同时定位与建图)技术,该技术同时创建场景的三维地图(map)并使用图像测量照相机的位置和姿势。该技术用于MR/AR(混合现实/增强现实)中的真实空间与虚拟对象之间的对准、机器人的自身位置估计等。
在使用图像的SLAM技术中,基于测量的照相机的位置和姿势来连续更新/扩展三维地图。由于使用该图像测量的照相机的位置和姿势包括误差,因此三维地图也包括误差。此外,由于基于包括误差的三维地图来测量照相机的位置和姿势,因此照相机的位置和姿势也包括误差。结果,在三维地图中累积了较大的误差。为了解决该问题,根据非专利文献1,使用图像相似性来识别照相机返回到几乎同一位置的事实(闭环),并且基于识别结果来校正三维地图,从而减少了累积误差。
引用列表
非专利文献
非专利文献1:J.Engel,J.Stuckler,and D.Cremers,"Large-Scale Direct SLAMwith Stereo Cameras,"Proc.2015IEEE/RSJ International Conference onIntelligent Robots and Systems(IROS),pp.1935-1942,2015.
发明内容
技术问题
在非专利文献1中公开的方法中,如果照相机的移动范围受到限制,则累积的误差不能充分减少,因此,所创建的三维地图的精度低。考虑到该问题而做出了本发明,并且本发明提供了一种技术,该技术即使在诸如照相机的摄像装置的移动范围受到限制的情况下,也能够减少在三维地图中累积的误差。
解决问题的方案
根据本发明的一个方面,提供一种信息处理装置,其特征在于包括:保持部,用于保持三维地图,在三维地图中,摄像装置拍摄的场景的三维信息与摄像装置的位置和姿势相互关联;第一推导部,用于基于三维地图和摄像装置拍摄的图像来推导出摄像装置在拍摄图像时的第一位置和姿势;更新部,用于基于拍摄的图像和推导出的第一位置和姿势来更新三维地图;第二推导部,用于推导出第一位置和姿势与摄像装置的第二位置和姿势之间的相对位置和姿势,所述第二位置和姿势是通过与推导第一位置和姿势的方法不同的方法或者在与推导第一位置和姿势的时间点不同的时间点推导出的;以及校正部,用于基于相对位置和姿势来校正三维地图。
本发明的有益效果
在根据本发明的布置中,即使诸如照相机的摄像装置的移动范围受到限制的情况下,也可以减少在三维地图中累积的误差。
通过以下结合附图进行的描述,本发明的其他特征和优点将变得显而易见,在附图的所有图中,相同的附图标记标示相同或相似的部分。
附图说明
包括在本说明书中并构成本说明书的一部分的附图,示出了本发明的实施例,并与本描述一起用于说明本发明的原理。
图1是示出计算机装置的硬件布置的示例的框图;
图2是示出系统的功能布置的示例的框图;
图3是用于说明在真实空间中布置的辅助特征的图;
图4是由信息处理装置1执行的处理的流程图;
图5是步骤S1050中的处理的流程图;
图6是示出系统的功能布置的示例的框图;
图7是由信息处理装置2执行的处理的流程图;
图8是示出系统的功能布置的示例的框图;
图9是步骤S1060中的处理的流程图;以及
图10是示出GUI(窗口)的示例的图。
具体实施方式
下面将参照附图描述本发明的实施例。请注意,下面要描述的实施例是本发明的具体实现方式的示例或者所附权利要求中所述的布置的具体示例。
[第一实施例]
本实施例将描述一种情况,其中与场景中最初存在的特征不同的辅助特征被人为地布置在场景中,并用于校正三维地图。将参照图2所示的框图描述根据本实施例的系统的功能布置的示例。如图2所示,根据本实施例的系统包括摄像单元170和信息处理装置1。
首先将描述摄像单元170。摄像单元170是立体照相机,并且包括第一照相机(例如,左照相机)和第二照相机(例如,右照相机)。第一照相机和第二照相机中的各个拍摄场景的运动图像,并将拍摄的场景的运动图像(各个帧的拍摄图像)输出到信息处理装置1。
接下来将描述信息处理装置1。图像输入单元120按时间顺序(例如30帧/秒)从摄像单元170(从第一照相机和第二照相机中的各个)输入拍摄图像,并且将输入的拍摄图像发送到后续级的第一推导单元130和第二推导单元160。
第一推导单元130基于从图像输入单元120输入的拍摄图像和保持单元110中保持的三维地图,推导出摄像单元170在对拍摄图像进行拍摄时在世界坐标系中的位置和姿势(第一获取处理)。世界坐标系是以真实空间(场景)中的一个点作为原点并且以原点处相互正交的三个轴作为x、y、z轴的坐标系。在本实施例中,获得形成摄像单元170(立体照相机)的两个照相机(第一照相机和第二照相机)中的一个(第一照相机)在世界坐标系中的位置和姿势,作为“摄像单元170在世界坐标系中的位置和姿势”。在本实施例中,假设第一照相机在世界坐标系中的位置和姿势表示通过将指示第一照相机在世界坐标系中的位置的三维向量与指示第一照相机在世界坐标系中的姿势的三维向量组合而获得的六维向量。第一照相机的姿势由穿过世界坐标系原点的旋转轴和绕该旋转轴的旋转角度表示。假设指示姿势的三维向量的方向表示旋转轴的方向,并且范数(norm)表示旋转角度。另外,在本实施例中,以第一照相机的光轴为Z轴、第一照相机的成像面的水平方向为X轴且第一照相机的成像面的垂直方向为Y轴的三维坐标系以下被称为照相机坐标系,并且第一照相机的位置和姿势以下被称为摄像单元170的位置和姿势。
假设已知第一照相机和第二照相机中的各个的内部参数(焦距fx(图像的水平方向)和fy(图像的垂直方向)、图像中心位置cx(图像的水平方向)和cy(图像的垂直方向)以及镜头畸变参数)。各个照相机的内部参数预先通过例如Zhang方法(Z.Zhang,"A flexiblenew technique for camera calibration,"IEEE Trans.on Pattern Analysis andMachine Intelligence,vol.22,no.11,pp.1330-1334,2000)被校准。另外,形成摄像单元170的两个照相机(第一照相机和第二照相机)之间的相对位置和姿势(外部参数)预先被校准。立体照相机的外部参数是通过如下方式而获得:通过同时用左照相机和右照相机拍摄图案而获知该图案的三维形状,参考该图案获得各个照相机的位置和姿势,并且将各个照相机的位置和姿势变换为参考立体照相机的左照相机(在本实施例中为第一照相机)的位置和姿势。假设将摄像单元170的内部参数和外部参数保持在信息处理装置1中的存储器(未示出)中或信息处理装置1可访问的外部存储器中。
如图3所示,保持单元110保持人为地布置在真实空间(场景)中的各个辅助特征的布置信息(世界坐标系中的各个辅助特征的位置和姿势以及辅助特征的标识符)。在本实施例中,如图3所示,内部包括独立标识符的单色正方形特征被用作各个辅助特征。参考正方形中预定位置处的单色图案,可以指定正方形的标识符。通过例如日本专利第04532982号(或美国专利第7529387号)中公开的方法预先校准世界坐标系中的各个辅助特征的位置和姿势。
保持单元110保持由第一推导单元130使用的场景的三维地图。在本实施例中,类似于非专利文献1,三维地图被保持为一组关键帧(key frame)。
各个关键帧保持由摄像单元170拍摄的图像(灰度图像)I、图像大小与拍摄图像的图像大小相同的深度图D以及方差图V。深度图D中的各个像素保持从摄像单元170到与该像素相对应的点的距离(深度值)的倒数(逆深度),即,照相机坐标系中的对应点的Z坐标的倒数。在本实施例中,类似于非专利文献1,通过将灰度I上的像素当中的亮度梯度大于阈值的像素设置为特征点,在与深度图D中的特征点相对应的位置处的像素中登记与该特征点相对应的深度值的倒数。方差图V中的各个像素保持逆深度的方差。
各个关键帧将摄像单元170在拍摄保持在该关键帧中的拍摄图像时在世界坐标系中的位置和姿势保持为属性。关键帧中保持的属性(摄像单元170在世界坐标系中的位置和姿势)以下可以被称为“关键帧的位置和姿势”。
各个关键帧可以将摄像单元170在世界坐标系中的位置和姿势保持为“基准位置和基准姿势”,这些位置和姿势是基于保持在关键帧中的拍摄图像中的辅助特征来估计的。
另外,各个关键帧可以保持“关键帧对应信息”以用于地图优化。关键帧对应信息保持形成一对关键帧的两个关键帧中的各个的标识号,以及关键帧之间的相对位置和姿势。关键帧对应信息用于地图优化。
更新单元140基于拍摄图像以及由第一推导单元130推导出的摄像单元170的位置和姿势来更新保持在保持单元110中的三维地图。
校正单元150使用由第二推导单元160推导出的关键帧之间的相对位置和姿势来校正保持在保持单元110中的三维地图。该校正减小了三维地图中的累积误差,从而获得几何匹配的地图。
第二推导单元160进行基于从由图像输入单元120输入的拍摄图像中检测到的辅助特征将摄像单元170的位置和姿势推导为基准位置和基准姿势的处理,以及推导关键帧之间的相对位置和姿势的处理。推导出的相对位置和姿势由校正单元150使用。
控制单元199控制整个信息处理装置1的操作。例如,控制单元199控制包括图像输入单元120、第一推导单元130、第二推导单元160、更新单元140以及校正单元150的功能单元的操作。接下来将参照图4中所示的流程图描述信息处理装置1的操作。
在步骤S1010中,进行在保持单元110中保持的三维地图的初始化处理。在三维地图初始化处理中,更新单元140将由图像输入单元120输入的立体图像(由第一照相机拍摄的图像和由第二照相机拍摄的图像的集合)当中的由第一照相机拍摄的图像设置为基准图像。由第一照相机拍摄的图像以下可以被称为第一拍摄图像,而由第二照相机拍摄的图像以下可以被称为第二拍摄图像。然后,更新单元140将其亮度梯度等于或大于基准图像上的阈值的像素,设置为特征点,并且通过立体匹配,在与基准图像相同的集合的第二拍摄图像中,搜索与该特征点对应的特征点。更新单元140使用特征点和对应的特征点通过三角测量法来计算特征点在照相机坐标系中的逆深度。更新单元140将与特征点相对应的像素中的所计算的特征点的逆深度登记在深度图D中。此外,对于深度图D上的各个像素,更新单元140估计使用左图像和右图像(第一拍摄图像和第二拍摄图像)的视差、摄像单元170的基线长度以及图像噪声的方差计算的逆深度的方差,并将其保存在方差图V中。更新单元140将基准图像设置为灰度图像I,生成包括灰度图像I、深度图D以及方差图V的关键帧,并将其添加到三维地图。注意,此时,在拍摄灰度图像I时,摄像单元170在世界坐标系中的位置和姿势可以被登记在三维地图中。在拍摄灰度图像I时,可以使用任何方法来获得摄像单元170在世界坐标系中的位置和姿势。
在步骤S1020中,图像输入单元120获得从摄像单元170输入的立体图像。在步骤S1030中,第一推导单元130使用在步骤S1020中由图像输入单元120输入的立体图像和在保持单元110中保持的三维地图来推导摄像单元170在世界坐标系中的位置和姿势。使用立体图像和三维地图来推导摄像单元170的位置和姿势的方法是众所周知的。例如,可以使用非专利文献1中公开的方法。
在步骤S1040中,基于在步骤S1030中推导出的摄像单元170的位置和姿势,更新单元140更新在保持单元110中保持的关键帧,或者向保持单元110添加新的关键帧。稍后将描述步骤S1040中的处理的细节。
当在步骤S1040中将新的关键帧添加到保持单元110时,进行步骤S1050中的处理。在步骤S1050中,第二推导单元160推导要用于校正三维地图的、关键帧之间的相对位置和姿势。稍后将描述步骤S1050中的处理的细节。
在步骤S1060中,校正单元150使用在步骤S1050中获得的关键帧之间的相对位置和姿势来校正三维地图。由于如果也校正保持在关键帧中的深度图D,则要花费时间进行计算,因此,在本实施例中,仅校正了关键帧在世界坐标系中的位置和姿势。使用从关键帧在世界坐标系中的位置和姿势计算的相对位置和姿势与在步骤S1050中获得的关键帧之间的相对位置和姿势之间的误差的总和作为评估函数来校正关键帧在世界坐标系中的位置和姿势。令M(i)和M(j)为4×4矩阵,分别表示关键帧i和j在世界坐标系中的位置和姿势,而Mrel(i,j)为4×4矩阵,表示关键帧i和j之间的相对位置和姿势。如下式所给出的,矩阵M(i)、M(j)和Mrel(i,j)中的各个都是左上3×3矩阵表示旋转矩阵R且最右列为表示平移分量t的矩阵的矩阵。
Figure BDA0002360494330000071
假设矩阵M(i)和M(j)是各个用于将世界坐标系中的位置和姿势变换为照相机坐标系中的位置和姿势的矩阵。还假设矩阵Mrel(i,j)是用于将关键帧j在照相机坐标系中的位置和姿势变换成关键帧i在照相机坐标系中的三维位置的矩阵。在该示例中,矩阵Mrel(i,j)是已知的,并且获得M(i)和M(j)以最小化下式(1)。
∑||M(i)-Mrel(i,j)M(j)||F ...(1)
注意,||matrix||F表示Frobenius范数(矩阵元素的平方和)。式(1)表示三维地图中保存的所有“关键帧对应信息”的总和。由于M(i)和M(j)中的各个是非线性变换,因此通过例如进行重复计算的高斯-牛顿法来进行计算。在步骤S1030中推导出的位置和姿势用作M(i)和M(j)的初始值。优化的M(i)和M(j)被保存为三维地图中关键帧的属性,并在接下来进行地图优化时用作初始值。
在步骤S1070中,控制单元199确定是否满足根据图4所示的流程图的处理的结束条件。各种条件被认为是结束条件。例如,在控制单元199检测到用户对操作单元(未示出)进行操作以输入“根据图4所示的流程图的处理的结束指令”的情况下,控制单元199确定满足结束条件。在满足结束条件的情况下,根据图4所示的流程图的处理完成。另一方面,在不满足结束条件的情况下,处理经由步骤S1070返回到步骤S1020。
接下来将描述步骤S1040中的处理的细节。在步骤S1040中,基于在步骤S1030中推导出的摄像单元170的位置和姿势,更新单元140更新保持在保持单元110中的关键帧或将新的关键帧添加到保持单元110。
例如,更新单元140将保持单元110中保持的关键帧当中的具有与步骤S1030中推导出的摄像单元170的位置和姿势最靠近的位置和姿势作为属性的关键帧,指定为最接近的关键帧。然后,更新单元140获得在最接近的关键帧中包括的灰度图像I中的特征点,并且还获得与在步骤S1020中由图像输入单元120输入的第一拍摄图像中的特征点相对应的特征点。更新单元140获得在步骤S1020中由图像输入单元120输入的第一拍摄图像中的对应特征点的像素数与最接近的关键帧中包括的灰度图像中的特征点的像素数的比率Rin。在Rin小于阈值Tin的情况下,与最接近的关键帧有小的重叠,因此更新单元140确定添加关键帧。另一方面,在Rin等于或大于阈值Tin的情况下,与最接近的关键帧有大的重叠,因此更新单元140确定不添加关键帧(以更新保持在保持单元110中的关键帧)。
在确定添加关键帧的情况下,更新单元140通过进行以下处理将新的关键帧添加到三维地图。首先,更新单元140通过使用在步骤S1020中由图像输入单元120输入的立体图像而进行在步骤S1010中描述的处理,来计算照相机坐标系中的各个特征点的逆深度。更新单元140通过以计算出的逆深度更新从现有关键帧(在三维地图中登记(过去登记)的关键帧)传播的逆深度,来生成新的深度图D。此外,更新单元140使用在现有关键帧中保持的逆深度的方差和新计算的逆深度的方差来生成方差图V。然后,更新单元140将在步骤S1020中由图像输入单元120输入的第一拍摄图像设置为灰度图像I,生成包括在步骤S1040中生成的深度图D和方差图V并包括在步骤S1030中推导出的摄像单元170的位置和姿势作为属性的关键帧,并将所生成的关键帧添加到三维地图。
另一方面,在确定不添加关键帧的情况下,更新单元140通过进行以下处理来更新在保持单元110中保持的关键帧。更具体地,更新单元140使用在步骤S1030中由第一推导单元130推导出的位置和姿势以及在步骤S1020中输入的立体图像来更新现有关键帧的深度图D和方差图V。类似于非专利文献1中公开的方法,使用从立体图像估计的逆深度以及用在关键帧中保持的灰度图像从运动立体估计的逆深度,来更新深度图D和方差图V。
接下来将参照图5所示的流程图描述步骤S1050中的处理的细节。在步骤S1110中,第二推导单元160针对第一拍摄图像和第二拍摄图像中的各个,从该拍摄图像中检测辅助特征。图3所示的辅助特征检测如下。首先,将拍摄图像二值化以生成二进制图像,从二进制图像中检测各个矩形区域,然后基于矩形区域各个顶点的图像坐标计算从正方形到图像坐标的投影变换,从而将矩形区域变换成正方形。然后,通过从图像中读出与正方形中的预定位置相对应的亮度值来指定各个辅助特征的标识符。此时,将指定的标识符与保持单元110中保持的辅助特征的标识符进行对照。在标识符匹配的情况下,保存世界坐标系中的三维坐标与各个顶点的图像坐标之间的对应关系。根据由辅助特征定义的坐标系中顶点的三维坐标以及辅助特征在世界坐标系中的位置和姿势,计算世界坐标系中各个辅助特征的顶点的三维坐标。
在步骤S1120中,第二推导单元160确定从辅助特征获得的信息是否足够。在该示例中,使用在步骤S1110中保存了对应关系的辅助特征的顶点在图像上的分布来确定辅助特征的信息是否足够。更具体地,对于第一拍摄图像和第二拍摄图像中的各个,计算辅助特征的顶点的图像坐标的协方差矩阵。在从第一拍摄图像和第二拍摄图像计算出的协方差矩阵的最小特征值Eig(L)和Eig(R)中的一个小于阈值T_Eig的条件被满足的情况下,确定辅助特征的信息不足,并且处理进入步骤S1130。另一方面,在不满足该条件的情况下,处理进入步骤S1150。
在步骤S1130中,第二推导单元160从保持在保持单元110中的现有关键帧组中,指定具有与在步骤S1040中新添加的关键帧(添加的关键帧)的位置和姿势(属性)靠近的位置和姿势作为属性的关键帧。更具体地,关于添加的关键帧,在世界坐标系中在视轴方向(照相机坐标系的Z轴)上的角度差等于或小于阈值TAngle(阈值)的现有关键帧当中,指定各个关键帧在世界坐标系中的位置差等于或小于阈值TDist的所有的现有关键帧。第二推导单元160计算各个指定的现有关键帧与添加的关键帧之间的相对位置和姿势(第二获取处理),并且在保持单元110中登记所计算的相对位置和姿势、各个现有关键帧的标识号以及作为添加的关键帧的关键帧对应信息的添加的关键帧的标识号。
在步骤S1140中,第二推导单元160从保持单元110指定包括与添加的关键帧中包括的灰度图像I的相似性高的灰度图像I的现有关键帧,并推导出关于指定的现有关键帧的相对位置和姿势。更具体地,第二推导单元160生成在添加的关键帧和现有关键帧的各个中包括的灰度图像I的缩小图像I'。然后,第二推导单元160指定如下现有关键帧:对于各个现有关键帧,在添加的关键帧与现有关键帧之间的缩小图像I'的亮度值的SSD(平方距离的和)最小并且等于或小于阈值TSSD。第二推导单元160以相同的方式计算各个指定的现有关键帧与添加的关键帧之间的相对位置和姿势(第二获取处理)。第二推导单元160在保持单元110中登记计算出的相对位置和姿势、各个现有关键帧的标识号,以及作为所添加的关键帧的关键帧对应信息的所添加的关键帧的标识号。
另一方面,在步骤S1150中,第二推导单元160基于世界坐标系中的三维坐标与在步骤S1110中获得的各个辅助特征的各个顶点的图像坐标之间的对应关系来计算添加的关键帧的基准位置和基准姿势,并将它们登记在添加的关键帧中。通过例如Lepetit等人的方法(V.Lepetit,F.Moreno-Noguer,and P.Fua,"EPnP:an accurate O(n)solution to thePnP problem,"International Journal of Computer Vision,vol.81,no.2,pp.155-166,2009)进行登记位置和登记姿势的计算。
在步骤S1160中,第二推导单元160计算添加的关键帧与保持基准位置和基准姿势的现有关键帧之间的相对位置和姿势(第二获取处理)。令Mnew为表示添加的关键帧的基准位置和基准姿势的4×4矩阵,而Mold为表示现有关键帧的基准位置和基准姿势的4×4矩阵(矩阵Mnew和Mold是用于将世界坐标系中的位置和姿势变换为照相机坐标系中的位置和姿势的矩阵)。此时,通过下式(2)来计算表示关键帧之间的相对位置和姿势的Mrel(new,old)。
Mrel(new,old)=Mnew(Mold) -1 ...(2)
在添加的关键帧之前存在并且相距预定距离以上的现有关键帧当中存在各自保持基准位置和基准姿势的多个现有关键帧的情况下,选择在关键帧的视轴方向(照相机坐标系的Z轴)之间的角度最大的现有关键帧。这旨在通过尽可能多地配对具有不同视点的关键帧来校正三维地图而更多地减少累积误差。所选对的相对位置和姿势以及所选对的各个关键帧的标识号被登记在保持单元110中,作为添加的关键帧中的关键帧对应信息。
如上所述,根据本实施例,即使照相机的移动范围受到限制,也可以通过将使用场景中布置的辅助特征推导出的关键帧之间的相对位置和姿势用于校正三维地图来创建精确的三维地图。
<变型例>
在第一实施例中,已经将摄像单元170解释为立体照相机。然而,立体照相机以外的任何装置都可以用作摄像单元170,只要该装置可以拍摄能够检测到布置在场景中的辅助特征的图像即可。例如,摄像单元170可以是单目照相机,或者可以包括三个或更多个照相机,这些照相机被牢固地固定并且这些照相机之间的相对位置和姿势是已知的。或者,摄像单元170可以是拍摄彩色图像和距离图像的RGBD照相机。
此外,各个辅助特征的形状不限于矩形,并且可以使用任何特征,只要可以从图像中稳定地检测到该特征即可。例如,可以使用三角形、六边形、圆形或椭圆形辅助特征。不需要从图像中指定辅助特征的标识符。例如,在使用圆形辅助特征的情况下,该辅助特征在图像上的位置可以基于由第一推导单元130推导出的摄像单元170的位置和姿势来计算,并且与附近检测到的辅助特征相关联,从而指定辅助特征的标识符。具有标识符和没有标识符的辅助特征可以一起使用。在这种情况下,没有标识符的辅助特征在图像上的位置可以基于从具有标识符的辅助特征计算出的摄像单元170的位置和姿势来计算,并且与附近检测到的辅助特征相关联。
另外,不必总是预先进行各个辅助特征的布置信息的校准。例如,可以在创建场景的三维地图的同时使用由摄像单元170拍摄的图像来进行校准。此时,在各个辅助特征的布置信息的可靠性足够高(例如,该可靠性等于或大于阈值)的情况下,进行使用辅助特征的三维地图的校正,而不是始终进行校正,从而防止三维地图的精度劣化。例如,基于在用于校准的图像组中检测到各个辅助特征的次数的平均值或最小值,来确定各个辅助特征的布置信息的可靠性。检测次数的平均值或最小值越大,可靠性就越高。
此外,确定各个辅助特征的信息是否足够的标准不限于图像上辅助特征的分布。例如,在图像上检测到的辅助特征的数量等于或大于阈值的情况下,可以确定辅助特征的信息是足够的。或者,可以基于辅助特征的数量和图像上的辅助特征的分布的组合来进行确定处理。
当从各个保持基准位置和基准姿势的关键帧中指定要用于计算相对位置和姿势的关键帧时,可以仅以观察到共用辅助特征的关键帧为目标。
[第二实施例]
在以下将描述的包括本实施例的实施例和变型例中,将描述与第一实施例的不同之处,并且除非另有特别说明,否则认为其余部分与第一实施例类似。本实施例将描述如下情况:将测量位置和姿势的传感器安装在摄像单元170上并且将该传感器的测量值用于三维地图的校正。
将参照图6所示的框图描述根据本实施例的系统的功能布置的示例。参照图6,与图2中相同的附图标记表示相似的功能单元,并且将省略其描述。如图6所示,根据本实施例的系统包括摄像单元170、传感器290和信息处理装置2。
首先将描述传感器290。传感器290测量摄像单元170在世界坐标系中的位置和姿势,并将测量值输出到信息处理装置2。在该实施例中,假设传感器290是Bauer等人的文献(M.Bauer,M.Schlegel,D.Pustka,N.Navab,and G.Klinker,"Predicting and estimatingthe accuracy of n-occular optical tracking systems,"Proc.5th IEEE and ACMInternational Symposium on Mixed and Augmented Reality,pp.43-51,2006)中公开的光学位置和姿势传感器。该光学位置和姿势传感器通过在测量目标上布置多个标记并使用通过由固定在场景中的多个照相机拍摄布置的标记而获得的图像来测量世界坐标系中的测量目标(在该实施例中,摄像单元170)的位置和姿势。
接下来,将描述信息处理装置2。传感器输入单元280输入从传感器290输出的测量值,并将测量值发送到后续级的第二推导单元260。第二推导单元260进行基于测量值推导摄像单元170的位置和姿势作为基准位置和基准姿势的处理,以及推导关键帧之间的相对位置和姿势的处理。推导出的相对位置和姿势由校正单元150使用。
接下来将参照图7所示的流程图说明信息处理装置2的操作。参照图7,与图4中的步骤编号相同的步骤编号表示相同的处理步骤,并且将省略其描述。
在步骤S2020中,图像输入单元120获取从摄像单元170输入的立体图像,并且传感器输入单元280获取从传感器290输入的测量值(摄像单元170在世界坐标系中的位置和姿势)。
在步骤S2040中,类似于上述步骤S1040,更新单元140将新的关键帧添加到三维地图。应用在步骤S2020中获取的摄像单元170的位置和姿势,作为添加的关键帧的属性,即,基准位置和基准姿势。
在步骤S2050中,第二推导单元260使用在步骤S2020中获取的测量值所表示的位置和姿势,作为所添加的关键帧中的基准位置和基准姿势。类似于上述步骤S1160,第二推导单元260计算添加的关键帧与保持基准位置和基准姿势的各个现有关键帧之间的相对位置和姿势。然后,第二推导单元260从各个保持基准位置和基准姿势的现有关键帧中,选择与添加的关键帧的距离最长的现有关键帧,并在添加的关键帧中登记相对于所选择的现有关键帧的相对位置和姿势、所选择的现有关键帧的标识号以及添加的关键帧的标识号,作为关键帧对应关系信息。
如上所述,根据本实施例,即使照相机的移动范围受到限制,也可以通过基于测量位置和姿势的传感器的测量值推导出关键帧之间的相对位置和姿势来减少在三维地图中累积的误差。
<变型例>
传感器290不限于光学位置和姿势传感器,并且可以是其他类型的位置和姿势传感器。例如,可以使用磁性位置和姿势传感器。另外,不一定要测量位置和姿势两者,而可以采用测量位置和姿势之一的传感器。也就是说,可以使用利用陀螺仪、加速度传感器或磁传感器测量摄像单元170的姿势的姿势传感器,或者诸如GPS的测量位置的位置传感器。如果使用测量位置和姿势之一的传感器,则获取相对位置或姿势,并且基于相对位置或姿势来校正三维地图(仅校正由传感器测量的分量)。或者,可以将测量位置的传感器和测量姿势的传感器组合用作位置和姿势传感器。
立体照相机以外的任何装置都可以用作摄像单元170,只要该装置可以拍摄能够用于创建场景的三维地图的图像即可。例如,摄像单元170可以是单目照相机,或者可以包括三个或更多个照相机,这些照相机被牢固地固定并且这些照相机之间的相对位置和姿势是已知的。或者,摄像单元170可以是拍摄距离图像的深度照相机或拍摄彩色图像和距离图像的RGBD照相机。
[第三实施例]
在该实施例中,除了像非专利文献1中那样在地图优化中校正各个关键帧的位置和姿势之外,还校正各个特征点的三维坐标。将参照图8所示的框图描述根据本实施例的系统的功能布置的示例。参照图8,与图2中相同的附图标记表示相似的功能单元,并且将省略其描述。如图8所示,根据本实施例的系统包括摄像单元170和信息处理装置3。
校正单元350使用由第二推导单元160推导出的关键帧之间的相对位置和姿势来校正三维地图。根据第一实施例的校正单元150仅校正关键帧的位置和姿势以减少计算时间,因此三维地图的精度低。另一方面,在本实施例中,通过利用计算时间将各个关键帧中保持的深度图以及关键帧的位置和姿势一起校正,从而提高了三维地图的精度。
接下来将参照图4所示的流程图描述信息处理装置3的操作。信息处理装置3执行通过用根据图9所示的流程图的处理替换根据图4所示的流程图的处理中的步骤S1060中的处理而获得的处理。
在根据本实施例的步骤S1060中,校正单元350使用在步骤S1050中获得的关键帧之间的相对位置和姿势作为限制条件来校正三维地图。在三维地图的校正中,使用(1)各个关键帧的特征点的重投影误差的总和与(2)关键帧之间相对位置和姿势的误差的总和(式(1))之和作为评估函数来校正各个关键帧的位置和姿势以及各个特征点的三维坐标。
在根据本实施例的步骤S1060中,将深度图中各个关键帧所保持的特征点分别与深度图中其他关键帧所保持的特征点相关联。接下来,使用特征点的关联结果和关键帧之间的相对位置和姿势来校正三维地图。令Nk为三维地图中保持的关键帧的总数(即,关键帧的标识号为1至Nk)。
在步骤S3110中,校正单元350将变量n的值初始化为1。在步骤S3120中,校正单元350确定n>Nk是否成立。如果作为确定结果,n>Nk成立,则确定所有关键帧中的特征点已经相互关联,并且处理进入步骤S3160;否则,处理进入步骤S3130。
在步骤S3130中,校正单元350进行与步骤S1130中类似的处理,以从保持单元110中保持的现有关键帧组中,指定其位置和姿势靠近关键帧n(标识号为n的关键帧)的位置和姿势的关键帧。此外,校正单元350进行与步骤S1140类似的处理,以从保持单元110指定包括与关键帧n中包括的灰度图像I具有高相似性的灰度图像I的现有关键帧。
在步骤S3140中,校正单元350将关键帧n中的特征点与在步骤S3130中指定的关键帧(指定的关键帧)中的特征点相关联。关联结果在步骤S3160中的参数更新处理中使用,以更新作为关键帧之间的共用参数的各个特征点的三维坐标,而不是针对各个关键帧更新它们。特征点相互关联,如下。首先,使用世界坐标系中各个关键帧的位置和姿势、从深度图计算出的各个特征点的三维坐标以及摄像单元170的内部参数,在指定的关键帧中计算与关键帧n中各个特征点相对应的位置(un,vn)。在指定的关键帧中的特征点当中,选择各个都存在于距位置(un,vn)的距离等于或短于阈值Tneighbour的位置处的特征点。关于关键帧n中的特征点,如果在所选择的特征点中,存在如下特征点:对于各个特征点,靠近该特征点的N×N个像素的亮度值的平方误差的总和等于或小于阈值Tdiff,则将平方误差的总和最小的特征点与关键帧n中的特征点相关联,并且将相同的标识号分配给它们。在步骤S3150中,校正单元350将变量n的值增加1。然后,处理返回到步骤S3120。
另一方面,在步骤S3160中,校正单元350将“各个关键帧在世界坐标系中的位置和姿势”以及“各个特征点的三维坐标”更新为未知参数。如上所述,估计未知参数,以使得(1)形成三维地图的各个关键帧中的特征点的重投影误差的总和与(2)关键帧之间的相对位置和姿势的误差的总和之和最小。重投影误差指示图像上各个特征点的实际检测位置(uobs,vobs)与基于各个关键帧的位置和姿势、各个特征点的三维坐标和摄像单元170的内部参数计算的图像上的位置(ucalc,vcalc)之间的差异。再投影误差的总和Ereproj由下式(3)给出。
Figure BDA0002360494330000171
假设(ucalc(i,j),vcalc(i,j))表示在第i关键帧中第j特征点在图像上的计算位置。还假设(uobs(i,j),vobs(i,j))表示第i关键帧中第j特征点在图像上的检测位置。关键帧之间的相对位置和姿势的误差的总和Erelative由下式(4)给出。
Erelative=Σ||M(s)-Mrel(s,t)M(t)||F ...(4)
在式(4)中,M(s)和M(t)表示4×4刚体变换矩阵,其分别指示关键帧s和t在世界坐标系中的位置和姿势,而Mrel(s,t)表示4×4矩阵,其指示关键帧s和t之间的相对位置和姿势,并且在步骤S1050中获得。在步骤S3160中,估计未知参数,使得由下式(5)给出的式(3)和式(4)的加权和Etotal最小。
Etotal=Ereproj+wErelative ...(5)
通过束调整来进行使式(5)最小化的未知参数的估计。然而,束调整通常是使重投影误差最小化的方法。因此,通过将束调整与Skrypnyk等人的估计位置和姿势以便重投影误差和关键帧之间的位置和姿势的差异之和最小的方法(I.Skrypnyk and D.G.Lowe,"Scene modelling,recognition and tracking with invariant image features,"Proc.3rd IEEE and ACM International Symposium on Mixed and Augmented Reality,pp.110-119,2004)组合来进行估计。
在步骤S3170中,校正单元350将在步骤S3160中已经估计的、各个特征点在世界坐标系中的三维坐标变换为各个关键帧在照相机坐标系中的三维坐标,并将变换后的三维坐标的Z分量变换为逆深度。
在步骤S3180中,校正单元350通过在步骤S3160中已经估计的、各个关键帧在世界坐标系中的位置和姿势来更新各个关键帧的位置和姿势。此外,校正单元350通过在步骤S3170中变换的特征点的逆深度来更新各个关键帧中包括的深度图D中的各个特征点的逆深度。
如上所述,根据本实施例,能够通过使用从场景中布置的辅助特征获得的关键帧之间的相对位置和姿势,除了校正各个关键帧的位置和姿势之外,还校正各个特征点的三维坐标,来提高三维地图的精度。
<变型例>
保持三维地图的方法不限于各个关键帧都保持深度图D的方法。例如,可以像Klein等人的方法(G.Klein and D.Murray,"Parallel Tracking and Mapping for SmallAR Workspaces,"Proc.6th IEEE and ACM International Symposium on Mixed andAugmented Reality,pp.225-234,2007)那样在三维地图中保持一个深度图。
另外,关键帧之间的相对位置和姿势不必总是从场景中布置的辅助特征中推导出,而是可以像第二实施例中那样从测量摄像装置的位置或姿势的传感器获取。
[第四实施例]
尽管图2、图6或图8所示的功能单元可以由硬件来实现,但是保持单元110之外的功能单元可以由软件(计算机程序)来实现。在后一种情况下,包括用作保持单元110的存储器并且可以执行计算机程序的计算机装置适用于根据上述实施例和变型例中的各个的信息处理装置。将参照图1所示的框图来描述可应用于根据上述实施例和变型中的各个的信息处理装置的计算机装置的硬件布置的示例。
CPU 10使用ROM 20或RAM 30中存储的计算机程序和数据来执行处理。因此,CPU10控制整个计算机装置的操作,并且执行或控制作为要由信息处理装置进行的处理的上述各个处理。ROM 20存储计算机装置的设置数据和各种基本程序。
RAM 30具有存储从外部存储设备70加载的计算机程序和数据以及经由输入I/F(接口)40从外部(摄像单元170或传感器290)接收的数据的区域。RAM 30还具有由CPU 10用来执行各种处理的工作区。以这种方式,RAM 30可以适当地提供各种区域。
输入I/F 40用作用于从外部接收输入的I/F。例如,经由输入I/F 40接收从摄像单元170或传感器290输出的拍摄图像或测量值。
显示单元60由CRT或液晶屏幕形成,并且可以通过图像或字符显示CPU 10的处理结果。显示单元60可以是触摸面板屏幕。
外部存储设备70是由硬盘驱动器表示的海量信息存储设备。OS(操作系统)以及被配置为使CPU 10执行作为要由信息处理装置进行的处理的上述处理的计算机程序和数据被保存在外部存储设备70中。外部存储设备70中保存的计算机程序包括被配置为使CPU 10实现图2、图6或图8中的保持单元110以外的功能单元的功能的计算机程序。另外,外部存储设备70中保存的数据包括上述说明中作为已知信息(例如,阈值和各种参数)所描述的数据。外部存储设备70中保存的计算机程序和数据在CPU 10的控制下被适当地加载到RAM 30中,并由CPU 10处理。注意,描述为保持单元110和存储器(未示出)的单元可以通过ROM 20或RAM 30和外部存储设备70来实现。
操作单元80由诸如键盘或鼠标等的用户接口形成,并且用户可以通过对操作单元80进行操作向CPU 10输入各种指令。例如,用户可以通过对操作单元80进行操作来输入图4或图7所示的处理的结束指令。
CPU 10、ROM 20、RAM 30、输入I/F 40、显示单元60、外部存储设备70和操作单元80全部连接到总线90。注意,图1所示的硬件布置仅是可应用于上述信息处理装置的硬件布置的示例。
[第五实施例]
该实施例将描述适用于上述各个实施例的GUI(图形用户界面)。例如,图10示出了GUI(窗口)的示例,该GUI(窗口)呈现通过基于根据图4所示的流程图校正的三维地图构建虚拟空间并从任意视点(虚拟照相机)观看该虚拟空间而获得的图像(虚拟空间图像)。该GUI被显示在例如显示单元60上。
在该GUI中,除了从虚拟照相机看到的虚拟空间的虚拟空间图像之外,还绘制了特征点(显示在将特征点的三维坐标投影到屏幕上的位置处)和表示关键帧的位置和姿势的对象。在该实施例中,各个特征点由圆形点表示,并且指示关键帧的各个对象由模仿照相机的圆锥体表示。用户可以通过对操作单元80进行操作来改变虚拟照相机的位置和姿势、内部参数等,并且从各种视点观察并确认与所创建的三维地图相对应的虚拟空间。在三维地图中存在关键帧对应信息的情况下,可以通过线段连接表示对应关键帧的圆锥体的顶点(对象)来确认用于三维地图校正的关键帧。此时,可以通过根据将关键帧相互关联的方法改变线段的颜色来确认是否有效地使用了辅助特征。也就是说,根据在步骤S1130、步骤S1140和步骤S1160当中的将关键帧相互关联(推导出关键帧之间的相对位置和姿势)的步骤改变连接锥体的线段的颜色。除了特征点和关键帧外,辅助特征也可以显示在GUI上。
在基于第二实施例中描述的传感器的测量值将关键帧相互关联的情况下,另外绘制其他颜色的线段。注意,在本实施例中,除了或代替改变线段的颜色之外,可以改变线段的图案(实线,虚线,粗线,细线等),并且要改变的显示模式不限于颜色。
[第六实施例]
在第一实施例中,正方形、三角形或圆形辅助特征用于校正三维地图。然而,辅助特征不限于它们,并且可以使用这样的三维对象:对于各个三维对象,估计位置和姿势所需的几何信息是已知的。在这种情况下,在根据图4所示的流程图的处理中,在步骤S1050中进行以下处理。
也就是说,在根据本实施例的步骤S1050中,第二推导单元160使用场景中存在或布置的三维对象(以下称为3D对象)来计算关键帧之间的相对位置和姿势。在第一实施例中,基于各个辅助特征的各个顶点的三维坐标与图像坐标之间的对应关系来计算关键帧的基准位置和基准姿势。在该实施例中,基于3D对象的几何信息和保持在关键帧中的图像来计算基准位置和基准姿势。更具体地,保持3D对象的边缘模型,并且通过Drummond等人的方法(T.Drummond and R.Cipolla,"Real-time Visual Tracking of ComplexStructures,"IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.24,no.7,pp.932-946,2002)计算基准位置和基准姿势。
如上所述,根据本实施例,由于可以将估计位置和姿势所需的几何信息是已知的任意3D对象用作辅助特征,因此可以防止场景的风景不受损害。
注意,使用3D对象计算基准位置和基准姿势的方法不限于使用边缘模型的方法,并且可以使用3D对象上的特征点或亮度信息。此外,在除了正常图像之外还可以使用距离图像的情况下,可以通过将三维模型拟合到距离图像来计算基准位置和基准姿势。另外,可以进行三维模型到正常图像和距离图像的拟合。
[第七实施例]
使用图像创建三维地图以及测量摄像单元170的位置和姿势不限于非专利文献1中公开的方法。例如,可以采用使用显式检测的特征点的方法,例如,Klein等人的方法(G.Klein and D.Murray,"Parallel Tracking and Mapping for Small ARWorkspaces,"Proc.6th IEEE and ACM International Symposium on Mixed andAugmented Reality,pp.225-234,2007)。可以采用使用RGBD照相机或深度照相机的方法。
此外,被选择用于计算相对于新添加的关键帧的相对位置和姿势的关键帧的数量不必总是一个,而是可以选择多个关键帧。例如,可以选择与新添加的关键帧相距预定距离以上的所有关键帧,或者可以按照距新添加的关键帧的距离的降序选择多个关键帧。
在推导出位置和姿势以及更新三维地图之后,无需依次进行三维地图的校正。由于校正三维地图需要花费时间,因此可以使用并行处理在导出位置和姿势以及更新三维地图的同时进行三维地图的校正。
在上述各个实施例和变型例中,代替将摄像单元170或传感器290与信息处理装置(信息处理装置1、2或3)分离,摄像单元170或传感器290可以被并入信息处理装置中以被集成。注意,上述实施例和变型例中的一些或全部可以适当地组合和使用,或选择性地使用。
<效果的总结>
即使照相机的移动范围受到限制,也可以通过使用场景中布置的辅助特征推导出的关键帧之间的相对位置和姿势用于校正三维地图来创建精确的三维地图。
另外,即使照相机的移动范围受到限制,也可以通过基于测量位置和姿势的传感器的测量值推导出关键帧之间的相对位置和姿势来创建精确的三维地图。
此外,除了使用基于辅助特征或传感器的测量值推导出的关键帧之间的相对位置和姿势来校正各个关键帧的位置和姿势之外,还可以通过校正各个特征点的三维坐标来提高三维地图的精度。
<定义的总结>
保持单元110中保持的三维地图可以是由一组关键帧表示的任何数据,各个关键帧均由拍摄图像、摄像单元170在摄像时的位置和姿势以及真实空间中几何特征的三维信息形成。例如,真实空间中的几何特征的三维信息可以是参考真实空间的坐标系中的三维坐标,或者可以是关于关键帧的坐标中的深度图或三维坐标。
拍摄真实空间的图像的任何照相机都可以用作摄像单元170。例如,可以采用拍摄灰度图像的照相机或拍摄彩色图像的照相机。另外,可以使用一个照相机,或者可以使用由多个照相机形成的摄像装置,例如,立体照相机。或者,可以使用拍摄距离图像的深度照相机或同时拍摄彩色图像和距离图像的RGBD照相机。
基于输入图像和三维地图而推导出摄像单元170在拍摄输入图像时的位置和姿势的任何单元可以被用作第一推导单元130。例如,可以使用通过将灰度图像上的亮度值的梯度大的各个点设置为特征点而推导出位置和姿势的单元,或者通过从图像中明确地检测特征点来推导出位置和姿势的单元。
使用摄像单元170在摄像时的位置和姿势以及第一推导单元130推导出位置和姿势所依据的图像来更新三维地图的任何单元可被用作更新单元140。例如,可以基于推导出的位置和姿势来更新现有三维地图中的各个特征点的深度图或三维坐标。或者,可以生成新的关键帧并将其添加到三维地图。
推导出关键帧之间的相对位置和姿势的任何单元可以用作第二推导单元160。例如,可以在场景中另外布置辅助特征,并且可以使用基于图像上检测到的特征的信息推导出的各个关键帧的位置和姿势来推导出相对位置和姿势。或者,可以在摄像单元170上安装测量位置或姿势的传感器,并且可以基于摄像单元170的由传感器测量的位置或姿势来推导出相对位置和姿势。
基于从第二推导单元160获得的关键帧之间的相对位置和姿势来校正三维地图的任何单元可以用作校正单元150。例如,可以仅校正各个关键帧的位置和姿势,或者可以另外校正各个特征点的深度图或三维坐标。
(其他实施例)
本发明可以通过经由网络或存储介质向系统或装置供应实现上述实施例的一个或更多个功能的程序并使系统或装置的计算机中的一个或更多个处理器读取和执行该程序的处理来实现。本发明还可以通过用于实现一个或更多个功能的电路(例如,ASIC)来实现。
本发明不限于上述实施例,并且可以在本发明的精神和范围内进行各种改变和变形。因此,为了向公众告知本发明的范围,作出了以下权利要求。
本申请要求于2017年7月11日提交的日本专利申请第2017-135658号的权益,在此通过引用将其全部并入本文。
附图标记列表
110:保持单元,120:图像输入单元,130:第一推导单元,140:更新单元,150:校正单元,160:第二推导单元,170:摄像单元,199:控制单元

Claims (20)

1.一种信息处理装置,其特征在于包括:
保持部,用于保持三维地图,在三维地图中,摄像装置拍摄的场景的三维信息与摄像装置的位置和姿势相互关联;
第一推导部,用于基于三维地图和摄像装置拍摄的图像来推导出摄像装置在拍摄该图像时的第一位置和姿势;
更新部,用于基于拍摄的图像和推导出的第一位置和姿势来更新三维地图;
第二推导部,用于推导出第一位置和姿势与摄像装置的第二位置和姿势之间的相对位置和姿势,所述第二位置和姿势是通过与推导第一位置和姿势的方法不同的方法或者在与推导第一位置和姿势的时间点不同的时间点推导出的;以及
校正部,用于基于相对位置和姿势来校正三维地图。
2.根据权利要求1所述的信息处理装置,其特征在于,第二推导部基于摄像装置拍摄的图像中的特征,在不参考三维地图的情况下,推导出第二位置和姿势。
3.根据权利要求2所述的信息处理装置,其特征在于,所述特征包括人为地布置在场景中的辅助特征。
4.根据权利要求2所述的信息处理装置,其特征在于,所述特征是几何信息已知的三维对象的特征。
5.根据权利要求2所述的信息处理装置,其特征在于,第二推导部使用第一推导部在过去推导出并包括在三维地图中的、摄像装置的位置和姿势,作为第二位置和姿势。
6.根据权利要求5所述的信息处理装置,其特征在于,第二推导部使用在三维地图中包括的位置和姿势当中的与第一推导部新推导出的第一位置和姿势靠近的位置和姿势作为第二位置和姿势。
7.根据权利要求5所述的信息处理装置,其特征在于,第二推导部使用在三维地图中包括的位置和姿势当中的与类似于拍摄图像的图像相关联的位置和姿势作为第二位置和姿势,该拍摄图像与第一推导部新推导出的第一位置和姿势相对应。
8.根据权利要求5所述的信息处理装置,其特征在于,在拍摄图像中的特征不足的情况下,第二推导部使用在三维地图中包括的摄像装置的位置和姿势,作为所述第二位置和姿势。
9.根据权利要求1所述的信息处理装置,其特征在于,保持部将多个关键帧信息保持为三维地图,并且所述多个关键帧信息中的各个包括摄像装置拍摄的图像和该图像中的多个特征点的深度信息,并且与摄像装置的位置和姿势相关联。
10.根据权利要求9所述的信息处理装置,其特征在于,所述多个特征点是图像中的亮度梯度不小于阈值的像素。
11.根据权利要求9所述的信息处理装置,其特征在于,更新部将包括拍摄图像和推导出的第一位置和姿势的信息,作为新的关键帧信息,添加到三维地图。
12.根据权利要求9所述的信息处理装置,其特征在于,更新部基于包括拍摄图像和推导出的第一位置和姿势的信息,修改三维地图中的关键帧信息。
13.根据权利要求12所述的信息处理装置,其特征在于,更新部从三维地图获得与最靠近推导出的第一位置和姿势的位置和姿势相对应的关键帧信息,作为最接近的关键帧信息,并且在拍摄图像和最接近的关键帧信息中的图像满足预定的相似性条件的情况下,修改最接近的关键帧信息。
14.根据权利要求13所述的信息处理装置,其特征在于,所述预定的相似性条件是,拍摄图像中的与最接近的关键帧信息的特征点相对应的特征点的像素数的比率不小于阈值。
15.根据权利要求12所述的信息处理装置,其特征在于,校正部在三维地图的关键帧信息中校正摄像装置的位置和姿势。
16.根据权利要求12所述的信息处理装置,其特征在于,校正部校正摄像装置的位置和姿势以及三维地图中的关键帧信息中的特征点的深度信息。
17.根据权利要求9所述的信息处理装置,其特征在于,所述信息处理装置还包括显示部,其用于基于三维地图显示虚拟空间的图像,并在虚拟空间的图像上显示与关键帧信息相对应的对象。
18.根据权利要求1所述的信息处理装置,其特征在于,第二推导部使用从传感器输入的测量值作为第二位置和姿势的至少一部分,该传感器被配置为测量摄像装置的位置和姿势之一。
19.一种由信息处理装置执行的信息处理方法,其特征在于包括:
第一推导步骤,基于三维地图和摄像装置拍摄的图像来推导出摄像装置在拍摄该图像时的第一位置和姿势,在三维地图中摄像装置拍摄的场景的三维信息与摄像装置的位置和姿势相互关联;
更新步骤,基于拍摄的图像和推导出的第一位置和姿势来更新三维地图;
第二推导步骤,推导出第一位置和姿势与摄像装置的第二位置和姿势之间的相对位置和姿势,所述第二位置和姿势是通过与推导第一位置和姿势的方法不同的方法或者在与推导第一位置和姿势的时间点不同的时间点推导出的;以及
校正步骤,基于相对位置和姿势来校正三维地图。
20.一种计算机程序,用于使计算机用作权利要求1至18中任一项所限定的信息处理装置的各个部。
CN201880045839.3A 2017-07-11 2018-07-09 信息处理装置和信息处理方法 Active CN110869978B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-135658 2017-07-11
JP2017135658A JP6762913B2 (ja) 2017-07-11 2017-07-11 情報処理装置、情報処理方法
PCT/JP2018/025880 WO2019013162A1 (ja) 2017-07-11 2018-07-09 情報処理装置、情報処理方法

Publications (2)

Publication Number Publication Date
CN110869978A true CN110869978A (zh) 2020-03-06
CN110869978B CN110869978B (zh) 2023-04-11

Family

ID=65001923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880045839.3A Active CN110869978B (zh) 2017-07-11 2018-07-09 信息处理装置和信息处理方法

Country Status (5)

Country Link
US (1) US11348323B2 (zh)
JP (1) JP6762913B2 (zh)
CN (1) CN110869978B (zh)
DE (1) DE112018003571T5 (zh)
WO (1) WO2019013162A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111524185A (zh) * 2020-04-21 2020-08-11 上海商汤临港智能科技有限公司 定位方法及装置、电子设备和存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11003939B2 (en) 2018-07-06 2021-05-11 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP6511681B1 (ja) * 2018-10-15 2019-05-15 株式会社Mujin 形状情報生成装置、制御装置、積み降ろし装置、物流システム、プログラム、及び、制御方法
JP7220591B2 (ja) * 2019-03-07 2023-02-10 三菱重工業株式会社 自己位置推定装置、自己位置推定方法及びプログラム
US11636618B2 (en) * 2019-11-14 2023-04-25 Samsung Electronics Co., Ltd. Device and method with simultaneous implementation of localization and mapping
JP7500238B2 (ja) 2020-03-24 2024-06-17 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128799A (ja) * 2008-11-27 2010-06-10 Mitsubishi Electric Corp 複合メディア合成装置及び複合メディア表示システム及び複合メディア合成方法及び複合メディア合成プログラム
CN101996420A (zh) * 2009-08-21 2011-03-30 索尼公司 信息处理装置、信息处理方法及程序
JP2011141828A (ja) * 2010-01-08 2011-07-21 Sony Corp 情報処理装置、情報処理システム及び情報処理方法
JP2015005220A (ja) * 2013-06-21 2015-01-08 キヤノン株式会社 情報表示装置及び情報表示方法
JP2015141676A (ja) * 2014-01-30 2015-08-03 Kddi株式会社 ガイダンス表示装置、方法及びプログラム
CN105023266A (zh) * 2014-04-29 2015-11-04 高德软件有限公司 增强现实实现方法、装置和终端设备
JP2015211363A (ja) * 2014-04-28 2015-11-24 富士通株式会社 表示制御装置、表示制御方法および表示制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4532982B2 (ja) 2004-05-14 2010-08-25 キヤノン株式会社 配置情報推定方法および情報処理装置
ES2745739T3 (es) * 2010-09-20 2020-03-03 Qualcomm Inc Un entorno adaptable para realidad aumentada asistida por la nube
US9674507B2 (en) * 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
AU2013237718A1 (en) * 2013-10-04 2015-04-23 Canon Kabushiki Kaisha Method, apparatus and system for selecting a frame
US20150103183A1 (en) * 2013-10-10 2015-04-16 Nvidia Corporation Method and apparatus for device orientation tracking using a visual gyroscope
JP6237326B2 (ja) * 2014-02-25 2017-11-29 富士通株式会社 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム
JP6503906B2 (ja) * 2015-06-10 2019-04-24 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP2017037426A (ja) 2015-08-07 2017-02-16 キヤノン株式会社 情報処理装置、情報処理方法、プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128799A (ja) * 2008-11-27 2010-06-10 Mitsubishi Electric Corp 複合メディア合成装置及び複合メディア表示システム及び複合メディア合成方法及び複合メディア合成プログラム
CN101996420A (zh) * 2009-08-21 2011-03-30 索尼公司 信息处理装置、信息处理方法及程序
JP2011141828A (ja) * 2010-01-08 2011-07-21 Sony Corp 情報処理装置、情報処理システム及び情報処理方法
JP2015005220A (ja) * 2013-06-21 2015-01-08 キヤノン株式会社 情報表示装置及び情報表示方法
JP2015141676A (ja) * 2014-01-30 2015-08-03 Kddi株式会社 ガイダンス表示装置、方法及びプログラム
JP2015211363A (ja) * 2014-04-28 2015-11-24 富士通株式会社 表示制御装置、表示制御方法および表示制御プログラム
CN105023266A (zh) * 2014-04-29 2015-11-04 高德软件有限公司 增强现实实现方法、装置和终端设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111524185A (zh) * 2020-04-21 2020-08-11 上海商汤临港智能科技有限公司 定位方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN110869978B (zh) 2023-04-11
JP6762913B2 (ja) 2020-09-30
US20200143603A1 (en) 2020-05-07
WO2019013162A1 (ja) 2019-01-17
US11348323B2 (en) 2022-05-31
DE112018003571T5 (de) 2020-04-09
JP2019020778A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
CN110869978B (zh) 信息处理装置和信息处理方法
US11830216B2 (en) Information processing apparatus, information processing method, and storage medium
CN108028871B (zh) 移动设备上的无标记的多用户多对象增强现实
JP6507730B2 (ja) 座標変換パラメータ決定装置、座標変換パラメータ決定方法及び座標変換パラメータ決定用コンピュータプログラム
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
Rambach et al. Learning to fuse: A deep learning approach to visual-inertial camera pose estimation
US10930008B2 (en) Information processing apparatus, information processing method, and program for deriving a position orientation of an image pickup apparatus using features detected from an image
JP6338021B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US10438412B2 (en) Techniques to facilitate accurate real and virtual object positioning in displayed scenes
JP7479324B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6894707B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2017036970A (ja) 情報処理装置、情報処理方法、プログラム
CN113012224B (zh) 定位初始化方法和相关装置、设备、存储介质
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP2016148649A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US11758100B2 (en) Portable projection mapping device and projection mapping system
JP3221384B2 (ja) 三次元座標計測装置
JP7029501B2 (ja) 情報処理装置、情報処理方法
JP2021152764A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2017162449A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
US20240083038A1 (en) Assistance system, image processing device, assistance method and non-transitory computer-readable storage medium
JP2024501191A (ja) 反射性目印および他の特徴を使用して位置特定装置の姿勢を推定するためのシステムおよび方法
CN115526931A (zh) 一种单目初始化方法及系统
CN115601438A (zh) 外参标定方法、装置以及自主移动设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant