机器人系统

申请号 CN201510315616.2 申请日 2015-06-10 公开(公告)号 CN105279514B 公开(公告)日 2019-08-02
申请人 精工爱普生株式会社; 发明人 相矶政司;
摘要 本 发明 提供 机器人 系统,该机器人系统包括:处理装置,其从多个物体中检测一个物体;以及机器人,其操作检测到的一个物体。处理装置包括:显示部,其显示图像数据,该图像数据包括由拍摄装置拍摄到的上述多个物体的图像;选择部,其从图像数据选择第一图像和第二图像;以及处理部,其基于第一图像和上述第二图像生成模型,并使用生成的模型来检测一个物体。
权利要求

1.一种机器人系统,其特征在于,包括:
处理装置,其从多个物体中检测一个物体;以及
机器人,其操作检测到的所述一个物体,
所述处理装置包括:
显示部,其显示图像数据,所述图像数据包括由拍摄装置拍摄到的所述多个物体的图像;
选择部,其从所述图像数据选择第一图像和第二图像;以及
处理部,其基于所述第一图像和所述第二图像生成模型,并使用生成的所述模型来检测所述一个物体,
所述处理部包括:
特征提取部,其针对所述第一图像、所述第二图像以及所述图像数据分别提取细分化的每个区域的特征;
模型统合部,其生成包括图像特征和掩模区域的模型,所述图像特征是所述第一图像的特征和所述第二图像的特征的任意一方,所述掩模区域中所述第一图像的特征与所述第二图像的特征不同;以及
匹配部,其对从所述图像特征将所述掩模区域除外的区域与所述图像数据的特征进行匹配。
2.根据权利要求1所述的机器人系统,其特征在于,
所述特征提取部针对所述第一图像、所述第二图像以及所述图像数据分别提取边缘。
3.根据权利要求1或者2所述的机器人系统,其特征在于,
所述模型统合部将所述第一图像的特征与所述第二图像的特征的位置以及姿势的关系建立关联,规定所述掩模区域。
4.根据权利要求1所述的机器人系统,其特征在于,
所述模型统合部针对所述第一图像的特征和所述第二图像的特征的至少任意一方进行膨胀处理,规定所述第一图像的特征与所述第二图像的特征不同的掩模区域。
5.根据权利要求1所述的机器人系统,其特征在于,
所述匹配部按位置以及方向的每一变化量计算出得分,并基于所述得分检测所述一个物体的位置及方向,所述得分表示针对从所述图像特征将所述掩模区域除外的区域使位置及方向变化后的区域与所述图像数据的特征的一致度。
6.根据权利要求5所述的机器人系统,其特征在于,
所述处理装置具备检测部,所述检测部基于所述匹配部计算出的得分来判定是否检测到所述一个物体。
7.一种处理装置,其特征在于,是从多个物体中检测一个物体,并使机器人操作所述一个物体的处理装置,具备:
显示部,其显示图像数据,所述图像数据包括由拍摄装置拍摄到的所述多个物体的图像;
选择部,其从所述图像数据选择第一图像和第二图像;以及
处理部,其基于所述第一图像和所述第二图像生成模型,并使用生成的所述模型来检测所述一个物体,
所述处理部包括:
特征提取部,其针对所述第一图像、所述第二图像以及所述图像数据分别提取细分化后的每个区域的特征;
模型统合部,其生成包括图像特征和掩模区域的模型,所述图像特征是所述第一图像的特征和所述第二图像的特征的任意一方,所述掩模区域中所述第一图像的特征与所述第二图像的特征不同;以及
匹配部,其对从所述图像特征将所述掩模区域除外的区域、与所述图像数据的特征进行匹配。
8.根据权利要求7所述的处理装置,其特征在于,
所述特征提取部针对所述第一图像、所述第二图像以及所述图像数据分别提取边缘。
9.根据权利要求7或者8所述的处理装置,其特征在于,
所述模型统合部将所述第一图像的特征与所述第二图像的特征的位置以及姿势的关系建立关联,规定所述掩模区域。
10.根据权利要求7所述的处理装置,其特征在于,
所述模型统合部针对所述第一图像的特征和所述第二图像的特征的至少任意一方进行膨胀处理,规定所述第一图像的特征与所述第二图像的特征不同的掩模区域。
11.根据权利要求7所述的处理装置,其特征在于,
所述匹配部按位置及方向的每一变化量计算出得分,并基于所述得分检测所述一个物体的位置及方向,所述得分表示针对从所述图像特征将所述掩模区域除外的区域使位置及方向变化的区域与所述图像数据的特征的一致度。
12.根据权利要求11所述的处理装置,其特征在于,
具备检测部,其基于所述匹配部计算出的得分来判定是否检测到所述一个物体。
13.一种机器人,其特征在于,是通过权利要求7~12中的任意一项所述的处理装置操作的机器人。

说明书全文

机器人系统

技术领域

[0001] 本发明涉及机器人系统。

背景技术

[0002] 以往,已经开始开发一种使机器人挑选出的工件(对象物)排列成规定的位置、姿势的机器人系统。在该机器人系统中,在挑选对象物时,通过在对象物的形状和预先登记的模型所表示的目标物的形状之间进行图案匹配处理,来检测对象物。
[0003] 例如,专利文献1所述的图像处理装置使用与预先登记的登记图像对应的图案模型,来从检索对象图像中检索与该登记图像类似的检索对象物从而进行定位。另外,在模型的生成中,预先拍摄多个对象物来获取拍摄图像,选择多个中的任意一个对象物的图像。选择出的一个对象物的图像作为模型使用于图案匹配处理。
[0004] 专利文献1:日本特开2010-97436号公报
[0005] 然而,由于如下的原因(1)~(4),生成的模型的目标物的形状与作业对象的对象物的形状的图案匹配处理不成功。
[0006] (1)影子的映影方式的变化:若光照在具有立体形状的物体,则光被物体遮挡的部分亦即影子在其物体的周边产生。因此,影子的映影方式根据光源(例如,照明、环境光等)的变化、光源与物体的位置、姿势关系的变化而发生变化。即使在光源没有变化的情况下,影子的映影方式也根据放置在拍摄装置的视场内的物体的位置、姿势的变化而发生变化。
[0007] (2)具有立体形状的物体的姿势的变化:放置在拍摄装置的视场内的物体具有立体形状,所以根据其姿势会导致平面形状不同。另外,即使物体的姿势相同,也会由于视场内的位置的不同,而导致外观的轮廓的形状不同。特别是,在具备广镜头的拍摄装置中,在放置在光轴上的物体与放置在视场的周边部的具有相同立体形状的物体之间,其形状的差异表现得明显。
[0008] (3)物体的纹理的变化、由于物体表面的反射导致的纹理的变化:表现在物体的表面的纹理(花纹)根据其部位的不同,会因拍摄装置在视场内的位置不同而导致外观上发生变化。另外,在具有光泽的物体中,由于射来的光产生反射,因此根据光量、射来方向的不同而导致花纹在外观上发生变化。另外,例如,如附着于食品的包装的保质期的印字那样,即使是具有相同的形状和大小的物体,也存在其外观具有各自不同的部分的情况。
[0009] (4)周边的物体的存在:在图案匹配处理中,将表示目标物的图像作为模型登记。此时,登记的区域(窗口)包含有目标物以外的别个物体的图像。

发明内容

[0010] 因此,本发明是鉴于上述的问题而完成的,提供能够可靠地检测对象物的机器人系统。
[0011] 本发明的一方式是机器人系统,上述机器人系统包括:处理装置,其从多个物体中检测一个物体;以及机器人,其操作检测到的上述一个物体,上述处理装置包括:显示部,其显示图像数据,上述图像数据包括由拍摄装置拍摄的上述多个物体的图像;选择部,其从上述图像数据选择第一图像和第二图像;以及处理部,其基于上述第一图像和上述第二图像生成模型,并使用生成的上述模型来检测上述一个物体。
[0012] 根据该构成,使用基于第一图像和拍摄条件不同的第二图像生成的模型来检测到物体。因此,即使在产生根据拍摄条件的差异的外观的变化的状况下,也能够可靠地检测检测对象的物体。
[0013] 本发明的其他的方式是上述的机器人系统,上述处理部也可以包括:特征提取部,其对于上述第一图像、上述第二图像以及图像数据分别提取细分化后的每个区域的特征;模型统合部,其生成包括图像特征和掩模区域的模型,上述图像特征是上述第一图像的特征和上述第二图像的特征的任意一方,上述掩模区域中上述第一图像的特征和上述第二图像的特征不同;以及匹配部,其对从上述图像特征将上述掩模区域除外的区域与上述图像数据的特征进行匹配。
[0014] 根据该构成,通过在第一图像与第二图像之间特征不同的区域被排除在外,从而在通过拍摄条件的差异特征没有变化的区域之间进行了匹配。因此,能够可靠地检测检测对象的物体。
[0015] 本发明的其他的方式是上述的机器人系统,上述特征提取部也可以针对上述第一图像、上述第二图像以及上述图像数据分别提取边缘。
[0016] 根据该构成,基于作为图像的特征的表示物体的轮廓、花纹的边缘进行了匹配,所以能够高效地检测检测对象的物体的位置、方向。
[0017] 本发明的其他的方式是上述的机器人系统,上述模型统合部也可以将上述第一图像的特征与上述第二图像的特征的位置及姿势的关系建立关联,规定上述掩模区域。
[0018] 根据该构成,即使在第一图像与第二图像之间位置或姿势的关系不一致的情况下,也能够在第一图像与第二图像之间对应的区域间规定特征不同的掩模区域。
[0019] 本发明的其他的方式是上述的机器人系统,上述模型统合部也可以针对上述第一图像的特征和上述第二图像的特征的至少任一方进行膨胀处理,规定上述第一图像的特征与上述第二图像的特征不同的掩模区域。
[0020] 根据该构成,即使在由于第一图像与第二图像的拍摄条件的差异而位置关系稍稍不同的情况下,也能够比较对应的区域间的特征,所以能够可靠地检测检测对象的物体。
[0021] 本发明的其他的方式是上述的机器人系统,上述匹配部也可以将表示针对从上述图像特征将上述掩模区域除外的区域使位置及方向变化的区域与上述图像数据的特征的一致度的得分按所述位置及方向的每一变化量计算出,并基于上述得分检测上述一个物体的位置及方向。
[0022] 根据该构成,在图像数据中,通过定量地确定出与从图像特征将掩模区域除外的区域对应的区域,能够检测图像特征所表示的物体及其位置及方向。
[0023] 本发明的其他的方式是上述的机器人系统,上述处理装置也可以具备检测部,其基于上述匹配部计算出的得分判定是否检测到上述一个物体。
[0024] 根据该构成,能够基于图像数据的特征和从图像特征将掩模区域除外的区域的一致度,定量地判定图像特征所涉及的物体的检测是否成功。附图说明
[0025] 图1是本实施方式所涉及的机器人系统的概略立体图。
[0026] 图2是表示本实施方式所涉及的图像处理装置的构成的概略框图
[0027] 图3是表示显示于本实施方式所涉及的显示部的操作画面的例子的图。
[0028] 图4是表示本实施方式所涉及的模型统合部的功能的概念图
[0029] 图5是表示模型数据的构成例的图。
[0030] 图6是表示本实施方式所涉及的模型统合处理的概念图。
[0031] 图7是表示本实施方式所涉及的掩模生成处理的概念图。
[0032] 图8是表示模型数据的例子的图。
[0033] 图9是表示本实施方式所涉及的模型生成处理的流程图
[0034] 图10是表示本实施方式所涉及的物体检测处理的流程图。
[0035] 图11是表示匹配得分的例子的表。

具体实施方式

[0036] 实施方式
[0037] 以下,参照附图对本发明的实施方式详细地进行说明。
[0038] 图1是本实施方式所涉及的机器人系统1的概略立体图。
[0039] 如图1所示,机器人系统1构成为包括拍摄装置10、图像处理装置21、机器人控制装置23以及机器人30。此外,图1中的部件、构造等的比例尺有时为了使图明确而与实际不同。
[0040] 拍摄装置10和图像处理装置21、图像处理装置21和机器人控制装置23、机器人控制装置23和机器人30分别通过有线或者无线以可通信的方式连接。在利用有线的通信中,例如也可以使用USB(Universal Serial Bus:通用串行总线)、IEEE(Institute of Electrical and Electronics Engineers:电气和电子工程师协会)802.3等的通信标准。在利用无线的通信中,例如也可以使用被规定为IEEE802.11a/b/g/n、IEEE802.15.1等的通信标准。
[0041] 拍摄装置10拍摄配置于其视场内的物体的图像,生成表示拍摄到的图像的图像数据。拍摄装置10例如是具备将聚光的光转换为电信号的拍摄元件亦即CCD(Charge Coupled Device:电荷耦合元件)、CMOS(Complementary Metal Oxide Semiconductor:互补金属化物半导体)等的照相机。另外,拍摄装置10也可以是具有用于将生成的图像数据实时地转送到图像处理装置21的接口的网络照相机。
[0042] 在图1所示的例中,拍摄装置10的拍摄方向朝向垂直方向(Z方向),拍摄将载置于作业台Tb上的3个物体Wk1~Wk3作为被拍摄体的图像。作业台Tb的表面与平面平行。物体Wk1~Wk3相互不重叠地配置于不同的位置,所以与拍摄装置10的相对位置关系不同。物体Wk1~3既能成为作为匹配的目标的目标物,也能成为作为作业对象的对象物。
[0043] X方向、Y方向、Z方向是形成三维正交坐标系的相互正交的三维方向。在图1中,X方向、Y方向、Z方向分别表示为左方、进深方向、下方。
[0044] 图像处理装置21显示从拍摄装置10输入的图像数据所示的多个物体的图像,根据用户的操作输入选择多个物体的图像中的第一图像和第二图像。在图1所示的例中,表示在视场内包括载置于作业台Tb上的3个物体Wk1~Wk3的图像的图像数据从拍摄装置10输入至图像处理装置21,基于被输入的图像数据显示表示3个物体Wk1~Wk3的图像。图像处理装置21基于操作输入来选择表示物体Wk1~Wk3中的2个的区域分别作为第一图像、第二图像。对于物体Wk1~Wk3而言,形状、大小以及种类相同,但是与作为拍摄条件的拍摄装置10的位置关系不同。物体Wk1~Wk3例如是各种组装部件、螺丝、钉、螺栓螺母等可由机器人30操作的物体。
[0045] 图像处理装置21基于选择出的第一图像和上述第二图像生成模型,使用生成的模型来检测一个物体。所谓模型,是与作为检测目标的目标物相关的信息。在以下的说明中,有时将表示模型的数据称为模型数据。模型数据包括表示目标物的图像的图像数据和掩模数据。掩模数据是表示目标物的图像中在匹配处理中不考虑的区域(掩模)的数据。对于生成模型时进行的模型生成处理后述。
[0046] 另外,在图像处理装置21检测一个物体时,针对获取到的图像数据和模型数据进行匹配处理。图像处理装置21将与检测到的一个物体相关的检测信息输出到机器人控制装置23。检测信息例如包含有表示检测到的物体的位置、姿势的信息。针对检测一个物体时进行的物体检测处理后述。此外,在一个物体的检测中,也可以使用与模型的生成所使用的图像数据不同的图像数据。
[0047] 检测信息被从图像处理装置21输入至机器人控制装置23,表示通过机器人30检测到的、力矩的大小的负荷信号被输入至机器人控制装置23。机器人控制装置23基于检测信息和负荷信号的一方或者双方生成控制机器人30的动作的控制信号。机器人控制装置23将生成的控制信号输出至机器人30。机器人控制装置23例如使机器人30操作载置于作业台Tb的3个物体Wk1~Wk3中被图像处理装置21检测到的物体。
[0048] 机器人30是6轴的垂直多关节机器人,构成为包括支承台30a、臂部30b、以及手部30c。机器人30通过支承台30a、臂部30b、以及手部30c的联动的动作具有6轴的自由度,能够自由地变更手部30c把持的物体Wk的位置以及姿势。另外,机器人30基于从机器人控制装置
23输入的控制信号使臂部30b和手部30c的任意一个或者它们的组合动作。手部30c具备2个前端部,2个前端部配置成各自的长度方向彼此相对。由此,机器人30能够把持被图像处理装置21检测到的物体,并操作其位置和姿势。
[0049] 机器人30具备按照预先规定的时间间隔(例如,1ms)检测施加于手部30c的力和力矩的力传感器(未图示),并将表示检测到的力以及力矩的负荷信号输出至机器人控制装置23。机器人30具备编码器(未图示)。编码器检测机器人30的各关节的角度,并将检测到的各关节的角度输出至机器人控制装置23。
[0050] 此外,机器人30的自由度并不局限于6轴,也可以是7轴以上、或者5轴以下。另外,支承台30a也可以设置于墙壁、天棚等相对地板面固定的场所。
[0051] 另外,在图1中,以拍摄装置10固定于安装有支承台30a的空间的情况为例,但是拍摄装置10也可以安装于机器人30的臂部30b、其他的可动部。
[0052] 接下来,对图像处理装置21的构成进行说明。
[0053] 图2是表示本实施方式所涉及的图像处理装置21的构成的概略框图。
[0054] 图像处理装置21构成为包括图像数据获取部211、操作输入部212、显示部213、数据输入输出部214、数据存储部215、以及控制部22。图像数据获取部211、操作输入部212、显示部213、数据输入输出部214、数据存储部215、以及控制部22以彼此能够输入输出数据的方式通过总线(基线)B连接。
[0055] 图像数据获取部211获取从拍摄装置10输入的图像数据,将获取到的图像数据存储到数据存储部215。图像数据获取部211例如构成为包括数据输入输出接口。
[0056] 操作输入部212接受用户的操作输入,并生成表示与接受到的操作输入对应的指示的指示信号。操作输入部212将生成的指示信号输出到控制部22。指示信号例如有指示显示于显示部213的图像的一部分的区域的区域信号、指示各种参数、数据的设定的设定信号、指示模型图像数据(后述)的生成的模型图像生成指示信号、指示物体检测处理(后述)的开始的物体检测处理开始信号。
[0057] 操作输入部212例如也可以构成为包括键盘鼠标、触摸传感器、其他的输入设备。但是,这些输入设备也可以不是内置于图像处理装置21的输入设备,而是通过数据输入输出接口等连接的外置型的输入设备。
[0058] 显示部213通过控制部22显示基于从数据存储部215读出的操作画面数据的操作画面。操作画面是用户操作图像处理装置21、机器人制御装置23所使用的画面。操作画面包含有以从选择部221(后述)输入的图像数据所表示的图像为开始的各种图像、用于用户进行各种指示的画面部件(按钮、图标、文本框等)。如后述,显示部213显示从数据存储部215读出的图像数据所表示的多个物体的图像。由此,用户能够经由操作输入部212指示表示多个物体的图像中至少2个物体的区域。对于操作画面的例子后述。
[0059] 此外,显示部213例如构成为包括液晶显示器(LCD:Liquid Crystal Display)。显示部213也可以是与操作输入部212的触摸传感器一体化的触摸面板。
[0060] 数据输入输出部214将从控制部22输入的物体检测数据输出至机器人控制装置23。物体检测数据是通过物体检测处理(后述)生成的数据。数据输入输出部214例如构成为包括数据输入输出接口。
[0061] 数据存储部215存储图像处理装置21的处理所涉及的各种数据、程序等。数据存储部215例如构成为包括HDD(Hard-Disk Drive:硬盘驱动器)、ROM(Read-Only Memory:只读存储器)、RAM(Random Access Memory:随机存取存储器)等的存储介质。此外,数据存储部215也可以不是内置于图像处理装置21的存储装置,而是通过数据输入输出接口等连接的外置型的存储装置。
[0062] 控制部22通过使规定的程序动作来发挥图像处理装置21的功能。控制部22例如构成为包括CPU(Central Processing Unit:中央处理单元)等的控制装置。控制部22通过从数据存储部215读出预先存储的程序,并使读出的程序动作,来作为处理部220以及选择部221发挥作用。另外,处理部220包括特征提取部222、模型统合部223、匹配部224、以及检测信息获取部225。
[0063] 此外,控制部22在程序的动作开始时从数据存储部215读出操作画面数据,并将读出的操作画面数据输出至显示部213。
[0064] 选择部221在使显示部213显示的图像上确定从操作输入部212输入的区域信号所表示的区域。选择部221根据来自操作输入部212的模型图像生成指示信号的输入,从显示于显示部213的图像的图像数据提取表示确定出的区域内的图像的图像数据。由此,选择被显示的多个物体的任意一个物体所表示的区域。
[0065] 此外,在以下的说明中,将提取出的图像数据称为模型图像数据,将模型图像数据所表示的图像称为模型图像。
[0066] 选择部221根据再次的图像生成指示信号的输入,重复进行提取模型图像数据的处理,生成至少2个模型图像数据。由此,选择至少2个彼此不同的物体的图像。选择部221将生成的模型图像数据存储至数据存储部215。
[0067] 此外,在以下的说明中,将生成的模型图像数据之一称为基本模型图像数据,将其他的模型图像数据称为追加模型图像数据。基本模型图像数据是在模型统合处理(后述)中作为基础的模型图像数据。追加模型图像数据是在模型统合处理(后述)中作为统合的对象的模型图像数据。提取出基本模型图像数据的原始图像数据和提取出追加模型图像数据的原始图像数据既可以相同,也可以不同。即使在提取出基本模型图像数据的原始图像数据和提取出追加模型图像数据的原始图像数据不同的情况下,基本模型图像数据表示的物体和追加模型图像数据表示的物体至少位置和姿势的任意一个不同,具有相同的形状以及大小即可。
[0068] 特征提取部222从数据存储部215读出在模型生成处理(后述)中新存储的模型图像数据。特征提取部222提取将读出的模型图像数据所表示的图像细分化后的每个小区域的特征,例如边缘。所谓边缘是亮度、色彩在空间上急剧变化的部分,表示形成物体的轮廓、物体表面的花纹的图形的边界。换言之,边缘是表示物体的形状、表面的状态的特征的信息,根据物体的位置、姿势、光线的照射状况等拍摄条件的差异而不同。
[0069] 在边缘提取处理中,特征提取部222例如针对水平方向、垂直方向分别使用索贝尔滤波器(Sobel filter),按每个像素计算不同方向边缘强度。边缘强度是表示亮度值的空间上的变化的程度的值。特征提取部222针对水平方向、垂直方向各自的不同方向边缘强度,按每一像素计算平方和的平方根,将计算出的值规定为在方向间统合的边缘强度。特征提取部222将规定的边缘强度比预先规定的边缘强度的阈值大的像素规定为边缘像素,生成表示由边缘像素形成的边缘的边缘映射。
[0070] 特征提取部222将生成的边缘映射与该边缘映射的生成所使用的模型图像数据建立关联,并作为模型数据存储于数据存储部215。此外,将包括基本模型图像数据作为模型图像数据的模型数据称为基本模型数据,将包括追加模型图像数据作为模型图像数据的模型数据称为追加模型数据。
[0071] 特征提取部222读取在运行时间中经由图像数据获取部211从拍摄装置10输入且依次存储于数据存储部215的图像数据。运行时间根据物体检测处理开始信号从操作输入部212输入至控制部22这一情况开始。在以下的说明中,将读取到的图像数据称为对象图像数据来与模型图像数据区别。对象图像数据既可以与提取出模型图像数据的原始图像数据不同,也可以相同。
[0072] 特征提取部222还针对象图像数据进行上述的边缘提取处理,生成边缘映射。特征提取部222将生成的边缘映射存储到数据存储部215。
[0073] 模型统合部223从数据存储部215读取基本模型数据和追加模型数据,针对读取到的基本模型数据和追加模型数据进行模型统合处理来生成统合模型数据。在模型统合处理中,模型统合部223提取基本模型数据所包含的边缘映射所表示的边缘与追加模型数据所包含的边缘映射所表示的边缘不同的区域作为掩模。模型统合部223生成表示提取出的掩模的掩模数据,并将生成的掩模数据追加到基本模型数据来生成统合模型数据。
[0074] 另外,在有多个追加模型数据的情况下,模型统合部223将针对一个追加模型数据生成的统合模型数据作为基本模型数据,在与其他一个追加模型数据之间生成统合模型数据。在该情况下,模型统合部223将新提取出的掩模追加到现有的掩模数据所表示的掩模,生成表示追加后的掩模的掩模数据。模型统合部223通过将现有的掩模数据更新为新生成的掩模数据来形成统合模型数据。
[0075] 模型统合部223将生成的统合模型数据存储到数据存储部215。
[0076] 匹配部224在运行时间中读取新存储于数据存储部215的对象图像数据的边缘映射和预先存储的统合模型数据。在以下的说明中,通过将新存储的边缘映射称为对象边缘映射,来与包含于统合模型数据的边缘映射区别。匹配部224从统合模型数据提取边缘映射和掩模数据,从提取出的边缘映射所表示的边缘将掩模数据所表示的掩模的部分去除,确定未去除而残留的边缘。将残留的边缘称为参照边缘。匹配部224在对象边缘映射所表示的边缘与参照边缘之间进行匹配处理。
[0077] 在匹配处理中,匹配部224搜索(检索)参照边缘和对象边缘映射所表示的边缘对应的检索条件。检索条件是包括对象边缘映射上的参照边缘的位置、参照边缘的方向、以及参照边缘的倍率的设置。所谓参照边缘的倍率是放大或者缩小后的参照边缘的大小与原始的参照边缘的大小的比。匹配部224针对不同的检索条件分别在与对象边缘映射所表示的边缘之间计算匹配得分,求出匹配得分根据检索条件的变化成为极大的检索条件。匹配部224将表示求出的检索条件(位置、方向、倍率)和通过该检索条件计算出的匹配得分的匹配信息输出至检测信息获取部225。
[0078] 匹配得分是表示2个边缘一致度的指标。匹配部224也可以使用专利文献1所述的得分作为匹配的得分。例如,匹配部224也可以使用在像素间累计对象边缘映射所表示的边缘像素中的边缘角度比特与参照边缘所包含的边缘像素中的边缘角度比特的一致度而得到的总和除以基点数而得到的值作为匹配得分。所谓边缘角度比特是将边缘方向用规定的量子化宽度(例如,18°)量子化后的值。一致度是比较对象的2个值越近似越大的实数,在2个值相等的情况下取最大值1。所谓基点数是形成参照边缘的边缘像素的个数。
[0079] 另外,匹配部224也可以使用对象边缘映射所表示的边缘像素和参照边缘所包含的边缘像素对应的像素数除以基点数而得到的值作为匹配得分。
[0080] 检测信息获取部225基于从匹配部224输入的匹配信息,判定从图像数据与目标物相同种类的对象物的检测是否成功。检测信息获取部225在匹配信息所表示的匹配得分是预先规定的匹配得分的阈值(也称为得分允许值、接受值)以上的情况下,判定为从图像数据与目标物相同的种类的对象物的检测成功。在判定为检测成功的情况下,检测信息获取部225将匹配信息所表示的位置、方向从照相机坐标系坐标变换为机器人坐标系。照相机坐标系是以拍摄装置10的光学系为基准的坐标系,机器人坐标系是以机器人30为基准的坐标系。因此,变换后的位置、方向分别表示拍摄到的图像所表示的对象物的位置、方向。检测信息获取部225生成表示变换后的位置、方向和检测成功的检测信息。
[0081] 检测信息获取部225在匹配信息所表示的匹配得分比预先规定的得分允许值小的情况下,判定为检测失败。检测信息获取部225生成表示检测失败的检测信息。
[0082] 检测信息获取部225将生成的检测信息经由数据输入输出部214输出至机器人控制装置23。
[0083] 接下来,对操作画面的例子进行说明。
[0084] 图3是表示显示于本实施方式所涉及的显示部213的操作画面的例子的图。
[0085] 图3所示的操作画面包含有图标ic1、ic2、文本框tb1、tb2、按钮bt1、bt2、以及显示图像im1。
[0086] 图标ic1是将照相机图案化的图形,显示于操作画面的左上的菜单条的左端。若图标ic1的显示区域通过用户的操作输入被指定(以下,称为按下),则控制部22从数据存储部215读出从拍摄装置10输入的图像数据,并使基于读出的图像数据的图像在该操作画面内显示。显示图像im1是控制部22使其显示的图像的例子。
[0087] 图标ic2是右下端被加粗表示的四方形,显示于菜单条的正下方的左端。若图标ic2被按下,则控制部22使窗口显示于显示图像的规定位置。显示于显示图像im1的几乎中央的窗口Wd是控制部22使其显示的窗口的例子。窗口Wd由长方形的框和其中心的+标记形成。通过+标记的位置指定了显示图像im1上的窗口Wd的代表位置,通过框的大小指定了其范围。另外,显示图像im1上的窗口Wd的位置、水平方向及垂直方向的大小根据用户的操作输入可变。用户能够通过指定显示图像im1上的区域,来指定在显示图像im1上显示的物体Wk1~Wk3的任一显示区域。在图3所示的例子中,指定了物体Wk2的显示区域。
[0088] 文本框tb1包括属性和设定值的栏。所谓属性表示设定值的种类。在设定值的栏中,分别对应的属性的设定值能够根据用户的操作输入而输入。属性例如有检索条件的范围、得分允许值、检索个数等。作为检索条件,也可以能够指定姿势的范围、倍率等。所谓检索个数是从一个图像数据的边缘映射要检索的对象物的边缘的最大个数。姿势的范围的设定值例如是-10°~+10°。倍率的设定值例如是0.7~1.5倍。检索个数的设定值例如是1。被输入的设定值被设定于匹配部224,被设定的设定值用于处理。此外,匹配部224也可以在处理中使用预先设定的设定值。
[0089] 文本框tb2包括检测结果和检测值的栏。文本框tb2中显示有由匹配部224进行的匹配的物体的检测结果的每个项目的检测值。检测结果的项目例如有匹配得分、检索条件(位置、姿势、倍率)、所要时间等。
[0090] 按钮bt1是表示了字符串“示教”的按钮。若按下按钮bt1,则选择部221提取在指定的区域内所示的物体的图像数据来生成最初的模型图像数据(基本模型图像数据)。
[0091] 之后,控制部22使新区域的指定(新模型的示教)的指示按钮1(未图示)、关于指定的区域的模型图像数据的模型统合处理(样本的追加)的指示按钮2(未图示)显示在操作画面内。
[0092] 根据指示按钮1的按下,选择部221提取在指定的区域内所示的物体的图像数据来生成追加模型图像数据。
[0093] 根据指示按钮2的按下,特征提取部222基于基本模型图像数据生成基本模型数据,并基于追加模型图像数据生成追加模型数据。然后,模型统合部223针对基本模型数据和追加模型数据进行模型统合处理。
[0094] 按钮bt2是表示字符串“执行对象”的按钮。与按钮bt2被按下的情况对应,控制部22开始物体检测处理(后述)。
[0095] 接下来,对本实施方式的模型统合部223进行说明。
[0096] 图4是表示本实施方式所涉及的模型统合部223的功能的概念图。
[0097] 模型统合部223获取基本模型数据BM和追加模型数据AM,针对获取到的基本模型数据BM和追加模型数据AM进行模型统合处理生成统合模型数据IM。生成的统合模型数据IM在物体检测处理(后述)中使用。
[0098] 接下来,对模型数据MD的构成例进行说明。
[0099] 图5是表示模型数据MD的构成例的图。
[0100] 模型数据MD构成为包括模型图像数据、边缘映射、以及掩模数据。该构成在基本模型数据BM和追加模型数据AM之间相同。
[0101] 模型图像数据是表示由选择部221指示的区域内的每个像素的亮度值的数据。边缘映射是表示特征提取部222从模型图像数据提取出的边缘的领域的数据。边缘映射是具有按每一像素表示该像素是否是边缘像素的信号值的数据。例如,边缘像素的信号值是1,非边缘像素的信号值是0。
[0102] 掩模数据是表示模型统合部223提取出的掩模的区域的数据。掩模数据是具有按每一像素表示该像素是否属于掩模的信号值的数据。例如,属于掩模的像素的信号值是1,不属于掩模的像素的信号值是0。此外,掩模数据构成为包括内部掩模和用户掩模。所谓内部掩模是表示模型统合部223提取出的掩模的数据。所谓用户掩模是表示用户定义的掩模的数据。内部掩模、用户掩模按每一像素由各1比特表示是否属于掩模。
[0103] 此外,在本说明书中,只要不特别事先说明,掩模是指内部掩模。
[0104] 接下来,对本实施方式的模型统合处理进行说明。
[0105] 图6是表示本实施方式所涉及的模型统合处理的概念图。
[0106] 模型统合处理包括掩模生成处理(步骤S11)、映射处理(步骤S12)、以及逻辑和(OR)处理(步骤S13)。
[0107] (步骤S11)模型统合部223比较基本模型数据BM所包含的边缘映射所表示的边缘的区域和追加模型数据AM所包含的边缘映射所表示的边缘的区域,提取两者未对应的部分。模型统合部223生成表示提取出的部分的内部掩模。
[0108] 此外,在基本模型数据BM的图像数据所表示的物体与追加模型数据AM的图像数据所表示的物体的位置、姿势关系未知的情况下,模型统合部223针对基本模型数据BM的边缘的区域、追加模型数据AM的边缘的区域进行匹配处理。由此,将基本模型数据BM的边缘的区域与追加模型数据AM的边缘的区域的位置以及姿势建立关联,求出表示两者间的位置、姿势关系的坐标变换系数。该匹配处理也可以与匹配部224进行的匹配处理相同。之后,进入步骤S12。
[0109] (步骤S12)模型统合部223从追加模型数据AM提取内部掩模,将提取出的内部掩模坐标变换(映射)到基本模型数据BM的内部掩模上的对应的区域。模型统合部223也可以在坐标变换中使用通过步骤11中的匹配处理而得到的坐标变换系数。之后,进入步骤S13。
[0110] (步骤S13)模型统合部223将属于基本模型数据BM所包含的内部掩模的区域、在步骤S11中生成的内部掩模、以及在步骤S12中坐标变换后的内部掩模的至少任意一个的区域规定为新内部掩模。由此,属于在步骤S11中生成的内部掩模以及在步骤S12中坐标变换后的的内部掩模的区域被追加到基本模型数据BM所包含的内部掩模的区域。模型统合部223将基本模型数据BM的内部掩模更新为新规定的内部掩模。之后,结束图6所示的处理。
[0111] 此外,不管在追加模型数据AM中是否定义了内部掩模,步骤S12的处理均可以被省略。并且,在基本模型数据BM中内部掩模未被定义的情况下,在步骤S13中,模型统合部223也可以将在步骤S11中生成的内部掩模包含于基本模型数据BM。
[0112] 接下来,对步骤S11(图6)的掩模生成处理进行详细的说明。
[0113] 图7是表示本实施方式所涉及的掩模生成处理的概念图。
[0114] 掩模生成处理包括登记处理(步骤S111)、映射处理(步骤S112)、边缘像素全面涂抹处理(步骤S113)、膨胀处理(步骤S114)、反转(NOT)处理(步骤S115)、边缘像素全面涂抹处理(步骤S116)以及逻辑积(AND)处理(步骤S117)。
[0115] (步骤S111)模型统合部223获取表示基本模型数据BM的图像数据所表示的物体、与追加模型数据AM的图像数据所表示的物体的位置、姿势关系的坐标变换系数。在这些物体间的位置、姿势关系未知的情况下,模型统合部223通过在基本模型数据BM的边缘与追加模型数据AM的边缘之间进行匹配处理来获取坐标变换系数。之后,进入步骤S112。
[0116] (步骤S112)模型统合部223从追加模型数据AM提取边缘映射。模型统合部223使用获取了提取出的边缘映射所表示的边缘的坐标变换系数来进行坐标变换(映射)。由此,在提取出的边缘映射所表示的边缘与基本模型数据BM的边缘映射所表示的边缘之间位置、姿势关系建立了关联。之后,进入步骤S113。
[0117] (步骤S113)模型统合部223将属于坐标变换后的边缘的边缘像素的信号值规定为1,将不属于边缘的非边缘像素的信号值规定为0(边缘像素全面涂抹)。这里,模型统合部
223在一个像素所占的变换后的区域是规定的面积(例如,0.5像素)以上的情况下,将该像素确定为边缘像素,除此以外的像素确定为非边缘像素。之后,进入步骤S114。
[0118] (步骤S114)模型统合部223针对由确定出的边缘像素形成的边缘进行膨胀处理。在膨胀处理中,模型统合部223针对边缘区域所包含的边缘像素中的在水平方向或者垂直方向上相邻的像素是非边缘像素的边缘像素,将该非边缘像素转换为边缘像素。由此,能够减少由于基本模型数据BM的边缘、与追加模型数据AM的边缘微量的位置差异找不到彼此重复的区域,两者的关联失败的险。之后,进入步骤S115。
[0119] (步骤S115)模型统合部223将形成追加模型数据AM的边缘映射的边缘像素的信号值1和非边缘像素的信号值0相互反转,分别将边缘像素的信号值转换为0,将非边缘像素的信号值转换为1。之后,进入步骤S116。
[0120] (步骤S116)模型统合部223将属于基本模型数据BM的边缘映射所表示的边缘的边缘像素的信号值规定为1,将不属于边缘的非边缘像素的信号值规定为0(信号边缘像素全面涂抹)。之后,进入步骤S117。
[0121] (步骤S117)模型统合部223将属于基本模型数据BM涉及的边缘映射所表示的边缘的区域(信号值1)、和追加模型数据AM涉及的边缘映射中的边缘以外的区域(信号值1)的任意一个的区域规定为掩模。模型统合部223生成表示规定的掩模的掩模数据(内部掩模)。之后,结束图7所示的处理。
[0122] 此外,也可以在图7中省略膨胀处理(步骤S114)。另外,模型统合部223也可以通过重复进行规定次数(例如,2次)膨胀处理来提高膨胀的程度。
[0123] 在图7中,Eg3~Eg6分别表示在步骤S113~S116中生成的数据的例子。Eg7表示在步骤S117中生成的掩模数据的例子。均全面涂抹信号值1的像素,除此以外的区域不被涂抹。
[0124] Eg3所示的边缘通过映射处理(步骤S112)在与Eg6所示的边缘之间位置、姿势关系建立了关联,均从左下向右上分布。但是,相对于Eg3所示的边缘被分割为2个部分,Eg6所示的边缘是一个连续的区域。这里,Eg3示出了在从右端数第4列和从左端数第3列沿垂直的方向延伸的边缘,Eg6示出了从左下端数第3列到从上端数第3行的第7列分布的其它的形状的边缘。
[0125] Eg4所示的边缘通过膨胀处理(步骤S114)从Eg3所示的边缘针对水平方向、垂直方向分别向其顺向及逆向,按每个像素进行放大。Eg3所示的边缘主要是在垂直方向上相邻的区间,所以关于基于膨胀处理的放大,与垂直方向相比以水平方向为主。
[0126] Eg5所示的全面涂抹部分表示通过对Eg4的边缘的反转处理(步骤S115)反转了信号值的非边缘区域。
[0127] Eg7所示的掩模是Eg6所示的边缘的区域和Eg5所示的非边缘区域重叠的区域。该区域是在Eg3上产生与Eg6之间的边缘的分割的有无、边缘的位置及形状的差异这样的模型数据间的物体的外观上的差异的区域。
[0128] 接下来,对模型数据的例子进行说明。
[0129] 图8是表示模型数据的例子的图。
[0130] 图8(a)是表示基本模型数据BM的例子的图。图8(a)使边缘映射所表示的边缘Eg1重叠显示于基本模型数据BM所包含的图像数据所表示的物体Wk1的图像。在该例中,在物体Wk1的外侧的轮廓的大部分和左下的突起部的轮廓的几乎全体检测到边缘Eg1。
[0131] 图8(b)是表示追加模型数据AM的例子的图。图8(b)使边缘映射所表示的边缘Eg2重叠显示于追加模型数据AM所包含的图像数据所表示的物体Wk2的图像。物体Wk2是与物体Wk1相同的种类的物体,与拍摄装置10的位置关系不同,但是通过坐标变换以在两者间大多数的边缘一致的方式对边缘建立了对应。图8(b)中,为了明确边缘与物体Wk的位置关系,物体Wk2图像也实施了与边缘同样的坐标变换。在该例中,拍摄装置10与物体Wk2的位置关系和基本模型涉及的拍摄装置10与物体Wk1的位置关系不同,所以相对于物体Wk2的外侧的轮廓,左下的突起部比物体Wk1的突起物向左方位移。因此,在突起部的轮廓的左右两端中,边缘Eg1和边缘Eg2的位置左右偏移。
[0132] 图8(c)是表示统合模型数据IM的例子的图。图8(c)使边缘映射所表示的边缘Eg’重叠显示于统合模型数据IM所包含的图像数据所表示的物体Wk1的图像。其中,边缘Eg’中的、外部掩模δ的区域由一点虚线的椭圆包围来表示。外部掩模δ的区域相当于边缘Eg2与边缘Eg’的不同的部分。该部分由于位置、姿势关系、或光线的照射状况产生外观上的差异,所以在物体检测处理中的匹配处理中无视,从而能够防止或者减轻物体检测处理(后述)中计算出的匹配得分的降低。
[0133] 接下来,对本实施方式所涉及的模型生成处理进行说明。
[0134] 图9是表示本实施方式所涉及的模型生成处理的流程图。
[0135] (步骤S201)选择部221根据来自操作输入部212的模型图像生成指示信号的输入,从显示于显示部213的图像的图像数据获取表示通过操作输入确定出的区域内的图像的基本模型图像数据。之后,进入步骤S202。
[0136] (步骤S202)特征提取部222针对选择部221获取到的基本模型图像数据进行边缘提取处理,生成表示提取出的边缘的边缘映射。之后,进入步骤S203。
[0137] (步骤S203)选择部221根据来自操作输入部212的模型图像生成指示信号的再次输入,从显示于显示部213的图像的图像数据获取表示通过操作输入确定出的区域内的图像的追加模型图像数据。之后,进入步骤S204。
[0138] (步骤S204)特征提取部222针对选择部221获取到的追加模型图像数据进行边缘提取处理,生成表示提取出的边缘的边缘映射。之后,进入步骤S205。
[0139] (步骤S205)模型统合部223提取基本模型图像数据涉及的边缘映射所表示的边缘、与追加模型图像数据涉及的边缘映射所表示的边缘未对应的部分作为掩模。模型统合部223将表示提取出的掩模的掩模数据统合到包括基本模型图像数据和边缘映射的基本模型数据,来生成统合模型数据(模型统合处理)。之后,进入步骤S206。
[0140] (步骤S206)选择部221在模型图像生成指示信号从操作输入部212输入的情况下,判定为继续处理(步骤S206是),进入步骤S203。选择部221在从操作输入部212输入的指示信号表示处理结束的情况下,判定为结束处理(步骤S206否),结束图9所示的处理。
[0141] 接下来,对本实施方式所涉及的物体检测处理进行说明。
[0142] 图10是表示本实施方式所涉及的物体检测处理的流程图。
[0143] (步骤S301)从拍摄装置10输入的对象图像数据依次被存储于数据存储部215。特征提取部222通过从数据存储部215读取对象图像数据来获取。之后,进入步骤S302。
[0144] (步骤S302)特征提取部222针对获取到的对象图像数据进行边缘提取处理,生成表示提取出的边缘的对象边缘映射。之后,进入步骤S303。
[0145] (步骤S303)匹配部224从数据存储部215读出统合模型数据,从读出的统合模型数据获取边缘映射和掩模数据。匹配部224从提取出的边缘映射所表示的边缘去除掩模数据所表示的掩模的部分,确定参照边缘。匹配部224在对象边缘映射所表示的边缘和参照边缘之间进行匹配处理,检索在参照边缘与对象边缘映射所表示的边缘之间一致度极大(例如,最高)的参照边缘的位置、方向、倍率。在检索中,匹配部224按参照边缘的位置、方向、倍率的每个组来计算匹配得分,确定计算出的匹配得分最大的位置、方向、倍率。之后,进入步骤S304。
[0146] (步骤S304)检测信息获取部225在匹配得分的最大值是预先规定的得分允许值以上的情况下,判定为对象物的检测成功。检测信息获取部225生成(获取)表示基于匹配部224确定出的位置、方向得到的对象物的位置、方向和对象物的检测成功的检测信息。检测信息获取部225在匹配得分的最大值比预先规定的得分允许值小的情况下,判定为对象物的检测失败。检测信息获取部225生成(获取)表示对象物的检测失败的检测信息。之后,进入步骤S305。
[0147] (步骤S305)检测信息获取部225将获取到的检测信息经由数据输入输出部214输出至机器人控制装置23。之后,结束图10所示的处理。
[0148] 接下来,对匹配得分的例子进行说明。
[0149] 图11是表示匹配得分的例子的表。
[0150] 图11示出机器人30的操作对象的每个物体的模型追加前后的匹配得分。图11所示的匹配得分是在物体检测处理(图10)中使用专利文献1所记载的得分值的计算方法计算出的得分值(最大值为1000)。所谓模型追加前是指与现有技术同样地,直接将基本图像数据的边缘映射所表示的边缘用于匹配这一情况。在图11所示的例中,使用了从表示物体Wk2的模型图像数据提取出的边缘。所谓模型追加后是指将从通过本实施方式生成的统合模型数据所包含的边缘映射所表示的边缘去除掩模而得到的参照边缘用于匹配的情况。在图11所示的例子中,使用了基于表示物体Wk1的基本图像数据和表示物体Wk2的追加图像数据生成的统合模型数据。
[0151] 根据图11,针对物体Wk1、Wk3,模型追加后的匹配得分分别是950、942,从模型追加前的匹配得分的892、879显著地增加。通过使用通过本实施方式生成的掩模来忽略物体的外观不同的部分,从而抑制了匹配得分的降低。因此,能够不降低匹配处理中的得分允许值地检测对象物,所以能够提高检测精度
[0152] 此外,物体Wk2的模型追加后的匹配得分为996,从模型追加前的匹配得分的994的增加量少。这是由于基于表示在与检测对象的物体Wk2相同的条件下拍摄到的物体Wk2的图像数据的基本模型数据在匹配处理中使用。
[0153] 此外,在如上述那样预先进行掩模生成处理拍摄到的图像表示的目标物和在运行时间(物体检测处理的执行中)拍摄到的图像表示的对象物之间,若拍摄条件不同,则即使目标物与对象物例如是相同的物体,外观上的形状也不同。在现有的匹配处理中,计算出的匹配得分降低。另一方面,若为了检测对象物而降低得分的允许值,则形状近似的其他物体、背景被错误检测为与目标物对应的对象物的风险变高。
[0154] 因此,为了防止匹配得分的降低,也考虑了用户确定对象物的外观上的形状的变动部分,通过手动作业对该部分实施掩模,与目标物的形状的匹配通过将掩模的部分除外来进行。
[0155] 然而,在确定形状的变动部分时,要求用户通过目视观察详细地比较多个模型间的轮廓,通过手动作业准确地确定变动部分的位置、区域。因此,确定变动部分的位置、区域作为要实施掩模的部分的作业通常困难且繁琐。另外,若将本来无需实施掩模的部分作为掩模,则匹配所使用的区域变少,所以匹配的精度降低,成为错误检测形状近似的其他物体、背景部分的重要因素。
[0156] 以上,如说明那样,本实施方式所涉及的机器人系统1包括:图像处理装置21,其从多个物体(例如,物体Wk1~Wk3)中检测一个物体;以及机器人30,其操作检测到的一个物体。图像处理装置21包括:显示部213,其显示图像数据,上述图像数据包括由拍摄装置10拍摄到的多个物体的图像;以及选择部221,其从图像数据选择第一图像(例如,基本模型图像)和第二图像(例如,追加模型图像)。另外,图像处理装置21包括处理部220,其基于第一图像和第二图像生成模型(例如,统合模型数据),并使用生成的模型来检测一个物体。
[0157] 根据该构成,使用基于第一图像和拍摄条件不同的第二图像生成的模型来检测物体。因此,即使在根据拍摄条件的差异而产生外观的变化的状况下,也能够可靠地检测检测对象的物体。
[0158] 另外,在机器人系统1中,处理部220包括特征提取部222,其针对第一图像、第二图像、以及图像数据分别提取细分化后的每个区域的特征。另外,处理部220包括模型统合部223,模型统合部223生成包括图像特征(例如,边缘映射)和掩模区域(例如,内部掩模)的模型,上述图像特征是第一图像的特征和第二图像的特征的任意一个,上述掩模区域中第一图像的特征和第二图像的特征不同。另外,处理部220包括匹配部224,匹配部224对从图像特征将掩模区域除外的区域(例如,参照边缘)、和图像数据的特征(例如,对象边缘映射)进行匹配。
[0159] 根据该构成,通过在第一图像与第二图像之间特征不同的区域被排除在外,从而在通过拍摄条件的差异特征没有变化的区域之间完成了匹配。因此,能够可靠地检测检测对象的物体。
[0160] 另外,在机器人系统1中,特征提取部222针对第一图像、第二图像以及图像数据分别提取边缘。
[0161] 根据该构成,由于基于作为图像的特征的表示物体的轮廓、花纹的边缘而进行了匹配,所以能够高效地检测检测对象的物体的位置、方向。
[0162] 另外,在机器人系统1中,模型统合部223例如通过进行坐标变换,来将第一图像的特征与第二图像的特征的位置及姿势的关系建立关联地规定掩模区域。
[0163] 根据该构成,即使在第一图像与第二图像之间位置或姿势的关系不一致的情况下,也能够在第一图像与第二图像之间对应的区域间规定特征不同的掩模区域。
[0164] 另外,在机器人系统1中,模型统合部223针对第一图像的特征和第二图像的特征的至少任一方进行膨胀处理,规定第一图像的特征和第二图像的特征不同的掩模区域。
[0165] 根据该构成,即使在由于第一图像与第二图像的拍摄条件的差异而位置关系稍稍不同的情况下,也能够比较对应的区域间的特征,所以能够可靠地检测检测对象的物体。
[0166] 另外,在机器人系统1中,匹配部224将表示针对从图像特征将掩模区域除外的区域使位置及方向变化后的区域(例如,参照边缘)与对象图像数据的特征的一致度的匹配得分,按位置及方向的每一变化量计算出,并基于匹配得分检测一个物体的位置及方向。
[0167] 根据该构成,在对象图像数据中,定量地确定出与从图像特征将掩模区域除外的区域对应的区域,从而能够检测图像特征所表示的物体、及其位置及方向。
[0168] 另外,在机器人系统1中,图像处理装置21具备检测信息获取部225,其基于匹配部224计算出的得分判定是否检测到一个物体。
[0169] 根据该构成,基于图像数据的特征与从图像特征将掩模区域除外的区域的一致度,能够定量地判定图像特征涉及的物体的检测是否成功。
[0170] 以上,参照附图对该发明的实施方式进行了详述,但是具体的构成并不局限于该实施方式,只要不脱离该发明的主旨,可以变更、置换、削除等。
[0171] 例如,在上述的实施方式中,以机器人30具有1根臂部30b的单臂机器人的情况为例进行了说明,但是并不局限于此。机器人30既可以是具有2根臂部的双臂机器人,也可以是水平多关节机器人(所谓的标量机器人)。
[0172] 图像处理装置21既可以如上述那样与机器人控制装置23独立,也可以构成为一体。
[0173] 机器人控制装置23既可以如上述那样与机器人30独立,也可以构成为一体。
[0174] 另外,也可以拍摄装置10、图像处理装置21、机器人控制装置23、以及机器人30全部构成为一体。
[0175] 机器人系统1也可以作为物体检测系统使用。例如,图像处理装置21检测载置于传送带上的一个物体,机器人30也可以操作图像处理装置21检测到的物体。图像处理装置21也可以针对传送带上的多个位置分别获取表示物体的模型图像,基于获取到的模型图像生成统合模型数据。在传送带上的多个位置之间,各个外观不同,但是根据本实施方式,由于将模型图像中外观不同的部分除外进行了匹配处理,所以能够使物体的检测精度提高。
[0176] 另外,机器人系统1也可以使用于仓库整理。例如,图像处理装置21也可以从杂乱地层叠于作业台上的多数的物体中检测一个物体,且机器人30操作图像处理装置21检测到的物体。图像处理装置21也可以预先从杂乱地层叠于作业台上的多数的物体获取表示至少2个物体的各个的模型图像,并基于获取到的模型图像生成统合模型数据。在层叠的物体的各个之间,因为位置、方向、光线的照射状况不同,所以各个的外观不同。例如,在物体是螺丝的情况下,附着在轴部的螺纹牙、金属光泽的外观的差异在多个物体之间显著。根据本实施方式,因为除了模型图像中外观不同的部分以外进行了匹配处理,所以能够使物体的检测精度提高。
[0177] 另外,图像处理装置21也可以与机器人控制装置23联系地执行视觉伺服。在视觉伺服中,图像处理装置21预先生成的统合模型数据所包含的边缘数据也可以被作为控制目标的目标图像使用。在视觉伺服中,在对于从拍摄图像生成的边缘数据和目标图像进行匹配处理时,图像处理装置21将统合模型数据所包含的掩模数据所表示的掩模的区域除外。
[0178] 另外,在上述的实施方式中,以不考虑用户掩模的情况为例,但是并不局限于此。模型统合部223也可以将属于基本模型数据BM所包含的用户掩模、和追加模型数据AM所包含的用户掩模的至少任一个的区域规定为新的用户掩模。在该情况下,模型统合部223在生成统合模型数据IM时,将基本模型数据BM所包含的用户掩模更新为新的用户掩模。
[0179] 另外,匹配部224也可以从统合模型数据提取出的边缘映射所表示的边缘,至少将属于内部掩模的部分和用户掩模的部分的任一方的部分除外来确定参照边缘,在对象边缘映射所表示的边缘与参照边缘之间进行匹配处理。
[0180] 另外,也可以将用于实现以上说明的装置(例如,机器人系统1的图像处理装置21)中的任意的构成部的功能的程序记录于计算机可读取的记录介质,使计算机系统读取该程序来执行。此外,这里所说的“计算机系统”是指包括OS(Operating System:操作系统)、周边设备等的硬件的系统。另外,所谓“计算机可读取的记录介质”是指软盘、光磁盘、ROM、CD(Compact Disc)(登记商标)-ROM等的可移动介质、内置于计算机系统的硬盘等的存储装置。并且所谓“计算机可读取的记录介质”也包括如作为经由因特网等网络、电话线路等通信线路程序被发送的情况下的服务器或客户端的计算机系统内部的易失性存储器(例如,RAM)那样一定时间保持程序的记录介质。
[0181] 另外,上述的程序也可以从将该程序储存于存储装置等的计算机系统,经由传送介质、或者通过传送介质中的传送波传送至其他的计算机系统。这里,传送程序的“传送介质”是指具有如因特网等的网络(通信网)、电话线路等的通信线路(通信线路)那样传送信息的功能的介质。
[0182] 另外,上述的程序也可以是用于实现上述的功能的一部分的程序。并且,上述的程序也可以是能够通过与已经记录于计算机系统的程序的组合实现上述功能的所谓的差分文件(差分程序)。
[0183] 符号说明
[0184] 1…机器人系统;10…拍摄装置;21…图像处理装置;211…图像数据获取部;212…操作输入部;213…显示部;214…数据输入输出部;215…数据存储部;22…控制部;220…处理部;221…选择部;222…特征提取部;223…模型统合部;224…匹配部;225…检测信息获取部;23…机器人控制装置;30…机器人。
QQ群二维码
意见反馈