热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FSRNet:端到端深度可训练人脸超分辨网络

这篇文章文章提出了一个

这篇文章 FSRNet: End-to-End Learning Face Super-Resolution with Facial Priors 是 CVPR 2018 的文章(spotlight),主要思想是 通过人脸图像的特殊性,从人脸图像中提取几何先验信息来提高超分辨率的效果 ,同时,为了生成更逼真的人脸图像,作者还提出了“人脸图像超分辨率生成对抗网络”。

FSRNet:端到端深度可训练人脸超分辨网络 面部超分辨率(SR)是特定的一类图像超分辨率问题。目前大多数人脸图像超分辨算法是由通用的图像超分辨算法加以适当修改得到的。文章提出,可以利用特定的面部先验知识来获得更好的超分辨面部图像。

文章提出了一个 端到端的深度可训练面部超分辨网络 ,充分利用人脸图像的几何先验信息,即面部 landmark 的 heatmap 和人脸解析图,来对低分辨率人脸图像进行超分辨率。

网络结构及思想

具体而言,文章提出的网络的整体结构如下:首先构建粗的 SR 网络来生成粗的 HR 图像。然后,粗的 HR 图像会被送到两个分支去:

1. 精细的SR 编码器,提取图像特征。 

2. 先验信息预测网络,估计 landmark heatmap 和解析图。 

最终,图像特征和先验信息会送到一个精细的 SR 解码器来恢复 HR 图像。

整个网络的结构如下图所示:

FSRNet:端到端深度可训练人脸超分辨网络   整体网络结构,标号解释:k3n64s1:kernel size:3×3,number of channels:64,stride:1

这里主要有两个思想:

1. 为什么不直接从低分辨率图像得到人脸的几何先验信息呢?

由于直接从 LR 输入中估计面部的 landmark 以及解析图是有一定复杂度的,所以首先构建一个粗糙的 SR 网络,来生成粗糙的 HR 图像。然后粗糙的 SR 图像就会被送到一个精细的 SR 网络,这个网络中,一个精细的 SR 编码器和一个先验信息的估计网络会共同以粗糙的 HR 图像作为输入,然后后面接上一个精细的 SR 解码器。

精细的 SR 编码器提取图像特征,而先验信息的估计网络则通过多任务学习同时估计 landmark heatmap 和解析图,这样操作的话,得到的效果会更好。

2. 几何先验特征的选取 

任何真实世界的物体在其形状和纹理上都有不同的分布,包括脸部。比较面部形状和纹理,我们选择建模并利用形状先验信息基于两个考虑因素。

第一,当图像从高分辨率到低分辨率时,相比于纹理信息,形状信息会更好地保存下来,因此更有可能被提取出来促进超分辨率的效果。

第二,形状先验信息比纹理先验信息更容易表现。例如,面部解析估计不同面部组件的分割,landmark 则提供面部关键点的准确位置。两者都可以表示面部形状,而面部解析则带来更多粒度。相反,目前尚不清楚如何对一张特定的人脸的高维度纹理先验进行表示。

网络细节

粗糙的SR网络(第一阶段)

FSRNet:端到端深度可训练人脸超分辨网络   3个残差单元,kernel size和stride的设置使得特征图的大小始终不变

精细的SR网络(第二阶段)

FSRNet:端到端深度可训练人脸超分辨网络   第二阶段网络,HG Block指的就是HourGlass结构

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 图像:

FSRNet:端到端深度可训练人脸超分辨网络

C 代表映射(LR 输入到粗糙的 HR 图像输出之间的映射)。然后,Yc 会被送入先验信息的估计网络 P 和精细的 SR 编码器 F:

FSRNet:端到端深度可训练人脸超分辨网络

f 为从网络 F 提取得到的特征。在编码以后,SR 解码器则会利用图像特征 f 和图像先验信息 p 得到最终的 HR 图像 y:

FSRNet:端到端深度可训练人脸超分辨网络

给定训练集 FSRNet:端到端深度可训练人脸超分辨网络 ,FSRNet的损失函数如下( FSRNet:端到端深度可训练人脸超分辨网络FSRNet:端到端深度可训练人脸超分辨网络 为 ground truth):

FSRNet:端到端深度可训练人脸超分辨网络

FSRGAN

对于 FSRGAN(人脸超分辨生成对抗网络),作者参考 CVPR 2017 用于图像转换的条件生成对抗网络 cGAN [1]:

FSRNet:端到端深度可训练人脸超分辨网络

并引入了感知域损失(high-level 的特征图之间的损失,文章使用预训练的 VGG-16 来得到高层特征图):

FSRNet:端到端深度可训练人脸超分辨网络

得到最终的损失函数为:

FSRNet:端到端深度可训练人脸超分辨网络

训练设置

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

初始学习率: FSRNet:端到端深度可训练人脸超分辨网络

Mini-batch size:14

FSRNet:端到端深度可训练人脸超分辨网络

在 Helen 数据集上训练 FSRNet 大约需要 6 小时(Titan X)。

相关实验(8倍放大)

先验信息对人脸超分辨率的影响:

  • 人脸图像的先验信息真的对超分辨有用吗?

  • 不同的人脸先验信息带来的提升有什么不同?

首先,文章证明了人脸先验信息对人脸超分辨是很重要的,即使没有任何提前处理的步骤。

作者把先验信息估计网络移除以后,构建了一个 Baseline 网络 。基于 Baseline 网络,引入 ground truth 人脸先验信息(landmark heatmap 和解析图)到拼接层,得到一个新的网络。

FSRNet:端到端深度可训练人脸超分辨网络   Baseline网络 + ground truth人脸先验信息

为了公平进行比较,拼接层的特征图通道数量和其他两个网络的通道数量是一样的。得到不同网络的性能对比:

FSRNet:端到端深度可训练人脸超分辨网络   网络性能对比

可以看到,用了先验信息的模型有提高,分别提高了 0.4dB(加入 landmark heatmap),1.0dB(加入解析图),1.05dB(两个都加)。

设定不同的 landmark 数,以及使用局部解析图或者全局解析图。得到的性能比较结果(上图右半部分)。

通过上面结果的比较, 得出以下结论:

1. 解析图比 landmark heatmap 含有更多人脸图像超分辨的信息,带来的提升更大;

2. 全局的解析图比局部的解析图更有用;

3. landmark 数量增加所带来的提升很小。

估计得到的先验信息的影响:

  • Baseline_v1:完全不包含先验信息

  • Baseline_v2:包含先验信息,但不进行监督训练

性能比较:

FSRNet:端到端深度可训练人脸超分辨网络

结论:

1. 即使不进行监督训练,先验信息也能帮助到 SR 任务,可能是因为先验信息提供了更多的高频信息;

2. 越多先验信息越好;

3. 最佳性能为 25.85dB,但是使用 ground truth 信息时,能达到 26.55dB。说明估计得到的先验信息并不完美,更好的先验信息估计网络可能会得到更好的结果。

Hourglass数量的影响:

强大的先验信息预测网络会得到更好的结果,所以探究 Hourglass 数量 h 对网络性能的影响。分别取 1,2,4,结果为 25.69,25.87,25.95。

不同的 Hourglass 数量对 landmark 估计的影响: FSRNet:端到端深度可训练人脸超分辨网络   第一行h=1,第二行h=2

可以看到 h 数量增加时,先验信息估计网络结构越深,学习能力越强,性能越好。

与SOTA方法的比较

FSRNet:端到端深度可训练人脸超分辨网络

放大 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.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 我们


推荐阅读
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • 本文探讨了SSD购买后是否需要进行4K对齐的问题,并详细解释了4K对齐的原理及其重要性。通过对比机械硬盘与固态硬盘的结构,文章深入分析了4K对齐对SSD性能的影响,并提供了具体的对齐方法。 ... [详细]
  • 申请地址:https://developer.apple.com/appstore/contact/?topic=expedite 常见申请理由:1. 我们即将发布新产品,这是一个媒体活动,我们无法承担任何风险,因此在多个方面努力提升应用质量。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • 本文探讨了 TypeScript 中泛型的重要性和应用场景,通过多个实例详细解析了泛型如何提升代码的复用性和类型安全性。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 一个转子曲线面积问题及其反问题的解答
    曾经解答过这样一个问题,从该ID的最后一次登录时间、该ID显示的专业信息,误以为是新闻里某个想不开的同学,不安了一阵子。经确认是我多虑了,不过把问题答案还是写出来。之后就收到一堆要求帮忙算 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
author-avatar
houxue
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有