采用轻量化神经网络的高安全手指静脉识别系统

2024-02-29 14:38李佳阳周颖玥李小霞
红外技术 2024年2期
关键词:剪枝正则手指

李佳阳,周颖玥,2,杨 阳,李小霞,2

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

0 引言

随着智慧时代的到来,人们的生产生活中越来越多地应用到个人身份认证,并且各项应用对身份认证系统的准确性和安全性要求越来越高。传统的密码输入、刷卡识别等方式无法满足高安全性的要求,逐渐被生物特征识别技术所取代。目前已有的生物特征识别技术包括人脸、虹膜、指纹等[1]。相比于这些生物特征,手指静脉图像由近红外光作为光源采集,图像的纹理特征具有安全性较高,且不易受到外部环境影响等优点,成为身份认证技术中的重要研究内容[2],并成功地应用于生产实际中,例如煤矿工作人员打卡系统、银行金融门禁、监狱门禁和汽车安全系统[3]。

手指静脉识别系统被广泛研究,相比于传统方法,更鲁棒、泛化能力更好的卷积神经网络(convolutional neural network,CNN)逐渐被用于手指静脉识别问题中。Radzi[4]等人使用结合了改进随机对角线算法的4 层CNN 来分类识别手指静脉图像,该网络模型收敛速度更快,且在自建数据库中训练获得了较高的识别准确率,但其泛化能力较差。Das[5]等人将CNN 提升到5 层来分类识别手指静脉图像,并在多个公共数据库中得到了较好的识别精度,但模型训练时间较长。Hong[6]等人使用VGG 网络对手指静脉进行识别,发现随着训练样本数量的增加,识别准确率会提高,但VGG 模型整体的计算复杂度较高、参数量较大。Li[7]等人使用改进的图卷积网络识别手指静脉图像,获得了很好的识别精度,但需要进行图像预处理来构造手指静脉的加权图,增加了系统的复杂度。He[8]等人尝试增加更多卷积层来增强网络的特征提取能力,在训练样本较少的情况下提高了识别精度,同时也增加了网络的复杂度。

事实上,对于手指静脉识别任务来说,网络的复杂度提升,不利于在较少计算资源的边缘设备上进行部署。针对传统模型参数量大、检测实时性差等问题,对轻量化模型展开研究具有重要意义。

并且研究发现,利用特殊材料(如:传统的有机化合物、碳纳米材料)打印的静脉图片能够对识别系统进行欺骗干扰[9-10],这些欺骗和干扰技术严重地威胁到了手指静脉识别系统的安全。因此,如何将防欺骗技术融合至手指静脉识别系统中,也是系统安全的关键问题。

为了进一步提升手指静脉识别系统的安全性,降低模型的复杂度,本文重点设计了活体检测方法和基于结构化剪枝及通道恢复(pruning and restoring channels,PRC)的CNN 结构。在活体检测部分,使用光电式脉搏传感器采集手指脉搏波信号,将该信号对比正常人体脉搏来判断目标是否为活体样本,系统的安全性得以提升。在网络模型设计部分,以ResNet-18 模型为基础网络,针对在模型训练过程中的冗余计算,使用卷积核参数的L2范数值来指导模型的卷积核剪枝,通过裁剪不重要的卷积核来减少模型的计算量;再对剪枝后卷积核映射的特征图进行简单的线性变换,利用线性变换的特征图补充因裁剪而缺失的特征通道;另外,卷积核剪枝过程中存在对特征提取有较大贡献的权重参数被误剪的情况,为了减少误剪率,使用正则化筛选高权重参数,提高改进模型结构的分类识别能力。

1 基于ResNet 的PRC 优化模型结构

1.1 经典ResNet 网络模型

“非跳跃连接”的卷积网络在训练时,随着网络层数的加深,除了容易出现梯度消失和梯度爆炸等问题,网络的性能还可能在收敛、饱和后迅速退化。为了解决这些问题,何凯明等人提出一种深度卷积神经网络架构——ResNet[11],主要由卷积层堆叠而成的残差单元组成。残差结构块如图1所示,输出XL+1由输入XL的两层卷积结果F(XL)再加上XL本身得来,图中的F(XL)为网络的残差映射函数,残差模块最终得到的结果为:

图1 残差结构示意图Fig.1 Schematic diagram of residual structure

式中:F(XL,{Wi})=W2δ(W1XL),其中δ表示激活函数,W1和W2分别为图1 中第一个卷积层和第二个卷积层中卷积核的权重参数。ReLU 和BN 分别表示ReLU激活函数和批归一化(batch normalization,BN)。

在一般的识别任务中,“非跳跃连接”的卷积网络能通过前向传播和反向传递调优参数,提取到待识别图像中的纹理特征。因不同手指静脉图像之间可能具有相对较高的相似度,所以需要卷积网络提取到更加细粒度的区分特征才能实现准确识别[12]。相对于普通CNN,跳连接结构在参数保持不变的前提下,可以学到新的特征,这种特点有利于手指静脉图像数据的特征提取,因此本文选择ResNet 作为基础网络模型。

1.2 PRC 优化模型结构

为了进一步降低网络模型结构的复杂度,便于后续在嵌入式设备上进行部署;相比于其他ResNet 结构,本文选择了参数量较小的ResNet-18 进行优化设计。由于CNN 的计算消耗主要是在卷积层上,所以主要对目标卷积层做出改进。优化后的恒等结构如图2所示。

图2 优化恒等结构Fig.2 Optimized identity structure

图中PRC Conv 为本文设计的剪枝及通道恢复卷积,其具体结构如图3所示。

图3 PRC Conv 结构图Fig.3 The structure of PRC Conv

图3 中c、h和w分别为输入特征图的通道数、高和宽,Pruning Conv 为结构化局部剪枝[13],裁剪不重要的卷积核。剪枝后的卷积核对输入特征图进行卷积运算后,得到通道数减半的中间层特征图F1。然后,再利用深度卷积生成新的特征图F2。最后,将F1 和F2 进行通道方向的级联,将通道数量恢复为c个通道。

1.2.1 Pruning Conv 流程

上述方法中,我们用到了卷积核结构化剪枝来进行网络的轻量化改进。Pruning Conv 流程图如图4所示。

图4 Pruning Conv 流程Fig.4 Flow chart of Pruning Conv

式中:θm,n中的θm,:表示参数矩阵θ的第m行,θ:,n表示参数矩阵θ的第n列。通过卷积层fi映射得到特征图时,需要消耗的计算量为Ci×Ci+1×k2×hi×wi,如图4 中,剪去阴影标记的卷积核后,可直接减少Ci×k2×hi×wi的计算量,并且后续的一个特征映射的过程减少Ci+2×k2×hi×wi的计算量。

1.2.2 权重稀疏化

网络训练过程中,如果仅通过设置阈值的方式裁剪具有较小权重参数的卷积核,以此减少冗余的卷积层,那么被裁剪的卷积核中仍可能存在权值较高的参数被误裁剪。因此,为了降低高权重参数的误剪率,我们利用带约束条件的凸优化方法预先进行卷积核权重稀疏化。具体为,使用L1正则化方法对网络训练参数的更新添加约束,使得参数稀疏化。模型权重参数W的L1正则化项Ω(W)被定义为:

式中:J(W;X,y)为网络的经验损失;X是输入数据;y是标签;α∊[0,+∞)是用来缩放惩罚项的超参数。

式中:∇W表示函数对W求偏导。网络反向传播时,参数W更新如下:

式中:η表示学习率。参数更新时,L1正则化参与更新的值为一个定值ηαsign(W),迭代若干次后,可以将卷积核中更多的权值参数限制在一个零邻域内,从而达到了权重稀疏和重要特征选择的目的。

1.2.3 通道恢复

虽然剪枝减少了卷积网络的计算量,但是剪枝过程中造成的通道缺失却会影响ResNet 结构中跳连接的实现。为了解决这个问题,受文献[14]的启发,设计了通道恢复模块。该方法在剪枝结构去除冗余信息的基础上,将保留的重要信息进行再利用,有效地恢复了分类网络的性能。通道恢复具体的步骤如图5所示。

图5 通道恢复流程Fig.5 Flow chart of channel recovery

2 手指静脉识别系统整体流程

2.1 开发环境

本文使用的嵌入式系统开发环境为NVIDIA 的Jetson Nano,搭载Ubuntu18.0 系统,使用PyQt5、OpenCV4.5.0 开发图形界面,MongoDB 数据库存储手指静脉特征向量[15]。

2.2 工作原理及组成

完整的嵌入式手指静脉识别系统包含图像采集、图像质量评估、特征提取和特征匹配4 个模块,如图6所示。

图6 手指静脉识别系统结构Fig.6 The structure of finger vein recognition system

2.2.1 图像采集

对于图像采集部分,针对利用特殊材料欺骗识别系统的问题,我们加入活体检测功能,使用指尖脉搏波来辅助判断待识别目标是否为活体,并且考虑到手指静脉识别装置的体积和图像采集的实时性要求,使用光容积法实时测量指尖脉搏波[16-17],判断是否为伪造手指静脉信号。

手指静脉图像采集部分结构如图7所示。图7(a)为该采集部分的总体结构示意图,其中包括红外LED(light emitting diode,波长为850 nm[18])、脉搏传感器(如图7(b))、近红外光摄像机(如图7(c))。该结构在保持装置便携性的同时,可以实现指尖脉搏波的实时采集,保证短时间内完成活体识别和样本采集。活体识别数据采集后经过A/D 转换为数字信号,再通过IIC 数据总线传输到Jetson;手指静脉图像数据在采集后经过CSI 接口传输到Jetson。

图7 手指静脉图像采集部分结构:(a)图像采集装置结构图;(b)脉搏传感器;(c)图像传感器Fig.7 The structure of image acquisition device:(a)The structure of image(b)Pulse sensor;(c)Imaging sensor acquisition device

2.2.2 图像质量评估

在手指摆放位置不正确或其他环境因素影响下,拍摄的手指静脉图像可能出现质量较差的情况。为了在图像采集阶段,排除低质量图像对后续识别的影响,划分质量“好”和“差”数据集,采用二分类方法在PC 端训练一个简单的CNN,将输出的ONNX模型移植到Jetson,并使用TensorRT 加速该模型,在采集图像时筛除阈值范围内的低质量图像。

2.2.3 特征提取及特征匹配

在身份信息注册阶段采用MongoDB 数据库,在PC 端训练PRC 结构优化的CNN,将训练得到的ONNX 模型移植到Jetson,并使用TensorRT 加速该模型提取手指静脉图像的特征,再将CNN 提取到的特征向量存储到静脉特征数据库中;在身份识别阶段,提取待识别手指的静脉图像特征会和数据库中的手指静脉特征计算距离来匹配,特征成功匹配后得到对应的身份标签,完成身份识别。

3 实验结果

3.1 实验平台及参数设置

1)实验平台

本文实验在Windows 10 平台下完成,深度学习框架为 Pytorch1.13 版本,处理器为 Intel E5-2660@2.00 GHz,内存为 64 G、显卡为 NVIDIA GeForce GTX1080,显存为8 G。

2)参数设置:

本文的模型在训练时选用Adam 优化器,学习率为3e-4;L1正则化的超参数设定为1e-4。

3.2 实验数据

为了对本文优化的网络结构进行验证,本文在两个公开的数据库上进行实验。一是山东大学机器学习与数据挖掘实验室公开的指静脉数据集(SDUMLA,SDUMLA-HMT Database)[19]。其中包括106 位测试者的手指静脉(食指、中指、无名指各12 张图片),共计 636 类。二是香港理工大学指静脉数据集(HKpolyU,The Hong Kong Ploytechnic University Finger Image Database)[20]。HkpolyU 分为两次采集,表示为HkpolyU-1、HkpolyU-2。HkpolyU-1 样本总数为2520 张图片,每类样本数为12 张,类别数为210;HkpolyU-2 样本总数为612 张图片,每类样本数为6张,类别数为102。

为了尽可能地减少手指静脉图像的背景信息,使网络更关注于静脉纹理特征,使用Sobel 算子检测手指上下边缘,对手指静脉图片进行感兴趣区域(ROI,region of interest)的提取,保留主要静脉区域。手指静脉ROI 提取图像如图8所示。

图8 SDUMLA 和HKpolyU 静脉示例图Fig.8 Example diagram of veins in SDUMLA and HKpolyU

3.3 实验结果

3.3.1 PRC 优化模型性能测试

为了验证PRC 优化模型的有效性,以图8 中SDUMLA 数据库左一的手指静脉图为例,分别使用ResNet-18 和PRC 优化模型提取特征图,又由于浅层特征图更能直观体现模型提取的特征,所以选取展示第3 个卷积层20 个通道的特征图。并且,为了在裁剪更多冗余卷积核的同时保证网络性能不会损失太多,设置PRC 优化模型的剪枝率为50%[21-22]。特征图如图9(a)、(b)所示。

图9 不同结构提取的浅层特征Fig.9 Shallow feature maps extracted from different structures

对比图9(a)和图9(b),如红色箭头指示部分所示,(b)中有明显优于(a)的手指静脉纹理特征,可以推断PRC 结构提取到更为丰富的手指静脉纹理信息,从而提升了网络的分类识别性能。

3.3.2 卷积核权重稀疏化分析

为了研究L1正则化对CNN 权重参数的影响,比较PRC 优化模型在不同正则化放缩比例下权重参数的分布。经过50 轮训练后,可视化部分卷积层中权重参数值的分布,分别如图10(a)~(i)所示。

图10 L1 正则化对比Fig.10 Comparison of L1 regularization

图中,横轴为L1正则化的超参数值α,纵轴为卷积核的权重参数值。由图10(a)~(i)对比可以得出,L1正则化具有特征选择的能力,部分权值被限制在一个很小的零邻域内;这就意味着,在结构化剪枝时,较小权重参数将更容易被裁剪,从而降低了高权重参数的误剪率,能够提升PRC 优化模型的分类能力。当α>1e-4 时,损失值较大,不利于模型收敛;随着α减小,L1正则化的参数稀疏能力也随之减弱,所以超参数α的值设定为1e-4。

3.3.3 在SDUMLA-HMT、HkpolyU 数据集下的识别等误率评估

等误率(equal error rate,EER)是手指静脉识别任务中模型分类能力高低的重要指标之一。EER 反应了分类算法的错误拒绝率(false reject rate,FRR)和错误接受率(false accept rate,FAR)的平衡关系,当FRR=FAR 时达到平衡点,得到EER 值,EER 的值越低,表示模型的性能越好。在SDUMLA-HMT 和HkpolyU 数据库上分别使用ResNet-18、PRC 优化模型(简写为:PRCNet)、L1正则化PRC 优化模型(简写为:PRCNet+L1)得到的EER 值如图11(a)、(b)所示。

图11 SDUMLA 和HkpolyU 数据集上EER 值对比Fig.11 Comparison of EER values on SDUMLA and HkpolyU datasets

图11(a)、(b)中直角坐标系下,经过(0,0)和(1,1)两点的直线与曲线相交的点为FRR=FAR的平衡点。在SDUMLA-HMT、HkpolyU 数据集上分别测试的结果可以看出,使用PRC 结构优化ResNet-18 模型和加入L1正则化约束PRC 优化结构的参数,改进后的EER 都取得了更小的值,说明模型的性能更好。

3.3.4 不同网络模型在手指静脉识别上的性能指标对比

在ROI 提取后的SDUMLA 和HKpolyU 数据集上对不同的识别网络模型进行训练,得到其识别性能指标。识别准确率(accuracy)指标的计算公式为:

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

不同模型的识别准确率(Accuracy)、模型参数量(Parameters)和模型的浮点计算量(Flops)对比结果如表1所示。

表1 不同识别方法的比较Table 1 Comparison of different recognition methods

从表1 中可以看出,本文提出的PRC 优化结构能得到更高的识别准确率,并且参数量和计算量有明显的减少;相比于ResNet-18 基础网络,识别准确率提高,参数量降低了75.6%,计算量降低了25.6%。在PRC 优化结构的基础上,添加L1正则化约束权重参数的方法,识别准确率分别提升了0.96%、0.48%,说明本文提出的PRC 模块结合L1正则化优化的方法有效提升了卷积网络对于手指静脉识别问题的分类能力。

4 总结

本文在ResNet-18 的跳连接结构上设计了PRC优化模型。一方面,用卷积核权重参数的L2范数指导卷积核剪枝,使用L1正则化提高剪枝操作的可靠性;再对保留的卷积核进行通道上一一对应地线性映射,并在通道上拼接,恢复特征通道数。在公开的SDUMLA 和HKpolyU 数据集上的实验可以看出,本文方法在减少参数量和消耗计算量的基础上,网络的性能还得到了提升。另一方面,在系统集成时,采用脉搏波生物特征辅助判断,避免了伪造静脉信息对系统的欺骗和干扰。将本文的优化模型应用于算力较小的边缘设备上,将有效节省身份识别时网络前向预测的时间。

猜你喜欢
剪枝正则手指
手指背侧复合组织块离断再植
人到晚年宜“剪枝”
基于YOLOv4-Tiny模型剪枝算法
手指操
剩余有限Minimax可解群的4阶正则自同构
类似于VNL环的环
剪枝
笔穿手指
有限秩的可解群的正则自同构
一种面向不平衡数据分类的组合剪枝方法