一种基于改进的Transformer的秦俑碎块去噪方法

文档序号:32494746发布日期:2022-12-10 04:15阅读:92来源:国知局
一种基于改进的Transformer的秦俑碎块去噪方法
一种基于改进的transformer的秦俑碎块去噪方法
技术领域
1.本发明属于文物保护技术领域,具体是一种基于改进的transformer的秦俑碎块去噪方法。


背景技术:

2.在文物挖掘保护领域,文物碎块的数字初始化获取受测量设备、外部环境和被测物体表面特性等多种因素影响,扫描获取的初始点云数据模型中往往含有大量的噪声点。这些噪声点的数量越多,对点云质量的影响也就越大,直接影响后期特征提取、配准、曲面重建、可视化等任务的精度和效率。因此,对获取的初始数字化点云数据进行降噪处理是该领域的重要研究内容。
3.传统的去噪方法中,基于曲面拟合的点云数据去噪方法首先将物体的三维扫描点云数据进行表面拟合,然后计算各点至拟合表面的距离,最后根据一定的准则删除点云数据的粗差或异常值,达到点云数据去噪的目的。这是一种简单有效的估计方法,但精确度不高,尤其对于复杂模型和含有噪声的模型存在较大的计算误差;基于稀疏表示理论的一种移动鲁棒主成分分析方法中,通过局部平均计算点的估计位置,用加权最小化方法保留尖锐特征,利用权重测量局部邻域中的法向矢量之间的相似性来更新点的位置进行消噪。但当噪声水平较高时,由于过度平滑或过度锐化,性能往往会下降。
4.近年来,以深度学习为代表的人工智能方法取得了一系列重要突破,收到了前所未有的关注。pointnet为直接在点云上应用深度学习模型进行特征学习开创了先河,为保证置换不变性,该方法将归一化旋转矩阵施加在点云上,导致点过于独立;为实现顺序无关性,该网络用全局池化操作对所有点云数据进行全局特征提取,但这样会忽视点之间的几何相关性,导致丢失一部分局部特征信息;一些基于pointnet的改进网络,如pointnet++、neural projection神经投影,pointcleannet和total denoising等考虑了点的局部特性,用于提高模型性能。这些方法可以推断噪声距潜在表面的位移并重建点,但这些点并未指定用于明确恢复表面,可能导致次优的去噪结果。


技术实现要素:

5.针对现有技术存在的不足,本发明的目的是提供一种基于改进的transformer的秦俑碎块去噪方法,有助于学习噪声点云的潜在流形并捕获固有结构用于恢复表面进行流形重建,对高噪声具有更好的鲁棒性。
6.为了实现上述目的,本发明采用以下技术方案予以实现:
7.一种基于改进的transformer的秦俑碎块去噪方法,包括如下步骤:
8.步骤1、对秦俑数据的点云样本进行预处理从而实现数据增强和标注处理;
9.步骤2、将预处理后的点云样本全部作为训练集,并分批导入输入嵌入模块并映射到高维空间;
10.步骤3、将高维空间的点云导入改进后的transformer编码器中的自适应下采样模
块,先用最远点采样算法fps获得相对统一的点作为原始采样点,再用自适应邻域采样算法as自动学习每个采样点的偏移并更新采样点位置信息,从而缩小数据量并保留原点云模型的结构属性;
11.步骤4、将下采样后的结果导入经过改进的transformer的编码器模块,通过点云的相对注意力ra模块增强点云的特征从而实现特征的有效提取;
12.步骤5、以改进的transformer的解码器的输出作为依据,对每个点的流形进行重建并在每个点对应的流形结构上按比例进行采样,使用自适应采样方法选择更接近干净点云的点来重建三维表面;
13.步骤6、利用改进的transformer编码器-解码器架构对导入的数据不断的进行步骤3-步骤5的迭代训练,直到损失函数loss值很小且趋于平稳,得到去噪后的干净点云。
14.进一步地,所述步骤1的数据增强包括对数据旋转、平移和缩放。
15.进一步地,所述步骤3的自适应邻域采样算法as包括如下步骤:
16.步骤3.1、令ps为从第n个输入点采样ns个点构成的点集,且ns《n,xi为点集ps中的采样点,xi∈ps,fi是采样点xi的特征,fi∈fs,通过k-nn查询将采样点xi的邻居分组,并使用一般的自注意力机制进行特征更新;
17.步骤3.2、将采样点xi的k个邻居x
i,1
,...,x
i,k
对应的特征f
i,1
,...,f
i,k
表示为:
[0018][0019]
式中,a用于聚合特征,r用于描述采样点xi与邻居点x
i,j
之间的高级关系,γ用于改变每个邻居点的特征维度,为减少计算量,令γ(x
i,j
)=w
γ
f i,j
,关系函数r表示为:
[0020][0021]
式中,d'是conv的输出通道;
[0022]
步骤3.3、对每一个采样点xi使用mlp+softmax,获得组内每个点的坐标及特征通道的归一化权重w
p
和wf,表示为:
[0023]wp
=softmax(mlp(x
i,j
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0024]
wf=softmax(mlp(f
i,j
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0025]
公式(3)和(4)中,j∈[1,k];
[0026]
步骤3.4、通过加权求和运算实现采样点xi及其特征fi的自适应更新,与即为更新后的点信息,表示为:
[0027][0028][0029]
进一步地,所述步骤4中点云的相对注意力ra模块用于计算自注意力sa模块特征与输入特征之间的相对注意力特征,表示为:
[0030]fra
=f
in-f
sa
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0031]
式中,f
ra
为相对注意力特征,f
in
为输入特征,f
sa
为自注意力sa模块特征;
[0032]
最终,相对注意力特征f
ra
通过网络与输入特征f
in
作为整个点云的相对注意力ra模块最终输出特征f
out
的输入,表示为:
[0033]fout
=ra(f
in
)=relu(bn(mlp(f
ra
)))+f
in

ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0034]
进一步地,所述自注意力sa模块特征表示为:
[0035][0036]
式中,(q,k,v)=f
in
.(wq,wk,wv);wq、wk和wv为共享学习的权重矩阵,q、k和v分别为通过输入特征线性变换生成的query、key和value矩阵,为一个query和key向量的维度。
[0037]
进一步地,所述相对注意力特征的计算公式(7)为离散拉普拉斯算子,在具有n个节点的图g中,n维向量f表示为:
[0038]
f=(f1,f2,...,fn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0039]
式中,fi为函数f在节点i的函数值;
[0040]
对i点进行扰动,将它变为任意一个与它相邻的节点j,则节点j变化到节点i所带来的增益表示为:
[0041][0042]
当边e
ij
具有权重w
ij
时,则:
[0043][0044]
当w
ij
=0时,表示节点i和节点j不相邻,则:
[0045][0046]
最终得到:
[0047][0048]
式中,是顶点i的度;w
i:
=(w
i1
,...,w
in
)是n维行向量;是n维列向量;w
i:
f表示两个向量的内积,对于所有的n个节点增益累积表示为:
[0049][0050]
式中,w
i:
表示第i个点对应操作的权重,w代表所有点对应操作的权重,d-w即为拉普拉斯矩阵l。
[0051]
进一步地,所述步骤(5)中解码器先将每个采样点及其邻域的嵌入特征转换为以该点为中心的局部曲面来推断潜在流形,然后在推断的面片流形上重复采样以产生降噪点集重构出一个干净点云
[0052]
进一步地,所述步骤(5)具体包括如下步骤:
[0053]
步骤5.1、先将嵌入在由特征向量y参数化的3d空间中的2d流形m定义为:
[0054]
m(u,v;y):[-1,1]
×
[-1,1]

r3ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0055]
式中,(u,v)是2d矩形区域[-1,1]2中的某个点;
[0056]
由函数逼近器mlp通过公式(16)将2d矩形映射到由y参数化的任意形状的面片流形,表示为:
[0057]
mi(u,v;yi)=mlpm([u,v,yi])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0058]
式中,mi(u,v;yi)代表参数化的面片流形;
[0059]
步骤5.2、将自适应下采样集合中的点pi对应的面片流形mi定义为:
[0060]
mi(u,v;yi)=pi+m(u,v;yi)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0061]
公式(18)表示将构造的流形m(u,v;yi)移动到以pi为中心的局部曲面,中所有点对应的面片流形可表示为即表征了点云的潜在表面;
[0062]
步骤5.3、通过步骤5.1和步骤5.2将自适应下采样过程中将输入的点数减少了一半,即m=n/2,对每个面片流形m(u,v;yi)重采样,且每个面片流形上采两个点,得到去噪点云表示为:
[0063][0064]
进一步地,所述步骤(6)中的损失函数loss包括损失函数las和损失函数lus;
[0065]
所述损失函数las用于量化自适应下采样集合与ground truth点云pgt之间的距离,由于和pgt包含不同数量的点,且故选择倒角距离cd作为l
as
,表示为:
[0066][0067]
所述损失函数lus用于量化最终重建的点云与ground truth pgt之间的距离,使用地球移动距离emd作为lus,表示为:
[0068][0069]
式中,φ是双射;
[0070]
最后,对网络进行端到端有监督的训练,最小化总损失函数表示为:
[0071]
l
denoise
=λl
as
+(1-λ)l
us
ꢀꢀꢀꢀꢀꢀꢀꢀ
(22)
[0072]
式中,λ为经验值0.01。
[0073]
本发明与现有技术相比,具有如下技术效果:
[0074]
基于transformer在自然语言处理中的高性能及其所有操作的顺序无关性,对其进行改进,使其非常适合点云特征学习,改进的transformer中的相对注意力ra模块对广泛使用的最远点采样方法fps存在的对异常点非常敏感导致在处理现实世界中的点云数据时很不稳定的问题、以及来自fps的采样点必须是原始点云的子集从而加大对原始数据与原始几何信息推断的问题进行了有效改进,继而能够自适应的提取基础点云信息,对后续工作的顺利开展提供了更有价值的依据,同时,在特征提取过程中使用注意力机制以及全局池化操作,不仅能够提取全局信息,而且能够保持局部细节信息的完整性。具体体现在,利用改进的transformer结构获得秦俑数据的点云样本的丰富的高维特征,并从采样点中学习噪声点云的潜在流形,即通过自适应下采样模块对fps获得的采样点进行自适应,使其更
靠近点所在表面;然后将每个采样点及其嵌入的邻域特征转换到局部表面来推断面片流形,通过在每个面片流形上采样,重构一个捕获内部结构的干净点云,而不受异常值的影响,用于恢复表面进行流形重建,实现去噪,且在合成噪声和真实噪声下具有良好的鲁棒性,对于计算机辅助秦俑虚拟复原工作具有良好的推进作用。
附图说明
[0075]
图1:本发明基于改进的transformer的点云去噪网络结构图;
[0076]
图2:本发明不同去噪方法的定性分析对比图;
[0077]
图3:本发明的自适应下采样原理示意图;
[0078]
图4:本发明的相对注意力模块ra结构图,虚线框内为自注意力模块结构sa;
[0079]
图5:本发明的面片流形重构和重采样示意图。
具体实施方式
[0080]
以下结合实施例对本发明的具体内容做进一步详细解释说明。
[0081]
如图1所示,一种基于改进的transformer的秦俑碎块去噪方法,包括如下步骤:
[0082]
步骤1、对秦俑数据的点云样本进行预处理,通过旋转、平移和缩放从而实现数据增强,并对数据进行标注处理;
[0083]
步骤2、将预处理后的点云样本全部作为训练集,并分批导入输入嵌入模块并映射到高维空间;
[0084]
步骤3、将高维空间的点云导入改进后的transformer编码器中的自适应下采样模块以便在缩小数据量同时尽可能保留原点云模型的结构属性;
[0085]
具体过程如图3所示,先用最远点采样算法fps获得相对统一的点作为原始采样点,再用自适应邻域采样算法as自动学习每个采样点的偏移并更新采样点位置信息;
[0086]
所述自适应邻域采样算法as具体包括如下步骤:
[0087]
步骤3.1、令ps为从第n个输入点采样ns个点构成的点集,且ns《n,xi为点集ps中的采样点,xi∈ps,fi是采样点xi的特征,fi∈fs,对应维度为d1,通过k-nn查询将采样点xi的邻居分组,并使用一般的自注意力机制进行特征更新;
[0088]
步骤3.2、将采样点xi的k个邻居x
i,1
,...,x
i,k
对应的特征f
i,1
,...,f
i,k
表示为:
[0089][0090]
式中,a用于聚合特征,r用于描述采样点xi与邻居点x
i,j
之间的高级关系,γ用于改变每个邻居点的特征维度,为减少计算量,令γ(x
i,j
)=w
γ
f i,j
,关系函数r表示为:
[0091][0092]
式中,d'是conv的输出通道;
[0093]
步骤3.3、对每一个采样点xi使用mlp+softmax,获得组内每个点的坐标及特征通道的归一化权重w
p
和wf,表示为:
[0094]wp
=softmax(mlp(x
i,j
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0095]
wf=softmax(mlp(f
i,j
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0096]
公式(3)和(4)中,j∈[1,k];
[0097]
步骤3.4、通过加权求和运算实现采样点xi及其特征fi的自适应更新,与即为更新后的点信息,表示为:
[0098][0099][0100]
上述自适应下采样操作可以获得更接近潜在表面的点,即噪声扰动较小的点,有助于在流形重建时缩小用于重构潜在流形的潜在空间;
[0101]
步骤4、将下采样后的结果导入经过改进的transformer的编码器模块,通过点云的相对注意力ra模块增强点云的特征从而实现特征的有效提取;
[0102]
attention是从大量信息中筛选出少量重要信息,并聚焦到这些重要信息上,忽略大多不重要的信息,权重越大越聚焦于其对应的value值上,原始transformer中的自我注意力sa是一种机制,用于在对每个单词编码时关注输入句子的其他单词,图4中虚线框内描述了sa层的体系结构,切换到点数据流时,按照术语,令q、k和v分别为通过输入特征线性变换生成的query、key和value矩阵,先根据query和key计算权重系数,之后根据权重系数对value进行加权求和,对于权重系数,目前最常见的方法包括:求两者的向量点积、求两者的向量cosine相似性或通过再引入额外的神经网络来求值,实施例使用向量点积的方法进行计算,为防止计算结果过大,通过除以一个尺度标度其中为一个query和key向量的维度,再利用softmax将其结果归一化为概率分布,然后再乘以矩阵value就得到权重求和的表示,即,自注意力sa模块特征表示为:
[0103][0104]
式中,(q,k,v)=f
in
.(wq,wk,wv);wq、wk和wv为共享学习的权重矩阵。
[0105]
由公式(9)的计算过程可知,整个自注意力过程是置换不变的,使其非常适合点云的无序和不规则性,但同一点云经刚性变换后其绝对坐标与变换前会大不相同,为描述点云的固有特性,本实施例引入点云的相对注意力特征,受图卷积网络中使用拉普拉斯矩阵l=d-a替换邻接矩阵a的启发,d是一个对角矩阵,每个对角元素d
ii
表示第i个结点的度,将原始transformer中自注意力sa模块替换为相对注意力ra模块来增强点云的特征表示,如图4所示,相对注意力ra模块是计算自注意力sa特征与输入特征之间的相对注意力特征,表示为:
[0106]fra
=f
in-f
sa
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0107]
式中,f
ra
为相对注意力特征,f
in
为输入特征,f
sa
为自注意力sa模块特征;
[0108]
最后,相对注意力特征进一步通过网络与输入特征作为整个ra的最终输出特征f
out
的输入,表示为:
[0109]fout
=ra(f
in
)=relu(bn(mlp(f
ra
)))+f
in
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0110]fin-f
sa
类似于离散拉普拉斯算子,在具有n个节点的图g中,n维向量f表示为:
[0111]
f=(f1,f2,...,fn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0112]
式中fi为函数f在节点i的函数值;
[0113]
对i点进行扰动,它可能变为任意一个与它相邻的节点j,因拉普拉斯算子可计算
一个点到它所有自由度上微小扰动的增益,用图表示即任意一个节点j变化到节点i所带来的增益,表示为:
[0114][0115]
当边e
ij
具有权重w
ij
时,则:
[0116][0117]
当w
ij
=0时,表示节点i和节点j不相邻,则:
[0118][0119]
最终得到:
[0120][0121]
式中,是顶点i的度;w
i:
=(w
i1
,...,w
in
)是n维行向量;是n维列向量;w
i:
f表示两个向量的内积,对于所有的n个节点增益累积表示为:
[0122][0123]
式中,w
i:
表示第i个点对应操作的权重,w代表所有点对应操作的权重,d-w即为拉普拉斯矩阵l。
[0124]
拉普拉斯矩阵中的第i行实际上反应了第i个节点在对其他所有节点产生扰动时所产生的增益累积。直观上讲,图拉普拉斯反映了在节点i上施加一个势,这个势能够顺畅的流向其他节点从而对模型迭代优化起到监督指引作用。相对注意力会增加注意力权重并减少噪音的影响,这对下游任务很有帮助。
[0125]
步骤5、以改进的transformer的解码器的输出作为依据,对每个点的流形进行重建并在每个点对应的流形结构上按比例进行采样,使用自适应采样方法选择更接近干净点云的点来重建三维表面;
[0126]
解码器在获取点云高维特征表示后,可用于处理去噪任务,先前的去噪工作大多依赖于点距潜在表面位移的思想,但这些点并未指定用于恢复表面,可能导致次优的去噪效果,点云通常表示一组采样点的某些潜在表面或2d流形,为实现去噪效果的鲁棒性,本实施例苟能学习噪声点云的潜在流形、捕获原点云的固有结构,用于重建和恢复表面,其过程如图1中(b)解码器部分所示;
[0127]
解码器将每个采样点及其邻域的嵌入特征转换为以该点为中心的局部曲面来推断潜在流形,然后在推断的面片流形上多次采样以产生降噪点集即重构出一个干净点云整个过程如图5所示,具体包括如下步骤:
[0128]
步骤5.1、先将嵌入在由某些特征向量y参数化的3d空间中的2d流形m定义为:
[0129]
m(u,v;y):[-1,1]
×
[-1,1]

r3ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0130]
式中,(u,v)是2d矩形区域[-1,1]2中的某个点;
[0131]
公式(16)将2d矩形映射到由y参数化的任意形状的面片流形,参数化的面片流形mi(u,v;yi)由mlp实现,因为mlp是一个通用函数逼近器,其表达能力足以逼近任意形状的流形,表示为:
[0132]
mi(u,v;yi)=mlpm([u,v,yi])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)
[0133]
式中,mi(u,v;yi)代表参数化的面片流形;
[0134]
步骤5.2、有了流形m的定义后,将自适应下采样集合中的点pi对应的面片流形mi定义为:
[0135]
mi(u,v;yi)=pi+m(u,v;yi)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0136]
公式(18)表示将构造的流形m(u,v;yi)移动到以pi为中心的局部曲面,中所有点对应的面片流形可表示为即表征了点云的潜在表面;
[0137]
步骤5.3、通过步骤5.1和步骤5.2将自适应下采样过程中将输入的点数减少了一半,即m=n/2,对每个面片流形m(u,v;yi)重采样,且每个面片流形上采两个点,得到去噪点云表示为:
[0138][0139]
步骤6、利用改进的transformer编码器-解码器架构对导入的数据不断的进行步骤3-步骤5的迭代训练,直到损失函数loss值很小且趋于平稳,得到去噪后的干净点云。
[0140]
为了测量最终点云的重构质量,损失函数loss包含两个部分:1)损失函数las,用于量化自适应下采样集合与ground truth点云pgt之间的距离;2)损失函数lus量化最终重建的点云与ground truth pgt之间的距离。
[0141]
由于和pgt包含不同数量的点,且故选择倒角距离cd作为l
as
,表示为:
[0142][0143]
使用地球移动距离earth mover’s distance(emd)作为lus,衡量去噪点云与ground truth点云pgt之间的距离,表示为:
[0144][0145]
式中,φ是双射;
[0146]
最后,对网络进行端到端有监督的训练,最小化总损失函数表示为:
[0147]
l
denoise
=λl
as
+(1-λ)l
us
ꢀꢀꢀꢀ
(22)
[0148]
式中,λ为经验值0.01。
[0149]
本实施例的秦俑数据集是西北大学文化遗产数字化国家地方联合工程研究中心的科研人员到兵马俑博物馆实地扫描采集的模型,现有模型500余个,且大部分已经被准确标注。图2是用不同去噪方法对秦俑头部和手部数据集去噪效果的定性分析对比图,可以看出其他三种基于深度学习的方法npd和tldn以及pcnet相比,本发明的去噪方法对异常值的
鲁棒性更好,得到的结果更干净。
[0150]
本实施例中基于transformer的点云去噪网络作为特征提取器,对点云的结构和语义理解能力更强,与其他三种去噪方法相比,随着噪声水平的提高,本发明的去噪效果越显著,具体如表1所示,可见,本发明优于之前的深度学习方法,并对高噪声更鲁棒。
[0151]
表1不同噪声比率下的各去噪方法的cd(倒角距离)比较
[0152] 0.25%0.5%1%2%3%npd0.240.621.282.323.27pcnet0.180.460.971.422.91tldn0.340.781.152.263.12tdnet-ra(ours)0.160.390.831.202.15
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1