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

基于双Transformer分支的三维模型分类方法

2022-08-10 07:07:11 来源:中国专利 TAG:

基于双transformer分支的三维模型分类方法
技术领域
1.本发明涉及三维模型分类过程中,二维视图表征三维模型存在难以捕捉细节信息且分类准确率低下的问题。


背景技术:

2.近年来,三维模型被广泛应用,例如机器人技术、医学诊断和三维建模等。三维模型分类作为各种应用的基础,已经成为计算机视觉领域的一个重要研究方向。然而,由于三维形状固有的复杂性,三维形状分类是一个挑战性的任务。目前,三维模型分类的主流方法是从不同的角度对三维模型进行投影,获得一组二维视图来表示三维模型。由于深度神经网络在二维图像分析中的快速发展,基于视图的三维模型分类方法取得了令人满意的性能。
3.目前,基于视图的三维模型分类方法通常侧重于对视图采用不同的深度神经网络模型来挖掘视图间的区分性以及时序关系,这些方法都是视图级的,无法从多个视图中捕获局部细节信息,这些细微的和具有区分性的局部细节正是有效分类三维模型的关键。因此,本发明提出了一种基于双transformer分支的三维模型分类方法,该方法既可以有效获取三维模型的全局信息,又可以获取细粒度的局部信息。该方法有两个分支,分别是基于块特征的transformer子网络和基于视图特征的transformer子网络。基于块特征的transformer子网络以单个视图为输入,每个视图被分成多个块,提取块之间的关联关系,并且给每个视图中的不同块分配不同的注意力值,这样可以有效表示每个块重要性的不同,以促进聚合后的三维模型特征具有丰富的局部细节,更具有区分性。基于视图特征的transformer子网络采用transformer为每个视图分配不同的注意力值,突出同一对象的所有视图之间的不同重要性,将视图特征有效地聚合为三维模型的全局特征。最后,两个分支通过协同学习在整个训练过程中相互学习和引导。
4.协同学习通过联合学习多个模型完成同一任务。本发明设计了一个协同学习框架,该框架包括两个基于transformer的分支,一个用于提取三维模型细微的和具有区分性的局部特征,另一个用于提取三维模型的全局特征。与现有的使用多个相似网络进行隐式知识蒸馏的协同方法不同,我们的语义协同学习两个transformer分支,它们分别学习三维模型的局部特征和全局特征以进行显式知识蒸馏,进而提高对三维模型的分类准确率。


技术实现要素:

5.本发明涉及三维模型分类过程中,二维视图表征三维模型存在难以捕捉细节信息且分类准确率低下的问题。
6.上述发明目的主要是通过以下技术方案实现的:
7.基于双transformer分支的三维模型分类方法,包含获取投影视图阶段、网络训练阶段和三维模型分类阶段:
8.所述获取投影视图阶段包含步骤:
9.s1、将每个三维模型都沿着一致的轴垂直定向,然后在北纬30
°
均匀固定12个视点相机分别获取视图。
10.所述网络训练阶段包含步骤:
11.s2、将全部投影视图作为训练数据放入提取全局特征的transformer分支网络中进行训练;
12.s3、将全部投影视图作为训练数据放入提取局部特征的transformer分支网络中进行训练;
13.s4、通过协同学习优化两个分支网络。
14.s41、通过协同学习减小双分支网络提取的全局特征和局部特征的l2距离使它们在整个训练过程中相互学习和引导。表达式如下:
[0015][0016]
其中,k表示训练时的batch-size,x
v,i
和x
b,i
分别表示两个网络提取的全局特征和局部特征。
[0017]
所述三维模型分类阶段包含步骤:
[0018]
s5、将三维模型的所有投影视图放入提取全局特征的transformer网络中提取视图级别特征,每个视图分配不同的注意力值,突出同一对象的所有视图之间的重要性不同,将视图特征有效地聚合为三维模型的全局特征;
[0019]
s51、将全部投影视图最大池化后映射为一维向量;
[0020]
s52、将所有一维向量作为transformer网络的输入提取三维模型全局特征。
[0021]
s6、将三维模型的每张投影视图切割后放入提取局部特征的transformer网络中提取块级别特征,为不同块分配不同的注意力值,这样可以有效表示每个块重要性的不同,以促进聚合后的三维模型特征具有丰富的局部细节,更具有区分性;
[0022]
s61、将每张投影视图通过cnn提取特征后切割成若干个同样大小的块,把每个块映射成一维向量;
[0023]
s62、将每张投影视图所有块映射的一维向量作为transformer网络的输入提取局部特征;
[0024]
s63、将提取的所有投影视图的局部特征双线性池化后得到三维模型的局部特征。双线性池化包含的步骤:
[0025]
对所有影视图提取的局部特征向量自外积后累加,输出双线性特征矩阵。再将得到的双线性特征矩阵sum pooling后展平,并通过归一化得到三维模型的局部特征x。表达式如下:
[0026][0027]
其中,s
i,0
表示三维模型第i张投影视图的局部特征向量,n表示三维模型投影视图的数量,n表示sum pooling的窗口尺寸,vec(
·
)表示展平操作,norm(
·
)表示归一化操作。
[0028]
s7、将两个分支网络提取的特征融合后完成分类。
[0029]
s71、将双分支网络提取的全局特征和局部特征加权相加后得到表示三维模型的
特征,然后预测该三维模型的类别输出分类结果z。表达式如下:
[0030]
z=argmax(αx
v,i
(1-α)x
b,i
)
t

[0031]
其中,α服从u(0,1)分布,x
v,i
和x
b,i
分别表示两个网络提取的全局特征和局部特征。
[0032]
发明效果
[0033]
本发明提供了一种基于双transformer分支的三维模型分类方法。在获取投影视图阶段,每个三维模型沿着一致的轴垂直定向,并在北纬30
°
均匀固定12个视点相机分别获取视图;在网络训练阶段,首先分别训练基于块特征的transformer子网络和基于视图特征的transformer子网络,然后采用协同学习的方法将二者在训练过程中互相监督,进而提高分类效果;在三维模型分类阶段,基于块特征的transformer子网络提取三维模型块级别的局部特征,实现细粒度的三维模型分类,基于视图特征的transformer子网络将视图特征有效地融合为三维模型的全局特征,实现粗粒度的三维模型分类,然后通过加权相加的方式融合两个子网络提取的特征,最后预测该三维模型的类别。实验表明,本发明可以有效提高三维模型的分类准确率。
附图说明
[0034]
图1投影点相机位置图;
[0035]
图2总体框架图;
[0036]
图3modelnet10的混淆矩阵;
[0037]
图4modelnet40的混淆矩阵。
[0038]
具体实施方法
[0039]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1:
[0040]
本发明是基于双transformer分支的三维模型分类方法,包含获取投影视图阶段、网络训练阶段和三维模型分类阶段:
[0041]
所述获取投影视图阶段包含步骤:
[0042]
s1、将每个三维模型都沿着一致的轴垂直定向,然后在北纬30
°
均匀固定12个视点相机分别获取视图。
[0043]
所述网络训练阶段包含步骤:
[0044]
s2、将s1得到的全部投影视图作为训练数据放入提取全局特征的transformer分支网络中进行训练;
[0045]
s3、将s1得到的全部投影视图作为训练数据放入提取局部特征的transformer分支网络中进行训练;
[0046]
s4、采用协同学习的方法将s1和s2中的网络在训练过程中互相监督。
[0047]
所述三维模型分类阶段包含步骤:
[0048]
s5、将三维模型的所有投影视图放入提取全局特征的transformer网络中提取视
图级别特征,每个视图分配不同的注意力值,突出同一对象的所有视图之间的重要性不同,将视图特征有效地聚合为三维模型的全局特征;
[0049]
s6、将三维模型的每张投影视图切割后放入提取局部特征的transformer网络中提取块级别特征,为不同块分配不同的注意力值,这样可以有效表示每个块重要性的不同,以促进聚合后的三维模型特征具有丰富的局部细节,更具有区分性;
[0050]
s7、将s5得到的全局特征和s6得到的局部特征融合后预测该三维模型的类别,最后输出分类结果。
[0051]
本发明实施例通过在模型训练阶段,以本文所述获取投影视图方法获取二维视图为训练数据,分别放入提取全局特征的transformer分支网络和提取局部特征的transformer分支网络中进行训练,然后采用协同学习的方法将二者在训练过程中互相监督学习;在三维模型分类阶段,将从三维模型中投影出的二维视图分别放入两个分支网络中提取全局特征和局部特征,然后通过加权相加的方式融合两个子网络提取的特征,最后预测该三维模型的类别。通过本发明可以有效提高对三维模型的分类准确率。
[0052]
下面对本发明实施例进行详细的说明:
[0053]
本发明实施例为在modelnet10数据库中检索chair_890,应用本发明方法分类包含获取投影视图阶段、网络训练阶段和三维模型分类阶段:
[0054]
所述获取投影视图阶段包含步骤:
[0055]
s1、将每个三维模型都沿着一致的轴垂直定向,然后在北纬30
°
均匀固定12个视点相机分别获取视图。
[0056]
经过以上处理,每个三维模型获取到12张二维视图,modelnet10视图数据集共获取58788(4899
×
12)张二维投影视图。投影点相机位置如图1所示。
[0057]
所述网络训练阶段包含步骤:
[0058]
s2、将全部投影视图作为训练数据放入提取全局特征的transformer分支网络中进行训练;
[0059]
将s1得到的投影视图全部输入到提取全局特征的transformer分支网络中进行训练。
[0060]
s3、将全部投影视图作为训练数据放入提取局部特征的transformer分支网络中进行训练;
[0061]
将s1得到的投影视图全部输入到提取局部特征的transformer分支网络中进行训练。
[0062]
s4、通过协同学习优化两个分支网络。
[0063]
s41、通过协同学习减小双分支网络提取的全局特征和局部特征的l2距离使它们在整个训练过程中相互学习和引导。表达式如下:
[0064][0065]
其中,k表示训练时的batch-size,x
v,i
和x
b,i
分别表示两个网络提取的全局特征和局部特征。
[0066]
在整个训练过程中,为每个分支网络设置不同的权重进行协同学习训练。经过以
上过程,得到一个训练好的基于双transformer分支的三维模型分类模型。总体框架如图2所示。
[0067]
所述三维模型分类阶段包含步骤:
[0068]
s5、将三维模型的每张投影视图切割后放入提取局部特征的transformer网络中提取块级别特征,为不同块分配不同的注意力值,这样可以有效表示每个块重要性的不同,以促进聚合后的三维模型特征具有丰富的局部细节,更具有区分性;
[0069]
s51、将全部投影视图最大池化后映射为一维向量;
[0070]
将chair_890的12张投影视图最大池化后线性映射成12个长度为384的一维向量。
[0071]
s52、将所有一维向量作为transformer网络的输入提取三维模型全局特征。
[0072]
补充一个用于学习所有视图特征的类向量,然后为所有一维向量添加正弦-余弦位置编码后送入transformer中的多头自注意力网络提取三维模型全局特征。
[0073]
s6、将三维模型的每张投影视图切割后放入提取局部特征的transformer网络中提取块级别特征,为不同块分配不同的注意力值,这样可以有效表示每个块重要性的不同,以促进聚合后的三维模型特征具有丰富的局部细节,更具有区分性;
[0074]
s61、将每张投影视图通过cnn提取特征后切割成若干个同样大小的块,把每个块映射成一维向量;
[0075]
将chair_890的每张投影视图先通过cnn提取特征,然后在特征图上通过移动滑动窗口的方式得到36个同样大小的块,最后把所有块映射成长度64的一维向量集合。
[0076]
s62、将每张投影视图所有块映射的一维向量作为transformer网络的输入提取局部特征;
[0077]
在一维向量集合中加入类向量用于学习来自单张视图中每个块的特征,然后为所有向量添加正弦-余弦位置编码后输入transformer中的多头自注意力网络提取局部特征。
[0078]
s63、将提取的所有投影视图的局部特征双线性池化后得到三维模型的局部特征。双线性池化包含的步骤:
[0079]
对所有影视图提取的局部特征向量自外积后累加,输出双线性特征矩阵。再将得到的双线性特征矩阵sum pooling后展平,并通过归一化得到三维模型的局部特征x。表达式如下:
[0080][0081]
其中,s
i,0
表示三维模型第i张投影视图的局部特征向量,n表示三维模型投影视图的数量,n表示sum pooling的窗口尺寸,vec(
·
)表示展平操作,norm(
·
)表示归一化操作。
[0082]
s7、将两个分支网络提取的特征融合后完成分类。
[0083]
s71、将双分支网络提取的全局特征和局部特征加权相加后得到表示三维模型的特征,然后预测该三维模型的类别并输出分类结果z。表达式如下:
[0084]
z=argmax(αx
v,i
(1-α)x
b,i
)
t

[0085]
其中,α服从u(0,1)分布,x
v,i
和x
b,i
分别表示两个网络提取的全局特征和局部特征。
[0086]
经过以上过程,得到chair_890的最终类别为chair类。
[0087]
本实施例中,modelnet10包含10个类别,共有4899个模型,其中包括3991个训练集模型和908个测试集模型,按s1方法获取二维视图后,modelnet10视图数据集包含10个类别,共有58788(4899
×
12)张二维视图,其中包括47892(3991
×
12)张训练集视图和10896(908
×
12)张测试集视图。另外,modelnet40包含40个类别,共有12311个模型,其中包括9843个训练集模型和2468个测试集模型,按s1方法获取二维视图后,modelnet40视图数据集包含40个类别,共有147732(12311
×
12)张二维视图,其中包括118116(9843
×
12)张训练集视图和29616(2468
×
12)张测试集视图。为体现本发明的有效性,分为如下几种情况进行对比:
[0088]
1、若只执行s2和s5进行三维模型分类,分类准确率为:
[0089]
modelnet10:93.17%;modelnet40:91.09%。
[0090]
2、若只执行s3和s6进行三维模型分类,分类准确率为:
[0091]
modelnet10:92.18%;modelnet40:89.95%。
[0092]
3、若不执行s4进行三维模型分类,分类准确率为:
[0093]
modelnet10:94.38%,比情况1和情况2分别提高了1.21%和2.2%;
[0094]
modelnet40:92.22%,比情况1和情况2分别提高了1.13%和2.27%。
[0095]
4、若不执行s5和s7进行三维模型分类,分类准确率为:
[0096]
modelnet10:90.53%,比情况6减少了4.62%;
[0097]
modelnet40:88.49%,比情况6减少了4.54%。
[0098]
5、若不执行s6和s7进行三维模型分类,分类准确率为:
[0099]
modelnet10:93.72%,比情况6减少了1.43%;
[0100]
modelnet40:90.76%,比情况6减少了2.27%。
[0101]
6、若按本发明方法完整执行进行三维模型分类,分类准确率为:
[0102]
modelnet10:95.15%,比情况3提高了0.77%,混淆矩阵如图3所示;
[0103]
modelnet40:93.03%,比情况3提高了0.81%,混淆矩阵如图4所示。
[0104]
可以看出,本发明提出的三维模型分类方法可以有效捕捉三维模型的细节信息并提高三维模型的分类准确率。
[0105]
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
再多了解一些

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

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

相关文献