一种基于深度图像的立方物体识别方法与流程

文档序号:19787958发布日期:2020-01-24 13:51阅读:来源:国知局

技术特征:

1.一种基于深度图像的立方物体识别方法,其特征在于,包括:

s1、获取目标的深度图像,根据深度图像分别获取与其大小相同的x方向和y方向的梯度图;s2、根据梯度图对其中的像素点分为水平面、左垂面和右垂面三类,获取深度图像的边缘点图;s3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;s4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;s5、根据共线边缘线组集合的每组最长的边缘线提取角点;s6、对提取的角点进行配对,获取四边形;s7、根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓;s8、根据左垂面的分割图像和右垂面的分割图像获取每个上表面四边形对应的左右垂直面,实现立方物体定位。

2.根据权利要求1所述的基于深度图像的立方物体识别方法,其特征在于,根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:

根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面的分割图像,设定像素点的初始值为0;

从下到上遍历水平面的二值图中第一列的像素点,根据深度图获取每个像素点的可信度值,给定可信度阈值,若该像素点的可信度值小于给定的可信度阈值,则该像素点的状态为未知,处理下一像素点;否则,若对应的像素点值为255,则该像素点的状态为水平,若对应的像素点为0,则该像素点的状态为垂直,若像素点值为0的像素点的数目大于给定的高度阈值,则将其后出现的像素点值为255的像素点对应在上表面的分割图像上并将其像素值更新为255,记录每一次像素点状态发生转变的像素点所在的行数,遍历完第一列所有行的像素点后,将从记录的行数起到第1行的第一列所有像素点对应在上表面的分割图像上的位置的像素值置为0,同样的方式遍历完平行面图像的所有行列,获取初始的上表面的分割图像,对获取的初始的上表面的分割图像进行修补,更新上表面的分割图像;

将边缘点图中的边缘点分别一一对应在更新后的上表面的分割图像、左垂面的二值图和右垂面的二值图中,将更新后的上表面的分割图像中水平状态的非边缘点的像素点值更新为0,将左垂面的二值图中非边缘点的像素值为255的像素点值更新为0,将右垂面的二值图中非边缘点的像素值为255的像素点值更新为0,获取最终的上表面的分割图像、左垂面的二值图和右垂面的二值图,将左垂面的二值图和右垂面的二值图分别记作左垂面的分割图像和右垂面的分割图像。

3.根据权利要求1所述的基于深度图像的立方物体识别方法,其特征在于,获取深度图像的边缘点图的具体方式为:

计算分类后的垂直面的所有像素点的y方向的梯度平均值yp、水平面的所有像素点的y方向的梯度平均值yq、左垂面的所有像素点的x方向的梯度平均值xp以及右垂面的所有像素点的x方向的梯度平均值xq;根据yp、yq、xp、xq设定y方向正阈值、y方向负阈值、x方向正阈值、x方向负阈值;定义一个与梯度图大小相同的图像,该图像中的像素点的初始值设定为0;遍历x方向的梯度图和y方向的梯度图的所有像素点,对于每一个像素点,如果其y方向的梯度值的绝对值大于x方向的梯度值的绝对值,且小于y方向负阈值或大于等于y方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255;如果其y方向的梯度值的绝对值小于x方向的梯度值的绝对值,且其x方向的梯度值的绝对值小于等于x方向负阈值或大于等于x方向正阈值,该像素点为边缘点,将该像素点对应到定义的图像中并将其像素值更新为255;得到边缘点图。

4.根据权利要求3所述的基于深度图像的立方物体识别方法,其特征在于,

对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合的具体方式为:

对边缘点图进行边缘线检测,获取所有边缘线并按照长到短排序成边缘线集合,定义一个空的共线边缘线组集合,共线边缘线组集合包含多组边缘线,每组内的边缘线是共线的,两组间边缘线是不共线的,首先将最长的边缘线加入到共线边缘线组集合的一组中,对于边缘线集合中的每一条a边缘线,判断其与共线边缘线组集合的每组最长的b边缘线是否共线,判断条件依次如下:

c1、计算a边缘线与b边缘线的角度差,判断该角度差是否小于等于给定的角度差阈值e;

c2、若角度差小于等于角度差阈值e,计算b边缘线的起点到a边缘线的起点和终点的距离t1和t2,b边缘线的终点到a边缘线的起点和终点的距离t3和t4,给定点间距离阈值g,判断距离t1、t2、t3和t4中的最小距离是否小于等于点间距离阈值g;

c3、若min(min(t1,t2),min(t3,t4))≤g,计算a边缘线的长度l和b边缘线的长度h,判断距离t1、t2、t3和t4中的最大距离是否小于g+h+l;

c4、若max(max(t1,t2),max(t3,t4))<(g+h+l),计算b边缘线的起点和终点到a边缘线的距离s1和s2,a边缘线的起点和终点到b边缘线的距离s3和s4,给定距离阈值j,若t1和t2的最大距离小于l+g,判断s1是否小于等于j;若距离t3和t4的最大距离小于l+g,判断s2是否小于等于j;若距离t1和t3的最大距离小于l+g,判断s3是否小于等于j;若距离t2和t4的最大距离小于l+g,判断s4是否小于等于j;若任意最大距离均大于等于l+g则直接执行下一步骤;

c5、若满足c4中的条件,则a边缘线和b边缘线共线,将a边缘线加入到共线边缘线组集合的该组中,更新该组的边缘线;

判断过程中,任一个条件不满足,直接处理共线边缘线组集合中的下一组的最长边缘线,直至处理完共线边缘线组集合的所有组,每组边缘线用其最长边缘线表示,如果a边缘线与共线边缘线组集合的所有组的最长边缘线均不共线,则直接将a边缘线加入到共线边缘线组集合的新组中,更新共线边缘线组集合的组数;a边缘线和b边缘线共线后,判断a边缘线和b边缘线是否满足合并条件,若t1≤h、t2≤h、t3≤h且t4≤h,则a边缘线与b边缘线不满足合并条件,否则,将a边缘线和b边缘线合并,更新b边缘线的起点和终点,更新共线边缘线组集合;

与处理a边缘线相同的方式处理边缘线集合中的下一条边缘线,不断更新共线边缘线组集合,共线边缘线组集合中每组的边缘线按照长短排序,获取最终的共线边缘线组集合。

5.根据权利要求4所述的基于深度图像的立方物体识别方法,其特征在于,根据共线边缘线组集合的每组最长的边缘线提取角点的具体方式为:

c1、获取共线边缘线组集合的每组的最长边缘线,记作种子边缘线集合,将种子边缘线集合的所有边缘线按从长到短排序,遍历种子边缘线集合的所有边缘线,从其中最长的c边缘线开始计算其与其余任一条d边缘线的夹角a,a的范围是0到180度,给定弯曲度阈值b,判断min(a,180-a)是否大于b;

c2、若min(a,180-a)>b,计算c边缘线与d边缘线的交点w(wx,wy),判断wx或wy是否未超出图像范围;

c3、若wx或wy未超出图像范围,判断交点w是否是角点,判断交点w是角点的条件为:先计算c边缘线的两个端点到交点w的距离d1和d2,定义最小距离min_d1,如果交点w在c边缘线的两个端点之间,则min_d1=0,否则min_d1=min(d1,d2),若最小距离min_d1不为0或min(d1,d2)小于给定的臂长阈值z1,再计算d边缘线的两个端点到交点w的距离d3和d4,定义最小距离min_d2,如果交点w在d边缘线的两个端点之间,则min_d2=0,否则min_d2=min(d3,d4),若最小距离min_d2不为0或min(d3,d4)小于给定的臂长阈值z2,判断min(d1,d2)和min(d3,d4)是否小于给定的交点半径阈值r;

c4、若满足c3的条件,给定四边形臂间差距阈值v,判断max(min(d1,d2),min(d3,d4))是否小于等于v,若满足则交点w是四边形的角点;

该条件c1到c4中依次判断,任一个条件不满足,则处理下一条边缘线;

将获取的第一个角点添加到角点集合中,对于获取的其余角点,将计算其与角点集合中所有角点的距离li,i为变量,判断与角点集合中的所有角点是否相似,若li<r,并与其余角点不相似,将该角点添加到角点集合中;

该交点w对应两条臂,第一条臂为其与c边缘线的终点的连线,第二条臂为其与d边缘线的终点的连线,c边缘线的终点为c边缘线中d1和d2中较大的对应端点,d边缘线的终点为d边缘线中d3和d4中较大的对应端点;同样的方式处理种子边缘线组集合中的其余任两条边缘线,获取所有的角点,根据种子边缘线集合扩展每个角点的两臂,得到最终的角点集合,实现角点提取。

6.根据权利要求5所述的基于深度图像的立方物体识别方法,其特征在于,对提取的角点配对的具体方式为:

c1、对角点集合中的所有角点进行两两配对,若配对的两个角点的坐标不同,则继续判断两个角点之间是否共享一个臂,将一个角点的两臂标记为arm11和arm12,另一个角点的两臂记为arm21和arm22,先判断arm11和arm21是否为两个角点的同一个臂;

c2、判断arm11和arm21是同一臂的方式为:若两个角点之间的距离大于arm11和arm21的最小值的四分之一,先计算arm11与两个角点连线的角度差的绝对值x1,arm21与两个角点连线的角度差的绝对值x2,x1和x2的取值范围是[0,180],给定角度相似阈值f,若x1和x2均小于角度相似阈值f,给定角点间距离阈值u和长度比例阈值ratio,若arm11和arm21的长度和大于等于两个角点距离的ratio倍,并大于等于两个角点的距离与u的差值,则判定arm11和arm21是同一臂,角点配对成功;

否则,采用同样的方法判断两个角点的其余任两个臂是否是同一臂,若均不是则角点配对失败,否则角点配对成功;

同样的方式对其余的角点两两配对,获取所有配对成功的角点组合,每个角点组合的同一臂为共享臂,另两个臂为打开臂,计算每一个角点组合中两个打开臂与共享臂之间的夹角u1和u2,夹角u1和u2的取值范围是[0,180],将夹角u1或u2小于弯曲度阈值b的角点组合剔除;对剩余的角点组合,判断其两个打开臂是否在共享臂的同一侧,将两个打开臂不在共享臂的同一侧的角点组合剔除,最后根据当前配对的角点组合确定一个四边形;同样的方式处理所有的角点组合,获取所有的四边形。

7.根据权利要求5所述的基于深度图像的立方物体识别方法,其特征在于,根据种子边缘线集合扩展每个角点的两臂的具体方式为:

遍历种子边缘线集合的所有边缘线,对于每个角点,计算其到当前种子边

缘线的距离,如果该距离小于给定的阈值,则判断该种子边缘线是否可以扩展当前角点的两臂,首先判断该种子边缘线是否可以扩展当前角点的臂1,具体方式为:

c1、计算当前角点到该种子边缘线的起点和终点的距离,记作dist1和

dist2,判断当前角点是否在该种子边缘线的两端点之间;

c2、若当前角点在该种子边缘线的两端点之间,将当前角点到该种子边缘

线的起点所在的线段记作m,线段m的起点为当前角点,终点为该种子边缘线的起点,当前角点的臂1所在的线段记作n,线段n的起点为当前角点,计算线段m的角度angle1和线段n的角度angle2,判断angle1和angle2的差的绝对值是否小于给定的角度阈值;

c3、若angle1和angle2的差的绝对值小于给定的角度阈值,则计算线m的终点到当前角点的距离rm,计算线段n的长度rn,判断rm与rn的差值是否小于给定的长度差阈值;

c4、若rm与rn的差值小于给定的长度差阈值,计算线段n的终点

到当前种子边缘线的距离,若该距离小于给定的点到线的距离阈值且dist1大于rn,则当前种子边缘线可以扩展当前角点的臂1,当前角点的扩展后的臂1的终点为该种子边缘线的起点,扩展后的臂1的长度为dist1;

c5、若c2到c4的任一条件不满足,则表明当前种子边缘线不可以扩展

当前角点的臂1,则采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂2,如果可以扩展,扩展后的臂2的终点为该种子边缘线的起点,扩展后的臂2的长度为dist1,如果不能扩展,直接执行下一步骤;

c6、将c2中的线段m的终点更新为当前种子边缘线的终点,线段n更新为当前角点的臂2所在的线段,线段n的起点为当前角点,dist1更新为dist2,采用同样的方法再次判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;

c7、此时,若不满足c1中的条件,判断dist1是否小于等于dist2;

c8、若dist1小于等于dist2,将c2中的线段m的起点更新为当前种子边

缘线的起点,终点更新为当前边缘线的终点,线段n为当前角点的臂1或臂2所在的线段,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展;

c9、若dist1大于dist2,将c2中的线段m的起点更新为当前种子边缘线

的终点,终点更新为当前边缘线的起点,线段n为当前角点的臂1或臂2所在的线段,dist1更新为dist2,采用同样的方法判断当前种子边缘线是否可以扩展当前角点的臂1和臂2,实现当前角点两臂的扩展。

8.根据权利要求6所述的基于深度图像的立方物体识别方法,其特征在于,s7、根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓的具体方式为:

c1、先对获取的四边形进行处理,若进行匹配的四边形的两个臂的终点距离小于给定的距离比例阈值倍,该四边形不符合,处理下一个四边形,获取所有符合条件的四边形,并获取每个四边形的轮廓和外接矩形,根据轮廓坐标点计算其凸包;

c2、根据上表面的分割图像进行轮廓检测,获取所有的轮廓,根据轮廓坐标点计算其凸包,并获取包含每个轮廓的最小的旋转矩形以及包含旋转矩形的外接矩形,计算每个轮廓的面积,判断轮廓的面积是否大于给定的面积阈值;

c3、若轮廓的面积大于面积阈值,将当前轮廓与符合条件的四边形进行匹配,分别计算进行匹配的四边形的两个角点到当前轮廓的凸包的最小距离h1和h2,判断进行匹配的四边形的两个角点是否在进行匹配的四边形的凸包的外部以及h1和h2是否小于等于给定的距离阈值;

c4、若进行匹配的四边形的两个角点在进行匹配的四边形的凸包的外部且h1和h2均小于等于该距离阈值,判断当前轮廓外的旋转矩形的中心点是否在进行匹配的四边形的凸包内部;

c5、若当前轮廓外的旋转矩形的中心点位于进行匹配的四边形的凸包内部,计算其到进行匹配的四边形凸包的最小距离的绝对值,满足该值小于等于旋转矩形的长和宽,且中心点位于进行匹配的四边形的任一个臂的下侧的条件,计算进行匹配的四边形的外接矩形与当前轮廓的外接矩形的重叠面积,若该重叠面积大于给定的比例阈值,则当前轮廓与进行匹配的四边形初步匹配成功,进行匹配的四边形记作初步匹配四边形;

c6、将当前轮廓的旋转矩形的中心点到初步匹配四边形的三个臂的距离进行归一化处理,归一化处理后的值在理论范围内,且h1与h2的和小于等于给定阈值,将该初步匹配四边形记作有效四边形;

c7、判断有效四边形的两个打开臂是否朝下,将两个打开臂朝下的有效四边形记作种子四边形;若获取下一个种子四边形,则计算该种子四边形的两个角点到其轮廓的最小距离之和是否小于上一个种子四边形的两个角点到其轮廓的最小距离之和,若小于则用当前种子四边形替换上一个种子四边形,否则剔除当前种子四边形,继续处理直至获取当前轮廓的最终的种子四边形;

c8、判断当前轮廓的最终的种子四边形是否与有效四边形存在共享角点;

c9、若存在共享角点,判断有效四边形的共享臂和打开臂所在线段与种子四边形的共享臂所在线段是否存在重叠,若存在重叠,判断有效四边形的共享臂和打开臂所在线段与种子四边形的打开臂所在线段的重叠数目是否大于等于1,若满足则获取以种子四边形的三条臂为上表面的边,有效四边形的除重叠臂以外的臂为侧垂面的边的立方物体轮廓,获取所有的立方物体轮廓,记作立方物体轮廓集合;

c10、根据立方物体轮廓的每条边的端点获取立方物体轮廓的所有点坐标,立方物体轮廓以种子四边形为上表面;

c11、遍历立方物体轮廓集合,计算每个立方物体轮廓中心点的y坐标p.y和其上表面的中心点的y坐标t.y,计算每个立方物体轮廓的面积p.area和其上表面的面积t.area,如果t.y>p.y或t.area>p.area,则剔除该立方物体轮廓,获取最终的立方物体轮廓集合。

9.根据权利要求8所述的基于深度图像的立方物体识别方法,其特征在于,根据左垂面的分割图像和右垂面的分割图像获取每个上表面四边形对应的左右垂直面,实现立方物体定位的具体方式为:遍历所有立方物体轮廓集合,根据左垂面的分割图像获取左垂直面所有的轮廓及其对应的旋转矩形和外接矩形,判断旋转矩形的中心点的y坐标是否大于等于上表面四边形中心点的y坐标;若满足前一条件,判断上表面四边形对应的立方物体轮廓面积和外接矩形的重叠面积占立方物体轮廓面积的比例是否大于等于给定的面积比例阈值;若大于等于给定的面积比例阈值,寻找满足上述条件的所有左垂面轮廓中面积最大的轮廓即为当前立方物体的左垂直面轮廓;

根据右垂面的分割图像获取右垂直面所有轮廓及其对应的旋转矩形和外接矩形,对右垂面的分割图像的所有轮廓的处理方式与左垂直面的所有轮廓的处理方式一致,以此获取每个立方物体上表面对应的左垂直面和右垂直面,每组上表面、左垂直面和右垂直面构成一个立方物体,实现立方物体检测。

10.根据权利要求8所述的基于深度图像的立方物体识别方法,其特征在于,c8中判断当前轮廓的最终的种子四边形是否与有效四边形存在共享角点的具体方式为:计算最终的种子四边形的两个角点分别到有效四边形的两个角点的距离,若满足四个距离均大于给定的阈值条件,则表明该种子四边形和有效四边形不存在共享角点,若不满足四个距离均大于给定的阈值条件,则表明该种子四边形和有效四边形存在共享角点。

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