【CVPR2020】【逆推】Image Processing Using Multi-Code GAN Prior

翻到最后有视频版哦~

论文地址:https://arxiv.org/pdf/1912.07116.pdf

项目地址:https://github.com/genforce/mganprior

文字版

这次给大家分享一篇,关于GAN逆推的论文,是周博磊老师组在cvpr2020上的一个工作

因为现在GAN的生成效果已经非常不错,但是他们的输入都是随机噪声,而我们的需求肯定是对一张已有的图片进行操作,所以GAN逆推这个主题是很关键的,是GAN编辑和生成的基础。GAN的逆推就是生成器的反过程,生成器是把一个向量输入,输出一张图片,逆推的效果是输入一张图片,输出一个他在GAN空间中的向量

a就是这篇论文逆推的效果,bcdef都是在逆推后达到的效果,可以看到都很不错

我会从这五个方面介绍一下这篇论文

背景

首先是背景,背景就是GAN的生成能力已经非常不错,但是都是在随机噪声输入的情况下,我们的需求是对一张现有的图片进行操作,但是这个很难

动机

动机呢就是之前的一些方式,都不能很好的把一张真实图片逆推到GAN空间中,而且对高分辨率图片,效果更加糟糕

目标

然后论文的研究目标就是充分利用已经训好的生成器,使得GAN的逆推最优,有了好的逆推效果,就能做很不错的图片编辑

方法

然后来看方法,先看一下之前的经典逆推方法,这个图是我拼起来的,大家凑合看一下。我们有一张真实图片,目标就是找到一个向量,这个向量通过生成器之后能生成和真实图片一样的图片。第一个经典方法的话就是左边这个算法,下面这个优化公式,有loss,然后去调整输入的w

第二个经典方法的话,就是学一个encoder,没什么好说的

然后是这篇论文的框架图,论文提出,单单靠一个向量去逆推,是不行的,表达能力太弱了,需要多个向量一起上,每个向量负责一小块的逆推效果,这样才能充分和真实图片近似。宏观来看,和之前的方法是差不多的,都是过生成器,然后和原图做loss,梯度反传调z

我来把这个结构拆开来讲一下,首先,把生成器劈成两半,多个向量过G1后生成很多个中间特征,这个是第一步

第二步呢,就是引入一个通道权值,每个中间特征的通道上都赋了权重,然后把带了权重的特征加在一起给G2,输出的就是逆推后的效果

第三,讲一下怎么优化,优化目标是多个输入z,还有对应的权值,优化函数是图片的L2loss和vgg 的loss,这个loss反传去优化。整个过程没有网络,只是一个简单的优化过程。

除了可以逆推原图,作者还发现,对于图片上色,超分,图片修补等,修改优化函数后都能得到很不错的结果,在实验里细说

实验

下面是实验,首先说一下逆推原图的效果,第一行是原图,方法a是只用一个向量去逆推,方法b是学习一个encoder来逆推,方法c是a和b的结合,方法d是本文的方法,可以看到在定量和定性上的效果,本文的效果都是最好的

然后是文章的一个消融实验,我们先竖着看,发现输入向量的个数不是越多越好的,多到一定程度,效果就提不上去了,这说明在优化空间的维数和逆推的效果之间存在trade-off的,y轴是逆推图片和真实图片的相关性大小。然后横着看,发现逆推的效果随着生成器切分层序列的增加呈现上升趋势,在第四层后变化不明显。

接着,文章探究了一下逆推的过程中,每个向量扮演了什么样的角色,具体的方法是,比如拿掉z1,得到生成前后的差异图,和原图分割出来的不同类做IOU,就发现z1其实是生成塔的,z7是生成树的等等

然后是几个应用,第一个是图片上色,输入一张灰度图片,可以上色,这个AuC指标是用一个pretrain的网络评价的,输出的ab图做L2 loss。可以看到定性和定量效果都是最好的

第二个应用是超分,输入一张低分辨率图片,可以看到效果还是非常不错的

第三个应用是图像修补,给定图片和掩码,能回复出原图,从指标上看还是非常不错的

第四个应用是人脸编辑,对真实图片逆推后,用interfacegan学到的语义向量去编辑,发现也能达到不错的效果

实验的最后是一个解释性,我们发现对于这样一张卧室的图片,用人脸集,教堂集训出来的模型也能逆推,且生成器切分层的索引越大,效果越好,但我们也要看到,对于卧室集训出的模型,在第四层就已经效果非常好了,但是其他集就算第八层也一般般,这其实也能解释。因为卧室和人脸等的语义是不一样的,所以在人脸模型在浅层的一些高级特征没法生成卧室的图片,但是随着网络加深,深层的低级特征,比如像素等,是可以粗略组合出卧室的图片的

同时,我们看上色和图片修补的例子,对于上色,我们发现到第八层,效果才最好,但是对于修补,第四层就很好了,层数再加深甚至是有害的。因为上色任务,大体的结构是有的,只需要修改低级特征颜色,故在深层网络中有体现,对于修补任务,需要补的是结构,是高级特征,所以在相对浅的网络中有体现

结论

然后是结论,就是更多的参数,能达到更好的逆推效果,同时这个方法也能有很多的图片编辑应用

不足

对于不足,我觉得是参数太多了,逆推会非常非常慢

 

视频

[CVPR2020]Image

 

[OpenBayes实现][CVPR2020]Image Processing Using Multi Code GAN Prior

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值