欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2019109898126
申请人: 南京鑫和汇通电子科技有限公司
专利类型:发明专利
专利状态:授权未缴费
专利领域: 计算;推算;计数
更新日期:2024-10-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,包括:

S1、获取立方物体的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点分成水平面、左垂面和右垂面三类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中立方物体的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对;S7、根据获取的四边形和上表面分割图像确定立方物体的上表面和整体轮廓,根据左垂面的分割图像和右垂直分割图像获取每个上表面四边形对应的左右垂面,实现立方物体定位;S8、根据立方物体的上表面、左垂面和右垂面拟合其在三维空间的平面,通过多次重复拟合剔除每个面上的噪声点,获取每个面对应的理想点集合;S9、根据每个面的理想点集合获取每个面的轮廓边界和角点,根据其角点在三维空间中的坐标获取立方物体的长宽高,计算立方物体的体积。

2.根据权利要求1所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,根据分类结果、梯度图和边缘点图获取深度图像中立方物体的上表面、左垂面和右垂面的分割图像的具体方式为:根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面分割图像,设定像素点的初始值为0;

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

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

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

3.根据权利要求2所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合的具体方式为:对边缘点图进行边缘线检测,获取所有边缘线并按照长到短排序成边缘线集合,定义一个空的共线边缘线组集合,共线边缘线组集合包含多组边缘线,每组内的边缘线是共线的,两组间边缘线是不共线的,首先将最长的边缘线加入到共线边缘线组集合的一组中,对于边缘线集合中的每一条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边缘线相同的方式处理边缘线集合中的下一条边缘线,不断更新共线边缘线组集合,共线边缘线组集合中每组的边缘线按照长短排序,获取最终的共线边缘线组集合。

4.根据权利要求3所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,根据共线边缘线组集合的每组最长的边缘线提取角点的具体方式为: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中较大的对应端点;同样的方式处理种子边缘线组集合中的其余任两条边缘线,获取所有的角点,根据种子边缘线集合扩展每个角点的两臂,得到最终的角点集合,实现角点提取。

5.根据权利要求4所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,对提取的角点配对的具体方式为:

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的角点组合剔除;对剩余的角点组合,判断其两个打开臂是否在共享臂的同一侧,将两个打开臂不在共享臂的同一侧的角点组合剔除,最后根据当前配对的角点组合确定一个四边形;同样的方式处理所有的角点组合,获取所有的四边形。

6.根据权利要求5所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,根据获取的四边形和上表面分割图像确定立方物体的上表面和整体轮廓的具体方式为: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,则剔除该立方物体轮廓,获取最终的立方物体轮廓集合。

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

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

8.根据权利要求6所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,S8中根据立方体的上表面、左垂面和右垂面拟合其在三维空间的平面,通过多次重复拟合剔除每个面上的噪声点,获取每个面对应的理想点集合的具体方式为:C1、遍历所有检测到的每个立方物体的上表面的所有像素点,根据图像坐标系和世界坐标系间的变换关系获取上表面的所有像素点在三维空间的世界坐标点;

C2、遍历当前上表面的所有世界坐标点,给定点数阈值,判断所有的点数是否大于给定的点数阈值;

C3、若点数大于点数阈值,计算所有点的均值点并进行归一化处理,每个立方物体的上表面的所有坐标点在三维空间中位于同一平面,均值点位于该平面上,计算均值点所在的三维空间的平面的法向量,根据法向量和均值点获取其初次拟合三维平面方程;

C4、计算上表面的所有世界坐标点到初次拟合三维平面的距离,给定距离阈值,剔除距离大于给定距离阈值的所有点,获取理想点集合,根据理想点集合再次进行拟合,获取二次拟合三维平面方程;

C5、重复上述步骤进行多次重复拟合,每次拟合后计算理想点集合的所有点到拟合三维平面的距离,剔除距离大于给定距离阈值的所有点,更新理想点集合,记作上理想点集合;

C6、对立方物体的左垂面和右垂面采用与上表面相同的方式获取其对应的左垂面和右垂面在三维空间的拟合三维平面方程及其对应左垂面理想点集合和右垂面理想点集合,记作左理想点集合和右理想点集合。

9.根据权利要求8所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,S9中根据每个面的理想点集合获取每个面的轮廓边界和角点,根据其角点在三维空间中的坐标获取立方体的长宽高,计算立方物体体积的具体方式为:获取上理想点集合、左理想点集合和右理想点集合的所有世界坐标点对应在二维平面的平面坐标点,并根据其进行轮廓检测,获取所有轮廓,计算每个轮廓的外接矩形与上理想点集合对应的上表面的外接矩形的重叠面积,寻找重叠面积最大且大于给定的阈值的轮廓,该轮廓即为上表面最终的轮廓,根据该轮廓计算上表面的凸包,根据其凸包获取其对应的拟合多边形,获取上表面的拟合多边形的所有边缘线,这些边缘线即为上表面的轮廓边界,采用同样的方式获取左垂面和右垂面的轮廓边界;根据上表面的轮廓边界获取其4个角点,并获取其对应在三维空间的4个角点的世界坐标,根据世界坐标计算上表面的长和宽,即为当前立方物体的长和宽;选取左垂面和右垂面中较大的垂面,根据该垂面的轮廓边界获取其4个角点,并获取其对应在三维空间的4个角点的世界坐标,根据世界坐标计算该垂面的高度,即为当前立方体的高度,根据立方体的长宽高计算立方物体体积。

10.根据权利要求4所述的基于深度图像的剔除噪声的立方物体的体积计算方法,其特征在于,根据种子边缘线集合扩展每个角点的两臂的具体方式为:遍历种子边缘线集合的所有边缘线,对于每个角点,计算其到当前种子边缘线的距离,如果该距离小于给定的阈值,则判断该种子边缘线是否可以扩展当前角点的两臂,首先判断该种子边缘线是否可以扩展当前角点的臂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,实现当前角点两臂的扩展。