【论文阅读】2020ECCV-DFDNet

news2024/11/26 11:33:35

Blind Face Restoration via Deep Multi-scale Component Dictionaries

中文:基于深度多尺度分量字典的盲人脸复原
paper:
code:https://github.com/csxmli2016/DFDNet

摘要:

近年来,基于参考的人脸恢复方法因其在真实低质量图像上恢复高频细节的能力而受到广泛关注。然而,这些方法中的大多数都需要具有相同身份的高质量参考图像,这使得它们仅适用于有限的场景。为了解决这一问题,本文提出了一个深度人脸字典网络(称为DFDNet)来指导退化观测的恢复过程。首先,我们使用K-means从高质量图像中感知上重要的面部成分(即左/右眼,鼻子和嘴)生成深度字典。接下来,对于降级的输入,我们从相应的字典中匹配并选择最相似的组件特征,并通过提出的字典特征转移(DFT)块将高质量的细节传输到输入。特别是,利用组件AdaIN来消除输入和字典特征之间的风格差异(例如,照明),并提出置信度评分来自适应地将字典特征融合到输入。最后,逐步采用多尺度字典实现从粗到精的恢复。实验表明,本文提出的方法在定量和定性评价方面都取得了令人信服的效果,更重要的是,在不需要身份归属参考的情况下,可以在真实退化图像上生成真实的、有希望的结果。

1.引言

人脸修复挑战->最近的方法reference-based method->有什么缺点->自己的方法通过提出什么解决了什么缺点。
最后总结,本文主要四个贡献:
1.深度成分字典作为候选参考来指导退化的人脸恢复,不需要相同ID的高质量人脸;
2.提出DFT block ,利用CAdaIN消除输入和字典族之间的分布差异,更好转移字典特征;另外还有置信分数,可以在不同退化等级上自适应融合字典特征
3.在不同特征尺度上采用逐步训练的方式,可以让DFDNet学习到由粗到细的特征
4.不论在合成数据还是在真实退化的图像,都可以有比较好的性能,有真实应用的潜力。

2.相关工作

相关工作主要介绍两点,第一点是单图像修复(Single Image Restoration),第二点是基于参考图像的图像修复(reference-based image restoration)。

2.1单图像修复(Single Image Restoration)

主要介绍目前基于CNN的单图像修复已经取得很多成功,例如图像超分辨,去噪,去模糊,去压缩伪影。针对特殊的人脸结构,同样有很多方法,这些方法包括Huang利用小波系数,Cao利用强化学习-----等人,基于语音分割map的先验信息的的也有…。但是这些方法可能会失败,由于姿势,光照或者先验信息的局限性。
在这里插入图片描述

2.2基于参考图像的图像修复(reference-based image restoration)

基于单图像修复的问题,有些人有额外的图像增加恢复的细节。针对自然图像,但是要找纹理相同的两个对照的图像进行信息的增强,这很难。针对人脸图像比较容易做到,因为相同ID的人脸就可以有相同的人脸组分结构。但是有另外一个问题,经过warp的人脸不一定和原始人脸一样的特征,例如张嘴和闭嘴。作者注意到,不同ID的人脸其实人脸结构也是类似的,可以使用直观地将整个脸分成不同的部分,并为每个部分生成相应的部件。

提出的方法

在这里插入图片描述
包括离线生成多尺度组分字典以及DFDNet。

3.1离线生成组分字典

采用FFHQ数据集,针对高质量图像首先使用预训练的VggFace提取不同尺度的特征,使用dlib检测到的人脸关键点,进行ROI区域对齐操作,crop或re-sample这四个组分到固定尺寸。然后使用K-means针对每个组分生成K类。针对256*256的图像,左右眼睛,鼻子嘴巴分别被分配到40/40,25,55,往下下采样,则每次减少两倍。字典特征具体为:
在这里插入图片描述
其中Ih是高清图像,Lh是高清图像的landmark,Vgg网络等

3.2深度脸部字典网络(Deep Face Dictionary Network)

目标就是利用这个网络将字典特征转移到输入的低清图像。
在这里插入图片描述
其中Id是低清输入图像,Ld是低清landmark,字典Dic,参数θ。

为保证字典和LQ图像在同一特征域,编码层依然采用VGG网络。引入DFT block,这个模块包含5个部分,RoIAlign, CAdaIN, Feature Match, Confidence Score and Reverse RoIAlign。

个人理解:
RoIAlign:就是landmark对齐人脸的步骤,利用关键点,得到仿射变换矩阵,变换图像。

CAdaIN是字典特征的归一化,目标就是让字典的特征的域和LQ的域是相同的,这样肤色,头发啥的就可以一致了
在这里插入图片描述

Feature Match 也就是计算经过K-means后哪一族特征是跟LQ特征最匹配的。
在这里插入图片描述
Confidence Score 就是利用一个分数,决定高退化场景和低退化场景中字典特征加入的多少
在这里插入图片描述
Reverse RoIAlign 利用反仿射变换矩阵,变回原来人脸,但是网络不仅做这样,还把SFT模块加上去了,变成可训练参数了。
在这里插入图片描述

3.3 模型目标(Model Objective)

个人理解,也就是损失函数的设置。
(1)重构损失,让生成图像和HQ尽量接近
使用的是MSE+感知损失(perceptual loss)
在这里插入图片描述

(2)对抗损失,让细节充分恢复
多尺度鉴别器
在这里插入图片描述
在这里插入图片描述

4 实验

不说拉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows系统修改mysql8配置文件,关闭ssl验证

如何寻找配置文件 我的电脑,右键,管理,服务 找到MySQL8 右键,属性 找到配置文件位置 通常情况下的默认路径是: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini 如何关闭SSL验证 打开 my.ini 配置内容如下&#x…

JAVA基础-集合的工具类Collections

目录 引言 一,Collections工具类的操作方法方法 1,排序操作 2,替换 和 查找操作 二,Collections工具类的使用 2.1,排序操作 2.1.1,集合的逆序 2.1.2,集合的随机排序 2.1.3,集…

第一百一十三天学习记录:C++提高:类模板(黑马教学视频)

类模板 类模板语法 类模板作用&#xff1a; 建立一个通用类&#xff0c;类中的成员 数据类型可以不具体定制&#xff0c;用一个虚拟的类型来代表。 语法&#xff1a; template<typename T> 类解释&#xff1a; template … 声明创建模板 typename … 表面其后面的符号…

SpringCloud nacos 集成 gateway ,实现动态路由

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

LeetCode刷题笔记 - 859. 亲密字符串

LeetCode刷题笔记 - 859. 亲密字符串 运行结果 题目注意点 bool buddyStrings(char* s, char* goal) {char d 0;char gd 0;int pair 0;int epair 0;char map[256] {0};if (strlen(s) ! strlen(goal)) {return false;}while (*s ! \0) {if (*s ! *goal) {if (d 0) {d *s;…

《Kali渗透基础》09. 漏洞利用、后渗透

kali渗透 1&#xff1a;漏洞基本介绍1.1&#xff1a;漏洞从哪里来1.2&#xff1a;缓冲区溢出1.3&#xff1a;如何发现漏洞 2&#xff1a;漏洞利用2.1&#xff1a;EXP 选择与修改2.2&#xff1a;避免有害的 EXP 3&#xff1a;后渗透阶段3.1&#xff1a;Linux 上传文件3.2&#x…

前后端分离windows本地nginx解决跨域

下载 http://nginx.org/en/download.html 命令 启动Nginx&#xff1a; nginx.exe start 快速停止或关闭Nginx&#xff1a; nginx.exe -s stop 正常停止或关闭Nginx&#xff1a; nginx.exe -s quit 配置文件修改重装载命令&#xff1a; nginx.exe -s reload 强制停用…

六边形架构

六边形架构 微服务系统架构微服务定义微服务系统设计 传统分层架构六边形架构参考资料 微服务系统架构 需求描述做什么的问题&#xff0c;架构描述怎么做的问题(描述组成系统的各部件及其之间的关系) 微服务定义 下面的定义来自周志明老师的 凤凰架构 微服务是一种通过多个小型…

2023牛客暑期多校第一场部分题解

索引 BCDHJKLM B 官方题解说是乱搞题&#xff0c;而我队友实际上也确实乱搞过去了&#xff08; 就是先随便取两个点&#xff0c;有了两个点之后第三个点肯定选离这两个点构成的直线最远的那个&#xff0c;要不然没法包含整个凸多边形。这个过程可以用个三分。 但是确定了第三…

前端(八)——深入探索前端框架中的Diff算法:优化视图更新与性能提升

&#x1f60a;博主&#xff1a;小猫娃来啦 &#x1f60a;文章核心&#xff1a;深入探索前端框架中的Diff算法&#xff1a;优化视图更新与性能提升 文章目录 前端框架中的Diff算法概述vue和react框架的diff算法React的diff算法&#xff1a;Vue的diff算法&#xff1a; Diff算法在…

实训笔记7.20

实训笔记7.20 7.20一、座右铭二、HDFS宕机之后的副本数的问题三、MapReduce的工作流程&#xff08;简单版本&#xff09;四、Hadoop的序列化问题五、MR程序运行中InputFormat类的作用5.1 作用主要有两个5.2 有一个核心实现类--抽象类FileInputFormat 当输入的数据是文件的时候5…

【图像分类】基于LIME的CNN 图像分类研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码实现 &#x1f4a5;1 概述 基于LIME&#xff08;Local Interpretable Model-Agnostic Explanations&#xff09;的CNN图像分类研究是一种用于解释CNN模型的方法。LIME是一…

实用的设计模式08——适配器模式

适配器的单词是Adapter&#xff0c;我们在开发时经常碰到叫做XxxAdapter的类&#xff0c;此时一般就是使用了适配器模式&#xff0c;适配器模式是非常常用&#xff0c;本文就对适配器模式做一个简单的介绍 文章目录 1、真实开发场景的问题引入2、适配器模式讲解2.1 核心类及类图…

2021年全国大学生电子设计竞赛H题——用电器分析识别装置

用电器分析识别装置 一、题目要求二、系统方案三、硬件设计3.1、ATT7022电参数采集模块 一、题目要求 任务 设计并制作一个根据电源线电流的电参量信息分析在用电器类别的装置。该装置具有学习和分析识别两种工作模式。在学习模式下&#xff0c;测试并存储用于识别各单件电器的…

百亿规模京东实时浏览记录系统的设计与实现 | 京东云技术团队

1. 系统介绍 浏览记录系统主要用来记录京东用户的实时浏览记录&#xff0c;并提供实时查询浏览数据的功能。在线用户访问一次商品详情页&#xff0c;浏览记录系统就会记录用户的一条浏览数据&#xff0c;并针对该浏览数据进行商品维度去重等一系列处理并存储。然后用户可以通过…

mybatis事物是如何和spring事物整合的

目录 1、mybatis事物管理器 2、SpringManagedTransactionFactory如何处理事物 3、spring事物如何设置connection连接到threadLocal 1、mybatis事物管理器 mybatis事物抽象接口类&#xff1a;Transaction。该接口定义了事物基本方法和获取数据库连接方法 该类有三个实现类Jd…

【本地开发快速添加localstoreage和cookie】

在本地开发时&#xff0c;通常会需要线上开发或测试环境的缓存&#xff0c;然而&#xff0c;如果缓存过多时&#xff0c;一个一个的复制key&#xff0c;value太过麻烦&#xff0c;于是本文介绍了一种快速设置缓存的方法。 cookie 需要用到插件&#xff0c;使用JSON格式导出&am…

PPT逻辑设计与完美呈现

PPT逻辑设计与完美呈现 https://haoxinyunxueyuan.zhixueyun.com/#/study/course/detail/detailInfoCD00——朱宁川 logo设计神器: https://www.zitijia.com/logodiy/index 一 PPT设计 第一章、PPT的灵魂设计-5W PPT灵魂设计(5W) 以终为始&#xff0c;从目标出发 why 目…

136. 只出现一次的数字

题目 题解一&#xff1a;采用map集合 class Solution {public static int singleNumber(int[] nums) {Map map new HashMap<Integer,Integer>();for (int i 0; i < nums.length; i) {//判断key是否重复&#xff0c;重复直接删掉重复的keyif (map.containsKey(nums[i…

JavaWeb 速通Servlet(请求转发和请求重定向)

目录 一、HttpServletRequest 1.简介 : 2.常用方法 : 1 getRequestURI() : 2 getRequestURL() : 3 getRemoteHost() : 4 getHeader(String header) : 5 getParameter(name) : 6 getParameterValues(name) : 7 getMethod() : 8 setAttribute(key, value) : 9 getAttrib…