万字解读首篇「人脸复原」综述!南大、中山、澳国立、帝国理工等联合发布

简介: 万字解读首篇「人脸复原」综述!南大、中山、澳国立、帝国理工等联合发布
【新智元导读】「人脸复原」技术首篇综述!


近年来,随着深度学习的发展和大规模数据集的出现,深度学习在很多领域也取得了进展,但其中「人脸复原」(Face Restoration)任务仍然缺乏系统性的综述。

最近,来自南京大学、澳大利亚国立大学、中山大学、帝国理工学院和腾讯的研究者们全面回顾并总结了基于深度学习的人脸复原技术的研究进展,对人脸复原方法进行了分类,讨论了网络架构、损失函数和基准数据集,并对现有SOTA方法进行了系统性性能评测。


论文链接:https://arxiv.org/abs/2211.02831

仓库链接:https://github.com/TaoWangzj/Awesome-Face-Restoration


这篇文章也是人脸复原领域首篇综述,其主要贡献为:


1. 回顾了人脸复原任务中主要的退化模型、常用的评价指标,并总结了人脸图像显著性的特点;


2. 总结了目前人脸复原面临的挑战,对现有方法进行分类及概述。方法主要包括两大类:基于先验的深度学习复原方法和无先验的深度学习复原方法;


3. 梳理了方法中使用的基本网络架构、基本网络模块、损失函数和标准数据集;


4. 在公共基准数据集上对现有SOTA方法进行了系统性实验评测;


5. 分析了人脸复原任务未来发展前景。


文章的整体架构


研究背景


人脸复原(Face Restoration, FR)是底层视觉中一个特定的图像复原问题,旨在从低质量的输入人脸图像中恢复出高质量的人脸图像。通常来说,退化模型可以描述为:


其中I(lq)是低质量人脸图像, D是与噪声不相关的退化函数, n是加性高斯噪声。当退化函数D不同的时候,就对应了不同的退化模型。因此,FR任务可以视为是求解上述退化模型的逆过程,它可以表示为:


其中根据退化函数不同,人脸复原任务主要可以分为以下五大类,其分别对应着不同的退化模型:


1. 人脸去噪任务(Face Denoising, FDN):去除人脸图像中的噪声,恢复出高质量的人脸;



2. 人脸去模糊任务(Face Deblurring, FDB):去除人脸图像中的模糊,恢复出高质量的人脸;



3. 人脸超分辨率任务(Face Super-Resolution, FSR):从低质量的低分辨率人脸中恢复出高分辨率高质量的人脸;



4. 人脸去伪影任务(Face Artifact Removal, FAR):去除人脸图像压缩过程中出现的伪影,恢复出高质量的人脸;



5. 盲人脸复原任务(Blind Face Restoration, BFR):将未知退化的低质量人脸复原成高质量人脸;



人脸特点


与一般自然图像的复原任务不同,人脸图像具有很强的结构性信息,因此人脸复原任务可以利用人脸图像的先验信息来辅助人脸的复原过程,先验信息主要可以分为以下三部分:


人的属性信息:如性别,年龄,是否佩戴眼镜,如下图所示;



人的身份信息;


其他先验信息如下图所示,代表性的先验有人脸landmark,人脸热图,人脸解析图和3D人脸先验;



人脸复原面临的主要挑战


1. 人脸复原本身是一个不适定的问题。


因为低质量人脸图像的退化类型和退化参数是事先未知的,从退化的图像中估计高质量的人脸图像是一个不适定问题。


另一方面,在实际场景中,人脸图像的退化是复杂多样的。因此,如何设计有效并且鲁棒的人脸复原模型来解决这个不适定的问题具有一定的挑战性。


2. 探索未知的人脸先验较为困难。


现有人脸复原算法很难充分利用人脸先验知识,因为人脸先验(例如面部成分和面部标志)通常是从低质量人脸图像中估计的,低质量的人脸可能造成先验估计的不准确,这直接影响人脸复原算法的性能。


另一方面,真实场景拍摄的人脸图像往往包含复杂多样的退化类型,找到合适的人脸先验来辅助人脸复原过程是非常困难的。因此,如何挖掘合理的人脸先验具有一定的挑战性。


3. 缺乏大型公开基准数据集。


随着深度学习技术的发展,基于深度学习的方法在人脸复原方面表现出令人印象深刻的性能。大多数基于深度学习的人脸复原方法强烈依赖于大规模数据集来训练网络。


然而,目前大多数人脸复原方法通常在非公开数据集上训练或测试的。因此,目前很难直接公平地比较现有人脸复原方法。


此外,缺乏高质量和大规模的基准限制了模型的潜力。然而,如何获得大规模的人脸数据依然很困难,因此,为人脸复原任务构建合理的公开基准数据集有一定的挑战性。


4. 人脸复原算法在实际场景下泛化能力有限。


尽管基于深度学习方法在人脸复原方面取得了较好的性能,但大多数方法是依赖监督策略进行训练。


也就是说,这些方法需要成对的(低质量和高质量图像对) 数据集,如果这个条件不满足,它们性能会大幅度降低。


另一方面,很难在现实场景中收集到具有成对样本的大规模数据集。因此,在合成数据集上训练的算法在实际场景下泛化能力很弱,从而限制了模型在实际场景中的适用性。因此,如何提高人脸算法在实际场景下泛化能力具有一定的挑战性。




相关文章
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品价格预测的深度学习模型
使用Python实现智能食品价格预测的深度学习模型
359 6
|
机器学习/深度学习 存储 人工智能
【AI系统】模型剪枝
本文概述了模型剪枝的概念、方法及流程,旨在通过移除神经网络中冗余或不重要的参数,实现模型规模的减小和效率的提升。剪枝不仅有助于降低模型的存储和计算需求,还能增强模型的泛化能力。文章详细介绍了剪枝的定义、分类、不同阶段的剪枝流程,以及多种剪枝算法,如基于参数重要性的方法、结构化剪枝、动态剪枝和基于优化算法的全局剪枝策略。通过这些方法,可以在保持模型性能的同时,显著提高模型的计算速度和部署灵活性。
826 2
【AI系统】模型剪枝
|
存储 分布式计算 Hadoop
|
Prometheus 监控 Cloud Native
Prometheus中的Exporter详解
【10月更文挑战第25天】Prometheus Exporter分为直接采集(如cAdvisor, Kubernetes)和间接采集(如Node Exporter)两类。
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
721 1
Saga模式在分布式系统中如何保证事务的隔离性
Saga模式在分布式系统中如何保证事务的隔离性
312 7
|
机器学习/深度学习 数据挖掘 开发工具
Jupyter 集群管理:大规模部署的最佳策略
【8月更文第29天】将版本控制系统(如 Git)与 Jupyter 笔记本结合使用是现代数据科学和机器学习团队中常见的实践。这种集成不仅有助于追踪代码变更历史,还可以促进团队间的协作和代码共享。本文将详细介绍如何在 Jupyter Notebook 中集成 Git,并提供一些实用的代码示例来帮助你开始使用。
391 1
|
Docker 容器
Docker-compose停止并删除容器
Docker-compose停止并删除容器
1214 0
PR曲线、ROC曲线、AUC能干个啥
评判二分类分类器性能的指标有那么多,为什么PR曲线、ROC曲线、AUC值这几个用的比较多。本文从概念、代码实现方面着手进行分享。
PR曲线、ROC曲线、AUC能干个啥
|
存储 Java Spring
Spring Boot中的配置中心实现
Spring Boot中的配置中心实现

热门文章

最新文章