吴 凯,沈文忠,贾丁丁,梁 娟
上海电力大学 电子与信息工程学院,上海 201200
随着社会的发展,生物特征识别[1-2]变得越来越重要,尤其在当前新冠疫情的冲击下人脸识别过安检、火车站等公共场合需要摘口罩进行身份识别,这就变得非常不方便,而掌静脉隐藏在人体皮肤表皮内结构复杂难以复制,因此具有较强的稳定性、隐蔽性、防伪性、方便性等优点,因此掌静脉识别[3]取代人脸识别成为趋势。
掌静脉识别流程包括手掌静脉图像的采集、图像预处理、特征提取、识别验证四个阶段。近年来,一些研究者对于掌静脉特征提取与识别做了很多的研究,大概可以分为三类:一是基于结构特征的方法,如通过尺度不变特征变换(SIFT)[4]提取掌静脉点特征进行识别;二是基于子空间的方法,如应用于双方向的二维线性判别(LDA)[5]、主成分分析法(PCA)[6]将图像投影或变换到一个低维空间进行表示和匹配;三是基于纹理特征的方法,如采用局部二值化(LBP)[7]提取特征、Gaussian Random[8]、Gabor 滤波器[9]等方法提取掌脉纹理信息然后编码进行匹配识别。上述传统的方法需要人工设计特征、特征提取和识别准确率也不高,如在低质量图像上识别效果不佳,容易受噪声、光照等因素的影响使用一些降维的方法也可能会漏掉重要的信息[10-13],因此传统方法提取效率和精度非常低。
近年来随着深度学习发展,卷积神经网络在静脉提取方面发挥作用。Li 等[14]将空间特征和纹理特征相融合用在掌纹识别上,但是计算复杂度大。Wang 等[15]把多加权共现描述符编码用于静脉的提取和验证,在精度和等错误率EER上有显著的提高,但是网络存在训练困难且不稳定的问题。Ahmad 等[16]研究基于手掌静脉的人体识别轻量级隐私保护模板生成,降低了分类误差有较好的表现,但是图像需要预处理耗时较长。Thapar等[17]提出使用三重损失和自适应挖掘训练手掌静脉认证暹罗网络,在训练耗时和识别准确率上有一定提升,但是识别结果容易受到图像质量的影响。
针对上述问题,为了进一步提升识别精度,本文设计了结合Transformer Encoder和CNN并运用扩大决策边界的损失函数AAM-Loss(additive angular margin loss)的掌静脉特征编码识别网络PVCodeNet。为了说明该网络突出的识别性能,本文在图像预处理、编码特征向量维度、损失函数参数设置、消融实验等方面对提出的PVCodeNet进行细致地研究和讨论。
为了使实验的掌静脉图像满足特征提取的需求,需要对数据集中的掌静脉图像进行预处理,提取出感兴趣区域ROI(region of interest)。掌静脉图像预处理主要包括关键点定位、ROI 提取、图像增强等步骤。本文对掌静脉图像数据集预处理流程如下所示。
经过对整个手掌图像进行分析后发现,由于手掌图像亮度高,背景图像亮度低,两者之间的像素值差异明显,为了提高定位的准确性,把手掌和背景的连接区域作为关键点的候选区域,最终选择以手掌的每个手指间隙作为关键点参考。如图1(a)所示,选取食指与中指间隙A、中指与无名指间隙B以及无名指与小指间隙C作为手掌关键点。由于关键点周围像素占原图比例很小很难做到一次定位精准,因此借鉴人脸关键点定位网络MTCNN 采用多级检测定位的思想对手掌关键点进行定位,这样定位精度更加准确。
图1 关键点定位和ROI提取Fig.1 Key point location and ROI extraction
ROI提取即感兴趣区域的提取。ROI提取中,先以A 点为旋转中心对关键点定位后的图像利用仿射变换进行竖直旋转使线段AC 与水平方向垂直,设AC 线段的长度为m,L设置为20 个像素,再沿线段AC 中垂线方向选取距离AC 线段(L+m/2)长度的点为正方形中心提取边长为m的正方形,这样可以保证提取的是纹理丰富的手心区域,如图1(b)所示的红色正方形区域作为提取的掌静脉ROI区域。
如图2(a)所示,在得到的ROI 图像中,由于静脉与周围组织的区分度不明显,无法直接提取掌静脉信息,因此需要对图像进行增强处理,本文使用CLAHE(对比度受限自适应直方图均衡化)通过增强像的对比度以突出静脉结构的信息,使得静脉纹路清晰可见。增强效果如图2(b)所示。使用CLAHE对比度增强后,图像噪声也得到了增强,噪声对后续的掌静脉特征提取及匹配会产生影响,本文运用中值滤波图像去噪方法来降低图像噪声的干扰。从图2(c)可以看出经过中值滤波处理后,掌静脉图像椒盐噪声几乎被去除干净,图2(c)为中值滤波后输入神经网络的图像。
图2 ROI图像增强Fig.2 ROI image enhancement
最近几年来基于深度学习的生物特征识别研究工作大多基于神经网络的设计,而在损失函数的选取和设计方面没有太多的研究。考虑到基于深度学习的手掌静脉识别任务的特殊性——并不止是经典的分类任务而是以计算特征向量距离或相似度的策略来进行身份鉴别的任务,所以本文设计了Transformer Encoder 和CNN 结合的掌静脉特征编码识别网络PVCodeNet,还对AAM-Loss 进行了研究,并成功应用于PVCodeNet。图3是本文搭建的掌静脉识别流程图。
图3 掌静脉识别流程图Fig.3 Flow chart of palm vein recognition
PVCodeNet借鉴了ResNet18[18]的思想,但是针对掌静脉识别任务的特殊性重新进行了设计,网络结构由1个Transformer Encoder模块和4个改进的BasicBlock组成,PVCodeNet在以下方面做了创新改进:
(1)首次把Transformer Encoder 模块应用于掌静脉识别任务中,在网络初始阶段充分利用Transformer Enconder 编码模块强大的全局特征提取和矩阵并行运算能力快速捕获充分和全面的全局特征信息。
(2)使用改进的残差块ImprovedBlock,如图4 右侧所示,残差块中使用新的深度超参数化卷积Do-Conv代替传统的卷积Conv 使提取的特征更加具有区分性,质量更高。在每个残差块末端加入注意力机制模块NAM,抑制了不显著特征信息的权值,有效提取了在通道和空间域上重要的细节特征信息。
图4 原始和改进残差块Fig.4 Original and improved residual block
(3)使用扩大决策边界的损失函数Additive Angular Margin Loss 取代传统的分类损失函数Softmax 通过增加角度惩罚进行更严格分类,最大程度地分离特征对之间的类间距离,聚合类内距离。
如果在主干网络初始阶段进行特征提取时丢失掉过多的特征信息,就会非常影响识别精度。原始ResNet18为了防止在网络开始特征提取时丢失过多的信息进而影响分类准确率,在网络开始使用7×7的大卷积核捕获更多的特征信息。Transformer Encoder拥有全局的感受野和矩阵并行运算的能力,本文把Transformer Encoder应用于主干网络初始阶段进行特征提取可以快速获取全局的掌静脉特征信息,提取的特征信息更加充分和全面。
进行掌静脉识别时一般用纹理特征进行识别,有些不同个体特征具有高度相似性度,需要更加细微的特征细节进行区分,本文在传统的卷积层基础上增加一个额外的深度卷积构成深度超参数化卷积Do-Conv,使网络呈现一种过参数化状态,增加了网络可学习的参数,因此提取出的静脉特征区分度更大,特征质量更高。为了使网络更大程度的关注在空间和通道上有用的特征信息,残差块末端加入新的规范化的注意力机制模块NAM,通过加入正则化惩罚项来抑制不显著通道和空间特征信息的权值,使网络获得更多注意力关注通道和空间域上重要的细节特征信息。
在进行掌静脉分类时,为了使不同特征样本清晰可分,考虑到不同图像之间类内和类间的约束,尤其对于一些纹理特征比较相似的难以区分的困难样本图像,如果使用传统分类损失函数Softmax Loss 由于分类决策边界不明显就会导致非常容易分类错误,为了更清晰容易地区分困难样本,针对Softmax Loss决策边界模糊问题,本文使用扩大决策边界的损失函数AAM-Loss进行训练更好的聚合同类样本、缩小类内距离,分离异类样本、扩大异类距离。
PVCodeNet 详细网络结构见表1,其对应网络结构如图5所示。训练阶段,做一般的分类任务,测试阶段,去掉最后的分类层,加载保存好的权重,输入掌静脉图像,从自定义的嵌入层输出保存512维的手掌静脉图像的特征向量,即对手掌静脉图像完成了一次特征编码。
表1 PVCodeNet网络结构细节Table 1 Details of PVCodeNet network structure
图5 PVCodeNet网络结构图Fig.5 PVCodeNet network Structure diagram
Transformer 最初是在NLP 领域提出的,近两年来被借鉴到CV领域并且流行起来,本文同样把它借鉴应用于掌静脉图像识别任务中。如图6所示,Transformer Encoder 由两个残差块组成,第一个残差块使用Layer Norm、多头注意力机制Multi-Head Attention和Dropout,第二个残差块使用Layer Norm、多层感知器MLP 和Dropout。Transformer Encoder 利用残差思想有效避免了反向传播过程中出现梯度消失或者梯度爆炸的现象,使梯度反向传播时更加顺利。Layer Norm 的作用和Batch Norm 的作用相同,主要是对特征图进行归一化加速网络的收敛。MLP Block主要是进行特征提取,它是一个传统的神经网络,是为了解决单层感知机无法解决的非线性问题,使用它训练出来的模型非线性拟合的能力会更好。Dropout作用是以一定概率随机丢失一些神经元节点,有效地缓解了过拟合现象的发生,在一定程度上达到正则化的效果。
图6 Transformer Encoder模块Fig.6 Transformer Encoder module
Transformer Encoder 强大的全局特征提取能力主要取决于多头注意力机制(multi-head attention),如图7所示,首先利用卷积运算将整张掌静脉图像分成一个个小patch图像块ai,然后ai分别与随机初始化的变换矩阵wq、wk、wv进行相乘运算得到对应的单头qi、ki、vi,然后再根据使用的head的数目n进一步把单头qi、ki、vi均分成n份得到的多个头,每个头的qi都和自身以及其他任意头的ki、vi做运算,运算公式如公式(1)所示:
图7 Multi-Head Attention模块Fig.7 Multi-Head Attention module
式中,qi代表query,ki代表key,vi代表从ai提取的特征信息,dk代表向量ki的长度。
这样多个头任意两个之间均有特征信息的交互,使每个头都与其他任意一个头的像素信息都建立了特征联系,因此它具有全局的感受视野,可以提取到全局特征信息。运算时它运用的是矩阵并行计算能力,速度也比较快。把它应用在PVCodeNet 初始阶段可以快速地捕获更加充分和全面的全局特征信息,提升了提取全局特征的能力。
本文在传统卷积Conv基础上增加一个额外的深度卷积构成深度超参数化卷积Do-Conv,如图8 所示,M表示卷积核的空间维数,D表示特征的维数,Do-Conv是由深度卷积核J和传统卷积核K卷积形成的新卷积核K′,再与特征图P进行卷积得到最终输出特征O,O=(JT⋅K)⋅P,K′是一种增强的卷积核,因为K′与传统卷积核的尺寸完全相同,所以计算量与传统卷积核是相同的。不同的是,Do-Conv 比传统卷积层Conv 在训练时多了一次深度卷积,这样就会使网络呈现出一种过参数化状态,保证了足够的参数量,用更多的参数训练不但可以提升训练速度,而且可以使网络收敛到更好的参数组合使提取静脉特征更加具有区分性,尤其是对于纹理高度相似难以区分的困难样本提取出来的特征向量区分度更大。它对手掌静脉图像每个通道都进行学习,提取出的静脉纹理特征质量更好,更有区分性。综上所述,Do-Conv 使网络呈现出一种过参数化,增加了网络可学习的参数,加速了网络的训练,而且使网络在保持原有计算量的基础上,提升了分类识别精度的网络性能。
图8 深度超参数化卷积Fig.8 Depth hyper parametric convolution
手掌静脉特征具有很大的相似性,需要更加细微的特征来区分不同的类别,注意力机制可以加强网络对细小特征提取的能力,本质就是通过一系列的权重参数来对图像的重要信息进行加强使网络关注重要有用的特征信息。网络越深,注意力机制捕捉重要的特征信息级别也就越高。如图9 所示,注意力机制NAM 中使用批量归一化BN 中的比例因子γi和λi来衡量每个通道和空间的方差并表示它们重要性,比例因子越大表示空间或者通道的特征越重要。该模块在反向传播时在损失函数中加入了正则化惩罚项来抑制不显著性特征的权值,使网络获得更多注意力去关注权值较大的重要通道和空间特征。BN计算如公式(2)所示:
图9 注意力机制NAMFig.9 Attention mechanism NAM
其中,μΒ、σΒ分别表示小批量Batch的均值和方差,γ和β是可以训练的参数。
通道注意力模块如图9(a)所示,比例因子γi的权重Wi反映出各个通道变化的大小并表示了通道的重要程度。可以这样理解,通道比例因子γi所占的权重Wi越大,该通道的方差就越大,表示通道变换得越厉害,那么该通道中包含的信息会越丰富,显著性重要程度就越大而那些变化不大的通道,信息单一,重要性小。通道注意力机制公式如公式(3)所示:
其中,Wi表示每个通道的权值,F1 表示通道注意力机制输入特征图,Mc表示输出特征图。
在空间注意力中,将BN 公式(2)应用在空间维度,称为像素归一化Pixel Normalization。如图9(b)所示,比例因子γi的权重Wi反映出空间变化的程度并表示了空间的重要性。比例因子γi的权重Wi越大,该空间像素的方差就越大,表示空间变换的越厉害,包含的空间信息越丰富,空间显著性重要程度越大。权重越小表示空间变化越小,所含空间特征信息也就越单一,空间的显著性重要程度就越小。空间注意力机制的计算公式可表示为:
其中,Wi表示空间像素的权值,F2 表示空间注意力机制输入特征图,Ms表示输出特征图。
CBAM、SENET 等传统注意力机制模块虽然捕捉了在空间和通道上的特征,然而缺乏对权重影响因素的考虑,所以不能进一步抑制不显著特征的权值。为了抑制不显著通道和空间的特征,本文使用的注意力机制模块NAM在损失函数中添加了正则化惩罚项,如公式(5)所示:
其中,x和y表示输入和输出,W表示网络权重,l(⋅)表示损失函数,g(⋅)是L1范数惩罚函数,p表示g(γ)和g(λ)的惩罚因子。
通过加入正则化惩罚项来减弱权值较小的不重要的通道和空间特征信息的程度,这样在一定程度上就抑制了不显著特征的权值,使网络在反向传播时集中更多的注意力去关注权值比较大的重要的空间和通道特征信息,提高了反向传播的效率,提取在通道和空间上重要有用的细节特征信息的同时也提高了网络识别的精度。
Softmax 层的输入为最后一个全连接层的输出WTX+b,Softmax Loss可表达为:
为便于分析,将偏置值b置零,将WTX的内积换算成余弦形式,式(6)又可表示为:
其中,xi∈Rd表示第i个样本经过最后一个全连接层的输入特征,表示权重向量的第j列,也可以视为第j类样本的类中心权重向量,C表示样本类别数,N表示每批训练的样本数。
对于掌静脉识别任务,使用余弦相似度衡量掌静脉图像特征向量之间的相似程度从而区分出正负样本对,主要目的是使正样本足够聚集,负样本最大程度分离。Softmax Loss决策边界由于权重W的影响虽然使样本特征大致可分,但是并没有考虑到类内和类间距离的约束,因此它的决策边界是模糊的,决策边界如图10(a)所示,所以用在掌静脉识别任务中分类效果并不好。为了提高识别分类效果,本文使用了扩大决策边界的损失函数AAM-Loss,在Softmax Loss 的基础上,首先对权重向量W和特征向量X的L2的范数归一化,使分类器的决策边界仅取决于特征和权重向量之间的角度,然后乘以一个缩放因子s。最后引入角度固定间隔m,通过特征与相应类中心权重向量之间的夹角约束来增强类内的紧凑型和类间的分离度,使得分类的决策边界更加明显,决策边界如图10(b)所示。AAM-Loss表达式如下:
图10 Softmax和AAM-Loss决策边界Fig.10 Softmax and AAM-Loss decision boundary
其中,s为缩放因子,m为角度间隔。
AAM-Loss 通过增加角度距离进行更严格的分类,对特征向量x进行归一化,这样训练时仅注重从数据中得到的角度信息,无需考虑特征向量的值。不同清晰度图片其特征范数也不相同,高清晰度图片提取出的特征范数大,低清晰度图片提取出的特征范数小,AAM-Loss对特征向量x进行归一化以后,相当于增加了低清晰度图片的权重,使得低清晰度图片获得网络更多的注意力,进行反向传播时,低清晰度的图片会产生更大的梯度,因而有利于网络对纹理特征高度相似难以区分的困难样本的学习。它的决策边界比Softmax 更合理,始终存在m大小的决策边界,这样也使得训练时更容易收敛,同时也使得类内特征更聚拢,类间间距更大。
为了突出说明PVCodeNet 在掌静脉识别任务优越的性能,本文在特征向量维度、损失函数参数设置以及PVCodeNet 在多个数据集进行验证等几个方面进行了详细的实验。首先介绍实验所使用的数据集、实验设置、评价指标等概念。
PolyU该数据集[19]是香港理工大学公开掌静脉数据集,分两个时期采集了250 人的手掌,每个时期每个人左右手分别采集6张,左右手视为不同的类,因此共500类6 000张图像。
SEPAD-PV。该数据集是自己用红外相机采集的108人的手掌静脉图像,每个人左右手在旋转不同角度下在两个时期分别采集10张,左右手视为不同的类,共216类4 320张图像。
Tongji。该数据集[20]是同济大学分两个时期采集的300人的左右手掌纹数据集,每个时期左右手各采集10张,共600类12 000张掌纹图像。
SDUMLA。该数据集[21]为山东大学指静脉数据集,包括106位测试者的手指静脉,左右手食指、中指、无名指各12张图片,共636类7 632张图像。
评价指标。在评价时,采用等错误率EER(equal error rate)作为主要评价指标,EER 是通过动态调整阈值后得到的误拒率FRR(false reject rate)和误识率FAR(false accept rate)相等时的值。FAR 随阈值增大而减小,FRR 随阈值增大而增大,在某个阈值下FAR 与FRR相等时的值就是EER,EER 越低,表示算法的识别精度越高。此外本文还采用分离度DI来统计类内和类间的距离分离度,分离度越大,类内分布越紧凑,类间分布越分散,分类效果就越好。分离度DI的公式如式(10)所示:
其中,μ1和μ2表示类内和类间相似度分布的均值,和表示类内和类间相似度分布的均值。
实验基于Windows10操作系统,GPU型号为Nvidia GeForce RTX 2080 Ti,深度学习框架为Pytorch。
优化器设置为SGD随机梯度下降算法,使用Nesterov动量,动量参数默认设置为0.9。学习率调整策略采用余弦退火算法调整,每10轮作为一次调节周期,共训练120个Epoch。
本文首先使用基准网路在PolyU 数据集上探究了不同的超参数起始学习率LR 和批次Batchsize 组合对精度的影响,以此来确定最优的超参数LR 和Batchsize组合。从表2 实验结果横向来看,随着Batchsize 的增大,EER 指标先变好后变坏,这是因为当Batchsize 比较小而类别数比较多的时候,相邻的Batch 之间的差异比较大,会造成相邻两次迭代的梯度震荡比较严重,不利于网络模型的收敛。当Batchsize 比较大时,相邻Batch中的特征差异过小,两个相邻的Batch 的梯度就没有那么大区别了,整个训练就按照一个方向一直走,容易陷入到局部最优解。从表2 中可以看出当Batchsize 为32时候精度最高,因此Batchsize设置为32。从表2实验结果纵向来看,当LR 为0.1 时精度没有0.01 高,这是因为由于学习率过大在寻找最优解过程中步幅太大直接跳过了最低最优解的地方从而跳到对称轴的另一边,在最优解附近循环徘徊造成网络不收敛。当LR 为0.001 时精度同样没有0.01时高,这是因为在训练后期由于学习率过小导致无法跳出局部最优解的坑就已经收敛,因此起始LR 设置为0.01。图像预处理时,数据增强方式先采用限制性对比度直方图均衡化进行对比度增强,再使用中值滤波去除噪声。数据集划分采用闭集识别,每类随机抽取70%做训练集,剩下的30%做测试集。
表2 不同LR和Batchsize参数组合的结果Table 2 Results of different LR and Batchsize combination
测试算法性能时,不能直接使用损失函数最后的分类层进行分类,而是需要提取分类层的前一层作为特征向量层,根据得到的特征向量再使用余弦相似度进行特征向量匹配,所以特征向量的维度也影响着最终的匹配精度,因此本文在进行消融实验之前,首先使用基准网路ResNet18 在PloyU 和自建库SEPAD-PV 数据集上进行测试,探究掌静脉识别任务中静脉图像编码成的不同特征向量维度对识别精度的影响。
两个数据集的ROI 示例图像如图11 所示。其中特征向量维度分别设置为128维、256维、512维,测试的等错误率EER如表3所示。可以看出,当特征向量维度为128 维和256 维时,在两个数据集上测试得到的结果远远不如512 维的精度高,512 维的EER 分别为1.45%和1.88%,此时等错误率EER 最低,识别精度最高。经过分析,原因是手掌静脉图像中蕴含的纹理丰富,128维和256维无法完整地表达出表征丰富的掌静脉特征信息,512维提取的特征更加紧凑,因此之后的实验都是围绕512维进行展开。
表3 特征维度对比实验Table 3 Comparsion of feature dimension experiments
图11 ROI示例图像Fig.11 ROI sample images
为了证明AAM-Loss 在PVCodeNet 的有效性并找到该损失函数s和m的组合,在不同的实验参数组合下,使用基准网路测试了在PolyU和SEPAD-PV数据集上的EER和TAR水平,实验结果如表4所示。
表4 不同参数组合的EER和TAR水平Table 4 EER and TAR of different parameter combination
由2.5节式(9)可以看出,AAM-Loss有s和m两个参数,为了加速训练并且稳定该损失函数的优化,参考文献[22]参数的设置,s被固定设置为30;并且文献[22]的在大规模人脸数据集上对m的不同设置进行了细致的实验讨论并得出结论,m最优取值范围为[0.35,0.45]。但是为了更好地应用掌静脉识别任务,本文扩大了m的取值范围在两个数据集上对m的不同取值进行了详细的实验评估,m取值范围设置为[0.25,0.75],间隔为0.1。
从表4 可以看出在PolyU 和EPAD-PV 数据集的实验结果指标并没有像文献[22]实验结果那样,随着m取值的增大实验结果的评价指标总体上先变好后变差,而是出现了饱和现象,EER 和TAR 水平在m增加的后期基本不会再变化了,m取值为0.45时,等错误率EER分别为0.26%和0.38%,此时性能表现最佳。经过分析,出现这种现象的原因:无论是掌静脉图像类别数目的多样性还是每个类别样本图像的丰富度,掌静脉数据集均逊于大规模的人脸数据集。在本实验中,即使设置再大的margin裕度,在相对较少的类别和图像总数下,AAM-Loss仍然可以优化得非常好。在实验过程中发现,当m大于等于0.55时,训练过程中震荡幅度比较大并且耗时较长才能收敛,为了保持训练稳定性并且加速收敛,在此后的消融实验中,AAM-Loss的参数设置s和m分别设置为30和0.45。
3.5.1 消融实验
为了进一步验证本文所提算法的有效性和可行性,在PolyU和SEPAD-PV数据集上进行消融实验测试,在两个数据集上用于训练和测试的样本数量以及测试集产生的类内、类间匹配信息如表5所示。实验结果如表6和表7所示。针对掌静脉识别任务,使用常规的ResNet18网络作为主干的基准网络baseline,baseline的损失函数采用分类比较常用的Softmax 函数作为基准的损失函数。在此基础上进行消融实验,逐次添加算法网络中的某些部分来验证这些部分是否起到有助于提升实验性能的作用。
表5 训练及测试样本分布情况Table 5 Distribution of training and testing samples
表6 PolyU数据集消融实验结果Table 6 PolyU dataset ablation experiment results
表7 SEPAD-PV数据集消融实验结果Table 7 SEPAD-PV dataset ablation experiment results
相比于组别1,组别2使用深度超参数化卷积Do-Conv后,在PolyU 和SEPAD 两个数据集上等错误率EER 分别提升了0.49 和0.66 个百分点,分离度DI 分别提升了0.86和1.08,这是因为Do-Conv比传统卷积层Conv在训练时多了一次深度卷积,使网络呈现出一种过参数化状态,用更多的参数进行加速训练可以收敛到更好的参数组合使提取的掌静脉特征区分程度更大。可以这样理解,使用Do-Conv 提取的同类样本特征更相似,异类样本特征更具区分性,提高了提取静脉纹理特征质量的能力。实验结果也证明了使用Do-Conv 后得到了更高的识别精度。
组别3 采用了分类边界清晰的AAM-Loss,相比于组别2 采用的Softmax,从表6 和表7 可以看到,无论是EER 还是分离度DI,在两个数据集上指标均有非常大的提升。这是因为AAM-Loss比Softmax决策边界更明显,AAM-Loss以加性角间距的方式惩罚特征与相应类中心权重之间的角度,主导的优化过程因放大了特征与相应类中心权重向量之间的间隔,而使得类内特征更加聚拢,也使得类间间距更大,可见AAM-Loss 成为静脉识别任务中损失函数较好的选择。
相对于组别3,组别4在网络初始阶段加入了Transformer Encoder模块,在PolyU 和SEPAD 两个数据集上EER 指标上涨了10 多倍,提升幅度非常大。这是因为Transformer Encoder 拥有非常强大的全局特征提取和矩阵并行运算的能力,使用它进行特征编码快速获取了非常充分和全面的掌静脉全局特征信息,在网络起始阶段进行特征提取时捕捉了更为丰富的特征信息,大大提高了识别精度。实验结果也证明,使用Transformer Encoder后指标有了大幅度的提升。
组别5 在组别4 的基础上加入了注意力机制模块NAM,在两个数据集上EER 进一步提升达到了0,实现了最高识别率的突破。这是因为加入NAM 后,网络自适应的关注到了有助于提升识别率的重要掌静脉纹理特征区域,在损失函数中加入了正则化惩罚项通过抑制不显著特征的权值来抑制不重要的特征信息的表达,从而使得网络集中更多的注意力自适应地关注到掌静脉在通道和空间上重要的细节特征信息,这种方式更加灵活。
为了清晰地展示表6 和表7 中组别1 到组别5 的实验指标,本文通过ROC 曲线,如图12 所示,直观地展示了基准算法1到本文算法5在PolyU和SEPAD-PV数据集在不同错误接受率FAR 水平下,正确接受率TAR 随FAR变化时的表现性能的曲线图。当FAR一定时,TAR越大,算法的准确度就越高,性能就越好。从图12总体来看,每加一个消融实验模块,ROC曲线都有性能的提升。从图12(a)和(b)可以看出,本文算法5在两个数据集上的ROC 均是一条平的直线,此时EER 均达到了0,识别精度最高。从图12 还可以得出,无论FAR 取值范围为多少,本文算法5 的TAR 都要明显高于基准算法1的TAR,这意味本文算法具有更高的识别准确率,更适用于掌静脉识别任务。
图12 PolyU和SEPAD-PV数据集ROC曲线图Fig.12 PolyU and SEPAD-PV database ROC diagram
为了更加直观地展示本文算法的优越性能,对PolyU和SEPAD-PV两个数据集分别针对基准算法与本文算法统计了类内和类间余弦距离并绘制出了余弦相似度分布图。图13(a)和(b)中绿色部分为基准算法余弦相似度分布,蓝色部分为本文算法余弦相似度分布。手掌静脉图像的特征向量相似度使用余弦距离进行评估,静脉图像特征向量之间的夹角越小,余弦值就越大,对应的余弦相似度就越高。图13(a)和(b)的左半部分为类间相似度分布统计图,右半部分为类内相似度分布统计图。从图13 中可以明显看出,相比于基准算法1,本文算法的类内相似度分布更加集中,基准算法的类内相似度分布主要在0.4~1 之间,本文算法类内余弦相似度分布在0.8~1 之间,更加接近于理想情况下同类样本余弦相似度为1的分布,降低了在匹配阶段类内与类间模板出现交集,导致类内样本被误识为类间样本的风险。另外,从表5和表6也可以看出,基准网络在PolyU和SEPAD-PV数据集上分离度DI分别为4.72和3.96,本文算法在PolyU 和SEPAD-PV 数据集上分离度DI 分别为9.99和9.97,本文算法的分离度远远高于基准算法的分离度,再次验证了本文算法对于类内、类间样本具有更好的区分度,能更好地控制类内样本与类间样本的分类边界。
图13 余弦相似度分布图Fig.13 Cosine similarity distribution chart
3.5.2 对比实验
为了进一步突出本文提出的PVCodeNet 在掌静脉识别任务中的创新型和有效性,还使用近两年来在CV领域大火的Transformer 系列网络模型和注意力机制NAM 进行了对比实验,在PolyU 和SEPAD-PV 数据集上的实验结果如表8和表9所示。
表8 PolyU数据集对比实验结果Table 8 PolyU dataset comparison experiment results
表9 SEPAD-PV数据集对比实验结果Table 9 SEPAD-PV dataset comparison experiment results
组别1 使用Vit(Vision Transformer)进行了基准的测试实验,在两个数据集上的EER指标分别为1.81%和1.96%,组别4 在组别1 基础上在Vit[23]的每个编码块末端加入了NAM模块,EER提高了0.28和0.32个百分点,分离度DI 提高了0.60 和0.62 这是因为加入NAM 后捕捉了静脉纹理的细节特征,组别2 在组别1 基础上使用了带有滑动窗口的Swin-Transformer[24],EER 和分离度有了大幅度 提升,这是因为Swin-Transformer使用了滑动窗口后特征信息之间的交流更加充分。组别3在组别2基础上使用了最新的借鉴ResNet和Swin-Transformer思想的的ConvNext[25],从EER 和分离度上来看,识别效果均有一定程度的提升。组别5和组别6在组别2和组别3 的基础上加入了NAM 模块后,等错误率EER 和分离度DI有了大幅度提高,再次证明了NAM模块在捕捉掌静脉纹理细节特征任务的适用性。
与表6和表7对比后发现,表8和表9使用Transformer系列网络模型在PolyU 和SEPAD-PV 数据集进行实验后总体得到的效果并不是非常好,评价指标结果与表6和表7相差很多。经过分析发现,出现这种现象的原因:纯Transformer系列的网络模型只有在大规模数量的数据集上才能表现出优越的性能,无论是掌静脉图像类别数目的多样性还是每个类别样本图像的丰富度,掌静脉数据集均逊于大规模的ImageNet数据集。另外,掌静脉图像中纹理信息占原图比例比较小,如果使用Transfomer系列的网络模型,会过度地把背景噪声特征信息和纹理特征信息融合,这样提取的特征比较冗余,噪声特征信息会对匹配识别产生较大的干扰,可见Transformer 模型表现性能的好坏也是需要结合特定的场景数据集下才能决定的。并且还发现Transformer系列的网络模型用在小规模数量的数据集上尤其是在训练后期,模型是很难收敛拟合到一个比较理想的效果,优化得并不好。而本文提出的CNN和Transformer结合的PVCodeNet只需在小规模的PolyU 和SEPAD-PV 数据集上就可以优化得非常好,从表8和表9的组别7也可以看出,本文算法的EER 达到了0,实现了最高识别率的突破,无论是EER还是分离度DI都远远高于其他组别Transformer系列的网络模型,再次证明了PVCodeNet在掌静脉识别任务中的创新型和有效性。
为了验证本文设计的网络PVCodeNet的泛化性能,还在具有相似纹理特征的掌纹数据集Tongji、指静脉数据集SDUMLA 上进行了实验测试,两者数据集ROI 图片示例如图14所示。在两个数据集上用于训练和测试的样本数量以及测试集产生的类内、类间匹配信息如表10所示。
表10 训练及测试样本分布情况Table 10 Distribution of training and testing samples
图14 ROI示例图像Fig.14 ROI sample images
从图15 ROC 曲线图可以看出,在数据集Tongji 和SDUMLA 上ROC 曲线下面积AUC 指标达到了1,等错误率EER 达到了0,实现了最高识别准确率的突破,表现性能十分优越,同样说明了本文算法得到的类内样本分布十分紧凑,类间样本分开非常明显,类内、类间样本具有非常好的区分度,能更好地控制类内样本与类间样本的分类边界。同时证明了本文设计的网络PVCodeNet对于指掌静脉、掌纹这样纹理信息具有很好特征提取能力和泛化性能,说明了本文设计的PVCodeNet 的有效性。
图15 Tongji和SDUMLA数据集ROC曲线图Fig.15 Tongji and SDUMLA database ROC diagram
本文的算法性能与其他的算法的性能进行对比,对比结果如表11所示。本文使用PVCodeNet进行特征提取后取得的EER优于其他算法,证明了本文PVCodeNet在掌静脉识别任务方面的有效性。Zhou 等[26]采用领域匹配变换提取特征再利用汉明距离进行匹配在PolyU数据集上等错误率EER 达到了0.21%,Zhang 等[27]基于纹理编码和Gabor 过滤器进行特征提取使用汉明距离进行匹配EER 为0.012%,Kuzu 等[28]微改特别深的网络Densnet161 然后利用迁移学习的方法加载预训练权重在PolyU 数据集上进行测试EER 达到了0.006%,Horng等[29]基于ResNet 和mobilenet 搭建的MPSNet 在PolyU数据集上EER 指标达到了0.011%,Shao 等[30]使用孪生神经网络在PolyU 数据集上EER 达到了0.1%,Edwin等[31]使用生成基于样式的手掌静脉合成图像以创建大规模数据集进行测试EER 达到了0.25%,David 等[32]使用评估基于手掌静脉图像的标准和榆树测试EER达到了0.12%,Jia等[33]使用3D网络在PolyU数据集上进行测试EER 达到了0.08%,Babalola 等[34]基于纹理和CNN 进行融合进行测试EER 达到了0.14%,Sun 等[35]提出了基于NPE和KELM在PolyU数据集上EER达到了0.09%,而本文提出的PVCodeNet 在PolyU 和SEPAD-PV 数据集上进行实验测试等错误率EER均达到了0,实现了最高识别准确率的突破。本文算法整体识别效果好的原因可以归结为以下几点:一是因为本文算法在ROI提取时使用多级检测网络MTCNN进行关键点定位,关键点定位准确就保证了ROI区域提取的准确性,二是使用图像增强方法对ROI 区域进行纹理增强使掌静脉纹理更加清晰。三是本文还针对掌静脉识别任务特别地设计了CNN和Transformer结合并运用了可以扩大决策边界的损失函数AAM-Loss 的特殊网络结构—PVCodeNet。综上所述,本文算法更适用于掌静脉识别任务。
表11 与其他算法的实验结果对比Table 11 Comparison with other experimental results
为了实现对静脉纹理特征准确的表达,针对掌静脉识别任务特点,本文提出了一种新的掌静脉识别网络PVCodeNet,该网络结合了Transformer Encoder、改进的BasicBlock和可以扩大决策边界和增加角度的AAM-Loss。本文进行多组对比实验,评估了损失函数AAM-Loss参数、特征向量维度等因素对PVCodeNet的性能影响。结果发现,PVCodeNet在多个数据集上均取得了卓越的识别效果。本文得出结论:
(1)在PVCodeNet网络初始阶段加入了Transformer Encoder编码模块快速捕获了非常充分和全面的全局特征信息,识别精度指标EER大幅度提升。
(2)改进的BasicBlock 使用深度超参数化卷积Do-Conv取代传统卷积Conv进行特征提取,提取的掌静脉特征区分度更大,特征质量更高,残差块末端加入注意力机制NAM模块提取了掌静脉在通道和空间域上的细节特征,关注了有用的掌静脉纹理特征的信息。
(3)由于掌静脉纹理包含的特征信息丰富,使用128维和256维的编码没有将特征信息充分展示出来,而将掌静脉信息编码成512 维的特征向量极大地提高了识别的效果,更加适用于掌静脉识别。
(4)AAM-Loss 由于可以增加扩大决策边界聚合同类样本,比Softmax Loss更加适用基于特征向量相似度匹配的掌静脉识别任务。
目前掌静脉识别任务的算法优化还处在探索阶段,在未来的研究工作中将集中更多的注意力在特征提取、决策边界分类和困难样本优化策略的研究,还将对算法在嵌入式设备上移植部署进行深入的研究。