APP下载

Transformer架构下的稠密NRSfM网络实现

2022-04-24黄萌汪亚明

软件导刊 2022年4期
关键词:三维重建注意力架构

黄萌,汪亚明

(浙江理工大学信息学院,浙江杭州 310018)

0 引言

二维图像投影和潜在三维场景的关系研究在光学和摄影领域已有 着悠久的历 史,而NRSfM(Non-Nigid Structure from Motion)则是一种通过单目摄像头对非刚体运动序列重建三维非刚体表面的算法。传统的NRSfM算法在稀疏特征点轨迹三维结构重建任务上取得了不错效果,但是稀疏特征点表示能力有限,不能完整重建三维非刚体表面。稠密的NRSfM算法是对大量的特征点轨迹进行三维重建,它能很好地恢复完整的三维非刚体表面,相较于稀疏的NRSfM算法而言更实用,因此稠密的NRSfM算法顺理成章地成为现阶段NRSfM算法研究的重点。

传统的稠密NRSfM算法通常十分依赖于二维稠密光流质量,需要噪音足够小的二维稠密光流才能进行较好的重建。因此,传统稠密NRSfM算法的鲁棒性并不高,且需要十分苛刻的条件才能保证重建精度。

在最近研究中,Sidhu等首次提出可学习的稠密NRSfM神经网络(Neural Non-Nigid Structure from Motion,N-NRSfM)。与传统稠密NRSfM算法相比,该模型的鲁棒性更高,可扩展性更强且在许多场景中都能实现较低的三维重建误差。但是他们的方法需要分别训练用于三维重建的解码器和用于图像特征提取的编码器,且只对隐藏层编码进行周期性约束以提取运动信息,导致网络对突然较大的变化不能作很好的处理。并且,网络依赖于Tomas-Kanade分解求得三维刚性形状,因此对误差较大的二维运动轨迹十分敏感。

由于传统的稠密NRSfM算法和可学习的稠密NRSfM神经网络各有优缺点,本文考虑将传统三维稠密重建算法和神经网络高度结合,将三维重建过程嵌入神经网络学习中,提出基于Transformer改进的稠密三维运动重建网络。Transformer架构一个序列到序列的模型,它使用大量的自注意力机制提取序列之间的信息。此架构解决了传统RNN难以并行化的缺点,可以处理长序列数据,避免了梯度消失和梯度爆炸等问题。由于Transformer强大的特征表达能力,近年来各种架构的Transformer被用于计算机视觉方面的研究。同时,Transformer架构中的注意力机制运算规则与三维重建任务较为相似,特别适合进行改造以用于三维重建任务求解。

考虑到单目视觉的非刚体三维重建是提取特征点轨迹的特征,并进行求解的过程,也可以将其看作是一个序列化的特征求解问题。因此,本文尝试使用Transformer架构求解稠密三维重建问题。本文创新点如下:①由于测量矩阵本身反应特征点是随时间变化的运动轨迹,且因式分解方法只需提取出形状基,不需位置信息,因此本文直接将测量矩阵作为网络输入;②将三维重建任务所需中间矩阵作为查询矩阵、键矩阵和值矩阵。将三维重建任务嵌入Transformer架构进行求解,同时添加适当的约束;③单个注意力点积计算之后增加Moore-Penrose伪逆操作替代传统的点积注意力,通过对多个注意力头的输出结果进行线性组合,得到多头注意力的输出;④类似N-NRSFM中解码器的方法,将Transformer中的MLP层用于对

S

矩阵添加时空平滑、表面平滑等约束,使用漏斗形全连接网络约束形状矩阵的低秩性。

1 相关工作

采用传统方法进行NRSfM问题研究,目前已有许多解决方案,可以从多帧的二维关键点中恢复必要变形对象的三维视点及形状。然而,由于非刚性物体在发生运动时会发生形变,导致NRSfM实际上拥有较多约束,这也对正确分解三维视点和形状构成了极大挑战。因此,利用形状和摄像机运动的先验知识降低NRSfM问题的难度成为研究的主流方法,比如假设在时间和空间域上使用低秩子空间,又比如将二维特征点拟合到一组预先设计的DCT基函数中、时空域模型、利用时空间联合中添加稀疏子空间聚类的形式。

近年来,一些学者鉴于神经网络在许多领域的优良表现,尝试利用神经网络进行非刚体三维重建的求解。然而,在训练神经网络时,对大量图像进行三维姿态的标注是非常繁重且困难的一项工作。因此,文献[15]提出利用合成图像对训练数据进行增强处理,但这些办法并不能很好地应用于现实场景。于是,研究者开始使用2D的姿态注释、动作标签等方式,以提高算法性能,可是这些方法也差强人意。因此,找到一种无监督的算法成为研究者们努力的方向。

由于稠密三维真实数据获得需要十分昂贵的仪器,以及大量的数据和复杂且困难的激光建模算法,很长一段时间以来,基本上不可能有监督地训练出有效的三维重建神经网络。因此,无监督的三维稠密运动重建成为目前可行性较高的方案。Sidhu等在2020年首次利用无监督的神经网络方法实现稠密的三维重建,他们从潜在空间中约束了三维运动,无监督地训练神经网络,第一次实现了端到端的稠密三维重建。但是他们的方法需要复杂的分布训练,且提供隐藏编码的周期性以完成运动信息提取,且需要刚性三维先验,因此方法的限制条件较多,适用性不广。

2 基于Transformer架构的NRSFM

传统的三维重建任务可以表示为:

其中,测量矩阵

W

∈ℜ,三维形状矩阵

S

∈ℜ,旋转矩阵

R

=

blkdiag(R

R

R)

∈ℜ。基于分解的三维重建任务就是根据输入的测量矩阵W,求得三维形状矩阵

S

和旋转矩阵

R

2.1 NRSFM-Trans former各层介绍

在传统的Transformer架构基础上,结合稠密NRSFM的特点,本文提出了一种新的可用于稠密NRSFM的端到端的Transformer架构。以下将对网络架构进行详细分析说明。

2.1.1 将测量矩阵W作为Transformer网络输入

考虑到三维重建任务中需要全局的形状基,而不是只关注相邻帧,本文提出的Transformer架构直接将包含二维点轨迹信息的测量矩阵W作为Transformer网络的输入,去除了位置嵌入的过程。

2.1.2 注意力模型设计

在设计Transformer网络时,注意力层的运算方法是网络设计的重点。需要结合待解决问题的特点进行分析和设计。本文注意力层模型架构如图1所示。

不同于传统的注意力层,直接将输入的线性映射作为查询矩阵Q、键矩阵K和值矩阵V。

Fig.1 Attention layer architecture图1 注意力层架构

2.1.3 多头注意力模型的设计

本文提出的多头注意力架构如图2所示。多头注意力层将输入的查询矩阵、键矩阵和值矩阵线性映射成为多个注意力头进行并行计算,如同传统的Transformer。在输出时将各头的输出进行联合线性组合输出。最终输出

P

×3

F

尺度的注意力矩阵,提取出测量矩阵时间尺度的信息。

2.1.4 MLP层

MLP层的权值矩阵可以解释为一个低秩线性子空间,类似文献[2]中解码层的全连接神经网络。在MLP层,希望对形状细节进行空间尺度上信息的线性组合并添加约束。因此,本文对多头注意力架构输出的注意力矩阵进行转置操作,并将其输入维度为

P

的全连接层。为了约束输出的秩为

3k

,中间层的宽度为3*k,其中k为先验轨迹基数量。本文MLP层架构如图3所示,MLP层的输入是多头注意力层的输出,GeLU为文献[19]中提出的高斯误差线性单元激活函数,Linear表示全连接层。

Fig.2 Multi-attention layer architecture图2 多头注意力架构

Fig.3 MLPlayer architecture图3 MLP层架构

2.1.5 编码层

将以上原子层堆叠成为一个Transformer Encoder层,如图4所示。

Transformer网络中Encoder层的基本框架如图4所示。可以看出,本文提出的网络与经典

Transformer

不同的是,查询矩阵Q和键矩阵K是直接通过经典矩阵分解算法求得的固定值,值矩阵则是通过对W矩阵的线性映射得到。

2.1.6 Transformer总体框架

堆叠编码层可以得到总的网络架构,如图5所示。在每个编码层后,进行正则化操作,将数据拉回到均值为0、方差为1的正太分布上,使数据分布一致从而避免发生梯度消失。由于只需要编码器的输出,如同ViT(Vision Transformer),本文总体框架中也去除了解码块部分。

Fig.4 Basic framework of encoder layer for transformer network图4 Transformer网络Encoder层基本框架

值得注意的是,本文网络中尽量在特征点维度进行正则化操作,因为将正则化操作使用在帧维度上会导致失去运动变化,使三维重建失败。

Fig.5 NRSfM-Trans former framework图5 NRSfM-Trans former架构

2.2 网络的训练

为了完成对上述网络的无监督训练,类似文献[2],本文为NRSfM-Transformer设计了可微的能量函数

E

,支持梯度反向传播并且可以在现代神经网络框架(如:

pytorch

等)中较好的实现和求解。

其中,α,β和γ是权重系数,影响每一项的平衡。下文将详细解释每一项损失函数的含义和作用。

E

损失函数约束了矩阵的重投影误差,由经典的三维重建投影公式提供。

E

损失函数约束了相邻两帧之间的形变剧烈程度,增加了时间平滑度。

其中,ℵ(

p

)表示

p

的领域点集且

p

S

(广泛应用于计算机图形学,详细参考文献[21])。

E

损失函数是针对每一帧形状矩阵的拉普拉斯平滑项。

3 实验结果与分析

本文将对几个广泛使用的基准定量分析数据集和定性分析视频进行实验,实验中出现的数据为广泛使用的开源数据集,均已取得使用许可。

3.1 实验结果定性分析

被广泛使用的单目三维稠密重建的视频数据集有人脸、后背心脏等,如图6-图10所示。这些数据集都提供了使用光流配准得到的测量矩阵

W

Garg等提供的密集真实脸部数据集如图6所示,它由120帧28 332个特征点组成。

Fig.6 Reconstruction result of real facedata图6 真实人脸数据重建结果

图7给出的是背部序列重建结果,它是一个150帧20 561个特征点的序列。背部序列也是一个十分经典的非刚体序列,尽管运动幅度不大,本文算法还是很好地重建了背部,甚至人物的肩胛骨也能看出来。

Fig.7 Reconstruction result of back sequence图7 背部序列重建结果

演员动作捕捉序列也是一个经典的可以定性分析比较的数据集,同文献[2]。将本文方法与Tewari等提出的人脸模型学习(Face Model Learning,FML)方法进行对比,定性比较结果如图8所示。

Fig.8 Comparison of the proposed algorithms and FML algorithm图8 本文算法与FML算法对比

心脏序列1重建结果如图9所示,由80帧68 295个特征点组成。心脏序列有大量的噪音和不明显的运动轨迹,因而是一个非常难以进行三维重建的数据。在本文算法下依稀能看见轮廓。心脏序列2重建结果如图2所示,由202帧55 115个特征点组成。由于心脏序列2的清晰度更高,相对于心脏序列1而言,重建效果略好。

Fig.9 Reconstruction result of heart sequence 1图9 心脏序列1重建结果

Fig.10 Reconstruction result of heart sequence 2图10 心脏序列2重建结果

3.2 实验结果定量分析

对一些常用的定量评估数据集进行实验,并将实验结果与传统的三维重建算法和其他基于神经网络的三维稠密重建方法进行定量分析比较。对于具有三维真实值的数据,根据式(7)的三维重建误差

e

衡量算法优劣程度。

使用的基准数据集有:①合成人脸序列,共有两个序列,分别由traj.A和traj.B两个不同的相机轨迹组成,包含99帧和28 000个特征点;②expression序列,包含384帧997个特征点,属于半稠密数据集;

Kinect的paper序列,包含193帧58 000个特征点;④pants序列,包含291帧2 859个特征点。

以上数据集在有地面三维真实形状的情况下,利用正交投影获取测量矩阵,否则使用多帧稠密光流对应求得测量矩阵。

在合成人脸序列,将本文三维重建框架与经典的传统方 法MP、VA、PTA、DSTA、CDF、KSTA、CMDR,较新的传统方法GM、JM、SMSR、PPTA、EM-FEM,以及稠密神经网络算法N-NRSfM等方法进行比较。各种对比算法的

e

值如表1所示。

Table 1 Comparison of the proposed algorithm with other algorithms in adult face sequences表1 本文算法与其他算法7成人脸序列比较

本文算法在Traj.A的重建结果如图11所示。由于该合成人脸没有噪音且平滑,是三维重建过程中比较理想的情况,因此最新传统三维稠密运动方法效果优于神经网络方法。但本文提出的网络仍然达到了较高的重建水平。

在Expressions序列上,本文使用了EM-LDS、PTA、CSF2、KSTA、GMLI等方法进行比较。对比的实验结果取自文献[2],由于此数据集使用并不广泛,因此文献[2]中只使用了经典的方法进行比较,可见本文算法展现出了较大优势。每个对比算法的

e

值如表2所示。图12展示了Pants序列的原三维结构和本文算法重建结果,表3给出了本文算法与其他方法的

e

值。其中,KSTA、BMM和PPTA的实验数据来源于文献[32]。

Fig.11 Reconstruction results of synthetic face sequence A图11 合成人脸序列A的重建结果

Table2 Expressions sequence comparison results表2 Expressions序列对比结果

Table3 Pants sequence comparison results表3 Pants序列对比结果

Fig.12 Reconstruction results of pants sequence图12 pants序列的重建结果

在Kinect序列,本文按照Kumar等的描述,对Kinect纸张序列进行了预处理,并运行多帧光流算法获取测量矩阵。在表4中列出了Kinect序列的

e

,由于空间平滑项的存在,本文算法相较于传统

NRSFM

算法表现出了较大优势。

Table 4 Kinect Paper dataset comparison results表4 Kinect Paper数据集对比结果

图13展示了Kinect序列的原三维结构和本文算法的重建结果。

Fig.13 Reconstruction results of Kinect paper sequence图13 Kinect paper的重建结果

4 结语

本文提出一个新型三维重建的神经网络方法NRSfMTrans former,该架构在各数据集上的表现都比较优良,接近最近较新的传统三维重建算法。该网络接受二维稠密光流作为输入,得到三维运动结构,与现阶段复杂的传统方法对比,神经网络的方法在工程实践上要更加容易实现且可扩展性更高,给神经网络解决稠密NRSFM提供了一个新的思路。但是该网络对输入测量矩阵的噪音敏感度较高,且不同视频序列的测量矩阵维度不同,因此不能同时对多个视频序列进行训练。在下一步研究中,将考虑图像输入代替测量矩阵输入。

猜你喜欢

三维重建注意力架构
基于FPGA的RNN硬件加速架构
让注意力“飞”回来
功能架构在电子电气架构开发中的应用和实践
LSN DCI EVPN VxLAN组网架构研究及实现
“扬眼”APP:让注意力“变现”
基于关系图的无人机影像三维重建
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
多排螺旋CT三维重建在颌面部美容中的应用
一种基于FPGA+ARM架构的μPMU实现