【论文阅读】2020ECCV-DFDNet

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 实验

不说拉

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Seata解决分布式事务问题

说明:在分布式架构下,一个请求需要多个微服务来实现。当一个请求牵扯到多个微服务时,事务问题就变得麻烦起来。 问题描述 现在有三个服务,分别是账户服务、库存服务和订单服务,生成一个订单,需要确保商品…

Docker 命令(二)

查看 docker 版本信息 docker version #查看版本信息docker 信息查看 docker info Client:Context: defaultDebug Mode: falsePlugins:app: Docker App (Docker Inc., v0.9.1-beta3)buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)Server:Containers: 0 …

Python补充笔记3-bug问题

目录 一、Bug 粗心导致的语法错误​ ​编辑 知识不熟练导致的错误​ 思路不清晰导致的问题​ 被动掉坑​ 二、try…except…else结构​ 三、try…except…else…finally结构​ 四、常见异常类型​编辑traceback模块 pycharm调试 一、Bug 粗心导致的语法错误 知识不熟练导致的…

【Vue 面试题10道】我好像之前想过要写,不过之前JavaScript面试题比较多,就暂时略过了,这些应该几乎把常问的都包括了

博主:_LJaXi Or 東方幻想郷 专栏: 前端面试题 开发工具:Vs Code 本题针对 Vue2 这些几乎把常用的都包括了,问别的就没意思了,毕竟工作拧螺丝嘛 我都好久不用Vue了,不过用了React再回看Vue感觉好简单啊… 其…

Dubbogo 详解

Dubbogo 详解 简介 dubbo功能很强大的微服务开发框架,支持多种通信协议,并具有流量治理的功能。 dubbo在有了大转变,拥抱了云原生,从哪些方面可以体现呢? 推出了自己的Trip协议修复了服务发现的级别,之…

20230723红米Redmi Note8Pro掉在水里的处理步骤

20230723红米Redmi Note8Pro掉在水里的处理步骤 2023/7/23 18:18 百度搜搜:小米手机进水 破音怎么处理 Redmi Note8Pro 6400万全场景四摄 液冷游戏芯 4500mAh长续航 NFC 18W快充 红外遥控 https://www.zhiliancy.com/a/q5podmr12.html 首页 / 热文 / 内容 小米喇叭…

【从删库到跑路】MySQL数据库的索引(一)——索引的结构(BTree B+Tree Hash),语法等

🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出小吉的问题 文章目录 🍔概述🍔索引结构⭐B-Tree多路平衡查找树🏳️‍&a…

前端技术Vue学习笔记--001

前端技术Vue学习笔记 文章目录 前端技术Vue学习笔记1、Vue2和Vue3比较2、Vue简介3、Vue快速上手4、插值表达式{{}}5、Vue响应式特性6、Vue指令6.1、v-html指令6.2、v-show指令和v-if指令6.3、v-else指令和v-else-if指令6.4、v-on指令6.4.1、v-on指令基础6.4.2、v-on调用传参 6.…

win10电脑便签常驻桌面怎么设置?

你是否曾经因为繁忙的工作而忘记了一些重要的事项?相信很多人都会回答:忘记过!其实在快节奏的职场中,我们经常需要记录一些重要的信息,例如会议时间、约见客户时间、今天需要完成的工作任务等。而为了能够方便地记录和…

阿里云安装宝塔面板

阿里云安装宝塔面板 1.安装步骤2.需要加入安全组,打开端口3.安装宝塔 1.安装步骤 1.这里主要以阿里云的服务器 ECS为例子,需要安装纯净的系统 创建过程: 这边先用的是免费的: 2.需要加入安全组,打开端口 进入实例选项卡: 快速添加&…

低代码平台协同OA升级,促进金融企业信息化建设

编者按:数字化办公是信息化时代每个企业不可避免的,OA系统是数字化办公的关键环节。如何与时俱进,保持企业的活力,增强企业综合竞争力?本文分析了企业OA系统为什么需要升级,并进一步指出如何实现升级。 关…

Linux环境下Elasticsearch相关软件安装

Linux环境下Elasticsearch相关软件安装 本文将介绍在linux(Centos7)环境下安装Elasticsearch相关的软件。 1、安装Elasticsearch 1.1 Elasticsearch下载 首先去Elasticsearch官网下载相应版本的安装包,下载之后传输到linux服务器上。 官网地址:http…

在自定义数据集上微调Alpaca和LLaMA

本文将介绍使用LoRa在本地机器上微调Alpaca和LLaMA,我们将介绍在特定数据集上对Alpaca LoRa进行微调的整个过程,本文将涵盖数据处理、模型训练和使用流行的自然语言处理库(如Transformers和hugs Face)进行评估。此外还将介绍如何使用grado应用程序部署和…

STM32MP157驱动开发——LED驱动(设备树)

文章目录 设备树驱动模型如何使用设备树写驱动程序设备树节点要与 platform_driver 能匹配设备树节点指定资源,platform_driver 获得资源 LED 模板驱动程序的改造:设备树驱动模型修改设备树,添加 led 设备节点修改 platform_driver 的源码编译…

设计模式再探——状态模式

目录 一、背景介绍二、思路&方案三、过程1.状态模式简介2.状态模式的类图3.状态模式代码4.状态模式还可以优化的地方5.状态模式的项目实战,优化后 四、总结五、升华 一、背景介绍 最近产品中有这样的业务需求,不同时间(这里不是活动的执行时间&…

前端学习——Vue (Day1)

Vue 快速上手 Vue 是什么 创建 Vue 实例 Vue2官网&#xff1a;https://v2.cn.vuejs.org/ <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge…

基于单片机的语音识别智能垃圾桶垃圾分类的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;液晶显示当前信息和状态&#xff1b;通过语音识别模块对当前垃圾种类进行语音识别&#xff1b; 通过蜂鸣器进行声光报警提醒垃圾桶已满&#xff1b;采用舵机控制垃圾桶打开关闭&#xff1b;超声波检测当前垃圾桶满溢程度&#xff1…

【目标跟踪】2、FairMOT | 平衡多目标跟踪中的目标检测和 Re-ID 任务 | IJCV2021

文章目录 一、背景二、方法2.1 Backbone2.2 检测分支2.3 Re-ID 分支2.4 训练 FairMOT2.5 Online Inference 三、效果3.1 数据集3.2 实现细节3.3 消融实验3.4 最终效果 论文&#xff1a;FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracki…

大模型开发(十):Chat Completion Models API 详解

全文共8000余字&#xff0c;预计阅读时间约18~28分钟 | 满满干货(附代码案例)&#xff0c;建议收藏&#xff01; 本文目标&#xff1a;详解Chat Completion Models的参数及应用实例&#xff0c;并基于该API实现一个本地知识库的多轮对话智能助理 代码&文件下载点这里 一、…

【前端|CSS系列第4篇】CSS布局之网格布局

前言 最近在做的一个项目前台首页有一个展示词条的功能&#xff0c;每一个词条都以一个固定大小的词条卡片进行展示&#xff0c;要将所有的词条卡片展示出来&#xff0c;大概是下面这种布局 每一行的卡片数目会随着屏幕大小自动变化&#xff0c;并且希望整个卡片区域周围不要…