CN110689568A - 一种基于深度图像的立方物体体积的精确计算方法 - Google Patents
一种基于深度图像的立方物体体积的精确计算方法 Download PDFInfo
- Publication number
- CN110689568A CN110689568A CN201910990406.1A CN201910990406A CN110689568A CN 110689568 A CN110689568 A CN 110689568A CN 201910990406 A CN201910990406 A CN 201910990406A CN 110689568 A CN110689568 A CN 110689568A
- Authority
- CN
- China
- Prior art keywords
- point
- edge line
- edge
- points
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 56
- 239000013598 vector Substances 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 11
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims 5
- 238000010586 diagram Methods 0.000 claims 2
- 238000005452 bending Methods 0.000 claims 1
- 238000005259 measurement Methods 0.000 abstract description 9
- 238000010276 construction Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种基于深度图像的立方物体体积的精确计算方法,包括:获取立方物体的深度图像及其梯度图,对深度图像中的像素点进行分类,获取边缘点图、立方物体的上表面、左垂面和右垂面的分割图像;对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合,根据其中每组最长边缘线提取角点并进行配对;确定立方物体的上表面和整体轮廓;获取上表面的轮廓边缘线并根据其确定上表面四边形;根据上表面四边形计算立方物体的长和宽,并拟合四个垂直面,精确计算立方物体的长宽高,计算立方物体的体积。本发明应用在物流行业中,能够解决对立方物体状包裹等目标的体积测量局限和耗时的问题,提高包裹分拣效率。
Description
技术领域
本发明涉及深度图像的目标识别领域,特别涉及一种基于深度图像的立方物体体积的精确计算方法。
背景技术
深度图像也被称为距离影像,是指将从图像采集器到场景中各点的距离作为像素值的图像,它直接反映了目标可见表面的几何形状,因此,基于深度图像的应用比较广泛,尤其是在物流行业。目前,国内物流、港口航运、机场航运的吞吐量非常大,且呈递增趋势,各个分拣中心对包裹、货物、货柜等体积的测量比较局限和耗时,降低了运输效率。
现有技术中,包裹多为立方物体状,对包裹的体积测量主要通过比对传输带装货前和装货后的深度图像,提取包裹所在的矩形区域获知包裹的长宽,利用差异特征获取包裹的高度,计算包裹的体积,这种方式局限于特定场景,应用范围较小,无法满足实际物流行业中包裹密集堆积的需求;另外现有技术大部分要求相机垂直拍摄物体,对相机拍摄角度限制较大,而且基本上只能检测单个物体,多个物体检测误差较大,而且对于立方物体的多个面难以准确检测,且受外界环境噪声干扰,影响计算精度。目前对大型的货物、货柜的体积测量也基本采用手工测量。
发明内容
为解决现有技术中对立方物体状包裹、货物、货柜等目标的体积测量局限和耗时的问题,本发明提出一种基于深度图像的立方物体体积的精确计算方法。
本发明的技术方案是这样实现的:
一种基于深度图像的立方物体体积的精确计算方法,包括:
S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点分成水平面、左垂面和右垂面三类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对;S7、根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓;S8、根据立方物体的上表面拟合其在三维空间的平面,通过多次重复拟合剔除每个面上的噪声点,获取上表面对应的理想点集合,根据理想点集合进行轮廓检测,获取上表面的轮廓边缘线;S9、根据上表面的轮廓边缘线确定上表面四边形;S10、根据上表面四边形拟合该上表面所在立方物体的四个垂直面,并计算立方物体的长和宽;S11、计算立方物体的高,并根据立方物体的长宽高计算立方物体的体积。
优选的是,S3中根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:
根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面的分割图像,设定像素点的初始值为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边缘线与共线边缘线组集合的所有组的最长边缘线均不共线,则直接将A边缘线加入到共线边缘线组集合的新组中,更新共线边缘线组集合的组数;A边缘线和B边缘线共线后,判断A边缘线和B边缘线是否满足合并条件,若T1≤H、T2≤H、T3≤H且T4≤H,则A边缘线与B边缘线不满足合并条件,否则,将A边缘线和B边缘线合并,更新B边缘线的起点和终点,更新共线边缘线组集合;
与处理A边缘线相同的方式处理边缘线集合中的下一条边缘线,不断更新共线边缘线组集合,共线边缘线组集合中每组的边缘线按照长短排序,获取最终的共线边缘线组集合。
优选的是,根据共线边缘线组集合的每组最长的边缘线提取角点的具体方式为:
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中较大的对应端点;同样的方式处理种子边缘线组集合中的其余任两条边缘线,获取所有的角点,根据种子边缘线集合扩展每个角点的两臂,得到最终的角点集合,实现角点提取。
优选的是,对提取的角点配对的具体方式为:
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的角点组合剔除;对剩余的角点组合,判断其两个打开臂是否在共享臂的同一侧,将两个打开臂不在共享臂的同一侧的角点组合剔除,最后根据当前配对的角点组合确定一个四边形;同样的方式处理所有的角点组合,获取所有的四边形。
优选的是,S8中获取上表面的轮廓边缘线的具体方式为:
C1、遍历所有检测到的每个立方物体的上表面的所有像素点,根据图像坐标系和世界坐标系间的变换关系获取上表面的所有像素点在三维空间的世界坐标点;
C2、遍历当前上表面的所有世界坐标点,给定点数阈值,判断所有的点数是否大于给定的点数阈值;
C3、若点数大于点数阈值,计算所有点的均值点并进行归一化处理,每个立方物体的上表面的所有坐标点在三维空间中位于同一平面,均值点位于该平面上,计算均值点所在的三维空间的平面的法向量,根据法向量和均值点获取其初次拟合三维平面方程;
C4、计算上表面的所有世界坐标点到初次拟合三维平面的距离,给定距离阈值,剔除距离大于给定距离阈值的所有点,获取理想点集合,根据理想点集合再次进行拟合,获取二次拟合三维平面方程;
C5、重复上述步骤进行多次重复拟合,每次拟合后计算理想点集合的所有点到拟合三维平面的距离,剔除距离大于给定距离阈值的所有点,更新理想点集合,记作上理想点集合;
C6、获取当前上表面的上理想点集合的所有世界坐标点对应在二维平面的平面坐标点,并根据其进行轮廓检测,获取所有轮廓,计算每个轮廓的外接矩形与当前上表面的外接矩形的重叠面积,寻找重叠面积最大且大于给定的阈值的轮廓,该轮廓即为上表面最终的轮廓,根据该轮廓计算上表面的凸包,根据其凸包获取其对应的拟合多边形,获取上表面的拟合多边形的所有边缘线并按照从长到短排序,这些边缘线即为上表面的轮廓边缘线。
优选的是,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的所有轮廓边缘线的距离,获取每个组距离最小且小于给定阈值的轮廓边缘线,即为上表面的四条边。
优选的是, S10中根据上表面四边形拟合该上表面所在立方物体的四个垂直面,并计算立方物体的长和宽的具体方式为:
获取上表面在三维空间的法向量,对上表面四边形的任一条边,其同时属于该上表面对应的立方物体的一个垂直面,获取该边对应在三维空间的世界坐标,沿着法向量向下的方向构造平行于该边且属于该边所在垂直面的点,根据构造点和该边的所有边缘点拟合其在三维空间的垂直平面;
对上表面四边形的其余三条边,采用相同的方式拟合各自包含其本身的三维空间的垂直平面,获取当前上表面对应的立方物体的四个垂直平面;
对上表面四边形的任一条边,记作边1,与其近似平行的边记作边2,计算边1所有边缘点到边2所在垂直面的距离,同时计算边2所有边缘点到边1所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的长;
对上表面四边形的另外两条近似平行边分别记作边3和边4,计算边3所有边缘点到边4所在垂直面的距离,同时计算边4所有边缘点到边3所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的宽。
优选的是,计算立方物体的高的方式为:
根据立方物体轮廓确定包含其的搜索区域,遍历搜索区域上的所有像素点,获取其对应的世界坐标,判断每个像素点在三维空间到四个垂直面的距离的最小值是否小于等于给定的点到面最小距离阈值dt,若不满足该条件,处理下一个像素点;
若满足上述条件,计算该像素点到上表面的距离,获取搜索区域满足上述条件的所有像素点到上表面的距离,一个距离用一个直方柱表示,直方柱的数目超过距离的数目,所有直方柱的直方柱值的初始值为0,若像素点离垂直面小于dt/2,该像素点对应的直方柱值加2,若大于dt/2小于dt,该像素点对应的直方柱值加1,以此获取搜索区域所有满足条件的像素点对应的距离分布直方图;遍历直方图的每个直方柱值,计算非零直方柱数目、所有非零直方柱对应的直方柱值的总和以及对应的最大直方柱标号maxBin,将非零直方柱值总和除以非零直方柱数目计算得知所有非零直方柱值的平均值;
距离分布直方图的距离从小到大排列,在最大的直方柱标号maxBin到maxBin/2号直方柱中,记录直方柱值大于直方柱平均值的八分之一的最小直方柱标号d2,记录直方柱值大于直方柱平均值的二分之一的最大直方柱标号d1;
如果标号d1和d2均存在,遍历标号为d1的直方柱到最大的直方柱标号maxBin,计算所有直方柱对应的平均距离,该距离即为立方物体的高,根据立方物体的长宽高计算立方物体体积。
本发明的有益效果为:本发明的基于深度图像的立方物体体积的精确计算方法,在通过分割图像快速区分出立方物体的表面的基础上,将检测到的所有边缘线进行聚类与合并,获取所有共线的边缘线组别,选取每组最长边缘线获取角点,减少计算量,提高检测的稳定性;再进行角点配对,获取所有可能的四边形检测,然后通过检测上表面分割图像获取所有的上表面轮廓,并将上表面轮廓与所有检测到的四边形进行匹配,获取立方体上表面和立方体整体轮廓,并根据立方物体的上表面多次拟合其在三维空间的平面,获取最终的上表面;根据拟合后的上表面获取其上表面四边形的所有可能的轮廓边界线,并分别根据角度和边界线间的距离进行分组,能够组成上表面的四边形的四条边必然包含两组近似平行的边,且两组边间角度不同,对于每组近似平行的边,两侧的边之间必然存在一定的距离,利用这种特性获取上表面所有轮廓边界线中能够组成上表面四边形的最长边界线,实现上表面四边形的最终确定,并根据其四条边拟合其对应的立方物体对应的四个垂直面,再拟合深度图像的地平面所在的三维平面,根据上表面两组近似平行的边获取立方物体的长和宽,同时根据立方体整体轮廓确定搜索区域,计算搜索区域内所有可能到四个垂直面距离较小的点,计算这些点到上表面的距离,统计其距离分布直方图,距离越大越靠近搜索区域的下部,当达到最大距离时,距离继续增大则找不到对应的属于垂直面或距离垂直面很近的点,表明已经到达立方物体与深度图像中最低平面的接触位置,为了降低噪声的干扰,统计最大距离分布直方图到大于平均距离的一半的直方图之间对应的距离平均值,该平均值即为立方物体的高,再计算立方物体的体积。像素点分类方法适用于任意场景的任意物体,实际应用在体积测量中立方物体在图像中至少包含可见的上表面和一个垂直面,深度图像中目标所在的平面是最低的平面或者直接在地面上。
本发明的立方物体体积精确计算方法应用在包裹、货物、货柜等目标的体积测量中,避免比对传输带装货前和装货后的深度图像,而是直接识别立方物体,最后得到立方物体的长宽高计算其体积,解决了包裹体积测量局限和耗时的问题,帮助物流行业提高包裹分拣效率,具有重要的实际应用意义。本发明的立方物体体积精确计算方法,也可在图像识别领域应用。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:一种基于深度图像的立方物体体积的精确计算方法,S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点分成水平面、左垂面和右垂面三类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线集合的所有边缘线提取角点;S6、对提取的角点进行配对;S7、根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓;S8、根据立方物体的上表面、左垂面和右垂面拟合其在三维空间的平面,通过多次重复拟合剔除每个面上的噪声点,获取每个面对应的理想点集合,根据理想点集合进行轮廓检测,获取上表面的轮廓边缘线;S9、根据上表面的轮廓边缘线确定上表面四边形;S10、根据上表面四边形计算立方物体的长和宽,并拟合地平面所在的三维平面,根据上表面和地平面间的距离计算立方物体的高,计算立方物体的体积。
深度图像可采用深度相机获取,目前的深度相机根据其工作原理可以分为三种:TOF(Time Of Flight)深度相机、双目立体视觉深度相机和结构光深度相机,实际使用中可根据具体需求选择合适的深度相机获取深度图像。
S2中根据梯度图对其中的像素点分成水平面、左垂面和右垂面三类的具体方式为:遍历X方向的梯度图中的每个像素点值DX(r,c),Y方向的梯度图中的每个像素点值DY(r,c),其中r=0...m,c=0...n,m代表所在梯度图的行数,n代表所在梯度图的列数;给定正分割阈值p和负分割阈值q,大于等于p的 DY(r,c)对应的像素点位于垂直面,小于等于q的DY(r,c)对应的像素点位于水平面;对于所有垂直面上的点,小于等于q的 DX(r,c)对应的像素点位于左垂面,大于等于p的DX(r,c)对应的像素点位于右垂面。
S2中获取深度图像的边缘点图的具体方式为:计算分类后的垂直面的所有像素点的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;得到边缘点图,边缘点图是二值图。
S3中根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像的具体方式为:根据分类结果获取与梯度图大小相同的水平面、左垂面和右垂面的二值图,定义与梯度图大小相同的上表面的分割图像,设定像素点的初始值为0;从下到上遍历水平面的二值图中第一列的像素点,根据深度图获取每个像素点的可信度值,给定可信度阈值,若该像素点的可信度值小于给定的可信度阈值,则该像素点的状态为未知,处理下一像素点;否则,若对应的像素点值为255,则该像素点的状态为水平,若对应的像素点为0,则该像素点的状态为垂直,若像素点值为0的像素点的数目大于给定的高度阈值,则将其后出现的像素点值为255的像素点对应在上表面的分割图像上并将其像素值更新为255,记录每一次像素点状态发生转变的像素点所在的行数,遍历完第一列所有行的像素点后,将从记录的行数起到第1行的第一列所有像素点对应在上表面的分割图像上的位置的像素值置为0,同样的方式遍历完平行面图像的所有行列,获取初始的上表面的分割图像;对获取的初始的上表面的分割图像进行修补,更新上表面的分割图像;将边缘点图中的边缘点分别一一对应在更新后的上表面的分割图像、左垂面的二值图和右垂面的二值图中,将更新后的上表面的分割图像中水平状态的非边缘点的像素点值更新为0,将左垂面的二值图中非边缘点的像素值为255的像素点值更新为0,将右垂面的二值图中非边缘点的像素值为255的像素点值更新为0,获取最终的上表面的分割图像、左垂面的二值图和右垂面的二值图,将左垂面的二值图和右垂面的二值图分别记作左垂面的分割图像和右垂面的分割图像。
在计算过程中,由于噪声干扰可能出现上表面上的个别点被误判为垂直面的点,导致上表面点不连续,为提高算法稳定性,对上表面的分割图像进行修补。对获取的初始的上表面的分割图像进行修补的具体方式为:给定图像片大小阈值t,定义与上表面的分割图像大小相同的上表面修补图像,设定像素点的初始值为0,根据上表面的分割图像更新上表面修补图像的第t列到总列数减去t列的像素点值,遍历上表面的分割图像的所有行和第1到第2*t列,将上表面修补图像的每行的第t列的每个像素点值更新为上表面的分割图像的当前行的第1到第2*t列的像素点值之和,更新上表面修补图像;遍历上表面的分割图像的所有行和第t+1列到总列数减去t列,将上表面修补图像的每个像素点值更新为当前行当前列的前一列的上表面修补图像像素点值加上当前行当前列加上t列的的上表面的分割图像的像素点值再减去当前行当前列减去t列的的上表面的分割图像的像素点值,获取最终的上表面修补图像;遍历上表面修补图像的所有像素点,给定像素值总和阈值,如果当前像素点的像素值大于给定的像素值总和阈值,则将其对应在上表面的分割图像上的像素值更新为255,否则更新为0,更新上表面的分割图像。
记录每一次像素点状态发生转变的像素点所在的行数,在S1中获取目标的深度图像,目标在深度图像中完全能够看到,从下向上遍历每一列像素点,如果先后出现立方物体的垂直面和水平面,则之后的像素点类别一定会再发生改变,将最后一次记录的像素点状态发生改变的位置对应的行数到第一行的当前列的所有像素点对应在上表面的分割图像上的像素值置为0(记录行数到第一行的点值有可能是0也有可能是255,统一置为0);否则很有可能当前立方物体的上表面没有完全出现在画面中,剔除这种上表面的点,将其对应在上表面的分割图像上的像素值置为0。
S4中对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合的具体方式为:对边缘点图进行边缘线检测,获取所有边缘线并按照长到短排序成边缘线集合,定义一个空的共线边缘线组集合,共线边缘线组集合包含多组边缘线,每组内的边缘线是共线的,两组间边缘线是不共线的,首先将最长的边缘线加入到共线边缘线组集合的一组中,对于边缘线集合中的每一条A边缘线,判断其与共线边缘线组集合的每组最长的B边缘线是否共线,判断条件依次如下:C1、计算A边缘线与B边缘线的角度差,判断该角度差是否小于等于给定的角度差阈值e,该角度差大于e,A边缘线和B边缘线肯定不共线,因为共线的两条边缘线应该近似平行,角度差比较小;C2、若该角度差小于等于e计算B边缘线的起点到A边缘线的起点和终点的距离T1和T2,B边缘线的终点到A边缘线的起点和终点的T3和T4,给定点间距离阈值G,距离T1、T2、T3和T4中的最小距离是否小于等于点间距离阈值G,此部分是为了检测A边缘线和B边缘线的两个端点间的最小距离是否小于给定的点间距离阈值G,如果最小距离大于给定的点间距离阈值,说明这两条边缘线离得比较远,min(min(T1,T2),min(T3,T4))>G,则A和B边缘线肯定不共线;C3、若min(min(T1,T2),min(T3,T4))≤G,计算A边缘线的长度L和B边缘线的长度H,判断距离T1、T2、T3和T4中的最大距离是否小于G+H+L,max(max(T1,T2),max(T3,T4))≥(G+H+L),A和B边缘线不共线;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边缘线加入到共线边缘线组集合的该组中,更新该组的边缘线;在上述C1到C6的依次判断过程中,任一个条件不满足,直接处理共线边缘线组集合中的下一组的最长边缘线,直至处理完共线边缘线组集合的所有组,每组边缘线用其最长边缘线表示,如果A边缘线与共线边缘线组集合的所有组的最长边缘线均不共线,则直接将A边缘线加入到共线边缘线组集合的新组中,更新共线边缘线组集合的组数;A边缘线和B边缘线共线后,判断A边缘线和B边缘线是否满足合并条件,若T1≤H、T2≤H、T3≤H且T4≤H,则A边缘线与B边缘线不满足合并条件,否则,将A边缘线和B边缘线合并,更新B边缘线的起点和终点,更新共线边缘线组集合;与处理A边缘线相同的方式处理边缘线集合中的下一条边缘线,不断更新共线边缘线组集合,共线边缘线组集合中的边缘线按照长短排序,获取最终的共线边缘线组集合。
此处进行边缘线的共线聚类与合并主要是因为在边缘线检测过程中,往往会因为噪声干扰导致原本连续的边缘线断开,原本只有一条边缘线在检测时可能检测到多条近似平行距离很近但长短不一的多条边缘线,会降低算法的稳定性和精度,进行共线聚类与合并主要是为了将有可能属于同一条线的多条线段划分为同一组,并进行合并,将断开的多条共线边缘线进行合并,获取每组的最长边缘线,用最长边缘线表示该组的所有边缘线,一方面减少了计算量,另一方面提高算法的稳定性。
将A边缘线和B边缘线合并,更新B边缘线的起点和终点的方式为:B边缘线为其所在组别的最长边缘线,若A边缘线和B边缘线共线且满足合并条件,则根据A边缘线更新B边缘线的起点和终点,如果边缘线的两端点x坐标不同,定义边缘线的左侧端点为起点,右侧端点为终点,如果两端点x坐标相同,则定义上面的端点为起点,下面的端点为终点。更新B边缘线的终点的判断方式为:C1、若T1 >H且 T2 > H,在此基础上,T3 > T4,则将B边缘线终点更新为A边缘线的起点,不满足T3 > T4的条件,将B边缘线终点更新为A边缘线的终点;C2、不满足C1中的条件T1 >H且 T2 > H,若T1 > H但T2 <=H,则将B边缘线终点更新为A边缘线的起点;C3、不满足C1和C2中的条件,如果T2 >H但T1<= H,则将B边缘线终点更新为A边缘线的终点。更新B边缘线的起点的判断方式为:C1、若T3>H且T4 > H,在此基础上,T1 > T2,则将B边缘线起点更新为A边缘线的起点,若不满足T1 > T2的条件,将B边缘线起点更新为A边缘线的终点;C2、不满足C1中的条件T3>H且T4 > H,若T3>H但T4 <=H,则将B边缘线起点更新为A边缘线的起点;C3、不满足该C1和C2中的条件,若T4 > H但T3<=H,则将B边缘线起点更新为A边缘线的终点。
S5中根据共线边缘线组集合的每组最长的边缘线提取角点的具体方式为: 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是否未超出图像范围;若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中较大的对应端点;同样的方式处理种子边缘线组集合中的其余任两条边缘线,获取所有的角点,根据种子边缘线集合扩展每个角点的两臂,得到最终的角点集合,实现角点提取。
判断两个角点是否相似的具体方式为:分别计算一个角点的每一个打开臂的角度与另一个角点的每一个打开臂的角度的差值的绝对值a11、a12、a21、a22,角度的差值的绝对值的取值范围为[0,180],选取min(a11,a12),min(a21,a22),给定角度相似阈值f,若max(min(a11,a12),min(a21,a22))<f,则两个角点相似。
两个角点相似表示两个角点各自对应的打开臂近似平行,举例说明:若两个角点分别包含一条横向打开臂和一条竖向打开臂,则两个角点的横向打开臂是近似平行,那角度差很小,两个竖向打开臂近似平行,角度差也很小,故min(a11,a12)和min(a21,a22)的最小值也应该小于给定的相似角度阈值,否则两个角点不相似。
根据种子边缘线集合扩展每个角点的两臂的具体方式为:遍历种子边缘线集合的所有边缘线,对于每个角点,计算其到当前种子边缘线的距离,如果该距离小于给定的阈值,则判断该种子边缘线是否可以扩展当前角点的两臂,首先判断该种子边缘线是否可以扩展当前角点的臂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,实现当前角点两臂的扩展。
S6中对提取的角点配对的具体方式为:C1、对角点集合中的所有角点进行两两配对,若配对的两个角点的坐标不同,则继续判断两个角点之间是否共享一个臂,将一个角点的两臂标记为arm11和arm12,另一个角点的两臂记为arm21和arm22,先判断arm11和arm21是否为两个角点的同一个臂;C2、判断arm11和arm21是同一臂的方式为:若两个角点之间的距离小于arm11和arm21的最小值的四分之一,则arm11和arm21不是同一臂;若两个角点之间的距离大于arm11和arm21的最小值的四分之一,先计算arm11与两个角点连线的角度差的绝对值x1,arm21与两个角点连线的角度差的绝对值x2,x1和x2的取值范围是[0,180],若x1和x2均小于角度相似阈值f,给定角点间距离阈值u和长度比例阈值ratio,若arm11和arm21的长度和大于等于两个角点距离的ratio倍,并大于等于两个角点的距离与u的差值,则判定arm11和arm21是同一臂,角点配对成功;否则,采用同样的方法判断两个角点的其余任两个臂是否是同一臂,若均不是则角点配对失败,否则角点配对成功;同样的方式对其余的角点两两配对,获取所有配对成功的角点组合,每个角点组合的同一臂为共享臂,另两个臂为打开臂,计算每一个角点组合中两个打开臂与共享臂之间的夹角u1和u2,夹角u1和u2的取值范围是[0,180],将夹角u1或u2小于弯曲度阈值b的角点组合剔除;对剩余的角点组合,判断其两个打开臂是否在共享臂的同一侧,计算该角点组合的共享臂的中心点,以中心点为起点,计算共享臂的单位法向量,计算第一个角点的打开臂的终点与中心点的连线所在的向量v1和第二个角点的打开臂的终点与中心点的连线所在的向量v2,如果向量v1和v2与共享臂的单位法向量的内积一正一负,则两个打开臂不在共享臂的同一侧,将两个打开臂不在共享臂的同一侧的角点组合剔除,最后根据当前配对的角点组合确定一个四边形;同样的方式处理所有的角点组合,获取所有的四边形。
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,则剔除该立方物体轮廓,获取最终的立方物体轮廓集合。
S8中获取上表面的轮廓边缘线的具体方式为:C1、遍历所有检测到的每个立方物体的上表面的所有像素点,根据图像坐标系和世界坐标系间的变换关系获取上表面的所有像素点在三维空间的世界坐标点;C2、遍历当前上表面的所有世界坐标点,给定点数阈值,判断所有的点数是否大于给定的点数阈值;C3、若点数大于点数阈值,计算所有点的均值点并进行归一化处理,每个立方物体的上表面的所有坐标点在三维空间中位于同一平面,均值点位于该平面上,计算均值点所在的三维空间的平面的法向量,根据法向量和均值点获取其初次拟合三维平面方程;C4、计算上表面的所有世界坐标点到初次拟合三维平面的距离,给定距离阈值,剔除距离大于给定距离阈值的所有点,获取理想点集合,根据理想点集合再次进行拟合,获取二次拟合三维平面方程;C5、重复上述步骤进行多次重复拟合,每次拟合后计算理想点集合的所有点到拟合三维平面的距离,剔除距离大于给定距离阈值的所有点,更新理想点集合,记作上理想点集合;C6、获取当前上表面的上理想点集合的所有世界坐标点对应在二维平面的平面坐标点,并根据其进行轮廓检测,获取所有轮廓,计算每个轮廓的外接矩形与当前上表面的外接矩形的重叠面积,寻找重叠面积最大且大于给定的阈值的轮廓,该轮廓即为上表面最终的轮廓,根据该轮廓计算上表面的凸包,根据其凸包获取其对应的拟合多边形,获取上表面的拟合多边形的所有边缘线并按照从长到短排序,这些边缘线即为上表面的轮廓边缘线。
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的所有轮廓边缘线的距离,获取每个组距离最小且小于给定阈值的轮廓边缘线,即为上表面的四条边。
S10中根据上表面四边形拟合该上表面所在立方物体的四个垂直面,并计算立方物体的长和宽的具体方式为:获取上表面在三维空间的法向量,对上表面四边形的任一条边,其同时属于该上表面对应的立方物体的一个垂直面,获取该边对应在三维空间的世界坐标,沿着法向量向下的方向构造平行于该边且属于该边所在垂直面的点,根据构造点和该边的所有边缘点拟合其在三维空间的垂直平面;
对上表面四边形的其余三条边,采用相同的方式拟合各自包含其本身的三维空间的垂直平面,获取当前上表面对应的立方物体的四个垂直平面;
对上表面四边形的任一条边,记作边1,与其近似平行的边记作边2,计算边1所有边缘点到边2所在垂直面的距离,同时计算边2所有边缘点到边1所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的长;
对上表面四边形的另外两条近似平行边分别记作边3和边4,计算边3所有边缘点到边4所在垂直面的距离,同时计算边4所有边缘点到边3所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的宽。
近似平行的范围是平行角度差阈值,边1和边2的角度差值小于给定的平行角度差阈值,则这两条边近似平行;如果边1和边2完全平行,两条边的角度应该相等,近似平行就是两条边的角度差小于给的平行角度差阈值。由于立方物体的每个面投影后原本平行的两条边可能并不完全平行,该方式帮助提高算法的稳定性。
计算立方物体的高的方式为:根据立方物体轮廓确定包含其的搜索区域,遍历搜索区域上的所有像素点,获取其对应的世界坐标,判断每个像素点在三维空间到四个垂直面的距离的最小值是否小于等于给定的点到面最小距离阈值dt,若不满足该条件,处理下一个像素点;
若满足上述条件,计算该像素点到上表面的距离,获取搜索区域满足上述条件的所有像素点到上表面的距离,一个距离用一个直方柱表示,直方柱的数目超过距离的数目,所有直方柱的直方柱值的初始值为0,若像素点离垂直面小于dt/2,该像素点对应的直方柱值加2,若大于dt/2小于dt,该像素点对应的直方柱值加1,以此获取搜索区域所有满足条件的像素点对应的距离分布直方图;遍历直方图的每个直方柱值,计算非零直方柱数目、所有非零直方柱对应的直方柱值的总和以及对应的最大直方柱标号maxBin,将非零直方柱值总和除以非零直方柱数目计算得知所有非零直方柱值的平均值;
距离分布直方图的距离从小到大排列,在最大的直方柱标号maxBin到maxBin/2号直方柱中,记录直方柱值大于直方柱平均值的八分之一的最小直方柱标号d2,记录直方柱值大于直方柱平均值的二分之一的最大直方柱标号d1;
如果标号d1和d2均存在,遍历标号为d1的直方柱到最大的直方柱标号maxBin,计算所有直方柱对应的平均距离,该距离即为立方物体的高,根据立方物体的长宽高计算立方物体体积。
立方物体放置的平面为深度图像中最低的平面,当满足条件的离四个垂直面较近的点到上表面的距离达到最大时,表明已到达图像中最低平面的位置,也就是与立方物体下表面接触的平面位置,该位置的点到上表面的距离最为接近立方物体的高度,但是由于存在噪声干扰,通过统计距离分布直方图,计算最大距离直方图到大于平均距离的一半的直方图之间的平均距离获取立方物体的最终高度,提高算法的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于深度图像的立方物体体积的精确计算方法,其特征在于,包括:
S1、获取目标的深度图像,根据深度图像分别获取与其大小相同的X方向和Y方向的梯度图;S2、根据梯度图对其中的像素点分成水平面、左垂面和右垂面三类,获取深度图像的边缘点图;S3、根据分类结果、梯度图和边缘点图获取深度图像中目标的上表面、左垂面和右垂面的分割图像;S4、对边缘点图进行边缘线检测,将检测到的所有边缘线进行聚类与合并,获取共线边缘线组集合;S5、根据共线边缘线组集合的每组最长的边缘线提取角点;S6、对提取的角点进行配对;S7、根据获取的四边形和上表面的分割图像确定立方物体的上表面和整体轮廓;S8、根据立方物体的上表面拟合其在三维空间的平面,通过多次重复拟合剔除每个面上的噪声点,获取上表面对应的理想点集合,根据理想点集合进行轮廓检测,获取上表面的轮廓边缘线;S9、根据上表面的轮廓边缘线确定上表面四边形;S10、根据上表面四边形拟合该上表面所在立方物体的四个垂直面,并计算立方物体的长和宽;S11、计算立方物体的高,并根据立方物体的长宽高计算立方物体的体积。
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,与其近似平行的边记作边2,计算边1所有边缘点到边2所在垂直面的距离,同时计算边2所有边缘点到边1所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的长;
对上表面四边形的另外两条近似平行边分别记作边3和边4,计算边3所有边缘点到边4所在垂直面的距离,同时计算边4所有边缘点到边3所在垂直面的距离,计算所有距离的平均值作为当前上表面对应的立方物体的宽。
10.根据权利要求9所述的基于深度图像的立方物体体积的精确计算方法,其特征在于,计算立方物体的高的方式为:
根据立方物体轮廓确定包含其的搜索区域,遍历搜索区域上的所有像素点,获取其对应的世界坐标,判断每个像素点在三维空间到四个垂直面的距离的最小值是否小于等于给定的点到面最小距离阈值dt,若不满足该条件,处理下一个像素点;
若满足上述条件,计算该像素点到上表面的距离,获取搜索区域满足上述条件的所有像素点到上表面的距离,一个距离用一个直方柱表示,直方柱的数目超过距离的数目,所有直方柱的直方柱值的初始值为0,若像素点离垂直面小于dt/2,该像素点对应的直方柱值加2,若大于dt/2小于dt,该像素点对应的直方柱值加1,以此获取搜索区域所有满足条件的像素点对应的距离分布直方图;遍历直方图的每个直方柱值,计算非零直方柱数目、所有非零直方柱对应的直方柱值的总和以及对应的最大直方柱标号maxBin,将非零直方柱值总和除以非零直方柱数目计算得知所有非零直方柱值的平均值;
距离分布直方图的距离从小到大排列,在最大的直方柱标号maxBin到maxBin/2号直方柱中,记录直方柱值大于直方柱平均值的八分之一的最小直方柱标号d2,记录直方柱值大于直方柱平均值的二分之一的最大直方柱标号d1;
如果标号d1和d2均存在,遍历标号为d1的直方柱到最大的直方柱标号maxBin,计算所有直方柱对应的平均距离,该距离即为立方物体的高,根据立方物体的长宽高计算立方物体体积。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910990406.1A CN110689568A (zh) | 2019-10-17 | 2019-10-17 | 一种基于深度图像的立方物体体积的精确计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910990406.1A CN110689568A (zh) | 2019-10-17 | 2019-10-17 | 一种基于深度图像的立方物体体积的精确计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110689568A true CN110689568A (zh) | 2020-01-14 |
Family
ID=69113114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910990406.1A Pending CN110689568A (zh) | 2019-10-17 | 2019-10-17 | 一种基于深度图像的立方物体体积的精确计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110689568A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111561872A (zh) * | 2020-05-25 | 2020-08-21 | 中科微至智能制造科技江苏股份有限公司 | 基于散斑编码结构光的包裹体积测量方法、装置及系统 |
CN112254635A (zh) * | 2020-09-23 | 2021-01-22 | 洛伦兹(北京)科技有限公司 | 体积测量方法、装置及系统 |
CN113963053A (zh) * | 2021-10-18 | 2022-01-21 | 易思维(杭州)科技有限公司 | 一种接触网高度的检测方法 |
CN114979784A (zh) * | 2022-04-13 | 2022-08-30 | 浙江大华技术股份有限公司 | 目标录像的播放方法、装置、电子装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110074784A1 (en) * | 2009-09-30 | 2011-03-31 | Disney Enterprises, Inc | Gradient modeling toolkit for sculpting stereoscopic depth models for converting 2-d images into stereoscopic 3-d images |
WO2014073322A1 (ja) * | 2012-11-08 | 2014-05-15 | 日立オートモティブシステムズ株式会社 | 物体検出装置及び物体検出方法 |
CN109472822A (zh) * | 2018-12-29 | 2019-03-15 | 上海大学 | 基于深度图像处理的物体尺寸测量方法 |
WO2019073117A1 (en) * | 2017-10-11 | 2019-04-18 | Nokia Technologies Oy | APPARATUS, METHOD AND COMPUTER PROGRAM FOR VOLUMETRIC VIDEO |
-
2019
- 2019-10-17 CN CN201910990406.1A patent/CN110689568A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110074784A1 (en) * | 2009-09-30 | 2011-03-31 | Disney Enterprises, Inc | Gradient modeling toolkit for sculpting stereoscopic depth models for converting 2-d images into stereoscopic 3-d images |
WO2014073322A1 (ja) * | 2012-11-08 | 2014-05-15 | 日立オートモティブシステムズ株式会社 | 物体検出装置及び物体検出方法 |
WO2019073117A1 (en) * | 2017-10-11 | 2019-04-18 | Nokia Technologies Oy | APPARATUS, METHOD AND COMPUTER PROGRAM FOR VOLUMETRIC VIDEO |
CN109472822A (zh) * | 2018-12-29 | 2019-03-15 | 上海大学 | 基于深度图像处理的物体尺寸测量方法 |
Non-Patent Citations (1)
Title |
---|
刘三毛;朱文球;孙文静;王业祥;: "基于RGB-D单目视觉的室内场景三维重建", 微型机与应用, no. 01, 13 January 2017 (2017-01-13) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111561872A (zh) * | 2020-05-25 | 2020-08-21 | 中科微至智能制造科技江苏股份有限公司 | 基于散斑编码结构光的包裹体积测量方法、装置及系统 |
CN112254635A (zh) * | 2020-09-23 | 2021-01-22 | 洛伦兹(北京)科技有限公司 | 体积测量方法、装置及系统 |
CN112254635B (zh) * | 2020-09-23 | 2022-06-28 | 洛伦兹(北京)科技有限公司 | 体积测量方法、装置及系统 |
CN113963053A (zh) * | 2021-10-18 | 2022-01-21 | 易思维(杭州)科技有限公司 | 一种接触网高度的检测方法 |
CN114979784A (zh) * | 2022-04-13 | 2022-08-30 | 浙江大华技术股份有限公司 | 目标录像的播放方法、装置、电子装置和存储介质 |
CN114979784B (zh) * | 2022-04-13 | 2024-01-09 | 浙江大华技术股份有限公司 | 目标录像的播放方法、装置、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110570471B (zh) | 一种基于深度图像的立方物体体积测量方法 | |
CN111507390B (zh) | 一种基于轮廓特征的仓储箱体识别与定位方法 | |
CN110689568A (zh) | 一种基于深度图像的立方物体体积的精确计算方法 | |
CN110751640B (zh) | 一种基于角点配对的深度图像的四边形检测方法 | |
CN110751688B (zh) | 一种基于深度图像的剔除噪声的立方物体体积计算方法 | |
CN107369161B (zh) | 一种基于改进欧式聚类的散乱工件点云分割方法 | |
CN102930540B (zh) | 城市建筑物轮廓检测的方法及系统 | |
US9327406B1 (en) | Object segmentation based on detected object-specific visual cues | |
CN110728246A (zh) | 一种基于深度图像的立方物体识别方法 | |
AU2020202249A1 (en) | Feature extraction from mobile lidar and imagery data | |
US9245345B2 (en) | Device for generating three dimensional feature data, method for generating three-dimensional feature data, and recording medium on which program for generating three-dimensional feature data is recorded | |
CN112489212A (zh) | 一种基于多源遥感数据的建筑物智能化三维测图方法 | |
CN105825203B (zh) | 基于点对匹配和几何结构匹配的地面箭头标志检测与识别方法 | |
CN106127791B (zh) | 一种航空遥感影像的建筑物轮廓线提取方法 | |
CN105335973B (zh) | 运用于带钢加工生产线的视觉处理方法 | |
EP4086846A1 (en) | Automatic detection of a calibration standard in unstructured lidar point clouds | |
CN111145228A (zh) | 基于局部轮廓点与形状特征融合的异源图像配准方法 | |
CN114862855B (zh) | 基于模板匹配的纺织品缺陷检测方法及系统 | |
CN113362385A (zh) | 一种基于深度图像的货物体积测量方法及设备 | |
CN113034574A (zh) | 一种基于目标检测的商品地堆面积计算方法及系统 | |
CN116524219A (zh) | 一种基于激光雷达点云聚类的障碍物检测方法 | |
CN114742789A (zh) | 一种基于面结构光的通用零件拾取方法、系统及电子设备 | |
CN115546202B (zh) | 一种用于无人叉车的托盘检测与定位方法 | |
Ecins et al. | Cluttered scene segmentation using the symmetry constraint | |
CN117975437A (zh) | 一种基于三维点云的机场行李类型识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |