图像处理装置以及方法转让专利

申请号 : CN201610959441.3

文献号 : CN106682673B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 并木勇太藁科文和

申请人 : 发那科株式会社

摘要 :

本发明涉及图像处理装置以及方法。图像处理装置根据表示对象物的形状的多个第一特征点的集合即模型图案,在通过视觉传感器(10)拍摄到的输入数据中检测出对象物的图像,该图像处理装置具有:对象物检测部(23),其进行从该输入数据提取出的多个第二特征点与构成模型图案的多个第一特征点的匹配而检测出对象物的图像;对应点选择部(24),其针对对象物的图像中的各个图像,选择与第一特征点对应的第二特征点,并作为对应点而进行存储;以及模型图案修正部(25),其计算出与各个第一特征点相关联的多个对应点的预定的物理量的统计量,根据统计量来修正第一特征点。

权利要求 :

1.一种图像处理装置,根据表示对象物的形状的多个第一特征点的集合即模型图案,在通过视觉传感器拍摄到的输入数据中检测出上述对象物的图像,该图像处理装置的特征在于,具备:对象物检测部,其针对拍摄对象物得到的多个输入数据中的各个输入数据,进行从该输入数据提取出的多个第二特征点与构成上述模型图案的多个第一特征点的匹配而检测出上述对象物的一个至多个图像;

对应点选择部,其针对根据上述多个输入数据检测出的一个至多个对象物的图像中的各个图像,从构成该图像的多个第二特征点中选择出与构成上述模型图案的上述多个第一特征点对应的第二特征点,将该第二特征点作为对应点而与该第一特征点关联起来进行存储;以及模型图案修正部,其针对构成上述模型图案的多个第一特征点中的各个第一特征点,根据在与该第一特征点相关联的多个上述对应点中的各个对应点决定的预定的物理量计算出统计量,根据计算出的上述预定的物理量的统计量来修正该第一特征点。

2.根据权利要求1所述的图像处理装置,其特征在于,

上述对应点选择部进行如下的动作:

针对构成上述模型图案的多个第一特征点中的各个第一特征点,根据与上述第一特征点相关联的多个上述对应点的预定的物理量的统计量,求出用于判断上述对应点选择中的对应/不对应的判断指标,将该判断指标与该第一特征点关联起来进行存储,针对构成上述模型图案的多个第一特征点中的各个第一特征点,根据从上述输入数据中提取出的上述第二特征点的上述预定的物理量和与该第一特征点相关联的上述判断指标,判断该第一特征点与该第二特征点是否一致。

3.根据权利要求1所述的图像处理装置,其特征在于,

上述对应点选择部进行如下动作:

针对上述检测出的一个至多个对象物的图像中的各个图像,将构成该图像的多个第二特征点中与构成上述模型图案的第一特征点均不对应的一个至多个第二特征点作为特征点候选而进行存储,选择与存储的上述一个至多个特征点候选对应的第二特征点,并且将该第二特征点作为对应点而与该特征点候选关联起来进行存储,上述模型图案修正部还进行如下动作:针对存储的上述一个至多个特征点候选中的各个特征点候选,计算出与该特征点候选相关联的多个对应点的预定的物理量的统计量,并且根据该预定的物理量的统计量将该特征点候选作为第一特征点而追加到上述模型图案中。

4.根据权利要求1所述的图像处理装置,其特征在于,

上述对应点选择部从上述一个至多个对象物的图像中排除不适当的对象物的图像,仅从适当的对象物的图像中选择对应点。

5.根据权利要求1所述的图像处理装置,其特征在于,

上述模型图案修正部从与第一特征点相关联的多个上述对应点中排除不适当的对应点,仅使用适当的对应点来计算上述预定的物理量的统计量。

6.根据权利要求1所述的图像处理装置,其特征在于,

上述物理量是位置、亮度梯度的方向、亮度梯度的大小中的至少一个。

7.一种图像处理装置,使用表示对象物的形状的多个第一特征点的集合即模型图案,在通过视觉传感器拍摄到的输入数据中检测出上述对象物的图像,该图像处理装置的特征在于,具备:对象物检测部,其针对拍摄对象物得到的多个输入数据中的各个输入数据,进行从该输入数据中提取出的多个第二特征点与构成上述模型图案的多个第一特征点的匹配而检测出上述对象物的一个至多个图像;以及对应点选择部,其针对根据上述多个输入数据检测出的一个至多个对象物的图像中的各个图像,从构成该图像的多个第二特征点中选择出与构成上述模型图案的上述多个第一特征点对应的第二特征点,将该第二特征点作为对应点而与该第一特征点关联起来进行存储,并且对构成上述模型图案的多个第一特征点中的每个第一特征点,对上述对应点的预定的物理量计算出预定的统计量,并且根据计算出的上述预定的统计量,求出用于判断上述匹配中的一致/不一致的判断指标,将该判断指标与该第一特征点关联起来进行存储,上述对象物检测部还进行如下的动作:针对构成上述模型图案的多个第一特征点中的各个第一特征点,根据从上述输入数据提取出的上述第二特征点的上述预定的物理量和与该第一特征点相关联的上述判断指标,判断该第一特征点与该第二特征点是否一致。

8.根据权利要求2或7所述的图像处理装置,其特征在于,

上述存储的判断指标包含上述计算出的预定的统计量。

9.根据权利要求1或7所述的图像处理装置,其特征在于,

上述视觉传感器为摄像头,上述输入数据为浓淡图像或彩色图像。

10.根据权利要求1或7所述的图像处理装置,其特征在于,

上述视觉传感器为三维传感器,上述输入数据为距离图像或三维点群,其中,三维点群为点云。

11.一种图像处理方法,根据表示对象物的形状的多个第一特征点的集合即模型图案,在通过视觉传感器拍摄到的输入数据中检测出上述对象物的图像,该图像处理方法的特征在于,具备如下步骤:第一步骤,针对拍摄对象物得到的多个输入数据中的各个输入数据,进行从该输入数据提取出的多个第二特征点与构成上述模型图案的多个第一特征点的匹配而检测出上述对象物的一个至多个图像;

第二步骤,针对根据上述多个输入数据检测出的一个至多个对象物的图像中的各个图像,从构成该图像的多个第二特征点中选择出与构成上述模型图案的上述多个第一特征点对应的第二特征点,将该第二特征点作为对应点而与该第一特征点关联起来进行存储;以及第三步骤,针对构成上述模型图案的多个第一特征点中的各个第一特征点,根据在与该第一特征点相关联的多个上述对应点中的各个对应点决定的预定的物理量计算出统计量,根据计算出的上述预定的物理量的统计量来修正该第一特征点。

12.根据权利要求11所述的图像处理方法,其特征在于,

在上述第二步骤与上述第三步骤之间具备如下步骤:针对构成上述模型图案的多个第一特征点中的各个第一特征点,从与该第一特征点相关联的多个上述对应点中排除不适当的对应点。

13.根据权利要求11所述的图像处理方法,其特征在于,

在上述第一步骤与上述第二步骤之间具备如下步骤:从上述检测出的一个至多个对象物的图像中排除不适当的对象物的图像。

14.根据权利要求11所述的图像处理方法,其特征在于,

上述物理量是位置、亮度梯度的方向、亮度梯度的大小中的至少一个。

说明书 :

图像处理装置以及方法

技术领域

[0001] 本发明涉及一种以构成对象物的图像的特征点为模型图案,对该模型图案与从输入数据提取出的特征点的一致度进行评价,由此检测出映现在检测图像上的对象物的图像的位置的装置。

背景技术

[0002] 通常,在使用图像处理装置从通过视觉传感器拍摄到的输入数据中检测出特定的对象物的图像的情况下,进行表示对象物的基准信息(通常,称为模型图案、模板等)与通过视觉传感器拍摄到的输入数据之间的特征点的匹配,在一致度超过预定的水平时判断为对象物的检测成功。
[0003] 例如,在视觉传感器为摄像头且输入数据为浓淡图像的情况下,作为在进行这种匹配时使用的特征点之一存在边缘点。边缘点为图像上的亮度变化大的点。通常,对象物的图像的轮廓部分的亮度变化大,因此在很多情况下作为表示对象物的轮廓线形状的特征点而利用边缘点。将从包含应检测的对象物的图像中提取出的边缘点群作为模型图案而进行存储,根据从通过视觉传感器拍摄到的图像提取出的边缘点群与模型图案的边缘点群的一致度来检测对象物。例如,作为这种方法已知广义霍夫(hough)变换等。
[0004] 另外,映现在图像中的对象物的图像的轮廓线的形状具有偏差。该偏差例如存在以下原因。
[0005] ·对象物形状的个体差
[0006] ·较大的视差
[0007] 这里所指的视差是指,在对象物为立体或对象物的棱线的角为圆的情况下由于对象物与视觉传感器的相对位置发生变化而映现在图像中的轮廓线的位置关系发生偏离。
[0008] 即使在对象物的轮廓线中产生这种的偏差,也期望能够正确地检测出对象物。但是,实际上,有时使用于模型图案的示教的对象物的个体或其图像本身还由于偏差而产生偏差,在很多情况下也不能说是最佳匹配。在这种情况下,无法进行期待的检测。例如,如果是某种偏差则即使偏差很大也能够进行检测,但是对于其它种类的偏差,稍微有差别则无法进行检测。因此,在应用上述方法之后要求生成与可产生的偏差相应的最佳的模型图案。
[0009] 在日本专利第5080416号公报中,在从输入图像中检测出与模型匹配的对象物时,累计针对匹配的评分的模型的各特征量的贡献度。公开了根据该贡献度来删除不需要的特征量的方法。专利第5080416号公报所公开的方法为根据实际检测时的匹配信息来修正模型的方法,但是检测对象物的形状的个体差大的部分的贡献度降低,从而有可能不需要地删除该部分的模型特征量。另外,在该方法中,无法将模型图案的形状修正为最佳匹配。
[0010] 在日本特开2015-7972号公报中公开了对模型图像进行旋转、放大和缩小、变形、照明的变化、图像噪声等各种变动而生成多个变动图像的方法。从该变动图像中提取出图案的特征量而生成特征量的分布。利用该分布,能够生成鲁棒的模型。
[0011] 在日本特开2015-7972号公报所记载的方法中通过人工方法进行变动,而无法使由实际检测对象物的个体差、环境引起的偏差反映于模型。
[0012] 在日本专利第4843415号公报中公开了以下方法:从相同视点多次拍摄相同对象物,对多个图像中的各个图像进行检测而计算出检测出的轮廓线的平均位置,由此使检测位置精度高精度化。该方法用于减轻相同对象物的测量误差的影响,而无法减轻多个检测对象物的偏差的影响。
[0013] 在日本特开平7-37085号公报中公开了以下方法:从学习用图像中将与初始基准图案匹配的区域作为局部图像而切出,以像素值单位对切出的多个局部图像进行平均化,由此生成新基准图案。通过以像素单位进行平均化而能够去除由噪声引起的偏差。但是,在该方法中,在由于个体差、视差的影响而产生边缘位置偏差的情况下,平均化的图像的亮度梯度变小,从而有可能无法准确地提取出边缘。

发明内容

[0014] 本发明的目的在于,即使映现在图像中的对象物的图像的轮廓线的形状产生偏差也能够正确地进行检测。
[0015] 本申请的图像处理装置根据表示对象物的形状的多个第一特征点的集合即模型图案,在通过视觉传感器拍摄到的输入数据中检测出上述对象物的图像,该图像处理装置具备:对象物检测部,其针对拍摄对象物得到的一个至多个输入数据中的各个输入数据,进行从该输入数据提取出的多个第二特征点与构成上述模型图案的多个第一特征点的匹配而检测出上述对象物的一个至多个图像;对应点选择部,其针对根据上述一个至多个输入数据检测出的一个至多个对象物的图像中的各个图像,从构成该图像的多个第二特征点中选择出与构成上述模型图案的上述多个第一特征点对应的第二特征点,将该第二特征点作为对应点而与该第一特征点关联起来进行存储;以及模型图案修正部,其针对构成上述模型图案的多个第一特征点中的各个第一特征点,计算出与该第一特征点相关联的上述多个对应点的预定的物理量的统计量,根据计算出的上述预定的物理量的统计量来修正该第一特征点。

附图说明

[0016] 通过参照以下附图,能够更加明确本发明。
[0017] 图1是表示设置于视觉传感器控制装置的图像处理装置的结构的框图。
[0018] 图2是表示实施方式的通过具有图像处理装置的视觉传感器控制装置和视觉传感器来检测对象物的位置的情况的结构例的图。
[0019] 图3是表示在通过由机器人控制装置控制的机器人的手来操纵作业台上的对象物的情况下,通过搭载于视觉传感器控制装置的实施方式的图像处理装置对设置于机器人的手下的视觉传感器的图像进行处理而检测对象物,并将检测出的对象物的位置信息提供给机器人控制装置的结构例的图。
[0020] 图4是表示第一实施方式的处理的流程图。
[0021] 图5是表示图像处理部进行的模型图案的生成过程的流程图。
[0022] 图6是说明计算第一特征点的位置与第二特征点的位置的距离的方法例的图。
[0023] 图7是表示第二实施方式的处理的流程图。
[0024] 图8是说明选择特征点候选的处理的图。
[0025] 图9是说明从特征点候选中删除重复的部分的处理的图。
[0026] 图10是表示第三实施方式的处理的流程图。
[0027] 图11是表示对象物的模型图案的示例的图。
[0028] 图12是表示拍摄到的图像中的模型图案指定区域的示例的图。
[0029] 图13是表示存储在模型图案存储部中的对应点的数据形式的图。
[0030] 图14是说明计算误差向量的方法的图。
[0031] 图15是说明根据统计量来修正模型图案的第一特征点的方法的图。
[0032] 图16是表示存储在模型图案存储部中的判断指标的形式的图。
[0033] 图17是表示存储在模型图案存储部中的第一特征点的数据形式的图。
[0034] 图18是表示误差向量的数据存储形式的图。
[0035] 图19是表示第四实施方式的处理的流程图。

具体实施方式

[0036] 以下,参照附图说明本发明的第一至第三实施方式(以下,有时将共同部分的说明简称为实施方式)。然而,可理解为本发明并不限定于附图或以下说明的实施方式。
[0037] 在实施方式的说明中,如下那样使用标记。为了明确说明,首先说明标记。
[0038] NP:构成模型图案的第一特征点的数量
[0039] P_i:模型图案的第i个第一特征点(i为1至NP)
[0040] NI:输入图像的数量
[0041] I_j:第j个输入图像(j为1至NI)
[0042] NQ_j:从第j个输入图像I_j提取出的第二特征点的数量
[0043] Q_jk:从第j个输入图像I_j提取出的第k个第二特征点(k为1至NQ_j)
[0044] NT_j:从第j个输入图像I_j检测出的对象物的图像的数量
[0045] T_jg:从第j个输入图像I_j检测出的第g个对象物的图像(g为1至NT_j)
[0046] NT:从所有输入图像检测出的对象物的图像的总数(NT=ΣNT_j)
[0047] NO_jg:从第j个输入图像I_j提取出的第二特征点Q_jk中的、构成对象物的图像T_jg的特征点的数量(NO_jg
[0048] O_jgn:从第j个输入图像I_j提取出的第二特征点Q_jk中的、构成对象物的图像T_jg的特征点以外的特征点的第n个特征点(非对应点)(n为1至NO_jg)
[0049] NO_i:判断为与模型图案的第i个特征点P_i对应的对应点的数量(NO_i<=NT)[0050] O_im:与模型图案的第i个特征点P_i对应的第m个对应点(m为1至NO_i)
[0051] NC:特征点候选的数量
[0052] C_h:第h个特征点候选(h为1至NC个)
[0053] NO_h:判断为与特征点候选C_h对应的对应点的数量(NO_h
[0054] O_hp:与特征点候选C_h对应的第p个对应点(p为1至NO_h)
[0055] 图2是表示实施方式的通过具有图像处理装置的视觉传感器控制装置和视觉传感器来检测对象物的位置的情况的结构例的图。
[0056] 如图2所示,将视觉传感器10固定设置于能够拍摄对象物1的位置,将对象物1载置于作业台2。视觉传感器10既可以是拍摄浓淡图像、彩色图像的摄像头,也可以是能够获取距离图像、三维点群的立体摄像头、三维传感器。三维点群既可以是对象物的轮廓线上的点群,也可以是对象物的面上的点群。
[0057] 在本实施方式中,作为视觉传感器10使用摄像头,以视觉传感器10输出浓淡图像为例进行说明。摄像头例如为具有CCD(Charge Coupled Device:电荷耦合元件)等摄像元件的电子摄像头,是具备通过拍摄在摄像面(CCD阵列面上)上检测二维图像的功能的公知的受光设备。此外,以下将摄像面中的二维坐标系称为图像坐标系。
[0058] 图3是表示在通过由机器人控制装置13控制的机器人11的手12来操纵作业台2上的对象物1的情况下,通过搭载于视觉传感器控制装置20的实施方式的图像处理装置对设置于机器人11的手下的视觉传感器10的图像进行处理而检测出对象物1,并将检测出的对象物1的位置信息提供给机器人控制装置13的结构例的图。如图3所示,视觉传感器10也可以设置于机器人11的手下等可动部。
[0059] 图1是表示设置于视觉传感器控制装置的图像处理装置的结构的框图。
[0060] 如图1所示,图像处理装置21具有图像处理部22、模型图案存储部26以及检测结果存储部27。在图像处理装置21上连接有视觉传感器10、操作盘31、显示装置32等。图像处理部22包括对象物检测部23、对应点选择部24以及模型图案修正部25。模型图案存储部26存储所示教的模型图案。检测结果存储部27用于存储使用示教的模型图案根据输入数据检测出对象物的检测结果。在具有CPU、ROM、RAM等的计算机上通过软件来实现图像处理装置21所包含的各部分。在后述的第一至第三实施方式中,通过软件实现的处理内容不同。
[0061] 视觉传感器10通过通信电缆连接于图像处理装置21。视觉传感器10将拍摄到的图像数据提供给图像处理装置21。操作盘31通过通信电缆连接于图像处理装置21。操作盘31使用于通过图像处理装置21设定检测对象物1所需的视觉传感器10。显示装置32通过通信电缆连接于图像处理装置21。在显示装置32中显示通过视觉传感器10拍摄到的图像、通过操作盘31设定的设定内容。此外,视觉传感器10、操作盘31以及显示装置32也可以与图像处理装置21成一体。
[0062] 图4是表示第一实施方式的图像处理装置21的处理的流程图。
[0063] 使用图4说明在第一实施方式中由图像处理部22执行的处理内容。
[0064] 在步骤S101中,图像处理部22生成模型图案,将所生成的模型图案存储到模型图案存储部26中。
[0065] 本实施方式中的模型图案由多个特征点构成。作为特征点能够使用各种要素,但是在本实施方式中将边缘点用作特征点。边缘点为图像中亮度梯度大的点,能够用作用于获取对象物1的轮廓形状。提取边缘点的方法记载于“コンピュータビジョン”(共立出版)2007.1等,是公知的,因此在此省略说明。
[0066] 作为边缘点的物理量,有该边缘点的位置、亮度梯度方向、亮度梯度的大小等。将边缘点的亮度梯度的方向定义为特征点的姿势时,能够与位置对应地定义特征点的位置姿势。在本实施方式中,作为特征点的物理量而存储边缘点的物理量,即边缘点的位置、姿势(亮度梯度的方向)、亮度梯度的大小。
[0067] 图11是表示对象物1的模型图案的示例的图。如图11所示,对象物1的模型图案由多个第一特征点P_i(i=1~NP)构成。
[0068] 构成模型图案的第一特征点P_i的位置姿势也可以用任意形式表示,但是作为一例可举出对模型图案定义坐标系100(以下,称为模型图案坐标系100),并用从模型图案坐标系100观察到的位置向量、方向向量等来表现构成模型图案的特征点的位置t_Pi(i=1~NP)、姿势v_Pi(i=1~NP)的方法。
[0069] 也可以任意地定义模型图案坐标系100的原点。例如,既可以从构成模型图案的第一特征点中选择任意1点,将该点定义为原点,也可以将构成模型图案的所有特征点的重心定位为原点。
[0070] 也可以任意地定义模型图案坐标系100的姿势(轴方向)。例如。既可以在进行模型图案的生成的图像中以图像坐标系与模型图案坐标系100变得平行的方式进行定义,也可以从构成模型图案的特征点中选择任意2点并以其一方朝向另一方的方向成为X轴方向的方式进行定义。
[0071] 在模型图案存储部26中例如以如图17的形式(包括位置、姿势、亮度梯度的大小)存储构成模型图案的第一特征点P_i。
[0072] 图5是表示图像处理部22进行的模型图案的生成过程的流程图。
[0073] 在步骤S201中,将想要作为模型图案而示教的对象物1配置于视觉传感器(摄像头)10的视场内而拍摄对象物1的图像。此时的摄像头10与对象物1的位置关系期望变得与检测对象物1时相同。
[0074] 在通过步骤S202拍摄到的图像中,将映照了对象物1的区域以矩形、圆形来指定为模型图案指定区域。
[0075] 图12是表示拍摄到的图像中的模型图案指定区域的示例的图。
[0076] 在图12中,在拍摄到的图像中定义图像坐标系210,其中以包含对象物1的图像1A的方式指定模型图案指定区域(在此为矩形区域)220。模型图案指定区域220既可以由图像处理部22接收使用者一边通过显示装置32观察图像一边通过操作盘31输入的指示而设定,也可以由图像处理部22将图像中的亮度梯度大的部分求出为图像1A的轮廓,并以在内部包含图像1A的方式自动地指定。
[0077] 在步骤S203中,在模型图案指定区域220的范围内将边缘点作为特征点而提取,求出边缘点的位置、姿势(亮度梯度的方向)、亮度梯度的大小等物理量。另外,在指定的区域内定义模型图案坐标系100,将边缘点的位置、姿势从在图像坐标系210中表现的值变换为在模型图案坐标系100中表现的值。
[0078] 在步骤S204中,将提取出的边缘点的物理量作为构成模型图案的第一特征点P_i而存储到模型图案存储部26中。
[0079] 在本实施方式中,作为特征点而使用了边缘点,但是在本实施方式中可使用的特征点并不限定于边缘点,例如也可以使用如SIFT那样的特征点。从图像中提取SIFT特征点的方法记载于“Object Recognition from Local Scale-Invariant Features”,David G.Lowe,Proc.Of the International Conference on Computer Vision,Corfu(Sept.1999)等,这是公知的。
[0080] 另外,也可以不是从对象物1的图像中提取边缘点、SIFT特征点等而设为构成模型图案的第一特征点,而是以与映现在图像中的对象物的轮廓线一致的方式配置线段、矩形、圆等几何图形来生成模型图案。在该情况下,在构成轮廓线的几何图形上以适当的间隔来设置特征点即可。
[0081] 并且,还能够根据CAD数据等来生成模型图案。如果是二维CAD数据,则能够通过与使用几何图形的方法相同的方法来生成模型图案。如果是三维CAD数据,则在图像上投影用CAD数据表现的对象物的形状,从投影的图像中提取特征点而设为第一特征点即可。例如,能够通过以下那样的处理进行变换。
[0082] 1.在摄像头的摄像面上定义设置原点的局部坐标系。
[0083] 2.预先校准摄像头。由此,能够将用局部坐标系表现的三维点变换为摄像头图像上的二维点。
[0084] 3.在局部坐标系中虚拟地配置作为CAD数据而表现的对象物。在局部坐标系中表现配置的CAD数据。将摄像头与对象物的相对关系设为与实际进行对象物的检测时的相对关系大体相同。
[0085] 4.从轮廓线以预定的间隔来获取轮廓线上的三维点群。如果需要则从CAD数据中指定作为模型图案而使用的轮廓线。
[0086] 5.将三维点群投影于摄像头图像上,求出图像坐标系上的二维点群。如果在CAD数据上指定明暗的朝向,则还能够附加亮度梯度的方向。在此,明暗的朝向是指,表示以轮廓线为边界的两个区域中哪个区域更明亮。
[0087] 6.将求出的图像坐标系上的二维点群变换为用模型图案坐标系来表现,作为第一特征点而存储到模型图案存储部中。
[0088] 返回至步骤S102,准备包含对象物1的图像1A的一个至多个输入图像I_j(j=1~NI)。映现在输入图像I_j中的对象物1的图像1A期望包含在检测中成为问题的偏差。例如,如果对象物1的个体差成为问题,则准备多个具有个体差的对象物1,优选将分别拍摄这些对象物1而得的图像设为输入图像。如果由放置对象物1的位置不同而外观不同成为问题,则优选将在摄像头视场内的各个位置、朝向上放置对象物而拍摄到的图像设为输入图像。也可以大量地保存实际在生产线上拍摄到的对象物1的图像,并将该图像设为输入图像。实际在生产线上拍摄到的图像包含要考虑的各种偏差,因此优选使用。也可以在一个输入图像上映现多个对象物。
[0089] 在步骤S103中,对各个输入图像I_j(j=1~NI)进行对象物1的图像1A(以下,有时简称为对象物1)的检测。
[0090] 首先,从输入图像I_j中提取第二特征点。通过与生成模型图案时提取第一特征点的方法相同的方法来提取第二特征点即可。在本实施方式中,从输入图像中提取边缘点而设为第二特征点。为了便于说明,将从输入图像I_j提取出的NQ_j个第二特征点设为Q_jk(k=1~NQ_j)。将第二特征点Q_jk与输入图像I_j关联起来存储到检测结果存储部27中。在该时间点,用图像坐标系210来表现第二特征点Q_jk的位置、姿势。
[0091] 接着,对从输入图像I_j提取出的第二特征点Q_jk与构成模型图案的第一特征点P_i进行匹配并进行对象物1的检测。检测对象物的方法有各种方法,但是,例如作为公知的方法而能够利用记载于“Generalizing the Hough Transform to Detect Arbitrary Shapes”,D.H.Ballard,Pattern Recognition Vol.13,No.2,pp.111-122,1981的广义霍夫变换、记载于“Random samp leconsensus:a paradigm for model fitting with applications to image analysis and automated cartography”,Martin A.Fischler,et al.,Communications of the Association for Computing Machinery Vol.24 No.6 Pages 381-395,March 1980的RANSAC、记载于“A method for Registration for 3-D Shapes”,Paul J.Best,et al.,IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol.14,No.2,February 1992的ICP算法等。
[0092] 进行检测的结果是,设为从输入图像I_j检测出NT_j个对象物的图像。另外,将检测出的图像设为T_jg(g=1~NT_j)、将图T_jg的检测位置设为R_Tjg。检测位置R_Tjg为表示从图像坐标系210观察到的对象物的图像T_jg的位置姿势,即使模型图案重叠于图像T_jg时的从图像坐标系210观察到的模型图案坐标系100的位置姿势的齐次变换矩阵(homogeneous transformation matrix),用以下式表示。
[0093]
[0094] 例如,在对象物不会相对于摄像头的光轴倾斜,作为映现于图像的对象物的图像的移动仅考虑全等变换(congruent transformation)的情况下,a00~a12如以下所示。
[0095] a00=cosθ
[0096] a01=-sinθ
[0097] a02=X
[0098] a10=sinθ
[0099] a11=cosθ
[0100] a12=y
[0101] 其中,(x、y)为图像上的位置,θ为图像上的旋转移动量。
[0102] 另外,对象物不会相对于摄像头的光轴倾斜,但是在对象物与摄像头的距离不固定的情况下,根据距离不同而映现于图像的对象物的图像大小发生变化,因此作为映现于图像的对象物的图像的移动而成为相似变换。在该情况下,a00~a12如以下所示。
[0103] a00=s·cosθ
[0104] a01=-s·sinθ
[0105] a02=X
[0106] a10=s·sinθ
[0107] a11=s·cosθ
[0108] a12=y
[0109] 其中,s为示教的模型图案的大小与对象物的图像T_jg的大小之比。
[0110] 对各个输入图像I_j(j=1~NI)进行相同的处理,设为总计检测出NT个图像。此外,总计的个数NT用下式来表示。
[0111]
[0112] 将检测位置R_Tjg与输入图像I_j关联起来存储到检测结果存储部27中。
[0113] 在步骤S104中,根据从各输入图像I_j(j=1~NI)检测出的对象物的图像T_jg(j=1~NI、g=1~NT_j)的检测位置R_Tjg,将从输入图像I_j提取出的第二特征点Q_jk(j=1~NI,k=1~NQ_j)中的、与构成模型图案的第一特征点P_i对应的特征点作为对应点而进行选择。
[0114] 为了便于说明,分别用齐次变换矩阵R_Pi来表示构成模型图案的第一特征点P_i的位置姿势。R_Pi能够如下记述。
[0115]
[0116] b00=vx_Pi
[0117] b01=-vy_Pi
[0118] b02=tx_Pi
[0119] b10=vy_Pi
[0120] b11=vx_Pi
[0121] b12=ty_Pi
[0122] 其中,t_Pi=(tx_Pi,ty_Pi)为模型图案坐标系中的P_i的位置,v_Pi=(vx_Pi,Vy_Pi)为模型图案坐标系中的P_i的姿势。
[0123] 此外,还能够用角度r_Pi来表现P_i的姿势而并非向量。v_Pi使用r_Pi而能够表现为v_Pi=(vx_Pi,vy_Pi)=(cos r_Pi,sin r_Pi)。
[0124] 同样地,从输入图像I_j提取出的第二特征点_Q_jk的位置姿势也用齐次变换矩阵R_Qjk来表示。
[0125] 在此,需要注意的是,构成模型图案的第一特征点P_i的位置姿势R_Pi用模型图案坐标系来表现,从输入图像I_j提取出的第二特征点Q_jk的位置姿势R_Qjk用图像坐标系来表现。因此,能够明确两者的关系。
[0126] 将使模型图案重叠于映现在图像I_j中的对象物的图像T_jg时的、从图像坐标系观察的第一特征点P_i的位置姿势设为R_Pi’时,R_Pi’使用从模型图案坐标系观察的第一特征点P_i的位置姿势R_Pi和从图像坐标系观察的图像T_jg的检测位置R_Tjg来如下那样进行表示。
[0127] R_Pi’=R_Tjg·R_Pi   (1)
[0128] 同样地,将使模型图案重叠于对象物的图像T_jg时的、从模型图案坐标系观察的第二特征点Q_jk的位置姿势设为R_Qjk’时,R_Qjk’使用从图像坐标系观察的Q_jk的位置姿势R_Qjk和从图像坐标系观察的图像T_jg的检测位置R_Tjg来如下那样进行表示。
[0129] R_Qjk’=R_Tjg-1·R_Qjk   (2)
[0130] 此外,为了后文中的说明,将从图像坐标系观察的P_i的位置设为t_Pi’、将从图像坐标系观察的P_i的姿势设为v_Pi’、将从图像坐标系观察的Q_jk的位置设为t_Qjk、将从图像坐标系观察的Q_jk的姿势设为v_Qjk、将从模型图案坐标系观察的Q_jk的位置设为t_Qjk’、将从模型图案坐标系观察的Q_jk的姿势设为v_Qjk’。
[0131] 根据上述情况,通过以下过程来进行构成模型图案的第一特征点P_i和从输入图像I_j提取出的第二特征点Q_jk(j=1~NI,k=1~NQ_j)的对应。
[0132] 1.根据从输入图像I_j检测出的对象物的图像T_jg的检测位置R_Tjg,将构成模型图案的第一特征点P_i的位置姿势R_Pi通过式(1)变换为从图像坐标系观察的位置姿势R_Pi’。
[0133] 2.针对各个第一特征点P_i,从第二特征点Q_jk中搜索最近的部分。在搜索中能够使用以下方法。
[0134] (a)计算第一特征点的位置姿势R_Pi’与所有第二特征点的位置姿势R_Qjk的距离,选择距离最近的第二特征点Q_jk。
[0135] (b)在与输入图像I_j的像素数相同的要素数的二维排列中,将第二特征点的位置姿势R_Qjk存储于与该位置的像素对应的二维排列的要素,二维地搜索与二维排列的第一特征点的唯一姿势R_Pi对应的像素附近,选择最初发现的第二特征点Q_jk。
[0136] 3.评价所选择的第二特征点Q_jk作为该第一特征点P_i的对应点是否适当。例如,计算第一特征点P_i的位置姿势R_Pi’与第二特征点Q_jk的位置姿势R_Qjk的距离,如果距离为阈值以下,则设为所选择的第二特征点Q_jk作为该第一特征点P_i的对应点而适当。
[0137] 并且,还一并评价第一特征点P_i与第二特征点Q_jk的姿势、亮度梯度的大小等物理量的差,也可以在它们为阈值以下或阈值以上时判断为所选择的第二特征点Q_jk作为该第一特征点P_i的对应点而适当。
[0138] 4.在判断为所选择的第二特征点Q_jk作为该第一特征点P_i的对应点而适当的情况下,将所选择的第二特征点Q_jk设为该第一特征点P_i的对应点O_im而与P_i关联起来存储到检测结果存储部27中。将从对应点O_im的图像坐标系观察的位置姿势设为R_Oim时,R_Oim=R_Qjk,这是从图像坐标系观察的位置姿势,因此变换为从模型图案坐标系观察的位置姿势R_Oim’并存储。R_Oim’能够用式(2)如下那样计算。
[0139]
[0140] 第一特征点P_i的位置t_Pi’与第二特征点Q_jk的位置t_Qjk的距离可以使用2点间的直线距离,但是也可以使用通过以下说明的图6示出的计算方法计算得到的值。
[0141] 1.将通过第一特征点P_i的位置t_Pi’并与第一特征点P_i的姿势v_Pi’平行的直线设为L2。
[0142] 2.将通过第二特征点Q_jk的位置t_Qjk并与第二特征点Q_jk的姿势v_Qjk正交的直线设为L1。
[0143] 3.计算L1与L2的交点T以及与第一特征点P_i的位置t_Pi’之间的距离d_gi。在该情况下,距离d_gi成为带符号的距离。
[0144] 当这样计算距离时,忽视与第一特征点P_i的亮度梯度的方向正交的方向的偏离。
[0145] 分别对从输入图像I_j(j=1~NI)检测出的NT个检测位置R_Tjg(j=1~NI、g=1~NQ_j)进行上述处理,由此设为发现了NO_i个判断为与模型图案的第i个特征点P_i对应的对应点。另外,将与模型图案的第i个特征点P_i对应的第m个对应点设为O_im(m=1~NO_i)。此外,从输入图像I_j检测出的对象物的图像的总数为NT,因此为NO_i<=NT。得到的对应点按照如图13的方式被存储到模型图案存储部26中。
[0146] 此外,在本实施方式中,对NT个检测位置R_Tjg(j=1~NI、g=1~NQ_j)进行对应点的选择,但是不一定必须对所有检测位置进行。例如,如果明显地混入了不适当的检测位置,则期望排除这些不适当的检测位置。例如,能够用以下方法进行排除。
[0147] 作为排除方法的一例,在模型图案示教时和进行检测时对检测位置附近的亮度值进行比较,若亮度值有较大不同,则作为不适当而进行排除。说明该排除处理。
[0148] 1.设定用于测量亮度值的区域。将该区域称为测量区域。测量区域既可以是模型图案内部也可以是外部。测量区域的形状并没有限制,在此设为矩形,存储从模型图案坐标系观察的矩形的位置和大小。另外,在对模型图案进行示教的图像中,计算出测量区域内的亮度值的统计量,一并进行存储。统计量考虑亮度值的平均、分散、最大值、最小值等。
[0149] 2.计算与检测结果T_jg的检测位置R_Tjg对应的测量区域的位置R_C’。
[0150] 将测量区域的矩形的位置姿势设为R_C时,R_C’能够根据R_C和R_Tjg并通过以下式计算出。
[0151] R_C’=R_Tjg·R_C
[0152] 3.计算以R_C’规定的矩形区域内的、输入图像I_j的亮度值的统计量。
[0153] 4.如果模型图案的测量区域的亮度值的统计量与检测结果T_jg的测量区域的亮度值的统计量的差在阈值以上,则作为其检测结果为不适当而进行排除。
[0154] 分别对检测结果T_jg(g=1~NT_j)进行上述2~4的处理。
[0155] 用于判断是否排除的物理量并不限定于亮度值。例如,既可以使用测量区域内的亮度梯度的大小,也可以使用色相、彩度。如果能够发挥与此类似的效果的物理量的统计量,则当然并不限定于在此例举的统计量。
[0156] 作为其它排除方法,使用者也能够以手动方式排除不适当的检测结果。将检测结果显示在显示装置32中,使用者通过目视观察来进行确认,不使用判断为不适当的检测结果。对每个检测结果T_jg(g=1~NT_j)进行上述处理(检测结果的适当性的确认)。
[0157] 通过排除不适当的检测结果,能够防止这种检测结果在以后的步骤中计算统计量时带来不良影响。
[0158] 在步骤S105中,根据判断为与模型图案的第i个第一特征点P_i对应的NO_i个对应点O_im(m=1~NO_i)的物理量来计算出与第一特征点P_i对应的对应点的物理量的统计量。
[0159] 以下,作为统计量的一例,说明求出特征点的位置的平均误差向量的方法。
[0160] (a)获取存储在检测结果存储部27中的、与第一特征点P_i对应的NO_i个对应点_O_im的从模型图案坐标系观察的位置姿势R_Oim’。
[0161] (b)接着,如图14所示,针对NO_i个对应点O_im的每个对应点O_im,计算从对应点O_im的位置姿势R_Oim’的位置成分t_Oim’减去第一特征点P_i的位置姿势R_Pi的位置成分t_Pi而得到的误差向量V_im。得到NO_i个误差向量V_im。得到的误差向量以如图18那样的方式被存储到模型图案存储部26中。
[0162] (c)通过对NO_i个误差向量V_im进行加法运算,并除以NO_i来计算平均误差向量V_i,作为第一特征点P_i的统计量而与特征点P_i相关联地存储到模型图案存储部26中。此外,V_i用以下式表示。
[0163]
[0164] 在上述例中,将针对第一特征点P_i的所有误差向量V_im存储到模型图案存储部之后求出平均,但是也可以对误差向量V_im逐个相加而最后其总和除以NO_i,由此求出平均误差向量V_i。
[0165] 另外,平均误差向量也可以通过其它方法求出。例如,也可以求出将NO_i个误差向量设为概率变量的概率分布,将概率最高的部位的向量设为平均误差向量。图像为二维,因此能够通过推定二维概率分布来计算出平均误差向量。作为概率分布,能够使用正态分布、混合正态分布等。
[0166] 也可以在计算平均误差向量之前去除异常值。通过去除异常值,能够防止由于错误的对应点而平均误差向量的位置精度变差。异常值例如能够通过以下方法来去除。
[0167] 首先,求出将误差向量设为概率变量的概率分布。针对求出的概率分布,求出能够求得各误差向量的概率。该概率低于阈值的部分被作为异常值而去除。
[0168] 在去除异常值之后再次重新求出概率分布等来求出平均误差向量即可。
[0169] 对构成模型图案的每个第一特征点P_i进行上述处理。
[0170] 在步骤S106中,根据求出的统计量(平均误差向量V_i)来修正模型图案的第一特征点P_i。具体地,如图15所示,通过t_Pi加上平均误差向量V_i而得到的值t_Pi+V_i来更换特征点P_i的位置t_Pi即可。由此,模型图案的特征点P_i(i=1~NP)所形成的形状成为映现在图像I_j(j=1~NI)的NT个图像T_jg(j=1~NI、g=1~NT_j)的平均的形状。
[0171] 在步骤S105中作为统计量而计算出什么量,此外,在步骤S106中如何修正模型图案并不限定于上述方法。例如,也可以设为以下结构。
[0172] 1.通过图6的方法,计算第一特征点P_i与对应点O_im的距离d_im。d_im为带符号的距离。特征点P_i的对应点为NO_i个,因此对各特征点P_i计算NO_i个的距离d_im。
[0173] 2.用以下式求出NO_i个距离d_im的平均值d_i。以求出的距离的平均值d_i为统计量,与特征点P_i关联起来存储到模型图案存储部中。平均值d_i用下式来表示。
[0174] d_i=(∑d_im)/NO_i
[0175] 3.对第一特征点P_i的姿势v_Pi乘以d_i而设为平均误差向量V_i。
[0176] V_i=d_i·v_Pi
[0177] 对特征点P_i的位置t_Pi加上计算出的平均误差向量V_i。
[0178] 在这样设置的情况下,特征点P_i的位置t_Pi仅在亮度梯度的方向上被修正。
[0179] 并且,也能够与模型图案的第一特征点P_i的位置t_Pi同样地修正特征点P_i的姿势v_Pi。例如,也可以通过uv_Oi=(∑v_Oim)/|∑v_Oim|求出第一特征点P_i的对应点O_im的姿势向量v_Oim的平均向量uv_Oi,通过uv_Oi置换第一特征点P_i的姿势向量v_Pi。
[0180] 或者,能够将特征点P_i的姿势向量变换为角度r_Pi=arctan(vx_Pi/vy_Pi),将同样地变换后的对应点O_im的姿势的角度设为r_Oim’,通过r_Oim’-r_Pi求出角度的差r_im。但是,r_im变换为由-π成为π的值。通过对差的平均值r_i=(Σr_im)/(NO_i)加上特征点的姿势的角度r_Pi,能够修正特征点P_i的姿势。
[0181] 通过这样修正模型图案来得到以下效果。
[0182] 1.从拍摄某一对象物而得到的图像生成的模型图案反映了对象物的某一个体的形状,因此并非对所有个体最佳。通过使用该方法,能够将对象物的平均形状设为模型图案。并且,不仅是由对象物的固体引起的形状差异,也有时根据放置对象物的位置、摄像头的位置不同而对象物的外观不同。还能够包括这种外观的不同在内使模型图案平均化。
[0183] 2.根据表示对象物的形状的CAD数据生成的模型图案为对象物的理想形状,但是由于制造误差,并非按照尺寸生成。另外,在将通过CAD数据的坐标系表现的模型图案变换为图像的坐标系时也产生误差。能够与实际检测出的对象物的形状对应地使这种模型图案优化。在组合线段、矩形、圆形等图形而直接对模型图案的轮廓线进行示教的情况下也相同。
[0184] 以上,说明了第一实施方式。接着,说明第二实施方式。
[0185] 在第二实施方式中,针对未与模型图案的第一特征点对应的第二特征点,也求出该对应点的物理量的统计量,根据求出的统计量来重新追加模型图案的第一特征点。
[0186] 图7是表示第二实施方式的处理的流程图。
[0187] 步骤S301~S303与第一实施方式的S101~S103相同。通过实施S301~S303,与S103的结束阶段同样地,从输入图像I_j中检测出NT_j个的对象物的图像。另外,将检测出的图像T_jg(g=1~NT_j)的检测位置设为R_Tjg。
[0188] 在步骤S304中,通过对应点选择部24来选择与构成模型图案的第一特征点对应的对应点。S304的处理基本上与第一实施方式的S104的处理相同,但是进一步进行以下的点不同。
[0189] 如图8所示,根据从输入图像I_j检测出的对象物的图像T_jg的位置姿势R_Tjg,将从输入图像I_j提取出的第二特征点Q_jk(j=1~NI,k=1~NQ_j)中的、将判断为与构成模型图案的第一特征点P_i(i=1~NP)对应的点以外的点(在图8中用虚线包围的点)作为对象物的图像T_jg的非对应点O_jgn(n=1~NO_jg),与对象物的图像T_jg关联起来存储到检测结果存储部27中。其中,NO_jg为NQ_j以下的值。
[0190] 在步骤S305中,通过对应点选择部24按照以下过程来选择特征点候选,并存储到模型图案存储部26中。
[0191] 针对存储在检测结果存储部27中的、每个对象物的图像T_jg的非对应点O_jgn(n=1~NO_jg),根据从图像坐标系观察的O_jgn的位置姿势R_Ojgn和对象物的图像T_jg的位置姿势R_Tjg,通过上述式(2)计算出从模型图案坐标系观察的非对应点O_jgn的位置姿势R_Ojgn’。核对R_Ojgn’是否在模型图案指定区域的内侧,如果在区域外则将该O_jgn从对象物的图像T_jg的非对应点排除。在此使用的模型图案指定区域也可以重新指定与用于生成模型图案的区域不同的区域。
[0192] 将剩下的非对应点作为特征点候选C_h而与对象物的图像T_jg关联起来进行存储。
[0193] 此外,在作为特征点候选而追加时,也可以使用非对应点O_jgn的物理量而进一步缩小。例如,也可以不将亮度梯度的大小小于阈值的非对应点作为特征点候选而追加。
[0194] 对从各输入图像I_j(j=1~NI)检测出的每个对象物的图像T_jg(j=1~NI,g=1~NT_j)进行步骤S304和S305的处理。首先,特征点候选C_h为0个,但是在每次进行S304和S305的处理时特征点候选被追加到C_h,最终得到NC个特征点候选C_h(h=1~NC)。
[0195] 在步骤S306中,根据对象物的图像的位置姿势R_Tjg(j=1~NI、g=1~NT_j),选择从输入图像I_j提取出的第二特征点Q_jk(j=1~NI,k=1~NQ_j)中的、与特征点候选C_h(h=1~NC)对应的对应点O_hp(p=1~NO_h)。
[0196] 该处理基本上与第一实施方式的S104的处理相同,但是选择针对特征点候选C_h的对应点而不选择针对第一特征点P_i的对应点这一点不同。针对在追加该特征点候选C_h时使用的对象物的图像T_jg不需要选择对应点,因此NO_h成为NT-1以下的值。
[0197] 通过对从输入图像I_j检测出的每个对象物的图像T_jg进行S306的处理,在各特征点候选C_h中分别发现NO_h个对应点O_hp(p=1~NO_h)。
[0198] 在步骤S307中,针对每个特征点候选C_h,计算对应点O_hp(p=1~NO_h)的物理量的统计量。在此,在与某一特征点候选C_h对应的对应点的数量为NO_h个的情况下,针对使用于对应点的选择的对象物的图像的总数为NT个,计算其特征点出现于对象物的图像中的比例(NO_h+1)/NT而设为统计量。
[0199] 统计量并不限定于本例,例如也可以计算出如下的统计量。
[0200] ·特征点候选C_h与对应点O_hp之间的、位置的误差、亮度梯度的方向的误差、距离的平均、分散、概率分布
[0201] 为了计算与位置姿势有关的统计量,需要将对应点O_hp的位置姿势R_Ohp变换为从模型图案坐标系观察的位置姿势R_Ohp’。该变换使用上述式(2)。
[0202] ·对应点O_hp的亮度梯度的大小的平均、分散、概率分布
[0203] ·发现对应点的个数NO_h
[0204] 在步骤S308中,针对每个特征点候选C_h(h=1~NC),根据计算出的统计量,判断作为特征点对模型图案进行追加是否适当。
[0205] 例如,在与某一特征点候选C_h对应的对应点的数量为NO_h个的情况下,使用于对应点的选择的对象物的图像的总数为NT个,因此其特征点出现于对象物的图像中的比例成为(NO_h+1)/NT。在特征点出现于对象物的图像中的比例小于预定的阈值的情况下,不能说是该特征点候选频繁出现于对象物的图像中,因此可考虑为作为特征点对模型图案进行追加并不适当。
[0206] 在使用其它统计量,例如位置、姿势的分散的情况下,在与某一特征点候选C_h对应的对应点O_hp(p=1~NO_h)的位置、姿势的分散大于预定的阈值时,可以说该特征点候选并非是稳定地出现于对象物的图像中的特征点,因此能够考虑为作为第一特征点对模型图案进行追加并不适当。
[0207] 在步骤S309中,将各特征点候选C_h(h=1~NC)中的、在S308中判断为适当的特征点候选C_h的物理量用与该特征点候选C_h对应的对应点O_hp(p=1~NO_h)的物理量的统计量来替换。例如,将特征点候选C_h的位置、姿势、亮度梯度的大小等用对应点O_hp(p=1~NO_h)的位置、姿势、亮度梯度的平均值来替换。
[0208] 通过到此为止的处理,将从模型图案坐标系观察而位置姿势相同的点分别作为其它特征点候选而追加。在步骤S310中,从特征点候选C_h(h=1~NC)中删除重复的点。
[0209] 例如,如图9所示,将模型图案坐标系的二维空间以一个像素单位来分割为块B,以在各块中仅保留一个特征点候选的方式删除特征点候选。作为削除的基准,可考虑各种方法,例如既可以保留发现的对应点多的特征点候选,也可以保留亮度梯度的大小平均值高的特征点候选,或者也可以对它们进行组合。另外,也可以考虑附近像素的第一特征点、特征点候选的关联方法而保留适当性最高的特征点候选。例如,如果附近像素之间保留的特征点候选的亮度梯度的方向有较大不同,则有可能哪一个特征点候选不正确。在存在特征点候选的所有块中进行该处理。
[0210] 在步骤S311中,将在到此为止的处理中未删除的特征点候选C_h(h=1~NC)作为第一特征点而追加到模型图案并存储到模型图案存储部26中。
[0211] 第二实施方式并不限定于上述过程而考虑各种方式。
[0212] 例如,在上述S304中,将与任何第一特征点P_i均不对应的第二特征点Q_jk选择为非对应点O_jgn,但是不仅是第一特征点P_i,还与已经追加的特征点候选C_h进行比较,在与第一特征点P_i对应的情况下选择为P_i的特征点的对应点,在与特征点候选C_h对应的情况下选择为C_h的对应点,在与第一特征点P_i和特征点候选C_h均不对应的情况下选择为非对应点O_jgn。由此,不将与作为特征点候选C_h而已经追加的第二特征点重复的可能性高的第二特征点Q_jk作为特征点候选C_h而追加。
[0213] 根据第二实施方式,不存在于最初生成的模型图案,但是能够将稳定地频繁出现于对象物的图像中的第二特征点自动地追加到模型图案。由此,起到以下效果。
[0214] 最初生成的模型图案仅由从映现在一个图像中的对象物的图像之一提取出的特征点构成,但是当由于光的加减、噪声等的影响而存在并不在清楚的亮度梯度的状态下映现的部分时,并不能够从对象物整体提取特征点。因而,通过第二实施方式的方法,通过追加不包含在原模型图案内但在多个对象物的图像中出现的特征点,能够补充原模型图案所欠缺的部分。由此,能够提高检测的正确性与鲁棒(Robust)性。
[0215] 接着,说明第三实施方式。
[0216] 在第三实施方式中,根据与模型图案的特征点对应的对应点的物理量的统计量,对构成模型图案的第一特征点追加判断指标,在对象物检测部23中利用判断指标来提高检测的可靠性。
[0217] 图10是表示第三实施方式的处理的流程图。
[0218] 步骤S401~S404与第一实施方式的S101~S104相同。与S104的结束阶段同样地,设为发现NO_i个判断为与模型图案的第i个特征点P_i对应的对应点。另外,将与模型图案的第i个特征点P_i对应的第m个对应点设为O_im(m为1至NO_i)。
[0219] 在步骤S405中,计算出与第一特征点P_i对应的NO_i个对应点O_im的物理量的统计量。例如,计算出如下的统计量。能够与第二实施方式的S307同样地计算出统计量。
[0220] 1.计算第一特征点P_i与对应点O_im的距离d_im的标准偏差。假设距离d_im(m=1~NO_i)随着正态分布而产生偏差时,能够通过公知的方法来计算距离d_im的标准偏差σd。
[0221] 2.计算亮度梯度的大小的平均和标准偏差。假设对应点O_im保持的亮度梯度的大小随着正态分布而产生偏差时,能够根据对应点O_im(m=1~NO_i)的亮度梯度来计算平均μα、标准偏差σα。
[0222] 3.计算亮度梯度的大小的概率分布。亮度梯度的大小随着混合正态分布而产生偏差。如下那样表示将对应点O_im(m=1~NO_i)的亮度梯度的大小设为概率变量的混合正态分布p(x)。
[0223]
[0224] 能够通过公知的方法来求出上述式的参数πb、μαb、σαb(b=1~NB)。
[0225] 在步骤S406中,根据计算出的统计量来求出判断指标W_i。使用在S405中计算出的统计量,分别求出如下的判断指标。
[0226] (a)根据距离d_im的标准偏差σd来计算距离的允许范围。如果距离为3σd以上或-3σd以下,则设为不一致的判断指标。具有较大的σd的第一特征点由于检测对象物的第二特征点的位置产生偏差,因此允许较大偏差,具有较小的σd的第一特征点仅允许较小偏差。
[0227] (b)使用亮度梯度的大小的平均μα和标准偏差σα,仅允许亮度梯度的大小为μα-2σα至μ+2σα为止的第二特征点。
[0228] (c)使用亮度梯度的大小的概率分布p(x),将能够取得某一亮度梯度的大小的概率是否为固定值以上设为判断指标。如果能够取得某一亮度梯度的大小的概率大于某阈值p_min则设为允许。在该情况下,判断指标中保持规定混合正态分布的参数πb、μαb、σαb(b=1~NB)和阈值p_min。
[0229] 在步骤S407中,将求出的判断指标W_i与第一特征点P_i关联起来存储到模型图案存储部26。也可以将统计量本身作为判断指标而存储,而不是根据统计量求出的阈值。
[0230] 对模型图案的各个特征点P_i(i=1~NP)实施步骤S404~S407的处理。将判断指标例如以如图16的形式与模型图案的特征点P_i关联起来存储到模型图案存储部26。
[0231] 在步骤S408中,通过对象物检测部23使用存储在模型图案存储部26中的判断指标来检测出对象物。
[0232] 在对象物检测部23中利用判断指标的一个方法是,在求出对象物的图像T_x之后,计算针对各个对象物的图像的一致度,排除其一致度低的对象物的图像T_x。以下,说明该方法。
[0233] 1.拍摄新图像Inew。
[0234] 2.从图像Inew检测出对象物。在检测中,与S103同样地使用任意的方法。由此,求出NTX个对象物的图像T_x(x=1~NTX)。对所有对象物的图像T_x实施以下的3~6的处理。
[0235] 3.根据从图像Inew检测出的对象物的图像T_x的位置姿势R_Tx_,选择出从图像Inew提取出的第二特征点Qnew_k(k=1~NQ)中与构成模型图案的第一特征点P_i对应的第二特征点。
[0236] 4.确认所选择的第二特征点作为第一特征点P_i的对应点是否适当。在此使用与P_i相关联的判断指标。例如,在第二特征点的亮度梯度的大小为β时,β在μα-2σα至μα+2σα(关于μ、α、σ的定义请参照S408)之间则设为适当。适当的对应点作为P_i的对应点O_i而存储到检测结果存储部27。
[0237] 5.通过对所有特征点P_i(i=1~NP)进行上述的3~4的处理,由此能够选择出NO个对应点。
[0238] 6.通过使用构成模型图案的第一特征点的数量NP和发现的对应点的数量NO来求出NO/NP,由此能够以0.0至1.0之间的值来表现模型图案与图像T_x的一致度。
[0239] 或者,作为S_i而计算某一第一特征点P_i与其对应点O_i的分别的一致度,也可以将ΣS_i/NP设为模型图案与图像T_x的一致度。能够使用第一特征点P_i的物理量和对应点O_i的物理量来求出个别的一致度S_i。例如,将第一特征点P_i的物理量与对应点O_i的距离设为d_i时,定义某一常数d_max,能够如下那样求出S_i。其中,将|d_i|设为d_max以下的值。
[0240] S_i=1-|d_i|/d_max
[0241] 7.如果计算出的模型图案与图像T_x的一致度小于预先决定的阈值Smin,则将该对象物的图像T_x从检测结果排除。
[0242] 在对象物检测部中使用判断指标的方法并不限定于此。例如,在ICP算法中也存在选择用于构成模型图案的第一特征点的对应点的步骤。在选择该对应点的步骤中,能够使用判断指标来决定第一特征点与第二特征点的一致/不一致。
[0243] 由此,在对象物检测部中,能够使用更准确地判断的对应点来进行检测。
[0244] 根据第三实施方式,为了对模型图案的每个第一特征点检测出对象物而设置最佳的判断指标,能够将该判断指标使用于对象物的检测。由此,起到以下效果。
[0245] 根据模型图案的第一特征点的部位不同,例如有时位置的偏差变大或变小。在位置的偏差小的情况下,具有该偏差以上的距离的第二特征点不是适当的对应点的可能性高。不将这种第二特征点用作对应点,能够防止错误对应。对应点的错误对应有时对检测精度带来不良影响或引起错误检测。并且,在位置的偏差大的情况下,如果仅允许较小的偏差,则不能发现与该第一特征点对应的对应点的可能性高。由此,有时一致度下降而不能发现对象物。通过防止这些不良影响,能够提高检测结果的精度、鲁棒性。
[0246] 存储在模型图案存储部26中的判断指标还能够使用于第一实施方式等的对应点选择部。例如,在对应点选择部中,在评价第二特征点Q_jk作为第一特征点P_i的对应点是否适当的步骤中,能够使用判断指标来评价适当性。
[0247] 1.设为通过第三实施方式对模型图案的每个特征点P_i(i=1~NP)设置判断指标。在此,将判断指标设为第一特征点与第二特征点的距离di是否在-3σd至3σd的范围内。
[0248] 2.在对应点选择部中,评价第一特征点P_i与第二特征点Q_jk的距离di是否在-3σd至3σd的范围内,如果在这范围内则判断为适当,如果不在这范围外则判断为不适当。
[0249] 3.仅将判断为适当的第二特征点Q_jk作为对应点而进行以后的处理。
[0250] 由此,能够使用更准确地判断的对应点来计算预定的物理量的统计量。
[0251] 在第一至第三实施方式中,假设视觉传感器为摄像头,来自视觉传感器的输入数据为图像的情况来进行了说明,但是本申请的发明还能够应用于视觉传感器为三维传感器的情况。
[0252] 三维传感器存在如光切断法那样测量对象物的面上的三维点的传感器以及如立体法那样测量对象物的轮廓线上的三维点的传感器。
[0253] 能够将由三维传感器输出的构成三维点群的各个三维点直接使用于本申请的发明的构成模型图案的第一特征点。与第一实施方式同样地,将所指定的区域内的三维点作为第一特征点而生产模型图案即可。
[0254] 还能够从表示对象物的形状的CAD数据中获取模型的三维点群。既可以从CAD数据以一定间隔获取面上的三维点,也可以以一定间隔获取轮廓线上的三维点。
[0255] 在构成输入数据的三维点为对象物的面上的点的情况下,作为各特征点的物理量,除了特征点的位置以外也能够使用法线的朝向。三维点群中的法线的计算方法的一例在“Estimating Surface Normals in Noisy Point Cloud Data”,Niloy J.Mitra,etal.,SCG’03Proceedings of nineteenth annual symposium on Computationa lgeometry,322-328页,2003等中是公知的。
[0256] 在构成输入数据的三维点为对象物的轮廓线上的点的情况下,作为各特征点的物理量,能够使用连结轮廓线上相邻的特征点的方向向量。
[0257] 法线的朝向、方向向量能够用作特征点的姿势。
[0258] 并且,在三维传感器与三维点一起输出亮度信息、颜色信息的情况下,能够附加作为特征点的物理量的亮度信息、颜色信息。当然,如果使用附近的三维点的亮度,则作为特征点的物理量还能够计算出亮度梯度。
[0259] 三维点群的特征点也可以是记载于“Unique Signatures of Histograms for Local Surface Description”,Federico Tombari,etal.,Computer Vision,ECCV 2010,Part III.LNCS 6313,pp.356-369,2010的SHOT等其它方式的特征点。
[0260] 即使输入数据为三维点群,也能够检测出对象物,求出其位置姿势。例如,存在“Object recognition in 3D scenes with occlusions and clutter by Hough voting”,Federico Tombari,et al.,IEEE 2010Fourth Pacific-Rim Symposium on Image and Video Technology那样的方法。
[0261] 另外,即使输入数据为三维点群,也能够使用ICP算法。当然,从三维点群中检测出对象物的方法并不限定于此。
[0262] 如果输入数据为面上的三维点群,则在对应点选择部中,通过如下方法来求出第一特征点P_i的位置R_Pi与从第二特征点Q_jk的模型图案坐标系观察的位置R_Qjk’的距离。
[0263] ·单纯地求出R_Pi与R_Qjk’这2点之间的距离。
[0264] ·求出第一特征点P_i的法线与从第二特征点Q_jk的附近点群得到的平面之间的交点,计算该交点与第一特征点的距离。
[0265] 在第一至第三实施方式中,说明了模型图案由多个特征点构成的情况,但是构成模型图案的特征点必须是多个。在模型图案由单一的特征点构成的情况下,没有如第一实施方式那样调整特征点的位置的意义。调整模型图案的位置是由于变更了特征点之间的相对位置关系。但是,在特征点的追加、判断指标的变更中即使是单一的特征点也有意义。例如,有可能在一个特征点中发现了多个检测结果。在这种情况下,如第二实施方式那样追加匹配的特征点或如第三实施方式那样变更判断指标来使模型图案最佳化,由此能够进一步限定检测结果。但是,在一个特征点中检测结果的候选变得过多而实际上存在成为问题的可能性。例如,在作为特征点而使用边缘点的情况下,在一个特征点中会发现多个要匹配的检测结果。但是,在SIFT等特征点中要匹配的特征点有可能减少一定程度。
[0266] 在第一至第三实施方式中,首先生产模型图案之后,例如通过图3示出的机器人装置的检测动作来进行输入图像的指定和对象物的检测。由此,能够根据通过实际动作得到的图像对最初设定的模型图案进行修正。在该情况下,直到设定模型图案之后的预定次数为止,将对象物的检测中的匹配范围扩大,将一定程度的误差范围的对象物设为对象物。在进行该预定次数的处理时进行模型图案的修正,将模型图案修正为更适合于实际对象物的图案。然后,在经过预定次数之后,根据修正后的模型图案,缩小匹配范围等能够提高进行正确判断的概率等。当然,有时还根据对象物的实际状况来相反地扩大匹配范围。
[0267] 在根据伴随上述实际动作的图像来进行模型图案的修正的情况下,也可以将机器人装置根据图像处理装置的检测结果进行的动作的好坏的结果反映于模型图案的修正处理。在接着要说明的第四实施方式的图像处理装置中,将根据图像处理装置的检测结果进行的动作的好坏的结果反映于模型图案的修正处理。
[0268] 图19是表示第四实施方式的图像处理装置的处理的流程图。
[0269] 在第四实施方式的图像处理装置中,仅在基于机器人装置的图像处理装置的检测结果的动作成功的情况下,将此时的对象物的图像反映于模型图案的修正,不需要将动作失败时的对象物的图像反映于模型图案的修正。
[0270] 步骤S501的模型图案的生产与其它实施方式相同。
[0271] 步骤S502的图像的输入和步骤S503的对象物的检测也与其它实施方式相同,对利用图像处理装置的检测结果的每个动作进行。
[0272] 在步骤S504中,进行基于步骤S503的对象物的检测结果的动作。该动作的结果是,决定动作的好坏(是否成功),在动作失败的情况下,例如假设为对象物的检测结果存在问题。
[0273] 在步骤S505中判断检测结果的好坏,在好的情况下(动作成功的情况下)前进到步骤S506,在坏的情况下(动作失败的情况下)返回至步骤S507。
[0274] 在步骤S506中,进行在第一实施方式的S104至S106、第二实施方式的S304至S311或第三实施方式的S404至S407中进行的模型图案的修正处理而返回至S502。
[0275] 在步骤S507中,在进行预先决定的检测不良(动作失败)的情况下的应对动作,例如去除动作失败的对象物,或记录其图像等动作之后,返回至步骤S502。
[0276] 以上,说明了本发明的实施方式,但是当然能够进行各种变形例。
[0277] 根据本申请的发明,即使在对象物的特征点的物理量中产生偏差,也能够正确地检测出对象物。