近期看的GAN在图像处理的应用
-paper1:Image-to-Image Translation with Conditional Adversarial Networks
-paper2:STGAN 待补充
paper1:Pix2Pix
提出了基于CGAN的 map pixels to pixels 通用框架。
Objective
-
An Unconditional GAN (Discriminator does not observe x)
-
A Conditional GAN
本文CGAN结构 - 修改:加入约束得到带正则项带目标函数
选择约束而非约束的原因可以参考http://cs231n.github.io/neural-networks-2/
正则p偏向于惩罚大数值权重向量从而分散权重向量。input和weight之间大乘法操作使得网络更倾向于使用所有输入特征,而不是严重依赖输入特征中某些小部分特征。
正则与相反,会让权重向量在最优化的过程中变得稀疏(即非常接近0)。网络更倾向于选择最重要的输入数据的稀疏子集。
选择上看你的需求,如果不是特别关注某些明确的特征选择,一般说来正则化都会比正则化效果好。本文显然更适合。
Network architectures
-
Generator with skips
在Image-to-Image Translation的大多任务中,图像的底层特征同样重要,所以利用U-net代替encoder-decoder.
- Markovian discriminator (PatchGAN)
This discriminator tries to classify if each N ×N patch in an image is real or fake. We run this discriminator convolutionally across the image, averaging all responses to provide the ultimate output of D.
PatchGAN的概念从上段原文的看,其实就是一个convnet。一般GAN只需要输出一个true or fasle 的矢量;PatchGAN输出的是一个N x N的矩阵,矩阵中每个元素都代表着在既定的感受野上的一个判断。
Experiments
实验部分没有细看,但是它的Evaluation metrics(Evaluating the quality of synthesized images)值得我借鉴:
1. AMT,一种人工评测平台,在amazon上。
2. FCN-8,使用预训练好的语义分类器来判断图片的可区分度,这是一种不直接的衡量方式。
总结论文主要工作
- 目标函数中加入L1约束,保证输入输出一致性
- 在生成器中,用U-net结构代替encoder-decoder,skip-connection来共享更多的信息
- 使用PatchGAN作为Discriminator
- input为图像,pairwise保证映射
思考🤔
看完这篇文章一直不能理解为什么作者说他提出了一种生成特定场景图像的通用框架,后来看了其它博客的分析明白了:普通GAN损失函数只关注生成的图像是否真实,丝毫不管是否对应。所以训练时间长了以后会导致只输出一个图像(mode collapse)。
网友评论