《Globally and locally consistent image completion》图像修复论文解读

       作者在context encoder的基础上进行改进,整个网络由一个修复网络和两个鉴别网络(全局鉴别网络和局部鉴别网络)组成。修复网络用来对进入其中的图像进行修复,而鉴别网络用来对图像进行判别。鉴别网络的目标是尽可能准确地分类修复出来的图像和ground truth,而修复网络则是尽可能地去愚弄鉴别网络,即要提升修复质量,使得鉴别网络无法准确地分辨修复出来的图像与ground truth。修复网络与鉴别网络组成了生成对抗性网络,以此来提高图像修复质量。

       一张ground truth,使用随机生成的mask遮盖掉其中的一部分信息,产生待修复图像。待修复图像进入修复网络中,得到修复后的图像。全局鉴别网络输入整张修复后的图像,而局部鉴别网络输入图像的一个局部区域,局部区域中包含了修复出来的图像信息,两个鉴别网络的输出都是一个1x1024的向量,将两个1x1024拼接成1x2048的向量,在经过一个全连接层,得到最终的值,即为鉴别网络对图像的分类结果(real or fake),所以两个鉴别网络是一起工作的。

        训练时,需要使用到修复网络与鉴别网络,训练完成之后,就只需要使用到修复网络了。利用global discriminator 和local discriminator 两种判别器保证生成的图像即符合全局语义,又尽量提高局部区域的清晰度和对比度。论文中的网络结构如下:

        completion network 的主体机构与context encoder 相同,先利用卷积降低图片的分辨率然后利用反卷积增大图片的分辨率得到修复结果。为了保证生成区域尽量不模糊,文中降低分辨率的操作是使用strided convolution 的方式进行的,而且只用了两次,将图片的size 变为原来的四分之一。同时在中间层还使用了dilated convolutional layers 来增大感受野,在尽量获取更大范围内的图像信息的同时不损失额外的信息。 

         Context discriminator 包含global和local两种,global discriminator把修复好的完整图片作为输入,如果图片较大,会将其resize 成256×256,通过多次convolution 和全连接层输出一个1024 维的向量,local discriminator输入为修复的区域,resize其大小为128×128,同样通过多次卷积和全连接输出一个1024 维的向量,把这两个向量连接成2048 维的向量再经过一个全连接层,输出判别结果。

为了稳定训练,采用了考虑补全区域掩模的加权MSE损失:

其中, 表示矩阵点乘, 表示欧几里得距离。

上下文鉴别器网络也作为一种损失,称为GAN损失:

其中, 代表修复网络, 代表鉴别网络,修复网络与鉴别网络形成了对抗性关系。 有两个作用,在图像进入修复网络之前,使ground truth缺失了部分信息;在图像修复完成之后,用来指示包含修复信息的局部区域作为局部鉴别网络的输入。 是随机生成的mask,但是它的作用只是用来指示ground truth中的某个区域作为局部鉴别网络的输入,并没有使ground truth缺失信息。

联合损失:

这里,最重要的是 ,它用来调节GAN loss在联合损失中的比重,在文中作者将 设置成了0.0004 过小,GAN loss就发挥不出作用,修复出来的图像比较平滑,缺失细节,如果 过大,训练过程不稳定,修复效果也不好。

网络的训练分为三个部分:

第一个部分,使用MSE loss单独训练修复网络,不更新鉴别网络

第二个部分,使用GAN loss单独训练鉴别网络,不更新修复网络

第三个部分,使用联合损失,结合修复网络与鉴别网络一起训练,但是根据生产对抗性网络的做法,两个网络是轮流更新的

       虽然论文的网络模型可以合理地填充缺失区域,但有时生成的区域与周围区域有细微的颜色不一致。为了避免这种情况,论文通过将完成的区域与周围像素的颜色混合来进行简单的后处理。

该网络模型的优点与缺点:

优点:复原能力强,且可以生成眼睛、鼻子等细节结构,但是需要在相关数据集上进行fine-tuning

缺点:如果mask 中抹掉的是大块的结构状物体,复原效果比较差,接近object removal 的效果了。

 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值