Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

摘要

卷积神经网络的最新进展已显示出有希望的3D形状完成结果。 由于GPU内存的限制,这些方法只能产生低分辨率的输出。 为了用语义上的合理性和上下文详细信息修补3D模型,我们引入了一个混合框架,该框架结合了3DEncoder-Decoder生成对抗网络(3D-ED-GAN)和长期递归卷积网络(LRCN)。  3DED-GANisa3D卷积神经网络经过生成对抗模型进行训练,以低分辨率填充丢失的3D数据。  LRCN采用循环神经网络架构以最大程度地减少GPU内存使用,并将编码器/解码器对合并到长期短期内存网络中。 通过将3D模型作为2D切片序列进行处理,LRCN将粗略的3D形状转换为更完整,更高分辨率的体积。 虽然3D-ED-GAN捕获3D形状的全局上下文结构,但LRCN会定位细粒度的细节。 在真实数据和合成数据上的实验结果均显示,从损坏的模型中重建出的结果是完整的高分辨率3D对象。


1.简介

3D传感器(例如,LiDAR,Kinect)收集的数据通常会受到遮挡,传感器噪声和照明的影响,导致3D模型不完整且噪声很大。 例如,树木遮挡的建筑物扫描会导致3D建筑物模型中出现孔或缝。 但是,人们可以理解和描述基于损坏的3D模型的完整建筑物的几何形状。 我们的3D绘画方法试图模仿这种从不完整数据重建完整3D模型的能力。

基于卷积神经网络(CNN)的方法[12、20、18、29]对于2D图像生成和图像修复产生令人印象深刻的结果。由于3D模型具有更高的尺寸,因此它的生成和修复是一个新的且更具挑战性的问题。 大型3D CAD数据集[5、27]和CNN用于体素(空间占用)模型的可用性[26、21、8]使得学习3D表示,形状生成和完成方面的进步。 尽管获得了令人鼓舞的结果,但人工制品仍保持其生成的形状。 而且,他们的方法都基于3D CNN,由于GPU内存有限,阻碍了它们处理高分辨率数据的能力。

在本文中,为了克服上述限制,引入了一种用于3D对象修复的新系统。 给定带孔的3D对象,我们的目标是(1)填充缺失或损坏的部分并重建完整的3D结构,(2)进一步细化具有精细细节的高分辨率形状。 我们提出了一种基于3D CNN的混合网络结构,该结构利用生成对抗模型的泛化能力和递归神经网络(RNN)的存储效率来顺序处理3D数据。 该框架如图1所示。更具体地说,首先提出了3D编码器-解码器生成对抗网络(3D-ED-GAN),以概括几何结构并以低分辨率将损坏的扫描图映射为完整的形状。 像变体自动编码器(VAE)[17,21]一样,3D-ED-GAN利用编码器将体素化的3D对象映射到概率潜在空间中,并利用生成对抗网络(GAN)帮助解码器从潜在特征表示中预测完整的体积对象。通过最小化上下文损失和对抗损失来训练此网络。 使用GAN,我们不仅可以保留输入数据的上下文一致性,还可以从数据分发中继承信息。

其次,进一步引入了长期递归卷积网络(LRCN),以获取局部几何细节并产生更高的分辨率。  3D CNN比2D CNN需要更多的GPU内存,这阻碍了对高分辨率3D数据的体积网络分析。为了克服此限制,我们将3D对象建模为2D切片序列。通过利用来自RNN的一系列条件分布的远程学习能力,我们的LRCN是一个Long ShorttermMemoryNetwork(LSTM),其中每个单元具有CNN编码器和一个全卷积解码器。 将3D-ED-GAN的输出切成2D图像,然后将其馈送到LRCN,从而为我们提供了一系列高分辨率图像。 我们的混合网络是端到端的可训练网络,它采用损坏的低分辨率3D结构并输出完整的高分辨率体积。 我们在合成的和真实的3D扫描场景下对场景进行了定性和定量评估。 为了进一步评估模型在3D修复过程中捕获形状特征的能力,我们测试了网络中3D对象分类任务,并进一步探索了编码的潜在矢量,以证明该嵌入式表示包含丰富的语义形状信息。

本文的主要贡献是:

   1. 修补3D模型中漏洞的3D编码器/解码器生成对抗性卷积神经网络,可以进一步帮助3D形状特征学习和对象识别。
   2.一个长期循环卷积网络,通过将体积数据建模为2D图像序列来克服GPU内存限制,从而生成具有细化细节的高分辨率3D体积。
   3.结合了以上两个想法并完成损坏的3D模型的端到端网络,同时还产生高分辨率。  

2.相关工作

2.1 生成模型

生成对抗网络(GAN)[12]通过联合训练生成器和鉴别器来生成图像。 在这项开创性工作之后,针对图像生成任务开发了一系列GAN模型[20,9]。  Pathak等。  [18]开发了一种在无监督学习算法中用于图像修复的上下文编码器。类似于自动编码器的网络体系结构中产生的对抗性损失为图像修复提供了令人印象深刻的性能。

随着3DCAD模型数据集的引入[27,5],3D生成模型的最新进展使用数据驱动的方法来合成新对象。  CNN用于学习嵌入式对象表示。  Bansal等。  [2]引入了一种跳跃网络模型,以检索2D CAD数据图像中描述的对象的3D模型。  Choy等。  [6]使用具有多视图图像的递归网络进行3D模型重建。  Girdhar [11]提出了一个TLembedding网络来学习一个嵌入空间,该空间可以在3D中生成,并可以从2D渲染图像中进行预测。  Wuetal。[26]表明,通过3DGAN学习的潜矢量可以生成高质量的3D对象,并提高对象识别精度。 他们还向3D GAN添加了图像编码器,以从2D图像生成3D模型。 严等。  [28]提出了一种编码器解码器网络,该编码器通过透视变换具有损失,用于从单视图2D图像预测3D模型。  

2.2.3D Completion

深度学习的最新进展已在3D完成中显示出可喜的成果。  Wu等。  [27]通过从3D体积中学习概率分布以从2.5D深度图中完成形状,使用卷积深度信念网络建立了一个生成模型。  Sharma [21]引入了一种全卷积自动编码器,该编码器通过估计体素占用网格从噪声数据中学习体积表示。 据我们所知,这是3D体积占用网格修补的最新技术。  3D-ED-GAN优于其3D-ED-GAN的一个重要好处是,我们引入GAN来继承数据分布中的信息。 戴等。  [8]引入了3D-EncoderPredictor Network来预测和填充3D距离场的缺失数据,并提出了3D合成程序以获得高分辨率对象。 这是高分辨率对象完成的最新方法。 但是,不是端到端网络,其形状合成过程就需要从数据集中对每个样本进行定位。 由于我们使用占用栅格来表示3D形状,因此在实验中未与它们进行比较。song等。  [22]合成了一个3D场景数据集,并提出了一个语义场景完成网络,以从单视图深度图生成一个场景的完整3D卷和语义标签。 尽管上述工作取得了令人鼓舞的结果,但这些方法主要基于3D CNN,与2D卷积相比,它需要的GPU内存要多得多,并且阻碍了高分辨率数据的处理。

2.3.Recurrent Neural Networks

RNN在处理从自然语言翻译[15]到视频分析[10]的硬序列问题方面表现出色。 通过隐式地对所有先前变量进行条件处理并保留远程上下文相关性,RNN也适用于密集的预测任务,例如语义分割[25,4]和图像完成[24]。  Donahue等。  [10]在3D数据(视频)上应用了2D CNN和LSTM,并开发了用于视频识别的递归卷积架构。  Oord等。  [24]提出了一种深度网络,该网络沿着两个空间维度依次预测图像中的像素。  Choy等。  [6]使用当前的网络和CNN从一系列多视图图像中重建3D模型。 在这些开创性工作之后,我们将RNN应用于3D对象数据,并预测2D像素序列的密集体积。


3 方法

本文的目标是将低分辨率的损坏的3D对象作为输入,并生成完整的高分辨率模型作为输出。  3D模型表示为体积占用栅格。 要填充丢失的数据,需要一种方法,该方法可以根据数据分布做出可预见的预测,并保留不完善输入的结构背景。 我们通过扩展3D生成对抗网络[26](即3DEncoder-DecoderGenerativeAdversarialNetwork(3DED-GAN))来引入3D编码器/解码器CNN,以完成3D修复任务。 由于3D CNN占用内存,并且不可能在高分辨率体积上应用3D-ED-GAN,因此我们仅使用3DED-GAN来操作低分辨率体素(例如323)。 然后对2D图像的3D-ED-GANasa序列的3D体积输出进行处理,并按片段重建对象片段。 提出基于LSTM的长期递归卷积网络(LRCN),以恢复细粒度的细节并产生高分辨率结果。  LRCN功能是通过从数据集中学习来完成详细信息的同时建立一个采样网络。 现在,我们分别描述3D-ED-GAN和LRCN的网络结构以及训练过程的详细信息。

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

3.1. 3D Encoder-Decoder Generative Adversarial Network(3D-ED-GAN) 

生成对抗网络(GAN)包括将噪声分布Z映射到数据空间X的生成器G和对生成的样本是否真实进行分类的鉴别器D。  G和D都是共同学习的深层网络。  D将真实样本与合成数据区分开。  G尝试生成“真实的”样本来混淆D。具体而言,GAN的目标是实现以下优化

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

 其中pdata为数据分布,pz为噪声分布。

网络结构

3D-ED-GAN通过将生成器G建模为完全卷积的Encoder-Decoder网络来扩展通用GAN框架,其中,编码器将输入数据映射到潜在向量z中。 然后,解码器将z映射到多维数据集。  3D-ED-GAN由三个组件组成:编码器,解码器和鉴别器。 图2描述了3D-EDGAN的算法体系结构。 编码器将输入大小为dl3(例如dl = 32)的损坏的3D卷x0。 它由内核大小5和步幅2的softhree3D卷积层组成,它们通过批处理规范化(BN)[14]和ReLU [13]层连接。 最后的卷积层被重塑为向量z,这是潜在特征表示。 没有完全连接(fc)层。  GAN中的噪声向量由z代替。 因此,3D-ED-GAN网络条件使用3D编码器。 我们在第4.2节中显示了此潜在向量具有指导任务的信息功能。 解码器具有与GAN中的G相同的体系结构,该结构将潜矢量z映射到大小为dl3的3D体素。 它具有三卷全卷积(也称为反卷积)层,内核大小分别为5和步幅为2,并在其之间添加了BN和ReLU层。 在最后一层之后添加抗活化层。 编码器/解码器网络可有效地卷积神经网络,而无需线性层或池层。 鉴别器与编码器具有相同的体系结构,最后是一个fc层和一个S形层。

Loss function 

3D-ED-GAN中的生成器G由Encoder-Decoder网络建模。 可以将其视为条件GAN,其中潜在分布以上下文数据为条件。 因此,可以通过重新公式化公式1中的目标函数来推导损失函数

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

 

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

 损失函数可以有效地推断缺失区域的结构,从而根据数据分布产生可想像的重构。 修复需要保持给定上下文的一致性,并根据数据分布产生合理的信息。  3D-ED-GAN具有捕获潜在空间与数据分布之间的相关性的能力,从而产生适当的合理假设。  

3.2。 长期循环卷积网络(LRCN)模型

3D CNN比2D CNN消耗更多的GPU内存。 由于内存限制,不可能通过添加3D卷积层来扩展3D-ED-GAN以产生高分辨率输出。 我们利用RNN的能力来处理长期顺序依存关系,并将3D对象体积视为2D图像的切片。 需要网络将尺寸为dl3的体积映射到尺寸为dh3的体积(我们有dl = 32,dh = 128)。 对于具有不同输入和输出尺寸的序列到序列问题,我们将一对编码器/解码器集成到受视频处理工作启发的LSTM单元中[10]。 我们的LRCN模型结合了LSTM,3DCNN和2D深层卷积网络。 它的工作原理是将每个2D切片及其相邻切片通过3D CNN,以产生固定长度向量表示形式作为LSTM的输入。  LSTM的输出向量通过2D全卷积解码器网络,并映射到高分辨率图像。 高分辨率2D图像序列构成了输出3D对象体积。 图3描述了LRCN体系结构。

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks

 

5.Conclusion and Future Work  

在本文中,我们提出了一种卷积编码器/解码器生成的对抗网络,以绘制损坏的3D对象。 进一步引入了长期循环卷积网络,其中将3D体积视为2D图像序列,以节省GPU内存并完成高分辨率3D体积数据。 在实际和合成扫描上的实验结果都表明了我们方法的有效性。 与其他3D CNN方法相比,由于我们的模型易于装入GPU内存[21,22]。 一个潜在的方向是以更高的分辨率完成更复杂的3D结构,例如室内场景[22,7]。 另一个有趣的未来途径是将我们的模型用于其他3D表示形式,例如3D网格,距离场等。