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

一种基于局部特征增强的RandLA-Net室外场景语义分割方法

2022-07-16 11:09:04 来源:中国专利 TAG:

一种基于局部特征增强的randla-net室外场景语义分割方法
技术领域
1.本发明属于点云场景分割技术领域,涉及一种基于局部特征增强的randla-net室外场景语义分割方法。


背景技术:

2.三维场景理解与分析一直是计算机视觉领域的重要研究内容。近些年,随着三维激光技术、深度相机等三维数据采集技术日趋成熟,三维点云处理方法也得到了快速发展。其中,点云的语义分割作为点云数据处理与分析的核心技术,对于更深层的空间信息的挖掘具有重要意义,在自动驾驶、智能机器人、医学影像分割等领域中发挥着重要作用,具有广泛的应用前景。
3.点云场景语义分割是指通过提取点云特征,将场景划分为若干个具有不同语义类别的区域。对于室外大规模场景数据而言,使用传统方法的语义分割方法对场景进行划分需要耗费较长时间,分割效率较低。随着计算机的硬件存储能力和gpu计算能力的发展,基于深度学习的场景语义分割方法已愈发成熟。pointnet是第一个直接处理点云分类和分割网络,后续有很多人基于该网络进行了不同方向的改进,但这些改进网络都局限于小规模场景的语义分割上。2020年,专门针对室外大场景进行语义分割的randla-net网络的提出打破了这种局限。
4.randla-net网络通过将随机采样和局部特征聚合两大模块用于点云语义分割,即降低了深度学习处理点云的运算时间,也确保了局部特征的提取,在大场景语义分割上取得了显著的分割效果。该网络虽然对局部特征具有较好的表征能力,但未考虑点与其近邻点之间的法向量相互关系,使得局部特征提取不充分。


技术实现要素:

5.本发明的目的是提供一种基于局部特征增强的randla-net室外场景语义分割方法,解决了randla-net网络由于局部特征不充分带来的语义分割精度不高的问题。
6.本发明所采用的技术方案是,一种基于局部特征增强的randla-net室外场景语义分割方法,具体按照如下步骤实施:
7.步骤1,数据预处理:输入原始点云数据,使用体素网格滤波方法对原始场景进行下采样得到预处理后的点云数据;
8.步骤2,法向量计算:使用主成分分析方法估计预处理后的点云表面法向量;
9.步骤3,数据集封装:原始点云包括x,y,z,r,g,b,cls七维信息,其中,x、y、z分别表示点云的三维坐标信息,r、g、b表示点云的颜色信息,cls表示点云所属类别信息,将预处理后的点云表面法向量加入到预处理后的点云数据中,保存成ply格式文件,并生成kdtree文件和投影文件;
10.步骤4,优化randla-net网络编码器并进行特征提取:将封装后的ply格式的点云数据输入优化后的randla-net网络编码器,进行点云特征提取;
11.步骤5,使用randla-net网络解码器进行特征映射:将提取到的点云特征输入randla-net网络解码器,将点云特征映射到每个点上即得到映射后的点云特征;
12.步骤6,语义分割:将映射后的点云特征通过randla-net网络的三个全连接层和一个dropout层处理得到每个点云的类别分数,实现大规模场景语义分割。
13.本发明的特点还在于,
14.步骤1具体为:
15.步骤1.1,计算每个体素网格的中心点
16.在原始点云数据上绘制体素网格,假设当前输入点为pi(xi,yi,zi),体素网格边长l
grid
,则体素网格的中心点坐标w(x
cen
,y
cen
,z
cen
)为,
[0017][0018]
根据体素网格的边长和体素网格的中心点坐标得到每个体素网格在空间中的位置;
[0019]
步骤1.2,计算每个体素网格的重心点
[0020]
假设网格的重心点为g(x,y,z),则对于含有n个点的体素网格,每个体素网格的重心点表示为:
[0021][0022]
步骤1.3,使每个体素网格的重心点替换对应体素网格内的所有点,过滤掉重心点以外的剩余点,得到预处理后的点云数据。
[0023]
步骤2具体为:
[0024]
步骤2.1,首先建立kd树,将预处理后的点云组织成有序的点,并查找每个点的k近邻点;
[0025]
步骤2.2,根据最小二乘原理,将每个点的k邻域点拟合成一个局部平面p,此平面公式如式(3)所示:
[0026][0027]
式(3)中,表示局部拟合平面p的法向量,pk表示点p的任一近邻点,d表示拟合平面p到坐标原点的距离;
[0028]
步骤2.3,计算协方差矩阵m:
[0029][0030]
式(4)中,m表示3*3的协方差矩阵,pk表示当前点,p0表示点p的k邻域点的质心;
[0031]
步骤2.4,使用奇异值分解对协方差矩阵m进行特征值分解,根据矩阵与特征向量之间的关系,将m与之间的关系表示为:
[0032][0033]
式(5)中,λ表示矩阵m对应的特征值矩阵,表示特征值矩阵对应的特征向量矩阵,特征值矩阵由三个特征值组成,当特征值最小时对应的特征向量即为预处理后的点云表面法向量。
[0034]
步骤3具体为,
[0035]
步骤3.1,将预处理后的点云表面法向量加入预处理后的点云数据,并封装成具有x,y,z,r,g,b,n
x
,ny,nz,cls十维特征的ply格式文件,并分成三部分用作训练数据、验证数据和测试数据,其中n
x
、ny、nz分别表示点云表面法向量信息;
[0036]
步骤3.2,在进行网络训练时,搜索每个点周围邻近点的n个点作为一次输入样本,为了方便最邻近点的搜索,使用步骤2.1构建好kd树,将其以二进制形式保存到“点云名_kdtree.pkl”的文件中,即kdtree文件;
[0037]
步骤3.3,将原始点云中的点距离下采样后的点的最邻近点的序号进行存储作为投影文件。
[0038]
步骤4具体为:
[0039]
步骤4.1,将randla-net网络编码器优化为5个编码层,每个编码层包括随机采样模块和扩张残差块,扩张残差块包括两个局部特征提取模块、两个特征聚合模块、数据封装后的点坐标和十维点特征,每个编码层输出的特征维度分别是[32,128,256,512,1024];
[0040]
步骤4.2,局部特征提取模块提取局部特征:对预处理后各点在空间中的相对位置显式地进行编码,获取点云空间的几何特征,将点云中每个点的特征与其邻域点特征进行卷积操作,提取点云的语义特征,对点云的几何特征和语义特征进行连接,得到点的局部特征;
[0041]
步骤4.3,特征聚合模块提取全局特征:通过一个由多层感知机mlp网络和softmax组成的共享函数来学习每个点局部特征对应的权重,即注意力分数,将每个点局部特征的注意力分数与对应的局部特征相乘,最后,对所有加权后的特征求和,得到聚合后点的全局特征;
[0042]
步骤4.4,扩张残差块增大点的感受野:将两个局部特征提取模块、两个特征聚合模块、数据封装后点的坐标以及十维特征堆叠在一起组成扩张残差块,增大点的全局特征维度,提取深层点的全局特征,获取点云特征。
[0043]
步骤4.2具体为:
[0044]
步骤4.2.1,将预处理后的点作为中心点,对点云相对位置编码:通过拼接中心点的三维坐标、邻域点的三维坐标、中心点和邻域点的相对坐标、中心点和邻域点之间的欧式距离以及中心点法向量与邻域点之间的夹角θ,使用mlp多层感知机提取高维度特征,得到点云空间的几何特征f
gi

[0045]
其中,夹角θ计算公式如(6)所示:
[0046]
[0047]
几何特征f
gi
编码公式如(7)所示
[0048][0049]
式(7)中,pi表示中心点坐标,表示邻域点坐标,表示中心点与邻域点的欧式距离,为串接运算;
[0050]
步骤4.2.2,将中心点十维特征x,y,z,r,g,b,n
x
,ny,nz,cls通过mlp得到中心点特征fc,根据k最近邻算法得到的邻域点索引,进一步得到每个中心点对应的邻域点特征将中心点特征与邻域点特征进行卷积操作得到空间的语义特征f
si
,f
si
编码公式如(8)所示:
[0051][0052]
步骤4.2.3,将步骤4.2.1得到的几何特征与步骤4.2.2得到的语义特征连接到一起,得到增强后的局部特征f
ik
,如公式(9)所示,
[0053][0054]
最终得到一组新的局部特征
[0055]
步骤4.3具体为:
[0056]
步骤4.3.1,通过一个共享函数g来学习点的局部特征f
ik
对应的权重,即注意力分数共享函数g由mlp和softmax组成,如公式(10)所示,式(10)中,w是共享mlp的可学习参数;
[0057][0058]
步骤4.3.2,将注意力分数与对应的局部特征f
ik
相乘,并对k个加权后的特征求和,得到点的全局特征,如下式所示:
[0059][0060]
步骤5具体为:
[0061]
使用randla-net网络解码器对点云特征进行映射,每个解码器包括5个解码层,每个解码层包括上采样模块和mlp,上采样模块对中心点进行上采样并通过mlp提取对应的点云特征,将点云特征映射到每个点上,得到映射后的点云特征。本发明的有益效果是:
[0062]
本发明一种基于局部特征增强的randla-net室外场景语义分割方法,从数据处理和网络框架两个角度对randla-net进行改进,优化了randla-net网络对于局部特征提取不充分导致语义分割错误的问题,更高效地提取了点云的深层次特征,对室外大规模场景具有良好的分割效果,在有效性和准确性方面有了一定提升,拥有较好的鲁棒性,丰富了深度学习在大规模点云场景中进行语义分割的方法体系。
附图说明
[0063]
图1是一种基于局部特征增强的randla-net室外场景语义分割方法的网络体系结构图;
[0064]
图2是一种基于局部特征增强的randla-net室外场景语义分割方法新设计的局部特征提取模块组织结构图;
[0065]
图3是一种基于局部特征增强的randla-net室外场景语义分割方法的特征聚合模块组织结构图;
[0066]
图4是一种基于局部特征增强的randla-net室外场景语义分割方法的扩张残差块组织结构图。
具体实施方式
[0067]
下面结合附图和具体实施方式对本发明进行详细说明。
[0068]
实施例
[0069]
本实施例提供一种基于局部特征增强的randla-net室外场景语义分割方法,如图1所示,具体按照如下步骤实施:
[0070]
步骤1,数据预处理:输入原始点云数据,使用体素网格滤波方法对原始场景进行下采样得到预处理后的点云数据;
[0071]
步骤1.1,计算每个体素网格的中心点
[0072]
在原始点云数据上绘制体素网格,假设当前输入点为pi(xi,yi,zi),体素网格边长l
grid
,则体素网格的中心点坐标w(x
cen
,y
cen
,z
cen
)为,
[0073][0074]
根据体素网格的边长和体素网格的中心点坐标得到每个体素网格在空间中的位置;
[0075]
步骤1.2,计算每个体素网格的重心点
[0076]
假设网格的重心点为g(x,y,z),则对于含有n个点的体素网格,每个体素网格的重心点表示为:
[0077][0078]
步骤1.3,使每个体素网格的重心点替换对应体素网格内的所有点,过滤掉重心点以外的剩余点,得到预处理后的点云数据。
[0079]
步骤2,法向量计算:使用主成分分析(principal component analysis,pca)方法估计预处理后的点云表面法向量;
[0080]
步骤2.1,首先建立kd树(k-dimension tree,kd-tree),将预处理后的点云组织成有序的点,并查找每个点的k近邻点;
[0081]
步骤2.2,根据最小二乘原理,将每个点的k邻域点拟合成一个局部平面p,此平面公式如式(3)所示:
[0082][0083]
式(3)中,表示局部拟合平面p的法向量,pk表示点p的任一近邻点,d表示拟合平面p到坐标原点的距离;
[0084]
步骤2.3,计算协方差矩阵m:
[0085][0086]
式(4)中,m表示3*3的协方差矩阵,pk表示当前点,p0表示点p的k邻域点的质心;
[0087]
步骤2.4,使用奇异值分解(singular value decomposition,svd)对协方差矩阵m进行特征值分解,根据矩阵与特征向量之间的关系,将m与之间的关系表示为:
[0088][0089]
式(5)中,λ表示矩阵m对应的特征值矩阵,表示特征值矩阵对应的特征向量矩阵,特征值矩阵由三个特征值组成,当特征值最小时对应的特征向量即为预处理后的点云表面法向量。
[0090]
步骤3,数据集封装:原始点云包括x,y,z,r,g,b,cls七维信息,其中,x、y、z分别表示点云的三维坐标信息,r、g、b表示点云的颜色信息,cls表示点云所属类别信息,将预处理后的点云表面法向量加入到预处理后的点云数据中,保存成ply格式文件,并生成kdtree文件和投影文件;
[0091]
步骤3.1,将预处理后的点云表面法向量加入预处理后的点云数据,并封装成具有x,y,z,r,g,b,n
x
,ny,nz,cls十维特征的ply格式文件,并分成三部分用作训练数据、验证数据和测试数据,其中n
x
、ny、nz分别表示点云表面法向量信息;
[0092]
步骤3.2,在进行网络训练时,不是一次性将所有预处理后的点云数据输入到网络,而是搜索每个点周围邻近点的n个点作为一次输入样本,为了方便最邻近点的搜索,使用步骤2.1构建好kd树,将其以二进制形式保存到“点云名_kdtree.pkl”的文件中,即kdtree文件;
[0093]
步骤3.3,由于预先对数据进行了下采样的预处理,这样通过点云语义分割网络模型得到的语义标签就是处理后的点云数据的,需要对这些语义标签重新恢复到原始点云中,此时需要用到投影文件,因此,将原始点云中的点距离下采样后的点的最邻近点的序号进行存储作为投影文件。
[0094]
步骤4,优化randla-net网络编码器并进行特征提取:将封装后的ply格式的点云数据输入优化后的randla-net网络编码器,进行点云特征提取;
[0095]
步骤4.1,将randla-net网络编码器优化为5个编码层,每个编码层包括随机采样模块和扩张残差块,扩张残差块包括两个局部特征提取模块、两个特征聚合模块、数据封装后的点坐标和十维点特征。每个编码层输出的特征维度分别是[32,128,256,512,1024];
[0096]
步骤4.2,局部特征提取模块提取局部特征:如图2所示,对预处理后各点在空间中的相对位置显式地进行编码,获取点云空间的几何特征,将点云中每个点的特征与其邻域点特征进行卷积操作,提取点云的语义特征,对点云的几何特征和语义特征进行连接,得到
点的局部特征;
[0097]
步骤4.2.1,将预处理后的点作为中心点,对点云相对位置编码:通过拼接中心点的三维坐标、邻域点的三维坐标、中心点和邻域点的相对坐标、中心点和邻域点之间的欧式距离以及中心点法向量与邻域点之间的夹角θ,使用mlp多层感知机提取高维度特征,得到点云空间的几何特征f
gi

[0098]
其中,夹角θ计算公式如(6)所示:
[0099][0100]
几何特征f
gi
编码公式如(7)所示
[0101][0102]
式(7)中,pi表示中心点坐标,表示邻域点坐标,表示中心点与邻域点的欧式距离,为串接运算;
[0103]
步骤4.2.2,将中心点十维特征x,y,z,r,g,b,n
x
,ny,nz,cls通过mlp得到中心点特征fc,根据k最近邻(k-nearestneighbor,knn)算法得到的邻域点索引,进一步得到每个中心点对应的邻域点特征将中心点特征与邻域点特征进行卷积操作得到空间的语义特征f
si
,f
si
编码公式如(8)所示:
[0104][0105]
步骤4.2.3,将步骤4.2.1得到的几何特征与步骤4.2.2得到的语义特征连接到一起,得到增强后的局部特征f
ik
,如公式(9)所示,
[0106][0107]
最终得到一组新的局部特征
[0108]
步骤4.3,特征聚合模块提取全局特征:如图3所示,通过一个由多层感知机(multilayer perceptron,mlp)网络和softmax组成的共享函数来学习每个点局部特征对应的权重,即注意力分数,将每个点局部特征的注意力分数与对应的局部特征相乘,最后,对所有加权后的特征求和,得到聚合后点的全局特征;
[0109]
步骤4.3.1,通过一个共享函数g来学习点的局部特征f
ik
对应的权重,即注意力分数共享函数g由mlp和softmax组成,如公式(10)所示,式(10)中,w是共享mlp的可学习参数;
[0110][0111]
步骤4.3.2,将注意力分数与对应的局部特征f
ik
相乘,并对k个加权后的特征求和,得到点的全局特征,如下式所示:
[0112][0113]
步骤4.4,扩张残差块增大点的感受野:大规模点云数据在每一层会经过持续的随机下采样,导致随机地丢弃某些点的特征,因此增加每个点的接收域是非常有必要的,应保
证输入点云整体的几何细节能被保留,如图4所示,将两个局部特征提取模块、两个特征聚合模块、数据封装后点的坐标以及十维特征堆叠在一起组成扩张残差块,增大点的全局特征维度,提取深层点的全局特征,获取点云特征。
[0114]
步骤5,使用randla-net网络解码器进行特征映射:将提取到的点云特征输入randla-net网络解码器,将点云特征映射到每个点上即得到映射后的点云特征;
[0115]
步骤5具体为:
[0116]
使用randla-net网络解码器对点云特征进行映射,每个解码器包括5个解码层,每个解码层包括上采样模块和mlp,上采样模块对中心点进行上采样并通过mlp提取对应的点云特征,将点云特征映射到每个点上,得到映射后的点云特征。
[0117]
步骤6,语义分割:将映射后的点云特征通过randla-net网络的三个全连接层和一个dropout层处理得到每个点云的类别分数,实现大规模场景语义分割。
[0118]
通过上述方式可知,本发明一种基于局部特征增强的randla-net室外场景语义分割方法,首先通过对中心点与邻近点的坐标、相对位置和法向量方向变化进行编码来提取点云的空间几何特征,通过将中心点特征与邻域点特征进行堆叠得到提取语义特征,并对几何特征和语义特征进行连接得到增强后的特征。其次,通过注意力机制学习每个特征的权重,将权重与特征相乘并对加权后的特征求和得到聚合后的特征。然后,通过扩张残差块来增大点的感受野,提升网络分割精度。最后,使用编码层-解码层的网络结构实现室外场景语义分割。本发明采用端到端的方法,技术路线即为完整,在分割精度方面有了一定提升,并且具有较好的鲁棒性,丰富了深度学习在大规模点云场景中进行语义分割的方法体系。
再多了解一些

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

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

相关文献