生成对抗网络GAN中超分辨率应用?

判别器需要判断图片来自真实数据还是生成数据,但是如果没有原始真实数据就是没有原始高清分辨率图片怎么判断优化啊?还是他的真实数据来自于大量高清图集的学习…
关注者
15
被浏览
82,946

4 个回答

你所说的原始高清分辨率图像必须要有的,不然就训练不了。现在的研究一般做法是人为地把现有的图像下采样制作低分辨率的图像,然后再去训练模型将它恢复到高分辨率的图像。。最近整理了用GAN做超分的数十篇论文,也附带下载地址,欢迎有兴趣的同学看看23333


GAN相关阅读:

  1. GAN整整6年了!是时候要来捋捋了!
  2. 强数据所难!SSL(半监督学习)结合GAN如何?
  3. 新手指南综述 | GAN模型太多,不知道选哪儿个?
  4. 天降斯雨,于我却无!GAN用于去雨如何?
  5. 有点夸张、有点扭曲!速览GAN如何夸张漫画化人脸!
  6. 脸部转正!GAN能否让侧颜杀手、小猪佩奇真容无处遁形?
  7. 容颜渐失!GAN来预测?
  8. 弱水三千,只取你标!AL(主动学习)结合GAN如何?
  9. 异常检测,GAN如何gan?
  10. 虚拟换衣!这几篇最新论文不来GAN GAN?
  11. 脸部妆容迁移!速览几篇用GAN来做的论文
  12. 【1】GAN在医学图像上的生成,今如何?
  13. 01-GAN公式简明原理之铁甲小宝篇
  14. 数百篇GAN论文已下载好!搭配一份生成对抗网络最新综述!

引言

这日,你伸着懒腰,打着呵欠,对着窗外,正感慨时光已逝,红了樱桃绿了芭蕉……忽然,桌面上的手机传来了微信的振动声,你极其不耐烦地走过去。

“老猪,我在超市看到了一个气质佳人!”

面对老铁这未见世面的无措,你弹指键飞:

“你还能见到啥佳人?再说,就你审美???”

“稍等!……”

“你要干嘛……”

很快,对面传来一幅图:

“你偷拍人家真的好吗。。再说脸呢??……”

这时手机又亮起:

“我刚刚把无关的截了一下,再截个脸吧~

你:“???……”

“隔得有点远,可能拍的有点小,好像看不清……”

正文引言

摘自SRGAN: The highly challenging task of estimating a highresolution (HR) image from its low-resolution (LR) counterpart is referred to as super-resolution (SR).

图像超分辨率,简称超分SR,一般指放大分辨率,例如把256X256变到512X512的分辨率,这时的放大倍数scale为2。显然,这是一个无中生有、去补全像素的ill-posed问题,没有唯一解。图像超分,应用场景自然是广泛的。一般的方法是将低分辨率的图像LR作为方法的输入,进行处理得到高分辨率的HR图像。

但值得注意的是,在现实场景中,匹配成对的数据集是极其难以获取得到的。如今相当多的论文,都是自制这种LR-HR图像对去作为训练集。比如先将原图HR通过下采样得到LR,再进行LR到HR的映射学习。但真正应用到实际中,LR和HR之间的关系是不是我们自以为是的“下采样”的关系呢?这恐怕是未知、难以模拟的,人为的下采样或其他人工方法不过是一厢情愿罢。在医学图像SR上可能更需谨慎。

今天整理的是结合GAN生成对抗网络的图像超分。首先总结两篇极具代表意义的、大名鼎鼎的超分GAN即SRGAN和ESRGAN,并大概提一下一篇用网络去收集小分辨率的数据的论文,最后给出70多篇结合GAN做超分的论文!!!希望给有志这方面探索、了解的同学一个参考!

(70多篇论文已经下载打包好,获取方式关注下图,回复【超分GAN】即可)

1. (2017-05-25) (SRGAN)Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

arxiv.xilesou.top/pdf/1

尽管使用更快、更深的卷积神经网络实现单图像超分辨率在准确性和速度上都有突破,仍然存在一个焦点问题在很大程度上未解决:当在较大的放大倍数上去获取超分辨率图像时,如何恢复更精细的纹理细节?以往的工作主要集中在均方差重建上,在结果评估时使用PSNR等,但通常缺乏高频细节,并且在视觉上难以令人满意。在本文提出SRGAN,第一个用于图像超分辨率(SR)的生成对抗网络(GAN),能够推断出4倍逼真的自然图像。为了实现这一目标,提出了一种感知损失函数,包括对抗损失和内容损失。使用基于感知相似性的内容损失摈弃了在像素空间进行相似性衡量。平均意见分数(MOS)表明了方法卓越的性能。

如下图所示,放大4倍的超分方法对比。第一个是双立方插值,第二个是基于均方差损失驱动的卷积神经网络,第三个是本文SRGAN,最后是参考原始图。

优化:

损失函数:

生成器损失(原文作者把整个生成器损失叫感知损失:内容损失+生成器对抗损失+):

内容损失:

生成器对抗损失:

作者做了蛮多一些消融探究的,此不述。

最后是实验结果其一。堪称大型SSIM和PSNR打脸现场。SRGAN在PSNR和SSIM上的表现不如SRResNet但在MOS、也就是人眼观察上吊打前者足矣。

2. (2018-09-17) ESRGAN Enhanced Super-Resolution Generative Adversarial Networks

arxiv.xilesou.top/pdf/1

SRGAN是具有开创性的工作。但细节之处仍然难令人满意,为此进一步研究了SRGAN的三个关键组成部分:网络架构,对抗损失和感知损失,并将其改善得到增强型SRGAN(ESRGAN)。特别地,引入了无BN批归一化的残差密集块Residual-in-Residual Dense Block(RRDB)作为基本的网络构建单元。而且,借用相对GAN 的思想让判别器进行预测相对真实性。最后,通过使用在激活之前的特征去进行感知损失计算,来达到在亮度一致性和纹理恢复方面提供更强的监督的目的。受益于这些改进, ESRGAN相比SRGAN,具有更好的视觉质量、更逼真的自然纹理并赢得PIRM2018-SR挑战赛的第一名。

网络结构上的改进:

由于BN在比如粗粒度任务分类等中具有积极效果,但对于类似于风格迁移这种单幅图像具有鲜明特点的任务中,不宜使用批量的统计量,否则容易弱化单图像固有的本身细节信息。于是作者尝试去掉BN,但这又容易导致网络训练的困难,于是采用Dense block这种更易提升网络性能的结构。

对抗方式的改进:

参考了相对GAN的设计思路。

对抗损失:

大致推导一下:

原始GAN:

感知Loss的改进:

使用relu激活之前的特征进行损失计算。这样的特征可以包含更丰富和细节的响应信息。


使用网络插值:

GAN过于“自由胡来”,有一些细节可能不太自然。而以往基于MSE优化的卷积网络偏向平滑模糊丢失细节。于是网络插值提出综合两者网络的方法:先训练一个常规的超分网络,在这个网络的基础上再fine-tuning得到GAN的生成器,然后把两个网络的参数加权相加:

如下图所示,通过调节α可以找到一个更偏好或平衡的的中间效果。

3. (2018-07-30) To learn image super-resolution use a GAN to learn how to do image degradation first

arxiv.xilesou.top/pdf/1

在前面提到,超分的训练里,通过简单的双线性下采样(少数情况下是先模糊后下采样)人工生成的低分辨率的图像,然后将它们进行超分处理。但在现实生活中,这种方法并不能产生很好的效果。

为此提出一个两阶段的过程,首先训练一个High-to-Low GAN来学习如何对高分辨率图像进行下采样,在训练过程中,只需要非配对的高分辨率和低分辨率图像。实现了这部分后,该网络的输出可以用来训练一个Low-to-High GAN来实现超分辨率重建,这次利用配对的低分辨率和高分辨率图像。我们的主要结果是,这个网络可以有效地提高真实世界低分辨率图像的质量。本文将这种方法应用于人脸超分辨率的问题,并验证其有效性,方法也可能适用于其他图像对象类别。

实验结果:


001 (2020-03-4) Turbulence Enrichment using Generative Adversarial Networks

arxiv.xilesou.top/pdf/2


002 (2020-03-2) MRI Super-Resolution with GAN and 3D Multi-Level DenseNet Smaller Faster and Better

arxiv.xilesou.top/pdf/2


003 (2020-02-29) Joint Face Completion and Super-resolution using Multi-scale Feature Relation Learning

arxiv.xilesou.top/pdf/2


004 (2020-02-21) Generator From Edges Reconstruction of Facial Images

arxiv.xilesou.top/pdf/2


005 (2020-01-22) Optimizing Generative Adversarial Networks for Image Super Resolution via Latent Space Regularization

arxiv.xilesou.top/pdf/2


006 (2020-01-21) Adaptive Loss Function for Super Resolution Neural Networks Using Convex Optimization Techniques

arxiv.xilesou.top/pdf/2


007 (2020-01-10) Segmentation and Generation of Magnetic Resonance Images by Deep Neural Networks

arxiv.xilesou.top/pdf/2


008 (2019-12-15) Image Processing Using Multi-Code GAN Prior

arxiv.xilesou.top/pdf/1


009 (2020-02-6) Quality analysis of DCGAN-generated mammography lesions

arxiv.xilesou.top/pdf/1


010 (2019-12-19) A deep learning framework for morphologic detail beyond the diffraction limit in infrared spectroscopic imaging

arxiv.xilesou.top/pdf/1


011 (2019-11-8) Joint Demosaicing and Super-Resolution (JDSR) Network Design and Perceptual Optimization

arxiv.xilesou.top/pdf/1


012 (2019-11-4) FCSR-GAN Joint Face Completion and Super-resolution via Multi-task Learning

arxiv.xilesou.top/pdf/1


013 (2019-10-9) Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution

arxiv.xilesou.top/pdf/1


014 (2020-02-3) Optimal Transport CycleGAN and Penalized LS for Unsupervised Learning in Inverse Problems

arxiv.xilesou.top/pdf/1


015 (2019-08-26) RankSRGAN Generative Adversarial Networks with Ranker for Image Super-Resolution

arxiv.xilesou.top/pdf/1


016 (2019-07-24) Progressive Perception-Oriented Network for Single Image Super-Resolution

arxiv.xilesou.top/pdf/1


017 (2019-07-26) Boosting Resolution and Recovering Texture of micro-CT Images with Deep Learning

arxiv.xilesou.top/pdf/1


018 (2019-07-15) Enhanced generative adversarial network for 3D brain MRI super-resolution

arxiv.xilesou.top/pdf/1


019 (2019-07-5) MRI Super-Resolution with Ensemble Learning and Complementary Priors

arxiv.xilesou.top/pdf/1


020 (2019-11-25) Image-Adaptive GAN based Reconstruction

arxiv.xilesou.top/pdf/1


021 (2019-06-13) A Hybrid Approach Between Adversarial Generative Networks and Actor-Critic Policy Gradient for Low Rate High-Resolution Image Compression

arxiv.xilesou.top/pdf/1


022 (2019-06-4) A Multi-Pass GAN for Fluid Flow Super-Resolution

arxiv.xilesou.top/pdf/1


023 (2019-05-23) Generative Imaging and Image Processing via Generative Encoder

arxiv.xilesou.top/pdf/1


024 (2019-05-26) Cross-Resolution Face Recognition via Prior-Aided Face Hallucination and Residual Knowledge Distillation

arxiv.xilesou.top/pdf/1


025 (2019-05-9) 3DFaceGAN Adversarial Nets for 3D Face Representation Generation and Translation

arxiv.xilesou.top/pdf/1


026 (2019-08-27) Super-Resolved Image Perceptual Quality Improvement via Multi-Feature Discriminators

arxiv.xilesou.top/pdf/1


027 (2019-03-28) SRDGAN learning the noise prior for Super Resolution with Dual Generative Adversarial Networks

arxiv.xilesou.top/pdf/1


028 (2019-03-21) Bandwidth Extension on Raw Audio via Generative Adversarial Networks

arxiv.xilesou.top/pdf/1


029 (2019-03-6) DepthwiseGANs Fast Training Generative Adversarial Networks for Realistic Image Synthesis

arxiv.xilesou.top/pdf/1


030 (2019-02-28) A Unified Neural Architecture for Instrumental Audio Tasks

arxiv.xilesou.top/pdf/1


031 (2019-02-28) Two-phase Hair Image Synthesis by Self-Enhancing Generative Model

arxiv.xilesou.top/pdf/1


032 (2019-10-23) GAN-based Projector for Faster Recovery with Convergence Guarantees in Linear Inverse Problems

arxiv.xilesou.top/pdf/1


033 (2019-02-17) Progressive Generative Adversarial Networks for Medical Image Super resolution

arxiv.xilesou.top/pdf/1


034 (2019-01-31) Compressing GANs using Knowledge Distillation

arxiv.xilesou.top/pdf/1


035 (2019-01-18) Generative Adversarial Classifier for Handwriting Characters Super-Resolution

arxiv.xilesou.top/pdf/1


036 (2019-01-10) How Can We Make GAN Perform Better in Single Medical Image Super-Resolution A Lesion Focused Multi-Scale Approach

arxiv.xilesou.top/pdf/1


037 (2019-01-9) Detecting Overfitting of Deep Generative Networks via Latent Recovery

arxiv.xilesou.top/pdf/1


038 (2018-12-29) Brain MRI super-resolution using 3D generative adversarial networks

arxiv.xilesou.top/pdf/1


039 (2019-01-13) Efficient Super Resolution For Large-Scale Images Using Attentional GAN

arxiv.xilesou.top/pdf/1


040 (2019-12-24) Learning Temporal Coherence via Self-Supervision for GAN-based Video Generation

arxiv.xilesou.top/pdf/1


041 (2018-11-20) Adversarial Feedback Loop

arxiv.xilesou.top/pdf/1


042 (2018-11-1) Bi-GANs-ST for Perceptual Image Super-resolution

arxiv.xilesou.top/pdf/1


043 (2018-10-15) Lesion Focused Super-Resolution

arxiv.xilesou.top/pdf/1


044 (2018-10-15) Deep learning-based super-resolution in coherent imaging systems

arxiv.xilesou.top/pdf/1


045 (2018-10-10) Image Super-Resolution Using VDSR-ResNeXt and SRCGAN

arxiv.xilesou.top/pdf/1


046 (2019-01-28) Multi-Scale Recursive and Perception-Distortion Controllable Image Super-Resolution

arxiv.xilesou.top/pdf/1


047 (2018-09-2) Unsupervised Image Super-Resolution using Cycle-in-Cycle Generative Adversarial Networks

arxiv.xilesou.top/pdf/1


048 (2018-09-17) ESRGAN Enhanced Super-Resolution Generative Adversarial Networks

arxiv.xilesou.top/pdf/1


049 (2018-09-6) CT Super-resolution GAN Constrained by the Identical Residual and Cycle Learning Ensemble(GAN-CIRCLE)

arxiv.xilesou.top/pdf/1


050 (2018-07-30) To learn image super-resolution use a GAN to learn how to do image degradation first

arxiv.xilesou.top/pdf/1


051 (2018-07-1) Performance Comparison of Convolutional AutoEncoders Generative Adversarial Networks and Super-Resolution for Image Compression

arxiv.xilesou.top/pdf/1


052 (2018-12-19) Generative Adversarial Networks and Perceptual Losses for Video Super-Resolution

arxiv.xilesou.top/pdf/1


053 (2018-08-22) cellSTORM - Cost-effective Super-Resolution on a Cellphone using dSTORM

arxiv.xilesou.top/pdf/1


054 (2018-04-10) A Fully Progressive Approach to Single-Image Super-Resolution

arxiv.xilesou.top/pdf/1


055 (2018-07-18) Maintaining Natural Image Statistics with the Contextual Loss

arxiv.xilesou.top/pdf/1


056 (2018-06-9) Efficient and Accurate MRI Super-Resolution using a Generative Adversarial Network and 3D Multi-Level Densely Connected Network

arxiv.xilesou.top/pdf/1


057 (2018-05-28) tempoGAN A Temporally Coherent Volumetric GAN for Super-resolution Fluid Flow

arxiv.xilesou.top/pdf/1


058 (2018-10-3) High-throughput high-resolution registration-free generated adversarial network microscopy

arxiv.xilesou.top/pdf/1


059 (2017-11-28) Super-Resolution for Overhead Imagery Using DenseNets and Adversarial Learning

arxiv.xilesou.top/pdf/1


060 (2019-10-3) The Perception-Distortion Tradeoff

arxiv.xilesou.top/pdf/1


061 (2017-11-7) Tensor-Generative Adversarial Network with Two-dimensional Sparse Coding Application to Real-time Indoor Localization

arxiv.xilesou.top/pdf/1


062 (2017-11-7) ZipNet-GAN Inferring Fine-grained Mobile Traffic Patterns via a Generative Adversarial Neural Network

arxiv.xilesou.top/pdf/1


063 (2017-10-19) Generative Adversarial Networks An Overview

arxiv.xilesou.top/pdf/1


064 (2018-05-21) Retinal Vasculature Segmentation Using Local Saliency Maps and Generative Adversarial Networks For Image Super Resolution

arxiv.xilesou.top/pdf/1


065 (2018-11-28) Simultaneously Color-Depth Super-Resolution with Conditional Generative Adversarial Network

arxiv.xilesou.top/pdf/1


066 (2017-06-20) Perceptual Generative Adversarial Networks for Small Object Detection

arxiv.xilesou.top/pdf/1


067 (2017-05-7) A Design Methodology for Efficient Implementation of Deconvolutional Neural Networks on an FPGA

arxiv.xilesou.top/pdf/1


068 (2017-05-5) Face Super-Resolution Through Wasserstein GANs

arxiv.xilesou.top/pdf/1


069 (2017-10-12) CVAE-GAN Fine-Grained Image Generation through Asymmetric Training

arxiv.xilesou.top/pdf/1


070 (2017-02-21) Amortised MAP Inference for Image Super-resolution

arxiv.xilesou.top/pdf/1


071 (2017-05-25) Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

arxiv.xilesou.top/pdf/1


一种主题的风格转换成另外一种主题的风格,其他位置还能保持不变,比如


普通马和斑马之间的转换,草原景色不变。

  • 配对的数据(造型相同,只是颜色不一样)


  • 不配对的数据


左右不匹配,左边是实际的场景,右边是油画。
无论是配对图像还是非配对图像都可以进行训练,即不需要配对,也能识别出来。只需要两组图像数据集即可,无需指定对应关系,例如

    • 马和斑马


    • 航拍地图和地图据


马和斑马训练和测试数据的目录结构



普通马训练数据trainA



斑马训练数据trainB



只需要指定马长什么样子,斑马长什么样子,不需要它们之间有一一对应的关系。

航拍地图数据trainA



普通地图数据trainB



只需要知道航拍数据是怎么样的,普通的地图数据是怎么样,就可以进行训练了,不需要一一对应,让网络学一学实际拍出来是什么样子,转换到地图中又是什么样子。

CycleGan怎么进行学习的

  • 传统的方式


输入一张真实的图片A,经过G A-B生成网络,生成一张假的图片B,将假的B输入判决网络D中,G A-B网络希望判决器认为B是真的,判决器希望自己能够识别出来B是假的,将真实的马输入判决器,判决器希望能够识别出来是真实的数据,所以,无论是生成网络生成的假的马的数据,还是输入的真实马的数据到判决器,判决器都会认为这些都是真实的马,所以G A-B网络只需要生成的图片是马的数据,就可以骗过判决器。

  • 新的方式



为了使得G AB生成出来的结果跟原始输入是有关联的,增加了G BA网络,由B还原成A,使得真实的输入图片A和还原的图片尽可能的相似。G AB是在原始输入图片的基础之上进行了合成,G BA是将合成之后的图片还原,然后比较输入图片和还原图片的差异,即计算L2 Loss(目标变量和预测值的差值平方和)

上图中有3个损失函数

  • G网络需要计算损失
  • D网络需要计算损失
  • GAB的输入和GBA的输出之间也需要计算损失即Cycle网络

当前这个网络(把马转换成斑马)主要考虑GAB,让网络学习怎样做转换怎样做还原,但怎样把GBA突出出来呢?即把斑马转换成马



上图中有2个生成器和2个判决器共4个网络。怎么样让网络达到训练要求,是由损失函数决定的,当前的输入(Input_A)和最终还原出来的输出(Cyclic_A)做L2 Loss计算。

普通马图像经过GAB生成一个假的斑马图像B,把这个假的斑马图像B再输入到GAB中,它应该生成和原始输入Input_A一摸一样的图像,因为将斑马输入到GAB中,GAB就应该知道:这就是我想输出的结果。所以看到是斑马作为输入,直接将斑马输出就可以了。

上图中涉及4种损失函数:

  • G网络
  • D网络
  • Cycle网络
  • Identity网络 比如将生成的斑马B再输入到GAB中,GAB就会知道这个斑马就是我要输出的结果,直接将输入原封不动的输出就行了,这个过程也需要计算损失函数

判决器D网络有点特别,PatchGAN

之前判决器是传入一个Sigmoid函数中,最终得到的是一个数值;现在判决器经过卷积神经网络得到一个输出结果,但是最终的输出结果不会输入到Sigmoid函数中,也不会连全连接层,就是一个特征图,比如N x N x 1的特征图:最终一次卷积,filter个数是1,就得到了N x N的矩阵,需要基于感受野来计算损失。

从特征图中的每一点都能看到原始输入的一部分



第一次卷积得到的特征图(圈红的地方)是3x3的卷积核得到的结果,它能看到的位置就是原始输入3x3的部分。

  • 基于感受野在特征图上预测结果,标签也需要是NxN的矩阵计算损失值



原始图像经过一次卷积得到一个特征图,里面有4个点,点1对应的位置是原始图像中红色的部分,其他依次类推,每个点都能看到原始输入的一个区域。这一张图中有4个小patch(区域),不通过一张图判断是真还是假,而是基于每个小patch都做判断。



标签跟输出结果是一样的,也得是N x N的矩阵,代表每个小patch的标签值,判决器对每个小patch判决结果都是1才达到完美。

实现该场景的开源项目

https://gitee.com/pingfanrenbiji/pytorch-CycleGAN-and-pix2pix

下载训练数据



下载数据源在sh脚本中可以看到



其中maps是航拍转换成地图数据,hosrse2zebra是马和斑马数据,apple2orange是苹果转换成橙子的数据


将下载好的数据,放到datasets目录下



训练模型

然后进行模型训练得到模型或者下载已经训练好的模型,





这些都是已经训练好的模型,就可以直接拿测试数据进行预测结果了

有了模型之后,进行模型预测


或者通过idea传入参数



  • 第一个参数是测试文件夹的数据
  • 第二个参数是模型名称


从这里获取指定模型,自己训练的模型保存在这个文件夹中。


这个文件夹是下载的已经训练好的模型

  • 预测结果存在在这里





比如其中一对数据如下:



一个是假的数据,一个是真的数据

训练模型参数指定



或者



这个模型训练需要的显存(如同计算机的内存一样,显存是用来存储要处理的图形信息的部件)比较大,如果没有一个非常好的服务器或工作站或专门做深度学习的,batch_size就设置为1。默认的图片输入大小是256x256,如果显存实在太小,可以调整为128x128,最少显存8G,最好12G,不然会报错 memery error。

关键代码分析-构建数据集



读取数据,





指定要当前所做项目的名称,非对齐,也就是CycleGAN





指定好数据集,



有1096个数据,



指定输入输出的颜色通道RGB,一般是3



判断是否要做resize,将原始输入数据(256x256) resize成 286x286的





先resize,再crop操作,固定大小256x256



随机50%的可能性做这个翻转操作





归一化操作,第一步转换成Tensor格式,



然后指定平均值和标准差。原始输入数据取值范围是0-1之间的,实际网络训练,尤其是GAN网络,希望结果是-1到1之间,可能训练的会更好一些。mean和std在各个颜色通道上都指定0.5之后,所有输入数据的取值范围就都是-1到1之间了。



RandomHorizontalFlip是数据增强

创建模型



损失函数的名称定义



输入数据经过GAB的合成与GBA的还原跟原始的输入尽可能的相同。G网络把A转换成B,实际输入一个B,更应该输出一个B即把实际要生成的数据当作输入之后,输出是否跟输入是一样的,通过损失函数来计算。

netG_A和netG_B两个网络架构是一样的,区别是输入和输出不同、标签指定不同,损失函数不同。


norm='batch',沿batch的方向做归一化,主要用在卷积网络当中,做分类或回归任务都是用它,通常指定的batch都是比较大的,这里没有用batch,而是用InstanceNorm2d,原因1是因为一个一个训练的,第二点在做划分的时候影响更大的在channel(颜色通道)或着特征图的方向,在R、G、B上分别自己做归一化



这个网络是残差网络,



网络先加上了一个Padding



圈红的地方是原始的输入数据,指定padding=2上下左右都加了2圈并做了翻转(默认是翻转模式,自己可以设置),比如036上面是63下面是30。



第一步先做一个基本的卷积操作(所有的提取操作都是卷积,没有全连接的概念),将彩色的3个特征图转换成64个特征图。不断的做卷积得到的特征图一般会越来越小,特征图的个数会越来越多,这个就是正常卷积的过程,接下来执行反卷积(特征图越来越少,特征图大小越来越大),相当于特征提取完了,再还原回去,直到最后一个,可能就和原始的输入一样了即256x256x3,设置最终filter=3,就得到类似图像数据了。



默认添加9个残差的模块,来提取特征





每个模块都是一样的,所有的卷积操作都是输入256,输出256,特征图的个数是不变的,



这是上采样,用反卷积去做的。



输入256个特征,输出128个特征,反卷积的过程当中,特征图的个数变少,特征图大小要变大。

按照倍数把当前结果比上2,相等于特征图是原来的一半。

第一步做了一次反卷积得到128个特征图,



第二次for循环,128个特征图变成了64个特征图,又执行了一次反卷积,


最后一步,做了一个正常的卷积,输入64个特征图,输出跟任务是挂钩的,希望对抗生成网络最后生成的结果是实际的一张图像,channel个数一定是3,



最后一步生成结果是


为了使得跟原始数据有可比性,添加一个激活函数

一般都加Tanh函数,因为刚开始做预处理的时候,把数值的取值范围映射到-1到1之间了,输出也得跟它是一致的取值范围才行,所以这里加上一个Tanh激活函数。



这一步就是权重参数初始化,一般用高斯分布初始化所有的权重参数。



测试就不需要判决器了,直接拿生成器生成结果



颜色通道的归一化,





一开始做卷积,输入是3个颜色通道,得到64个特征图,



特征图个数变多了



接下来还是执行这样一个操作



又加了一个卷积层,得到的特征是512个,H x W x 512。在patch_gan中,最终得到的结果是N x N的矩阵,N x N中的每一个值代表原始图像中的一个小区域,基于当前这个N x N的结果去判断一下,每个小区域是不是都做对了。一点代表一个结果,而不是512个点代表一个batch。



怎么样把一个点代表一个batch,得将H x W x 512转换成H x W x 1,这就得到了N x N x 1的当前的判决器的结果了。