融合注意力机制和残差网络的掌纹识别

2023-12-13 13:29王健行武家逸赵鑫峰
沈阳大学学报(自然科学版) 2023年6期
关键词:掌纹残差注意力

于 霞, 付 琪, 薛 丹, 王健行, 武家逸, 赵鑫峰

(沈阳工业大学 信息科学与工程学院, 辽宁 沈阳 110870)

作为现代社会进行个人身份验证的重要解决方案之一,生物特征识别可以根据个人的生理或行为特征有效地识别个人[1]。随着研究人员对人体生物特征信息研究的逐渐深入,出现了许多生物识别技术,如人脸、指纹、掌纹和步态识别技术等。近年来,掌纹识别受到了极大关注,常被用于身份鉴别、电子控制和安全检查[2]等。

掌纹中包含丰富的内部特征,包括主线和皱纹及大量基于脊线和细节点的特征,这些特征具有永久性和特定性。此外,相较于指纹识别,掌纹识别具有更多细节,同时具有用户友好性及非接触性等特点[3-4]。相较于人脸识别技术,掌纹识别可以不受面部遮挡、环境光照等因素影响,并能更好地保护个人隐私,因此掌纹识别应用于个人身份验证时更易于被各种用户接受。近年来不少研究聚焦于掌纹识别技术[5]。

在掌纹识别研究中既包含对掌纹纹线进行提取进而识别的传统方法, 也有利用神经网络的深度学习方法。 根据掌纹图像的分类可以大致分为高分辨率掌纹识别、 低分辨率掌纹识别和三维掌纹识别方法。

刘玉珍等[6]提出结合混合滤波LBP(local binary patterns)和主成分分析PCA(principal component analysis)的特征提取,对传统算法进行改进,最后利用欧氏距离进行匹配。岑瑶等[7-8]提出将分类正交匹配追踪算法稀疏表示与HOG(histogram of oriented gradient)特征相融合,通过计算HOG特征矩阵与每类重构图像的最小残差得到分类结果,识别率达到98%,又提出了基于MB-LBP和HOG算法分别提取纹理、边缘特征,将2种特征串联融合,识别率可达到99.36%。张善文等[9]提出加权自适应CS-LBP与局部判别映射相结合的掌纹识别方法,在掌纹公开数据集上正确识别率达到97%以上。徐海华等[10]提出应用分块ST(suplace type)法对掌纹图像进行特征提取,利用高斯滤波器对掌纹感兴趣区域去除高频噪声,将感兴趣区域图像分成若干块,所有子块特征量组合成总体特征向量,利用最近邻分类器进行分类后识别率达到95.5%。

刘雪微等[11]提出基于CNN(convolutional neural networks)的多光谱掌纹识别方法, 利用ResNet网络进行特征提取, 融合之后利用SVM(support vector machine)进行分类。 郑仕伟等[12]利用AlexNet来提取掌纹特征,再送入分类器得到结果。 陈杰等[13]使用CNN直接将采集的原始图像进行输入并识别,克服了传统识别精度差的缺点 。陈虹旭等[14]将卷积神经网络引入掌纹识别中,通过利用Hausdorff距离匹配特征向量, 相比于PCA、LBP等传统方法识别率更高。吴碧巧等[15]以VGG16为基础网络, 采用投票的方式得到高分辨率掌纹图像的准确率。 李广平等[16]提出利用残差网络技术提取掌纹特征,对掌纹进行分类,正确分类精度达到96%。 Shao等[17]引入MoblieFaceNets的深度哈希网络(DHN)来提取区分性特征, 提高了特征和匹配的效率, 同时目标网络对未标记的目标掌纹图像具有自适应性。当前基于神经网络的掌纹识别算法研究已经取得了一定成功,但相关研究对掌纹细微纹理特征利用率偏低, 导致实验不能取得较高的准确率,迭代速度较慢, 也缺乏对基于不同样本集的实验迭代和结果分析。

针对上述问题,本文给出一种结合高效通道注意力机制的改进残差网络模型以提高掌纹细微纹理特征利用率。该模型在ResNet 50的基础上对残差模块进行改进,加入卷积快速通道,减少网络模型内部计算量,减少模型训练迭代时间,引入高效通道注意力机制(efficient channel attention, ECA)模块,提高了细微特征提取性能,研究对该模型进行评估,同时将该方案与经典机器学习掌纹识别方案进行对比分析。实验结果表明ECA模块的引入进一步增加了掌纹感兴趣区域内细微纹理特征的利用率,且相较于传统机器学习掌纹的纹理特征提取与识别方案,本文的模型能较好地实现基于掌纹细微纹理特征的特征提取与识别,不仅提高了识别准确率还拓展了掌纹识别问题研究思路。

1 相关理论

1.1 残差网络原理

残差网络ResNet可解决网络深度增加导致的梯度消失和网络退化问题[18]。如在CNN网络中加入XGBoost[19]、使用基于光流的CNN[20]、3DCNN[21]处理图像数据等。残差网络经过堆叠可以构成一个很深的网络,深层神经网络难以训练,残差学习框架可以减轻网络训练,容易优化,可以显著增加网络深度来提高准确率,很好地解决了网络深度带来的训练困难的问题,它的网络性能(完成任务的准确度和精度)远超传统网络模型。

残差网络模块分为常规型残差网络模块和瓶颈型残差网络模块,模块结构如图1所示。一个残差学习模块[22]包含多个卷积层,这些卷积层对这个残差学习模块的输入数据进行变化,将输入数据依次送入卷积层Conv、非线性激活函数层ReLU和批处理归一化层BN,经过多个残差单元最后得到输出结果。在残差网络中,当一个构建块的尺寸与下一个构建单元的尺寸不匹配时,必须使用快速连接即投影快捷方式。加入shortcut结构,相当于在每个block中又加入了上一层图像的全部信息,一定程度上保留了更多的原始信息,同时保留了一些简单的特征用于判断,变得省时。此外,加入shortcut结构后相当于一个集成模型,输出的结果是前面各个block及其组合一起得出的。可以把ResNet网络看成多个子网络并行,是一个做了不同层次上的特征组合的中等深度的网络。

(a) 常规型(b) 瓶颈型

1.2 高效通道注意力机制

注意力机制模块被提出并广泛应用,基于通道注意力机制的激励和压缩网络的SENet[23]模块、基于空间注意力机制的SGE[24]模块、基于通道和空间双重注意力机制的CBAM[25]模块等已被提出并得到广泛应用。相比较于以上注意力机制网络,高效通道注意力机制ECANet[26]网络更加轻量级,同时提高了特征提取性能。提出了一种不降维的局部跨通道交互策略和一种自适应选择一维卷积核大小的方法。

相关研究证明通道注意力机制在改善深度卷积神经网络性能方面具有巨大潜力。然而,大多数现有方法致力于开发更复杂的注意力模块以实现更好的性能,这不可避免地增加了模型的复杂性。例如SENet中的通道注意力模块,在给定输入特征的情况下,对每个通道单独使用全局平均池化,经过两个全连接层,使用Sigmoid函数来生成通道权值。两个全连接层的设计是为了捕捉非线性的跨通道交互,其中包括降维来控制模型的复杂性。降维对通道注意力预测带来了副作用,捕获所有通道之间的依赖是低效的,也是不必要的。而ECA模块是一种不降维的局部跨通道交互策略,有效避免了降维对于通道注意力学习效果的影响,只涉及少量参数,同时带来明显的性能增益。既避免了SE模块降低维数,又有效进行跨通道交互。跨通道交互可以保持性能,同时显著降低模型复杂度。

高效通道注意力机制结构如图2所示,当模块接收到H×W×C大小的特征图时(H为输入图片高度、W为输入图片宽度、C为输入图片通道数),首先在不降低维度的情况下使用全局平均池化层获取聚合特征,通过一个可以权重共享的一维卷积进行学习,其中一维卷积涉及到超参k,就是卷积核尺寸,它代表了局部跨通道交互的覆盖率,通过通道维度C的映射自适应地确定,再通过激活函数Sigmoid进行权值重分配,最后将后一个1×1×C特征图与原特征图进行聚合,得到新的注意力特征图。极大提高了模型学习注意力的性能。

图2 高效通道注意力机制结构Fig.2 Efficient channel attention mechanism structure

不降维的局部跨通道交互策略可以通过非线性映射自适应一维卷积来完成信息交互。如式(1)所示。

w=σ(Ck(y))

(1)

式中:w为权重;σ表示非线性映射关系;Ck表示k个参数信息的一维卷积;y表示输入。一维卷积的权重之间是交错的,即相互跨通道的,同时又是一组一组存在的,一组中权重的多少取决于卷积核k的大小。

自适应确定k的方法如下:

(2)

式中:ψ(C)表示对通道数C进行线性映射关系;k为内核大小,表示跨通道交互区域;C为通道数;|t|odd表示最近邻奇数;γ表示线性映射的斜率,取值为2;b为线性映射的截距,取值为1。

2 融合注意力的残差网络框架

2.1 改进的残差网络模块

原始网络以ResNet 50为基础,采用残差网络中的瓶颈型残差模块,其残差单元由3个卷积层依次构成,分别是1×1、3×3、1×1, 第一层1×1卷积的作用是对通道数进行改变,这种改变可以使第二层3×3的卷积获得相对较低维度的输入,进而减少参数量,从而提高计算效率。瓶颈型结构如图3所示。在图3(a)中,当残差单元中输入通道数和输出通道数不一致时,需要在快速连接处加入1×1卷积、再通过批规范化改变特征图维度。在图3(b)中,当残差单元中输入通道数和输出通道数一致时,可以直接通过快速连接进行元素相加。

(a) 输入输出通道数不一致(b) 输入输出通道数一致

原始残差网络在主路径上有太多的非线性函数,例如激活函数ReLU,会阻止信息传输,造成掌纹细微纹理特征不能被有效识别,所以通过在网络结构中加入一些条件来控制BN和ReLU的位置达到优化网络信息传输效率,进而提高掌纹细微纹理特征利用率。

由于ReLU激活函数在负数部分恒为0,会导致一些神经元无法激活,因此使用LeakyReLU函数替代原始的ReLU函数,LeakyReLU具有ReLU激活函数的所有优点,同时能够解决神经元死亡的问题。

原始的ResNet 50有4组大模块,每组分别为3、4、6、3的小模块,每个小模块里有3个卷积,本文将每组中的残差模块分为开始模块、中间模块和结束模块。

在开始模块中尾部的BN不做LeakyReLU,并对原始Conv Block中的投影快捷方式进行改进,在1×1的卷积之前添加3×3的最大池化层,步长为2,目的是将所有像素信息考虑进去,提高信息的利用率,如图4所示。

图4 改进残差网络中的开始模块Fig.4 Start module in improved residual network

每组分别包含1、2、4、1个中间模块,开始模块尾部的BN不做LeakyReLU,可以作为中间模块的输入标准化处理,故中间模块的第一个BN被消除,如图5(a)所示。第2、3组不只有一个中间模块,接在中间模块后的模块在卷积前做批标准化和激活函数LeakyReLU,记做Intermediate×Block,如图5(b)所示。2种中间模块尾部都不做批标准化处理,也不添加激活函数LeakyReLU。这种改进方案不会增加模型的复杂性,同时会提高信息的利用效率,解决信息损失和信息流动的问题。本文将改进模块之后的网络记做MNet。

(a) 改进残差网络中的第1组(b) 改进残差网络中的第2、3组

在结束模块的主线位置添加了BN和LeakyReLU,作为投影快捷方式支线信息的数据分布处理和非线性处理,提高模型的学习能力,如图6所示。

图6 改进残差网络中的结束模块Fig.6 End module in improved residual network

2.2 框架结构

SENet、CBAM等方法虽然可以获得更好的性能,但是会产生参数量较大的问题。为了克服性能与复杂度权衡的悖论,选择在改进的残差网络的基础上添加ECA模块,添加ECA的模块分别为Start ECA Block、Intermediate ECA Block、Intermediate×ECA Block和End ECA Block。网络总体框架结构如图7所示,输入经过数据处理的掌纹图片,通过7×7卷积核进行卷积、批标准化、激活函数操作提取全局信息,去除原始ResNet50中的最大池化后,直接通过4组残差高效注意力机制模块,经过训练后得到图像的高层次特征,其中经过48次卷积和16次注意力训练操作,最后经过全局平均池化、Dropout层、全连接层,利用SoftMax函数进行分类操作。添加Dropout层的主要作用是在神经网络训练过程中防止模型过拟合,更改网络层的概率参数,使得网络随机丢弃一些隐层神经元。

图7 网络总体框架结构Fig.7 Overall network framework structure

3 实验、优化与分析

3.1 实验数据准备

掌纹数据集分为接触式掌纹数据集和非接触式掌纹数据集,接触式掌纹数据集是由专业采集设备获取的掌纹图像或通过固定手掌位置的设备采集到的掌纹图像组成,具有分辨率高的特点。随着科学技术的不断发展,智能手机的拍照功能不断优化,可以实现不需要特殊设备就可以进行手掌图片采集,非接触式掌纹数据集更加适合科研人员构建数据集,具有方便快捷、成本低的特点,尤其可有效防止由接触带来的卫生问题,但是分辨率还需提升。

3.1.1 公开掌纹数据集选取

本文采用4个公开掌纹数据集用于实验对比,PolyU II[27]是香港理工大学采集的公开数据集,采集方式为接触式采集,数据集包含386个手掌,一共包含7 752张图像。TJU[28]是由同济大学采集的掌纹数据集,采集方式为非接触式,数据集包含600个手掌共12 000张图像。IITD[29]数据集由印度新德里理工学院的460名志愿者提供的2 601张非接触方式采集到的手部图像组成。CASIA[30]数据集由中国科学院自动化研究所创建,采用非接触式方式进行采集,共包含624名志愿者提供的5 502张掌纹图像。

3.1.2 自建非接触掌纹数据集

自建掌纹数据集采用非接触方式,图像均由智能手机拍摄,不限制手机型号,背景采集分为单一背景和复杂背景,采集手势为四指并拢,方向朝上,大拇指向外自然张开,手部位置允许有一定平移,构建的掌纹图像库共采集200个人的手掌图片,其中左右手分为两组,单个手掌采集20张图像,共有400个不同手掌的8 000张掌纹图像。经预处理归一化为1 600×1 200像素的图像,采集的手掌图像如图8所示。经过图像灰度处理、提取掌纹感兴趣区域得到224×224像素的掌纹图像。

图8 自建掌纹数据集样例Fig.8 Example of self built palmprint dataset

3.2 评估指标

在评估模型时采用准确率(accuracy)、召回率(recall)、综合评价(F-measure)3种评估指标。其中TP是正确预测的样本,FP是其他类别被判定为当前类别的样本,FN是当前类别被错误判定为其他类别的样本,TN是其他类别样本被判定为其他类别样本,P是模型预测为正样本的正确个数除以模型预测为正样本的总数,准确率、召回率、综合评价的计算公式可分别由式(3)~式(5)表示。

3.3 参数设置与优化

在模型训练过程中,对模型参数进行预设置,设置批处理大小为32,迭代次数为50,正则化系数为0.01,初始学习率为0.01,因为随机梯度下降法(stochastic gradient descent, SGD)可能会被困在某些鞍点,所以在训练中使用自适应优化算法代替SGD优化算法。

为了计算输入和目标之间的损失,在反向传播期间将成对的掌纹图像输入网络中,交叉熵公式定义为式(6)。

(6)

交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。交叉熵在分类问题中常与SoftMax相结合,SoftMax将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。

3.4 算法对比

基础模型对比实验采用准确率作为评估标准对模型性能进行定量评估。将ResNet 18、ResNet 50、ResNet 101在4种公开掌纹数据集上进行对比,实验结果见表1。

表1 基础模型准确率对比实验结果Table 1 Results of comparison experiments on accuracy of basic models 单位: %

将3种网络ResNet 18、ResNet 50、ResNet 101的模型存储空间进行对比,模型存储空间如表2所示。可以看出存储空间越大模型复杂度越高、收敛速度越慢,ResNet 18虽然存储空间最少、收敛速度最快,但只在PolyU II数据集上取得了最好的准确率,ResNet 50和ResNet 18相比虽然在存储空间上有所增加,但在TJU和IITD数据集上取得了最好的准确率,ResNet 101在CASIA数据集上取得了最好的准确率,但是较ResNet 50准确率提升并不明显,并且增加了存储空间,导致迭代时间过长,不满足掌纹识别快速、高效的要求。综上所述,本文基础网络选用ResNet 50,通过对该基础网络的改进提高迭代速度,提升准确率。

表2 基础网络模型存储空间Table 2 Basic network model storage space 单位: MB

为了验证本文给出的ECA-MNet网络模型的优越性,与多种经典网络模型进行对比,表3列举了不同模型对公开掌纹数据集进行识别分类所得准确率、召回率、综合评价值。可以看出在ResNet 50的基础上改进的残差网络(MNet)准确率高于原始网络,证明对残差模块的改进提高了模型的精度,进而在改进的残差网络(MNet)中添加SE、ECA两种注意力机制模块,添加注意力机制模块后准确率均有提升。但添加SE模块使得模型存储空间增加,进而导致收敛速度变慢,存储空间变化情况如表4所示。

表3 不同模型的分类准确率Table 3 Classification accuracy for different models 单位: %

综上,通过对比可以看出本文给出的ECA-MNet网络在TJU、IITD、CASIA三个掌纹数据集的识别准确率优于其他经典网络模型,其他评价指标均有不同提升。在PolyU II掌纹数据集的识别准确率、召回率、综合评价、运行时间较原始网络有所提升。

为了验证注意力模块在训练过程中是否对掌纹图片感兴趣区域进行识别优化,采用注意力机制热力图进行了可视化,可视化结果如图9所示。通过对比可以发现,添加注意力机制后,能更集中地识别到掌纹图片感兴趣区域,起到提高识别准确率的效果。

(a) 原始图片(b) ResNet(c) MNet(d) SE-MNet(e) ECA-MNet

为了验证本文给出的ECA-MNet网络模型的泛化性,表5列举了4种模型对自建掌纹数据集进行识别分类所得准确率、召回率、综合评价。可以看出ECA-MNet在自建数据集上仍能获得较好的准确率,验证了该模型具有很好的泛化性。

表5 不同模型对自建掌纹数据集识别结果Table 5 Comparison of visualization effects between adopting attention module and original network module 单位:%

经过100次迭代训练,EAC-MNet与其他模型相比,收敛速度最快,分类精度最高,运行时间最短。在注意力机制模块通过全局平均池化将2维通道特征实现低维嵌入,通道特征给每个通道赋予不同权重,将特征分清主次,分清重点去学习。在网络改进模块通过全连接层构建网络内部关联性,使用LeakyReLU激活函数增加网络非线性特征,提高模型的泛化能力。Sigmoid函数将输出结果归一化至[0, 1]。

4 结 语

本文给出了一种基于高效通道注意力机制的改进残差网络掌纹识别。在原始ResNet 50的基础上对残差模块进行改进,在提高了掌纹细节信息的利用率的同时,节省了计算时间,解决了传统方法中又参数量大带来的训练时间长的问题,经过18次迭代,MNet在自建掌纹数据集上识别准确率达到97.52%;在此基础上,引入高效通道注意力机制,在16个残差模块内部添加ECA模块,改进学习率,并且进行梯度优化。实验得到ECA-MNet较现有模型在TJU、IITD、CASIA三种公开掌纹数据集分类精度最高,在PolyU II公开掌纹数据集识别准确率达到98.69%,在自建掌纹数据集上识别准确率达到98.21%。可以满足实际应用中对于掌纹识别准确率的要求。

猜你喜欢
掌纹残差注意力
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
基于混合滤波LBP和PCA的掌纹识别
敲窗的鸟
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
平稳自相关过程的残差累积和控制图