《Part-based Face Recognition with Vision Transformers》论文翻译

news/2024/12/26 8:48:00 标签: transformer

原文链接:https://arxiv.org/abs/2212.00057

author={Zhonglin Sun and Georgios Tzimiropoulos}

一、摘要

        使用CNN和基于边缘的损失的整体方法主导了人脸识别的研究。在这项工作中,我们从两个方面出发:(a)我们采用Vision Transformer作为一种架构,用于训练非常强大的人脸识别基线,简称为fViT,它已经超过了大多数最先进的人脸识别方法。(b)其次,我们利用Transformer的固有属性来处理从不规则网格中提取的信息(视觉令牌),以设计一个用于人脸识别的管道,这让人想起基于部分的人脸识别方法。我们的管道称为fViT部分,它只包括一个轻量级网络来预测面部地标的坐标,然后是Vision Transformer对从预测的地标中提取的补丁进行操作,并且它是端到端训练的,没有地标监督。通过学习提取有区别的补丁,我们基于部分的Transformer进一步提高了我们的Vision Transformer基线的准确性,在几个人脸识别基准测试中达到了最先进的准确性。

二、介绍

        人脸识别是计算机视觉的一个重要研究内容,在边界控制、监控等领域有着广泛的应用。随着深度学习的出现,FR在过去几年中的实际管道包括(a)CNN(卷积神经网络)主干,该主干对人脸图像进行整体处理,以计算用于计算相似度得分的人脸特征嵌入,以及(B)用于区分性嵌入学习的适当损失函数。虽然最近关于FR的大部分工作集中于(B),设计更有效的损失函数[8,13,33,37,48,58,61],该工作主要集中在(a),即,设计用于面部特征提取的新架构。我们工作的第一个动机是最近推出的Vision Transformer [16],它在计算机视觉中越来越受欢迎,据报道,最近的结果与CNN骨干网[38,65]产生的结果非常有竞争力。因此,我们的第一个贡献是使用[58]的vanilla损失来探索vanilla ViT在人脸识别中可以走多远。我们表明,这种具有适当超参数优化的主干已经实现了人脸识别的最新结果。我们工作的第二个动机是,与CNNs相反,ViT实际上可以对从不规则网格提取的补丁进行操作,并且不需要用于卷积的均匀间隔的采样网格。由于人脸是由多个部分(例如,眼睛、鼻子、嘴唇),并受到深度学习之前基于部位的面部识别的开创性工作的启发[5],本文提出将ViT应用于表示面部部位的补丁片。具体地说,我们的第二个贡献是提出了一种新的用于深度人脸识别的基于部分的流水线,其中,首先通过轻量级地标CNN预测有区别地学习的地标,然后提取地标周围的块,然后将其馈送到ViT。值得注意的是,整个系统,称为fViT部分,可以在没有地标监督的情况下进行端到端的训练。图1所示为拟建管道的概况。

图1:用于人脸识别的基于部件的ViT图示。面部图像由轻量级地标CNN处理,其产生一组面部地标。地标用于从输入图像中采样面部部分,然后将其用作ViT的输入以进行特征提取和识别。整个系统是端到端训练的,没有地标监督。示出了由地标CNN检测到的地标的示例。

总之,我们的贡献是:

·我们使用vanilla loss适当地训练了一个vanilla ViT用于人脸识别,我们将其称为fViT,并表明fViT在几个流行的人脸识别基准上产生了最先进的结果。

·我们利用Transformer架构提出了一种新的人脸识别流水线,创造了部分fViT,其中首先提取区分学习的补丁,然后将其馈送到ViT进行识别,本质上构建了一个基于部分的ViT用于人脸识别。值得注意的是,用于预测地标的地标CNN是在没有地标监督的情况下与ViT进行端到端训练的。

·我们表明,我们的部分fViT超过了我们的强基线fViT,在几个人脸识别数据集上设置了一个新的最先进的水平。此外,我们消融了我们的管道的几个组件,说明它们对人脸识别准确性的影响。

·我们表明,作为我们管道的一部分,地标CNN对于无监督地标发现的附带任务是有效的。

三、相关工作

        对人脸识别论文的详细回顾超出了范围,在这里我们重点关注与我们的工作更相关的损失、区域感知方法和Vision Transformers。

        损失函数:几篇论文[8,13,33,37,48,58,61]都集中在学习功能,这是通过使用适当的损失函数可分离和歧视。虽然可以通过softmax loss实现可分性,但学习区分性特征更加困难,因为在小批量中,训练无法看到全局特征分布[61]。为此,FaceNet [48]使用三元组直接学习到紧凑的欧几里得空间的映射,使得来自同一身份的面部特征尽可能接近,而来自不同身份的特征尽可能远。

        为了避免三重选择的问题,中心损失[61]最大限度地减少了每个人脸的学习深度特征与其相应的类中心之间的距离,以实现类内集中。观察到Softmax Loss中的类间边界没有很好地分离,L-softmax [36]考虑了softmax交叉熵损失和线性层的联合公式,惩罚了类边界的距离,从而产生更多的区分特征。在此之后,CosFace[58]不仅对权重进行了归一化,还对特征嵌入进行了归一化,并提出在cos(θ)上添加余量,其中θ是线性权重和嵌入之间的角度。ArcFace[9]进一步定义了角度θ上的边缘,而不是cos(θ)。VPL[13]通过考虑类在特征空间上的分布来学习每个类的原型,并提出通过注入记忆的特征来近似原型变化来改变静态原型。最近,Sphereface 2 [62]提出进行二进制分类进行识别,并且在如何设计好的损失的工作中也总结了一些一般原则。

        Region-aware methods:尽管CNN为依赖全局信息的人脸识别提供了标准的主干,但它们忽略了这样一个事实,即人脸是一个结构化的对象,其部分可以用于更有效地学习面部特征。例如,[5]的开创性工作,这是深度学习出现之前的最先进技术,表明围绕5个预定义地标(例如眼睛,鼻子,嘴巴)提取大量多尺度特征对于人脸识别非常有效。为了通过基于深度学习的解决方案解决局部特征,TUA[35]提出通过不同的GPU集成来自不同不相交CNN的局部和全局面部特征,以聚合特征级联操作。FAN-Face [67]探索了如何使用预先训练的面部地标定位网络的特征来提高面部识别的准确性,但是地标定位和识别网络没有联合训练。此外,[15,25,26]都提出了在CNN训练期间提取地标相关特征的方法,然而,它们仍然需要预定义的地标。为了避免明确的地标监督,比较器网络[66]提出了一个管道,该管道对多个有区别的局部区域(地标)进行关注,并使用它们来比较面部对之间的局部描述符。最后,HPD [59]充分利用注意力机制来预测局部特征的注意力掩码。

        我们的fViT部分受到[5,66]的启发,但以完全不同的方式工作。首先,通过使用非常轻量级的网络(即mobilenetV3 [20])直接预测其x,y坐标来学习地标。然后,以预测的地标为中心的块被采样并馈送到Transformer [16,57]用于面部识别。值得注意的是,我们利用Transformer架构提供一组在不规则空间位置采样的补丁作为输入,这不同于基于CNN的标准人脸识别方法,CNN使用规则图像网格(定义卷积所必需的),也不同于ViT [16],ViT也使用规则网格来处理输入图像。此外,我们的系统以端到端的方式进行训练,没有里程碑式的监督。

        Vision Transformer:Transformer最早被引入自然语言处理中,用于机器翻译和其他NLP任务[57]。它包括自我注意层和前馈层两种。视觉Transformer(ViT)在[16]中被引入,并且从那时起,它已经被证明为CNN提供了具有竞争力的精度[65]。与认知神经网络相比,ViT的培训更加困难[55,56]。已经提出了许多方法来促进ViT的培训[6,17,38,52,56,60,64,65,69,70,70]。在这项工作中,我们放弃了先前使用ViT进行人脸识别的方法[77],其中从人脸中提取规则的重叠面片,而是采用了标准ViT主干[16]以及[52]的训练改进。这已经为我们提供了一个非常强大的基线,超过了MS1M [18]数据集上大多数现有的最先进的人脸识别方法。接下来,我们超越了[16]和后续工作[6,17,38,52,56,60,64,65,69,70,70],首次将Transformer应用于从非规则网格中提取的一组面片上,所述非规则网格由轻量网络提供,所述轻量网络被端到端训练以在没有明确监督的情况下提供区分性界标。

图2:我们提出的部分fViT的整体结构:轻量级CNN用于预测一组面部标志。然后,微分网格采样应用于提取的歧视性的面部部分,然后用作输入到一个ViT的特征提取和识别。黄色节点表示提取的回归面部地标坐标。

四、Methodology

4.1fViT: ViT for Face Recognition

        给定一个人脸图像X ∈RH×W×C(C= 3)。在ViT [16]之后,图像被划分为R = P×P个不重叠的补丁,然后使用线性嵌入层E ∈ RP 2 ×d将其映射到视觉令牌。为了保留空间信息,还学习了位置嵌入ps ∈ RP 2 ×d,该位置嵌入被添加到初始视觉令牌。然后,令牌序列由L个Transformer层处理。

        在层l和空间位置s处的视觉令牌是zl s ∈ Rd,l = 0,...,L-1,s = 0,...,P2 −1。除了R个视觉标记之外,分类标记zl cls ∈ Rd被前置到标记序列[14]。第l层Transformer使用一系列多头自注意(MSA)、层归一化(LN)和MLP(Rd → R4d →Rd)层处理前一层的视觉令牌Zl ∈ R(P2+1)×d,如下所示:

        其中σ(.)= Softmax(.),qls、kls、vls ∈ Rdh是使用嵌入矩阵Wq、Wk、Wv ∈ Rd×dh从zls计算的查询、键和值向量,dh是自注意中的比例因子。最后,利用嵌入矩阵Wh ∈ Rhdh×d对h个头的输出进行拼接和投影.

        使用CosFace损失训练分类令牌zL cls用于人脸识别[58]:

        其中N是一个批次中的样本数量,z = zL cls|| zL cls||,zi是第i个样本,yi是相应的地面实况,W = W*/|| W *||是最后一个线性层的权重矩阵,Wj是权重矩阵的归一化的第j列(类),cos(θ yi,i)= WT yi zi,m是余量,B固定为||zL cls||.我们发现,fViT,类似于ViT,容易过拟合。因此,为了获得高精度,我们使用了多种方法进行训练,包括随机深度正则化[30],随机调整大小和裁剪,RandAugment [7],Cutout,最后是Mixup [71]。

4.2Part fViT

        如Eqs所描述的ViT。图1和图2对不需要在均匀网格上计算的视觉令牌序列进行操作。受基于部分的FR [5]工作的启发,在本节中,我们将描述如何将ViT应用于表示面部部分的补丁。

        具体来说,我们使用轻量级权重CNN来预测一组R = P×P地标:

        对于我们的CNN,我们使用了MobilenetV3 [20]。

        然后,我们对以每个界标坐标ri为中心的面片进行采样。为了适应分数坐标,我们使用STN [23]的可微网格采样方法来提取每个补丁。在此之后,每个补丁由嵌入层E标记化,产生R个部分标记,其与类标记一起由等式的Transformer处理。1和2。在第4.2节中,我们探讨了在消融研究中添加到部件令牌的位置编码的多种选项。

        整个管道(称为fViT部分)非常简单,如图2所示。它是端到端的训练,没有标志监督,只使用方程的CosFace损失。4.值得注意的是,地标回归网络形成了信息瓶颈,这在之前发现在用于无监督地标发现的方法中是有用的[24]。我们还在第4.2节的消融研究中证实了这一发现。最后,虽然可以使用带有softmax的热图回归方法,但我们选择了更简单的直接坐标回归。


http://www.niftyadmin.cn/n/5800243.html

相关文章

一起学Git【第六节:查看版本差异】

git diff是 Git 版本控制系统中用于展示差异的强大工具。他可以用于查看文件在工作区、暂存区和版本库之间的差异、任意两个指定版本之间的差异和两个分支之间的差异等,接下来进行详细的介绍。 1.显示工作区与暂存区之间的差异 # 显示工作区和暂存区之间的差异,后面不加参数…

【漏洞复现】Cloudlog delete_oqrs_line 未授权SQL注入漏洞

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 一、漏洞概述 1.1 组件描述 cloudlog是一个自托管的PHP应用程序,可让您在任何地方记录您的业余无线电联系人。使用PHP和MYSQL构建的基于WEB的业余无线电记录应用程序…

时钟芯片入门指南:从原理到实践

DS1302时钟 实时时钟芯片,精度高、 DS1302芯片可以对年、月、日、周、时、分、秒进行计时,并且具有闰年补偿等多种功能。 采用三线接口与CPU进行同步通信(采用串行数据传送方式简单SPI 3线接口),并可采用突发方式一次传送多个字节的时钟信号…

InnoDB 的页分裂和页合并

InnoDB 的页分裂和页合并 InnoDB 是 MySQL 的一种存储引擎,以其高性能和高可靠性著称。在高并发的环境下,数据的插入、删除和更新操作不可避免地会引发页分裂和页合并。本文将深入探讨 InnoDB 的页分裂和页合并的机制及其影响。 1. 什么是页&#xff1…

一款5k star的 Redis 客户端!!简洁高效!

作为一名热爱编程的程序员,对于高效的工具总是格外追求。在日常的开发中,Redis 作为一款优秀的内存数据库,是我们不可或缺的利器之一。了不起之前也推荐过一些出色的 Redis 客户端,它们在提升我们的开发效率和便利性方面发挥了巨大…

微服务篇-深入了解 XXL-JOB 分布式任务调度的具体使用(XXL-JOB 的工作流程、框架搭建)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 XXL-JOB 调度中心概述 1.2 XXL-JOB 工作流程 1.3 Cron 表达式调度 2.0 XXL-JOB 框架搭建 2.1 XXL-JOB 调度中心的搭建 2.2 XXL-JOB 执行器的搭建 2.3 使用调度中心…

FreeSql

官网 实体特性 Ado 它包括所有对 SQL 操作的封装,提供 ExecuteReader、ExecuteDataSet、ExecuteDataTable、ExecuteNonQuery、ExecuteScalar 等方法,使用起来和传统 SqlHelper 一样。 1、安装包 Install-Package FreeSql Install-Package FreeSql.Prov…

深度学习笔记1:神经网络与模型训练过程

参考博客:PyTorch深度学习实战(1)——神经网络与模型训练过程详解_pytorch 实战-CSDN博客 人工神经网络 ANN:张量及数学运算的集合,排列方式近似于松散的人脑神经元排列 组成 1)输入层 2)隐…