动机
-
基于深度CNN的方法在多视图3D物体重建方面达到了SOTA水平。
从多视图图像中学习3D物体的表示是3D建模、虚拟现实和计算机动画中的一个基本而又具有挑战性的问题。近年来,深度学习方法极大地促进了多视图3D重建问题的研究,其中基于深度卷积神经网络(CNN)的方法在该任务中达到了SOTA水平。
-
尽管取得了相当大的进展,但这些方法的两个核心模块,即多视图特征提取和融合通常是单独考察的,很少探究不同视图中的目标关系。
为了从多个输入视图中学习有效的3D表示,大多数基于CNN的方法遵循分而治之的设计原则,其中通常的做法是引入CNN进行特征提取和融合模块来集成多个视图的特征或重建得到。尽管这两个模块之间有很强的关联,但它们的方法设计是分开研究的。另外,在CNN特征提取阶段,很少研究不同视图中的目标关系。虽然最近的一些方法引入了递归神经网络(RNN)来学习不同视图之间的目标关系,但这种设计缺乏计算效率,而且RNN模型的输入视图是对顺序变化敏感的,难以与一组无序的输入视图兼容。
-
在基于CNN的多视图3D重建方法中,设计一个既能探索视图之间深层关系,又能保持排列不变能力的融合模型仍然是一个困难的任务。Transformer在多视角3D重建中的一个天然优势是,其令牌嵌入可以无序地一层一层的做抽象学习。
-
近年来的研究也表明,基于CNN的重建方法可能存在模型缩放问题。
例如,当模型输入超过一定规模,模型的精度就会饱和,显示出通过一大组独立的CNN特征提取单元学习互补知识的难度。
-
更深层的“注意力均匀性”问题。
在transformer中,自注意力对“令牌均匀性”有一种强烈的感应倾向,它促进输入令牌的特征表示收敛。然而,这种收敛可能会进一步引起更深层的“注意力均匀性”问题,随着网络深度增加,一个transformer模型会迅速失去表达能力。在多视图3D重建任务中,这一问题尤为突出,并将限制Transformer在更深层次上探索和抽象多视图关联的能力。
方法
本文受近年来基于自我注意力的transformer模型研究的巨大成功启发,将多视图3D重建问题转化为序列到序列的预测问题,提出了一种新的框架结构“3D Volume Transformer(VolT)”,利用多个无序输入之间的自注意力来探索视图到视图的关系。将多视图3D重建问题重新表述为一个序列到序列的预测问题,并将特征提取和视图融合统一在单个transformer网络中。一方面,在多视图3D重建中,从一个局部的视图来看,只能看到底层3D结构的一部分。另一方面,在Transformer模型中,最近自注意力机制在任意数量的输入标记内显示出其学习复杂语义抽象的强大能力,并且自然地适合于探索3D目标不同语义部分的视图到视图关系。鉴于此,transformer的结构成为多视图3D重建的自然且吸引人的解决方案。
基于Transformer的框架包含一个2D视图Transformer编码器和一个3D volume Transformer解码器。在所提出的框架中,2D视图编码器通过探索不同输入之间的”2D视图 x 2D视图”关系,对多个2D视图信息进行编码和融合。3D物体解码器对来自编码器的多视图特征进行解码和融合,解码器中的注意力层学习每个输出元素网格和输入视图之间的“2D视图 x 3D物体”关系,同时,解码器中的物体注意力层通过利用不同3D位置之间的相关性来进一步学习“3d物体 x 3d物体”关系,学习物体注意力层中不同空间位置的全局相关性;将3D空间均匀地分割成一组令牌,并为每个空间查询令牌生成3D概率元素输出,预测最终的3D物体输出。每个令牌的预测物体最终融合到最终的3D重建输出中。通过使用上述统一设计,“2D视图 x 2D视图”、“3D物体 x 3D物体”和“2D视图 x 3D物体”关系可以由编码器和解码器网络中的多个注意力层共同探索。在上述编解码器结构设计的基础上,进一步研究了transformer模型中的“注意力均匀性”问题,并提出了一种有效的解决方案,以提高transformer模型在多视图重建任务中的有效性。
当直接采用vanilla transformer作为本文多视图3D重建的骨干时,当模型超过一定深度时,深度的增加会导致重建精度的下降。为了解决这一问题,进一步提出了发散增强的transformer,通过增强来自不同视图的嵌入的差异来减缓自注意力层中的发散衰减。
1)发散增强2D视图编码器。首先使用预训练的视图共享CNN获得一组嵌入x(大小为1×d)的初始视图,其中d是特征维度。然后,2D视图编码器引入初始视图嵌入X0(大小为1×d),并通过探索全局关系来细化多视图表示。在使用一系列自注意力层的多个视图中,为了保持视图序列的排列顺序不变,标准transformer的位置编码被移除。在DETR的基础上通过堆叠N=6个基本块来构建发散增强的2D视图编码器。每个基本块由一个多头发散增强的视图注意力层(MH-DEAtt)和一个逐位置的前馈网络(FFN)组成。最后一个基本块L的嵌入作为2D视图编码器的输出。缩放的点积注意力(表示为Attn)通过学习视图到视图的关系,来聚合多个视图之间的特征表示。同时,提出了一个视图发散增强函数(DiView)来缓解多视图表示在更深层的差异退化。具体来说,DiView引入了跳连接,并将内部视图特征与特征维度中的输入视图嵌入连接起来。在MH-DEAtt层,注意力函数“attn”中,query的输出被表示为values的注意力分数加权和。对所有MH-DEAtt层中的头部的注意力函数做级联操作,并做线性变换,得到MH-DEAtt层的输出结果。
2)3D物体解码器。3D物体解码器学习不同空间位置之间的全局相关性,并探索视图和空间域之间的关系。给定一个目标,在解码器的输入端将Y0=[y1, y2, …, yN](yn大小为1×d,对应于第n个3D物体)表示为序列可学习的3D物体查询。这里,位置编码Epos被添加到3D物体嵌入中,以保持空间域中的位置信息。在解码器中,一个基本块包含物体注意力层、视图-物体注意力层和FFN。MH-VolAttn和MH-ViewVolAttn分别表示多头物体注意力层和多头视图物体注意力层。在解码器中,MH-VolAttn层学习不同3D物体之间的全局依赖。MH-ViewVolAttn整合了跨视图和空间域的相关信息。使用基本块L的嵌入作为解码器的输出。
实验
基于所提出的框架实现了三个不同版本的方法:Vanilla 3D volume transformer(VolT)、Vanilla 3D volume transformer+(VolT+)和视图发散增强3Dvolume transformer(EVolT)。
Volt:提出的方法的一个基本实现,使用Vanilla transformer模型作为基准,并使用标准VGG16特征作为初始视图嵌入。
Volt+: 与Volt对比,使用了来自于一个预训练CNN获得的2D视图嵌入。使用它去验证在基于transformer的框架中2D视图嵌入对基于Transformer的多视图3D重建框架的影响。为了获得2D视图的初始嵌入,使用预训练的CNN,该CNN在多视图之间共享。
EVolt:所提出的方法的一个完全实现,它采用了所提出的视图发散增强功能,在所提出的3D Volume Transformer框架中。
还可以在Volt+中采用一个被用于2D视图嵌入学习的CNN构建“Evolt+”,以进一步提高Evolt的性能。但更倾向于保留EVolT的小参数尺寸,强调transformer的优势。
利用ShapeNet数据集对提出的方法和其他比较方法进行了评价。遵循3D-R2N2,并使用相同的设置进行公平比较。具体地说,使用ShapeNet的一个由13个类别和43,783个常见的3D目标组成的子集。对于每个3D目标,从围绕该目标的不同视角呈现24个2D图像。
实验中,EVolT的平均IoU从8个视图增加到24个视图,增加了0.04,是PIX2VOX++/A改进的8倍。这表明所提出的基于Transformer的方法具有更好的缩放能力,并且可以随着视图数目的增加学习到更全面的三维表示。提出的方法在视图数大于6时得到最佳的F-Score,在视图数高于12时时得到最佳的IoU。在EVolT中,通过VolT和Evolt将视图到视图注意力矩阵在不同层中可视化。可以看到多视图注意力的多样性在深层仍然保持,这意味着EVolT中的发散增强功能可以有效地减缓多视图在深层的收敛退化。在ShapeNet大型3D重建基准数据集上,与其他基于CNN的方法相比,该方法以更少的参数(减少70%)实现了新的多视图重建精度。
贡献
- 提出了一种全新的多视图3D物体重建框架VolT。不同于以往基于CNN的特征提取+视图融合单独设计的方法,将这两个阶段统一为一个transformer网络,并将3D重建重新架构为一个“序列到序列”的预测问题。并探讨了最近基于自注意力的语言模型在多视图3D物体重建任务中取得的巨大成功的潜力。
- 该方法可以在一个单一的统一框架内联合自然地探索2D输入视图和3D输出物体之间的多层次对应和关联。
- 研究了所提出的3D物体transformer层中的“发散衰减”问题,并在自注意力层中提出了一种视图发散增强操作来避免这种退化。
- VolT方法在ShapeNet上实现了一种新的多视图3D重建技术,其参数量仅为目前其他基于CNN方法的30%。该方法在输入视图的数量上也展现出更好的缩放能力。
小结
论文设计了一个既能探索视图之间深层关系,又能保持排列不变能力的基于transformer的多视图三维重建的无卷积模型,并在ShapeNet上以较少的参数实现了现有技术的精度。另外设计了三个版本的模型(VolT,VolT+和EVolT),以探索多视图三维重建的视图和空间域关系。同时,还研究了多视图信息在较深层中的散度衰减问题,并提出了视图-散度增强函数来缓解这一问题。与卷积算子相比,该设计很自然地利用了令牌嵌入可以无序地一层一层的做抽象学习的优势。