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

一种基于多特征输入和矩阵监督的点云分割方法

2023-08-05 12:07:57 来源:中国专利 TAG:


1.本发明涉及机器学习技术领域,尤其涉及一种基于多特征输入和矩阵监督的点云分割方法。


背景技术:

2.点云分割是目前点云研究的热门领域,其在自动驾驶、遥感、室内外场景规划和vr/ar等应用中具有重要的价值;点云数据具有信息丰富、精度高、数据获取容易等优势,但是也由于其信息量大且复杂,对点云特征的有效提取成为了一个关键且困难的问题;目前大部分方法只停留在表面对点云特征的抽象总结,或是使用传统检测算子,或是直接使用深度学习的编码器映射特征之后再将特征输入到深度学习网络进行训练,但是,这样做会存在一些局限性,比如每个方法对特征抽取侧重点不同,导致对每个特征的利用程度不同,最终使是网络性能受到影响。
3.为了克服这一局限性,一种可能的解决方法是解耦表征学习,其思路是将每一个特征都是为独立的,并将可能互相干扰的特质分离开,使网络分别学习各个特征;但是在点云分割领域,目前对特征解耦和深度互学习的研究还不够充分,同时,现有的深度互学习方法很少考虑使用解耦的多个特征或者不同的特征组来进行同一个互学习任务,也很少探索更高效的互学习机制,因此,如何对点云进行分割是目前需要考虑的问题。
4.需要说明的是,在上述背景技术部分公开的信息只用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本发明的目的在于克服现有技术的缺点,提供了一种基于多特征输入和矩阵监督的点云分割方法,解决了现有方法处理具有复杂特征的数据是,难以有效提取和利用不同特征的信息问题,以及小于深度互学习方法主要是基于相同特征的输入,不能针对不同特征的输入问题以及现有深度互学习对网络提升效果不足的问题。
6.本发明的目的通过以下技术方案来实现:一种基于多特征输入和矩阵监督的点云分割方法,所述点云分割方法包括:
7.步骤一、获取数据集得到点云训练以及测试数据,采用多个基准网络组成多特征互学习网络对整体数据集上的点云数据进行解耦分类;
8.步骤二、将拆分后的点云数据分别输入到选取的基准网络中测试精度,分别计算其预测的平均准确度和平均交并比数值,选出表现好的解耦特征组合;
9.步骤三、在每个基准网络训练过程中通过训练获得的结果计算kl散度进行联系,使得基准网络之间传递各自学习到的知识,每个基准网络接收不同的特征数据,使得每个基准网络侧重处理其对应的数据;
10.步骤四、按照步骤三的训练进行迭代,直到达到预设好的训练次数为止,通过多特征互学习网络结合外积矩阵kl散度在线训练互学习网络,最终得到点云语义分割结果。
11.所述步骤一具体包括以下内容:
12.下载s3dis公开数据集获得点云训练以及测试数据,提取其中每个点的位置、颜色和标签信息,利用open3d库通过位置信息计算出每个点自身的法向量,得到p={p1,p2,...,pn}∈r
n*(3 c)
,其中,3 c表示通道数目,3为点的三维坐标信息xyz信息,c中包括颜色rgb信息和点云表面法向量分量(n
x
,ny,nz)信息;
13.选取point transformer作为基准网络,点云中的所有点都具有三维坐标xyz信息、颜色rgb信息、点云表面法向量分量(n
x
,ny,nz)信息,针对这些信息将整体特征进行拆散和解耦,选取特征组合输入进网络中。
14.所述基准网络包括编码器、解码器和分类器,所述编码器用来提取特征信息,其由下采样模块和transformer模块组成;所述解码器用于逐步利用特征信息凝练语义信息,其由上采样模块和transformer模块组成;所述分类器用于通过解码器凝练的语义信息对所有点云进行分类。
15.所述将拆分后的点云数据分别输入到选取的基准网络中测试精度包括:
16.a1、将n
x
nynzrgb六个通道的信息特征输入到input_channels=6通道的point transformer网络中,将xyzrgb六个通道的信息特征输入到input_channels=6通道的point transformer网络中;
17.a2、通过最远点采样在整体点云空间中均匀的选取若干个点,再使用k近邻的方法以这若干个点为球心,以预设距离为半径构建球形邻域,在邻域内采样后得到k个点,通过全连接网络后再进行全局池化,将k近邻的信息集中在中心点上,减少点云数据的同时增加每个点的特征,实现对关键点机器邻域内的特征进行提取的效果;
18.a3、依次进行下采样和上采样,将经过采样后的数据通过point transformer网络中的transformer模块进一步提取点云特征,并对点云数据进行多次迭代处理,直到达到预设的下采样和上采样大小;
19.a4、将结果通过一个全连接网络作为分类层,全连接网络最后一层为softmax层,对全连接网络处理得到的数据进行归一化处理,对最终采用获取的结果进行预测;
20.a5、对获得的类别预测和真实物体类别作交叉熵运算,得到loss值作为损失,经过反向传播后对这个网络进行训练,然后再次从a1步骤开始训练,直到达到设置好的训练次数。
21.所述a3步骤具体包括以下内容:
22.a31、将下采样后的数据经过point transformer网络中的transformer模块进一步提取点云特征信息,通过transformer模块将点云数据xi通过ψ、α三个不同的全连接层进行逐点特征变换,得到ψ(xi)和α(xi)三个特征,同时将k近邻中所有点和中心点的相对距离为特征通过一个全连接层得到位置编码δ,随后通过公式对处理得到的以上特征进行变换,其中γ为全连接层,ρ为归一化层,

为哈达玛积,经过变换后,得到yi为transformer模块最终求得的特征;
23.a32、重复执行a2和a31步骤,直到达到预设的下采样大小;
24.a33、利用三线性插值法进行补点,对得到的数据进行上采样并结合下采样时的特
征作为最终的上采样结果;
25.a34、将上采样后的数据经过point transformer网络中的transformer模块进一步提取点云特征信息,通过transformer模块重复a31步骤中对点云数据的处理内容;
26.a35、重复执行a33和a34步骤,直到达到预设的上采样大小。
27.所述步骤三具体包括以下内容:
28.b1、将s3dis的数据dataset按照步骤二选出的特征划分为dataset1和dataset2两组特征;
29.b2、在每一次训练时同时将dataset1和dataset2两组特征分别输入到学生网络model1和model2中进行训练,得到两组预测值logits1和logits2;
30.b3、计算各个学生网络预测的logits1和logits2分别与标签label的交叉熵损失得到loss_ce1和loss_ce2;
31.b4、计算各个学生网络间外积矩阵的kl散度损失,将logits1和logits2对自身分别进行外积得到两个矩阵,两个矩阵之间的kl_loss1和kl_loss2作为互学习损失;
32.b5、使用loss_ce1和kl_loss1损失之和反向传播更新model1,使用loss_ce2和和kl_loss2损失之和反向传播更新model2。
33.本发明具有以下优点:一种基于多特征输入和矩阵监督的点云分割方法,解耦特征并通过互学习方式让不同的网络同时学习不同的特征,相互传递知识来增强每个网络对多特征信息的理解和利用,极大提升了网络的泛化性能,使得点云分割网络在面对实际分割场景时有着更好的鲁棒性和更准确的分割精度。
附图说明
34.图1为本发明的多特征互学习结构示意图;
35.图2为本发明的外积矩阵计算示意图。
具体实施方式
36.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下结合附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的保护范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。下面结合附图对本发明做进一步的描述。
37.本发明具体涉及一种多特征输入互学习的点云语义分割方法,针对处理具有复杂特征的数据时,很难有效地提取和利用不同特征的信息问题。将复杂的特征分开,交给不同的网络处理,使得每个网络可以专注于自己擅长或感兴趣的特征,从而提高特征的提取效率和质量;针对大部分深度互学习方法主要是基于相同特征的输入,对不同特征的输入问题研究较少问题。对互学习输入网络之间输入不同特征进行了探索,采用互学习的方式将不同特征处理网络连接起来,使得每个网络可以从其他网络中获取补充或参考的信息,从而增强每个网络对多特征信息的理解和利用;针对传统深度互学习对网络提升效果不足问
题,提出了一种基于标签外积矩阵的相似度度量方法改良深度互学习过程,这样可以使得网络之间的互学习效果更加明显和有效;具体包括以下内容:
38.s1、通过下载s3dis公开数据集获得点云训练以及测试数据,该数据集一共含有6个场景,每个场景由若干个区域组成,每个区域包含若干个点云数据,每个点云数据有xyz三个特征表示位置信息,rgb三个特征表示颜色信息,以及一个类别标签表示所属的物体类别,其分割任务主要是在第5个场景上测试,并在其他场景上进行训练和验证。下载后通过程序提取其中每个点的位置、颜色和标签信息,并通利用open3d库通过位置信息计算出每个点自身的法向量。最终获得p={p1,p2,...,pn}∈r
n*(3 c)
,3 c为通道数目,3为点的三维坐标信息xyz信息,c中包括颜色rgb信息和点云表面法向量分量n
x n
y nz信息;
39.s2、选取point transformer为基准网络,网络具体信息如下:
40.整体网络由编码器、解码器和分类器组成,编码器由下采样模块和与下采样输出维度对应的transformer模块组成,用来提取特征信息;解码器由上采样模块和与上采样输出维度对应的transformer模块组成,用来逐步利用特征信息凝练语义信息;最后的分类层使用解码器凝练的语义信息对所有点云进行分类。
41.s3、对整体数据集上点云数据进行解耦分类,点云中的所有点都具有三维坐标xyz信息、颜色rgb信息、点云表面法向量分量(n
x
,ny,nz)信息,故针对这些信息将整体特征拆散、解耦,例如选取rgb,xyzrgb等特征组合输入进网络中,尝试多种可能的特征组合。
42.s4、将点云信息输入进基准网络的编码器,些拆分后的点云数据分别输入到所选用的基准网络中测试精度,由于选用的基准网络是point transformer,具体方式如下:
43.子步骤1:将选好特征的数据输入到含有对应通道的point transformer网络中,如将n
x
nynzrgb六个通道的信息特征输入到input_channels=6通道的point transformer网络中,将xyzrgb六个通道的信息特征输入到input_channels=6通道的point transformer网络中;;
44.子步骤2:通过最远点采样(farthest point sampling)在整体点云空间中均匀的选取若干个点,再使用k近邻的方法(k-nearest neighbor)以这若干个点为球心,以特定半径构建球形邻域,在邻域采样k个点,通过全连接网络后再进行全局池化,将k近邻的信息集中在中心点上,减少点云数量的同时增加每个点的特征,做到对几个关键点及其邻域内的特征进行提取的效果;
45.子步骤3:将下采样网络采样后的数据经过point transformer网络中的transformer模块,进一步提取点云特征信息,transformer模块具体是将点云数据xi通过ψ、α三个不同的全连接层进行逐点特征变换,得到ψ(xi)和α(xi)这三个特征,同时将k近邻步骤时所有点和中心点的相对距离为特征通过一个全连接层得到位置编码δ,随后对处理得到的以上特征进行变换:其中γ为全连接层,ρ为归一化层,

为哈达玛积。经过以上变换后,yi为transformer层最终求得的特征;
46.子步骤4:反复执行2、3步,直到达到预设的下采样大小,作为优选一共选取5个下采样模块和5个transformer模块组成编码器,数据经过5个下采模块后特征通道数的变化分别为(input_channels,32)(32,64)(64,128)(128,256)(256,512),最终数据被处理为
512通道的特征;
47.子步骤5:利用三线性插值法(trilinear interpolation)补点,对上一步得到的数据进行上采样,可以看做是下采样的逆过程,同时其结合在之前下采样时的特征作为最终的上采样结果;
48.子步骤6:将上采样网络采样后的数据经过point transformer作者设计的transformer模块,进一步提取点云特征信息,具体步骤和子步骤3一样;
49.子步骤7:反复执行5、6步,直到达到预设的上采样大小,作为优选一共选取5个上采样模块和5个transformer模块组成解码器,5个上采特征数变化为(512,512)(512,256)(256,128)(128,64)(64,32),最终数据被处理为32通道的特征;
50.子步骤8:将结果通过一个全连接网络作为分类层,特征处理变化为(32,13),对最终采样获得的结果进行预测,其中全连接网络最后一层为softmax层,对网络处理到的数据进行归一化,将13通道的值限制在0-1之间且相加等于1,最终数据称为logits,表示对每个输入点类别的预测;
51.子步骤9:对获得的类别预测和真实物体类别作交叉熵(cross-entropy)运算,获得loss值作为损失,经过反向传播(back-propagation)后对基准网络进行训练,然后再次从子步骤1开始训练,直到达到设置好的训练轮数;
52.s5、为了给之后互学习网络的训练提供更好的互学习学生分支,评估这些特征输入基准网络的最好的输出结果,分别计算其预测的平均准确度(mean accuracy)和平均交并比(mean intersection over union)数值,选出表现好的解耦特征组合,因单独训练时出色的miou表现,作为优选选择了n
x
nynzrgb和xyzrgb特征;
53.s6、根据如图1所示设计多特征互学习网络,将特征分组,并分别输入到不同的学生网络之中,具体步骤如下所示:
54.子步骤1:将s3dis的数据dataset按s5选出的特征分成dataset1和dataset2两组特征,作为优选,dataset1的特征为xyzrgb,dataset2的特征为n
x
nynzrgb;
55.子步骤2:每一轮训练时同时将dataset1和dataset2分别输入到学生网络model1和model2之中进行训练,其中model1和model2的结构都为s4步骤中提到的point transformer基准网络,最终得到两组预测值logits1和logits2,每组logits的通道数为总类别13,其数值代表网络对每个点属于13类中概率大小的预测;
56.子步骤3:计算各个学生网络预测的logits1和logits2分别与标签label的交叉熵损失得到loss_ce1和loss_ce2;
57.子步骤4:计算互学习kl散度损失,与一般互学习计算两个logits1和logits2的kl损失不同,本发明计算各个学生网络间外积矩阵的kl损失。如图2所示外积矩阵即为经过基准网络得到预测数据对其本身进行外积得到的矩阵,logits1和logits2对自身分别进行外积得到两个矩阵,两个矩阵之间的kl_loss1和kl_loss2作为互学习损失;
58.子步骤5:使用loss_ce1和kl_loss1损失之和反向传播更新model1,使用loss_ce2和kl_loss2损失之和反向传播更新model2;
59.s7、按照s6步骤训练若干轮次,直到到达到设置好的训练轮数。
60.在本发明多特征输入以及外积矩阵监督的条件下,找到了n
x
nynzrgb,xyzrgb的这一特征组合,其miou达到了72.34%,比现有的提升了2%左右。
61.本发明将复杂的特征分开,交给不同的网络处理,使得每个网络可以专注于自己擅长或感兴趣的特征,从而提高特征的提取效率和质量;采用互学习的方式将不同特征处理网络连接起来,使得每个网络可以从其他网络中获取补充或参考的信息,从而增强每个网络对多特征信息的理解和利用;针对互学习中kl散度监督标签效果比较弱的情况,提出了一种基于外积矩阵的相似度度量方法,即每个网络经过网络层获得的概率预测值向量对自身进行外积,其意义相当于每个网络在其自身预测概率下进行了两次独立重复试验的概率,对这个矩阵求kl散度可以使得网络之间的互学习效果更加明显和有效;可以让不同特征的网络同时进行训练并互相传递知识。与传统的深度互学习方法不同,本文的方法不要求所有网络共享相同的数据源或输入特征,而是允许每个网络根据自己设计或选择的特征进行训练。这样可以使得每个网络可以专注于自己擅长或感兴趣的特征,并且可以从其他网络中获取补充或参考的信息。
62.以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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