通过模板级知识蒸馏进行掩模不变人脸识别

2024-08-26 12:12

本文主要是介绍通过模板级知识蒸馏进行掩模不变人脸识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Mask-invariant Face Recognition through Template-level Knowledge Distillation

创新点

        1.提出了一种掩模不变人脸识别解决方案(MaskInv),该解决方案在训练范式中利用模板级知识蒸馏,旨在生成与相同身份的非蒙面人脸相似的蒙面人脸嵌入。

        2.除了提炼的信息之外,学生网络还受益于基于边缘的身份分类损失,ElasticFace,使用蒙面和非蒙面面孔的额外指导。

        学生模型使用蒙面和非蒙面人脸图像进行训练,以便它可以处理这两种情况,而 KD 过程确保模型生成的蒙面人脸嵌入与相同身份的非蒙面人脸嵌入相似。

网络结构

        通过共同学习蒙版和非蒙版人脸图像的正确身份分类,并通过嵌入级别 KD 确保蒙版人脸的嵌入与相同身份的非蒙版图像的嵌入相似来实现。 KD 教导学生网络以产生类似于老师生成的非蒙面人脸嵌入的嵌入的方式处理蒙面人脸,从而尝试忽略蒙版引入的非身份相关信息。

        在非蒙面人脸上训练的性能良好的人脸识别模型充当我们知识蒸馏架构中的教师模型。第二个 FR 系统充当学生网络,并通过与教师模型的交互进行训练,使其具有掩模不变性,从而从蒙面面部生成的嵌入与从非蒙面面部生成的嵌入相似。

        所提出的蒙面人脸识别 MaskInv 方法概述:预先训练的教师网络和要训练的学生网络转发相同的图像。当概率 pMask 为 0.5 时,将合成掩模添加到学生网络的输入图像中。在训练过程中,计算教师网络和学生网络的人脸嵌入之间的均方误差(LKD)。然后,计算出的误差会影响学生网络的总体损失 LTotal,该网络还使用 ElasticFace-Arc 损失进行训练。

        图 1给出了所提出的学习场景的示意图。在训练期间,相同的图像同时输入到教师和学生模型。在转发到学生模型的图像上,应用具有概率 pMask 的合成掩模,而转发到教师网络的图像保持不变。合成掩模是通过在面部上放置掩模模板来创建的,具体取决于图像预处理期间用于面部对齐的标志。合成掩模应用于输入学生模型的部分图像(概率 pMask),以确保它仍然能够以最佳方式处理非掩模面部,并实现更稳定的训练过程。对于教师网络,使用预先训练的辅助网络来指导新训练的学生网络。学生网络不仅经过训练以产生正确的分类决策,而且还优化生成的嵌入,使其与教师网络的嵌入相似(在非遮蔽面孔上)。因此,学生网络使用由两种不同损失组成的组合损失 LTotal 进行训练。正式地,将总损失 LTotal 定义为:

其中,LElasticArc指的是损失函数ElasticFace-Arc,LKD指的是模板级KD过程中的均方误差损失。 ElasticFace-Arc 损失函数放宽了类似高性能 FR 损失函数的固定边距约束,因此为灵活的识别可分离性提供了空间。它优于其他几个 SOTA FR 损失函数,尤其是在硬交叉姿势基准测试中 。形式上,它可以定义为:

其中 N 表示批量大小,c 表示身份数量,s 表示尺度参数,m 表示裕度参数,σ 表示标准差。,函数 E(m,σ) 返回平均值为 m 且标准差为 σ 的高斯分布的随机值。

        LKD 作为教师网络的特征嵌入和学生网络的特征嵌入之间的 KD 的一部分进行计算,以优化嵌入本身而不是网络分类行为。这确保了由掩模引起的嵌入失真保持在最低限度,从而指导 KD 过程生成掩模不变的学生网络。使用的 LKD 损失(均方误差)可以形式化为:

其中 ΦS i 和 ΦT i 分别是从学生和教师模型的嵌入层获得的特征表示,D 是嵌入的大小。

        由于学习到的特征嵌入被归一化,LKD 的范围相当小,因此,在第一个训练步骤中用权重 λ = 100 对它们进行加权。这使得 LKD 有助于整体损失,同时保持对 LElasticArc 学习身份分类的重视,从而实现知识转移。

        基于上述方法提出了两种不同的范例。在MaskInv-HG(掩模不变高指导)方法中,当LElasticArc损失稳定时,将权重增加到λ = 3000,以进一步强调网络对掩模数据的适应。在 MaskInv-LG(掩模不变低指导)方法中,权重在整个训练过程中保持不变。对于详细的消融研究,还提供了第三种解决方案的结果,其中 λ 设置为零,因此不应用 KD,而是使用用概率为 pMask 的合成掩模增强的面部来独立训练学生网络,该解决方案将被称为 ElasticFace-Arc-Aug。

总结

       在本文中,提出了一种口罩不变的人脸识别解决方案,该解决方案不仅旨在构建有判别性的人脸嵌入,还将这一目标扩展到构建无论是否佩戴口罩都保持身份内相似性的嵌入。这种新颖的方法,即 MaskInv,基于通过身份分类学习共同学习在戴着面具的情况下区分身份,并通过来自教师网络的嵌入级 KD 学习为相同身份的蒙面和非蒙面面孔生成类似的嵌入。所提出的解决方案优于当前的 SOTA 方法。此外,提出的解决方案在验证非蒙面人脸时保持了高水平的准确性,所提出的掩模不变人脸表示学习的潜力可能不仅限于其用于蒙面人脸识别,而且还可以证明对于一般的遮挡人脸识别问题有用,这仍有待研究。

这篇关于通过模板级知识蒸馏进行掩模不变人脸识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108531

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经