联合整体与蒙面人脸识别

news2024/11/15 4:06:44

Joint Holistic and Masked Face Recognition

摘要

        本文通过补丁重建的代理任务来初始化模型参数,并观察到 ViT 主干网表现出改进的训练稳定性和令人满意的人脸识别性能。 除了训练稳定性之外,还提出了两种基于提示的策略,将整体和蒙面人脸识别集成在一个框架中,即 FaceT:具有稳定性的训练视觉变压器用于人脸识别,联合整体和蒙面人脸识别(Prompt Tuning、Prompt Pooling)

网络结构

具有稳定性的训练视觉变压器用于人脸识别

        Vision Transformer (ViT) 将图像划分为不重叠的块,并将它们投影到高维特征嵌入,称为视觉令牌。 为了捕获空间信息,引入正弦-余弦编码或可训练的位置嵌入来反映不同视觉tokens的位置。 然后将编码的视觉tokens与可训练的分类标记 [cls] 一起输入到多个块以进行特征提取。 每个 Transformer 块由多头自注意力层 (MHSA) 和前馈网络 (FFN) 组成:

其中 Q、K 和 V 是具有相同输入 x 的三个独立全连接层 FCq、FCk 和 FCv 预测的查询、键和值特征表示。 此外,d是视觉标记的隐藏维度,GELU是高斯误差线性单位函数。

        根据层归一化的位置,Transformer 块具有三种结构替代方案,如图 1 所示,即 PreNorm 、Res-PostNorm和 DeepNorm:

值得注意的是,具有 DeepNorm 的 Transformer 可以扩展到 1000 层,并且训练稳定。

        F表示为 Transformer 模型,将x表示为输入,wi 表示为第 i 次训练迭代的模型参数。将模型更新定义为:

并推导出模型更新的上界:

它与学习率 η 的规模、损失函数 L 的梯度以及所有 2N 层(多头自注意力层 (MHSA) 或前馈网络 (FFN))中初始化参数 w0 的梯度总和成正比。

        因此,之前关于 Transformer 模型训练稳定性的讨论主要集中在初始训练阶段预热学习率 η 并将参数 w0 初始化为较小的值。

        虽然具有 DeepNorm 的 Transformer 模型可以使用 Softmax 损失函数进行稳定训练,但图 2(a)表明,当使用现代人脸识别损失函数进行训练时,同一模型表现出不稳定:

其中θ表示提取的特征与身份质心之间的余弦相似度,s是放大尺度,不同类型的边缘用m1、m2和m3标记。 由于现代人脸识别损失强调扩大类内相似性和类间差异性,因此预热技巧和小参数初始化不足以保证现代人脸识别损失监督下 Transformer 模型的训练稳定性。

        为此,来自 Transformer 模型的损失函数的梯度大小 || ∂L/∂F || 应该进一步约束, 根据经验,Masked AutoEncoder (MAE)提供了一个平滑的优化目标来初始化 ViT 参数,并允许通过现代人脸识别损失对预训练模型进行微调。 因此,随着 MAE 初始化,梯度的最大幅值显着减小,如表 II 所示,并且训练过程变得稳定,如图 2(b) 所示,除了 Res-PostNorm 模型之外。 在实验中,采用 DeepNorm 块以获得更好的性能。

 联合整体和蒙面人脸识别(Prompt Tuning、Prompt Pooling)

所提出的方法 FaceT 在图 3 中进行了概述,其中整体面部和蒙版面部的特征通过:

        (1) Prompt Tuning及时调整进行对齐,它关联提示 [P0, P1, … , PN−1] 干预 MHSA 层内的信息交互;

        (2) Prompt Pooling,采用最后的提示PN从异构整体和蒙面人脸的视觉标记中选择特征。

        所提出的 FaceT 的概述,它将图像划分为不重叠的块,并通过添加位置嵌入的线性投影生成视觉tokens。 视觉tokens以及相应的视觉提示由堆叠的 Transformer 块进行处理。 为了获得更紧凑的特征用于联合整体和蒙面人脸识别,提出了基于多头注意力的提示池化层,以在全局平均池化(GAP)之前选择和细化面部特征。最后,模型输出由人脸识别损失来监督。所提出的 FaceT-B 模型通过使用基于 Transformer 的模型进行联合整体和蒙面人脸识别来填补空白。

A. Prompt Tuning

        ViT 模型,其中第 i 个块 Bi 将提示 Pi 附加到相应的视觉标记 Zi 作为输入 xi = [Pi , Zi ],下一个视觉标记 Zi+1 可以预测为 :

其中[·,·]表示连接的张量,“_”表示丢弃的输出。

        在传统的提示调整中,可以通过向 MHSA 层馈送不同的提示来调整视觉tokens之间的信息交互过程,具体可以参见:

为了简单起见,设置 d = 1 并将所有全连接层设置为恒等映射,而 Amn 表示由 softmax 函数标准化的注意力子矩阵。 特征提取过程可以通过注意力矩阵来操作,这与不同的提示有关。 此外,还将引入一个特定任务的头部,并根据识别蒙面面孔的提示进行训练。

        然而,对于开放集联合整体和蒙版人脸识别,分类头在训练后会被丢弃,并且人脸识别模型可能会过度拟合整体人脸。 消融研究的实验结果表明,仅依靠传统的提示调整不足以使 ViT 模型在联合整体和蒙面人脸识别中获得令人满意的性能。 为此,建议同时对共享头部的主干和提示进行微调,该策略将指示模型创建一个统一的特征空间来识别整体和蒙面人脸。

B. Prompt Pooling

        当由 MAE 进行预训练时,ViT 会丢弃 [cls] 标记并使用全局平均池化 (GAP) 来预测图像特征,假设所有标记对分类任务的贡献相同。 然而,对于联合整体和蒙面人脸识别,应细化从异构整体和蒙面人脸提取的特征,以实现有效的特征对齐。 为此,提出了提示作为从整体和蒙面面孔中选择相关特征的查询。 结合GAP,提出了基于prompt提示的特征选择和池化层,即prompt pooling:

其中 W 是线性层的参数,为简单起见省略了偏置项。

        提示池层通过根据与查询提示的相似性选择最相关的视觉tokens来细化特征,其中提示可以被视为识别所需的语义锚点。 因此,可以识别和选择与识别任务最相关的特征,从而在整体面部和蒙面面部之间实现更好的特征对齐。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MIT APP Inventor服务器版编译

注:MIT Appinventor 在市场上的 Windows 版本较多,在 Linux 上编译的版本很少。 由于需要部署服务器,因此决定编译 linux 版本。 GitHub原文:https://github.com/KamenLiefu/BG_APPInventor Github编译版本免费下载:…

川崎机器人维修请开启马达电源报警故障

‌川崎机器人故障代码主要用于指示机器人的不同运行问题和状态,帮助快速识别和解决这些问题。‌Kasawaki机械手故障代码通常以字母和数字的组合形式出现,其中字母代表故障的类型,而数字则是具体的代码编号。这些代码可以分为‌P‌代表操作错误…

JavaEE:多线程代码案例(阻塞队列)

文章目录 什么是阻塞队列?使用阻塞队列有什么好处?代价BlockingQueue的使用自己实现一个阻塞队列(基于数组) 什么是阻塞队列? 阻塞队列是在普通的(先进先出)的基础上,做出了扩充. 线程安全具有阻塞特性 a. 如果队列为空,进行出队列操作,此时就会出现阻塞,一直阻塞到其他线…

EDA投资前沿 | IDAS 2024设计自动化产业峰会之产业投资分论坛前瞻

主持人简介 冯锦锋 上海兴橙资本合伙人/上海市集成电路行业协会 嘉宾介绍:江苏靖江人,上海兴橙资本合伙人,兼任上海集成电路行业协会副秘书长,著有著作《一砂一世界》、《芯路》、《芯镜》。先后获得清华大学管理信息系统工学学…

如何在大模型落地过程中使用高级 RAG 技术?

一、高级RAG概述 基本 RAG 的工作流程可分为三个步骤:索引、检索和生成。在索引阶段,文本被转换为嵌入,然后存储在向量数据库中以创建可搜索的索引。在检索步骤中,用户的查询也被转换为嵌入,此嵌入用于在向量数据库中…

《向量数据库指南》——Milvus赋能博世智能驾驶:数据引领未来出行革命

在深入探讨Milvus在智能驾驶领域的无限潜力时,我们不得不首先认识到,随着自动驾驶技术的飞速发展,数据已成为驱动这一行业变革的核心要素。自动驾驶系统需要处理海量的实时数据,包括但不限于车辆传感器收集的环境信息(如摄像头捕捉的图像、激光雷达的点云数据、雷达探测的…

VTK随笔六:VTK图像处理(图像创建、图像显示)

一、VTK图像创建 1、VTK 图像数据结构 数字图像文件内容由两个部分组成:图像头信息和数据。图像头信息定义了图像的基本信息,主要包括起点位置(Origin)、像素间隔(Space)和维数(Dimension)。通过这三个参数即可确定图像空间位置和大小。 图像数据即为图像像素的像素…

续航更进阶 长安马自达MAZDA EZ-6成功挑战1301公里续航

继在中国“热极”新疆吐鲁番完成高温试炼后,8月24日-26日,长安马自达MAZDA EZ-6(以下称EZ-6)“众测先享官—续航更进阶”再次从兰州出发,EZ-6增程车型以一次充电、一箱油(45L油箱)创造了CLTC工况…

微信小程序主体变更(迁移)法人无法配合扫脸怎么办?

小程序主体变更是指公众平台提供的,协助小程序帐号开发者将其小程序项下业务交由其他开发者的小程序承接、运营的功能和服务。主体变更完成后,小程序的运营权限、主体信息将发生变化。 那么,小程序怎么变更主体信息呢?法人因种种…

游戏开发设计模式之原型模式

目录 原型模式的实现步骤 原型模式的优点 原型模式的应用场景 总结 原型模式在游戏开发中的具体应用案例是什么? 如何在不同编程语言中实现原型模式? Java C# Python C JavaScript 原型模式与其他创建型设计模式(如建造者模式、适…

喂饭级教程!零代码搭建本地个人知识库 ,支持GPT4、Llama3、Kimi等十几种大模型

这篇文章是关于搭建本地个人知识库,零代码!喂饭级教程!支持GPT、Llama3、Kimi等十几种大模型。教程由我编写,每一步已经过验证,可实践! 1 搭建本地知识库优势 部署本地知识库,可以借助大模型能…

国内十大企业薪酬管理咨询公司

思博咨询专注于制造业管理咨询落地辅导。提供战略落地、营销体系、组织体系、薪酬绩效、供应链、精益生产、降本增效、工厂规划等管理咨询服务。 在当今这个竞争激烈的市场环境中,企业薪酬管理已不再是简单的工资发放与调整,而是成为了企业战略的重要组成…

大模型学习成长路径:五个阶段晋级指南,你在哪一级?

第一阶段 不知道概念 第一阶段,「不知道大模型是什么意思」,不知道langchain是什么,不知道llm是什么,不知道文心一言,不知道openAI,不知道prompt是什么? 这个阶段就是疯狂百度,像一…

23 预编译详解

目录 一、预定义符号 二、#define定义常量 三、#define定义宏 四、带有副作用的宏参数 五、宏替换的规则 六、宏函数的对比 七、#和## (一)#运算符 (二)##运算符 八、命名约定 九、#undef 十、命令行定义 十一、条件编…

TCP协议中的可靠性机制

目录 确认应答 滑动窗口 快重传 流量控制 窗口探测 拥塞控制 延迟应答 捎带应答 总结 相较于UDP协议,TCP协议由于要确保通信过程中的可靠性与尽可能提高通信效率提供了很多可靠性机制,因此TCP比较复杂。 确认应答 滑动窗口 滑动窗口是发送方/接…

Jmeter执行多机联合负载

1、注意事项,负载机必须要安装jre,控制机则必须安装jdk。要配置同网段ip,双向关闭防火墙。 每个负载机要平均承担线程数。 具体执行事项查看上面截图所示,控制机和负载机配置。 2、先给负载机设置ip地址,保持与控制…

网络安全新视角:人工智能在防御中的最新应用

人工智能在网络安全中的最新应用 概述 人工智能(AI)在网络安全领域的应用正日益成熟,它通过机器学习和深度学习技术,为网络安全带来了革命性的变革。AI技术不仅能够自动化、智能化地检测、分析和应对安全威胁,还能够…

Transformer-BiLSTM神经网络多输入单输出回归预测的MATLAB实现

在现代人工智能和机器学习领域,深度学习模型已经成为解决复杂问题的重要工具。Transformer和双向长短期记忆网络(BiLSTM)是两种非常强大的神经网络架构,它们在自然语言处理、时间序列预测、图像处理等多个领域表现出色。本文将介绍…

黑马JavaWeb企业级开发(知识清单)07——Ajax、Axios请求、前后端分离开发介绍、Yapi配置步骤

文章目录 前言一、Ajax1. 概述2. 作用3. 同步异步4. 原生Ajax请求(了解即可)5. Axios(重点)5.1 基本使用5.2 Axios别名(简化书写) 二、前后端分离开发1. 介绍1.1 前后台混合开发1.2 前后台分离开发方式&…

ChatGPT真的那么牛吗?

ChatGPT 很受欢迎,主要因为它在很多任务上表现出色,比如回答问题、写作、编程辅助等等。它的强大之处在于它可以理解和生成与上下文相关的自然语言文本,使得它在许多领域中都有用武之地。 和咱国内的文心一言一比较比较就知道了 不抖机灵&…