生物特征识别以其突出的便利性、安全性、普遍性得到广泛应用。指纹识别无疑是最具代表性的一种生物识别技术;在大型的指纹数据库检索犯罪分子指纹时,指纹分类成为加速检索不可缺少的技术。
深度学习近年来飞跃式发展,可训练使用的数据量剧增以及相关芯片技术显著增长;尤其是卷积神经网络(Convolutional neural network,CNN)在人脸识别[1]、目标检测[2]、图像分类[3]等方面均取得了长足突破;基于深度学习的指纹图像处理技术日趋成熟。不论是在指纹特征提取[4],还是指纹图像增强处理[5],亦或是指纹识别[6]等,都进一步证实了深度学习的优越性以及科学性。指纹分类如指纹识别一样并不是新技术,多是利用指纹特有的细节信息,例如,特征点或者特征图等。文献[7]提出将方向角图输入浅层神经网络模型进行指纹分类,证实了浅层神经网络适用于指纹特征提取,得到较好的分类结果;但数据集较小,存在过拟合现象。文献[8]将提取的指纹方向场转换成矢量形式,输入稀疏自编码组成的神经网络进行指纹分类。但是,网络模型加深导致参数量增加,性能与计算量的权衡仍然有待完善。文献[9]采用指纹数据集微调两种不同的网络模型,即CNN和CNN-AlexNet,证实采用多种数据对分类器进行训练可以提高分类准确率以及模型鲁棒性。文献[10]结合迁移学习,用中心剪切后的指纹图像微调VGG大型分类网络,虽然提高了分类准确率,但由于网络模型参数量大,耗时非常严重。融合指纹特征进行分类是众多分类方法中的一个分支,文献[11]提出两种融合分类法,利用纹型和相关特征点的几何关系对指纹先进行粗分类,再进行精确分类。文献[12]则提出一种基于离散傅里叶变换和非线性判别分析的指纹分类法。文献[13]提出一种基于奇异点交互验证和约束非线性定向模型的算法,极大程度地肯定了指纹方向场以及奇异点等特征信息在指纹分类中的作用。这些指纹的相关融合算法证明了特征融合能提升分类模型的性能。但是,上述特征融合分类均是基于传统算法,模型泛化能力不佳,如果指纹质量要求较高,分类模型难以有质的提升。
结合深度学习在指纹领域的发展,本文针对目前指纹分类算法参数较多、所需数据规模大、指纹特征图和神经网络结合时利用不充分等问题,提出一种轻量化多特征融合的指纹分类算法。该算法设计轻量化Finger-SqueezeNet网络训练指纹图像,将指纹图像相应的感兴趣区域(Region Of Interest,ROI)图像输入网络深层,与提取的特征图进行特征补偿融合,最终完成特征融合分类。实验结果表明,本文算法不仅减少了基于神经网络的指纹分类算法的训练参数量,而且通过指纹ROI图像补偿深层特征图的方法,更加充分利用了指纹的特征信息,有效提升了网络的泛化能力。
指纹特征融合分类的整体框图如图1所示。首先,对指纹图像输入Finger-SqueezeNet的前三层进行特征提取,并对该枚指纹进行细化增强处理;其次,求取相应的ROI图像;然后,对ROI图像进行缩放卷积,使得图像大小与Finger-SqueezeNet前三层网络中提取的特征图大小一致,从而完成特征融合;最后,将融合的指纹特征图继续在Finger-SqueezeNet后五层中进行训练得到分类结果。本文Finger-SqueezeNet网络结构是根据CNN演变而来,但却是一种较小CNN模型框架。SqueezeNet网络模型是由文献[14]提出的可极大程度压缩的CNN;在ImageNet数据集上,能够得到与CNN相同准确率的同时,仅需要1/50的参数,而且在不影响模型性能的情况下,使用深度压缩技术可将其压缩至0.5 MB以下。
图1 算法整体框图
Fig.1 Algorithm block diagram
针对指纹分类算法操作繁琐、参数较多、所需数据规模大、且无法充分利用指纹特征信息等问题,本文提出一种轻量化多特征融合的指纹分类算法,设计的轻量化Finger-SqueezeNet网络结构如图2所示。本文的Finger-SqueezeNet网络模型主要是由fire 模块组成,包括:1)总体结构主要由首尾2个卷积层、中间5个Finger-fire模块、以及Finger-fire模块间嵌入的4个池化层组成,最后将学习到的特征输入softmax分类器进行分类。2)在第二个Finger-fire模块后加入指纹图像对应的ROI图像进行融合,对指纹图像不同的处理得到的特征图也不一样,两种特征图互为补偿,最终得到更为丰富的指纹特征向量。
Finger-fire模块是由1个压缩(Squeeze)卷积层和2个混合滤波器的扩展(Expand)层组成。Squeeze卷积层用到的是1×1滤波器,将得到的映射图输入1×1和3×3卷积滤波器混合Expand层。假设H、W、C分别是输入图像的高度、宽度和通道数,S1为Squeeze层的滤波器个数,e1、e2分别是1×1和3×3的滤波器个数,则滤波器个数随着层数逐渐增加,且有e1=e2=4S1,Finger-fire模块输入的特征图尺寸为H*W*C。经过融合,输出的特征图尺寸为H*C*(e1+e2),其相关参数如表1所示。由于ROI图像的获取相对神经网络参数量较小,因而计算参数量时忽略不计。
图2 本文网络结构图
Fig.2 The network structure diagram
表1 FINGER-SQUEEZENET架构规模
Tab.1 FINGER-SQUEEZENET architecture scale
层结构输出大小滤波器大小/步长#1×1 Squeeze#1×1 Expand#3×3 Expand并行网络参数参数量Input image224×224-----Conv1111×111×967×7(96)---4800Max-pool155×55×963×3/2----Finger-fire255×55×128-16646411920Finger-fire455×55×256-3212812845344Max-pool427×27×2563×3/2---较小,忽略-Finger-fire627×27×384-48192192104880Finger-fire827×27×384-64256256188992Max-pool813×13×5123×3/2----Finger-fire913×13×512-64256256197184Conv1013×13×51×1(5)---2565Global-avgpool1×1×513×13----
Relu函数是最常用的激活函数,但存在以下局限。首先,Relu不稳定。当一个非常大的梯度经过Relu并完成更新参数后,神经元将不会对其他数据进行激活;另外,Relu函数会使特征图产生大量的0值,0值不可控,如果可利用这些空的0值,便可减少通道数量,从而降低内存消耗,计算量也会随之减少。Goodfellow等[15]提出的Maxout可以解决上述问题,它是一种非线性激活函数,具有拟合任意凸函数的特点,可以使网络收敛于更好的全局解;而且在保证紧凑表示的同时还能获得稀疏梯度,从而实现变量选择和降维。如果输入为X,那么可以将其分为X1和X2两部分,则输出Y为
Y=max(X1,X2)
(1)
Maxout梯度为
(2)
其中,
由上可知,Maxout函数有较强的非线性变换能力;同时,得到一半值的0 梯度向量,具有较好的稀疏性。
本文对指纹分类主要依据纹型,也就是说,分类过程只需提取准确的纹线走向即可判断出纹型种类,而指纹的ROI即为纹线走向的局部信息,对于纹型的划分有正反馈的增强作用。指纹图像的ROI提取方法众多;为强调指纹的纹型以及方向等主要特征,本文是先求取指纹的细化图像,再进行ROI提取,得到的最终结果是一张细化的ROI图像。指纹图像的细化方法较为传统,最常用的方法是查表法。如果某一黑点在图形的边缘,需要去除,那么它周围的八点必定表现一定的色彩顺序。指纹图像的ROI提取就是指纹图像的分割,在指纹原图像中分割出ROI图像有边缘检测法、区域分割以及阈值处理等方法。本文的指纹图像经过细化处理后,其纹型和指纹走向得到增强,使用阈值处理可以较为明确地分割出指纹的ROI图像。阈值处理就是求取梯度,通过梯度设置阈值判定ROI区域。但是,传统阈值分割法对质量有差异的指纹分割效果参差不齐。为避免这种现象发生,本文选用Usman Akram等[16]提出的基于改进梯度的方法来提取ROI,对梯度求取不再是近似取值,而是分步求和。设输入图像为I(i, j),滤波器大小设为ω×ω,计算出块梯度∂x(i, j)、∂y(i, j),其中,(i, j)是块中心。使用式(3)和(4)计算出梯度分量的平均值Mx和My,即
(3)
(4)
接着,计算梯度偏差Dx和Dy,即
(5)
(6)
求最终梯度偏差D,即
D=Dx+Dy
(7)
根据所求的梯度偏差D提取指纹的ROI图像。当D大于设定的阈值时,则为ROI区域;否则,为需要去除的背景区域。根据ROI的求取过程,得到细化图像以及ROI图像,如图3所示。
有限的数据量对神经网络的训练存在较大制约。为了丰富数据量,避免发生过拟合现象,本文主要从两个方面考虑。首先,引入指纹ROI图像增强网络中深层特征的数据训练,以此强化网络对纹型的敏感度;其次,采用直方图均衡化、旋转、缩放等实现数据集增强,在数据源上缓解问题。由于指纹图像并不具备旋转不变性,故仅在小范围内进行旋转增强。
实验所用计算机CPU为InterCore i3-7350k,GPU为GeForce GTX1080,16G的内存,操作系统为Windows10,所用深度学习框架为Tensorflow,加速库为CUDA Toolkit 8.0。
本文采用NIST-DB4数据集,它包含2000对即4000枚指纹,图像大小为512×512,共有五种类别:弓型(Arch)、左箕(Left-loop)、右箕(Right-loop)、弓帐型(Tented-Arch)、斗型(Whorl);广泛应用于众多指纹识别研究。为了增强网络模型对图像的训练能力,本文在数据库的选择以及处理方面综合数据量、标签和图像质量,最终选择NIST-DB4,每枚指纹都有独立纹型标签,指纹质量在可接受范围内。公信度高,部分实验样本如图4所示。但是,NIST-DB4数据集本身存在17.5%的模糊标签,即同一类指纹分配两个标签的情况,产生模糊标签的是弓型和弓帐型指纹,这是不足之处。为提高指纹质量以及数据量,除了在网络层中融合指纹的ROI图像外,仍然需要对指纹图像进行增强处理。
数据处理主要是图像增强,包括直方图均衡化处理、增强指纹的脊线对比度、适当的旋转等。指纹并不遵循旋转不变性原则,左、右箕旋转后无法进行准确分类,所以为避免模型混淆指纹类类内差距,本文不作水平或者垂直方向上的旋转,而只在小范围(-20,20)内对指纹作旋转操作;在较小范围内(0.8,1.5)进行缩放等。具体操作如下:首先,在原始五类图像中每类800张提取20张共100张,不作任何处理,留作单独分类测试,剩余每类780张,从中提取30%得到每类234张指纹图像;然后,进行直方图均衡化,得到平均每类468张五分类测试数据集,这两部分均不参与网络训练;剩下70%的指纹图像2730张经过10次微旋转和0.8倍缩放增强处理得到54600张训练集;最后,使样本数量增加11倍,部分增强效果图如图5所示。
图3 指纹图像
Fig.3 Fingerprint image
图4 五种类型指纹
Fig.4 Five classes
图5 指纹图像处理
Fig.5 Image processing
对于指纹的ROI图像,为确保网络结构中的融合都是指纹图像与ROI图像一一对应,本文对原始数据集选择测试集后增强的54600张指纹图像进行细化处理,然后求取其对应的ROI图像;接着,通过双线性插值法以及简单卷积,将ROI图像大小调整至55×55,目的是与神经网络前三层提取的特征图进行相同尺寸的融合。
实验中,指纹图像经过求取指纹图像的细化图、ROI图像、以及增强处理后,并在网络中进行融合,得到新的、更有表现力的指纹特征图,再经网络处理得到最终分类。原数据集可以分为F(First rolling)与S(Second rolling)两类。本文主要从最优网络层数、是否融合ROI图、分类准确率等方面验证算法的性能。
在目标数据训练模型时,即实验的微调部分,相关参数设置是:批次大小为32,网络模型中权值采用统一的全局学习率,不断更新调整权值大小以适应模型分类,学习率开始设置为0.00008,发现收敛过快,造成过拟合,最后调整学习率为0.00003。另外,指纹ROI图像的融合以及数据集的增强避免了过拟合现象产生。
3.3.1 最优网络层以及融合ROI
本文网络是基于Squeezenet网络提出,原有Squeezenet由8个fire层和2个卷积层组成。指纹图像为单通道的灰度图像,且指纹数据集较小,网络太深易造成过拟合现象,网络太浅无法较高质量地完成分类要求。针对所提网络结构,本文从可训练的Finger-fire层出发,探讨适合指纹分类的最优网络层。网络在处理图像的过程中,深层网络保留提取的特征均为最具代表性的特征,同时也会失去部分重要的浅层特征,尤其是按照纹型分类的指纹图像。本文融合了指纹的ROI图像,以此补偿深层网络中浅层特征的缺失。为验证并获得最佳网路结构,表2为五分类实验结果,其中,验证标准为指纹分类的平均准确率,目的是找到最适合指纹分类网络的相关元素。可训练的层数是网络结构的Finger-fire模块,选用的是3个、5个以及Squeezenet中原有的fire模块个数:8个。由表2可知,并非网络层数越深得到的分类效果越好。就本文指纹分类而言,训练最佳的网络层数是5个Finger-fire层;此时,得到的分类结果最好,可达到96.81%。从是否加入ROI融合来看,融合了指纹ROI图像后,分类效果均比未融合特征图的要好。由此得出,指纹ROI图像融合处理后能够补偿网络中浅层特征损失,从而提高分类准确率。
表2 网络层数、融合特征准确率对比
Tab.2 Accuracy of network layer number and fusion feature
可训练FINGER-FIRE层未融合融合ROI391.14%94.35%595.52%96.81%895.45%96.04%
3.3.2 五分类准确率
完成网络架构基本单元选取实验后,得到本文网络结构。在该网络训练下,得到分类训练以及验证的准确率和损失率曲线图,分别如图6、7所示,结果是针对NIST-DB4数据集的训练曲线图,在总体数据集的基础上随机抽取20%进行验证。由图可知,当迭代次数达到7000次时,曲线图开始进入缓慢增长;到达10000次时,仍然保持较好拟合效果。本数据集既未将模糊的两分类合并为一类,也未去除大约18%的实验效果不佳数据。迭代8000次后,训练集和验证集的准确率均收敛,训练集和验证集的损失值亦不再下降。
图6 训练、验证准确率曲线图
Fig.6 Training and verification accuracy
图7 训练、验证损失值曲线图
Fig.7 Training and verification loss
表3是经过增强的NIST-DB4数据集的五分类测试结果,每一类测试指纹数量是468枚,五种指纹类型的平均准确率约为94.57%。对融合指纹多种特征图的网络进行测试,提取数据集的一部分指纹图像进行测试,最终得到五种分类结果。其中,分类效果最优的是斗型指纹,468枚指纹,可达到97.86%的准确率。由表可知,测试中比较难完成的分类是弓型和弓帐型。其原因主要是数据集本身存在的问题,即一张图像存在两种分类标签的模糊分类图像。本文在保持零拒识率的情况下,仍能在总体上保持较高的分类准确率,说明指纹的多种特征图融合的分类算法可行且有效。
表3 五类指纹分类结果
Tab.3 Results of five categories of fingerprint classification
类型弓型左箕右箕弓帐斗型弓型44373202左箕11448045右箕5344478弓帐31744260斗型2431458准确率:94.57%
3.3.3 其他算法与本文算法
表4是本文的指纹多特征融合算法相关参数与其他算法的对比结果。首先,对比VGG网络模型,在NIST-DB4-F数据集上的分类准确率优于VGG;在参数量上,本算法仅是VGG模型的约1/40,即本算法只用很小的计算量便可完成大规模网络模型所实现的任务。另外,VGG是合并了模糊的两个类别标签(弓型和弓帐)后,完成四分类任务;而本文则是更加精细的五分类标准,难度更大。与CNN网络模型相比,在两个数据集上,本文的融合算法均优于CNN网络模型,虽然在参数量上,CNN网络模型有一定优势,但是需要指出的是,该算法直接处理的原始数据集的图像数量导致严重的过拟合,数据集量少,所以计算量才会有较大幅度的降低。因此,该方法并不适用于普遍情况。另外,本文的网络参数在使用深度压缩技术后参数仍能继续减少至目前的一半。与Ensemble Method相比,本文算法在准确率上并不占据优势,那是因为同样是采用NIST-DB4数据集,Ensemble Method对于标签分类不明确的指纹,或者指纹类型较复杂的图像拒绝识别,所以在保证较高的准确率的同时,存在较高的拒识率。该算法看似更加精准,但在实际应用中是不可取的,过高的拒识率会导致用户体验欠佳,分类效率低,数据集最多仅存在18%难以分类的指纹,但是超过30%的拒识率就属于模型过度敏感,降低接收识别效率而提高的识别准确率相当于丢弃了很大一部分有效数据。另外,Wilson方法得到的结果不仅稍逊色于本文,而且存在10%的拒识率。最后,与Peralta方法得到的结果相比,本文的融合算法在两种数据集上均更胜一筹。本文的指纹多特征融合算法不仅网络结构轻量化,而且融合了指纹的ROI图像,增强了网络对于指纹的纹型敏感度,遵循其原有分类标准,采用无拒识率的全部接收判别的方法是更加精细的分类标准,并未侧重于网络模型参数或者判别效率去保障分类效果。所以,从总体而言,本文的算法在一定程度上优于主流指纹分类算法。
表4 本文模型与其他算法对比结果
Tab.4 Compared results of other methods and ours
算法NIST-DB4-FNIST-DB4-S总参数量拒识率VGG[8]94.40%95.05%超过2千万-CNN[1]95.03%93.93%33(万)0ENSEMBLE METHOD[16]98.69%98.45%-34.97%WILSON[17]-90.80%-10%PERALTA[18]90.73%88.91%-0本文模型95.88%94.73%55(万)0
本文提出一种轻量化的多特征融合指纹分类算法,在完成指纹细化增强处理后,利用一种改进的梯度算法求取该指纹图像的ROI。同时,采用提出的轻量化指纹分类网络Finger-Squeezenet对指纹图像进行分类训练,在特定层将已求取的指纹ROI图像输入进行特征融合,增强网络对浅层特征的敏感度,从而提高网络对纹型分类的泛化能力,进而得到更加精准的分类结果。实验结果表明,本文的融合算法不论是在网络参数量,还是指纹纹型信息的充分利用上都有较大优势。除了满足指纹分类的个性化需求外,仍能保障整体模型最大限度的轻量化。该算法基于轻量化神经网络进行分类,最后经过深度压缩能够得到更加优化且轻量化的网络模型,有望应用于移动端或者嵌入式平台。后续将针对指纹的多种特征信息进行深入研究,找到指纹的纹型分类网络最敏感的特征,探索更加优化的分类算法。
[1] Li Y K, Wu X J, Kittler J. L1-(2D) 2PCANet: A Deep Learning Network for Face Recognition[J]. arXiv preprint arXiv: 1805.10476, 2018.
[2] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]∥Advances in Neural Information Processing Systems, 2015: 91-99.
[3] Peralta D, Triguero I, García, et al. On the use of convolutional neural networks for robust classification of multiple fingerprint captures[J]. International Journal of Intelligent Systems, 2018, 33(1): 213-230.
[4] Schuch P, Schulz S D, Busch C. Deep expectation for estimation of fingerprint orientation fields[C]∥Biometrics(IJCB), IEEE International Joint Conference on. IEEE, 2017: 185-190.
[5] Ding S, Bian W, Liao H, et al. Combining gabor filtering and classification dictionaries learning for fingerprint enhancement[J]. Iet Biometrics, 2017, 6(6): 438- 447.
[6] Minaee S, Wang Y. Fingerprint recognition using translation invariant scattering network[C]∥Signal Processing in Medicine and Biology Symposium(SPMB), IEEE, 2015: 1- 6.
[7] Shrein J M. Fingerprint classification using convolutional neural networks and ridge orientation images[C]∥Computational Intelligence(SSCI), IEEE Symposium Series on. IEEE, 2017: 1- 8.
[8] Wang R, Han C, Guo T. A novel fingerprint classification method based on deep learning[C]∥International Conference on Pattern Recognition. IEEE, 2017: 931-936.
[9] Nogueira R F, Lotufo R D A, Machado R C. Fingerprint Liveness Detection Using Convolutional Neural Networks[J]. IEEE Transactions on Information Forensics & Security, 2017, 11(6): 1206-1213.
[10] Michelsanti D, Ene A D, Guichi Y, et al. Fast Fingerprint Classification with Deep Neural Networks[C]∥International Conference on Computer Vision Theory and Applications, 2017: 202-209.
[11] Sha L, Tang X. Combining exclusive and continuous fingerprint classification[C]∥Image Processing. ICIP’04. International Conference on. IEEE, 2004, 2: 1245-1248.
[12] Park C H, Park H. Fingerprint classification using fast Fourier transform and nonlinear discriminant analysis[J]. Pattern Recognition, 2005, 38(4): 495-503.
[13] Li J, Yau W Y, Wang H. Combining singular points and orientation image information for fingerprint classification[J]. Pattern Recognition, 2008, 41(1): 353-366.
[14] Iandola F N, Han S, Moskewicz M W, et al. Squeezenet: Alexnet-level accuracy with 50x fewer parameters and <0.5 MB model size[J]. arXiv preprint arXiv: 1602. 07360, 2016.
[15] Goodfellow I J, Warde-Farley D, Mirza M, et al. Maxout Networks[J]. Computer Science, 2013: 1319-1327.
[16] Akram M U, Nasir S, Tariq A, et al. Improved fingerprint image segmentation using new modified gradient based technique[C]∥Electrical and Computer Engineering, 2008. CCECE 2008. Canadian Conference on. IEEE, 2008: 001967- 001972.
[17] Wilson C L, Candela G T, Watson C I. Neural network fingerprint classification[J]. Journal of Artificial Neural Networks, 1994, 1(2): 203-228.
[18] Holden D, Saito J, Komura T. A deep learning framework for character motion synthesis and editing[J]. ACM Transactions on Graphics, 2016, 35(4): 1-11.
Reference format: Gan Junying, Qi Ling, Xiang Li, et al. Research on Lightweight Multi-feature Fusion Fingerprint Classification Algorithm[J]. Journal of Signal Processing, 2019, 35(5): 888- 896. DOI: 10.16798/j.issn.1003- 0530.2019.05.021.
甘俊英 女, 1964年生, 江西吉安人。五邑大学信息工程学院教授, 硕士研究生导师。主要研究方向为生物特征识别。
E-mail: junyinggan@163.com
戚 玲 女, 1992年生, 湖北黄冈人。五邑大学信息工程学院研究生, 主要研究方向为生物特征识别、指纹识别应用。
E-mail: m13528364381@163.com
项 俐 女, 1994年生, 江西人。五邑大学信息工程学院研究生, 主要研究方向为生物特征、人脸美丽。
E-mail: xianglizaa@163.com
何国辉 男, 1962年生, 江西人。五邑大学计算机学院教授、硕士研究生导师。主要研究方向为图像处理、虚拟现实和多媒体信息系统。
E-mail: ghhe126@126.com
曾军英 男, 1977年生, 江西赣州人。五邑大学信息工程学院副教授、硕士研究生导师, 博士, 主要研究方向为机器视觉和生物特征识别。
E-mail: zengjunying@126.com
秦传波 男, 1982年生, 安徽人。五邑大学信息工程学院讲师, 博士, 主要研究方向为生物特征识别和医学图像分割。
E-mail: tenround@163.com