一种基于深度图像的立方物体识别方法技术

技术编号:23191454 阅读:59 留言:0更新日期:2020-01-24 16:27
本发明专利技术提出一种基于深度图像的立方物体识别方法,包括:S1、获取目标的深度图像及其X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点进行分类,获取边缘点图;S3、根据上述结果获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对,获取四边形;S7、确定立方物体的上表面和整体轮廓;S8、获取每个上表面四边形对应的左右垂直面,实现立方物体定位。本发明专利技术应用在物流行业中,解决对立方物体状包裹等目标的体积测量局限和耗时的问题,提高包裹分拣效率。

A method of cube recognition based on depth image

【技术实现步骤摘要】
一种基于深度图像的立方物体识别方法
本专利技术涉及深度图像的目标识别领域,特别涉及一种基于深度图像的立方物体识别方法。
技术介绍
深度图像也被称为距离影像,是指将从图像采集器到场景中各点的距离作为像素值的图像,它直接反映了目标可见表面的几何形状,因此,基于深度图像的应用比较广泛,尤其是在物流行业。目前,国内物流、港口航运、机场航运的吞吐量非常大,且呈递增趋势,各个分拣中心对包裹、货物、货柜等体积的测量比较局限和耗时,降低了运输效率。现有技术中,包裹多为立方物体状,对包裹的体积测量主要通过比对传输带装货前和装货后的深度图像,提取包裹所在的矩形区域获知包裹的长宽,利用差异特征获取包裹的高度,计算包裹的体积,这种方式局限于特定场景,应用范围较小,无法满足实际物流行业中包裹密集堆积的需求;另外,现有技术大部分没有对长方体状的平面进行区分,容易造成长方体状的物体长宽高的误判,导致体积计算误差较大;而且现有技术中大部分要求相机垂直拍摄物体,对相机拍摄角度限制较大,基本上只能检测单个物体,多个物体检测误差较大,同时对于立方物体的多个面难以准确检测,且受外界环境噪声干扰,影响计算精度。目前对大型的货物、货柜的体积测量也基本采用手工测量。
技术实现思路
为解决现有技术中对立方物体状包裹、货物、货柜等目标的体积测量局限和耗时的问题,本专利技术提出一种基于深度图像的立方物体识别方法。本专利技术的技术方案是这样实现的:一种基于深度图像的立方物体识别方法,包括:S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点分为水平面、左垂面和右垂面三类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对,获取四边形;S7、根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓;S8、根据左垂面的分割图像和右垂面的分割图像获取每个上表面四边形对应的左右垂直面,实现立方物体定位。优选的是,根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面的分割图像,设定像素点的初始值为0;从下到上遍历水平面的二值图中第一列的像素点,根据深度图获取每个像素点的可信度值,给定可信度阈值,若该像素点的可信度值小于给定的可信度阈值,则该像素点的状态为未知,处理下一像素点;否则,若对应的像素点值为255,则该像素点的状态为水平,若对应的像素点为0,则该像素点的状态为垂直,若像素点值为0的像素点的数目大于给定的高度阈值,则将其后出现的像素点值为255的像素点对应在上表面的分割图像上并将其像素值更新为255,记录每一次像素点状态发生转变的像素点所在的行数,遍历完第一列所有行的像素点后,将从记录的行数起到第1行的第一列所有像素点对应在上表面的分割图像上的位置的像素值置为0,同样的方式遍历完平行面图像的所有行列,获取初始的上表面的分割图像,对获取的初始的上表面的分割图像进行修补,更新上表面的分割图像;将边缘点图中的边缘点分别一一对应在更新后的上表面的分割图像、左垂面的二值图和右垂面的二值图中,将更新后的上表面的分割图像中水平状态的非边缘点的像素点值更新为0,将左垂面的二值图中非边缘点的像素值为255的像素点值更新为0,将右垂面的二值图中非边缘点的像素值为255的像素点值更新为0,获取最终的上表面的分割图像、左垂面的二值图和右垂面的二值图,将左垂面的二值图和右垂面的二值图分别记作左垂面的分割图像和右垂面的分割图像。优选的是,获取深度图像的边缘点图的具体方式为:计算分类后的垂直面的所有像素点的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;得到边缘点图。优选的是,对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合的具体方式为:对边缘点图进行边缘线检测,获取所有边缘线并按照长到短排序成边缘线集合,定义一个空的共线边缘线组集合,共线边缘线组集合包含多组边缘线,每组内的边缘线是共线的,两组间边缘线是不共线的,首先将最长的边缘线加入到共线边缘线组集合的一组中,对于边缘线集合中的每一条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边缘线与共线边缘线组集合的所有组的最长边缘本文档来自技高网...

【技术保护点】
1.一种基于深度图像的立方物体识别方法,其特征在于,包括:/nS1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点分为水平面、左垂面和右垂面三类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对,获取四边形;S7、根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓;S8、根据左垂面的分割图像和右垂面的分割图像获取每个上表面四边形对应的左右垂直面,实现立方物体定位。/n

【技术特征摘要】
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、对角点集合中的所有角点进行两两配对,若配对的两个角点的坐标不同,则继续判断两个角点之间是否共享一个臂,将一个角点的两臂标记为a...

【专利技术属性】
技术研发人员:任大明汪辉
申请(专利权)人:南京鑫和汇通电子科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1