第14卷㊀第3期Vol.14No.3㊀㊀
智㊀能㊀计㊀算㊀机㊀与㊀应㊀用
IntelligentComputerandApplications
㊀2024年3月㊀
Mar.2024
㊀㊀㊀㊀㊀㊀
文章编号:2095-2163(2024)03-0061-06中图分类号:TP391.41
文献标志码:A
融合MobileNet与ContextualTransformer的人脸识别研究
陈经纬,熊继平,程汉权
(浙江师范大学物理与电子信息工程学院,浙江金华321004)
摘㊀要:FaceNet作为人脸识别的一大跨越,以其高精度㊁低硬件配置等优势被广泛应用于各个人脸识别相关领域㊂本文开源了首个餐厅支付场景下的中国人脸数据集CN-Face,该数据集拥有13000人的人脸图像,总计100000张㊂此外,本文以CA⁃SIA-WebFace作为训练集,利用改进后的MobileNet主干网络,采取不同的注意力机制添加方法,改变激活函数并且融入ContextualTransformer模块,大大降低了参数量和识别速度,显著提升了人脸识别精度㊂相较于原版FaceNet,在LFW测试集下,准确率达到98.79%,提升了2.74%,在CN-Face数据集中准确率达到95.22%,提升了1.35%㊂关键词:ECA注意力机制;人脸识别;FaceNet;深度学习;ContextualTransformer
ResearchonfacerecognitioncombiningMobileNetandContextualTransformer
CHENJingwei,XIONGJiping,CHENGHanquan
(CollegeofPhysicsandElectronicInformationEngineering,ZhejiangNormalUniversity,Jinhua321004,
Zhejiang,China)Abstract:FaceNet,asthemajorprogressinfacerecognition,hasbeenwidelyusedinrelatedfacerecognitionfieldsduetoitsadvantagesofhighprecisionandlowhardwareconfigurationrequirements.ThelaboratorycollectsfacedatafrommultiplerestaurantsandcombinesthemtoformaChinesefacedataset(CN-Face)withmorethan13000faceIDsand100000faceimages.ExploretheuseofCASIA-WebFaceasthetrainingset,usetheimprovedMobileNetbackbonenetwork,adoptdifferentattentionmechanismadditionmethods,changetheactivationfunctionandintegratetheContextualTransformermodule,whichgreatlyreducesthenumberofparametersandrecognitionspeed,andsignificantlyimprovesfacerecognitionprecision.ComparedwiththeoriginalFaceNet,undertheLFWtestset,theaccuracyratereaches98.79%,anincreaseof2.74%.Atthesametime,theaccurac
yratereaches95.22%undertheChinesefacedataset(CN-Face)collectedinthelaboratory,anincreaseof1.35%.Keywords:ECAattentionmechanism;facerecognition;FaceNet;deeplearning;ContextualTransformer
基金项目:金华市公益项目(2021-4-116)㊂
作者简介:陈经纬(1996-),男,硕士研究生,主要研究方向:深度学习㊂
通讯作者:熊继平(1982-),男,博士,副教授,主要研究方向:深度学习㊁图像处理㊂Email:xjping@zjnu.cn收稿日期:2023-08-07
0㊀引㊀言
人脸识别是个人身份认定中的重要一环,相较于指纹识别和虹膜识别等身份认定手段,人脸识别具有无接触性㊁非强制性㊁并发性等优势,在金融安全㊁智能监控领域具有广泛的应用㊂人脸识别系统的基础是提取面部特征,并使用这些特征进行比较㊂其中,深度学习(DL)模型提供了一种成功提取分析数据特征的方法[1]㊂许多应用都需要先进的人脸识别技术,例如获取人脸信息㊁人机界面应用㊁多媒
体通信㊁创建人造人脸和管理基于内容的人脸数据库[2]㊂每个比较过程的接近值,是通过将识别过程中被质疑图像的独特特征与人脸数据库中的其他特征集进行比较来计算,通过考虑所有计算出的接近
度值来获得结果㊂人脸识别应用程序的质量与人脸识别数据库的创建,以及人脸识别过程中获得的人脸姿势的质量成正比[3]㊂人脸匹配最关键的是确定2个不同人脸的特征表示,以确保正确匹配[4]㊂
人脸识别自上世纪90年代被Turk团队实现并开始应用迄今为止已经历了30余年[5],各种人脸识别算法也陆续问世,一直作为身份认定的重要方法㊂21世纪,随着深度学习的兴起,运用深度学习挖掘人脸特征成为人脸识别的主要途径㊂2006年,
Hinton团队利用深度学习,提出了深度信念网络,挖掘图像之间的非线性特征,获取图像的高维特征[6-7]㊂卷积神经网络(CNN)的提出,加快了人脸图像识别的发展㊂2014年,Taigman团队提出DeepFace深度学习模型[8],准确率达到了97.35%,突破
当时人脸识别准确率的最高记录㊂同年,Sun团队在人脸识别任务中引入了度量学习,开发出
DeepID[4]㊂2015年,Google提出FaceNet人脸识别模型,采用了卷积神经
网络和Tripletloss作为损失函数,大大提高了人脸识别的精度[9]㊂利用网络将人脸图像映射入一个可测的向量空间,通过计算人脸向量的欧氏距离,判定人脸相似度㊂近年,对损失函数的修改取得有效的进展,AdaCos[10]㊁ArcFace[11]㊁AdaptiveFace[12]㊁CircleLoss[13]等损失函数的提出,对人脸识别的识别率㊁推断速度等方面有着不同程度的改进㊂人脸数据集的发展是人脸识别的重要途径,主要分为两大方向㊂其一,对数据集进行提纯清洗,例如通过清理MS-Celeb-1M数据集(包括10万人的1亿张人脸图像),iBUG得到MS1M-iBUG数据集(包括8.5万人的380万张人脸图像),同样是MS-Celeb-1M数据集,ArcFace得到MS1M-ArcFace数据集(包括8.5万人的580万张人脸图像);其二,通过收集更多的人脸图像,当前最大的人脸数据集为文献[13]提出的数据集WebFace260M(包括400万人的2.6亿人脸图像),并且设计了可以自动利用且自训练的自动清洗pipeline,所以WebFace260M人脸数据集虽然巨大,但也具有相当的清洁度㊂
1㊀模型介绍
1.1㊀FaceNet
FaceNet是谷歌研究人员开发的用于人脸识别的深度神经网络模型㊂该模型使用卷积神经网络(
CNN)架构,从面部图像中提取特征,然后将这些特征映射到称为 面部嵌入 的高维空间㊂该模型使用大量人脸数据集进行训练,即使在光照㊁姿势和表情变化等条件下也能准确识别人脸㊂FaceNet网络结构如图1所示㊂
批量人脸样本
卷积神经
网络
L2正则化
三元组损
失函数
图1㊀FaceNet网络结构
Fig.1㊀FaceNetnetworkstructure
㊀㊀FaceNet的关键创新是在训练期间使用三元组损失函数(Tripletloss),其作用是使模型将同一个人的图像映射到相似的人脸嵌入,将不同人的图像映射到不同的嵌入,有助于模型学习,可以区分不同个体的判别特征㊂
Tripletloss三元组损失是深度学习中用于度量学习的一种损失函数,其目的是学习将输入映射到度量空间的函数,使得相似的输入在度量空间中比不同的输入彼此更接近㊂度量空间可用于图像检索㊁人脸识别和行人再识别等任务㊂
三元组损失函数接受3个输入:锚样本㊁正样本和负样本㊂其中,锚样本和正样本是同一类/类别的
2个示例,而负样本是不同类/类别的示例㊂三元组损失函数计算锚点和正样本间的距离,以及度量空间中锚点和负样本间的距离㊂目标是最小化锚点和正样本间的距离,同时最大化锚点和负样本间的距离㊂Tripletloss可以表示为
=max(da,p
()-da,n
()+margin,0)(1)㊀㊀其中,d(a,p)是anchor样本a(取一张人脸图像)和正样本p(同一人的不同人脸图像)的距离;d(a,n)是anchor样本a(取一张人脸图像)和负样本n(不同人的人脸像)的距离;margin作为一个超参数,指定为零锚样本同负样本间最小期望距离㊂若锚点同正样本间的距离较之锚点同负样本间的距离至少小margin,则损失为零,否则损失为正,并且与距离间的差异成正比㊂
三元组损失函数通常与连体或三元组网络架构结合使用,该架构由共享权重的同一网络的多个副本组成,
并采用多个输入,其输入将用于三元组中的每个样本㊂通过使用随机梯度下降或类似的优化算法优化三元组损失函数来训练网络㊂Tripletloss训练阶段流程如图2所示㊂
喂入三元组数据,优化三
元组损失,更新网络参数
挑选满足规则的数据,
构成三元组
送入网络,正向传播,得到
相应的e m b e d d i n g向量
从训练集(已知源)随机
获取一批数据
初始化神经网络参数
开始
结束
保存网络模型
训练是否饱和?
Y
N
图2㊀Tripletloss训练阶段流程图
Fig.2㊀FlowchartofthetrainingphaseofTripletloss
26智㊀能㊀计㊀算㊀机㊀与㊀应㊀用㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第14卷㊀
1.2㊀主干网络
MobileNet是一种深度神经网络架构[14],专为高效移动和嵌入式视觉应用而设计,已广泛用于移动设备的计算机视觉应用程序,以及其他资源受限的环境㊂
MobileNet的关键思想是使用深度可分离卷积代替传统卷积㊂通过将卷积操作分成2个单独的层:depthwiseconvolution层对每个输入通道应用一个过滤器;pointwiseconvolution层应用了1ˑ1卷积来组合跨通道的depthwise卷积结果㊂以此减少网络的计算成本和参数数量,同时保持视觉识别任务的高精度㊂
MobileNet由3个阶段和自适应平均池化层与全连接层构成,其中3个阶段分别为stage1㊁stage2㊁stage3㊂stage1和stage2包含6个卷积层,stage3包含2个卷积层㊂
MobileNet还使用了一种 瓶颈 技术,用来进一步降低计算成本㊂在瓶颈中,输入通道首先使用1ˑ1卷积扩展到更多通道,然后使用深度可分离卷积进行处理,不仅有助于提高网络的表示能力,同时还保持了较低的参数数量㊂
2㊀实验方法
2.1㊀数据集
2.1.1㊀训练集
CASIA-WebFace是中国科学院自动化研究所(CASIA)开发的大规模人脸识别数据集
[15],其中包含从互联网上收集的超过10000个人的500000多张图像㊂在这个数据集中涵盖了每一个人不同姿势㊁表情㊁光照条件和年龄的图片,并标记了每个人的身份,便于数据集后续的扩展㊂
㊀㊀CASIA-WebFace数据集广泛用于人脸识别算法的开发和评估,尤其是基于深度学习的方法㊂数据集的庞大规模和多样性,使其可用于训练稳健且准确的人脸识别系统㊂
2.1.2㊀测试集2.1.2.1㊀LFW
LFW(LabeledFacesintheWild)是一种流行的人脸识别数据集[16],由马萨诸塞大学的研究人员创建㊂该数据集包含从互联网上收集的13000多张人脸图像,每张图像都标有图像中人物的身份㊂
㊀㊀LFW数据集广泛用于评估人脸识别算法的性能,特别是用于人脸验证任务(即确定2张图像是否显示同一个人)㊂这是一个具有挑战性的数据集,因为图像通常是低质量的,在不同的光照条件下拍摄的,并以各种姿势和表情显示面部㊂
本文实验利用pairs文件随机读取图像对,并通过计算人脸图像特征向量的欧氏距离,将人脸阈值确定为0.90,测试所得准确率为96.05%㊂
2.1.2.2㊀CN-Face
实验室通过与中国某公司合作,经过人脸截取㊁图像聚类㊁图片清理等操作,共采集得到13400个人的100000张左右的人脸图像㊂该数据集仅包含中国人脸,为当前最大的中国人脸数据集㊂
㊀㊀该数据集可用于FaceNet人脸训练和人脸图像准确率测试㊂本实验采用的测试集为部分上述数据集,共包含857个人的8000余张人脸图像㊂相较于LFW测试集利用pairs文件随机读取图像,本实验通过遍历整个人脸数据集,共产生320万人脸图像对㊂人脸阈值定为0.90时,测试所得准确率为93.87%㊂
2.2㊀FaceNet融合ECA注意力机制模块
ECA-Net是香港中文大学研究人员于2020年推出的一种深度神经网络架构[17]㊂ECA-Net的主要思想是通过引入一种更有效的新型通道注意机制,用以提高卷积神经网络(CNN)的性能㊂
ECA-Net中使用的通道注意机制基于一种 有效通道注意 的新技术㊂该技术沿通道维度对每个特征图应用一维卷积核,并对输出应用sigmoid激活函数,以生成一组注意力权重,然后使用这些注意力权重来缩放特征图,有效地放大或抑制结果响应㊂
ECA-Net中使用的有效通道注意机制与以往的通道注意方法相比,需要的参数和计算量少很多,同时在ImageNet分类和COCO对象检测等各种基准上实现了相当㊁甚至更好的性能㊂
ECA注意力机制侧重于通过对每个卷积层内通道之间的交互进行建模,来学习通道方面的特征依赖性㊂通过将具有固定内核大小的一维卷积运算应用于每个卷积层的输出,接着使用逐元素乘法,将此操作的输出与原始特征图组合㊂
ECA注意力机制旨在计算高效且易于实施,同时仍能在图像识别基准测试中取得最先进的结果,已被证明在准确性和计算效率方面优于其他注意力机制,如挤压和激发(SE)和全局上下文(GC)注意力㊂ECA注意力机制模块如图3所示㊂
36
第3期陈经纬,等:融合MobileNet与ContextualTransformer的人脸识别研究
1?1?通道维度通道维度
1?1?通道维度通道维度k =5
x
x
~宽
高间距
高相乘
σ
图3㊀ECA注意力机制模块
Fig.3㊀ECAattentionmechanismmodule
㊀㊀本文实验利用2种方式将FaceNet与ECA注意力机制融合:
(1)用ECA模块代替一层DW卷积㊂在stage2
中,利用ECA模块取代一层DW卷积层㊂采用通道注意力机制,相当于对通道做减法,能有效减少参数量和推断所需时间成本㊂
在LFW测试集下得到了95.32%的准确率,虽然准确率降低了0.73个百分点,但参数量较之原版减少了27%,推断所需时间减少30%㊂有利于在低配置硬件条件下达到实时检测效果㊂
(2)直接加入ECA模块㊂在stage2中,间隔dw
卷积层,加入3个ECA注意力机制模块㊂在ECA注意力机制模块中,一维卷积核大小K默认为K=
5㊂实验旨在探求人脸识别任务中,ECA模块添加
最合适位置及一维卷积核K的最佳大小㊂
㊀㊀ECA-Layer不同K值测试结果见表1㊂由表1可知,当K=7时,在LFW测试集上取得的准确率最高,为98.31%㊂
表1㊀ECA-Layer不同K值测试结果
Table1㊀DifferentKvaluetestresultsofECA-Layer%
一维卷积核K
准确率392.87597.81
798.31997.4011
87.63
2.3㊀SiLU激活函数
ReLU(RectifiedLinearUnit)[18]是人工神经网络中使用的激活函数,函数的数学公式为:
f(x)=max(0,x)
(1)
㊀㊀其中,x表示函数的输入,f(x)表示输出㊂
激活函数ReLU如图4所示㊂由图4可知,当输
入为正时,函数返回与输入相同的值;当输入为负时,函数返回0㊂
2.001.75
1.501.251.000.750.500.250
-2.0-1.5-1.0-0.5
00.51.01.52.0
I n p u t
O u t p u t
图4㊀激活函数ReLUFig.4㊀ActivationfunctionReLU
㊀㊀MobileNet原版使用ReLU,为适配ECA模块,现将激励函数ReLU改为SiLU㊂
SiLU(Sigmoid线性单元)是人工神经网络中使
用的激活函数[19],也被称为Swish,是 具有线性输出的自门控激活函数 的缩写㊂SiLU函数的数学公式为:
f(x)=
x1+e-x
(2)
㊀㊀其中,x表示函数的输入,f(x)表示输出㊂
SiLU是一个平滑且连续的函数,如图5所示㊂
由图5可看到,其形状与Sigmoid函数相似,但具有正范围内的线性分量㊂
㊀㊀实验证明,在MobileNet作为主干网络的情况下,以SiLU函数代替ReLU函数可以在LFW数据集下取得97.23%的准确率㊂
1086420
-10.0-7.5-5.0-2.502.55.07.510.0
I n p u t
O u t p u t
图5㊀激活函数SiLUFig.5㊀ActivationfunctionSiLU
46智㊀能㊀计㊀算㊀机㊀与㊀应㊀用㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀㊀第14卷㊀
2.4㊀融合ContextualTransformer模块
ContextualTransformer是一种神经网络架构,通常用于自然语言处理(NLP)任务,例如语言翻译㊁文本分类和问答等㊂这是Transformer架构的一个变体,在2017年Vaswani等学者的论文 AttentionisAllYouNeed 中被引入[20]㊂
传统的Transformer架构[21]的关键创新是使用自注意力,允许模型一次性捕获输入序列中所有位置对之间的依赖关系,使其非常适合需要理解远程依赖关系的任务(如:机器翻译)㊂
ContextualTransformer网络的核心在于通过上下文转换器来提取全局特征,这也是其相异于传统Transformer的最大区别㊂在上下文转换器中,输入序列首先使用嵌入层转换为向量序列;这些向量由一系列自注意层处理,其中每个向量关注序列中的所有其他向量,以计算序列的加权表示;然后将得到的加权向量序列通过前馈网络产生最终输出,这也是CNN网络的优点㊂
ContextualTransformer模块能有效结合CNN和Transformer的优点,利用Transformer的空间自注意力机制改善CNN所固有的平移不变性和局限性,有效提高人脸图像特征提取的有效性和完整性㊂实验证明,ContextualTransformer模块能明显提高人脸识别准确率,在LFW数据集下得到98.16%的准确率㊂
2.5㊀实验结果分析
在MobileNet同时融合ECA(K=7)和SiLU激活函数与ContextualTransformer模块后,人脸识别准确率得到了显著提升,在LFW数据集下达到了98.79%,超过原版2.74个百分点,同时在实验室自采集数据集下准确率达到95.22%,提升了1.35%个百分点,表明该网络具有较好的泛化能力,能更好地提高模型提取人脸特征能力㊂测试结果见表2㊂
表2㊀不同网络结构在LFW数据集上测试结果
Table2㊀TestresultsofdifferentnetworkstructuresontheLFWdataset%
改进策略准确率
MobileNet+ECA(K=5)97.81
MobileNet+ECA(K=7)98.31
MobileNet+SiLU97.23MobileNet+ContextualTransf
ormer98.16MobileNet+SiLU+ECA(K=7)+ContextualTransformer98.79㊀㊀同样,在CASIA-WebFace数据集下,不同的ECA注意力机制添加方法对实验结果具有较大偏差㊂当人脸识别系统对实时性要求较高时,可考虑利用ECA模块代替一层dw卷积层,虽然降低了0.73个百分点,但是可以大大提高推断速度和参数量,在特定场合具有一定的参考意义;在stage2中间隔DW卷积层添加3个ECA模块为最优方式,并且通过对一维向量大小的实验证明,在k=7时,ECA模块最为适合人脸识别任务㊂
为适配ECA模块,将DW卷积层的激活函数由ReLU改为SiLU,同样在准确率方面得到了提升㊂ContextualTransformer模块能结合CNN和Transformer,改善CNN固有的平移不变性和局限性,充分发掘Transformer的自注意力机制,加强全局性㊁有效性方面特征的挖掘㊂综合以上的改进,最终在LFW测试集上取得了98.79%的准确率,提升了2.74个百分点,在CN-Face数据集上取得了95.22%的准确率,提升了1.35个百分点㊂图6为loss曲线㊂由图6可见,最终loss已趋近于0㊂
t r a i n l o s s
v a l l o s s
s m o o t h t r a i n l o s s
s m o o t h v a l l o s s
6
5
4
3
2
1正则化过滤器
020*********
E p o c h
l
o
s
s
图6㊀损失函数loss曲线
Fig.6㊀Thecurveoffunctionloss
3㊀结束语
本文首次将ECA注意力机制模块与FaceNet相结合,并将ContextualTransformer模块应用到人脸识别任务中㊂一方面从提高人脸识别判断速率进行实验,另一方面从提高人脸准确率入手,解决人脸识别现实工程中面临的两大问题㊂分别在LFW数据集和自采集的中国人脸数据集上进行测试,实验结果表明均存在明显提升,说明该改进方法具有一定泛化能力㊂CN-Face数据集已经在github中进行了开源(https://github.com/Planktonwithcrab/face-dataset-of-CN㊂
当前开源数据集中,中国人脸乃至亚洲人脸极
56
第3期陈经纬,等:融合MobileNet与ContextualTransformer的人脸识别研究

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。