特征流解耦下基于多视图像的三维目标重建
Three-Dimensional Object Reconstruction from Multi-View Images with Disentangled Attribute Flow
DOI: 10.12677/csa.2024.149195, PDF, HTML, XML,    科研立项经费支持
作者: 焦 旋, 许 斌, 刘健龙:江西理工大学信息工程学院,江西 赣州;岑 颖:广东茂名幼儿师范专科学校计算机学院,广东 茂名
关键词: 3DAttriFlow目标重建多视图通道注意力特征融合3DAttriFlow Object Reconstruction Multi-View Images Channel Attention Feature Fusion
摘要: 在深度学习技术的推动下,基于二维图像的三维目标重建得到迅速发展。常用的方法是先从二维图像中提取出特征流,然后用特征流引导解码器估计三维目标结构。三维特征流解耦(Three-dimensional Disentangled Attribute Flow, 3DAttriFlow)模型能将提取出的特征流进行解耦,并用明确的几何和语义特征引导三维目标重建。然而,3DAttriFlow仅适用于基于单视图像的三维重建,单视图中存在遮挡部分信息缺失,导致重建性能仍有待提升。本文将3DAttriFlow推广至多视图像的三维目标重建,分别从特征提取和多视图像的特征融合两个方面对模型进行改进。特征提取方面,在原始骨干网络ResNet18中引入通道注意力机制,以突出重要通道特征;多视图特征融合方面,通过注意力模块将多个视图的特征进行融合,以获取更为完整和丰富的目标特征。ShapeNet数据子集上的实验结果表明,与原始的3DAttriFlow模型相比,本文的改进模型能获得更好的三维重建质量。
Abstract: Driven by deep learning technology, three-dimensional (3D) object reconstruction based on two-dimensional (2D) images has been developed rapidly. The commonly used method is to extract attribute flow from 2D images and then use them to estimate 3D object structure. The three-dimensional disentangled attribute flow (3DAttriFlow) model can disentangle the attribute flows and guide 3D object reconstruction with explicit geometric and semantic attributes. However, 3DAttriFlow is only suitable for 3D reconstruction based on a single-view image, and there is missing information in the occluded parts of the single-view image, which leads to the need for improvement in the reconstruction performance. In this paper, we extend 3DAttriFlow to 3D object reconstruction from multi-view images and improve the model from two aspects: feature extraction and fusion of features from multi-view images. In terms of feature extraction, the channel attention mechanism is introduced into the original backbone network ResNet18 to highlight important features. In the aspect of multi-view feature fusion, the attention module is used to fuse the features of multiple views to obtain more abundant and complete features. The experimental results on the ShapeNet data subset show that compared with the original 3DAttriFlow model, the improved model in this paper can achieve better 3D reconstruction quality.
文章引用:焦旋, 岑颖, 许斌, 刘健龙. 特征流解耦下基于多视图像的三维目标重建[J]. 计算机科学与应用, 2024, 14(9): 141-150. https://doi.org/10.12677/csa.2024.149195

1. 引言

随着深度学习的发展,基于二维图像的三维重建技术得到了深入发展。按照重建目标的显示表达方式,可以分为点云、体素和网格三大类[1]-[3]。体素是目标表示的最小体积单位,多个体素的集合可构成三维目标。Choy等人设计了一种基于单视和多视图的三维重建统一框架R2N2,解决了单视图重建导致的模型失真问题[4]。Tatarchenko等人提出八叉树生成网络,在不增加计算资源的情况下提高了体素表示的分辨率[5]。Fan等人提出点云生成网络(Point Set Generation Network, PSGN),能够从一幅图像预测出多个三维点云[6]。Wen等人提出一种三维特征流解耦(Three-dimensional Disentangled Attribute Flow, 3DAttriFlow)模型,获得了比非特征流解耦模型更好的重建性能[7]。网格是指通过三角形或四边形等形状的面近似表示三维目标表面。Goueix等人通过学习二维到三维的映射关系,直接从图像中生成等距参数化的网格[8]。Wang等人将图像像素与三维几何形状相结合,并借助图卷积神经网络对随机初始网格进行变形,极大地简化了三维目标的生成过程[9]。Wen等人利用多视图信息迭代地完成顶点的变形,获取了更多的目标表面细节[10]。Yang等人将图像到网格的复杂映射分解为图像到点映射和点到网格两种更简单的映射,并引入局部特征采样策略和多视点轮廓损失,实现了可见和不可见类别目标的单视图重建[11]

上述三维重建方法中,体素表示的问题是低分辨率体素的拓扑结构不明显,而高分辨率体素的参数呈几何级数增长,需要消耗大量的计算资源;网格表示的问题是很难生成复杂的几何结构。与体素和网格相比,点云表示方法能够直接反映目标表面形状和结构,并且存储空间较小。因此,本文研究基于二维图像的三维点云重建。3DAttriFlow是一种基于单视图的三维点云重建方法,先将图像特征解耦为语义和几何特征,后用这些明确的特征引导三维球体上采样得到的初始点云进行多次变形,最终获得高质量的三维目标重建结果[7]。然而,单视图中包含的目标信息有限,导致目标重建质量仍有待提高。本文将3DAttriFlow推广至基于多视图的三维目标重建,通过引入注意力模块来融合多视图中提取出的目标特征,进而提高三维重建性能。此外,在特征提取过程中,引入通道注意力、关注重要通道特征信息。为了验证方法的有效性,在ShapeNet数据子集上开展三维重建实验。

2. 多视3DAttriFlow

多视3DAttriFlow的结构如图1所示。与单视3DAttriFlow相同的是,网络的主体结构仍分为特征流管道和变形管道。特征流管道从输入图像编码后的特征中解耦出目标的几何和语义特征流;变形管道利用两个特征流分别引导球面点云变形。与单视情况相比,多视3DAttriFlow的改进之处为红色虚线框内的编码器。一方面,在特征提取主干网络ResNet18的高层引入通道注意力机制,以突显重要特征;另一方面,使用注意力模块对多视图特征进行融合。接下来,详细介绍网络的主体结构、ResNet18的改进、多视图特征的融合,以及网络模型训练时的损失函数。

Figure 1. Network architecture

1. 网络结构

2.1. 主体结构

(1) 特征流管道

3DAttriFlow的特征流管道如图1(a)所示,主要包括编码器和三个特征流(Attribute Flow, AF)模块。编码器用于从输入图像中提取特征 y ,AF模块用于从图像特征y和球点云集 ( k=1,2,,K K为采样点的数量)中分三个阶段逐步提取几何和语义特征流。编码器采用ResNet18作为主干网络,包括卷积、批归一化、激活函数和残差连接。AF模块包括几何和语义两个子管道,如图1(c)所示。

考虑任意的第i (i = 1, 2, 3)个AF模块运算过程。对于几何子管道,先将图像特征y与球点云集的坐标位置进行拼接,然后通过多层感知器(Multi-layer Perceptrons, MLPs)获取几何特征 σ i , u i R K× C i (Ci表示第i阶段的特征维度)。对于语义子管道,先采用MLPs将图像特征y压缩为特征码 z i R 1×D (D为特征维度),也可表示为 z ij ( j=1,2,,D )。然后,采用线性子空间 U i ={ e ij } 的一个标准正交基 e ij R K× C i zij 变换,并将所有维度的特征求和加偏置得到语义特征 s i ,计算公式为,

{ z ^ ij = z ij l ij e ij s i = j z ^ ij + b i   (1)

其中, l ij 是一个可学习的参数, b i 为可学习的偏置。

(2) 变形管道

3DAttriFlow的特征流管道如图1(b)所示,主要包括虚线框内的变形过程和虚线框外的求和。变形过程用于获取点集 { p k } 的变形量 { Δ p k } ,又包括三个阶段的图注意力(Graph Attention, GA)模块[12]、自适应实例归一化(Adaptive Instance Norm, AdaIn)、求和运算,以及一个MLPs。虚线框外求和用于获取最终重建的目标点集 { ( p k +Δ p k ) }

考虑任意的第i (i = 1, 2, 3)次形变,记GA生成的点特征集为 Q i ={ q k i } 。采用AdaIn模块将点特征按照几何特征 σ i , u i 进行变换,任意的第k个点特征变换公式为,

q ^ k i = σ ik q k i u( q k i ) σ( q k i ) + u ik (2)

其中, u( q k i ) σ( q k i ) 分别表示移动平均算法估计 q k i 的均值和方差, σ ik u ik 分别表示 σ i u i 的第k行矢量。

之后,又采用MLPs和逐元素求和,将语义特征 s i 集成到点特征 q ^ k i

q ^ k i q ^ k i +ϕ( s i | θ s i ) (3)

其中, ϕ 为MLPs的全连接运算,θ为MLPs的权重参数。

在完成三个阶段的点特征更新后,再用MLP将点特征转换成三维矢量,即变形过程得到的点云。最后用虚线框外求和,将其和初始点云集相加,得到最终的点云重建结果。

2.2. 编码网络ResNet18的改进

Figure 2. Encoder architecture

2. 编码器结构

本文采用通道注意力机制(Squeeze-and-Excitation, SE) [13]对ResNet18进行改进。考虑到ResNet18高层包含了丰富的语义信息,且各通道的重要性差异较大。因此,本文在ResNet18最后一个卷积层后添加SE模块,以提高模型对重要通道特征的敏感性。改进后的SE-ResNet18结构如图2所示,主要包括卷积层、批归一化、ReLU非线性激活、基本块、SE层、平均池化层,以及全连接层。其中,基本块又包括卷积层、批归一化、ReLU非线性激活,以及短连接;SE层又主要包括平均池化层、全连接层、ReLU和Sigmoid非线性激活。

假设SE层的输入为特征 F R C×H×W (C, H, W分别代表特征的通道数、高和宽),输出为通道注意力权重矩阵 O R C×1×1 。SE的运算过程可以表示为,

O=SE( F )=σ( MLP( AvgPool( F ) ) )=σ( W 1 ( W 0 ( F avg ) ) ) (4)

其中, AvgPool( ) 表示全局平均池化特征,W0W1分别为两个全连接层的权重参数,σ为Sigmoid激活函数。

2.3. 多视图编码特征的融合

单视角图像能提供的目标信息有限,而多视角图像因相机拍摄角度不同而使得某一个视角下被遮挡的目标在另一个视角下被看见。因此,将多视角图像包含的信息进行融合,有利于获取更丰富和完整的目标特征信息。本文采用注意力模块[14]融合多视图像特征。

多视图融合模块的结构如图3所示。在用SE-ResNet18提取N幅图像的特征后,得到特征集 X={ x n } x n R 1×D ( n=1,2,,N ),D为特征维度。采用单层MLP对任意的特征 x n 进行变换,得到各特征的激活矢量 m n R 1×D ,即

m n =f( x n ,W )= x n W (5)

其中,f代表MLP的全连接运算, W R D×D f的权重。

Figure 3. Multi-view fusion

3. 多视图融合

记激活矢量构成的集合为 ={ m n } ,其中, m n =[ m n 1 , m n 2 ,, m n d ,, m n D ] 。采用Softmax函数对各激活矢量在特征维度上进行归一化,得到注意力分数,

s n d = e m n d j=1 N e m j d (6)

每个注意力分数矢量表示为 s n =[ s n 1 , s n 2 ,, s n d ,, s n D ] ,各注意力分数构成集合 S={ s n } 。将得到的注意力分数 S 和原始的特征集 X 逐元素相乘,得到聚合特征集 O={ o n } ,即,

o n = s n x n (7)

最后,将聚合特征矢量 o n =[ o n 1 , o n 2 ,, o n d ,, o n D ] 在特征维度上求和,得到 y=[ y 1 , y 2 ,, y d ,, y D ] ,计算公式为,

y d = n=1 N o n d (8)

2.4. 损失函数

多视3DAttriFlow模型训练时,一方面为保证 U i 的正交性,采用正交损失 Orth 为,

Λ Orth = i1,2,3 U i T U i 1. (9)

另一方面,采用预测出的和真实目标的点云集合之间的倒角距离 cd 作为损失函数,其计算公式为,

(10)

其中,分别为模型预测出的目标点云集合和真实的点云集合,N为两个集合中点的数量。

因此,网络总损失函数可以定义为,

=α Orth + cd (11)

其中, α 是平衡因子,其取值设为100。

3. 实验

3.1. 实验准备

ShapeNet数据集包含了大量的三维目标模型。本文从中挑选出13个类别的4378个对象,如飞机、长凳、橱柜、汽车、椅子、显示器、灯具、扬声器、枪支、沙发、桌子、手机和船只,作为实验数据集。每个对象均由24个随机选择的摄像机视点渲染得到。将每个类别对象数据按照7:2:1比例随机划分为训练集、验证集和测试集。

实验采用的软件系统为Ubuntu 20.04,深度学习框架为Pytorch 1.2.0。硬件配置CPU型号为Intel(R) Xeon(R) CPU E5-2680,主频为2.4GHz;GPU型号为NVIDIA Tesla P100,其显存为16G。模型训练时,采用Adam优化器,学习率为1e−3,训练的批次大小为24。

为了定量评估重建质量,采用倒角距离(Chamfer Distance, CD)作为性能平均指标,其计算公式和(10)式一样。显然,CD值越小,代表三维目标重建质量越好。

3.2. 消融实验

以原始的单视3DAttriFlow作为基准,然后依次引入通道注意力和多视图(3视图,4视图)特征融合,得到的实验结果如表1所示。相比基准模型,引入通道注意力后,CD降低了1.66%。进一步地,采用3视图和4视图特征融合后,CD分别降低了2.98%和3.64%。因此,通道注意力和多视图特征融合均能有效提升三维重建质量。其原因主要在于,在RestNet18的高层引入通道注意力,能够关注更重要的特征信息;采用多视图特征融合后,能获取更为丰富和完整的目标信息。

表1中的基准方法和本文的多视3DAttriFlow方法在训练过程中的损失 cd 变化情况进行对比,结果如图4所示。其中,红色表示基准方法,蓝色和灰色表示本文方法。结果表明,模型在训练初期时基准方法和本文方法的损失变化曲线基本重合;随着训练轮数的增加,3视和4视3DAttriFlow获得的 cd 值明显小于基准方法;当训练轮数大于150轮时,两种方法获得的变化曲线均能收敛,且本文方法的损失收敛值比基准方法更小,这与表1的结论一致。

Table 1. Results of ablation experiment

1. 消融试验结果

输入视图数量

Baseline

通道注意力

多视图融合

CD (×10−2)

1

3.02

1

2.97

3

2.93

4

2.91

Figure 4. The training loss curves for the baseline and our method

4. 本文方法和基准方法的训练损失曲线

3.3. 和其它方法的对比

将多视3DAttriFlow (3视和4视)方法与一些基于点云(PSGN [6])、体素(3DR2N2 [4])、网格(AtlasNet [8]、Pixel2Mesh [9]和OccNet [15])表示的三维重建方法及单视3DAttriFlow方法进行比较,每类目标的CD和所有目标的平均CD如表2所示。

结果表明,3DR2N2、PSGN、Pixel2Mesh、AtlasNet和OccNet比3视3DAttriFlow的平均CD分别高出84.64%、45.73%、79.86%、22.53%和41.64%,而单视3DAttriFlow比3视的平均CD高出3.07%。这意味着3DAttriFlow的性能远远优于其他非特征流解耦方法。由此可见,特征流解耦在三维重建中具有显著的优势。

进一步地,在13类目标的CD中,单视、3视和4视获得的最低CD的目标类别数分别是4、5和4,虽然数量基本相当,但单视和3视比4视的平均CD分别高出3.78%和0.68%。这说明多视比单视在性能上有一定的提升,而当视数达到一定数量后,性能提高则不再明显。原因在于单视图像中存在目标信息缺失,其他视角图像可以弥补这些缺失信息;但如果多视图中包含的目标信息已趋于完整,再增加图像视数只会使得目标信息冗余,达不到提升重建质量的目的。另外,随着视数的增加,特征图数量会增加,相应的运算量也增加,因此,需合理地选择图像视数,既获得高的三维重建质量,又兼顾重建效率。

3.4. 不同视数下重建结果的可视化

从13类目标中挑选出长凳、飞机、灯具和手机目标进行可视化,输入图像、单视3DAtrriFlow的重建结果、多视3DAtrriFlow的重建结果(3视和4视)分别如图5(a)~(d)所示。可视化结果表明:(1) 多视比单视的重建结果更为完整(如灯具),形状更接近真实(如手机),且轮廓更为清晰、细节更为丰富(如长凳和飞机)。(2) 4视和3视的重建结果相比,视觉效果只有略微的改变。这些结论与表2相一致。

Figure 5. Visualization of reconstruction results

5. 重建结果的可视化

Table 2. Comparison with other methods (CD: ×102)

2. 与其他方法的对比(CD: ×102)

Methods

3DR2N2

PSGN

Pixel2Mesh

AtlasNet

OccNet

3DAttriFlow

(1 view)

Ours

(3 views)

Ours

(4 views)

Airplane

4.94

2.78

5.36

2.60

3.19

2.11

2.15

2.14

Bench

4.80

3.73

5.14

3.20

3.31

2.71

2.5

2.52

Cabinet

4.25

4.12

4.85

3.66

3.54

2.66

2.7

2.82

Car

4.73

3.27

4.69

3.07

3.69

2.50

2.35

2.36

Chair

5.75

4.68

5.77

4.09

4.08

3.33

3.07

3.02

Display

5.85

4.74

5.28

4.16

4.84

3.60

3.29

3.14

Lamp

10.64

5.60

6.87

4.98

7.55

4.55

4.37

4.44

Loudspeaker

5.96

5.62

6.17

4.91

5.47

4.16

3.96

3.90

Rifle

4.02

2.53

4.21

2.20

2.97

1.94

1.89

1.94

Sofa

4.72

4.44

5.34

3.80

3.97

3.24

3.05

2.93

Table

5.29

3.81

5.13

3.36

3.74

2.85

2.79

2.83

Telephone

4.37

3.81

4.22

3.20

3.16

2.66

2.86

2.72

Vessel

5.07

3.84

5.48

3.40

4.43

2.96

3.16

3.11

Average

5.41

4.27

5.27

3.59

4.15

3.02

2.93

2.91

4. 结论

本文分别从特征提取网络引入通道注意力和多视图特征融合两方面对3DAttriFlow模型进行改进,以解决其重建性能受限于单视图像的缺失信息。首先,介绍了网络主体结构,主要包括特征流管道和变形管道。然后,介绍了编码主干网络ResNet18的改进方法,通过在该网络的深层引入通道注意力,以关注重要通道信息。其次,分析了多视图特征的融合过程。最后,在ShapeNet数据集上开展了实验。结果表明,在单视3DAttriFlow模型基础上,引入通道注意力和多视图特征融合均能提高网络的性能。可视化结果表明,多视比单视的重建结果更完整、形状更合理,且细节更丰富。

基金项目

在此特别感谢江西省自然科学基金对本文的支持:20224BAB202002。

参考文献

[1] 刘乐元, 孙见弛, 高韵琪, 等. 基于深度学习的单图像三维人体重建研究综述[J]. 华中科技大学学报(自然科学版), 2024, 52(5): 98-122.
[2] 杨航, 陈瑞, 安仕鹏, 等. 深度学习背景下的图像三维重建技术进展综述[J]. 中国图象图形学报, 2023, 28(8): 2396-2409.
[3] Wu, J., Wyman, O., Tang, Y., Pasini, D. and Wang, W. (2024) Multi-View 3D Reconstruction Based on Deep Learning: A Survey and Comparison of Methods. Neurocomputing, 582, Article ID: 127553.
https://doi.org/10.1016/j.neucom.2024.127553
[4] Choy, C.B., Xu, D., Gwak, J., Chen, K. and Savarese, S. (2016) 3D-R2N2: A Unified Approach for Single and Multi-View 3D Object Reconstruction. In: Leibe, B., Matas, J., Sebe, N. and Welling, M., Eds., Computer VisionECCV 2016, Springer, 628-644.
https://doi.org/10.1007/978-3-319-46484-8_38
[5] Tatarchenko, M., Dosovitskiy, A. and Brox, T. (2017) Octree Generating Networks: Efficient Convolutional Architectures for High-Resolution 3D Outputs. 2017 IEEE International Conference on Computer Vision (ICCV), Venice, 22-29 October 2017, 2088-2096.
https://doi.org/10.1109/iccv.2017.230
[6] Fan, H., Su, H. and Guibas, L. (2017) A Point Set Generation Network for 3D Object Reconstruction from a Single Image. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, 21-26 July 2017, 605-613.
https://doi.org/10.1109/cvpr.2017.264
[7] Wen, X., Zhou, J., Liu, Y., Su, H., Dong, Z. and Han, Z. (2022) 3D Shape Reconstruction from 2D Images with Disentangled Attribute Flow. 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), New Orleans, 19-24 June 2022, 3803-3813.
https://doi.org/10.1109/cvpr52688.2022.00378
[8] Groueix, T., Fisher, M., Kim, V.G., Russell, B.C. and Aubry, M. (2018) A Papier-Mache Approach to Learning 3D Surface Generation. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, 18-23 June 2018, 216-224.
https://doi.org/10.1109/cvpr.2018.00030
[9] Wang, N., Zhang, Y., Li, Z., Fu, Y., Liu, W. and Jiang, Y. (2018) Pixel2mesh: Generating 3D Mesh Models from Single RGB Images. In: Ferrari, V., Hebert, M., Sminchisescu, C. and Weiss, Y., Eds., Computer VisionECCV 201, Springer, 55-71.
https://doi.org/10.1007/978-3-030-01252-6_4
[10] Wen, C., Zhang, Y., Li, Z. and Fu, Y. (2019) Pixel2Mesh++: Multi-View 3D Mesh Generation via Deformation. 2019 IEEE/CVF International Conference on Computer Vision (ICCV), Seoul, 27 October-2 November 2019, 1042-1051.
https://doi.org/10.1109/iccv.2019.00113
[11] Yang, X., Lin, G. and Zhou, L. (2023) Single-View 3D Mesh Reconstruction for Seen and Unseen Categories. IEEE Transactions on Image Processing, 32, 3746-3758.
https://doi.org/10.1109/tip.2023.3279661
[12] Velickovic, P., Cucurull, G., Casanova, A., et al. (2017) Graph Attention Networks. International Conference on Learning Representations, Vancouver, 30 April-3 May 2018.
[13] Hu, J., Shen, L. and Sun, G. (2018) Squeeze-and-Excitation Networks. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, 18-23 June 2018, 7132-7141.
https://doi.org/10.1109/cvpr.2018.00745
[14] Yang, B., Wang, S., Markham, A. and Trigoni, N. (2019) Robust Attentional Aggregation of Deep Feature Sets for Multi-View 3D Reconstruction. International Journal of Computer Vision, 128, 53-73.
https://doi.org/10.1007/s11263-019-01217-w
[15] Mescheder, L., Oechsle, M., Niemeyer, M., Nowozin, S. and Geiger, A. (2019) Occupancy Networks: Learning 3D Reconstruction in Function Space. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, 16-20 June 2019, 4460-4470.
https://doi.org/10.1109/cvpr.2019.00459