小一读论文(二)

写在前面

本文主要用于新手对文章的理解以及本人回顾时使用,不保证完全准确,仅供参考。
本论文的发表日期是2017年,可能会有时效性,请注意!
对读者的要求:简单了解卷积神经网络;有基础的数理知识(概率,矩阵,积分等);了解GAN的基础原理(什么是生成器,什么是判别器);简单的svm知识
先放上原文链接:原文链接
由于本人能力有限,若有错误恳请各位斧正!

原文分析

摘要

提出了生成3D物体的新框架-3DGAN,这是一个在概率空间生成3D物体的模型。本模型受益于体素在CNN(卷积神经网络)和GAN(生成对抗网络)上的应用。有如下三个优势:

  1. 使用对抗标准而不是传统的启发式标准。优势:模型可以更好的使用于捕获物体结构以及物体的塑造。
  2. 建立了从低维概率空间到3D物体所在空间的映射。优势:模型的生成不依赖参考图片或者CAD模型,可以生成的种类更加多样。
  3. GAN的判别器提供了非监督的3D物体鉴别器具有广泛的应用领域。优势:非监督的学习方法成本会更低。

1.简介

对生成式3D模型有两个要求:

  1. 生成结果多样化(不依赖于记忆或者已存在的预定义库)
  2. 生成结果逼真(体现更多细节)

以前的网格或骨架似的生成模型都是在对CAD生成的物体进行组合,虽然逼真,但并不满足需求。
随着深度学习的发展,基于大规模的CAD物体库(例如:shapeNet)的生成模型有了长足的发展。与原来基于零件的生成模型的思路是不一样的,它尝试去学习物体的表示方法。但由于维度相对2维更高,就会有很大的困难。
本文展示的GAN思路可能会在两个方向都有较大的发展。本文结合了GAN和体积卷积网络的成果。此模型使用GAN中的判别器对物体进行真伪判别。GAN的判别器可能能够捕捉两个3D
物体之间的结构茶艺。生成对抗的损失也有效的避免了过拟合。
GAN还有一些其他优势:

  1. 使得从隐空间采样新颖的物体成为可能;
  2. 判别器能够识别3D对象的信息(见第四部分);
  3. 无监督学习就可以进行物体的识别与生成 ;

我们的模型在生成3D物体和识别3D物体上与最新的监督模型性能相差不大,远远超过了别的非监督方法。而且有着广阔的应用空间。比如可以结合VAE(可见上一篇)来实现从2D输入到3D物体重建的过程。GAN可以携带更多的3D物体分形信息。

2.相关工作

  1. 3D对象的合成与建模
  2. 作用于3D物体的深度学习
  3. 用对抗网络学习
    3D-GAN
    3D-GAN生成器的展示图,判别器往往是生成器的镜像。

3.模型

我们将介绍体素卷积网络和GAN以及VAE,VAE是为了捕捉从2D图像到3D物体的映射存在的。

3.1 3D-GAN

首先这是一个GAN。生成器映射了一个200维的隐向量,从概率空间随机采样出一个64x64x64的立方体来表示在3D空间中的物体。生成器输出D(x)来表示输入的东西是合成的还是真实的。
我们使用二元交叉熵做为分类损失,并将总得对抗损失表示为
L 3 D − G A N = l o g D ( x ) + l o g ( 1 − l o g D ( G ( z ) ) L_{3D-GAN}=logD(x)+log(1-logD(G(z)) L3DGAN=logD(x)+log(1logD(G(z))
其中x是真实物体中采样出来的64x64x64的内容,z是从p(z)分布中采样得到的噪声。z的每一维都是[0,1]上的均匀分布。

网络结构

生成器由五层体素全连接卷积神经网络构成,核的大小是4x4x4,步长为2,层与层之间加入batch normalization和RELU,最后一层加入sigmoid激活函数,判别器就是生成器的镜像,只是把RELU换成了LeakyRELU。没有池化层和线性层。

训练细节

由于判别器训练的远比生成器训练的快,所以我们只在判别器的最后的准确率小于80%时更新判别器。将生成器的学习率设置为0.0025,D的学习率设置为 1 0 − 5 10^{-5} 105,batch设为100,用 β = 0.5 \beta=0.5 β=0.5的ADAM进行优化。

3.2 3D-VAE-GAN

如果存在从2D图形到隐空间向量的映射,那么我们就很容易根据2D图片对3D图形进行映射重建。为此,我们引入了一个将2D图像编码成3D图像的z(上文所示)的编码器。也有人曾将解码器和GAN的生成器做为一体实验过。
3D-VAE-GAN由三部分组成:

  1. 2D图像的编码器(从2D图像的输入转变为提取出来的200维向量z)由五个空间卷积层组成,核是{11,11,5,5,8}步长是{4,2,2,2,1},每层之间包含RELU和batch normalization,最后一层有一个采样器来获得下一步所需的200维的z;
  2. GAN的生成器(同时也是向量z的解码器,用以生成图像)
  3. GAN的判别器
损失函数

此模型的损失函数为三部分组成:

  1. 进行重建的损失 L r e c o n L_{recon} Lrecon;
  2. 3D-GAN的交叉熵 L 3 D _ G A N L_{3D\_GAN} L3D_GAN;
  3. KL散度损失 L K L L_{KL} LKL
    L = L 3 D _ G A N + α 1 L r e c o n + α 2 L K L L=L_{3D\_GAN}+α_1L_{recon}+\alpha_2L_{KL} L=L3D_GAN+α1Lrecon+α2LKL
    L 3 D − G A N = l o g D ( x ) + l o g ( 1 − l o g D ( G ( z ) ) L_{3D-GAN}=logD(x)+log(1-logD(G(z)) L3DGAN=logD(x)+log(1logD(G(z))
    L K L = D K L ( q ( z ∣ y ) ∣ ∣ p ( z ) ) L_{KL}=D_{KL}(q(z|y)||p(z)) LKL=DKL(q(zy)p(z))
    L r e c o n = ∣ ∣ G ( E ( y ) ) − x ∣ ∣ 2 L_{recon}=||G(E(y))-x||_2 Lrecon=G(E(y))x2
    x是从训练集中训练得到的3D形状,y是x对应的2D图形,q(z|y)是隐变量z的分布。KL损失依据先前的p(z)分布对生成结果进行惩罚,以便生成器能够从相同的分布进行正常的采样。本实验中的分布选用了零均值和单位方差的分布。
    需要使用2D图片和它们对应的3D物体进行训练,本实验中对物体进行了24个角度,3个角度的采样。令 令 α 1 = 5 , α 2 = 1 0 − 4 令\alpha_1=5,\alpha_2=10^{-4} α1=5,α2=104,训练思路与3.1类似。

4.评估

4.1 3D对象的生成

此模型相比吴等人的新的合成3D对象的技术,会更逼真(具有更高的细粒度)质量也更高。
在这里插入图片描述
在这里插入图片描述

这是3D对选哪个合成的结果,右边是神经网络的合成结果。
下面的车和桌子是吴等人的实验结果。而最下面一行是从通过体素自编码器生成的3D物体的结果。
在这里插入图片描述
这是不同物体高低解析度结果的对比。

4.2 3D对象的分类

传统的用于评估非监督学习到的表示的方法是通过他们的特征进行分类。为了能够获得输入3D图像的特征,我们重构了判别器的2,3,4层,并使用了核大小为{8,4,2}的最大池化方法。最后使用了线性svm来进行分类。

1.数据

使用ShapeNet进行训练,用ModelNet进行测试。ModelNet1()和ModelNet4()经常备用来做类似测试。

2.结果

在这里插入图片描述
可以看到,3D-GAN的效果在非监督的方法里面遥遥领先,但与最新的有预训练的结果要差一点,但是与没有经过与训练的实验结果都差距不大甚至所超越。而且3D-GAN在有限的数据下表现也挺好。

4.3 单张图进行的3D重建

1.数据

在IKEA的数据集上进行测试。修剪了IKEA的图片,使得所要的图片位于中间。

2.结果

如下图展示了3D-VAE-GAN分别在六类物体上训练的结果和在六类物体上一起训练的结果。
在这里插入图片描述
在这里插入图片描述
图像重建的结果。

5.分析学习表示

5.1生成表示

  1. 可视化物体向量。为了看见每个维度的语义含义,我们将该维度特意增大,然后观察对生成结果会有怎样的影响。
    在这里插入图片描述
    可见有的维度(对物体进行编码的结果的某个维度的值)具有一定的语义,比如是粗和细。

  2. 插补。 我们展示了两个物体对象的编码进行拼合之后的结果图所示。(将椅子与汽车的编码进行插补)
    在这里插入图片描述

  3. 算术法
    在隐空间进行加减运算来表示。本实验中的模型是随机的而不是基于已有的CAD库的。
    在这里插入图片描述

5.2判别器表示

神经元在整个对象的选择方面具有选择性,同时部分神经元也学习到了内在语义结构。

6.总结

  1. 用以3D物体生成的3D-GAN
  2. 用以建立从单张图片到3D物体的映射的3DVAE-GAN
  3. 3D-GAN的判别器可以实现图像的分类
  4. 同时探索了物体隐空间的表示

我的想法

这篇论文给我的启发大概有以下几点:

  1. 探索从隐空间向量到GAN生成的结果的关系有三种路径:1.把某一维度特征放大2.进行代数运算(加减法)3.进行插补(但我感觉插补的意义并不明显)
  2. 变分自编码器的解码器同时也可以作为生成对抗网络的生成器,而判别器往往是改进过得生成器的镜像。
  3. 初步了解了ModelNet1,ModelNet4经常用来作为3D物体生成测试集。经常在shapeNet上进行训练。
  4. 了解了IKEA数据集用以完成从单张图片到3D物体的重建
  5. 3D-GAN的损失常常是KL损失,从编码器的重建损失以及GAN的损失进行线性加和的结果。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值