[Papers-GAN]2018_07
【Papers-GAN】2018-07-06
本周完成情况:
一、论文阅读
1. 论文标题:《Context Encoders: Feature Learning by Inpainting》
2. 论文实验:分为三个数据集
ucberkeley:
pairs:
imagenet:
实验结论:Context Encoders 对于简单背景及重复性纹理类图像修复效果还可以,对于复杂的图像修复效果较差。
可改进点:1. Encoder采用AlexNet前五层卷积层网络作为backbone,AlexNet网络作为前期网络参数量大,训练困难,可以使用其它网络模型如VGG来作为Encoder的backbone,另外,所有参数都是随机初始化,可以设定参数初始化方式,加快模型收敛速度。
2. Loss的设计,原论文采用Reconstruction Loss + Adversarial Loss的策略,但是Adversarial Loss只考虑Generator的loss,容易导致模型训练崩溃,考虑后期WassersteinGAN给网络添加约束正则项,例如加上Discriminator的Loss,可以提升网络训练的稳定性和提高图像修复的真实效果。
相比pix2pix来说,之前pix2pix的修复效果要比context-encoder的要好,尝试阅读并修改pix2pix的generator结构部分。
二、论文写作:无
三、学习:DCGAN图像修复,尝试将WGAN或最新SRGAN的结构和Loss换到DCGAN中,提高网络训练的稳定性,收敛速度和修复效果。
【Papers-GAN】2018-07-13
本周完成情况:
一、论文阅读
1. 论文标题:《Image-to-Image Translation with Conditional Adversarial Networks》
2. 论文内容:i. 生成器采用U-Net网络结构,优化Encoder和Decoder,使得两者之间的low-level信息可以相互交流;
ii. 判别器采用PatchGAN结构,对固定size的待修复mask进行修复,判定修复区域N * N大小的patch是真是假。
iii. Loss采用L1 loss+cGAN loss,代替传统基于欧式距离loss带来的模糊效果,L1 loss可以使得修复效果更sharp,cGAN loss使得修复效果更符合真实图像。
3. 论文实验: 尝试修复任意size的mask,构建数据集,相同参数下进行实验,发现修复区域中间会出现白色块的噪声,觉得是判别器的PatchGAN和L1 loss导致,因为PatchGAN适用与对固定size的mask进行修复,L1 loss在修复内容不正确的时候容易导致引入其它噪声。
(a)待修复图像 (b)修复结果 (c)目标图像
二、论文阅读
1. 论文标题:《Globally and Locally Consistent Image Completion》
2. 论文内容:i. Completion Network采用卷积和转置卷积结构实现对图像进行修复,使用转置卷积可以有更大的感受野,可以利用待修复区域周边的信息来进行修复,并且可以应用到更大size的mask修复中。
ii. 判别器采用局部和全局的上下文判别器,局部判别器可以使得修复效果有更真实的纹理细节;全局判别器使得修复效果有较好的全局一致性。
iii. Loss采用的是基于欧式距离,最小化网络的输出和相应的groundtruth。
3. 论文实验: 本文实验采用了800多万张图像,训练了50w次迭代,在四块K80 GPU上训练将近两个月。。想借鉴下论文的生成器和判别器结构。
【Papers-GAN】2018-07-20
本周完成情况:
一、论文实验:将原文固定size的修复区域修改为不固定size的修复区域,但是对于不固定size的修复区域修复效果较差,本实验在基于U-Net网络结构的基础上,对网络进行改进,并对实验参数进行调整,使其能够修复不固定size的修复区域,下面是每一步改进的两组实验结果。
待修复图像 原网络修复效果 修复目标
下面以这两组图为例,展示经过改进后的修复效果:
1. 生成器的l1_weight权重由100设置为50:
2. 调整batchsize由1到4/8,batch为4的效果较好:
3. 生成器加上normalization,判别器norm则设置为false:
4. 生成器decoder部分加上dropout,encoder部分设为false:(此处贴出encoder部分也加上dropout,效果较差)
5. 生成器encoder和decoder部分激活函数设置为lrelu:
相比最初网络修复不固定size的效果已经有一定的提升效果能看出大概轮廓,并且没有带来其它的噪点。后期待实验部分:
1. 生成器和判别器卷积参数进行改进;
2. 生成器中encoder和decoder的网络层数和输出特征通道数进行改进;
3. 对生成器encoder和decoder结构进行改进。
【Papers-GAN】2018-07-28
本周完成情况:本周继续对GAN图像修复进行实验,调整网络结构和参数来提高修复效果,本周整体实验效果都不算好。
1. 修改generator和discriminator中卷积核的ksize大小,设置为5/3,效果都较差:
2. 修改generator中卷积方式为深度可分离卷积,效果较差:(可分离卷积可带来更大的感受野,导致修复区域外也受到影响)
3. 修改discriminator中卷积核的padding方式,由valid改为same:
4. 修改generator和discriminator中卷积,激活函数和BN层的顺序,由relu->BN到BN-relu,效果变差:
5. 添加新的L2 loss,修改权重比例,效果较差:
6. 将L1 loss和L2 loss都添加到generator的loss中,效果较差:
下周实验计划:
1. 修改网络结构;
2. 修改discriminator的loss;
3. 修改网络layer的特征图channel数。