GFPGAN:Towards Real-World Blind Face Restoration with Generative Facial Prior 论文笔记

前言

在传统的图像去模糊的网络中,由于输入图像质量较低,不能提供准确的几何先验,而且高质量的参考图像是没有的,会极大限制去模糊网络的性能。为了突破这一限制,论文在人脸图像恢复领域提出了基于StyleGAN和去模糊结合的网络,先对图像进行初步的去模糊,然后利用已经经过预训练的styleGAN这种人脸生成模型在去模糊后图像的基础上进行生成,从而恢复图像更多人脸的纹理、边缘信息,使得看起来更加逼真,兼顾了真实性和保真度。其实本质上个人理解还是一个条件生成的过程,将低质量图像作为条件生成高质量图像。

创新点如下:

①将人脸图像恢复任务与GAN这种具有丰富先验的盲脸生成模型相结合;

②提出了一种网络结构,和CS-SFT层以及新的损失函数,可以很好地兼顾真实性和保真度。

网路结构

上图就是模型的整体结构,主要由两部分组成,第一部分是一个退化消除网络,可以理解成就是一个U-net结构的去模糊网络,第二部分是一个已经预训练好的类似于styleGAN2的脸部生成网络,它们通过CS-SFT层连接起来。在第一部分中,Unet结构的去模糊网络又分为下采样层(编码器)、中间层和上采样层(解码器),输入的模糊图像在经过上采样层的编码器之后来到中间层,此时将其称为图像的潜在特征FlatentFlatent 经过一个MLP之后转化为潜在编码W,作为StyleGAN2的输入,可以生成卷积特征表示为FGAN,包含了大量的脸部细节信息。在Unet的下采样解码器中,将不同尺度(分辨率)的输入去模糊后的图像称为Fspatial,和FGAN一起作为CS-SFT的另外一部分输入进行空间调制。

Degradation Removal Module

如上所描述,其实就是一个去模糊的Unet结构的网络,主要的作用有两个,第一个是去模糊,第二是产生不同尺度的特征编码FlatentFspatial,还有一个细节是针对不同尺度的去模糊图像,都会有GT计算L1损失。

 Generative Facial Prior and Latent Code Mapping

 Channel-Split Spatial Feature Transform

首先,不同尺度的Fspatial经过卷积后估计出α和β两个参数,然后与FGAN在维度上均分成两部分,分别是split0和split1,split1进行下式和α和β的计算得到Foutput,然后split0进行identity操作,具体没有写这是干什么的。最后进行维度上的拼接得到输出图像。至于每个尺度是怎么最后进行合成一张图像的也没有具体说清楚。

损失函数

损失函数主要包含四个部分

①重建损失:参考ESRGAN,其中包括了除了L1损失之外,还有一个感受损失,用的也是VGG-19的网络来评估图像的真实性。

 ②对抗损失:训练的一个辨别器来对图像的真实性进行估计。

 ③脸部组成损失:分别对左眼、右眼以及嘴巴三个部位训练局部辨别器对图像ROI区域进行辨别,除此之外,还加入了Gram矩阵,可以很好的计算特征相关性,捕捉纹理信息。

 ④身份损失:采用了预先训练的人脸识别ArcFace模型,该模型捕捉了身份识别中最突出的特征。身份保留损失强制恢复结果在紧凑的深层特征空间中与地面真实保持较小的距离。

 总损失计算如下:

 实验

在数据集中,使用的是FFHQ,与之前的图像超分辨任务直接进行bicubic不一样,论文模拟图像退化过程,模糊图像退化如下式,随机挑选参数σ, r, δ q 分别从{0.2 : 10},{1 : 8}, {0 : 15}, {60 : 100}

 

局限

上图展示的是模型的局限性,对于退化比较严重的图像来说,恢复的图像比较扭曲,像是人工进行后期处理的图片。

总结

GFP-GAN把图像去模糊和生成GAN模型进行了结合,使得从去模糊网络中得到图像的特征条件,然后经过GAN生成后回复高频的信息,所以理论上来说还是一个条件生成模型。之所以效果这么好,很大一部分原因是损失函数的设计比较详细,以往的模型直接以PSNR直接作为损失函数,这其实是不太合理的。这篇论文分别将人脸局部、全局的特征、纹理相似性特征、重建特征、对抗损失都考虑在内,另外一个细节是在训练模糊图像时不时直接使用Bicubic的图像,而是随机退化,这样训练的模型更加贴近真实退化过程。但是,文中也描述了不足,这种合成的退化数据集还是不够贴合真实情况。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值