CN106052646A - 信息处理装置及信息处理方法 - Google Patents

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

Info

Publication number
CN106052646A
CN106052646A CN201610191851.8A CN201610191851A CN106052646A CN 106052646 A CN106052646 A CN 106052646A CN 201610191851 A CN201610191851 A CN 201610191851A CN 106052646 A CN106052646 A CN 106052646A
Authority
CN
China
Prior art keywords
image
target object
attitude
geometric properties
measurement target
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
CN201610191851.8A
Other languages
English (en)
Other versions
CN106052646B (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 CN106052646A publication Critical patent/CN106052646A/zh
Application granted granted Critical
Publication of CN106052646B publication Critical patent/CN106052646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • 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/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • 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/10004Still image; Photographic image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Geometry (AREA)

Abstract

本发明提供信息处理装置及信息处理方法。为了即使在存在噪声的情形下,也进行鲁棒的位置和姿态测量,获取由摄像装置拍摄的、包括测量对象物体的图像;设置指示构成所述测量对象物体的三维模型的任一个几何特征、或从所述图像中检测到的多个图像特征是否与所述测量对象物体的阴影相对应的标志;基于所述测量对象物体的近似位置和姿态以及所述标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;并基于关联单元的关联结果,推导所述测量对象物体的位置和姿态。

Description

信息处理装置及信息处理方法
技术领域
本发明涉及测量已知三维形状的物体的位置和姿态的技术。
背景技术
在生产现场,已引入机器人自动化来提高生产效率。在机器人装配工作中,需要识别对象物体以获取精确的位置和姿态。作为用于实现这种操作的方法,开发出了使用通过拍摄对象物体获得的灰度图像和距离图像的方法。由于各种因素而生成的噪声混合在灰度图像和距离图像中。因此,期望对噪声具有高鲁棒性(robustness)的方法。
例如,已知如下方法:使用用于将根据通过拍摄对象物体获得的灰度图像和距离图像而获得的测量数据拟合为形状模型的模型拟合方法,来测量照相机的位置和姿态。具体的示例是如下方法:给出对象物体的近似位置和姿态,并且以使得从灰度图像中提取的边缘和从距离图像中获得的距离值被更加准确地拟合为形状模型的方式,最优化位置和姿态。作为用于使照相机的位置和姿态的测量鲁棒的手段,已知如下方法:在能够取得照相机的位置和姿态的范围内以预定采样间隔,生成多个近似位置和姿态;在各近似位置和姿态处进行用于拟合的重复计算;并将最好的拟合结果设置为最终拟合结果。
作为用于使存在于通过拍摄对象物体获得的灰度图像和距离图像中的阴影鲁棒的方法,提出了进行如下处理的方法:在获取的图像中评估关于对象物体的阴影区域的信息之后,不与阴影区域中的伪轮廓错误地关联。在日本特开2012-42396号公报中,在将距离图像中的距离值包括缺损(deficit)的区域确定为阴影区域之后,在用于拟合的最优化计算期间,根据在阴影区域中是否存在相互关联的点,来使用不同的权重系数。
日本特开2012-42396号公报中讨论的方法以生成阴影的部分在距离图像中被明确反映为缺损部的情况为前提,因此无法应对由于诸如二次反射光的影响而在距离图像中具有距离值的阴影。
发明内容
根据本发明的第一方面,提供了一种信息处理装置,其包括:获取单元,其被构造为获取由摄像装置拍摄的、包括测量对象物体的图像;存储单元,其被构造为存储关于构成所述测量对象物体的三维模型的多个几何特征的信息;设置单元,其被构造为在所述多个几何特征与所述图像中的多个图像特征相关联的情况下,针对可能与由所述测量对象物体的阴影引起的图像特征相对应的几何特征,设置标志;关联单元,其被构造为基于所述测量对象物体的近似位置和姿态以及由所述设置单元设置的所述标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及推导单元,其被构造为基于所述关联单元的关联结果,推导所述测量对象物体的位置和姿态。
根据本发明的另一方面,提供了一种信息处理装置,其包括:获取单元,其被构造为获取由摄像装置拍摄的、包括测量对象物体的图像;存储单元,其被构造为存储关于构成所述测量对象物体的三维模型的多个几何特征的信息;设置单元,其被构造为针对从所述图像中检测到的多个图像特征当中由所述测量对象物体的阴影引起的图像特征,设置标志;关联单元,其被构造为基于所述测量对象物体的近似位置和姿态以及所述标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及推导单元,其被构造为基于所述关联单元的关联结果,推导所述测量对象物体的位置和姿态。
根据本发明的又一方面,提供了一种信息处理装置,其包括:获取单元,其被构造为获取由摄像装置拍摄的、包括测量对象物体的图像;存储单元,其被构造为存储关于构成所述测量对象物体的三维模型的多个几何特征的信息;第一设置单元,其被构造为在所述多个几何特征与所述图像中的多个图像特征相关联的情况下,针对可能与由所述测量对象物体的阴影引起的图像特征相对应的几何特征,设置第一标志;第二设置单元,其被构造为针对从所述图像中检测到的所述多个图像特征当中由所述测量对象物体的阴影引起的图像特征,设置第二标志;关联单元,其被构造为基于所述测量对象物体的近似位置和姿态以及所述第一标志和所述第二标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及推导单元,其被构造为基于所述关联单元的关联结果,推导所述测量对象物体的位置和姿态。
根据本说明书中描述的技术,即使包括物体的图像包括阴影,也能够以高精度测量物体的位置和姿态。
通过以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1例示了根据第一至第三示例性实施例的系统的构造。
图2是例示根据第一至第三示例性实施例的各程序的模块构造的框图。
图3是例示根据第一和第二示例性实施例的位置和姿态计算处理的过程的流程图。
图4是例示根据第一示例性实施例的错误关联点检测处理的具体过程的流程图。
图5是例示根据第一和第二示例性实施例的位置和姿态计算处理的具体过程的流程图。
图6A和图6B例示了根据第一至第三示例性实施例的搜索对应点的原理。
图7例示了根据第一至第三示例性实施例的边缘的投影图像与检测边缘之间的关系。
图8是例示根据第二示例性实施例的错误关联点检测处理的具体过程的流程图。
图9A是例示根据第二示例性实施例的通过拍摄测量对象物体而获得的灰度图像与测量对象物体之间的关系的概念图,图9B例示了根据第二示例性实施例的灰度图像中的边缘点附近的各像素的亮度值。
图10是例示根据第三示例性实施例的位置和姿态计算处理的过程的流程图。
图11是例示根据第三示例性实施例的位置和姿态计算处理的具体过程的流程图。
图12是例示根据第二示例性实施例的阴影方向计算处理的具体过程的流程图。
图13A和图13B例示了根据第一示例性实施例的三维模型的近似位置和姿态与摄像装置的像平面之间在虚拟空间上的关系。
图14是例示根据变型例2-1的位置和姿态计算处理的具体过程的流程图。
图15是例示根据本发明的示例性实施例的信息处理装置的硬件构造的示例的框图。
具体实施方式
下面将参照附图具体描述本发明的示例性实施例。
下面将具体描述根据本发明的示例性实施例的信息处理装置。
在描述示例性实施例之前,将参照图15来描述安装有根据本发明的各示例性实施例的信息处理装置的硬件构造。
图15例示了根据本示例性实施例的信息处理装置104的硬件构造。在图15中,中央处理单元(CPU)1510整体控制经由总线1500相互连接的设备。CPU 1510读出并执行存储在只读存储器(ROM)1520中的处理步骤或程序。包括操作系统(OS)的根据本示例性实施例的各处理程序和设备驱动器被存储在ROM 1520中,被临时存储到随机存取存储器(RAM)1530中,并在必要时由CPU 1510执行。输入接口(I/F)1540以信息处理装置104能处理的形式,从外部装置(摄像装置、显示装置、操作装置等)输入输入信号。输出I/F 1550以外部装置能处理的形式,向外部装置(显示装置等)输出输出信号。
根据第一示例性实施例,针对三维模型提取容易错误相互对应的点。图1是使用根据第一示例性实施例的信息处理装置104的系统构造的示意图。
测量对象物体101是要测量位置和姿态的物体。在本示例性实施例中,为了简化描述,如图1所示,在某一位置处仅放置一个用作位置和姿态测量对象的测量对象物体101。然而,以下描述的位置和姿态测量处理并非很大程度上取决于测量对象物体101的形状、数量和放置形式。本示例性实施例还适用于如下情况:例如在混合并堆叠各自具有不同形状的多个测量对象物体的状态下,测量给定测量对象物体的位置和姿态。
图2例示了使用根据第一示例性实施例的信息处理装置104的系统构造。
信息处理装置104与摄像装置102和投影装置103相连接,并控制投影装置103和摄像装置102的各操作,同时使用从摄像装置102获得的拍摄图像来获得测量对象物体101的位置和姿态。
摄像装置102拍摄现实空间中的静止图像或运动图像,并用来拍摄已由根据本示例性实施例的投影装置103利用光照射的测量对象物体101。摄像装置102将拍摄图像发送至信息处理装置104。例如使用下面描述的Zhang的方法来预先校正摄像装置102的内在参数(焦距、主点位置和透镜畸变参数)。
投影装置103用来利用预定光照射测量对象物体101。投影装置103是液晶投影器。例如使用非专利文献(Z.Zhang,″A flexible new techniquefor camera calibration,″IEEE Transactions on Pattern Analysis and MachineIntelligence,vol.22,no.11,pp.1330-1334,2000)中讨论的方法来预先校正投影装置103的内在参数(焦距、主点位置和透镜畸变参数)。可以使用除投影装置103以外的装置,只要其能够投影狭缝光即可。例如,可以使用采用数字镜器件(DMD)或硅基液晶(LCOS)的投影器。
下面将描述信息处理装置104的功能构造示例。测量信息获取单元201将已由摄像装置102获取的灰度图像和距离图像作为测量信息,收入信息处理装置104中(图像获取)。
装置信息获取单元202获取投影装置103与摄像装置102之间的位置关系信息作为先验信息(prior information)。通过投影装置103发出图案光、照相机拍摄投影图案、然后例如使用以下描述的文献(M.Kimura,″Projector Calibration using Arbitrary Planes and Calibrated Camera″Computer Vision and Pattern Recognition,CVPR,2007)中讨论的方法,来获得投影装置103与摄像装置102之间的位置关系信息。
近似位置和姿态获取单元203获取测量对象物体101相对于摄像装置102的位置和姿态的近似值(近似位置和姿态获取)。给出输入的近似位置和姿态,作为用于获得测量对象物体101的位置和姿态的迭代计算的初始值。在本示例性实施例中,假设在时间轴方向上连续进行测量,信息处理装置104使用预先获得(在先前时间获得)的测量值作为近似位置和姿态。
然而,用于输入位置和姿态的近似值的方法不限于此。例如,可以使用时间序列滤波器基于过去的位置和姿态的测量来评估物体的速度和角速度,以根据过去的位置和姿态、以及评估的速度和角速度来预测当前的位置和姿态。可以通过将以各种姿态拍摄的对象物体的图像分别存储为模板、并针对输入图像进行模板匹配(图案匹配),来评估测量对象物体101的近似位置和姿态。另选地,如果其他传感器能够测量测量对象物体101的位置和姿态,则可以使用该传感器的输出值作为位置和姿态的近似值。
传感器可以是通过例如使用物体上安装的接收器检测由发送器发出的磁场,来测量位置和姿态的磁性传感器。另选地,传感器可以是通过利用固定到场景的照相机拍摄物体上布置的标记,来测量位置和姿态的光学传感器。另外,传感器可以是任何传感器,只要其测量6自由度的位置和姿态即可。如果预先获知放置物体的近似位置和姿态,则可以使用其值作为近似值。
模型信息获取单元204存储关于测量对象物体101的三维模型信息。三维模型信息是三维计算机辅助设计(CAD)软件能够处理的CAD模型本身、或者是将三维CAD模型转换而成的在计算机图形领域中使用的多个多边形元素。在本示例性实施例中,使用模仿测量对象物体101的形状并由多边形元素构成的三维几何模型。然而,形状模型不限于此。形状模型可以是代表包括边缘的形状的任何模型。
边缘检测单元205从获取的测量信息、装置信息、近似位置和姿态信息以及模型信息中,检测要在以下描述的阴影方向计算单元206、错误关联点检测单元207、以及位置和姿态计算单元208中使用的边缘信息。要检测的边缘信息包括关于三维模型的信息和关于灰度图像的信息。要检测的边缘信息包括三维模型中的边缘上的点的三维坐标、虚拟设置的像平面上的边缘点的二维坐标、以及灰度图像上的边缘点的二维坐标。然而,要检测的边缘信息不仅可以是点,还可以是例如代表各边缘点所属的边缘的方向(直线的方向或与曲线相切的方向)的向量。
阴影方向计算单元206针对已经由边缘检测单元205计算出的三维模型中的各边缘或者在边缘上设置的各点,计算阴影方向,并给出计算出的阴影方向。阴影方向是指在通过投影装置103和摄像装置102与虚拟设置了位置和姿态的三维模型之间的相对位置关系计算出的、假定会在测量对象物体101的给定边缘附近生成的阴影的方向。在本示例性实施例中,要计算的阴影方向向量是二维平面上的向量。阴影方向向量的示例包括如在以下描述的步骤S302中,通过将从投影装置103指向虚拟设置的近似位置和姿态的三维模型的方向向量,投影到摄像装置102的像平面上而获得的阴影方向向量。
然而,要计算的阴影方向向量不限于此。例如,阴影方向向量可以是三维向量。作为三维向量的示例,也可以采用从投影装置103指向从投影装置103虚拟设置的近似位置和姿态的三维模型的各边缘的方向向量本身。在本示例性实施例中,针对三维模型上的各边缘点计算要给出的阴影方向向量,以获得关于最严谨的阴影生成方向的信息。然而,当多个边缘点存在于形成一个边缘的直线或曲线上时,为了简化计算处理,可以针对各边缘将边缘点作为实体成组,并被赋予典型阴影方向向量。另选地,三维模型中的边缘点可以被赋予一个典型阴影方向向量。
错误关联点检测单元207基于关于阴影方向的信息提取错误关联点。错误关联点是指在位置和姿态计算期间,可能与源于阴影的边缘错误地关联的部分。在本示例性实施例中,当要提取的部分是位于三维模型的边缘上设置的点时,如上所述,可以提取边缘点成组的边缘。
除了获取的测量信息、装置信息、以及近似位置和姿态信息之外,位置和姿态计算单元208还使用关于检测到的错误关联点的信息,来推导出(计算)测量对象物体101的位置和姿态。更具体地说,在关于错误关联点的信息被反映在关于三维模型的边缘的信息上之后,关联单元(未例示)通过重复进行三维模型的边缘与灰度图像的边缘的关联、以及使用相应点之间的距离的总和达到最小的位置和姿态的最小二乘法的最优化计算,来推导出测量对象物体101的位置和姿态。
以上描述了信息处理装置104的构造的示例。
当CPU 1510将存储在ROM 1520中的程序加载到RAM 1530中并根据以下描述的各流程图进行处理时,实现构成信息处理装置104的各功能单元。例如,如果使用硬件作为使用CPU 1510的软件处理的替代,则可以构造与各功能单元的处理相对应的计算单元或电路。
下面将描述根据本示例性实施例的位置和姿态计算处理的过程。图3是例示根据本示例性实施例的位置和姿态计算处理的过程的流程图。
在步骤S301中,获取稍后的位置和姿态计算所需的信息。更具体地说,获取测量信息、装置信息、近似位置和姿态以及模型信息。测量信息获取单元201、装置信息获取单元202、近似位置和姿态获取单元203以及模型信息获取单元204分别获取信息。所获取的信息被发送至边缘检测单元205。用作测量信息的灰度图像是,通过摄像装置102拍摄已通过使用投影装置103的照明照射的测量对象物体101而获得的图像。然而,灰度图像可以是预先存储在外部存储器或网络上并由测量信息输入单元201读取的灰度图像。依据信息处理装置104的处理速度性能,可以同时或依次获取在步骤S301中获取的信息,或者可以按照任何顺序获取该信息。
在步骤S302中,边缘检测单元205计算关于三维模型和灰度图像的各边缘的信息。
在本示例性实施例中,以如下方式具体获得边缘。
针对三维模型,在三维模型的边缘上生成点,以获得关于各边缘点(几何特征)的三维信息。三维模型的边缘是指当在摄像装置102的虚拟设置的像平面上观看三维模型时,形成近似位置和姿态的三维模型的轮廓的部分。尽管用于在边缘上生成点的方法包括在虚拟三维空间中布置的三维模型的边缘上生成等间隔的多个点的方法,但是并非一定使用该方法。例如,可以通过反算来生成近似位置和姿态的三维模型的边缘上的三维坐标,使得当在摄像装置102的虚拟设置的像平面上观看三维模型时,边缘点在该像平面上等间隔。当计算在相同边缘上生成的边缘点之间的向量时,还能够计算代表边缘的方向的三维向量。
然后在将近似位置和姿态的三维模型上的边缘点投影到摄像装置102的虚拟设置的像平面上时,获得在像平面上看到的边缘点的二维坐标。将计算出的边缘点的二维坐标在与关于三维模型的相应边缘点的信息相链接的情况下进行存储。
针对灰度图像,参照灰度图像中的亮度值,并且针对任意搜索方向上的周边像素,将亮度值取极值的像素的二维坐标确定为边缘点(图像特征),以存储信息。可以为边缘点的确定准则配设阈值。可以将亮度值或亮度梯度值为阈值或更大且取极值的灰度图像中的像素确定为边缘点。如以下在步骤S503中所描述的,可以预先进行如下处理:以投影到像平面上的三维模型上的边缘点作为起始点进行搜索,并检测位于其附近的灰度图像上的边缘点。
然后,在步骤S303中,阴影方向计算单元206计算假定针对模型信息的边缘会生成阴影的方向,并将该方向赋予模型信息。在本示例性实施例中,通过将从投影装置103指向虚拟设置的近似位置和姿态的三维模型的方向向量投影到摄像装置102的像平面上,来获得要计算的阴影方向向量。
在本示例性实施例中,以如下方式具体获得阴影方向。
首先,获得用于将虚拟设置的三维模型的近似位置和姿态的边缘点的三维位置(Xo,Yo,Zo)、以及投影装置103的三维位置(Xp,Yp,Zp),投影到摄像装置102的像平面上的投影矩阵P。要使用的三维模型的三维位置是测量对象物体相对于照相机的近似位置和姿态的位置分量。基于三维模型相对于摄像装置102的近似位置和姿态、以及作为预先信息的关于投影装置103与摄像装置102之间的位置关系的信息,获得投影装置103的三维位置。通过照相机参数K(公式1)与从世界坐标系到照相机坐标系的转换矩阵RT(公式2)的积K×RT,来代表投影矩阵P:
将照相机坐标系设置为世界坐标系。因此,通过(公式3)来表示投影矩阵P。照相机参数K中的元素a、b、c、d和e是照相机固有的参数,并且如上所述被预先获得:
根据投影矩阵P、三维模型的三维位置的齐次坐标(Xo,Yo,Zo,1)、摄像装置102的三维位置的齐次坐标(Xp,Yp,Zp,1)、以及通过将三维位置投影到像平面上获得的点的各齐次坐标(uo,vo,1)和(up,vp,1)的关系式(公式4)和(公式5),来获得三维模型的像平面上的位置(uo,vo)和投影装置103的像平面上的位置(up,vp)。获得从三维模型的像平面上的位置(uo,vo)到投影装置103的像平面上的位置(up,vp)的向量r’=(up-uo,vp-vo),并将该向量进一步转换为单位向量r=r’/|r’|作为阴影方向:
然后将像平面上的三维模型的边缘点与阴影方向相关联。通过该关联能够提取在后续步骤S304中的错误关联点。
在步骤S304中,错误关联点检测单元207基于关于在步骤S303中已针对三维模型上的各边缘点计算出的阴影方向的信息,提取可能与源于阴影的边缘(由阴影引起的边缘)错误地关联的边缘点作为错误关联点。
图4是例示本示例性实施例中的处理过程的流程图。下面将描述步骤S304中的各步骤。
首先,错误关联点检测单元207将基于近似位置和姿态虚拟设置的三维模型的平面上的任意点投影到摄像装置102的像平面上。用于在三维模型的平面上设置点的方法的优选示例可以包括用于在平面上等间隔地设置点的方法。可以通过反算来获得三维模型的平面上的点,以使得在投影有这些点的像平面上等间隔。
然后,在步骤S402中,错误关联点检测单元207计算从像平面上设置的点到三维模型上的相应点的距离。要作为距离计算对象的点包括与在步骤S401中设置的三维模型的平面相对应的点、以及与在步骤S302中设置的三维模型的边缘相对应的点二者。更具体地说,在步骤S402中,进行与获取跟虚拟设置的空间上的三维模型有关的距离图像等效的处理,使得摄像装置102获取测量对象物体101的距离图像。将计算出的距离值与像平面上的相应点相链接地存储。
在步骤S403中,错误关联点检测单元207针对关注边缘点,在像平面上的阴影方向上搜索像平面上的附近点,并获取相应的距离值。要获取的距离值是已在步骤S402中获得的距离值。
图13A和图13B分别是针对边缘上的给定点例示当在阴影方向上搜索像平面上的附近点时的点与距离值之间的关系的概念图。图13A和图13B分别例示了不同的三维模型。在图13A和图13B中,点Pa和Pb被分别例示为关注边缘点。分别与点Pa和Pb对应的距离值被指示为dPa和dPb。此外,在图13B中,与当在阴影方向上进行搜索时获得的附近点Pb+1相对应的距离值被指示为dPb+1
在步骤S404中,错误关联点检测单元207针对关注边缘点,确定是否满足以下两个条件中的任一个。在该条件下,以关注边缘点作为边界,确定在阴影方向上是否存在大的阶差。换句话说,当确定在虚拟设置的空间上的关注边缘点的附近是否能够生成阴影时,在以下描述的位置和姿态计算处理中确定是否存在错误关联的可能性。
条件A:不存在阴影方向上的附近点;
条件B:对应于关注边缘点的距离值与对应于附近点的距离值之间的差是阈值或更大。
如果满足条件A(作为在阴影方向上搜索预定范围的结果,如果从投影点Pa(关注几何特征)处开始,检测不到点Pa以外(关注几何特征以外)的边缘点),则点Pa和背景看上去在像平面上彼此接触,并且可能在从点Pa看到的阴影方向上生成阴影。图13A例示了满足条件A的示例。另一方面,如果满足条件B,则三维模型是具有大阶差的形状,并且点Pb可能是阶差的边缘。另外,在这种情况下,可以在从点Pb看到的阴影方向上生成阴影。图13B例示了满足条件B的示例。在这种情况下,要与阈值进行比较的值是dPb+1与dPb之间的差。如果满足条件A或条件B(步骤S404中的是),则处理进行到步骤S405。否则(步骤S404中的否),处理进行到步骤S406。
如果满足条件A或条件B(步骤S404中的是),则可能在关注边缘点(关注几何特征)的附近生成阴影。因此,当计算测量对象物体101的位置和姿态时,可能进行错误关联。相应地,在步骤S405中,错误关联点检测单元207向可能被确定为错误关联点的边缘点新赋予标志信息。
在步骤S406中,错误关联点检测单元207确认是否针对所有的边缘点都确定了是否为错误关联点。如果针对所有的边缘点都已确定了是否为错误关联点(步骤S406中的是),则步骤S304中的处理结束,并且处理进行到步骤S305。另一方面,如果存在尚未确定是否为错误关联点的边缘点(步骤S406中的否),则处理进行到步骤S403,并且重复从步骤S404至步骤S406的处理。
当执行从步骤S401至步骤S406的处理时,提取错误关联点。
在步骤S305中,错误关联点检测单元207使用关于已在步骤S304中提取的边缘点的信息,通过以下描述的处理来计算测量对象物体101的位置和姿态。
图5是例示如步骤S305中例示的、通过使用近似位置和姿态的最优化计算来计算位置和姿态的位置和姿态计算处理的具体过程的流程图。
在本示例性实施例中,通过使用高斯牛顿(Gauss-Newton)方法的迭代运算来重复校正测量对象物体的位置和姿态(下文中由s指示)的近似位置和姿态,以计算位置和姿态s。最优化位置和姿态,以使在灰度图像上检测到的边缘与基于要估算的位置和姿态s而投影到图像上的三维模型的边缘之间的距离的总和最小。更具体地说,通过对灰度图像上的点与直线之间的符号距离的一次泰勒展开,将测量对象物体的位置和姿态s表示为物体的位置和姿态s的微小变化的一次函数。通过求解与位置和姿态s的微小变化有关的线性联立方程,使得符号距离为0,以发现物体的位置和姿态s的微小变化,来重复校正位置和姿态s。
在步骤S501中,位置和姿态计算单元208进行初始化。已在步骤S301中获取的近似位置和姿态被设置为三维模型的位置和姿态s。还获取关于三维模型上的边缘点的信息、关于灰度图像上的边缘点的信息、以及关于错误关联点的信息。
在步骤S502中,位置和姿态计算单元208进行如下处理:将三维模型上的边缘点当中的、已在步骤S304中提取的被确定为错误关联点的边缘点,反映到后续计算中。因为被赋予了标志信息,所以能够容易地提取这些边缘点。作为反映方法,在本示例性实施例中,被确定为错误关联点的边缘点是非活动的并且不用于后续计算。因此,针对被赋予标志信息的边缘点,在步骤S503中不进行关联。然而,被确定为错误关联点的边缘点不必须是非活动的。作为非活动化(inactivation)以外的反映方法,例如,可以在以下描述的步骤S503中,将被确定为错误关联点的边缘点反映在用于位置和姿态测量的权重系数的值上。更具体地说,当与被确定为错误关联点的边缘点相对应的权重系数的值被设置为低于与被确定为错误关联点的边缘点以外的边缘点相对应的权重系数时,能够减小错误关联点对位置和姿态计算结果的贡献。
在步骤S503中,位置和姿态计算单元208关联边缘。图6A和图6B例示了用于关联边缘的方法。图6A是三维模型的边缘到灰度图像上的投影图。首先,针对投影到图像上(到图像中)的边缘601上的各控制点602,在边缘601的法线方向上设置搜索线603。以控制点602作为原点,在搜索线603的预定范围内检测一维边缘,并将检测到的边缘中最接近控制点602的点存储为相应点604。图6B是以控制点602作为原点、并分别以搜索线603和亮度梯度的绝对值作为横轴和纵轴的图。在先前图像上,边缘被检测为像素的亮度梯度的绝对值的极值。亮度梯度的绝对值的极值大于预定阈值605并且最接近控制点602的点604,被确定为相应点。
如上所述,三维模型上的已在步骤S502中被确定为错误关联点的边缘点具有标志。因此,针对具有标志的边缘点可以不进行关联。即使针对边缘点进行了关联,也可以在以下描述的步骤S505中的计算中减小权重。
在本示例性实施例中,不仅针对灰度图像而且针对获取的距离图像进行关联。针对距离图像的关联,从三维模型的平面中提取任意数量的点,并基于近似位置和姿态将这些点投影到距离图像上。可以将投影点与投影点附近的测量点关联。
在步骤S504中,位置和姿态计算单元208计算用于求解线性联立方程的系数矩阵和误差向量。系数矩阵中的各元素是相对于位置和姿态的评估值的微小变化的一次偏导数,具体地是图像坐标的偏导数。误差向量是投影边缘与检测边缘之间的图像上的距离。
图7例示了边缘的投影图像与检测边缘之间的关系。在图7中,图像的水平方向和垂直方向分别为u轴和v轴。控制点(用于均等分割图像上的各投影边缘的点)在图像上的位置由(u0,v0)代表,控制点所属的边缘在图像上的倾角由相对于u轴的倾角θ代表。倾角θ被计算为连接基于位置和姿态s而投影到图像上的边缘的两端的各三维坐标的直线的倾角。边缘在图像上的法线向量为(sinθ,-cosθ)。与控制点相对应的点在图像上的坐标为(u’,v’)。通过以下公式来表示穿过点(u’,v’)并具有倾角θ(常量)的直线上的点(u,v):
u sinθ-v cosθ=d ...(公式6)
其中,d是通过以下公式表示的常量:
d=u′sinθ-v′cosθ ...(公式7)
控制点在图像上的位置依据测量对象物体101的位置和姿态s而改变。测量对象物体101的位置和姿态s的自由度是6自由度。也就是说,位置和姿态s是六维向量,并且包括代表测量对象物体101的位置的三个元素、以及代表测量对象物体101的姿态的三个元素。代表姿态的三个元素由例如欧拉角(Eulerian angle)代表,或者由方向代表旋转轴、大小代表旋转角的三维向量代表。如由(公式8)所示,可以使用坐标(u0,v0)附近的一次泰勒展开来近似依据位置和姿态s而改变的控制点在图像上的坐标(u,v),其中,Δsi(I=1,2,...,6)代表位置和姿态s的各分量的微小变化。
v ≈ v 0 + Σ i = 1 6 ∂ v ∂ s i Δs i
可以假设在通过(公式6)所表示的直线上存在通过正确的位置和姿态s获得的控制点在图像上的位置。当通过(公式8)近似的u和v被代入到(公式7)时,获得(公式9):
其中,r是通过以下公式所表示的常量:
r = u 0 sin θ - v 0 cos 15 θ
能够通过测量对象物体101的位置和姿态s,将信息处理装置104的坐标系中的三维坐标转换为模型坐标系中的三维坐标(x,y,z)。使用位置和姿态s的评估值,将点转换为模型坐标系中的点(x0,y0,z0)。三维坐标(x,y,z)依据测量对象物体101的位置和姿态s而改变,并且如由(公式9)所表示的,可以使用点(x0,y0,z0)附近的一次泰勒展开来近似:
x ≈ x 0 + Σ i = 1 6 ∂ x ∂ s i Δs i
y ≈ y 0 + Σ i = 1 6 ∂ y ∂ s i Δs i
(公式9)针对在步骤S502中已进行关联的所有边缘成立。因此,与Δsi有关的线性联立方程成立,如(公式11)所表示的。
(公式11)被表现为(公式12)。
JΔs=E ...(公式12)
例如,使用文献(V.Lepetit and P.Fua,″Keypoint recognition usingrandomized trees″,IEEE Transactions on Pattern Analysis and MachineIntelligence,vol.28,no.9,2006)中讨论的方法来计算用于计算线性联立方程(公式12)中的系数矩阵J的偏导数。
在步骤S505中,位置和姿态计算单元208基于(公式12),使用矩阵J的广义逆矩阵(JT·J)-1·JT,来获得校正值Δs。
然而,许多边缘是误检测的异常值。因此,使用如下所述的鲁棒评估方法。通常,在用作异常值的边缘中,误差d-r增大。因此,对联立方程(公式11)和(公式12)的贡献度增大,并且作为结果而获得的校正值Δs的精度减小。向具有大误差d-r的数据赋予小的权重,向具有小误差d-r的数据赋予大的权重。例如,如(公式13)所表示的,通过Tukey函数来给出权重。
其中,C1和C2分别是常量。用于给出权重的函数不一定是Tukey函数,而可以是向具有大误差的数据赋予小的权重、向具有小误差的数据赋予大的权重的任何函数,例如Huber函数。
与各数据(边缘)相对应的权重是wi。如(公式14)所表示的,定义权重矩阵W:
权重矩阵W是除了对角分量之外的所有分量为0的正方矩阵,并且权重wi被插入到对角分量。使用权重矩阵W将(公式11)变形为(公式14)。
WJΔs=WE ...(公式15)
求解(公式15),以获得校正值Δs,如(公式16)所表示的:
Δs=(JTWJ)-1JTWE ...(公式16)
当还针对在步骤S504中已获得的距离图像的关联进行上述计算时,能够不仅使用灰度图像而且使用距离图像来获得高精度校正值。更具体地说,通过同时使用距离图像,能够获得如下效果:不仅针对平面方向,而且针对深度方向,提高了位置和姿态s的计算精度。
在步骤S506中,位置和姿态计算单元208使用在步骤S505中计算出的校正值Δs,将位置和姿态s更新为s+Δs。
在步骤S507中,位置和姿态计算单元208确定位置和姿态s是否已收敛。如果确定位置和姿态s已收敛(步骤S507中的是),则将此时的位置和姿态s设置为拟合结果,并且处理结束。如果确定位置和姿态s尚未收敛(步骤S507中的否),则重复进行从步骤S502至步骤S506的处理直到位置和姿态s收敛为止。在收敛确定中,如果确定步骤S506中的校正值Δs是预定值或更小并且几乎不变,则确定位置和姿态s已收敛。用于收敛确定的方法不限于此。如果重复次数达到预定次数,则可以确定位置和姿态s已收敛。
如上所述,通过从步骤S501至步骤S507的处理来计算测量对象物体101的位置和姿态s。
虽然以上计算了三维位置和姿态,但是以上可以计算二维位置和姿态。在这种情况下,向量s是包括代表位置的两个元素和代表姿态的元素的三维向量。
在本示例性实施例中计算测量对象物体101的位置和姿态的方法不限于高斯牛顿方法。例如,可以使用计算更加鲁棒的Levenberg-Marquardt方法来计算位置和姿态,或者可以使用作为更简单的方法的最速下降法来计算位置和姿态。可以使用诸如共轭梯度方法或不完全Cholesky共轭梯度(ICCG)方法的其他非线性最优化计算方法。
(变型例1-1)
作为第一示例性实施例的其他变型例,作为提取错误关联点的方法,可以通过预先计算能够针对近似位置和姿态的三维模型上的各边缘点生成阴影的阴影方向,并确定阴影方向连同关于阴影方向的信息,来提取错误关联点。
更具体地说,首先,阴影方向计算单元206计算阴影方向。用于计算阴影方向的方法类似于上述步骤S303中的方法。然后,错误关联点检测单元207针对三维模型上的各边缘点,计算边缘方向的法线方向。边缘方向是指构成三维模型的各线段的行进方向。更具体地说,将三维模型上的各边缘点投影到二维平面上。获取三维模型上的各投影边缘点的边缘方向的法线方向。边缘方向的法线方向可以被分为朝向三维模型内部的方向和朝向三维模型外部的方向。然而,在本变型例中,朝向外部的法线方向被计算为能够生成阴影的方向。然后,针对各边缘点,计算法线方向与阴影方向的内积,以确定边缘点是否为错误关联点。确定内积是预定值或更大的边缘点为错误关联点。当内积较大时,指示阴影方向与法线方向比较接近。因此,在这些方向上彼此链接的边缘点可能彼此错误地关联。在该变型例中,后续处理方法类似于第一示例性实施例中的方法。
(变型例1-2)
在第一示例性实施例中,假设每当进行用于获得测量对象物体101的位置和姿态的计算时,近似位置和姿态获取单元203获取任意近似位置和姿态,并且每当进行计算时,阴影方向计算单元206需要新计算阴影方向。另一方面,如果依据测量对象物体的形状和布置方法来确定测量对象物体101的几个位置和姿态,则能够提取针对预先假设的近似位置和姿态可能彼此错误地关联的边缘点。
更具体地说,针对预先假设的近似位置和姿态重复步骤S301至S304,并将关于错误关联点的信息在与各近似位置和姿态相链接的情况下进行存储。然后,使用由测量信息获取单元201获取的灰度图像以及关于近似位置和姿态的信息,执行用于计算测量对象物体101的位置和姿态的计算处理(从步骤S501至步骤S506)。此时,在步骤S501中设置上述预先假设的近似位置和姿态,并在步骤S502中调用在与各近似位置和姿态相链接的情况下存储的错误关联点。在该变型例中,针对各近似位置和姿态,仅进行一次从步骤S301至步骤S304的处理即可。因此,能够使得用于计算处理的时间段比每次进行计算的情况的时间段更短。
在第一示例性实施例中,针对在步骤S302中已针对三维模型计算出的边缘点,提取错误关联点。
本发明的第二示例性实施例与第一示例性实施例的区别在于,针对在步骤S302中已针对灰度图像检测出的边缘,提取错误关联点。作为用于提取错误关联点的方法,使用边缘点和关于其附近像素的亮度值的信息,来确定边缘点是否是错误关联点。
图9A和图9B分别是针对通过拍摄处于某位置和姿态的测量对象物体101而获取的灰度图像,例示测量对象物体101的位置和姿态与获取的灰度图像的样子之间的关系、以及灰度图像与亮度值分布之间的关系的概念图。如图9A所示,如果摄像装置102拍摄处于其位置和姿态的测量对象物体101,则在获取的灰度图像中,除了测量对象物体101的边缘以外,还反映了基于阴影的边缘。在基于阴影的边缘附近,亮度值改变为沿着阴影方向一度减小,然后增大。
例如,如果如图9B所示获得灰度图像并且关注从灰度图像中提取出的边缘点当中的、源于阴影的边缘点P,则在阴影方向上边缘点P附近的像素P+1和P-1处的各亮度值LP+1和LP-1以边缘点P的亮度值LP作为边界在阴影方向上增大。此时,边缘点P’在阴影方向附近的像素P’+1和P’-1处的各亮度值LP’+1和LP’-1以边缘点P’的亮度值LP’作为边界在阴影方向上减小,边缘点P’存在于边缘点P附近、源于测量对象物体101。如果在灰度图像上观看边缘点P附近的部分,则该部分看起来是在阴影方向上按照“明”、“暗”、“明”的顺序改变。具体地说,当从步骤S802至步骤S805参照灰度图像中的关注边缘点附近的阴影方向上的亮度值的变化时,能够确定边缘点是否源于阴影。
下面将描述本示例性实施例中的位置和姿态计算处理的过程。
虽然首先获取测量信息、装置信息、近似位置和姿态以及模型信息,然后检测边缘,但是一系列方法与根据第一示例性实施例的方法类似,因此不重复其描述。
然后计算阴影方向。图12是例示根据本示例性实施例的阴影方向计算处理的过程的流程图。下面将描述图12中的例示的各步骤。
首先,在步骤S1201中,阴影方向计算单元206针对三维模型上的边缘点计算阴影方向。在步骤S1201中计算阴影方向的方法类似于在第一示例性实施例中的步骤S303中的方法。将计算出的阴影方向在与三维模型的边缘点相链接的情况下进行存储。
然后,在步骤S1202中,阴影方向计算单元206将已经计算出阴影方向的三维模型上的边缘点与灰度图像上的边缘点相关联。步骤S1202中的用于关联的方法类似于第一示例性实施例中的步骤S503中的方法。
然后,在步骤S1203中,阴影方向计算单元206存储已在步骤S1202中与三维模型上的边缘点相关联的灰度图像上的边缘点,同时将其与在步骤S1201中计算出的阴影方向相链接。
然后,在步骤S1204中,阴影方向计算单元206确认是否针对三维模型上的所有边缘点完成了从步骤S1201至步骤S1203的处理。如果针对三维模型上的所有边缘点完成了处理(步骤S1204中的是),则处理进行到步骤S1205。另一方面,如果存在尚未处理的三维模型上的边缘点,则重复从步骤S1201至步骤S1204的处理。
然后,在步骤S1205中,阴影方向计算单元206确定是否残留未与三维模型上的边缘点相关联的灰度图像上的边缘点。如果未残留边缘点(步骤S1205中的否),则省略后续处理,并结束阴影计算处理。如果残留边缘点(步骤S1205中的是),则处理进行到步骤S1206。
在步骤S1206中,阴影方向计算单元206通过参照关于已经与三维模型上的边缘点相关联的附近边缘点的阴影方向的信息,来确定尚未与三维模型上的边缘点相关联的灰度图像上的边缘点的阴影方向。例如,作为确定阴影方向的方法,可以将阴影方向确定为与已经跟三维模型上的边缘点相关联的边缘点当中的、附近的最近边缘点相链接的阴影方向。如果在其附近的预定区域中存在已经与三维模型上的边缘点相关联的多个边缘点,则可以将阴影方向确定为与边缘点链接的阴影方向的平均值。在步骤S1206中确定阴影方向之后,处理返回到步骤S1205。
阴影方向计算单元206通过执行上述处理来计算阴影方向。
然后提取错误关联点。图8是例示本示例性实施例的错误关联点提取处理的过程的流程图。下面将描述图8中例示的各步骤。
首先,在步骤S801中,错误关联点检测单元207搜索灰度图像中的关注边缘点的阴影方向附近(周边)的像素,并获取它们的亮度值(像素值)。要使用的灰度图像可以与在第一示例性实施例中用于三维模板的位置和姿态计算的灰度图像相同。
然后,在步骤S802中,以关注边缘点为边界,错误关联点检测单元207确定获取的亮度值是否在阴影方向上逐渐增大。具体地说,如果获得了如图9B所示的亮度分布,则错误关联点检测单元207将与存在于关注边缘点P的阴影方向附近的像素P+1和P-1相对应的亮度值LP+1和LP-1相互比较,并确定亮度值LP+1和LP-1是否具有关系LP+1>LP-1。如果作为确定结果、亮度值逐渐增大(步骤S802中的是),则将关注边缘点P设置为错误关联点的候选,并且处理进行到步骤S803。否则(步骤S802中的否),省略从步骤S803至步骤S806的处理,并且处理进行到步骤S807。
在步骤S803中,错误关联点检测单元207以关注边缘点P作为起始点,在与阴影方向相反的方向上搜索其他边缘点,并输出搜索结果。更具体地说,错误关联点检测单元207以图9B中例示的边缘点P作为起始点,在与阴影方向相反的方向上搜索其他边缘点,并且在搜索到的边缘点是边缘点P’的情况下,新赋予标志信息并输出边缘点。
在步骤S804中,错误关联点检测单元207参照步骤S803中的搜索结果,并确定是否发现其他边缘点。如果确定已发现其他边缘点(步骤S804中的是),则错误关联点检测单元207获取边缘点P’的阴影方向附近的像素的亮度值,并且处理进行到步骤S805。如果在边缘点P附近未发现其他边缘点(步骤S804中的否),则确定从错误关联点的候选中排除关注边缘点P。在这种情况下,省略步骤S805和S806中的处理,并且处理进行到步骤S807。
在步骤S805中,以在步骤S803中发现的其他边缘点作为边界,错误关联点检测单元207确定获取的亮度值是否在阴影方向逐渐减小。具体地说,错误关联点检测单元207将与存在于图9B中例示的边缘点P’的阴影方向附近的像素P’+1和P’-1相对应的亮度值LP’+1和LP’-1相互比较,并确定亮度值LP’+1和LP’-1是否具有关系LP’+1<LP’-1。如果作为确定结果、亮度值逐渐减小(步骤S805中的是),则将边缘点P’设置为错误关联点,并且处理进行到步骤S806。否则(步骤S805中的否),确定从错误关联点的候选中排除关注边缘点P’,并且处理进行到步骤S807。
在步骤S806中,错误关联点检测单元207向在步骤S805中已被确定为错误关联点的边缘点新赋予标志信息。步骤S806中的处理内容类似于第一示例性实施例中的步骤S405中的处理内容。
在步骤S807中,错误关联点检测单元207确认是否针对所有的边缘点都确定了是否为错误关联点。如果针对所有的边缘点都已确定了是否为错误关联点(步骤S807中的是),则错误关联点检测单元207结束用于错误关联点提取的处理,并且进行到用于位置和姿态计算的处理。另一方面,如果存在尚未确定是否为错误关联点的边缘点(步骤S807中的否),则处理进行到步骤S801,并且重复从步骤S801至步骤S807的处理。步骤S807中的处理内容类似于第一示例性实施例中的步骤S406中的处理内容。
当执行上述处理时,提取错误关联点。
然后计算位置和姿态。用于计算位置和姿态的方法类似于第一示例性实施例中的方法,因此不再重复其描述。
当执行上述处理时,能够计算测量对象物体101的位置和姿态。
(变型例2-1)
在本示例性实施例中,确定与三维模型上的边缘点相关联的灰度图像上的边缘点是否是错误关联点。如果确定灰度图像上的边缘点是错误关联点,则进行将错误关联点反映在后续位置和姿态计算中的处理,如第一示例性实施例中那样。作为位置和姿态计算的变型例,可以使用如下方法:不将灰度图像上的错误关联点反映在后续计算中,而将错误关联点与三维模型上的边缘点相关联,并且在将灰度图像上的错误关联点与三维模型上的边缘点相关联的情况下,利用附近的其他边缘点来代替错误关联点。
图14是例示该变型例中的位置和姿态计算处理的过程的流程图。虽然图14中例示的步骤S1401和S1402中的各处理内容类似于第一示例性实施例和第二示例性实施例中的步骤S501和S503中的处理内容,但是在步骤S1402中与三维模型上的边缘点相关联的灰度图像上的边缘点包括错误关联点。在步骤S1403中,确定在步骤S1402中与三维模型上的边缘点相关联的灰度图像上的边缘点是否是错误关联点。如果确定边缘点是错误关联点(步骤S1403中的是),则在步骤S1404中,利用附近点代替错误关联点。
在步骤S1404中用来代替错误关联点的附近点需要是错误关联点以外的边缘点。具体示例优选为存在于与在步骤S803中搜索到的阴影方向相反的方向上的边缘点,因为这种边缘点可能是源于测量对象物体101的边缘的点。
后续步骤S1405至S1408中的处理内容类似于第一示例性实施例和第二示例性实施例中的步骤S504至S507中的处理内容。在该变型例中,当关联的错误关联点在被可能源于测量对象物体101的其他边缘点代替之后用于后续计算时,能够防止错误关联。
在第一示例性实施例中,针对三维模型上的边缘点提取错误关联点。另一方面,在第二示例性实施例中,针对已在测量信息获取单元201中获取的灰度图像上的边缘点提取错误关联点。另一方面,在本发明的第三示例性实施例中,在针对三维模型上的边缘点和灰度图像上的边缘点中的各个提取错误关联点之后进行位置和姿态计算。在本示例性实施例中,通过组合第一和第二示例性实施例,能够互相弥补可能在第一示例性实施例和第二示例性实施例中出现的问题。
在第一示例性实施例中,针对三维模型上的边缘点提取可能与源于阴影的边缘错误关联的点。在该方法中,以如下情况为前提进行计算:在虚拟三维空间中,测量对象物体101具有如同三维模型的理想形状,并且摄像装置102与投影装置103之间的相对位置关系是理想布置。然而,实际进行摄像的情形不一定是理想的。即使提取三维模型上的边缘点作为错误关联点,由于测量对象物体101的形状误差、以及摄像装置102与投影装置103之间的位置关系的误差,在与错误关联点相关联的灰度图像上的边缘点附近也可能不存在源于阴影的边缘。更具体地说,在这种情况下,即使用于位置和姿态计算也没有问题的边缘点被多余地排除了。相应地,通过新添加如下处理能够解决这种问题,所述处理为确定针对三维模型上的边缘点提取的错误关联点是否包括在根据关于通过实际进行摄像获取的灰度图像的信息而提取的错误关联点中。
另一方面,在第二示例性实施例中,针对灰度图像上的边缘参照亮度值,并且提取源于阴影的边缘点。在该方法中,针对所有提取出的边缘点中的各个,确定其附近的像素的亮度是否满足条件“明、暗、明”。因此,依据测量对象物体101的材料和形状以及位置和姿态,非源于阴影的边缘点也可以是非活动的。在这种情况下,减少了用于位置和姿态计算的边缘点的数量。因此,位置和姿态计算的精度可能劣化。相应地,通过新添加如下处理能够解决这种问题,所述处理为确定针对灰度图像上的边缘点提取的错误关联点是否包括在根据三维模型和关于近似位置和姿态的信息而提取的错误关联点中。
下面将描述根据第三示例性实施例的位置和姿态计算的方法。图10是例示本示例性实施例的位置和姿态计算处理的过程的流程图。在图10中,步骤S1001和S1002类似于第一示例性实施例的步骤S301和S303。步骤S1003和S1004二者是提取错误关联点的步骤,并且对应于第一示例性实施例、第二示例性实施例、以及它们的变型例中的步骤S304。然而,在步骤S1003中针对三维模型提取错误关联点,而在步骤S1004中针对灰度图像提取错误关联点。可以并行执行步骤S1003和S1004。另选地,可以在执行步骤S1003和S1004中的任一步骤之后,执行另一步骤。在步骤S1005中,在反映了关于提取出的错误关联点的信息之后进行位置和姿态计算。然而,本示例性实施例与第一和第二示例性实施例的区别在于,使用分别从三维模型上的边缘点和灰度图像上的边缘点二者提取的错误关联点。
图11是例示根据本示例性实施例的步骤S1005的具体处理的过程的流程图。下面将描述图11中例示的步骤。
在步骤S1101中,位置和姿态计算单元208进行初始化。本示例性实施例与第一和第二示例性实施例类似之处在于,提取关于近似位置和姿态的信息以及关于边缘点的信息。然而,本示例性实施例与其他示例性实施例的区别在于,获取针对三维模型上的边缘点提取的错误关联点和针对灰度图像上的边缘点提取的错误关联点二者。
在步骤S1102中,位置和姿态计算单元208将从三维模型上的边缘点提取的错误关联点的位置与从灰度图像上的边缘点提取的错误关联点的位置相比较,并确定在像平面上错误关联点的位置是否相互匹配。即使这两种错误关联点的位置不完全相互匹配,如果关注边缘点之间的距离在容许范围内,则可以认为这些点相互匹配。在这种情况下,需要预先设置边缘点之间的距离的容许范围,并且需要单独提供用于计算边缘点之间的距离的步骤。如果确定这两种错误关联点相互匹配(步骤S1102中的是),则处理进行到步骤S1103。否则(步骤S1102中的否),确定边缘点不是错误关联点并且处理进行到步骤S1104。
在步骤S1103中,位置和姿态计算单元208进行如下处理:将在步骤S1102中相互匹配的错误关联点反映到后续计算中。虽然要反映针对三维模型上的边缘点和灰度图像上的边缘点二者的错误关联点,但是如果关于一个边缘点的反映对位置和姿态计算的结果具有充分的效果,则可以使用用于反映针对任一边缘点的错误关联点的处理。
步骤S1104至步骤S1108的处理类似于第一和第二示例性实施例的步骤S503至步骤S507的处理,因此不重复其描述。
(变型例3-1)
虽然在本示例性实施例中独立进行针对三维模型上的边缘点的错误关联点的检测、以及针对灰度图像上的边缘点的错误关联点的检测,但是为了缩短处理时间,不是必需独立检测错误关联点。例如,在预先检测到一个错误关联点之后,进行关联。只要作为关联的结果、存在与错误关联点相关联的边缘点,就可以确定边缘点是否是错误关联点。在该变型例中,不需要确定两个错误关联点是否相互匹配。因此,能够预料到缩短处理时间的效果。
<各示例性实施例的效果>
在第一示例性实施例中,通过使用关于生成阴影的方向以及近似位置和姿态的信息,来确定三维模型上的边缘点是否可能与源于阴影的边缘错误地关联,并将关于错误关联点的信息反映到位置和姿态计算中,提高了位置和姿态测量的稳定性,从而使得位置和姿态测量具有高鲁棒性。
在第二示例性实施例中,通过使用关于生成阴影的方向和亮度值的信息,来确定灰度图像上的边缘点是否是源于阴影的边缘,并将关于错误关联点的信息反映到位置和姿态计算中,提高了位置和姿态测量的稳定性,从而使得位置和姿态测量具有高鲁棒性。
在第三示例性实施例中,通过确定针对三维模型上的边缘点和灰度图像上的边缘点分别提取的错误关联点是否相互匹配,并将错误关联点反映到位置和姿态计算中,提高了位置和姿态测量的稳定性,从而使得位置和姿态测量具有高鲁棒性。
其他实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
根据本发明,即使包括物体的图像包括阴影,也能够以高精度测量物体的位置和姿态。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。

Claims (17)

1.一种信息处理装置,其包括:
获取单元,其被构造为获取由摄像装置拍摄的、包括测量对象物体的图像;
存储单元,其被构造为存储关于构成所述测量对象物体的三维模型的多个几何特征的信息;
设置单元,其被构造为在所述多个几何特征与所述图像中的多个图像特征相关联的情况下,针对可能与由所述测量对象物体的阴影引起的图像特征相对应的几何特征,设置标志;
关联单元,其被构造为基于所述测量对象物体的近似位置和姿态、以及由所述设置单元设置的所述标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及
推导单元,其被构造为基于所述关联单元的关联结果,推导所述测量对象物体的位置和姿态。
2.根据权利要求1所述的信息处理装置,其中,所述设置单元基于所述测量对象物体的所述近似位置和姿态,确定所述多个几何特征当中可能与由所述测量对象物体的阴影引起的图像特征相对应的几何特征,并针对可能与由阴影引起的图像特征相对应的几何特征,设置所述标志。
3.根据权利要求1所述的信息处理装置,其中,所述推导单元以使得相互关联的图像特征与几何特征之间的差减小的方式更新所述近似位置和姿态,以推导所述测量对象物体的位置和姿态。
4.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
第二设置单元,其被构造为针对从所述图像中检测到的所述多个图像特征当中可能由所述测量对象物体的阴影引起的图像特征,设置第二标志,
其中,所述关联单元还基于所述第二标志,将所述多个几何特征与所述多个图像特征相互关联。
5.根据权利要求1所述的信息处理装置,其中,所述关联单元不将设置了所述标志的几何特征与图像特征相关联。
6.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
估算单元,其被构造为基于所述摄像装置的位置以及将光投影到所述测量对象物体上的投影装置的位置,来估算所述图像中的所述测量对象物体的阴影方向,
其中,所述设置单元基于所述测量对象物体的所述近似位置和姿态以及所述阴影方向,设置所述标志。
7.根据权利要求6所述的信息处理装置,其中,所述设置单元基于所述近似位置和姿态将所述多个几何特征投影到二维平面上,作为在投影的所述多个几何特征当中的关注几何特征处开始、搜索所述阴影方向上的预定范围的结果,在未检测到所述关注几何特征以外的几何特征的情况下,确定所述关注几何特征可能与由所述测量对象物体的阴影引起的图像特征相对应,从而设置所述标志。
8.根据权利要求6所述的信息处理装置,其中,所述设置单元基于所述近似位置和姿态来将布置在三维空间中的所述多个几何特征投影到二维平面上,基于所述二维平面上的、投影的所述多个几何特征当中的关注几何特征的方向以及所述阴影方向,来确定所述关注几何特征可能与由所述测量对象物体的阴影引起的图像特征相对应,从而设置所述标志。
9.一种信息处理装置,其包括:
获取单元,其被构造为获取由摄像装置拍摄的、包括测量对象物体的图像;
存储单元,其被构造为存储关于构成所述测量对象物体的三维模型的多个几何特征的信息;
设置单元,其被构造为针对从所述图像中检测到的多个图像特征当中由所述测量对象物体的阴影引起的图像特征,设置标志;
关联单元,其被构造为基于所述测量对象物体的近似位置和姿态以及所述标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及
推导单元,其被构造为基于所述关联单元的关联结果,推导所述测量对象物体的位置和姿态。
10.根据权利要求9所述的信息处理装置,其中,所述推导单元以使得相互关联的图像特征与几何特征之间的差减小的方式更新所述近似位置和姿态,以推导所述测量对象物体的位置和姿态。
11.根据权利要求9所述的信息处理装置,其中,所述关联单元不将设置了所述标志的图像特征与几何特征相关联。
12.根据权利要求9所述的信息处理装置,其中,在针对与几何特征相关联的第一图像特征设置所述标志的情况下,所述关联单元将不同于所关联的第一图像特征的第二图像特征与几何特征相关联。
13.根据权利要求9所述的信息处理装置,其中,所述设置单元针对检测到的所述多个图像特征,基于图像特征附近的像素值,来确定图像特征是否由所述测量对象物体的阴影引起,并且在图像特征被确定为由阴影引起的情况下,针对图像特征设置所述标志。
14.一种信息处理装置,其包括:
获取单元,其被构造为获取由摄像装置拍摄的、包括测量对象物体的图像;
存储单元,其被构造为存储关于构成所述测量对象物体的三维模型的多个几何特征的信息;
第一设置单元,其被构造为在所述多个几何特征与所述图像中的多个图像特征相关联的情况下,针对可能与由所述测量对象物体的阴影引起的图像特征相对应的几何特征,设置第一标志;
第二设置单元,其被构造为针对从所述图像中检测到的所述多个图像特征当中由所述测量对象物体的阴影引起的图像特征,设置第二标志;
关联单元,其被构造为基于所述测量对象物体的近似位置和姿态以及所述第一标志和所述第二标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及
推导单元,其被构造为基于所述关联单元的关联结果,推导所述测量对象物体的位置和姿态。
15.一种信息处理方法,其包括:
获取由摄像装置拍摄的、包括测量对象物体的图像;
在构成所述测量对象物体的三维模型的多个几何特征与所述图像中的多个图像特征相关联的情况下,针对可能与由所述测量对象物体的阴影引起的图像特征相对应的几何特征,设置标志;
基于所述测量对象物体的近似位置和姿态以及所设置的标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及
基于关联的结果,推导所述测量对象物体的位置和姿态。
16.一种信息处理方法,其包括:
获取由摄像装置拍摄的、包括测量对象物体的图像;
针对从所述图像中检测到的多个图像特征当中由所述测量对象物体的阴影引起的图像特征,设置标志;
基于所述测量对象物体的近似位置和姿态以及所述标志,将构成所述测量对象物体的三维模型的多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及
基于关联的结果,推导所述测量对象物体的位置和姿态。
17.一种信息处理方法,其包括:
获取由摄像装置拍摄的、包括测量对象物体的图像;
在构成所述测量对象物体的三维模型的多个几何特征与所述图像中的多个图像特征相关联的情况下,针对可能与由所述测量对象物体的阴影引起的图像特征相对应的几何特征,设置第一标志;
针对从所述图像中检测到的所述多个图像特征当中由所述测量对象物体的阴影引起的图像特征,设置第二标志;
基于所述测量对象物体的近似位置和姿态以及所述第一标志和所述第二标志,将所述多个几何特征与从所述图像中检测到的所述多个图像特征相关联;以及
基于关联的结果,推导所述测量对象物体的位置和姿态。
CN201610191851.8A 2015-04-02 2016-03-30 信息处理装置及信息处理方法 Active CN106052646B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015076076A JP6736257B2 (ja) 2015-04-02 2015-04-02 情報処理装置、情報処理方法、プログラム
JPJP2015-076076 2015-04-02

Publications (2)

Publication Number Publication Date
CN106052646A true CN106052646A (zh) 2016-10-26
CN106052646B CN106052646B (zh) 2019-01-04

Family

ID=57017366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610191851.8A Active CN106052646B (zh) 2015-04-02 2016-03-30 信息处理装置及信息处理方法

Country Status (4)

Country Link
US (1) US10332275B2 (zh)
JP (1) JP6736257B2 (zh)
CN (1) CN106052646B (zh)
DE (1) DE102016003294A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107274450A (zh) * 2016-04-01 2017-10-20 佳能株式会社 信息处理装置及其控制方法
CN108245893A (zh) * 2018-02-09 2018-07-06 腾讯科技(深圳)有限公司 三维虚拟环境中虚拟对象的姿态确定方法、装置及介质
CN111862199A (zh) * 2020-06-17 2020-10-30 北京百度网讯科技有限公司 定位方法、装置、电子设备和存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182274A (ja) * 2016-03-29 2017-10-05 セイコーエプソン株式会社 情報処理装置およびコンピュータープログラム
US10621751B2 (en) 2017-06-16 2020-04-14 Seiko Epson Corporation Information processing device and computer program
US10970425B2 (en) * 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking
US10311833B1 (en) 2018-03-27 2019-06-04 Seiko Epson Corporation Head-mounted display device and method of operating a display apparatus tracking an object
JP7257752B2 (ja) * 2018-07-31 2023-04-14 清水建設株式会社 位置検出システム
CN111311632B (zh) * 2018-12-11 2023-12-01 深圳市优必选科技有限公司 一种物体位姿跟踪方法、装置及设备
JP7174074B2 (ja) * 2019-01-09 2022-11-17 株式会社Fuji 画像処理装置、作業ロボット、基板検査装置および検体検査装置
JP7190919B2 (ja) * 2019-01-25 2022-12-16 株式会社ソニー・インタラクティブエンタテインメント 画像解析システム
JP7310526B2 (ja) * 2019-10-14 2023-07-19 株式会社デンソー 障害物識別装置および障害物識別プログラム
US11348280B2 (en) 2020-01-24 2022-05-31 Seiko Epson Corporation Method and computer readable medium for pose estimation
JP7163947B2 (ja) * 2020-10-22 2022-11-01 セイコーエプソン株式会社 投写領域の設定支援方法、設定支援システム、及びプログラム
CN112633372B (zh) * 2020-12-22 2023-03-24 三星电子(中国)研发中心 一种ar设备的光源估计方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011105522A1 (en) * 2010-02-24 2011-09-01 Canon Kabushiki Kaisha Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
CN102401646A (zh) * 2010-07-19 2012-04-04 通用电气公司 基于结构光测量的方法
US20130121592A1 (en) * 2010-08-20 2013-05-16 Canon Kabushiki Kaisha Position and orientation measurement apparatus,position and orientation measurement method, and storage medium
CN103512548A (zh) * 2012-06-18 2014-01-15 佳能株式会社 距离测量装置及距离测量方法
JP2014042210A (ja) * 2012-08-23 2014-03-06 Nippon Telegr & Teleph Corp <Ntt> 投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム
CN104204728A (zh) * 2012-09-05 2014-12-10 日本先锋公司 图像处理装置以及图像处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004023322A1 (de) * 2004-05-07 2005-11-24 Daimlerchrysler Ag Lage- und Positionsvermessung von Objekten mittels Bildverarbeitungsverfahren
JP6271953B2 (ja) * 2013-11-05 2018-01-31 キヤノン株式会社 画像処理装置、画像処理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011105522A1 (en) * 2010-02-24 2011-09-01 Canon Kabushiki Kaisha Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
CN102401646A (zh) * 2010-07-19 2012-04-04 通用电气公司 基于结构光测量的方法
US20130121592A1 (en) * 2010-08-20 2013-05-16 Canon Kabushiki Kaisha Position and orientation measurement apparatus,position and orientation measurement method, and storage medium
CN103512548A (zh) * 2012-06-18 2014-01-15 佳能株式会社 距离测量装置及距离测量方法
JP2014042210A (ja) * 2012-08-23 2014-03-06 Nippon Telegr & Teleph Corp <Ntt> 投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム
CN104204728A (zh) * 2012-09-05 2014-12-10 日本先锋公司 图像处理装置以及图像处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107274450A (zh) * 2016-04-01 2017-10-20 佳能株式会社 信息处理装置及其控制方法
CN108245893A (zh) * 2018-02-09 2018-07-06 腾讯科技(深圳)有限公司 三维虚拟环境中虚拟对象的姿态确定方法、装置及介质
CN111862199A (zh) * 2020-06-17 2020-10-30 北京百度网讯科技有限公司 定位方法、装置、电子设备和存储介质
CN111862199B (zh) * 2020-06-17 2024-01-09 北京百度网讯科技有限公司 定位方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
US10332275B2 (en) 2019-06-25
JP6736257B2 (ja) 2020-08-05
US20160292889A1 (en) 2016-10-06
JP2016197287A (ja) 2016-11-24
DE102016003294A1 (de) 2016-10-27
CN106052646B (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN106052646A (zh) 信息处理装置及信息处理方法
JP5746477B2 (ja) モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP5618569B2 (ja) 位置姿勢推定装置及びその方法
CN103988226B (zh) 用于估计摄像机运动以及用于确定实境三维模型的方法
CN103307975B (zh) 模型生成设备和方法以及信息处理设备和方法
JP5111210B2 (ja) 画像処理装置、画像処理方法
CN103984362B (zh) 位置和姿势测量装置、信息处理装置以及信息处理方法
CN107025663A (zh) 视觉系统中用于3d点云匹配的杂波评分系统及方法
CN102713671A (zh) 点群数据处理装置、点群数据处理方法和点群数据处理程序
CN102609942A (zh) 使用深度图进行移动相机定位
KR20150121179A (ko) 실시간 스테레오 정합
CN107532885A (zh) 光图案中的强度变化用于体积中的物体的深度绘制
CN108628306A (zh) 机器人行走障碍检测方法、装置、计算机设备和存储介质
CN113393439A (zh) 一种基于深度学习的锻件缺陷检测方法
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP2014026670A (ja) 情報処理装置、その処理方法及びプログラム
McIlroy et al. Kinectrack: 3d pose estimation using a projected dense dot pattern
Han et al. A PTV-based feature-point matching algorithm for binocular stereo photogrammetry
JP6486083B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN108564626A (zh) 用于确定安装于采集实体的相机之间的相对姿态角的方法和装置
Wan et al. A performance comparison of feature detectors for planetary rover mapping and localization
CN101308014A (zh) 一种采用多束光确定位置姿态的系统和方法
CN114511631A (zh) 摄像机视觉物体高度测量方法、装置及计算机可读存储介质
Zhang et al. Kinect-based universal range sensor for laboratory experiments

Legal Events

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