用于定义对象的轮廓的方法与流程

文档序号:27424603发布日期:2021-11-17 19:17阅读:101来源:国知局
用于定义对象的轮廓的方法与流程

1.本发明涉及标识对象及其位置,特别是在在机器人应用中标识对象及其位置。


背景技术:

2.视觉系统广泛用于工业自动化解决方案,以检测和确定各种对象的位置。传统视觉系统通常基于能够在图像上的梯度的基础上将对象与背景区分开的轮廓识别算法。所检测的对象的轮廓的准确性取决于可能会依据外部因素(如照明条件)而发生变化的相应算法的性能。视觉系统通常是机器人系统的可选部分,增加整个机器人系统的成本。
3.仍然期望提供一种用于定义对象的轮廓的改进方法。


技术实现要素:

4.本发明的一个目的是提供一种用于定义对象的轮廓的改进方法。具体地,本发明的一个目的是提供一种对外部条件不如传统视觉系统敏感的方法。
5.本发明的另一目的是提供一种用于机器人应用的改进视觉系统。具体地,本发明的另一目的是提供一种使得能够使用简单且鲁棒的轮廓识别算法的视觉系统。
6.这些目的通过根据所附权利要求1所述的方法和根据所附权利要求9所述的设备来实现。
7.本发明基于以下认识:通过检测显示器上位置已知的各个像素的可见性,可以基于开/关信号而非基于图像上的梯度定义对象的轮廓。
8.根据本发明的第一方面,提供了一种用于定义对象的轮廓的至少一部分的方法。该方法包括以下步骤:将对象放置在显示器上;在显示器上突出显示非受阻像素;在显示器上突出显示受阻像素;以及捕获显示器的第一图像,非受阻像素在第一图像中可见而受阻像素在第一图像中不可见。单独基于非受阻像素的位置、单独基于受阻像素的位置、或基于非受阻像素和受阻像素的位置来定义轮廓的至少一部分。
9.通过基于各个像素的可见性定义轮廓,该方法变得稳健,因为第一图像的每个观察部分只能获得两个离散值。应当理解,所突出显示的像素是非受阻像素还是受阻像素是事先不知道的,因为这是在分析第一图像后才发现的。
10.根据本发明的一个实施例,该方法包括以下步骤:确定轮廓在非受阻像素与受阻像素之间通过或穿越非受阻像素和受阻像素中的一个像素。
11.根据本发明的一个实施例,该方法包括以下步骤:取消突出显示非受阻像素并且捕获显示器的第二图像,受阻像素在第二图像中不可见。取消突出显示非受阻像素使得能够突出显示与其相关的受阻像素;可能无法同时突出显示彼此靠近的两个像素。
12.根据本发明的一个实施例,非受阻像素和受阻像素彼此相邻。通过这种规定,轮廓根据本发明以一个像素的准确性(即,最大准确性)获得。
13.根据本发明的一个实施例,该方法包括以下步骤:突出显示非受阻像素与受阻像素之间的中间像素;捕获显示器的第三图像;在第三图像的基础上确定中间像素是非受阻
像素还是受阻像素。通过确定中间像素的可见性,可以提高所定义的轮廓的准确性,直至任一对的非受阻像素和受阻像素之间不存在中间像素。
14.根据本发明的一个实施例,该方法包括以下步骤:单独基于多个非受阻像素的位置、单独基于多个受阻像素的位置、或基于多个非受阻像素和多个受阻像素的位置来定义轮廓的至少一部分。
15.根据本发明的一个实施例,该方法包括以下步骤:借助于传统轮廓识别算法获得对象的视觉轮廓。
16.根据本发明的一个实施例,该方法包括以下步骤:以包括多个操作的顺序突出显示所有像素;在每次操作期间捕获显示器的图像以获得多个图像;以及针对每个像素,在多个图像的基础上确定其是非受阻像素还是受阻像素。
17.根据本发明的第二方面,提供了一种视觉系统,包括具有显示器的平板计算机,该显示器具有布置在相应行和列中的多个像素。相机相对于显示器布置在固定位置。视觉系统还包括反射镜和固定装置,该固定装置限定平板计算机与反射镜之间的固定相对位置。视觉系统被配置为通过反射镜捕获显示器的图像。
18.根据本发明的一个实施例,视觉系统被配置为捕获整个显示器的图像。
19.根据本发明的第三方面,提供了一种机器人系统,包括工业机器人和上述视觉系统中的任一视觉系统。
附图说明
20.将参考附图对本发明进行更详细的解释,其中
21.图1示出了根据本发明的一个实施例的视觉系统;
22.图2示出了对象放置在其显示器上并且像素阵列得以突出显示的平板计算机;以及
23.图3示出了图2中细节的放大图。
具体实施方式
24.参考图1,根据本发明的一个实施例的视觉系统10包括平板计算机20、反射镜30、以及限定平板计算机20与反射镜30之间的固定相对位置的固定装置40。平板计算机20包括具有布置在相应行和列中的多个像素60(参见图3)的显示器50以及相对于显示器50处于固定位置的相机70。视觉系统10被配置为使得相机70能够经由反射镜30捕获整个显示器50的图像,并且将所捕获的图像转换为图像数据。在本公开的上下文中,“捕获图像”应当被广义地解释为涵盖获得包括用于生成图像的信息的图像数据的任何合适的手段。
25.当对象80放置在显示器50上时,它从相机的角度阻碍了像素60中的一些像素60,在显示器50上定义受阻区域和对应真实轮廓。在本公开中,术语“真实轮廓”是指从相机的角度来看的对象80的真实轮廓90、100(参见图2)。如果所有像素60都使用适当的背景颜色照亮,则在受阻区域与剩余显示器50之间产生对比,并且可以借助于传统轮廓识别算法获得从相机的视角来看的对象80的视觉轮廓。在本公开中,术语“视觉轮廓”是指视觉系统10使用传统轮廓识别算法感知的对象80的轮廓90、100。如照明条件、光折射和轮廓识别算法的性能等之类的因素可能会导致真实轮廓与视觉轮廓之间存在一定误差。还可能无法将相
机70同时聚焦到显示器50的所有区域,尤其是在从显示器50到相机70的光经由反射镜30反射时,这可能是另一误差因素。由于像素60非常小,诸如最大尺寸的量级为1/10mm,所以误差的幅度可能为几个像素60。
26.另一方面,甚至可以从图像数据中提取相对于相邻像素60突出显示的单个像素60。也就是说,如果突出显示了单个像素60,则可以从图像数据中推断出该像素60是否从相机的视角来看可见,或它是否位于受阻区域上从而不可见。由于每个像素60与相机70之间的位置关系已知,所以理论上可以基于各个像素60从相机的角度的可见性以一个像素60的准确性而获得对象80的轮廓。在本公开中,术语“轮廓”是指根据本发明获得的对象80的轮廓90、100,该轮廓包括对象80与显示器50相关的所有部分轮廓90、100,其包括外部轮廓90和暗示对象80包含一个或多个贯通开口的一个或多个可能内部轮廓或多个轮廓100。
27.在本公开的上下文中,术语“突出显示”应当被广义解释为涵盖向像素60或像素组60提供与相邻像素60相关的高对比度的任何合适手段。这可以通过打开要突出显示的像素60而同时关闭相邻像素60、通过关闭要突出显示的像素60而同时打开相邻像素60;或通过向要突出显示的像素60提供某种颜色而同时相邻像素60设有某种不同颜色实现。取决于例如像素60的大小和光强度,突出显示像素60可能包括:在其周围相对较大的区域中向它提供关于相邻像素60的高对比度。
28.参考图2,包括外部轮廓90和一个内部轮廓100的对象80放置在包括1600行和1200列的像素60的显示器50上。为了定义对象80的轮廓,沿着行和列的每十个像素60被突出显示,并且捕获显示器50的第一图像。对应第一图像数据保存在平板计算机20内的存储器110中。如果对象80的尺寸相对于显示器50和像素60的尺寸是合理的(即,由例如组成的对象80非常细的形状被排除),则多个经突出显示的像素60在第一图像中可见,而其他像素则不可见。突出显示时可见的像素60被视为“非受阻像素”120,而突出显示时不可见的像素60被视为“受阻像素”130。可以立即确定轮廓在每个非受阻像素120与受阻像素130之间通过,并且该信息已经使得能够基于各个像素60的可见性来定义粗略轮廓。然而,应当领会,在该方法的开始,哪些像素60是非受阻像素120和哪些像素60是受阻像素130的知识是非常有限的。根据本示例,可以从第一图像数据推导出仅1%的像素60的可见性。
29.参考图3,示出了图2的放大图。为了更准确地定义轮廓,通过在迭代过程中将它们一个一个地突出显示来检查每一对相邻的非受阻像素120和受阻像素130之间的中间像素60的可见性。例如,受阻像素a被认为与六个非受阻像素120(即,像素b、c、d、e、f和g)相邻。捕获第二图像,其中像素c1突出显示,像素c1为像素a和c之间的中间像素60的最中间像素,并且从第二图像数据推导出像素c1为非受阻像素120。对像素c2和c3重复对应过程,直至发现彼此紧挨的一对像素60(在这种情况下,c2和c3),其中一个为非受阻像素120,而另一个为受阻像素130。然后,可以确定轮廓,例如,穿越彼此紧挨的一对像素60中的非受阻像素,结果可以以一个像素60的准确性定义相应位置处的轮廓。
30.在本公开的上下文中,两个像素60的中心之间的直线所穿越的所有像素60要被视为关于两个最外面的像素60的“中间像素”60。也就是说,直线不一定需要越过像素60的中心但越过它的一部分足以使主题像素60被认为是“中间像素”60。而且,如果两个像素60的中心之间的直线不穿越任何其他像素60,则两个像素60被认为彼此紧挨定位。
31.通过确定第一图像的每一对相邻的非受阻像素120和受阻像素130之间的中间像
素60的可见性,可以以一个像素60的准确性定义轮廓的大量点。应当领会,可以同时进行多个这样的确定。例如,参考图3,可以同时突出显示像素c1、f1和g1,只要它们彼此不太靠近即可。更进一步地,关于哪些像素60分别是非受阻像素和受阻像素的知识在每次迭代时增加,可以继续并且迭代,直至所得轮廓的准确性足以达到预期目的。例如,可以继续迭代,直至使用像素60的连续链(即,一个像素60的准确性)定义整个轮廓。
32.没有理由突出显示可见性已知的像素60。也就是说,一旦确定像素60为非受阻像素120,就应当通过移除与相邻像素60相关的对比度来取消突出显示。这是因为经突出显示的像素60可能会干扰对可见性未知的剩余像素60的可见性的确定。当可见性受到关注的可见性未知的像素60接近非受阻像素120时,取消突出显示非受阻像素120具有重要意义。例如,如果可见性未知的像素60与(可见性已知的)非受阻像素120相距三个像素60,则如果不能从对应图像数据推导出两个像素60或仅其中一个像素是可见的,则不可能同时突出显示彼此相关的两个像素60。
33.此外,应当取消突出显示被确定为受阻像素130的像素60,即使它们不一定对剩余像素60的可见性的确定造成任何干扰(因为它们无论如何都不可见)。干扰性的受阻像素130可以为处于可见极限的像素60,即,部分在真实轮廓之外但不足以使它们在图像中可见的像素60;当同时突出显示时,彼此靠近的两个这样的像素60可能是可见的,这可能导致错误确定它们各自的可见性。
34.作为前文所描述的方法的备选方案,可以使用传统轮廓识别算法来首先获得对象80的视觉轮廓。然后,与参考图3所描述的步骤相对应的迭代步骤从第一迭代周期开始可以集中到轮廓右侧的附近,使得需要更少的迭代周期。
35.作为前文所描述的迭代方法的备选方案,可以通过系统地突出显示像素60中的每个像素60来定义每个像素60的可见性。例如,按照前面示例,通过捕获与图2的像素阵列相对应的像素阵列的一百个图像,但通过每个图像中突出显示不同的像素60,可以确定每个像素60是非受阻像素还是受阻像素。
36.一次系统地突出显示每个像素60的相同方法还可以用于检查像素60中的任一像素是否受损,即,失去功能。这可以在显示器50上没有对象80的情况下进行,并且显示器50得以很好地清洁,使得每个经突出显示的像素60在图像中均可见,除非像素60受损。
37.本发明不限于上文所示出的实施例,本领域技术人员可以如在权利要求所限定的本发明的范围内以多种方式对这些实施例进行修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1