1.一种基于深度图像的立方物体体积测量方法,其特征在于,包括:
S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点分成水平面、左垂面和右垂面三类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对;S7、根据获取的四边形和上表面分割图像确定立方物体的上表面和整体轮廓;S8、根据立方物体的上表面拟合其在三维空间的平面,通过多次重复拟合剔除每个面上的噪声点,获取上表面对应的理想点集合,根据理想点集合进行轮廓检测,获取上表面的轮廓边缘线;S9、根据上表面的轮廓边缘线确定上表面四边形;S10、根据上表面四边形计算立方物体的长和宽,并拟合地平面所在的三维平面,根据上表面和地平面间的距离计算立方物体的高,计算立方物体的体积。
2.根据权利要求1所述的基于深度图像的立方物体体积测量方法,其特征在于,S3中根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面分割图像,设定像素点的初始值为0;
从下到上遍历水平面的二值图中第一列的像素点,根据深度图获取每个像素点的可信度值,给定可信度阈值,若该像素点的可信度值小于给定的可信度阈值,则该像素点的状态为未知,处理下一像素点;否则,若对应的像素点值为255,则该像素点的状态为水平,若对应的像素点为0,则该像素点的状态为垂直,若像素点值为0的像素点的数目大于给定的高度阈值,则将其后出现的像素点值为255的像素点对应在上表面分割图像上并将其像素值更新为255,记录每一次像素点状态发生转变的像素点所在的行数,遍历完第一列所有行的像素点后,将从记录的行数起到第1行的第一列所有像素点对应在上表面分割图像上的位置的像素值置为0,同样的方式遍历完平行面图像的所有行列,获取初始的上表面分割图像,对获取的初始的上表面分割图像进行修补,更新上表面分割图像;
将边缘点图中的边缘点分别一一对应在更新后的上表面分割图像、左垂面的二值图和右垂面的二值图中,将更新后的上表面分割图像中水平状态的非边缘点的像素点值更新为
0,将左垂面的二值图中非边缘点的像素值为255的像素点值更新为0,将右垂面的二值图中非边缘点的像素值为255的像素点值更新为0,获取最终的上表面分割图像、左垂面的二值图和右垂面的二值图,将左垂面的二值图和右垂面的二值图分别记作左垂面的分割图像和右垂面的分割图像。
3.根据权利要求2所述的基于深度图像的立方物体体积测量方法,其特征在于,获取深度图像的边缘点图的具体方式为:
计算分类后的垂直面的所有像素点的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.根据权利要求6所述的基于深度图像的立方物体体积测量方法,其特征在于,S8中获取上表面的轮廓边缘线的具体方式为:
C1、遍历所有检测到的每个立方物体的上表面的所有像素点,根据图像坐标系和世界坐标系间的变换关系获取上表面的所有像素点在三维空间的世界坐标点;
C2、遍历当前上表面的所有世界坐标点,给定点数阈值,判断所有的点数是否大于给定的点数阈值;
C3、若点数大于点数阈值,计算所有点的均值点并进行归一化处理,每个立方物体的上表面的所有坐标点在三维空间中位于同一平面,均值点位于该平面上,计算均值点所在的三维空间的平面的法向量,根据法向量和均值点获取其初次拟合三维平面方程;
C4、计算上表面的所有世界坐标点到初次拟合三维平面的距离,给定距离阈值,剔除距离大于给定距离阈值的所有点,获取理想点集合,根据理想点集合再次进行拟合,获取二次拟合三维平面方程;
C5、重复上述步骤进行多次重复拟合,每次拟合后计算理想点集合的所有点到拟合三维平面的距离,剔除距离大于给定距离阈值的所有点,更新理想点集合,记作上理想点集合;
C6、获取当前上表面的上理想点集合的所有世界坐标点对应在二维平面的平面坐标点,并根据其进行轮廓检测,获取所有轮廓,计算每个轮廓的外接矩形与当前上表面的外接矩形的重叠面积,寻找重叠面积最大且大于给定的阈值的轮廓,该轮廓即为上表面最终的轮廓,根据该轮廓计算上表面的凸包,根据其凸包获取其对应的拟合多边形,获取上表面的拟合多边形的所有边缘线并按照从长到短排序,这些边缘线即为上表面的轮廓边缘线。
8.根据权利要求7所述的基于深度图像的立方物体体积测量方法,其特征在于,S9中根据上表面的轮廓边缘线确定上表面四边形的具体方式为:给定平行角度差阈值j,判断任两条轮廓边缘线的角度差是否小于j,若满足该条件,则当前两条轮廓边缘线为同一组,将所有轮廓边缘线分组,若分组后的总组数大于等于2,计算每组的轮廓边缘线的总长度并从大到小排序,将总长度最大的两个组别记作组1和组2,则组1包含上表面四边形的一组近似平行的边,组2包含上表面四边形的另一组近似平行的边,若分组后的总组数小于2,处理下一上表面;
分别计算组1和组2中任两条轮廓边缘线的距离差,给定平行距离差阈值,分别将组1和组2中距离差小于平行距离差阈值的轮廓边缘线划分为同一组,若组1中划分后的总组数大于等于2,计算组1中每组的边缘线的总长度并从大到小排序,将总长度最大的两个组别记作组11和组12,若组2中划分后的总组数大于等于2,计算组2中每组的边缘线的总长度并从大到小排序,将总长度最大的两个组别记作组21和组22,若组1或组2划分后的总组数小于
2,处理下一上表面;
遍历上表面轮廓的所有像素点,分别计算每个像素点到到组11、组12、组21和组22的所有轮廓边缘线的距离,获取每个组距离最小且小于给定阈值的轮廓边缘线,即为上表面的四条边。
9.根据权利要求7所述的基于深度图像的立方物体体积测量方法,其特征在于, S10中计算立方物体的体积的具体方式为:
对上表面四边形的任一条边,记作边1,与边1近似平行的边记作边2,计算边1所有边缘点到边2所在垂直面的距离,同时计算边2所有边缘点到边1所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的长;
对上表面四边形的另外两条近似平行边分别记作边3和边4,计算边3所有边缘点到边4所在垂直面的距离,同时计算边4所有边缘点到边3所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的宽;
计算上表面四边形的所有点到地平面的拟合三维平面的距离并求均值,该均值即为立方物体的高,根据立方物体的长宽高计算立方物体的体积。
10.根据权利要求9所述的基于深度图像的立方物体体积测量方法,其特征在于,获取地平面的拟合三维平面的方式为:定义与梯度图大小相同的地平面图像,设定像素点的初始值为0;遍历水平面的二值图和上表面分割图像,将在水平面的二值图中的像素点值为
255且在上表面分割图像中的像素点值为0的像素点对应在地平面图像上的像素点值更新为255,获取地平面图像;计算地平面图像上所有像素点值为255的像素点在三维空间的世界坐标点,计算所有像素点的均值点并进行归一化处理,地平面图像的所有坐标点以及均值点在三维空间中在同一平面上,计算其所在的三维空间的平面的法向量,根据地平面的均值点和法向量获取地平面的拟合三维平面方程,拟合后计算地平面图像上像素点值为
255的像素点到拟合三维平面方程的距离,剔除距离大于给定阈值的像素点,获取属于地平面点的理想点集合,根据理想点集合再次拟合地平面的三维平面方程,计算地平面点的理想点集合的所有像素点到拟合三维平面方程的距离,剔除距离大于给定阈值的像素点,更新地平面点的理想点集合,多次重复拟合剔除噪声点后获取地平面的最终的拟合三维平面方程。