基于三维点云的物料堆自动提取和体积测量方法及系统

文档序号:1339284 发布日期:2020-07-17 浏览:6次 >En<

阅读说明:本技术 基于三维点云的物料堆自动提取和体积测量方法及系统 (Automatic material pile extraction and volume measurement method and system based on three-dimensional point cloud ) 是由 黄玉春 张秋兰 杨星宇 于 2020-03-02 设计创作,主要内容包括:本发明公开了一种基于三维点云的物料堆自动提取和体积测量方法及系统,属于港口与矿山自动化领域。首先利用激光器扫描得到物料堆场景的三维点云数据,并进行数据归一化处理,基于点云的空间方向曲率,提取得到物料堆的坡顶区域,实现物料堆的定位。以物料堆的坡顶区域作为种子点,进行区域生长,以提取得到整个物料堆,由于场景中不同物料堆可能会存在相互接触的情况,因此提出了一种竞争生长策略,解决生长过程中物料堆重叠区域归属的不确定性问题。最后本发明在提取得到的物料堆点的基础上,进行物料堆表面三角网构建,以计算物料堆的体积。对于各种不同的场景,本发明具有较高的鲁棒性和准确度。(The invention discloses a three-dimensional point cloud-based material pile automatic extraction and volume measurement method and system, and belongs to the field of port and mine automation. The method comprises the steps of firstly, scanning by a laser to obtain three-dimensional point cloud data of a material pile scene, carrying out data normalization processing, extracting to obtain a slope top area of the material pile based on the curvature of the point cloud in the space direction, and realizing the positioning of the material pile. The method comprises the steps of taking a slope top area of a material pile as a seed point, carrying out area growth to extract the whole material pile, and providing a competitive growth strategy to solve the problem of uncertainty of attribution of an overlapping area of the material pile in the growth process because different material piles may be in mutual contact in a scene. And finally, constructing a triangular net on the surface of the material pile on the basis of the extracted material pile points to calculate the volume of the material pile. The method has higher robustness and accuracy for various different scenes.)

基于三维点云的物料堆自动提取和体积测量方法及系统

技术领域

本发明属于港口与矿山自动化领域,更具体地,涉及一种基于三维点云的物料堆自动提取和体积测量方法及系统。

背景技术

随着电力需求的快速增长,煤矿、电厂等在煤炭开采和运输过程中形成了大量的煤堆,往往占用大量空间。建筑业需要大量的沙子,在港口和砂矿会有大量的沙子堆积。在粮仓或货运站也会堆放大豆、大米等粮堆。对煤堆、沙丘、粮堆、集装箱等物料堆进行定量测量是科学储存、运输管理和作业过程中安全库存维护的关键。因此,对物料堆的高度、体积等参数进行定量测量,可以实现对库存的合理规划和管理。

利用全站仪等传统的大地测量方法获取沙丘信息耗时、费力且精度低,因此需要采取更有效和可靠的体积测量方法。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提出了一种基于三维点云的物料堆自动提取和体积测量方法及系统,由此解决利用全站仪等传统的大地测量方法获取沙丘信息耗时、费力且精度低的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于三维点云的物料堆自动提取和体积测量方法,包括:

(1)获取物料堆的三维点云数据,将所述三维点云数据归一化到目标坐标系,并使所述目标坐标系的z轴垂直于地面,得到目标点云;

(2)基于所述目标点云的空间方向曲率,提取得到所述物料堆的坡顶点;

(3)以所述物料堆的坡顶点作为种子点,进行区域生长,以提取得到整个所述物料堆;

(4)基于提取得到的物料堆点,进行物料堆表面三角网构建,基于构建的所述物料堆表面三角网得到所述物料堆的体积。

优选地,步骤(1)包括:

(1.1)获取不同扫描位置和扫描方向的覆盖程度不同的各组三维点云数据,其中,每组所述三维点云数据之间具有重叠区域,且所述重叠区域中具有同名点;

(1.2)对于任意相邻两组三维点云数据,根据该相邻两组三维点云数据的重叠区域内同名点的对应关系,得到该相邻两组三维点云数据分别所属的两个坐标系之间的旋转矩阵和平移向量,进而将该相邻两组三维点云数据归一化到目标坐标系,以实现所有三维点云数据的拼接;

(1.3)对拼接后的三维点云数据通过坐标旋转,使得所述目标坐标系的z轴垂直于地面,所述目标坐标系的x轴和y轴分别指向物料堆场景的边界。

优选地,步骤(1.3)包括:

利用拼接后的三维点云数据中的地面点拟合出地面的单位法向量作为坐标旋转之后的z轴的方向,并在底面沿着点云边界提取单位法向量作为坐标旋转之后的x轴的方向,将所述地面的单位法向量与边界提取的单位法向量作外积得到坐标旋转之后的y轴的单位方向向量。

优选地,步骤(2)包括:

(2.1)按照xoy平面设定的间隔在所述目标点云空间中生成格网,将每个格网范围内的所有点的坐标平均值作为体素化后中心点的坐标,以所得到的中心点作为体素化点云;

(2.2)计算所述体素化点云中各表面点在多个尺度和多个方向的方向曲率;

(2.3)综合所述体素化点云中各表面点沿各个方向,在各个尺度下的方向曲率,确定各表面点的最终方向曲率;

(2.4)在所述最终方向曲率满足预设条件时,确定所述最终方向曲率对应的表面点为坡顶点。

优选地,由确定所述体素化点云中的表面点P0沿l方向的方向曲率其中,z(P0)为P0点的高程,G是高斯卷积核,G′为G的一阶导数,G″为G的二阶导数,在Gσ,l中σ用于调整方向曲率的尺度。

优选地,由确定所述体素化点云中各表面点的最终方向曲率KP,其中,分别为方向曲率的绝对值取得最大值的尺度和方向;

在所述表面点的最终方向曲率满足KP<KC时,确定所述表面点为坡顶点,其中,Kc为预设阈值,为负值。

优选地,步骤(3)包括:

(3.1)计算各坡顶点在不同方向的坡度值,其中,所述坡顶点的坡度值由所述坡顶点的邻域点和所述坡顶点的高度差与水平距离之比确定,所述水平距离表示所述坡顶点的邻域点和所述坡顶点之间的水平距离;

(3.2)以各所述坡顶点为生长的种子点,若所述种子点在目标方向的坡度值大于预设坡度值阈值,则向所述目标方向生长一个点,并以生长点为新的种子点,继续生长,否则所述种子点在所述目标方向停止生长,直至所有种子点生长完毕,得到整个所述物料堆的坡面。

优选地,所述方法还包括:

在生长过程中,若第一物料堆的待生长点已经被与所述第一物料堆相邻的第二物料堆生长时,获取所述待生长点与所述第一物料堆的中心点的第一距离,所述待生长点与所述第二物料堆的中心点的第二距离,比较所述第一距离与所述第二距离之间的大小,将所述待生长点归属于距离值较小时对应的物料堆,进而完成生长过程。

优选地,步骤(4)包括:

(4.1)基于提取得到的物料堆点,利用所述物料堆和底面的交界点拟合所述物料堆的底面;

(4.2)对所述物料堆的表面点进行构网,组成三角网,其中,所述三角网与所述底面将所述物料堆划分为若干个三棱柱,通过计算每个所述三棱柱的体积,并对每个所述三棱柱的体积进行累加,得到所述物料堆的体积。

按照本发明的另一方面,提供了一种基于三维点云的物料堆自动提取和体积测量系统,包括:

预处理模块,用于获取物料堆的三维点云数据,将所述三维点云数据归一化到目标坐标系,并使所述目标坐标系的z轴垂直于地面,得到目标点云;

坡顶点提取模块,用于基于所述目标点云的空间方向曲率,提取得到所述物料堆的坡顶点;

坡体提取模块,用于以所述物料堆的坡顶点作为种子点,进行区域生长,以提取得到整个所述物料堆;

体积计算模块,用于基于提取得到的物料堆点,进行物料堆表面三角网构建,基于构建的所述物料堆表面三角网得到所述物料堆的体积。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

首先利用激光器扫描得到物料堆场景的三维点云数据,并进行数据归一化处理,基于点云的空间方向曲率,提取得到物料堆的坡顶区域,实现物料堆的定位。以物料堆的坡顶区域作为种子点,进行区域生长,以提取得到整个物料堆,由于场景中不同物料堆可能会存在相互接触的情况,因此提出了一种竞争生长策略,解决生长过程中物料堆重叠区域归属的不确定性问题。最后本发明在提取得到的物料堆点的基础上,进行物料堆表面三角网构建,以计算物料堆的体积。对于各种不同的场景,本发明具有较高的鲁棒性和准确度。

附图说明

图1是本发明实施例提供的一种方法流程示意图;

图2是本发明实施例提供的一种不同方向曲率示意图,其中,第一列为三维点云,第二列为沿指定方向的剖面图,第三列为曲率图;

图3是本发明实施例提供的一种不同尺度曲率示意图;

图4是本发明实施例提供的一种生长过程示意图;

图5是本发明实施例提供的一种竞争生长策略示意图,其中,(a)为错误生长边界,(b)为竞争生长边界;

图6是本发明实施例提供的一种表面构网示意图;

图7是本发明实施例提供的一种体积测量示意图;

图8是本发明实施例提供的一种系统结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

在本发明实例中,“第一”、“第二”等是用于区别不同的对象,而不必用于描述特定的顺序或先后次序。

如图1所示是本发明实施例提供的一种方法流程示意图,具体包括以下几个步骤:

(1)点云数据预处理:由于激光器的一次扫描往往不能获得整个场景的点云数据,因此可以利用场景中的同名点将覆盖程度不同的点云数据归一化到统一的目标坐标系之下,实现多组点云数据的拼接。之后通过坐标旋转使目标坐标系的z轴垂直于地面,即使z轴沿着物料堆体积增加的方向;

(2)坡顶提取:由于物料堆大小不一,不同物料堆的高程也各异,因此很难直接通过高程对物料堆进行定位。而物料堆在其坡顶处坡度变化剧烈,因此,可以利用这一特征,基于空间方向曲率,首先将方向曲率的绝对值大,而且值为负数的坡顶区域的坡顶点提取出来;

(3)坡体提取:在提取得到坡顶区域的坡顶点之后,可以确定物料堆的数量并确定每个物料堆的中心所处的空间位置。物料堆的剩余部分为斜坡,由坡顶向下延伸直至地面。由于物料堆上点的坡度大于地面点的坡度,因此可以通过设置一定的坡度阈值进行区域生长,提取得到整个物料堆;

(4)体积计算:通过计算表面网格与物料堆底面之间形成的三棱柱体的体积来计算物料堆的体积。首先利用物料堆和底面的交界点拟合物料堆的底面,然后对物料堆表面点进行构网,组成三角网,表面的三角网与底面将物料堆划分为很多个三棱柱,通过计算每个三棱柱的体积,并对每个三棱柱的体积进行累加,即可得到整个物料堆的体积。

在本发明实施例中,步骤(1)可以通过以下方式实现:

(1.1)点云融合:

由于真实场景的范围比较大,激光器难以一次实现整个场景的扫描,而且斜坡周围的设备会对物料堆产生遮挡,同时物料堆本身的迎波面也会遮挡其背波面,导致激光器的一次扫描数据往往不能刚好呈现完整的地形。因此,在本发明实施例中,可以通过改变激光器的位置以及扫描的方向,采集覆盖程度不同的点云数据,且采集的不同的点云数据之间具有一定的重叠度,并要求重叠区域中具有若干对(优选3对以上)同名点。然后根据相邻两组三维点云数据的重叠区域内同名点的对应关系,基于最小二乘算法求解该相邻两组三维点云数据所属的两个坐标系之间的旋转矩阵Rr和平移向量Tr,进而将该相邻两组三维点云数据归一化到目标坐标系,以实现所有三维点云数据的拼接;

(1.2)点云归一化:

由于激光器的扫描角度是任意的,为了减少数据上的差异,对拼接之后的点云数据进行归一化,旋转目标坐标系使得z轴垂直于地面,x轴和y轴分别指向物料堆场景的边界,以降低复杂程度和计算量,具体地,首先利用拼接后点云中地面点拟合出地面的单位法向量nz作为旋转之后z′轴的方向,再在底面沿着拼接后点云边界提取单位法向量nx作为x′轴的方向,将nz与nx作外积即可得到y′轴的单位方向向量ny。则旋转矩阵可以通过提取到的三个方向向量计算得到,即

RN=[nx,ny,nz]-1 (1)

在本发明实施例中,步骤(2)可以通过以下方式实现:

(2.1)点云体素化

为了能够便于获得点云中每个点的邻域信息,快速计算坡度与方向曲率,需要先对点云进行体素化处理,得到规则点云。体素化过程按照xoy平面设定的间隔在点云空间中生成格网,将每个格网范围内的所有点的坐标的平均值作为体素化之后中心点的坐标,以所得到的中心点作为新的体素化点云;

(2.2)多尺度方向曲率计算:

假设物料堆表面方程为z=f(z,y),z表示表面点P0(x0,y0)的高程,则P0沿l方向的方向曲率为:

其中分别代表P0点的高程沿着l方向的一阶导数和二阶导数。

如图2所示是本发明实施例提供的一种不同方向曲率示意图,其中,第一列为三维点云,第二列为沿指定方向的剖面图,第三列为曲率图,由于物料堆的大小和形状具有不确定性,在不同方向,物料堆顶部的方向曲率具有不同的大小和尺度。为保证能够完整提取出全部物料堆的顶部,在本发明实施例中,可以从多个尺度和多个方向计算方向曲率,综合这些方向曲率对物料堆顶部进行提取。如图3所示,可以通过使用不同大小的高斯卷积核来完成空间尺度的变换,计算公式为:

其中,z(P0)为P0(x0,y0)点的高程,G是高斯卷积核,G的一阶导数二阶导数在Gσ,l中σ用于调整方向曲率的尺度,如要计算N个尺度的方向曲率则n=1,2,…N,σ1表示最小尺度所对应的σ值。

利用公式(3)对空间点进行多方向、多尺度的曲率分析,点P的最终曲率KP由曲率的绝对值取得最大值的方向和尺度决定,即:

其中,如果一个点沿着某个方向、某个尺度的方向曲率的绝对值越大,它就越有可能属于坡顶点或坡底点,而坡顶点的曲率应为负。因此,在最终曲率为负且曲率的绝对值越大的情况下,则这个点属于坡顶点的可能性就越大。

之后设置一定阈值Kc,当一个点的方向曲率满足

KP<Kc (5)

时,则认为该点是坡顶上的点,其中阈值Kc为一个负值,可以根据实际需要确定。

在本发明实施例中,步骤(3)可以通过以下方式实现:

(3.1)坡度计算:

在本发明实施例中,使用邻域点和该点的高度差与水平距离之比代表该点的坡度值,计算每个点若干个方向(优选八个方向)的坡度值。计算公式为:

其中,(xi,yi,zi)和(xj,yj,zj)分别为Pi点和其八邻域点的三维坐标,j代表不同的邻域位置。

由于物料堆在不同方向的坡度值的大小不同,利用不同方向的坡度值可以提取到物料堆的不同坡面,因此,在本发明实施例中综合利用八个邻域方向的坡度,可以确保各个方向的坡面均被完整的提取出来。

(3.2)斜坡生长:

斜坡和物料堆顶是紧密连接的,斜坡和坡顶构成完整的物料堆,在本发明实施例中,基于坡顶和其余物料堆点的空间关系,以物料堆顶点为生长的种子点,根据八个方向的坡度值,如果种子点某一方向的坡度值大于所设置的阈值,则向该方向生长一个点,并以生长点为新的种子点,继续生长,否则该点该方向停止生长。当所有种子点生长完毕后,生长结束。

如图4所示是本发明实施例提供的一种斜坡上有平台的生长过程示意图,对于一个经典物料堆,生长算法由顶向下,一直生长到坡度平缓的坡底,从而提取得到完整的物料堆。当斜坡上出现小平台时,平台极小的坡度值使得生长算法在该方向提前停止生长。但是由于点的斜方向生长,在平台周围生长出新的种子点,使得生长在平台周围能够继续,由此提取到平台外侧的斜坡。这样平台区域周围的点都被提取出来,但是平台区域点缺失了,根据物料堆的完整性,对提取区域中的孔洞进行填充,从而能够得到完整的物料堆。

(3.3)竞争生长:

如图5所示是本发明实施例提供的一种竞争生长策略示意图,其中,(a)为错误生长边界,(b)为竞争生长边界,当两个相邻物料堆部分区域相互接触时,两个相邻物料堆重合区域的归属存在不确定性。根据生长算法,生长过程沿着坡度较大的方向进行得更快,而率先生长到该点周围的物料堆能够先行将该点提取出来,从而导致两个相邻物料堆边界的不平衡。因此,在本发明实施例中,引入了竞争策略,在生长过程中动态计算出物料堆的中心点,当某一个待生长点已经被另一个物料堆生长时,分别计算该点到两个物料堆中心点的距离,以距离近的物料堆为该点的最终归属。

在本发明实施例中,步骤(4)可以通过以下方式实现:

(4.1)底面拟合:

获得物料堆表面点之后,使用物料堆表面边缘点对底面进行拟合,参与生长竞争的点将在拟合中被剔除,因为竞争点一般不处于物料堆与底面的交界处,具有高于交界点的高程,会影响拟合结果的准确度。空间曲面的方程可以表示为d=ax+by+cz,其中(a,b,c)为底面的点位法向量,d为坐标原点到底面的距离。拟合底面就是要确定a,b,c,d这四个参数,可以采用基于特征值的平面拟合法获得平面参数;

(4.2)构建表面三角网:

如图6所示,在完成体素化的点云的基础上,将所有组成四边形的四个相邻点分割成两个三角形以完成三角网的构建。为了使结果更近似的逼近真实值,分情况对四边形进行剖分。设点云中相邻的A,B,C,D四个点投影在底面上近似的构成一个矩形,Za,Zb,Zc,Zd分别为表面点A,B,C,D到底面的距离,当|Za-Zc|<|Zb-Zd|时,按照AC连线进行剖分,当|Za-Zc|>|Zb-Zd|时,按照BD连线进行剖分。即总是按照高差小的对角连线进行剖分。

(4.3)体积计算:

如图7所示,在得到表面点云构建的三角网后,由于表面点A,B,C和表面点在拟合底面上的投影点A′,B′,C′可以近似地构成三棱柱。则每个小三棱柱的体积为:

其中,SA′B′C′为投影三角形ΔA′B′C′的面积,Za,Zb,Zc分别为表面点A,B,C到底面的距离。将所有物料堆表面点构成的三棱柱的体积进行累加即可得到物料堆的总体积。

如图8所示是本发明实施例提供的一种系统结构示意图,包括:

预处理模块201,用于获取物料堆的三维点云数据,将三维点云数据归一化到目标坐标系,并使目标坐标系的z轴垂直于地面,得到目标点云;

坡顶点提取模块202,用于基于目标点云的空间方向曲率,提取得到物料堆的坡顶点;

坡体提取模块203,用于以物料堆的坡顶点作为种子点,进行区域生长,以提取得到整个物料堆;

体积计算模块204,用于基于提取得到的物料堆点,进行物料堆表面三角网构建,基于构建的物料堆表面三角网得到物料堆的体积。

其中,各模块的具体实施方式可以参考上述方法实施例的描述,本发明实施例将不再复述。

需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。

上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于胎厚测量的轮胎异常变形量的检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!