点上方计算机视觉联盟获取更多干货

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:AI 科技评论报道

编辑 | 陈大鑫

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

在现实生活中,许多因素可能会影响人脸识别系统的识别性能,例如大姿势,不良光照,低分辨率,模糊和噪声等。为了应对这些挑战,之前的人脸识别方法通常先把低质量的人脸图像恢复成高质量人脸图像,然后进行人脸识别。然而,这些方法大多是阶段性的,并不是解决人脸识别的最优方案。

AI 科技评论今天介绍一篇能够对此有着很好的解决方案的论文,在本文中,作者提出一种多退化因子的人脸复原模型(Multi-Degradation Face Restoration,MDFR),来一次性解决所有的这些影响因素。

原文标题:《Joint Face Image Restoration and Frontalization For Recognition》

论文地址:https://ieeexplore.ieee.org/document/9427073/

MDFR 可以从给定的多姿态、多重低质量因素影响的人脸图像中复原其高质量的正面人脸图像。MDFR是一个设计良好的编码器-解码器网络结构。

在模型的构建中,作者引入了姿态残差学习策略,以及一个基于3D的姿势归一化模块(3D-based Pose Normalization Module,PNM),该模块可以感知输入人脸姿态和正面人脸姿态之间的差异,以此差异来指导人脸的转正学习。

实验表示,训练完成之后的MDFR可以通过一个单一化的网络,一次性地从多重低质量因素影响的侧面人脸图像中恢复其高清的正面人脸图像,并有效的提高人脸算法的识别率。

1

背景及简介

非限制条件下的人脸识别方法是计算机视觉任务中一项重要的工作。在实际应用中,采集到的人脸图像可能包含大姿态,不良光照,低分辨率以及模糊和噪声等,这些影响人脸成像质量的因素可能导致人脸识别应用的失败。为了解决这些问题,已经有很多方法使用分阶段模型来分别处理相应的低质量因子影响的人脸图像,即首先将低质量人脸恢复成高质量的人脸图像,随后进行人脸转正并用于人脸识别。

然而这些方法都只考虑了人脸识别的单一因素,很少有方法能够同时解决影响人脸识别的多重因素。因此,这类基于单一因素的人脸处理方法并不能很好的适用于非限制条件下的人脸识别。在本文中,作者提出了一种解决多退化因子的人脸复原模型(MDFR),从给定任意姿态的低质量人脸图像中恢复出高质量正面人脸。

文章的贡献如下:

  • 提出了一种多退化因子人脸复原模型(Multi-Degradation Face Restoration, MDFR),将给定的任意姿态和受多重低质量因子影响的人脸图像恢复为正面且高质量的图像;

  • 在人脸转正过程中,使用了姿态残差学习策略,并且提出了一种基于3D的姿态归一化模块;

  • 提出了一种有效的整合训练策略将人脸重建和转正任务融合到一个统一的网络中,该方法能够进一步提升输出的人脸质量和后续的人脸识别效果;

2

方法描述

MDFR结构如图1所示。在训练过程中,MDFR主要包含两个模块,即双代理生成器(Dual-Agent Generator)和双代理判别器(Dual-Agent Discriminator)。姿态归一化模型模块(Pose Normalization Module, PNM)被嵌入到网络中对人脸的姿态进行归一化。

图1. MDFR模型的结构,包括双代理生成器,姿态归一化模型,以及双代理判别器。

(1)双代理生成器

双代理生成器包含一个人脸复原子网络(Face Restoration sub-Net, FRN)和一个人脸转正子网络(Face Frontalization sub-Net, FFN)。FRN网络的作用是将低质量人脸图像重建为高质量人脸图像,而FFN网络将FRN生成的侧脸图像进行转正。其中每个子网络均包含一个编码器和解码器,前者用来将输入映射到特征空间,而后者主要将编码后的特征重建为相应的目标人脸图像。两个子网络具有相同的网络结构,但是输入有所不同。FRN的编码器对输入的人脸图像进行编码,随后解码器对编码器的特征进行解码。FFN的解码器的输入除了人脸的编码特征外,还包含人脸两种姿态的编码残差,如图2所示。

图2生成网络的网络结构

(2)姿态归一化模块

作者设计了一个姿态归一化模块(PNM)对姿态进行归一化。PNM提供了标准的、并且尺度统一的真实正面姿态来来引导人脸转正。基于3D形变模型(3D Morphable Model, 3DMM),二维人脸图像对应的三维顶点可以通过人脸正交基线性加权相加而得到:

通过尺度正交映射将三维人脸顶点映射到二维图像平面,二维侧脸人脸图像可以表示为:

其中,参数是相应的旋转矩阵,t 为平移向量。当移去旋转矩阵和平移向量后,归一化后真实转正的人脸密集二维坐标可以表述为:

在文章中,作者使用3D人脸转正方法 2DAL 从一张给定的二维人脸图像中获取人脸密集坐标,最后选取18个常用的关键点来生成相应的高斯热力图(Gaussian Heatmaps)。

(3)双代理先验引导判别器

在人脸超分辨率领域使用的判别损失能够很好的提高重建人脸的真实度。因此,在本文中,作者在判别器中加入两种额外的先验信息:目标人脸的landmarks以及正脸的身份特征图,使得生成的人脸不仅能够获得目标姿态,还具有真实的身份信息。对应的判别器分别为PCD(Pose Conditioned Discriminator)以及ICD(Identity Conditioned Discriminator)。

在实现过程中,作者将两种先验信息分别作用到输入判别器中引导人脸的生成,然后再输入到相应的判别器中进行判别损失的求解。PCD和ICD不仅可以区分真实人脸和生成的人脸,同时可以学习到真实人脸和生成人脸的姿态和身份差异。

(4)网络训练

网络的训练主要分为两个阶段:Separate Training和TI Training。

Separate Training:文章首先分别训练FRN和FFN两个子网络,两个训练过程分别简写为FRN-S和FFN-S。FRN-S训练过程中所用到的损失函数如下:

身份信息损失:

重建像素损失:

总的损失:

FFN-S训练过程中所用到的损失函数如下:

转正损失:

条件对抗损失:

总的损失:

Task-Integrated (TI) training:在FRN和FFN完成了相应的分开训练后,作者在预训练模型的基础上进行整合训练。在这个阶段,作者使用FFN模型的输出作为ground-truth来训练FRN。同时,使用PNM归一化后的真实转正面部landmarks来引导FFN中人脸的转正。为了生成更好的人脸效果,在这一阶段作者还使用了特征对齐损失(Feature Alignment Loss, FA),具体的定义如下:

整体的训练损失函数为:

3

实验结果

作者首先探索了不同的网络结构和损失函数的组合来观察FFN-S和FRN-TI相应部分对人脸生成的影响,实验结果如图3所示。

图3. 消融实验在Multi-PIE数据库上的对比结果。

同时,表1展示了 MDFR 的不同变异体对不同姿态人脸的 rank-1 识别率。在所有的实验模型中,FFN-S 和 FRN-TI 均获得了最好的精度。

表2列举了 FFN-S 和 FRN-TI 同其他方法在 Multi-PIE 数据集上人脸识别率的比较。FFN-S 在所有的姿态中获得了最好的效果,其次是FFN-TI。当姿态角度在±45°以内时,FFN-S 和FFN-TI获得了同 CAPG-GAN 相似的识别效果。但当姿态角度大于±45°时,FFN-S 和 FFN_TI 的效果要显著的好于 CAPG-GAN。

图4. 不同方法在多重低质量因素影响下的人脸复原效果

作者在多重低质量因素影响的人脸图像上进行相应的验证,包括低分辨率、不良光照、噪声以及模糊。实验表明,文章提到的方法不仅可以充分应对多种低质量因子,而且都可以生成相应的高质量人脸图像。图4展示了不同方法在多重低质量因素影响下的人脸复原效果。可以看出不同于之前只能处理单一的任务的方法,文中所提出的方法既可以对人脸进行转正也可以进行高质量复原,且取得了最好的视觉效果。

-------------------

END

--------------------

我是王博Kings,985AI博士,华为云专家、CSDN博客专家(人工智能领域优质作者)。单个AI开源项目现在已经获得了2100+标星。现在在做AI相关内容,欢迎一起交流学习、生活各方面的问题,一起加油进步!

我们微信交流群涵盖以下方向(但并不局限于以下内容):人工智能,计算机视觉,自然语言处理,目标检测,语义分割,自动驾驶,GAN,强化学习,SLAM,人脸检测,最新算法,最新论文,OpenCV,TensorFlow,PyTorch,开源框架,学习方法...

这是我的私人微信,位置有限,一起进步!

王博的公众号,欢迎关注,干货多多

王博Kings的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)

博士笔记 | 周志华《机器学习》手推笔记第九章聚类

博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习

博士笔记 | 周志华《机器学习》手推笔记第十一章稀疏学习

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论

博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习

博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型

点分享

点收藏

点点赞

点在看

MDFR :基于人脸图像复原和人脸转正联合模型的人脸识别方法相关推荐

  1. MDFR:基于人脸图像复原和人脸转正联合模型的人脸识别方法

    AI 科技评论报道 编辑 | 陈大鑫 在现实生活中,许多因素可能会影响人脸识别系统的识别性能,例如大姿势,不良光照,低分辨率,模糊和噪声等.为了应对这些挑战,之前的人脸识别方法通常先把低质量的人脸图像 ...

  2. 基于百度EasyDL定制化图像识别平台的海洋鱼类识别方法

    [目的]鱼类识别对渔业资源的开发利用有着重要的意义.针对海底环境恶劣.拍摄环境亮度低.场景模糊的实际情况导致海底观测视频品质差,视频中的鱼类识别难的问题以及现有鱼类识别方法存在的鱼类标注数据集过少导致 ...

  3. 基于linux火焰识别算法,一种基于深度学习模型的火焰识别方法与流程

    本发明属于通信领域,具体涉及一种基于深度学习模型的火焰识别方法. 背景技术: 随着我国工业化与城镇水平的不断提高,现代设施大型公共建筑朝着空间大.进深广功能复杂的多元化方向发展,这对于防烟火朝着空间大 ...

  4. bouc wen matlab,基于Matlab磁流变阻尼器Bouc-Wen模型的参数识别

    2018年 3月 第 46卷 第 5期 机床与液压 MACHINE TO0L& HYDRAULICS Mat.2018 Vo1.46 No.5 DOI:10.3969/j.issn.1001- ...

  5. 基于多粒度语义交互理解网络的幽默等级识别

    论文阅读 2020 1. 解决问题 将幽默等级识别为自然语言推理任务,将幽默文本划分为铺垫和笑点两部分,提出对两者之间的关系进行建模可以显著提升模型识别幽默等级的性能. 2. 创新点(贡献) 本文基于 ...

  6. 浅析一种基于Android、iOS平台的移动端银行卡识别方法,简化移动支付中卡号绑定过程

    近些年来,我国经济飞速发展,科技实力日益突飞猛进.手机移动端的使用给人们的生活带来了许多便利.日常生活中,移动端支付的方式越来越流行.手机端进行支付往往需要绑定银行卡.目前,在众多需要录入银行卡信息才 ...

  7. opencv 训练人脸对比_【项目案例python与人脸识别】基于OpenCV开源计算机视觉库的人脸识别之python实现...

    " 本项目是一个基于OpenCV开源库使用python语言程序实现人脸检测的项目,该项目将从[项目基础知识](即人脸识别的基本原理).[项目实践](人脸识别所需要的具体步骤及其python程 ...

  8. MTCNN——基于级联模型的人脸关键点检测网络

    目录 1 致谢 2 前言 3 MTCNN--基于级联模型的人脸关键点检测网络 3.1 P-Net 3.1.1 训练数据是12x12,那么检测时也是要把所有的图像都放缩到12x12吗? 3.1.2 图像 ...

  9. (论文阅读)基于融合深度卷积神经网络的人脸识别方法研究-褚玉晓

    一.基于融合深度卷积神经网络人脸识别方法设计 1.PCA算法提取人脸特征 主要成分分析法(Principal Component Analysis,PCA) 第一步,计算人脸图像的平均值并执行归一化的 ...

最新文章

  1. RPA实施过程中可能会遇到的14个坑
  2. 如何授予Domain User AD加域权限
  3. matlab编写长度为100矩形序列,18春[华中师范大学]华师《Matlab基础与应用》在线作业(100分)...
  4. 逛街 最短距离+花费
  5. 伯纳德•罗森伯格先生参加华为技术2016首届国际光电连接技术研讨会
  6. python的socket连接不上_Python套接字只允许一个连接,但在新的连接上断开,而不是拒绝...
  7. Jsoup代码解读之四-parser(上)
  8. 爱因斯坦一生最伟大的问候
  9. Python os模块相关简介
  10. js table的所有td 按行合并
  11. sudo修改文件夹名字_用 Python 高效智能管理文件夹
  12. 批处理处理当前文件路径的写法
  13. 如何在手机上查看APP原型
  14. 转发:Android自动开关机实现
  15. C# App.config 自定义 配置节 报错“配置系统未能初始化” 解决方法
  16. CMOS模拟集成电路设计课程
  17. 蓝牙相关Profiles
  18. 过上等生活,享下等情欲
  19. 连续方程能量方程动量方程_简单的可伸缩性方程
  20. 建立自己的网络电话服务器

热门文章

  1. python requests 代理超时_python requests 超时与重试
  2. android adjust,android adjustresize adjustpan着名的问题
  3. java nio 系列教程 四_Java NIO系列教程(四) Scatter/Gather
  4. web 服务器 内存 影响_工业环境软件套件 CODESYS web 服务器被曝严重的RCE漏洞
  5. inurl news.php id,news.php
  6. java所定义的版本中不包括_JAVA语言基础题、 求做完
  7. oracle改类型吗,详解Oracle修改字段类型方法总结
  8. 使用Fiddler查看APP的请求接口、接口参数和返回值的方法
  9. 给Win32 GUI程序增加控制台窗口的方法
  10. OOP-ECMAScript - 深入理解Javascript