基于曲面类型与深度学习融合的三维掌纹识别技术

2022-04-21 02:09张宗华王晟贤孟召宗
电子与信息学报 2022年4期
关键词:掌纹样本深度

张宗华 王晟贤 高 楠 孟召宗

(河北工业大学机械工程学院 天津 300130)

1 引言

在计算机网络通信技术迅猛发展的背景下,如何高效、可靠地认证用户身份越来越受到社会的重视[1,2]。基于密码、口令的传统身份认证方法由于存在易丢失、易伪造等缺点,已逐渐被生物识别技术[3–6]所代替。近年来,掌纹作为一种纹理丰富、采集方式简单的生物特征受到了研究人员的广泛关注,与其对应的掌纹识别技术也在不断发展和进步[7]。

传统的掌纹识别技术多是围绕2维掌纹所展开,2维掌纹虽易于提取,却也易被伪造,所以3维掌纹识别技术应运而生。2008年Li等人[8]设计了一种基于结构光的设备来捕获手掌的3维数据,并进一步建立了由8000个3维掌纹样本组成的数据库。在此基础上,研究者进行了一系列与3维掌纹识别相关的研究工作。Zhang等人[9]提出了一种3维掌纹识别方法,该方法首先基于曲率对3维掌纹数据进行特征提取以获得平均曲率图像(Mean Curvature Image, MCI)、高斯曲率图像(Gaussian Curvature Image, GCI)和曲面类型(Surface Type, ST),然后编码为二进制特征。Bai等人[10]提出了一种新颖的3维掌纹识别方法,该方法将分块ST与主成分分析相结合以提升算法效率。然而,传统的3维掌纹识别技术需要人工设计的特定滤波器以提取特征信息,这种做法更依赖设计者的先验知识,使其精度易受外界环境(如光照、对比度等)和手掌姿态影响。并且传统的3维掌纹识别技术并不能像深度学习一样,可将特征提取和特征匹配融合至一步,增加了不同方法在优化组合时的难度。

目前,人工智能作为计算机科学领域的前沿产物,其主要方面的深度学习在近几年经历了飞速的发展,尤其是在样本识别领域。与传统的识别算法不同,深度学习的方法利用反复使用卷积运算和池化运算以获得越来越复杂的特征图,最后通过全连接层直接输出结果,使得其相比于传统的识别方法而言具有更高的识别精度和更快的识别速度。所以,如何将深度学习运用到掌纹识别中也成为当下学者重点研究的一个方面。但现阶段,基于深度学习的掌纹识别技术大多是围绕2维掌纹所展开。杨冰等人[11]首次提出将深度学习应用到3维掌纹识别中,文中采用的卷积神经网络(Convolutional Neural Networks, CNN)虽然保证了一定的识别精度,但掌纹识别时间会随着网络深度的提高而延缓,并且对于小样本的3维掌纹数据集,网络深度的提高也会加重“过拟合”问题,影响网络的泛化性能。所以本文针对此问题,选取结构上更为简单的CNN为原型,对其进行一系列改进再应用至3维掌纹识别中,并在公开数据集上验证所提方法的识别率和识别速度都有所改进。

2 3维掌纹ST和深度学习融合算法

考虑到3维掌纹识别技术的快速、准确识别要求,而传统方法因将特征提取与分类识别分开进行,导致了不同方法优化组合的难度增大,在一定程度上影响了识别时间和准确率。所以,针对上述问题,本文提出一种基于深度学习的3维掌纹识别方法。首先,利用2维灰度ST图表征3维掌纹信息并划分训练集和测试集;其次,将训练集图像输入改进的CNN进行训练和学习,待训练完成后固定网络参数,并输入测试集图像进行泛化性验证。本文将介绍3维掌纹的ST表示方法、CNN的具体改进以及如何实现两者的结合。

2.1 3维掌纹ST

生物特征提取是3维掌纹识别的首要任务,原始捕获的3维掌纹数据包含大量的浮点数,而想要完成3维掌纹识别,首要的工作就是进行3维掌纹的特征表示。因ST的特征表示方法具有较为出色的区分性,故本文采用2维ST灰度图像作为3维掌纹数据的特征。

2.2 改进的LeNet5网络

2.2.1 LeNet5网络

CNN是一个多层网络模型,常包含卷积层、池化层和全连接层[13]。对于深度学习而言,网络结构越复杂其学习能力也就越强。但是带来的问题是,训练时需要更大的数据集。目前现存的掌纹公开数据集的样本数量相较于深度学习领域还是较少,如果采用复杂的CNN,反而会因过拟合问题使得训练效果更差,并且网络的加深也会延缓识别时间。所以针对此类问题本文以结构较为简单的LeNet5[14]作为参考网络进行了研究。LeNet5最早是由LeCun等人[14]提出的用于手写体字符识别非常高效的CNN,学习参数约为6×104个。相较于参数量大的复杂网络而言,该网络更适用于小样本数据集的学习。但由于原始的LeNet5提出时间较早,网络还存在“梯度消失”、“过拟合”等问题,所以本文针对此类问题进行改进。图1为网络正体框架图。

表1 由曲率得到的9类ST

2.2.2 网络具体改进步骤

基于LeNet5网络的具体改进方法如下:(1)针对网络激活函数进行改进,原始LeNet5网络所用的S型函数Sigmoid和双曲正切函数Tanh会出现“梯度消失”的现象,即网络反向传播时会出现靠近输出层的隐藏层权重更新缓慢或更新停滞,从而无法完成深层网络的训练。而常见的线性整流函数(Rectified Linear Unit, ReLU)数学定义如式(4)

其中,PReLU将通过增加可学习的参数ai, 使得网络自适应当输入小于0时的输出,以此来提高激活函数ReLU的性能。(2)在卷积层和全连接层后添加批量归一化(Batch Normalization, BN)操作。该操作最早由Ioffe等人[16]提出,并证明了该方法在改善“过拟合”问题上具有出色的表现。BN操作通过对输入网络层的数据进行归一化处理(归一化至:均值0、方差1),解决数据在网络层传播时发生的“内协变量漂移”的问题,从而改善“过拟合”现象,并提高网络的收敛速度。(3)利用常应用于多分类问题的Softmax分类器代替原网络最后的输出层,通过输出每个类别的概率值,来确定网络对输入进行的类别预测。本文针对LeNet5网络激活函数发生“梯度消失”、训练后网络发生“过拟合”和网络输出层无法直接输出样本所属类别的问题,利用已在不同模型下证明了测试效果的方法对网络进行3处改进。由于针对的问题不同,所以网络的3处改进之间并不会相互影响,如图1所示。

图1 网络整体框架图

2.3 ST与深度学习融合

相比于平均曲率图像(Mean Curvature Image,MCI)、高斯曲率图像(Gaussian Curvature Image,GCI)、形状指数(Shape Index, SI)等3维掌纹特征表示方法,一方面,ST结合了MCI和GCI优点,具有高度可区分性,且掌纹是种非刚性物体,在数据采集过程中往往容易发生微小的形变,ST的方法具有更高的鲁棒性。另一方面,在特征提取上,传统的基于人工设计的特征提取算法对于不同的掌纹信息(如纹理、方向、细纹、频率),需要利用不同的滤波器进行采集,这就导致了此类“特定”的滤波器并不能充分地提取到掌纹图像的全部信息。而深度学习的优势在于,CNN可通过数据驱动的方式自动地提取特征信息。在此过程中,只需设计网络模型的结构而不用考虑具体的滤波器模板,网络会根据数据集的特点自行学习更为复杂的滤波器以便提取不同的掌纹特征信息。所以结合两者的特点和优势,提出将两者相融合以提高掌纹识别的效果。

现存公开的3维掌纹数据集以点云的形式存储着掌纹的深度数据。传统的3维掌纹识别步骤,首先将3维掌纹数据进行基于曲率的2维图像化表示;其次利用人工设计的滤波器对掌纹图像进行特征提取;最后利用分类器对特征进行分类与识别。目前虽然存在着可直接处理3维点云的深度学习网络,但是该网络大多适用于形状规则物体的分类与识别,显然并不适用于细节特征更为丰富的掌纹数据。并且因点云的无序性,深度学习网络会在处理3维点云时进行“对齐”操作,这样的做法增加了计算复杂度、提高了识别时间,也不符合3维掌纹识别的快速性要求。所以本文保留传统方法中利用基于曲率的2维图像表征3维掌纹数据的步骤,利用曲面类型对3维掌纹数据集进行2维特征表示。再将2维的ST灰度图像输入网络进行训练与测试,通过卷积神经网络代替传统方法中的滤波器和分类器,以达到3维掌纹快速识别的要求。本文所提方法流程图如图2所示,首先对3维掌纹数据集进行训练和测试集的划分;其次将划分好的数据集进行掌纹局部ST特征表示;然后将训练集ST图像输入LeNet5网络进行训练学习,并将训练完成后的网络模型参数固定;最后将测试集ST图像输入网络,验证网络的泛化能力,以完成3维掌纹识别。

图2 所提方法流程图

3 实验与分析

与验证不同的是,识别是一对多的匹配问题,最终决定用于测试的3维掌纹所属类别。本文在公开数据集上进行了3个对比实验,并通过测试集的识别率和识别时间以分别验证ST特征表示方法、所改进网络和两者相结合后的有效性,本文的实验硬件环境为 CPU:Intel Core i5-9400F CPU @ 2.90 GHz;GPU:NVIDIA GeForce RTX 2060;内存:16 GB RAM;深度学习框架:Tensorflow。

3.1 3维掌纹数据库

本文在实验中所使用的公开数据集为香港理工大学3维掌纹数据集[17],该数据集包含了400个不同手掌中收集的8000个样本。每只手掌每次采集10个样本,采集了两次,共20个样本,此20个样本可视为同一类别,两次采集的时间间隔为30 d。

3.2 3维掌纹识别实验

本文识别实验设计如下:首先划分训练集与测试集,将掌纹库中第1次采集的图像用作训练样本,第2次采集的图像用作测试样本。这样训练集和测试集均包含400个掌纹类别,每个类别包含10个图像,共4000幅图像。最后通过统计不同方法的rank-1识别率来衡量方法的性能。为证明本文所提方法的有效性,首先,在使用相同的深度学习网络时对不同的掌纹特征表示方法进行对比试验;其次,在使用相同的掌纹特征表示方法时对不同的深度学习网络进行对比实验,并针对测试样本识别时间进行了比较。卷积神经网络中超参数的选择会很大程度上影响网络的性能,通过实验发现如果将网络的学习率设置为0.001,批次大小设置为100,迭代次数设置为1500步时,最终的测试集在识别率和训练时间上都会达到一个理想的表现。如图3(a)为3维掌纹ST的训练集与测试集准确率的比较,可以发现,训练集会很快地达到100%的准确率,而测试集最终会达到99.43%的准确率,展现出了一个较为理想的泛化能力。图3(b)为训练集的损失。

图3 3维掌纹ST的深度学习结果

3.2.1 掌纹特征表示方法有效性实验

为了验证所提网络的有效性,本文使用改进后的LeNet5网络对掌纹识别进行实验。在提取3维掌纹的ST后,分别提取3维掌纹的MCI, GCI和紧凑型表面类型特征(Compact Surface Type, CST),并与2维掌纹图像进行了对比。通过识别率来评价2维掌纹与3维掌纹识别的优劣以及不同3维掌纹特征表示方法对最终识别效果的影响。表2为2维掌纹及3维掌纹不同特征表示方法的对比实验结果。

通过表2的实验结果得出如下结论。首先,在所提网络下,无论哪种3维掌纹的特征表示方法,其识别率都是要优于2维掌纹图像,即与2维掌纹相比3维掌纹特征具有更好的可区分性。其次,在常见的一些3维掌纹特征表示方法中,当利用ST图像作为3维掌纹的特征表示时,其识别效果最佳,即ST图像可以更好地刻画3维掌纹的结构特征。究其原因,ST结合高斯曲率和平均曲率对3维掌纹特征进行编码,其图像具有高度可区分性,很好地保留了掌纹曲面的3维细节特征,不易受到手掌所处空间位置影响。最后,由于网络相同,不同的3维掌纹特征表示方法在识别时间上并未有太大的差别。

表2 2维掌纹及3维掌纹不同特征表示方法的对比实验结果

3.2.2 深度学习网络有效性实验

为了验证所提网络的有效性,本文使用不同的卷积神经网络对相同的3维掌纹特征表示方法(ST)进行实验。所对比的网络有未改进的LeNet5及文献[11]中所使用的AlexNet。其中,AlexNet是2012年Image Net竞赛冠军,其网络结构被广泛地应用在了不同领域。将不同网络下测试样本的识别率、训练样本的训练时间及测试样本的识别时间作为判断网络性能优劣的评判标准。

表3可以得出如下结论。首先,在测试集的识别率上,未改进的LeNet5识别效果并不理想。而改进后的LeNet5+ST方法要优于文献[11]中提出的AlexNet+ST的方法。其次,在训练集的训练时间上,LeNet5相较于AlexNet要耗时更少。究其原因,LeNet5的网络参数要明显少于AlexNet,网络结构更为简洁。改进的LeNet5仅用时28 ms就可在4000个测试样本中完成快速身份认证,在识别时间上其表现也要优于未改进的LeNet5和AlexNet。最后,在文献[11]中的深度学习方法因可直接输出3维掌纹对于各种类别的概率,使得其与传统方法相比,在识别时间上有着明显的优势。而这也进一步证明了本文所提方法的优越性。

表3 不同网络的对比实验结果

3.2.3 不同3维掌纹识别方法对比实验

为验证使用ST特征表示与深度学习融合的识别方法的优势,将其与几种传统的3维掌纹识别方法进行了比较,结果如表4所示。结果表明,与传统3维掌纹识别方法相比(以分块ST+PCA的方法为例进行对比),本文所提的3维掌纹识别方法在相同的4000个测试样本下减少了7个错误分类的样本,从而提高了识别精度。

表4 不同方法的对比实验

4 结束语

本文提出一种基于ST特征表示与深度学习相融合的3维掌纹识别方法。通过训练后的网络直接提取掌纹图像特征并同时完成分类,克服了传统方法上特征提取与分类识别分开进行时难以优化组合的问题,并缩短了识别时间。实验结果表明,本文提出的3维掌纹识别方法具有较高的识别率,相比于传统方法具有较大提高,并且可在28 ms内完成单个样本的快速识别,满足了准确实时识别的需求。未来,将对基于深度学习的3维掌纹识别技术进行更深入的分析,尝试将迁移学习、元学习等深度学习处理小样本数据集时的新方法与3维掌纹识别相结合,并针对不同网络进行测试、改进,以达到一个更好的效果。

猜你喜欢
掌纹样本深度
余弦相似度保持的掌纹识别算法
四增四减 深度推进
这一年很快就会过去 [外二首]
用样本估计总体复习点拨
深度理解一元一次方程
简约教学 深度学习
规划·样本
敲窗的鸟
随机微分方程的样本Lyapunov二次型估计