基于质量评价与特征提取网络的手指静脉识别

2023-09-04 14:36王欣宇周颖玥李佳阳
计算机仿真 2023年7期
关键词:特征提取手指损失

王欣宇,周颖玥,2,李佳阳,孙 蕾

(1. 西南科技大学信息工程学院,四川 绵阳 621010;2. 西南科技大学特殊环境机器人技术四川省重点实验室,四川 绵阳 621010)

1 引言

相比于密码、钥匙、身份证等传统身份鉴别信息,人体生物特征因具有“随身携带”、随时随地可用、不易遗忘和丢失等优点,使得金融、安防、日常出勤管理、个人物品保管等领域更青睐于通过生物特征进行个人身份识别与验证[1]。相比于指纹和人脸等外部特征,手指静脉属于人体内部结构,不易受到外部环境的影响,并且静脉识别属于活体识别,难以被复制,其安全等级更高[2]。同时,由于手指静脉脉络分布的随机性,使得不同个体之间手指静脉脉络分布存在差异性,即使是双胞胎的静脉分布特征也不相同,这就奠定了手指静脉用于身份识别的基础。

影响手指静脉识别系统精度的主要因素为:采集到的静脉图像质量好坏以及静脉图像特征提取是否有效,二者均是为了保障手指静脉图像中的特征能充分提取与表达。传统静脉图像特征提取方法主要是通过人工设计特征提取算法,例如:提取血管结构的标志性特征(线性形状、曲率、细节点等)来代表静脉脉络的特征[3];利用单维或多维的主分量分析方法寻找静脉图像或所提特征的低维表达[4],从而有效缩减了特征向量的维数;利用静脉图像全局或局部的统计信息来表达图像的特征,以局部二值模式(Local Binary Pattern, LBP)为典型代表[5];另外,一些在计算机视觉上广泛应用的尺度不变特征提取技术(Scale Invariant Feature Transform, SIFT)也被用于静脉特征表达[6]。

得益于神经网络技术的发展,近年来计算机视觉中许多问题都借助于神经网络模型来自适应地捕获目标图像的有效特征,已有学者将典型的卷积神经网络模型用于手指静脉识别问题中[7-9]。例如:陶志勇[7]等在AlexNet模型基础上提出了Im-AlexNet模型并用于手指静脉识别中,有效减小了模型参数量,提高了识别准确率。但由于分类网络输出节点固定,使得识别系统只能识别有限数量的人群。Tang[8]和Xie[9]将度量学习应用于手指静脉识别中,Tang利用预训练模型作为教师网络,轻量级网络作为学生网络,将两者结合为一个孪生网络结构,构造对比损失(Contrastive Loss,CL)量化样本对之间的距离,训练出的网络性能良好。Xie研究了影响网络识别率的因素,通过三元组损失(Triplet Loss,TL)训练得到最优的哈希模型,取得较好的手指静脉识别结果。虽然度量学习解决了分类网络结构的问题,但是CL以及TL对训练样本的利用率还不够高,导致模型效果欠佳。

为了克服上述方法存在的缺陷,基于度量学习的方法,提出采用基于平滑平均准确度损失函数(Smooth Average Precision Loss, Smooth-AP)来训练卷积神经网络的思路,有效提高了网络识别手指静脉图像的性能。并且,构建了如下的识别系统:个人身份注册时,利用训练好的卷积神经网络将输入的手指静脉图像转变为其对应的特征向量并存储,从而完成个人身份数据库的构建;当识别个人身份时,利用网络提取待识别手指静脉图像的特征,并通过与个人身份数据库中已有的特征进行匹配得到待识别人的身份。另外,为了保证网络输入端的手指静脉图像质量达到一定要求,在图像采集后加入了基于神经网络的图像质量判断模块,进一步增强了整个手指静脉识别系统的稳定性和可靠性。

2 手指静脉图像获取及预处理

2.1 手指静脉图像成像原理

手指中动脉与静脉相互伴行,动脉血中的血红蛋白携带氧分子,而静脉血中的血红蛋白不携带氧分子。利用静脉血中失氧的血红蛋白吸收近红外光(波长范围为690~980nm)、同时手指中的其它组织不吸收近红外光的特性来采集静脉图像,在采集到的图像中显现的暗条纹即为手指静脉脉络[10]。

现有的手指静脉图像采集方式分为透射式、反射式和侧射式。透射式采集中,近红外光源和图像传感器分别位于手指两侧,使得成像装置是密闭式装置,避免了外界环境光的干扰;同时近红外光从手指一侧垂直穿过,近红外光的反射和散射现象更少,所以使用透射式采集比另外两种方式采集到的手指静脉信息更多。

2.2 手指静脉图像预处理

通过采集设备获得的手指静脉图像中含有手指以外的背景信息,这些信息对于手指静脉识别来说是无用信息,因此需要将图像中的手指区域,即感兴趣区域(Regin of Interest, ROI)预先提取[11]。同时,采集图像过程中可能出现由于手指按压力度不当、摆放位置不当而导致静脉纹路不清晰或图像整体灰度过暗或过亮的现象[12]。为了筛查质量过差的手指静脉图像,为后续识别提供可靠的图像源,在图像采集后增加了图像质量判别模块。

2.2.1 手指静脉图像ROI提取

手指与背景之间在手指边缘处得以明显区分,通过Sobel边缘检测算子生成手指边缘模板,在模板中取手指上边缘的最低点和下边缘的最高点获得与图片长边平行的两条线段,在原图中裁剪出线段之间的区域即得到手指静脉ROI,具体流程如图1所示。

图1 手指静脉图ROI提取流程

2.2.2 手指静脉图像质量判断

现有的手指静脉图像质量评估方法中,基于手动设计的图像质量特征提取并融合的方法以及基于静脉纹路检测静脉支路点个数的方法存在一定的不足,例如:手动设计图像质量特征提取算法需要组合特征、筛选有效特征等实验测

试,算法鲁棒性有局限,而静脉纹路中的静脉支路点实际上很难被准确检测。所以本文通过训练卷积神经网络来自适应地捕获目标图像的质量判别特征,所选网络为轻量化的MobileNet-V2[13]。通过设置分类层为2个输出概率,使得网络具有判别图像质量为“高质量”和“低质量”的功能。

3 手指静脉图像特征提取与识别系统

3.1 基于Smooth-AP损失函数的ResNet模型

为了有效地提取静脉图像的特征,选择ResNet-50作为特征提取模型。ResNet-50隶属于ResNet类网络,通过直接将输入信息绕道传到输出,保证信息的完整性,使网络只需要学习输入与输出差别的那一部分,简化了学习目标和难度。同时将原ResNet-50最后的全连接层节点数设置为特征向量的维数N(例如:N=512),使网络的输出能作为静脉图像的特征向量,并对该层进行归一化处理,不仅加快了损失值的计算,而且加快了后续特征匹配环节的速度。具体网络结构如图2所示。

图2 ResNet-50网络提取手指静脉特征示意图

在训练网络时,受文献[14]启发,利用一种新颖的Smooth-AP损失函数来训练ResNet-50,其优点在于:Smooth-AP以优化特征向量排序的方式,使得损失值由排序队列中的全部特征向量计算得出,相比以往的度量损失如“Contrastive Loss、Triplet Loss”,Smooth-AP损失函数不仅增多了单次训练中可比较的样本,而且使得训练过程中对各样本的关注度也不同,有利于减少特异性样本的干扰,使网络能更好地学习到静脉图像的特征。基于Smooth-AP的损失函数具体计算如下:

(1)

(2)

(3)

(4)

其中I{·}为单位阶跃函数,即

(5)

显然,当神经网络对手指静脉图像的特征提取能力越强时,与vq同类别的样本被排序得越靠前,APq值则越大。

为了利用APq构造损失函数,并且避免单位阶跃函数给网络训练时的反向传播带来阻断作用,使用平滑的Sigmoid函数来近似表达单位阶跃函数,即将I{·}变为

(6)

将式(6)和式(3)、式(4)代入式(2),得到APq的近似表达,记为SmoothAPq,式子如下

(7)

基于SmoothAPq,定义神经网络模型训练的损失函数为

(8)

当网络训练到损失函数收敛趋近于0时,SmoothAPq值趋近为1,意味着网络所提取到的特征向量vq与其同类的特征向量更一致,换言之:网络的特征提取能力越强。

3.2 手指静脉识别系统

综合以上步骤,所构建的手指静脉识别系统如图3所示。该系统的使用分为注册和识别过程,注册过程包含手指静脉图像采集、预处理、特征提取,识别阶段包含注册阶段所有步骤并增加手指静脉图像特征匹配环节。个人身份注册时,利用训练好的ResNet-50将输入的手指静脉图像转变为其对应的特征向量并存储,从而完成个人身份数据库的构建。当识别个人身份时,待识别的图像经过ROI提取,输入训练好的ResNet-50网络,得到特征向量vq,再将vq与注册库中的特征向量vi一一求取余弦相似度Scos

图3 手指静脉识别系统整体架构图

(9)

Scos越大说明二者之间的相似度越大,取使Scos为最大值的vi的类别作为匹配结果。

4 实验与结果分析

4.1 实验环境、实验数据和评价指标

测试本文所提出的手指静脉图像识别算法涉及到对质量判断模型MobileNet-V2以及特征提取模型ResNet-50的训练与调试,所用的计算机配置如下:CPU为Intel i5-4200H,主频为2.80GHz,系统为Windows64位系统,显卡为NVIDIA GeForce GTX 950M,运行内存为8G。采用Python 3.7作为编程语言,深度学习平台选用PyTorch 1.6。

本文所选用的实验数据集是公开的山东大学手指静脉数据集(SDUMLA)[15]、香港理工大学手指静脉数据集(HKPolyU)[16]以及团队自建数据集(SWUST-FV)。SWUST-FV在采集时,以团队学生为目标对象,包含20位志愿者的左手和右手的食指、中指、无名指,对每根手指采集6张640×480分辨率的图像,共120类。以上三个数据集基本信息总结如表1。

表1 实验数据集的基本信息

使用最常见的分类识别评价指标对模型进行验证,其中包括准确率(Accuracy),受试者工作特征曲线(Receiver Operating Characteristic Curve, ROC),等误率(Equal Error Rate, EER)。准确率的公式定义为

(10)

其中TP代表同类的手指静脉图像匹配成功的个数,FN代表同类的手指静脉图像匹配失败的个数,FP代表不同类的手指静脉图像匹配成功的个数,TN代表不同类的手指静脉图像匹配失败的个数。

通过设置不同的分类阈值得到相应的假正例率(False Positive Rate, FPR)和真正例率(True Positive Rate, TPR),ROC曲线以FPR为横坐标,TPR为纵坐标拟合而成。ROC曲线包含的面积越大,模型性能更好。FPR和TPR的公式定义为:

(11)

(12)

EER代表FPR和假错误率(False Negative Rate, FNR)相等时的值,FNR可由TPR计算得到,它们之间的关系为

(13)

所以在直角坐标系下,经过(0,1)和(1,0)两点的直线与ROC曲线相交的点的横坐标为EER值,EER值越小,模型性能越好。

4.2 实验测试

4.2.1 手指静脉图像质量判断模块性能侧试

该测试中,首先从SDUMLA、HKPolyU数据集中挑选“高质量”与“低质量”的手指静脉图像样本,构建了带标签的质量判断数据集,用SDUMLA-QD、HKPolyU-QD表示。然而,其中“高质量”与“低质量”图像数量并不均衡,后者数量太少,不利于网络训练。为此,通过合成少数类过采样技术(Synthetic Minority Over-sampling Technique,SMOTE)[17]扩增低质量图像数量,使得低质量图像数量增加到与高质量图像数量近似的数量。然后设定MobileNet-V2模型输出节点为2,采用交叉熵作为损失函数训练MobileNet-V2,模型优化器为Adam。选取SDUMLA-QD、HKPolyU-QD中70%的图像为训练集,30%的图像为测试集。不管是用SDUMLA-QD还是HKPolyU-QD数据集进行训练,MobileNet-V2对于“高、低质量”的手指静脉图像的识别率都能达到92%以上。与文献[18-21]中图像质量判断方法作对比,其结果如表2所示。

表2 不同图像质量判断算法在SDUMLA-QD和HKPolyU-QD测试集上的识别准确率对比

由表2可知:本文所提出的基于MobileNet-V2的手指静脉图像质量判断算法在判别静脉图像质量上具有优势效果。

4.2.2 损失函数对比试验

为了验证本文在特征提取网络ResNet-50中所使用的基于Smooth-AP的损失函数的优势,对比了其它两种不同的损失函数应用于网络训练的效果,它们是:对比损失函数(Contrastive Loss, CL)[8]和三元组损失函数(Triplet Loss, TL)[9]。先对SDUMLA、HKPolyU数据集通过随机裁剪的方式进行数据扩增,然后以7:3的比例分别将这两个数据集划分为训练集和测试集。利用三种损失函数分别在SDUMLA和HKPolyU训练集上进行训练,然后在测试集上比较ROC曲线以及EER值。首先在SDUMLA数据集上训练ResNet-50,并在SDUMLA和HKPolyU的测试集上评估的结果如图4所示。可见:对利用Smooth-AP 损失函数训练出的网络评估得到的ROC曲线包含了另外两种损失函数得到的ROC曲线,同时EER值也是三者中最小的。这说明由基于Smooth-AP 损失函数训练的网络能更好提取手指静脉图像特征,而且使用HKPolyU数据集进行评估时,不同损失的EER值均有升高,但基于Smooth-AP损失函数训练的模型升高得最少,说明采用基于Smooth-AP损失函数训练的网络能进行跨库识别,并且迁移能力比由其它两种损失训练出的网络更强。

图4 应用不同的损失函数在SDUMLA上训练,再在SDUMLA和HKPolyU测试集上评估的ROC曲线

在HKPolyU数据集上训练ResNet-50,并在HKPolyU和SDUMLA的测试集上评估也能得到同样的结论。

4.2.3 质量判断算法对于识别性能的作用测试

为了验证本文质量判断算法联合特征提取算法的有效性,对比SDUMLA和HKPolyU不进行质量筛选和进行质量筛选后,EER值的差距,如图5所示。其中Q+S代表识别系统利用了质量判断算法和特征提取算法,S代表识别系统只利用了特征提取算法,SDtrain、SDval代表模型训练和验证是基于SDUMLA数据集,HKtrain、HKval代表模型训练和验证是基于HKPolyU数据集。可见:经过质量评估后,不管是在SDUMLA数据集还是HKPolyU数据集上得到的EER值都有下降,这表明本文提出的先进行图像质量评价与筛选,再提取特征与匹配有助于提升识别系统性能。

图5 特征提取结合质量评价与不结合质量评价的等误率比较

4.2.4 不同手指静脉图像识别算法的对比试验

为了测试本文所提出的手指静脉图像识别算法的性能,选取了文献[22、23、13、24]方法做对比实验。文献[22]提出一种SVDMM方法进行监督学习与分类,文献[23]使用Gabor+LBP算子进行手指静脉识别,文献[9]提出使用卷积神经网络以及哈希离散监督进行编码的手指静脉识别技术,文献[24]基于VGG-16进行手指静脉识别。利用这4种识别算法与本文算法对SDUMLA和HKPolyU数据集中的图像进行识别,结果如表3所示。从性能指标来看,本文所提出的识别算法不管是在SDUMLA还是在HKPolyU上均达到了最优的性能。

表3 不同识别方法的比较

4.2.5 系统集成与测试

将所设计的手指静脉图像识别方法进行系统集成,并利用前面所描述的自建数据集SWUST-FV进行系统性能测试。具体测试过程为:把该数据集中的每根

手指看作一类,将每类图像分为三等份,以其中的两份构成注册人图像库,另外一份构成待识别图像库。将三等分的手指静脉图像集表示为A、B、C,使其交叉构成注册人图像库和待识别图像库,经过特征提取和特征匹配后得到相应组合下的识别率,并且得到平均识别率为99.30%,如表4所示。

表4 在自建数据库上的交叉测试结果

5 结束语

本文针对手指静脉图像采集过程中可能出现“低质量”图像以及识别过程中特征表达不准确、特征提取算法复杂等问题,在手指静脉识别系统中增加了图像质量判断的模块,并提出了基于Smooth-AP损失函数的特征提取网络模型,提高了系统的识别性能。通过在公开数据集上进行实验,证明所提方法能显著提高手指静脉识别精度,同时在进行跨库识别时,其特征提取的迁移性能相比其它损失函数训练的模型要更好。

猜你喜欢
特征提取手指损失
手指背侧复合组织块离断再植
胖胖损失了多少元
手指操
玉米抽穗前倒伏怎么办?怎么减少损失?
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
一般自由碰撞的最大动能损失
笔穿手指
损失
基于MED和循环域解调的多故障特征提取