基于深度学习的三维模型重构研究

2021-04-29 03:37:32李勇祥邵思羽
关键词:形状分辨率重构

张 豪,张 强,李勇祥,邵思羽

(1.空军工程大学 研究生院,西安 710038;2.空军工程大学 防空反导学院,西安 710038;3.中国人民解放军95261部队,广西 柳州 545000)

0 引 言

通过单一图像建立其三维模型一直是研究领域的一个热点。由于一个视图可能对应多种可能的形状,大多数情况对应的形状都是不合实际的,单视图的3D形状建模具有很高的挑战性。目前主流的三维模型重建方法有2种,一种是使用第3方三维模型库,例如OpenGL,VTK(visualization toolkit),这些第3方库内部封装了大量的三维图形处理函数,可以很方便地绘制三维图像,但缺点是需要人为绘制三维图像,费时费力;第2种方法是基于深度学习的三维模型重构,通过神经网络提取出其深度图像[1-4],再通过这些图像还原三维模型。

在2016年的NIPS会议上,3D-GAN[5]的概念被首次提出,其原理是使用深度卷积网络的表征能力来解决形状不符合实际的问题,生成对抗网络(generative adversarial network,GAN)学习2D图像到3D模型的映射。生成网络负责生成3D模型,对抗网络判断这些模型的真假。但是由于3D模型库的训练样本不足,且整个模型不具有很好的泛化能力,3D-GAN并没有在单视图三维模型重建方面取得很好的效果。2018年,文献[6]提出把ShapeHD三维重构模型运用到3D-GAN的思想,通过将深度生成模型与对抗学习的形状先验相结合,超越单视图形状补全和重建的极限,它将学习到的先验知识作为正则化惩罚项,并在其输出脱离现实而非简单的偏离实际形状时对模型进行惩罚,通过这种思想,解决了前面提到的三维建模存在的问题。该方法在多个真实数据集的形状重建方面都远远超过了现有最高水平。

1 现有的单图像三维重建方法

1.1 现有主流三维重构模型

目前基于深度学习的三维重建方法大多都是将预测的形状与真实的三维模型进行比较,通过损失函数最小化使得预测的形状越来越精确。由于模型的多维性,在训练过程中,网络很难学习到有用的细节。以前的工作大多使用了不同的损失函数,在预测形状模块上添加先验知识,或使用额外的监督训练使预测的三维模型接近真实形状。例如最近的2种方法:ShapeHD(shape priors for single-view 3D completion and reconstruction)算法和AtalsNet(Papier-Mache approach to learning 3D surface generation)算法,都使用不同的表示、损失函数以及训练策略来解决网络学习的问题。图1为ShapeHD模型示意图,通过提取深度图像建立重构的三维模型,取得了很好的效果。图2为AtlasNet模型,该模型受欧几里得平面拓扑空间启发,提取输入图像潜在特征以及在单位正方形中均匀采样的二维点作为输入,通过K个多层感知器(multi-layer perceptron,MLP)使其在曲面上生成一个单点,最终映射到三维形状的表面来局部地近似目标表面,从而完成重构。

图1 ShapeHD模型示意图Fig.1 Schematic diagram of ShapeHD model

图2 AtlasNet模型示意图Fig.2 Schematic diagram of AtlasNet model

1.2 现有模型缺点

三维物体相较于二维多了一个维度, 基于体素的重建随着重建分辨率的增加, 物体体积成立方体增长, 使其受限于计算和内存,分辨率的重建结果是非常粗糙的。并且当输入的单视图图像清晰度不高时,模型的深度图像提取效果差,进而影响三维模型的建立。

2 网络结构

虽然目前的单图像三维重建方法在多个数据集上取得了很好的效果,但依然存在很多缺陷。本文主要针对目前主流的基于深度学习的单图像三维重建方法进行优化,提出的算法结构主要有以下特点:①在网络的最前端加入超分辨率模块,使得对输入图像的清晰度要求降低;②在深度图像提取模块引入跨层链接UNET++的思想,去除了归一化层,使其提取的深度图像效果更好;③首次在三维重建中引入投影映射,强制生成的三维形状与深度图像对齐,以联合优化超分辨率模块与深度图像估计模块。并在判别模块使用了Wasserstein GAN,不再需要平衡生成器和判别器的训练程度,使训练变得更加稳定。实验结果表明,本文模型相较传统的单图像三维重构方法建立的三维模型细节更多,更加逼真。

2.1 深度图像估计器

这一部分使用了编码器-解码器(Autoencoder)网络结构来估计单图像的深度图像。Autoencoder是神经网络的一种,其目标是找到随机映射,使输入输出差异最小。使用Autoencoder结构,能够很好捕捉图片的有效特征,提取出效果较好的深度图像。

2.1.1 编码器

原始的深度轮廓编码器是一个深度残差网络[7](Resnet),这是微软实验室何凯明团队在2015年提出的一种深度卷积网络。Resnet的提出解决了网络深度变深以后性能退化的问题,为一些复杂的特征提取和分类提供了可行性。但是在实际的训练中,Resnet存在着训练困难,图像分割细节不够好的问题。所以,在Resnet网络的基础上引入了UNet++的网络结构。

(1)

(1)式是UNet++网络结构的核心思想,H()表示一个卷积和一个激活函数;u()表示一个上采样层;[]表示连接层,例如x1,2就是由x1,0,x1,1和上采样后的x2,1拼接之后,再经过一次卷积层和relu激活函数层得到[8-9]。

UNet++结构不仅对Resnet的跨层链接进行改进,还引入了DSN(deeply-supervised nets)思想,即网络的loss函数是由不同层得到的分割图的loss平均,使图像分割结果的细节更多,深度图的提取效果更好。DSN的损失函数为

(2)

2.1.2 解码器

解码器输出相应的深度图像,它包含4组5×5全卷积层和relu层,4组1×1卷积层和relu层。

2.2 超分辨率模块

本文研究的是单个RGB图像的三维模型建立,由于拍摄的照片可能由于对焦、摇晃等外界因素导致分辨率不够清晰,从而影响深度图像的提取,导致建立的三维模型效果欠佳。在网络前端加入超分辨率模块能很好地解决这个问题[10-11]。

超分辨率模块基于SRCNN(super-resolution convolutional neural networks)进行改进,SRCNN是首个使用CNN(convolutional neural network)结构的端到端的超分辨率算法,由3个卷积层构成。该网络训练层数少,训练速度慢,没有足够的视野域,在放大高倍数的图像中表现不尽如人意。

本文在SRCNN的结构基础上增加了网络的层数,增大了网络的感受野。使用残差块,在增加网络层数的同时,提高学习率,加快网络收敛速度。结构如图3。在训练数据集方面,将放大系数为(2x,3x,4x)的数据集混合训练,达到共享参数的目的,减少网络工作量。当图像分辨率达到一定的程度时,深度图像的提取效果就不会随着清晰度而提高,使用太大的放大因子并不能使提取效果变好,反而会增加训练的难度。该模块最终使用3x放大因子对输入图像进行超分辨重构。

图3 超分辨率网络结构示意图Fig.3 Super resolution network structure diagram

引入超分辨率模块,使得输入任意清晰度的单视图图像,整个网络结构对深度图像的提取都能达到很好的效果。

2.3 投影模块

为了解决估计的三维形状和深度图像之间的一致性差的问题,本文将深度图像作为输入,投影映射得到三维模型的表面形状来解决该问题。深度图像投影示意图如图4。目前,将投影技术应用于单图像三维重构领域还处于初步阶段,还有很大的发展空间[9-11]。

图4 深度图像投影示意图Fig.4 Schematic diagram of depth image projection

本文使用vx,y,z表示三维形状,其中x,y,z表示三维体素网格中的位置;dx,y表示估计的深度图像。在投影过程中,确保具有深度的体素为1,其他的网格则设为0(见图5)以保证估计的三维形状与深度图像的一致性。

定义投影的损失函数为

(3)

求导的梯度为

(4)

图5 投影一致性原理图Fig.5 Schematic diagram of projection consistency

2.4 判别模块

判别模块是一个3D生成对抗网络,生成器由5个带有relu激活函数的卷积层构成,随机合成一个三维形状。判别器由5个带有leaky relu激活函数的卷积层构成(如图6),将生成的形状与实际形状区分开来。该模块借鉴了3D-GAN的思想,使判别器能够对合成的三维模型的真实性进行判断,建立更逼真的三维模型。

由于三维图形的高维度特性,训练GAN网络会变得高度不稳定。为了解决这个问题,本文的损失函数使用了Wasserstein GAN[12-13]的思想,不再需要小心平衡生成器和判别器的训练程度。为判别模块的损失函数

(5)

(5)式中:D代表判别器;Pg,Pr分别代表生成的三维形状和真实的三维形状;λ是惩罚项。

图6 判别器结构示意图Fig.6 Structure diagram of discriminator

3 训练步骤以及评价指标

3.1 训练步骤

整个训练过程分为3部分,首先是训练超分辨率网络,这里用到的数据集是Div2k数据集。Div2k是用于图像恢复高分辨率的数据集,包括800张训练图像,100张验证图像和100张测试图像。为了增强训练效果,本文对原有的Div2k数据集进行了扩充,采用了随机水平翻转和90°旋转来增加训练的数据集,并在训练之前对图像进行了预处理,对Div2k数据集的每一张图像都减去了整个数据集的平均RGB值。

第2部分是训练编码器和解码器,也就是深度图像提取模块。这里用到的是含有6 000张图像的数据集,包括2 000张常见的RGB图像(例如椅子,汽车,飞机等),2 000张与其对应的深度图像,2 000张与其对应的轮廓图像。同样也要在训练之前对图像进行减RGB均值的预处理。

第3部分是对投影以及判别模块进行训练,这里用到的是ShapeNet数据集。此数据集包含了55种常见的物品类别以及对应的513 000个三维模型[14-15]。但是,由于设备的限制以及3D模型训练的困难性,这里只对部分ShapeNet的数据集进行训练。

3.2 评价指标

在评价深度图像提取效果方面,我们使用了真实图像和输出图像二维交并比(IoU)作为衡量依据。如(6)式,其中A表示预测图像,B表示真实图像,IoU的值越高表示预测效果越好。

(6)

本文采用IoU和倒角距离(chamfer distance,CD)作为衡量三维重建效果的指标。其表达式为

(7)

(7)式是三维体素重构模型与实际三维模型之间的体素相交部分。(7)式中,i,j,k表示体素位置,I()表示指标函数,t是体素化阈值[16]。

由于深度图像无法提供形状内部信息,只通过IoU来衡量重建效果是不全面的,所以本文引入另一种评价指标,倒角距离。倒角距离的计算公式为

(8)

(8)式中:S1,S2分别表示从预测和真实三维形状的表面采样点的集合。通过计算预测点到真实点的平均距离,能较好地评价三维模型的重建效果。

4 实验结果及分析

为了验证本模型在拍摄图像不清晰时三维重构的效果优于现有的单图像三维模型重构方法,首先对深度图像进行提取。表1、表2分别给出了输入为低分辨率和高分辨率图片的IoU。从表1可以看出,通过我们的改进模型,在输入为低分辨率图像时,4种类别的深度图像提取评价IoU值高于现有方法13.5%。而从表2能看出,在输入为高分辨率时,改进模型提取效果也优于ShapeHD模型。图7和图8为提取的部分深度图像,能更直观地进行对比。

表1 输入为低分辨图片的IoU

表2 输入为高分辨图片的IoU

AtlasNet模型与本文三维模型重构对比如图9。图10 给出了AtlasNet模型与本文模型重建IoU值对比。由图10可知,本文三维模型重构IoU指标在各类别的训练中都高于现有的主流模型AtlasNet。由于只用IoU衡量重建效果不全面,在实验过程中我们还引入了倒角距离作为另一种衡量指标。表3是部分类别测试的倒角距离,通过计算预测点到真实点的平均距离,能较好地评价三维模型的重建效果。由表3可看出,本文模型在与现有方法的对比中,倒角距离都表现得更好,预测点与真实点更为接近。图11为输入分辨率不同图像时,ShapeHD模型与本文三维模型重构效果对比。由图11,充分验证了本文模型在单视图三维重构的潜力。

图7 输入为高分辨率图像时深度图像提取效果Fig.7 Extraction effect of high resolution image

图8 输入为低分辨率图像时深度图像提取效果Fig.8 Extraction effect of low resolution image

表3 三维模型倒角距离测试结果

图9 AtlasNet模型与本文三维模型重构对比Fig.9 Comparison between AtlasNet model and our model

图10 AtlasNet模型与本文模型重建IoU值对比Fig.10 Comparison of the reconstruction IoU value between AtlasNet and our model

图11 分辨率不同时单视图三维模型重建效果对比Fig.11 Effect comparison of 3D model reconstruction with different resolution

5 结 语

从实验结果可以看出,本文的改进模型实现了清晰度低的单图像三维重构效果优于目前主流的三维模型重构方法,并通过加入投影手段,对深度图像和重构的三维模型进行对齐,实现了各模块的训练一致性。但是三维模型的维度较高,训练的难度较大,由于仿真设备的条件限制,本文只对椅子、沙发、飞机等几种常见模型进行了训练。另外现在的三维模型数据库还不够完善,用此方法进行三维模型重构非常重要的一点就是需要大量的真实三维模型进行训练,但目前最大的三维数据库只有几十种常见的模型,还远远达不到任意单视图三维重建的目标要求。

猜你喜欢
形状分辨率重构
挖藕 假如悲伤有形状……
长城叙事的重构
摄影世界(2022年1期)2022-01-21 10:50:14
EM算法的参数分辨率
北方大陆 重构未来
你的形状
原生VS最大那些混淆视听的“分辨率”概念
北京的重构与再造
商周刊(2017年6期)2017-08-22 03:42:36
基于深度特征学习的图像超分辨率重建
自动化学报(2017年5期)2017-05-14 06:20:52
一种改进的基于边缘加强超分辨率算法
看到的是什么形状