堆叠物体的识别方法、设备和机器分拣系统与流程

文档序号:12722593阅读:1412来源:国知局
堆叠物体的识别方法、设备和机器分拣系统与流程

本公开总体涉及图像与视频处理领域,具体涉及堆叠物体的识别方法、设备和机器分拣系统。



背景技术:

随着基于视觉的自动化技术的发展,大量的自动化系统和设备开始应用于多个领域,比如水果质量的分拣、药片检测与识别、细胞分析等。特别地,机器人抓取这一技术逐渐走出实验室并应用在了工业产品线上,将劳动者从复杂重负的工作中解放出来。通常可被机器人的手臂抓取的物品包括机电元器件、食品和农产品等。

为了使得机器人能够从杂乱堆放的物体中识别出每个单独物体,常规的方法是模板匹配法、形状检测法等等,但这些方法都不适合于非规则物体的识别,比如煎炸的鸡块的抓取等。对于非规则形状的物体,最可行的方式是从包含该非规则形状的物体的图像中直接分割出每个物体并确定可抓取的位置。

已经提出了使用分层技术从杂乱堆放的物体里取出最顶层的物体并确定出最顶层的各个物体的位置以用于后续的抓取的方法。然而,在现有的分层技术中,均采用单一的全局阈值来获得最顶层的图像,而这种单一阈值分层方法在处理物体之间的粘连问题时往往效果不佳,特别是当上层物体和下层物体粘连较大时,难以准确地分割出堆叠物体的最顶层。这是因为堆叠物体中各物体都是自由堆放而不是一个挨一个、一层叠一层的规则放置的,并且每个单独的物体自身的大小和放置位置朝向等也不相同,因此通过单一阈值进行分层很难正确分割出顶层物体并确定出其中的单个物体。



技术实现要素:

鉴于以上问题而提出了本公开。

根据本公开的一个方面的实施例,提供了一种堆叠物体的识别方法,包 括:获取堆叠物体的深度图;根据所述深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数;针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体;对K个所述物体分割的结果中的候选物体进行融合,以得到融合后的候选物体;根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体。

根据本公开的另一个方面的实施例,提供了一种堆叠物体的识别设备,包括:图像获取部件,配置为获取堆叠物体的深度图;位置确定部件,配置为根据所述深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数;分割部件,配置为针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体;融合部件,配置为对K个所述物体分割的结果中的候选物体进行融合,以得到融合后的候选物体;识别部件,配置为根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体。

根据本公开的又一个方面的实施例,提供了一种堆叠物体的机器分拣系统,包括:处理器;存储器;存储在所述存储器中的计算机程序指令,在所述计算机程序指令被所述处理器运行时执行以下步骤:获取堆叠物体的深度图;根据所述深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数;针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体;对K个所述物体分割的结果中的候选物体进行融合,以得到融合后的候选物体;根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体;和机械臂,用于抓取识别出的顶部物体层中包含的物体。

根据本公开的上述方面的识别堆叠物体的方法、装置和机器分拣系统能够实现非规则粘连物体的有效分割,准确地识别出位于堆叠物体顶层的多个物体,大大提高从杂乱堆叠物体中识别并抓取单个物体的效率。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1(a)示出了多个物体的示例堆叠情形;图1(b)示出了对于采用第一阈值提取出的堆叠物体中的顶部物体层图像进行分割后的示例结果;图1(c)示出了对于采用第二阈值提取出的堆叠物体中的顶部物体层图像进行分割后的示例结果;图1(d)示出了对图1(b)和图1(c)的分割结果进行融合并进行物体识别后的示例结果。

图2示出了根据本公开实施例的堆叠物体的识别方法的流程图。

图3(a)-(c)示出了根据本公开实施例进行候选物体融合的一个非限定性的具体示例。

图4(a)例示了堆叠物体的深度图。

图4(b)例示了采用第一分割位置从图4(a)所示的深度图中提取的第一顶部物体层深度图。

图4(c)例示了针对4(b)所示的第一顶部物体层深度图进行物体分割后得到的顶部物体层中的候选物体。

图4(d)例示了采用第二分割位置从图4(a)所示的深度图中提取的第二顶部物体层深度图。

图4(e)例示了针对4(d)所示的第二顶部物体层深度图进行物体分割后得到的顶部物体层中的候选物体。

图4(f)示出了通过对图4(c)和4(e)所示的分割得到的候选顶层物体进行融合处理后识别出顶层物体。

图5示出了根据本公开实施例的堆叠物体的识别设备的功能配置框图。

图6示出了可用于实现本公开实施例的堆叠物体识别技术的机器分拣系统的框图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开的一部分实施例, 而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

首先对根据本公开实施例的堆叠物体的识别技术的基本思想进行简单介绍。如前所述,采用单一的顶部物体层阈值来获得最顶层的图像在处理物体之间的粘连问题时往往效果不佳。因此,在本公开实施例中,将采用多个顶部物体层阈值提取出多个顶部物体层图像,并对提取出的顶部物体层图像分别进行各自的物体分割,然后融合各个物体分割结果以基于多个不同的顶部物体层图像的相关性去除顶层物体分割结果中存在的局部粘连。例如,图1(a)-1(c)示意性地示出了利用该基本思想进行物体识别的示例情形。如图1(a)所示,假设6个小球堆叠在一起形成3层,为了使机械臂取得最顶层的小球,采用例如2个用于顶层小球分层的深度阈值“A”和“B”来提取顶部物体层图像。图1(b)是对于采用阈值A提取出的顶部物体层图像进行分割后的结果,图1(c)是对于采用阈值B提取出的顶部物体层图像进行分割后的结果。图1(b)和1(c)中相同图案(深色椭圆形)的部分代表它们是一个连通整体,不同图案的部分代表不同的物体。如果按照合并相同部分的方式来融合图1(b)和图1(c)的分割结果,则能够如图1(d)所示成功的去除粘连,从而将顶层的小球与其它部分分割开。

炸鸡块在食品自动化机械配送线上是配送最多的食品之一。炸鸡块是典型的非规则物体,并且多个炸鸡块堆放在一起时,由于色彩相近、形状不规则,在视觉上易形成粘连不易区分状态。下文中将以炸鸡块为例对根据本公开的实施例的堆叠物体的识别技术进行详细的描述。

图2示出了根据本公开实施例的堆叠物体的识别方法的流程图。

如图2所示,在步骤S210,获取堆叠物体的深度图。

在本实施例中,所述深度图是从堆叠物体的顶部拍摄得到的深度图。在该步骤中,可以通过任何方式获取堆叠物体的该深度图。例如,可以从外部输入由外部设备拍摄得到的深度图,也可以通过机器分拣系统中配备的立体相机自行拍摄得到深度图。

在步骤S220,根据所述深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数。

在本实施例中,K个分割位置的深度值依次递增,并且其中的第一分割 位置的深度值L1最小。可以通过各种适当的方式来确定该第一分割位置的深度值L1。例如,可以确定堆叠物体中单个物体的平均高度(该平均高度是预先获知的),并基于深度图中堆叠物体的最高点与该平均高度来确定第一分割位置的深度值L1。具体的,可以将深度图中堆叠物体的最高点的深度值(即深度图中的最小深度值)加上单个物体的平均高度后获得的深度值作为第一分割位置的深度值L1。可选的,可以对通过该方式获得的第一分割位置进行进一步的修正。例如,考虑到物体分层位置通常位于深度直方图中的波谷点的位置,可以生成深度图的深度直方图,并在生成的深度直方图中,获得通过上述方式获得的第一分割位置附近预定范围内的波谷点的深度值,作为修正后的第一分割位置的深度值L1’。具体的,可通过如下求最大化对比算子的表达式(1)来进行所述修正。

其中hk是深度直方图第k个位置的深度统计值,n和a是预先确定的窗口半径。通过公式(1)可在[L1-a,L1+a]这个范围内确定深度图直方图上的一个波谷点作为修正值L1’,这个波谷点具有2侧最大化对比差。可将修正值L1’作为第一分割位置的深度值。

在确定第一分割位置后,可以任意确定其余K-1个分割位置,只要满足L1<L2…<Lk,即K个分割位置的深度值依次递增即可。简单地,可令Li=L1+a×(i-1)×Oh,其中Oh是单个物体平均高度,a是大于0小于1的任意常量。

在确定堆叠物体的顶部物体层的K个分割位置后,可以根据该K个分割位置从深度图中提取K个顶部物体层深度图。更明确的说,对于每个确定的分割位置,可以通过保留深度图中深度值小于等于该分割位置的深度值的像素、并将深度图中深度值大于该分割位置的深度值的像素置为零的分层操作,从所述深度图中提取出一个与该深度图具有相同尺寸的顶部物体层深度图。

在步骤S230,针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体。

能够理解,通过步骤S220中的上述分层操作,在每个顶部物体层深度图中都仅包含顶层物体,从而堆叠物体的分割识别问题转化成了平铺粘连物体的分割识别问题。本领域中已有许多可用于平铺粘连物体的分割识别的方法, 此处可以采用任何适当的方法针对K个顶部物体层深度图分别进行物体分割。在本公开的实施例中,为了确保针对K个顶部物体层深度图的分割结果之间具有良好的相关性,在针对K个顶部物体层深度图进行各自的物体分割时采用相同的物体分割方法。所谓采用相同的物体分割方法是指在针对K个顶部物体层深度图进行分割操作时,采用相同的分割算法、分割参数、相同的预处理步骤(如果有的话)。另一方面,所谓针对顶部物体层深度图进行物体分割并不意味着必须将该顶部物体层深度图作为处理对象来进行物体分割,而是也可以将与该顶部物体层深度图对应的灰度(彩色)图作为处理对象来进行物体分割,只不过为了确保上述的相关性,在针对K个顶部物体层深度图进行各自的物体分割时应以来自于相同的图像源的K个顶部物体层图像(即或者是所述K个顶部物体层深度图,或者是分别与该K个顶部物体层深度图对应的、从堆叠物体的灰度(彩色)图提取的K个顶部物体层灰度(彩色)图)作为处理对象来进行分割。

在下文中,仅仅是为了说明的完整,对本实施例中使用的针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体的示例方法进行简单的描述。在该示例方法中,对于每个顶部物体层深度图都采用分水岭算法来进行物体的分割识别。分水岭算法是一种常用的基于区域的分割方法,它通过检测像素和区域的相似性,可将一副图像分成多个互不交叠的区域并能大体上保持住物体边界的信息,因此被广泛用于非规则物体的分割。在分水岭算法里,图像被视为地形图,分割是通过找寻聚水盆和分水岭线来实现的。

具体的,在该示例方法中,对于每个所述顶部物体层深度图执行以下处理:(a).生成与该顶部物体层深度图对应的顶部物体层地形图;(b).在所述地形图中标定初始聚类区域;(c).利用分水岭方法在地形图各水位线上对所述初始聚类区域进行增长,直至水位线降至最低水位;(d).确定各个增长后的初始聚类区域是否均只包含一个物体,如果判断结果为是,则将每个增长后的初始聚类区域作为一个识别出的候选物体;否则对于每个包含不止一个物体的增长后的初始聚类区域,将所述地形图中与该增长后的初始聚类区域对应的部分作为待分割地形图,并在该待分割地形图中重新标定至少两个初始聚类区域;(e).对于每个待分割地形图,重复执行处理(c)和(d),直至各个增长后的初始聚类区域均只包含一个物体。

地形图(Topographic image)是图像与视频处理领域中的一种新的数据变换域的图像,其具有“高”和“低”概念的区域,这使得它看起来更像是山地地形的表面。地形图的典型代表包括梯度幅度图、距离图、以及深度图等。此处,采用距离图作为地形图来对本示例方法来进行描述。

距离图以及将灰度图或深度图转换为距离图均是本领域中常用的图像处理手段,此处为便于理解,简单介绍如下。具体的,在处理(a)中,可以首先将顶部物体层深度图转换为二值图像以分割出前景图像(经过分层提取后但凡深度值大于0的部分即认为是前景),随后对该前景图像进行距离变换得到距离图。可选的,也可以利用顶部物体层深度图作为掩码图从堆叠物体的灰度图(彩色图)中提取出与该顶部物体层深度图对应的灰度图(彩色图),随后将该灰度图(彩色图)经过前景分离的二值化操作后再转换为距离图。

一幅二值图像可以认为仅仅包含目标物体和背景两种像素,其中目标物体的像素值为1,背景的像素值为0。距离变换是二值图像处理与操作中的常用手段,其在目标细化、骨架提取、形状插值及匹配、粘连物体的分离等中广泛应用。距离变换的结果不是另一幅二值图像,而是一幅灰度级图像,即距离图,该距离图中每个像素的像素值表示该像素与距其最近的背景像素之间的距离。能够理解,当采用距离图作为地形图时,距离图中各像素的值对应于地形中的高度,代表该点在地形中的海拔。

上述初始聚类区域是一些连通的像素点聚合而成的块状区域,其位于前景图像中,代表着各个待分割物体的种子点。更明确的说,理想情况下,一个初始聚类区域对应于一个待分割物体。在处理(b)中,可以利用预定的阈值对所述地形图进行二值化来标定出初始聚类区域,其中所述预定的阈值可以根据待分割物体的形状、大小等先验知识来确定,以尽可能使得利用该预定的阈值恰好标定出所有待分割的物体。

在处理(c)中,采用分水岭方法,模拟水位从高处下降至最低水位,并在水位下降过程中进行区域增长处理。分水岭方法对噪音敏感容易导致过分割,针对这一问题,在该处理(c)中,针对在处理(a)中生成的地形图,在各水位线上只对已经标定出的初始聚类区域进行增长,而不对水位下降过程中新出现的、除了初始聚类区域之外的其他孤立区域进行增长。这样,在整个增长过程中不会引入新的区域,最终增长得到的区域(对应于分割出的物体)的数目就是最初标定的初始聚类区域的数目。而由于初始聚类区域的数目是可控的, 因此分割的结果也是可控的,从而能够避免过分割的产生。而当水位线降至最低水位时,各个增长得到的区域就构成了对顶层物体的一个分割结果。

上述分割结果依赖于初始聚类区域的标定,因此如果初始聚类区域标定不准确,则会影响物体分割结果的正确性。考虑到这一问题,将对于分割结果的正确性进行验证和改进。具体的,在处理(d)中,对于每个增长后的初始聚类区域,根据待分割物体的形状、尺寸等先验知识判断其是否包含不止一个物体,如果判断结果为包含不止一个物体的疑似粘连部分,则将地形图中与该增长后的初始聚类区域对应的部分作为待分割地形图,并在该待分割地形图中重新标定至少两个初始聚类区域。随后,对于每个待分割的地形图,重复执行处理(c)和(d),即重复执行利用分水岭方法在各水位线上对初始聚类区域进行增长直至水位线降至最低水位,以及对于每个增长后的初始聚类区域判断其是否包含不止一个物体,直到各个增长后的初始聚类区域均只包含一个物体为止。能够理解,该重复过程实际是一个迭代分割的过程,对于每个在处理(d)中被确定为包含不止一个物体的区域,都将从初始的地形图中取出对应部分,并作为独立的输入进入到迭代分割中,直到各个增长后的初始聚类区域均只包含一个物体、即所有物体都被分割开为止。

可选的,在通过上述处理将所有的物体都分隔开之后,可以进一步根据待分割物体的形状、大小等先验知识来验证每一个增长后的初始聚类区域是否为候选物体。具体的,可以采用诸如傅里叶描述子的低频系数,结合机器学习方法等常用方法来验证每一个增长后的初始聚类区域是否符合待分割物体的形状、面积大小等先验知识,如果符合则将该增长后的初始聚类区域识别为顶部物体层中的候选物体,否则认为其不是顶部物体层的候选物体。

在以上的描述中,采用距离图作为地形图,这仅仅是一种示例,而并非是对本公开的限制。例如,由于深度图本身也是一种典型的地形图,因此在上述处理(a)中,也可以直接将顶部物体层深度图作为顶部物体层地形图,并且后续的各处理可同样地进行。在步骤S240,对通过步骤S230得到的K个所述物体分割的结果中的候选物体进行融合,以得到融合后的候选物体。

上述采用相同的物体分割方法针对K个顶部物体层深度图进行物体分割的分割结果之间具有良好的相关性。具体来说,对于不同的顶部物体层深度图的物体分割结果只有少量的不同。例如,对于物体A,如果对于根据分割位置Li从深度图中提取的第i个顶部物体层深度图,其对应的分割区域为R, 那么对于根据分割位置L(i+1)从深度图中提取的第i+1个顶部物体层深度图,其对应的分割区域只可能有4种情况,分别是R,R+,R_,或R+。其中,R+表示在区域R的基础上有所增加,意味着别的物体粘连到了R上;R_表示在区域R的基础上有所减少,意味着极有可能(R-(R_))这部分被移除了,或被分割到其它物体上去了;而R+表示在区域R的基础上有增加的部分也有减少的部分。所述物体融合是指将各个分割结果中对应于同一物体的相同区域部分合并,同时保留各个分割结果中的不同区域部分。例如,表达式(2)示出了对于上述的4种情况,将各个分割结果中对应于同一物体的相同区域部分合并的结果:

情况1:Rn R=R(保持不变)

情况2:Rn R+=R(保持不变)

情况3:Rn R_=R_(去除粘连)

情况4:Rn R+=Rn(R+)n(R_)=Rn(R_)=R_(去除粘连)…(2)

可见,不管哪种情况,都可以通过物体融合来去除粘连改进分割的结果,至少不会让结果的粘连情况得到恶化。

在该步骤S240中,将对K个物体分割的结果中的候选物体进行融合,以得到融合后的候选物体。在进行融合时,可以一次性的对全部K个物体分割的结果中的候选物体进行融合;也可以从针对根据分割位置Lk提取的第k个顶部物体层深度图的分割结果(以下简称最底层的分割结果)开始,依次向上逐层进行分割结果的融合,直至针对根据分割位置L1提取的第1个顶部物体层深度图的分割结果(以下简称第一层的分割结果);还可以根据需要每次融合若干层的分割结果、通过多次融合完成候选物体进行融合。在本公开的实施例中,以一次性的对全部K个物体分割的结果中的候选物体进行融合为例进行说明。

作为一种示例的具体实现方式,该步骤中的候选物体融合可以通过以下处理来实现:(i)对于每个所述物体分割的结果,确定其中的每个候选物体的分割边界线;(ii)对K个所述物体分割结果中的所有分割边界线进行并操作;(iii)将通过所述并操作得到的每个封闭且无嵌套的边界线所包围的区域作为一个融合后的候选物体。图3(a)-(c)示出了对于图1(a)所例示的堆叠小球采用上述处理进行顶层小球分割中候选物体融合的一个非限定性的具体示例。为了简便,在图3(a)-3(c)所示的示例中,假设K等于2,即采用2个分 割深度值分割顶部物体层并通过前述处理得到了第一层的物体分割的结果和第二层的物体分割的结果。

具体的,图3(a)示出了第一层的分割结果中的各个候选物体的分割边界线,图3(b)示出了第二层的分割结果中的各个候选物体的分割边界线。图3(c)示出了对图3(a)中所示的分割边界线与图3(b)中所示的分割边界线进行并操作后的结果。可以看到,图3(c)中共有5个封闭且无嵌套的区域,也就是说,通过融合操作得到了5个融合后的候选物体。

作为另一种示例的具体实现方式,该步骤中的候选物体融合还可以通过以下处理来实现:(a)对于每一个物体分割的结果中、包括被识别为候选物体的区域在内的各个分割区域进行标号,其中不同的分割区域分配不同的标号;(b)将每一个物体分割的结果存储在一个标号矩阵中,该标号矩阵的行数和列数分别为与该物体分割的结果对应的顶部物体层深度图的高和宽,该标号矩阵中的每个元素的值为该顶部物体层深度图中对应位置处的像素所属于的分割区域的标号;(c)按照映射关系Combinei=f(E1i,E2i,…EKi)对K个所述标号矩阵进行融合,其中E1i,E2i,…EKi分别是K个标号矩阵中位置i处的元素的值,Combinei是融合后的标号矩阵中该位置i处的元素的值,f是映射函数,并且该映射函数满足:当且仅当E1a=E1b,E2a=E2b,…且EKa=EKb时,f(E1a,E2a,…EKa)=f(E1b,E2b,…EKb);(d)确定与融合后的标号矩阵对应的融合后的分割结果,由此得到融合后的候选物体。

通过步骤S230中的处理,针对每一个顶部物体层深度图,获得一个物体分割结果,该分割结果中各个增长后的初始聚类区域代表各个分割出来的物体,其他区域代表背景。在处理(a)中对各个所述区域进行标号,并且不同的区域分配不同的标号。通常,分配的标号为从1开始的连续自然数。

映射关系Combinei=f(E1i,E2i,…EKi)中的映射函数f可以采用任何适当的映射形式,只要其满足处理(c)中列出的条件即可。例如,为了简便以K等于2(即采用2个分割深度值分割顶部物体层)为例,作为一个示例,该映射函数f的一种可能的实现为:Combinei=E1i*N+E2i,其中Combinei是融合后的标号矩阵中位置i处的元素的值,E1i和E2i分别是第一个标号矩阵和第二个标号矩阵中位置i处的元素的值,N是比第二个标号矩阵所存储的物体分割结果中的分割区域的数目大的任意整数。作为另一个示例,该映射函数f的另一种实现方式是查找表形式。具体的,对元素对(E1i,E2i)建立查找表f, 查找表f每个元素对所对应的元素取值从0开始按自然数增长,查找表f中只有f(0,0)对应于0,查找表f中的最大取值代表融合后的标号矩阵中的最大标号。

融合后的标号矩阵同样对应于一种分割结果,即融合后的分割结果。因此,在得到融合后的标号矩阵后,在操作(d)中可以确定对K个物体分割的结果中的候选物体进行融合操作得到的融合后的候选物体。

在步骤S250,根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体。

在该步骤中,可以根据预先确定的堆叠物体的大小和/或外形信息来进行识别,以消除诸如不完整的候选物体,最终保留正确的物体,即识别出顶部物体层中包含的物体。在进行该识别时,可以例如采用傅里叶描述子低频系数来表示物体的近似外轮廓、运用机器学习等方法来确定各个融合后的候选物体是否是有效的物体,这些均是本领域中的常用技术手段,此处不再详细描述。

以上已经参考附图描述了根据本公开实施例的堆叠物体的识别方法。为了便于理解,下面将参考图4(a)-(f)结合非限定性的具体示例,对根据本公开实施例的堆叠物体的识别方法的示例实现进行描述。图4(a)-3(f)例示了根据本公开实施例的堆叠物体的识别的一个示例情形。

图4(a)例示了获取到的堆叠物体(煎炸鸡块)的深度图。图4(b)和4(d)分别示出了采用第一分割位置L1从该深度图中提取的第一顶部物体层深度图和采用第二分割位置L2从该深度图中提取的第二顶部物体层深度图。图4(c)例示了针对第一顶部物体层深度图4(b)进行物体分割后得到的顶部物体层中的候选物体。可以看到,在图4(c)所示的物体分割结果中,只有一个区域标注为候选顶层鸡块,即识别出一个候选顶层鸡块,图4(b)的上部突出的孤立部分实际上是属于下一层鸡块的,其在图4(c)中并未被识别为候选顶层鸡块。图4(e)例示了针对第二顶部物体层深度图4(d)进行物体分割后得到的顶部物体层中的候选物体。可以看到,在图4(e)中用3种图案标注出了3个区域,即识别出了三个候选顶层鸡块。图4(f)示出了通过对图4(c)和4(e)所示的分割得到的候选顶层鸡块进行融合处理后识别出顶层鸡块。对比图4(c)、4(e)和图4(f)可以看出,通过融合处理,4(c)、4(e)中所示的带有粘连的分割结果中的粘连被孤立出来,并随后通过识别处理去除掉了,因此最终正确的识别出了 顶层鸡块。

以上已经结合附图详细描述了根据本公开实施例的堆叠物体的识别方法。在该方法中,通过采用多个阈值来获取堆叠物体最顶层的图像、针对每个最顶层的图像进行各自的物体分割、以及对多个物体分割结果进行融合,有效地解决了物体粘连问题,从而能够实现非规则粘连物体的有效分割,准确地识别出位于堆叠物体顶层的多个物体,大大提高机器系统从杂乱堆叠物体中识别并抓取物体的效率。

需要说明的是,尽管在以上的描述中,特别针对非规则粘连物体描述了根据本公开实施例的堆叠物体的识别方法,但这并非是对本发明的限制。根据本公开实施例的上述堆叠物体的识别方法对于规则物体或非粘连物体的分割也同样适用。

下面参考图5描述根据本公开实施例的堆叠物体的识别设备。图5示出了根据本公开实施例的堆叠物体的识别设备的功能配置框图。如图5所示,堆叠物体的识别设备500可以包括:图像获取部件510,位置确定部件520,分割部件530,融合部件540,以及识别部件550。所述各部件的具体功能和操作与上文中针对图1-4描述的基本相同,因此为了避免重复,在下文中仅对所述设备进行简要的描述,而省略对相同细节的详细描述。

图像获取部件510配置为获取堆叠物体的深度图。在本实施例中,深度图是从堆叠物体的顶部拍摄得到的深度图。图像获取部件510可以通过任何方式获取堆叠物体的该深度图。

位置确定部件520配置为根据深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数。

在本实施例中,K个分割位置的深度值依次递增,并且其中的第一分割位置的深度值L1最小。位置确定部件520可以通过各种适当的方式来确定该第一分割位置的深度值L1。例如,可以确定堆叠物体中单个物体的平均高度,并基于深度图中堆叠物体的最高点与该平均高度来确定第一分割位置的深度值L1。具体的,可以将深度图中堆叠物体的最高点的深度值(即深度图中的最小深度值)加上单个物体的平均高度后获得的深度值作为第一分割位置的深度值L1。可选的,可以对通过该方式获得的第一分割位置进行进一步的修正。例如,可以生成深度图的深度直方图,并在生成的深度直方图中,获得通过 上述方式获得的第一分割位置附近预定范围内的波谷点的深度值,作为修正后的第一分割位置的深度值L1’。在确定第一分割位置后,可以任意确定其余K-1个分割位置,只要满足L1<L2…<Lk,即K个分割位置的深度值依次递增即可。

在确定堆叠物体的顶部物体层的K个分割位置后,位置确定部件520可以根据该K个分割位置从深度图中提取K个顶部物体层深度图,其中每个所述顶部物体深度图与所述深度图具有相同的尺寸

分割部件530配置为针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体。能够理解,通过位置确定部件520的上述分层操作,在每个顶部物体层深度图中都仅包含顶层物体,从而堆叠物体的分割识别问题转化成了平铺粘连物体的分割识别问题。为了确保针对K个顶部物体层深度图的分割结果之间具有良好的相关性,在针对K个顶部物体层深度图进行各自的物体分割时,分割部件530采用相同的物体分割方法。所谓采用相同的物体分割方法是指在针对K个顶部物体层深度图进行分割操作时,采用相同的分割算法、分割参数、相同的预处理步骤(如果有的话)。另一方面,所谓针对顶部物体层深度图进行物体分割并不意味着必须将该顶部物体层深度图作为处理对象来进行物体分割,而是也可以将与该顶部物体层深度图对应的灰度(彩色)图作为处理对象来进行物体分割,只不过为了确保上述的相关性,在针对K个顶部物体层深度图进行各自的物体分割时,分割部件530应以来自于相同的图像源的K个顶部物体层图像作为处理对象来进行分割。本领域中已有许多可用于平铺粘连物体的分割识别的方法,此处分割部件530可以采用任何适当的方法针对K个顶部物体层深度图分别进行物体分割。例如,分割部件530可以对于每个顶部物体层深度图都采用分水岭算法来进行物体的分割和识别。

融合部件540配置为对K个所述物体分割的结果中的候选物体进行融合,以得到融合后的候选物体。所谓物体融合是指将各个分割结果中对应于同一物体的相同区域部分合并,同时保留各个分割结果中的不同区域部分。分割部件530采用相同的物体分割方法针对K个顶部物体层深度图进行物体分割的分割结果之间具有良好的相关性,具体来说,对于不同的顶部物体层深度图的物体分割结果只有少量的不同。融合部件540可以利用该相关性通过物体融合去除粘连改进分割的结果,至少不会让结果的粘连情况恶化。

在进行融合时,融合部件540可以一次性的对全部K个物体分割的结果中的候选物体进行融合;也可以从最底层的分割结果开始,依次向上逐层进行分割结果的融合,直至第一层的分割结果;还可以根据需要每次融合若干层的分割结果、通过多次融合完成候选物体进行融合。在本公开的实施例中,以一次性的对全部K个物体分割的结果中的候选物体进行融合为例进行说明。

作为一种示例的具体实现方式,融合部件540可以包括:标号分配单元,配置为对于每一个物体分割的结果中、包括被识别为候选物体的区域在内的各个分割区域进行标号,其中不同的分割区域分配不同的标号;矩阵产生部件,配置为将每一个物体分割的结果存储在一个标号矩阵中,该标号矩阵的行数和列数分别为与该物体分割的结果对应的顶部物体层深度图的高和宽,该标号矩阵中的每个元素的值为该顶部物体层深度图中对应位置处的像素所属于的分割区域的标号;矩阵融合部件,配置为按照映射关系Combinei=f(E1i,E2i,…EKi)对K个所述标号矩阵进行融合,其中E1i,E2i,…EKi分别是K个标号矩阵中位置i处的元素的值,Combinei是融合后的标号矩阵中该位置i处的元素的值,f是映射函数,并且该映射函数满足:当且仅当E1a=E1b,E2a=E2b,…且EKa=EKb时,f(E1a,E2a,…EKa)=f(E1b,E2b,…EKb);物体融合部件,配置为确定与融合后的标号矩阵对应的融合后的分割结果,由此得到融合后的候选物体。

识别部件550配置为根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体。识别部件550可以根据预先确定的堆叠物体的大小和/或外形信息来进行识别,以消除诸如不完整的候选物体,最终保留正确的物体,即识别出顶部物体层中包含的物体。

以上已经参考图5描述了根据本公开实施例的堆叠物体的识别设备500。该堆叠物体的识别设备500通过采用多个阈值来获取堆叠物体最顶层的图像、针对每个最顶层的图像进行各自的物体分割、以及对多个物体分割结果进行融合,有效地解决了物体粘连问题,从而能够实现非规则粘连物体的有效分割,准确地识别出位于堆叠物体顶层的多个物体,大大提高机器系统从杂乱堆叠物体中识别并抓取物体的效率。

下面,参照图6来描述可用于实现本公开实施例的堆叠物体识别技术的机器分拣系统的框图。

如图6所示,机器分拣系统600包括一个或多个处理器602、存储装置604、摄像头606、输出装置608、机械臂610,这些组件通过总线系统612和/或其它形式的连接机构(未示出)互连。应当注意,图6所示的机器分拣系统600的组件和结构只是示例性的,而非限制性的,根据需要,机器分拣系统600也可以具有其他组件和结构。

处理器602可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制计算设备600中的其它组件以执行期望的功能。

存储装置604可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器602可以运行所述程序指令,以实现上文所述的本公开的实施例的功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如上述堆叠物体的深度图、K个分割位置、K个顶部物体层深度图、针对每个顶部物体层深度图的物体分割结果、融合后的候选物体、待堆叠物体中单个物体的尺寸和形状、深度图的深度直方图等等。

摄像头606用于拍摄堆叠物体的深度图,并且将其存储在存储装置604中以供其它组件使用。

输出装置608可以向外部输出各种信息,例如识别出来顶部物体层中包含的各个物体的位置形状信息,并且可以包括有线/无线网卡、显示器、投影仪、电视等各种显示设备。

机械臂610可以根据输出装置608输出的各个物体的位置信息,从相应位置抓取各个物体。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤,某些步骤可以并行、彼此独立或按照其他适当的顺序执行。另外,诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。

还需要指出的是,在本公开的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1