人脸识别精度提升 | 基于Transformer的人脸识别(附源码)


计算机视觉研究院专栏

作者:Edison_G

现阶段的人脸检测识别技术已经特别成熟,不管在什么领域都有特别成熟的应用,比如:无人超市、车站检测、犯人抓捕以及行迹追踪等应用。但是,大多数应用都是基于大量数据的基础,成本还是非常昂贵。所以人脸识别的精度还是需要进一步提升,那就要继续优化更好的人脸识别框架。

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第1张图片

长按扫描二维码关注我们

论文:https://arxiv.org/pdf/2103.14803.pdf

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第2张图片

一、技术回顾——Transformer

相比于卷积,Transformer有什么区别,优势在哪?

  1. 卷积有很强的归纳偏见(例如局部连接性和平移不变性),虽然对于一些比较小的训练集来说,这毫无疑问是有效的,但是当我们有了非常充足的数据集时,这些会限制模型的表达能力。与CNN相比,Transformer的归纳偏见更少,这使得他们能够表达的范围更广,从而更加适用于非常大的数据集;

  2. 卷积核是专门设计用来捕捉局部的时空信息,它们不能够对感受野之外的依赖性进行建模。虽然将卷积进行堆叠,加深网络会扩大感受野,但是这些策略通过聚集很短范围内的信息的方式,仍然会限制长期以来的建模。与之相反,自注意力机制通过直接比较在所有时空位置上的特征,可以被用来捕捉局部和全局的长范围内的依赖;

  3. 当应用于高清的长视频时,训练深度CNN网络非常耗费计算资源。目前有研究发现,在静止图像的领域中,Transformer训练和推导要比CNN更快。使得能够使用相同的计算资源来训练拟合能力更强的网络。

二、简要

最近,人们不仅对Transformer的NLP,而且对计算机视觉也越来越感兴趣。我们想知道Transformer是否可以用于人脸识别,以及它是否比cnns更好。

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第3张图片

因此,有研究者研究了Transformer模型在人脸识别中的性能。考虑到原始Transformer可能忽略inter-patch信息,研究者修改了patch生成过程,使相互重叠的滑动块成为标识。这些模型在CASIA-WebFace和MSSeleb-1M数据库上进行训练,并在几个主流基准上进行评估,包括LFW、SLLFW、CALFW、CPLFW、TALFW、CFP-FP、AGEDB和IJB-C数据库。研究者证明了在大规模数据库MS-Celeb-1M上训练的人脸Transformer模型实现了与CNN具有参数和MACs相似数量的CNN相似的性能。

二、FACE TRANSFORMER

2.1 网络框架爱

人脸Transformer模型采用ViT[A. Dosovitskiy, L. Beyer, A. Kolesnikov, D. Weissenborn, X. Zhai, T. Unterthiner, M. Dehghani, M. Minderer, G. Heigold, S. Gelly et al., “An image is worth 16x16 words: Transformers for image recognition at scale,” arXiv preprint arXiv:2010.11929]体系结构,采用原Transformer。唯一的区别是,研究者修改了ViT的标记生成方法,以生成具有滑动块的标记,即使图像块重叠,以便更好地描述块间信息,如下图所示。

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第4张图片

具体地说,从图像????中提取滑动块,块大小为????和步幅????(输入两侧隐式为零),最后得到一系列扁平的二维块????????。(????,????)是原始图像的分辨率,而(????,????)是每个图像块的分辨率。

正如ViT所做的那样,可训练的线性投影将扁平块????????映射到model dimension D,并输出块嵌入????????????。类标记,即一个可学习的嵌入(????????????????????????=????)连接到块嵌入上,它在Transformer编码器(????)输出处的状态是最终的人脸图像嵌入,如下方程式。

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第5张图片

然后,将位置嵌入添加到块嵌入中,以保留位置信息。

Transformer的关键模块MSA由????并行自检(self-attention,SA)组成:

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第6张图片

MSA的输出是????注意头输出的连接

2.2 Loss Function

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第7张图片

基于Softmax的损失函数消除了偏置项,并转换了????????=????cos????????,并在cos????????????项,[ J. Deng, J. Guo, N. Xue, and S. Zafeiriou, “Arcface: Additive angular margin loss for deep face recognition,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition]中加入了large margin。因此,基于Softmax的损失函数可以表示为:

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第8张图片

[9] H. Wang, Y. Wang, Z. Zhou, X. Ji, D. Gong, J. Zhou, Z. Li, and W. Liu, “Cosface: Large margin cosine loss for deep face recognition,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

三、实验及可视化

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第9张图片

对于ViT模型,层数是20个,头数是8个,hidden大小为512,MLP大小为2048。从T2T-ViT模型中一部分——Token-to-Token,深度为2,hidden为64,MLP大小为512;而对于主干网络,层数是24,头数为8,hidden大小为512,MLP大小是2048。请注意,“ViT-P10S8”代表ViT模型具有10×10patch尺寸,步幅????=8和“ViT-P8S8”表示标记之间没有重叠。

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第10张图片

在Attention Rollout技术的帮助下,研究者分析了Transformer模型(MS-Celeb-1M,ViT-P12S8)如何专注于人脸图像,并发现人脸Transformer模型如何像预期的那样关注人脸区域。

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第11张图片

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第12张图片

(1)不同层次的注意矩阵的可视化。(2)是指基于头部和网络深度的参与区域的注意距离。

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第13张图片

随着遮挡面积的增加,人脸Transformer模型和ResNet100的识别性能得到了提高。

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

人脸识别精度提升 | 基于Transformer的人脸识别(附源码)_第14张图片

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

源码下载 | 回复“FT”获取源码

你可能感兴趣的:(人脸识别,计算机视觉,机器学习,人工智能,深度学习)