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

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

AI科技评论报道编辑|陈大鑫在现实生活中,许多因素可能会影响人脸识别系统的识别性能,例如大姿势,不良光照,低分辨率&#x

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

AI 科技评论报道

编辑 | 陈大鑫

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

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

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)被嵌入到网络中对人脸的姿态进行归一化。

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

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

(1)双代理生成器

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

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

图2生成网络的网络结构

(2)姿态归一化模块

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

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

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

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

其中,参数

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

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

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

在文章中,作者使用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训练过程中所用到的损失函数如下:

身份信息损失:

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

重建像素损失:

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

总的损失:

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

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

转正损失:

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

条件对抗损失:

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

总的损失:

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

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

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

整体的训练损失函数为:

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

3 实验结果

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

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

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

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

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

表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。

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

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

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


推荐阅读
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • 开源真香 离线识别率高 Python 人脸识别系统
    本文主要介绍关于python,人工智能,计算机视觉的知识点,对【开源真香离线识别率高Python人脸识别系统】和【】有兴趣的朋友可以看下由【000X000】投稿的技术文章,希望该技术和经验能帮到 ... [详细]
  • #1,导入库importcv2importnumpyasnpimportface_recognition#2,加载图片liucv2.imrea ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 基于深度学习的遥感应用
    文章目录深度学习的发展过程深度学习在遥感中的应用基于深度学习的遥感样例库建设基于深度学习的遥感影像目标及场景检索基于深度学习的建筑物提取基于深度学习的密集建筑物自动检测基于深度学习 ... [详细]
  • python seaborn_大白话Python绘图系列Seaborn篇
    1.目的了解python第三方绘图包seaborn,从常用绘图实例开始,快速体验seaborn绘图。建议用时:10分钟绘图例子:12个每个例子代码量:1 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • Grafana 9 正式发布
    grafa ... [详细]
author-avatar
王功争_781
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有