1.一种堆叠物体的识别方法,包括:
获取堆叠物体的深度图;
根据所述深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数;
针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体;
对K个所述物体分割的结果中的候选物体进行融合,以得到融合后的候选物体;
根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体。
2.如权利要求1所述的堆叠物体的识别方法,其中所述K个分割位置的深度值依次递增,并且其中第一分割位置的深度值最小。
3.如权利要求2所述的堆叠物体的识别方法,其中根据所述深度图确定堆叠物体的顶部物体层的K个分割位置包括:
确定堆叠物体中单个物体的平均高度;
基于所述深度图中堆叠物体的最高点与该平均高度,确定第一分割位置的深度值。
4.如权利要求3所述的堆叠物体的识别方法,其中基于所述深度图中堆叠物体的最高点与该平均高度确定第一分割位置的深度值包括:
将所述深度图中堆叠物体的最高点的深度值加上该平均高度后的深度值,作为参考位置;
生成所述深度图的深度直方图;以及
在所述深度直方图中,获得所述参考位置附近预定范围内的波谷点的深度值,作为第一分割位置的深度值。
5.如权利要求1所述的堆叠物体的识别方法,其中针对K个顶部物体层深度图分别进行物体分割以识别顶部物体层中的候选物体包括:
采用相同的物体分割方法,针对K个顶部物体层深度图分别进行物体分割以识别顶部物体层中的候选物体。
6.如权利要求5所述的堆叠物体的识别方法,其中针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体进一步包括对于每个所述顶部物体层深度图执行以下步骤:
a.生成与该顶部物体层深度图对应的顶部物体层地形图;
b.在所述地形图中标定初始聚类区域;
c.利用分水岭方法在地形图各水位线上对所述初始聚类区域进行增长,直至水位线降至最低水位;
d.确定各个增长后的初始聚类区域是否均只包含一个物体,如果判断结果为是,则将每个增长后的初始聚类区域作为一个识别出的候选物体;否则对于每个包含不止一个物体的增长后的初始聚类区域,将所述地形图中与该增长后的初始聚类区域对应的部分作为待分割地形图,并在该待分割地形图中重新标定至少两个初始聚类区域;
e.对于每个待分割地形图,重复执行步骤c和d,直至各个增长后的初始聚类区域均只包含一个物体。
7.如权利要求1所述的堆叠物体的识别方法,其中对K个所述物体分割的结果中的候选物体进行融合以得到融合后的候选物体包括:
将K个物体分割的结果中对应于同一候选物体的相同区域部分合并,同时保留K个物体分割的结果中不同的区域部分。
8.如权利要求1所述的堆叠物体的识别方法,其中对K个所述物体分割的结果中的候选物体进行融合以得到融合后的候选物体包括:
对于每个所述物体分割的结果,确定其中的每个候选物体的分割边界线;
对K个所述物体分割结果中的所有分割边界线进行并操作;
将通过所述并操作得到的每个封闭且无嵌套的边界线所包围的区域作为一个融合后的候选物体。
9.如权利要求1所述的堆叠物体的识别方法,其中对K个所述物体分割的结果中的候选物体进行融合以得到融合后的候选物体包括:
对于每一个物体分割的结果中、包括被识别为候选物体的区域在内的各个分割区域进行标号,其中不同的分割区域分配不同的标号;
将每一个物体分割的结果存储在一个标号矩阵中,该标号矩阵的行数和列数分别为与该物体分割的结果对应的顶部物体层深度图的高和宽,该标号矩阵中的每个元素的值为该顶部物体层深度图中对应位置处的像素所属于的 分割区域的标号;
按照映射关系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);
确定与融合后的标号矩阵对应的融合后的分割结果,由此得到融合后的候选物体。
10.一种堆叠物体的识别设备,包括:
图像获取部件,配置为获取堆叠物体的深度图;
位置确定部件,配置为根据所述深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数;
分割部件,配置为针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体;
融合部件,配置为对K个所述物体分割的结果中的候选物体进行融合,以得到融合后的候选物体;
识别部件,配置为根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体。
11.一种堆叠物体的机器分拣系统,包括:
处理器;
存储器;
存储在所述存储器中的计算机程序指令,在所述计算机程序指令被所述处理器运行时执行以下步骤:
获取堆叠物体的深度图;
根据所述深度图确定堆叠物体的顶部物体层的K个分割位置,并根据该K个分割位置从所述深度图中提取K个顶部物体层深度图,其中K为大于等于2的整数;
针对K个顶部物体层深度图分别进行物体分割以从所述顶部物体层中分割出候选物体;
对K个所述物体分割的结果中的候选物体进行融合,以得到融合后 的候选物体;
根据预先确定的堆叠物体的大小和/或外形从所述融合后的候选物体中识别出顶部物体层中包含的物体;和
机械臂,用于抓取识别出的顶部物体层中包含的物体。