这篇文章 FSRNet: End-to-End Learning Face Super-Resolution with Facial Priors 是 CVPR 2018 的文章(spotlight),主要思想是通过人脸图像的特殊性,从人脸图像中提取几何先验信息来提高超分辨率的效果,同时,为了生成更逼真的人脸图像,作者还提出了“人脸图像超分辨率生成对抗网络”。
面部超分辨率(SR)是特定的一类图像超分辨率问题。目前大多数人脸图像超分辨算法是由通用的图像超分辨算法加以适当修改得到的。文章提出,可以利用特定的面部先验知识来获得更好的超分辨面部图像。
文章提出了一个端到端的深度可训练面部超分辨网络,充分利用人脸图像的几何先验信息,即面部 landmark 的 heatmap 和人脸解析图,来对低分辨率人脸图像进行超分辨率。
网络结构及思想
具体而言,文章提出的网络的整体结构如下:首先构建粗的 SR 网络来生成粗的 HR 图像。然后,粗的 HR 图像会被送到两个分支去:
1. 精细的SR 编码器,提取图像特征。
2. 先验信息预测网络,估计 landmark heatmap 和解析图。
最终,图像特征和先验信息会送到一个精细的 SR 解码器来恢复 HR 图像。
整个网络的结构如下图所示:
这里主要有两个思想:
1. 为什么不直接从低分辨率图像得到人脸的几何先验信息呢?
由于直接从 LR 输入中估计面部的 landmark 以及解析图是有一定复杂度的,所以首先构建一个粗糙的 SR 网络,来生成粗糙的 HR 图像。然后粗糙的 SR 图像就会被送到一个精细的 SR 网络,这个网络中,一个精细的 SR 编码器和一个先验信息的估计网络会共同以粗糙的 HR 图像作为输入,然后后面接上一个精细的 SR 解码器。
精细的 SR 编码器提取图像特征,而先验信息的估计网络则通过多任务学习同时估计 landmark heatmap 和解析图,这样操作的话,得到的效果会更好。
2. 几何先验特征的选取
任何真实世界的物体在其形状和纹理上都有不同的分布,包括脸部。比较面部形状和纹理,我们选择建模并利用形状先验信息基于两个考虑因素。
第一,当图像从高分辨率到低分辨率时,相比于纹理信息,形状信息会更好地保存下来,因此更有可能被提取出来促进超分辨率的效果。
第二,形状先验信息比纹理先验信息更容易表现。例如,面部解析估计不同面部组件的分割,landmark 则提供面部关键点的准确位置。两者都可以表示面部形状,而面部解析则带来更多粒度。相反,目前尚不清楚如何对一张特定的人脸的高维度纹理先验进行表示。
网络细节
粗糙的SR网络(第一阶段)
精细的SR网络(第二阶段)
1. 先验信息估计网络
从最近成功的叠加热图回归在人体姿势估计中受到启发,文章提出在先验信息估计网络中使用一个 HourGlass 结构来估计面部 landmark 的 heatmap 和解析图。因为这两个先验信息都可以表示 2D 的人脸形状,所以在先验信息估计网络中,特征在两个任务之间是共享的,除了最后一层。
为了有效整合各种尺度的特征并保留不同尺度的空间信息,HourGlass block 在对称层之间使用 skip-connection 机制。最后,共享的 HG 特征连接到两个分离的 1×1 卷积层来生成 landmark heatmap和解析图。
2. 精细的SR编码器
受到 ResNet 在超分辨任务中的成功的启发,文章使用 residual block 进行特征提取。考虑到计算的开销,先验信息的特征会降采样到 64×64。为了使得特征尺寸一致,编码器首先经过一个 3×3,stride为 2 的卷积层来把特征图降采样到 64×64。然后再使用 ResNet 结构提取图像特征。
3. 精细的SR解码器
解码器把先验信息和图像特征组合为输入,首先将先验特征 p 和图像特征 f 进行 concatenate,作为输入。然后通过 3×3 的卷积层把特征图的通道数减少为 64。然后一个 4×4 的反卷积层被用来把特征图的 size 上采样到 128×128。然后使用 3 个 residual block 来对特征进行解码。最后的 3×3 卷积层被用来得到最终的 HR 图像。
损失函数
FSRNet
FSRNet 包含四个部分:粗糙的 SR 网络,精细的 SR 编码器,先验信息估计网络,精细的 SR 解码器。设 x 为输入的低分辨率图像,y 和 p 是高分辨率图像和估计得到的先验信息。
由于直接从低分辨率图像中得到图像的先验信息的效果不是那么好,所以首先构建一个粗糙的 SR 网络来得到一个粗糙的 SR 图像:
C 代表映射(LR 输入到粗糙的 HR 图像输出之间的映射)。然后,Yc 会被送入先验信息的估计网络 P 和精细的 SR 编码器 F:
f 为从网络 F 提取得到的特征。在编码以后,SR 解码器则会利用图像特征 f 和图像先验信息 p 得到最终的 HR 图像 y:
给定训练集,FSRNet的损失函数如下(和为 ground truth):
FSRGAN
对于 FSRGAN(人脸超分辨生成对抗网络),作者参考 CVPR 2017 用于图像转换的条件生成对抗网络 cGAN [1]:
并引入了感知域损失(high-level 的特征图之间的损失,文章使用预训练的 VGG-16 来得到高层特征图):
得到最终的损失函数为:
训练设置
Dataset:Helen & celeA
对于 Helen 数据集,2330 张图像,后 50 张图像作为测试,其他作为训练,并且使用数据增强(旋转 90°,180°,270°,以及水平翻转,所以每张图都有 7 张数据增强图),Helen 数据集的每张图像都有 194 个 landmark 和 11 个解析图。
对于 celeA 数据集,用前 18000 张图像进行训练,后 100 张图像进行评价。celeA 数据集的 ground truth landmark 数只有 5 个,所以要用一些方法得到 68 个 landmark,以及使用 GFC 方法来估计解析图的 ground truth。
训练设定
根据面部区域粗略裁剪训练图像,在没有任何预先对齐的情况下裁剪到 128 × 128,彩色图像训练。低分辨率图像首先经过bicubic插值到高分辨率图像大小,再进行训练。
框架:Torch 7
优化器:RMSprop
初始学习率:
Mini-batch size:14
在 Helen 数据集上训练 FSRNet 大约需要 6 小时(Titan X)。
相关实验(8倍放大)
先验信息对人脸超分辨率的影响:
人脸图像的先验信息真的对超分辨有用吗?
不同的人脸先验信息带来的提升有什么不同?
首先,文章证明了人脸先验信息对人脸超分辨是很重要的,即使没有任何提前处理的步骤。
作者把先验信息估计网络移除以后,构建了一个 Baseline 网络。基于 Baseline 网络,引入 ground truth 人脸先验信息(landmark heatmap 和解析图)到拼接层,得到一个新的网络。
为了公平进行比较,拼接层的特征图通道数量和其他两个网络的通道数量是一样的。得到不同网络的性能对比:
可以看到,用了先验信息的模型有提高,分别提高了 0.4dB(加入 landmark heatmap),1.0dB(加入解析图),1.05dB(两个都加)。
设定不同的 landmark 数,以及使用局部解析图或者全局解析图。得到的性能比较结果(上图右半部分)。
通过上面结果的比较,得出以下结论:
1. 解析图比 landmark heatmap 含有更多人脸图像超分辨的信息,带来的提升更大;
2. 全局的解析图比局部的解析图更有用;
3. landmark 数量增加所带来的提升很小。
估计得到的先验信息的影响:
Baseline_v1:完全不包含先验信息
Baseline_v2:包含先验信息,但不进行监督训练
性能比较:
结论:
1. 即使不进行监督训练,先验信息也能帮助到 SR 任务,可能是因为先验信息提供了更多的高频信息;
2. 越多先验信息越好;
3. 最佳性能为 25.85dB,但是使用 ground truth 信息时,能达到 26.55dB。说明估计得到的先验信息并不完美,更好的先验信息估计网络可能会得到更好的结果。
Hourglass数量的影响:
强大的先验信息预测网络会得到更好的结果,所以探究 Hourglass 数量 h 对网络性能的影响。分别取 1,2,4,结果为 25.69,25.87,25.95。
不同的 Hourglass 数量对 landmark 估计的影响:
可以看到 h 数量增加时,先验信息估计网络结构越深,学习能力越强,性能越好。
与SOTA方法的比较
放大 8 倍后的性能比较,虽然 FSRGAN 的两项指标(PSNR/SSIM)都不如 FSRNet,但是从视觉效果上看更加真实。
这也与目前的一个共识相对应:基于生成对抗网络的模型可以恢复视觉上合理的图像,但是在一些指标上(PSNR , SSIM)的值会低。而基于 MSE 的深度模型会生成平滑的图像,但是有高的 PSNR/SSIIM。
总结
本文提出了深度端到端的可训练的人脸超分辨网络 FSRNet,FSRNet 的关键在于先验信息估计网络,这个网络不仅有助于改善 PSNR/SSIM,还提供从非常低分辨率的图像精确估计几何先验信息(landmark heatmap 和解析图)的解决方案。实验结果表明 FSRNet 比当前的 SOTA 方法要更好,即使在未对齐的人脸图像上。
未来的工作可以有以下几个方面:1)设计一个更好的先验信息估计网络;2)迭代地学习精细的 SR 网络;3)调研其他有用的脸部先验信息。
参考文献
[1] Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros, Image-to-Image Translation with Conditional Adversarial Networks, CVPR 2017.