一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于点云数据的不规则物体体积测定方法及系统与流程

2021-11-05 20:28:00 来源:中国专利 TAG:


1.本发明涉及体积计算技术领域,特别涉及一种基于点云数据的针对固体废物等不规则物体的体积计算算法及系统。


背景技术:

2.固体废物是指人类在生产生活活动中丢弃的固体或泥状的物质,是环境的一大污染源。在建筑领域,由于近年来城镇化速度的加快,越来越多的建筑物被拆除,并随之产生大量的建筑垃圾,如塑料、木头、石膏板、红砖、混凝土块、瓷砖石材、编织物等,因为其建筑垃圾体量大,类别多,仅仅靠人工分拣难度巨大且经费高昂,为了避免资源浪费与环境污染,国内外已经开始研究智能机器人分选系统,而机器人对固体废物的抓握角度,决定了其是否能够稳固的将建筑垃圾投递到对应类别的箱子中,物体的体积、质心、重量等参数,是决定机器人抓握角度的重要因素。
3.固体建筑垃圾最大的特点就是材料不同且形状各异,无法根据材料或者形状的某一特性去计算其体积,因此有必要设计出一种针对物体不规则特性的体积测定方法。而传统的基于点云的体积计算方式,例如切片法,是按照某一步长连续均匀切片的,这种方法因为没有考虑到点云在z轴的概率密度分布,从而导致在计算过程中损失了一定精度,同样,它的体积计算模块中,按照柱体体积计算方式,没有考虑到上下两个横截面的面积差异,进一步导致点云体积计算精度降低。


技术实现要素:

4.本发明的目的就是为了弥补现有的点云体积测定方法的缺陷,提出了基于点云数据的不规则物体体积测定方法及系统,计算过程简单,计算精度可控,计算结果可靠,提高了对固废的体积计算的准确度。
5.本发明提供一种基于点云数据的不规则物体体积测定方法,包括:对被测不规则物体进行扫描获取其点云数据,可选地,对获取的点云数据进行滤波去噪预处理;点云滤波方法包含高斯滤波、均匀采样滤波、体素滤波、统计滤波等方法,这里采用体素滤波方法对原始点云进行滤波,因为体素格滤波器可以达到向下采样同时不破坏点云本身几何结构的功能。滤波后得到的点云数据是较为均匀平滑的,用来为计算点云体积做准备。
6.根据点云数据中的三维坐标的数据,将点云数据的信息投影到空间系z轴,确定z轴上的概率密度函数,根据得到点云在的z轴投影上的概率密度函数进而确定z轴投影上的曲率函数,利用曲率函数计算z轴投影上各点的曲率;根据各点的曲率、设定的基准间距、基准曲率和相对间距系数确定z轴上相邻切片间距较优长度列表;按照相邻切片间距较优长度列表对点云进行切片,依次得到z轴方向点云台体;
7.对每一切片横截面进行边界检测并计算各个点云切片的横截面面积;根据各个点云切片的横截面面积以及各个台体的高度确定各台体的体积,将全部台体的体积加和得到被测不规则物体的最终体积。
8.进一步地,所述z轴上的概率密度函数表示如下:
9.使用投影方法得到z轴上的分布函数d(z),z∈[z
min
,z
max
],
[0010]
其中z
min
为点云在的z轴投影上的最小坐标值,z
max
为点云在的z轴投影上的最大坐标值;
[0011]
计算概率密度函数表示如下:
[0012][0013]
其中d为点的总数,满足:
[0014][0015]
进一步地,所述曲率函数表示如下:
[0016][0017]
苴中:
[0018]
δp
k
(z)=p(z k
·
δz)

p(z (k

1)δz),
[0019]
c(z)为曲率函数,δz为概率密度函数p(z)的变量z的单位步长符号
“×”
表示叉积,“·”表示点乘,“||||”表示模长;其中k=1,2,3,δp
k
(z)表示概率密度函数值p(z (k

1)δz)与p(z k
·
δz)的差。
[0020]
进一步地,z轴上相邻切片间距较优长度列表确定方法如下:
[0021]
根据下式得到z轴方向上的间距函数:
[0022]
h(z)=h
b
(c(z)

c
b
)s
[0023]
其中c(z)为曲率函数,h
b
为基准间距、c
b
为基准曲率、s为相对间距系数;
[0024]
相邻切片间距较优长度列表确定方法如下:
[0025]
步骤s21:令z=z
min

[0026]
步骤s22:在相邻切片间距较优长度列表l尾部添加z轴坐标值z;
[0027]
步骤s23:令z=z h(z);
[0028]
步骤s24:若z<z
max
,返回步骤s22,否则继续;
[0029]
步骤s25:在列表l尾部添加z轴坐标值z
max
,结束;
[0030]
z
min
为点云在的z轴投影上的最小坐标值,
[0031]
从下到上数第k个切片的z轴坐标表示如下:
[0032][0033]
其中l
i
为相邻切片间距较优长度列表l的第i个元素;
[0034]
其中k为切片数量,且满足
[0035]
h
k
=z
max
[0036]
进一步地,在z轴坐标为h
k
点截取的各个点云切片的横截面面积的计算方法如下:
[0037]
将点云切片垂直于z轴映射到xoy坐标系,得到二维平面图与轮廓点集:
[0038]
{(x
i
,y
i
),1≤i≤n},
[0039]
按照下式计算所述多边形轮廓的面积,作为对应点云切片横截面的面积;
[0040][0041]
其中,i为点云切片横截面顶点的符号系数,n为多边形的顶点数量,且
[0042]
x
n 1
=x1,y
n 1
=y1。
[0043]
进一步地,按照下式计算从下至上数第i个台体的体积
[0044][0045]
其中h
i
为从下至上数第i个台体的高度,s
i
为从下至上数第i个切片的面积;且:
[0046]
h
i
=h
k

h
k
‑1[0047]
照下式计算所述点云的体积:
[0048][0049]
其中n为横截面的数量,台体的数量为n一1。
[0050]
本发明还提供了基于点云数据的不规则物体体积测定系统,包括:数据获取模块、切片模块、边界检测模块和体积计算模块;
[0051]
数据获取模块,用于对被测不规则物体进行扫描获取其点云数据;
[0052]
切片模块,用于根据点云数据中的三维坐标的数据,将点云数据的信息投影到空间系z轴,确定z轴上的概率密度函数,根据得到点云在的z轴投影上的概率密度函数进而确定z轴投影上的曲率函数,利用曲率函数计算z轴投影上各点的曲率;根据各点的曲率、设定的基准间距、基准曲率和相对间距系数确定z轴上相邻切片间距较优长度列表;按照相邻切片间距较优长度列表对点云进行切片,依次得到z轴方向点云台体;
[0053]
边界检测模块,用于对每一切片横截面进行边界检测并计算各个点云切片的横截面面积;
[0054]
体积计算模块,用于根据各个点云切片的横截面面积以及各个台体的高度确定各台体的体积,将全部台体加和得到被测不规则物体的最终体积。
[0055]
本发明所取得的有益技术效果:本发明中提出了一种改进的切片法,该方法首先获得不规则物体的点云信息,将点云信息在z轴方向上投影,根据概率密度函数的曲率进行不等间距的连续切片,从而获得对应于点云主体的一系列离散的点云切片。克服了等间距的切片方式会造成形状体积变化大的部分切片偏少、变化不大的部分反倒切了较多的片的问题。另一方面这种根据切片顺序和多边形的区域逐个搜索点云切片的轮廓边界,从而计算出单个切片点云截面的面积,利用台体计算公式获得相邻切片间部分的体积信息,通过这种方法,将计算出来的切片间部分的体积相加,最后得到整个点云的体积信息。整个算法过程简洁,结果可靠,计算方法高效,精度可控,有效地克服了点云等距分割方法的缺点,提高了原始切片方法的计算精度,为不规则物体的体积计算提供了一个很好的解决方案。
附图说明
[0056]
图1是家庭中常用的沙发的点云数据;
[0057]
图2是本发明实施例提供的基于点云数据的不规则物体体积测定方法步骤示意图;
[0058]
图3是本发明实施例中不规则物的z轴方向点云数据的概率密度函数;
[0059]
图4是本发明实施例中将不规则物从下至上划分为多个台体的示意图。
具体实施方式
[0060]
本发明提供的基于点云数据的不规则物体体积测定方法,能够应用在建筑垃圾智能分选系统场景下,且物体体积计算是智能分拣系统中非常重要的步骤,下面将结合所附图例来解释说明本发明所具有的效果,旨在帮助读者能够更清晰的理解本发明的本质。
[0061]
实施例:基于点云数据的不规则物体体积测定方法,流程示意图如图2所示,具体包括:
[0062]
步骤s1,将采集的包含大量散列点、孤立点的原始点云数据进行预处理操作。具体实施例中可选地,步骤s1具体包括:采用体素滤波方法去除原始点云中的毛刺和明显离群点,得到均匀平滑的点云数据。本实施例采用的是家庭中常用的沙发的点云数据,如图1所示。
[0063]
步骤s2,根据滤波后的点云中的三维坐标的数据,将滤波后的点云数据的信息投影到空间系z轴,得到点在z轴上的分布函数,进一步计算z轴上的概率密度函数。
[0064]
本实施例中,使用投影方法得到z轴上的分布函数:d(z),z∈[z
min
,z
max
],令点的总数为d,概率密度函数表示如下:
[0065][0066]
满足:
[0067][0068]
根据得到点云在的z轴投影上的概率密度函数(如图3所示),计算出该概率密度函数上的点在z轴方向的曲率变化函数。
[0069]
按照下式曲率计算公式计算z轴投影上各点的曲率:
[0070][0071]
其中:
[0072]
δp
k
(z)=p(z k
·
δz)

p(z (k

1)δz),
[0073]
c(z)为得到的曲率函数,δz为概率密度函数p(z)的变量z的单位步长,符号
“×”
表示叉积,“·”表示点乘,“||||”表示模长。。
[0074]
设定基准间距、基准曲率与相对间距系数,根据设计出的间距计算公式计算出z轴方向上的间距函数。
[0075]
设定基准间距h
b
、基准曲率c
b
和相对间距系数s,根据下式得到z轴方向上的间距函数:
[0076]
h(z)=h
b
(c(z)

c
b
)s
[0077]
该函数的意义为:若以z轴上z0为某一片切片的高度,则该切片与相邻上方切片的较优间距为h(z0)。
[0078]
从z轴最低点开始,运行设计出的间距获知算法,得到相邻切片间距较优长度列表。按照如下间距获知算法,得到相邻切片间距较优长度列表l:
[0079]
步骤s21:令z=z
min

[0080]
步骤s22:在列表l尾部添加z轴坐标值z。
[0081]
步骤s23:令z=z h(z)。
[0082]
步骤s24:若z<z
max
,返回步骤s22,否则继续。
[0083]
步骤s25:在列表l尾部添加z轴坐标值z
max
,结束。
[0084]
进一步地,根据得到的相邻切片间距较优长度列表l所述的分割步长进行不等间距分割,得到多个垂直于z轴的横截面。从下到上数第k个切片的z轴坐标表示如下:
[0085][0086]
其中k为切片数量,且满足
[0087]
h
k
=z
max

[0088]
根据得到的相邻切片间距较优长度列表,从z轴最低点开始,以垂直于z轴方向为横截面,对被测物体进行切片,得到多个垂直于z轴的点集。根据步骤s21

s25所述算法可以获得整个点云的切分位置,即z轴坐标集合。
[0089]
按照步骤s2获得的相邻切片间距较优长度列表对点云进行切片,点云整体被切割为多个台体,如图4所示。
[0090]
步骤s3,使用基于α

shape边界检测算法,获取点云切片横截面的轮廓边界。
[0091]
步骤s4,得到切分z轴坐标集合后,还需要体积计算公式中另一个关键的参数,即点云切片横截面面积s。本步骤确定点云切片横截面轮廓的边界点;根据所述的横截面轮廓边界,计算横截面的面积。
[0092]
具体为:按顺序依次连接点云切片的边界点,取点云切片的轮廓边界,得到多边形,且不同的点云切片轮廓不相同,轮廓边界为任意多边形。
[0093]
求解任意多边形的面积,步骤包括:
[0094]
将点云切片垂直于z轴映射到xoy坐标系,得到二维平面图与轮廓点集:
[0095]
{(x
i
,y
i
),1≤i≤n}
[0096]
一般情况下,由于物体获得的点云图像是不规则的,所以不同点云切片的轮廓边界得到的多边形为任意多边形。求解任意多边形的面积,首先需要知道多边形顶点的坐标信息,即点云中三维坐标的x、y信息,此处将点云的截面垂直于z轴投影到xoy平面。
[0097]
按照下式计算所述多边形轮廓的面积,作为对应点云切片横截面的面积。
[0098][0099]
其中,i为点云切片横截面顶点的符号系数,n为多边形的顶点数量。
[0100]
步骤s5,根据所述横截面,将被测物体从下至上分解为多个台体,对每个台体使用台体体积计算公式获取体积,再全部加和得到被测物体的最终体积。
[0101]
用所述横截面,根据所述的相邻切片间距较优长度列表l所述的分割步长,将点云整体分割为多个台体,根据所述横截面的面积,计算所述台体的体积,步骤包括:
[0102]
按照下式计算从下至上数第i个台体的体积
[0103][0104]
其中hi为从下至上数第i个台体的高度,s
i
为从下至上数第i个切片的面积。
[0105]
按照下式计算所述点云的体积:
[0106][0107]
其中n为横截面的数量,即台体的数量为n

1。
[0108]
计算出台体体积δv
i
,其中i为从下至上数第i个台体的体积,例如,图中s1到s
10
为第一个台体,s
10
到s
11
为第二个台体。。。,以此类推。
[0109]
则点云体积为所以台体体积相加结果,计算公式为:
[0110][0111]
其中n为横截面的数量,台体的数量为n

1。
[0112]
本发明提供的方法有效地克服了原始点云分割方法的缺点,提高了原始切片方法的计算精度,为建筑垃圾不规则固废物体的体积计算提供了一个很好的解决方案。
[0113]
与以上实施例提供的基于点云数据的不规则物体体积测定方相对应地,本实施例提供了基于点云数据的不规则物体体积测定系统,包括:数据获取模块、切片模块、边界检测模块和体积计算模块;
[0114]
所述数据获取模块,用于对被测不规则物体进行扫描获取其点云数据;
[0115]
所述切片模块,用于根据点云数据中的三维坐标的数据,将点云数据的信息投影到空间系z轴,确定z轴上的概率密度函数,根据得到点云在的z轴投影上的概率密度函数进而确定z轴投影上的曲率函数,利用曲率函数计算z轴投影上各点的曲率;根据各点的曲率、设定的基准间距、基准曲率和相对间距系数确定z轴上相邻切片间距较优长度列表;按照相邻切片间距较优长度列表对点云进行切片,依次得到z轴方向点云台体;
[0116]
所述边界检测模块,用于对每一切片横截面进行边界检测并计算各个点云切片的横截面面积;
[0117]
所述体积计算模块,用于根据各个点云切片的横截面面积以及各个台体的高度确
定各台体的体积,将全部台体加和得到被测不规则物体的最终体积。
[0118]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0119]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0120]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0121]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0122]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123]
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献