一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于轻量化双线性卷积网络的手指静脉图像识别方法

2022-10-12 03:14:46 来源:中国专利 TAG:

computer vision(eccv),2018:574-589.


技术实现要素:

10.本发明针对现有技术的缺陷,提供了一种基于轻量化双线性卷积网络的手指静脉图像识别方法。在逐步降低双线性卷积网络输出特征向量维度的同时,有效提取到手指静脉图像中的细粒度特征,提升了手指静脉识别系统的判别能力。另一方面,由于有效减小了传统双线性卷积网络的参数量和计算量,使其更适于在运算能力较弱的边缘设备中进行应用。
11.为了实现以上发明目的,本发明采取的技术方案如下:
12.一种基于轻量化双线性卷积网络的手指静脉图像识别方法,包括以下步骤:
13.s1:预处理公开数据集中的手指静脉图像,得到被分为高质量和低质量的手指静脉图像数据集,以及对应数据集的感兴趣区域数据集;
14.s2:构建一个轻量化的双线性卷积网络,该网络的输出被分为质量识别分支和图像分类分支,将其命名为rqabs-net(recognition and quality assessment bilinear spindle net)。
15.s3:利用s1构造的手指静脉图像数据集训练rqabs-net的质量识别分支,利用s1构造的感兴趣区域数据集训练rqabs-net的图像分类分支。在训练过程中采用多分类交叉熵损失函数和中心损失函数量化网络输出和标签之间的差距。
16.s4:使用手指静脉图像采集装置获取实际注册人的手指静脉图像数据流,将数据流输入训练完备的rqabs-net,根据rqabs-net质量识别分支的结果,存储被判别为高质量图像的特征,然后建立多个注册人所组成的已注册人特征库。
17.s5:使用手指静脉图像采集装置获取待识别人的手指静脉图像数据流,将数据流输入与s4步骤中同样的rqabs-net,根据rqabs-net质量识别分支的结果,决定是否采用rqabs-net输出的特征向量z,在已注册人特征库中进行身份匹配。
18.s6:使用rqabs-net输出的特征向量z作为当前手指静脉图像的特征向量,与已注册人特征库中的特征向量求取余弦相似度,根据阈值决定输出匹配到的身份信息或判定待识别人为陌生人。
19.进一步地,s2包括以下子步骤:
20.s21基于mobilenet-v2的子结构:反转残差结构和线性瓶颈结构,构造了前半部分的特征图通道数c逐渐增加,后半部分的特征图通道数c逐渐减小的纺锤形卷积网络结构,将其命名为spindlenet。其中,反转残差结构和线性瓶颈结构依靠深度可分离卷积对网络中的特征图进行升维和降维。
21.s22基于spindlenet构造成为一种轻量化的双线性结构rqabs-net,将输入的224
×
224
×
3维的图像i经过13次的反转残差结构和线性瓶颈结构升维到14
×
14
×
96维,然后再重复6次的反转残差结构和线性瓶颈结构降维到7
×7×
16维。
22.进一步地,对此时的特征图if进行双线性池化(bilinear pool),得到协方差矩阵φ(if),然后从左至右、从上到下展平φ(if)为256维,并对其进行归一化,得到细粒度特征向量z。
23.在特征向量z后连接图像分类分支和图像质量识别分支,根据公开数据集中手指
静脉图像类别的数量,设置图像分类分支的输出节点k的值,并设置图像质量识别分支输出节点为2,用以将手指静脉图像分为高质量、低质量图像。
24.进一步地,s3包括以下子步骤:
25.s31利用s1构造的图像质量数据集训练rqabs-net的质量识别分支,利用s1构造的感兴趣区域数据集训练rqabs-net的图像分类分支。使得该网络能提取到手指静脉图像中具有细粒度区分能力的特征。
26.s32利用多分类交叉熵损失(softmax cross-entropy loss)结合中心损失(center loss)量化网络输出和标签之间的差距:
27.loss=loss
softmax
λloss
center
28.式中,λ控制中心损失参与构成最终损失值的程度。
29.进一步地,s4包括以下子步骤:
30.s41利用可发射850nm近红外光的光源照射注册人的手指,并通过近红外光摄像头采集穿过手指的近红外光,从而捕获到手指内的静脉结构,得到手指静脉图像视频流。
31.s42实时提取采集到的视频流中手指静脉图像的感兴趣区域(roi,region of interest),通过确定手指的上下边界和手指第二关节的左右边界,获取到roi图像数据流。
32.s43将数据流输入训练完备的rqabs-net,若rqabs-net质量识别分支判定当前视频帧为低质量,则提示录入人改变姿势,并继续判断下一帧图像的质量;当识别到高质量的输入视频帧时,则保留当前rqabs-net输出的特征向量z作为注册人的身份特征向量。
33.s44对一个注册人获取6个身份特征向量,并将多个注册人的id信息及对应的身份特征向量构成注册人特征信息库。
34.进一步地,s5包括以下子步骤:
35.s51利用与s41、s42中同样的方式获取到待识别人的手指静脉图像视频流。
36.s52将视频流输入训练完备的rqabs-net,若rqabs-net质量识别分支判定当前视频帧为低质量,提示待识别人改变姿势,并继续判断下一帧图像的质量;当识别到高质量的输入视频帧时,则利用当前rqabs-net输出的特征向量z作为待识别人的身份特征向量。
37.与现有技术相比,本发明的优点在于:
38.基于mobilenet-v2的思想和结构,提出了一种新的纺锤形结构—spindlenet,在mobilenet-v2的基础上减少了参数量和计算量。然后利用spindlenet构成双线性的网络结构——rqabs-net,解决了传统双线性网络输出的特征维度大的缺点,进一步减少了网络中的参数量和计算量。所以,通过减少参数量和计算量的方式,加快了手指静脉识别系统的识别速度;通过构成双线性的卷积网络结构,提升了系统捕获手指静脉图像中细粒度差异的能力,从而提升了系统的识别精度。另一方面,rqabs-net结合了对图像质量的识别和对图像细粒度特征的提取匹配,使得原本应由两个卷积网络完成的任务被结合在一个卷积网络中,从而使用一个统一的网络,减少了因两个卷积网络模型的加载和切换而产生的耗时和存储空间的损耗。进一步提升了系统的识别速度。本发明还对该手指静脉识别算法的性能进行了验证,取得了很好的测试效果。
附图说明
39.图1为发明实施例基于轻量化双线性卷积网络的手指静脉图像识别方法过程图;
40.图2为发明实施例公开数据集内高低质量图像示意图:其中,a为sdumla中的高质量图像;b为sdumla中的低质量图像;c为hkpolyu中的高质量图像;d为hkpolyu中的低质量图像;
41.图3为发明实施例图像预处理示意图;其中,a为原图;b为手指边缘图;c为根据手指轮廓计算的roi轮廓;d为原图的roi区域;
42.图4为发明实施例spindlenet结构示意图;
43.图5为发明实施例mobilenet-v2中的模块示意图;其中,a为反转残差结构;b为线性瓶颈结构;
44.图6为发明实施例rqabs-net的结构示意图;
45.图7为发明实施例rqabs-net质量识别分支性能图;其中,a为由sdumla-qd训练的rqabs-net质量识别分支的识别准确率;b为由hkpolyu-qd训练的rqabs-net质量识别分支的识别准确率;
46.图8为发明实施例rqabs-net图像分类分支性能图;其中,a为由sdumla-roi训练的rqabs-net图像分类分支的roc曲线和eer值;b为由hkpolyu-roi训练的rqabs-net图像分类分支的roc曲线和eer值;
47.图9为发明实施例rqabs-net的性能图;其中,a为由sdumla-roi、sdumla-qd训练的rqabs-net的roc曲线和eer值;b为由hkpolyu-roi、hkpolyu-qd训练的rqabs-net的roc曲线和eer值。
具体实施方式
48.为使本发明的目的、技术方案及优点更加清楚明白,以下根据附图并列举实施例,对本发明做进一步详细说明。
49.如图1所示,本发明基于轻量化双线性卷积网络的手指静脉图像识别方法,包括如下步骤:
50.步骤s1:预处理公开数据集中的手指静脉图像,步骤如下:
51.(1)分别从sdumla、hkpolyu数据集中挑选“高质量”与“低质量”的手指静脉图像样本,构建了带标签的质量识别数据集,用sdumla-qd、hkpolyu-qd表示,其中被挑选为“高质量”和“低质量”的手指静脉图像如图2所示。然而,其中“高质量”与“低质量”图像数量并不均衡,后者数量太少,不利于网络训练。为此,通过smote方法扩增低质量图像数量,使得低质量图像数量增加到与高质量图像数量近似的数量。
52.(2)使用低通高斯滤波器先对sdumla(如图3-a所示)、hkpolyu、sdumla-qd、hkpolyu-qd数据集中的图像进行平滑处理,然后使用sobel算子检测手指边缘(如图3-b所示),从而确定上下边界。再根据图像的原始尺寸,以长边的1/5和4/5作为左右边界(如图3-c)。在原图中以边界框限定的范围提取出手指静脉图像的roi(如图3-d所示)。
53.(3)使用随机亮度调整、随机裁剪的方式对经过roi处理后的数据进行扩增,以便训练卷积网络,得到与前述数据集对应的sdumla-roi、hkpolyu-roi、sdumla-qd、hkpolyu-qd数据集。
54.步骤s2:构建一个轻量化的双线性卷积网络,步骤如下:
55.(1)基于mobilenet-v2的子结构:反转残差结构和线性瓶颈结构,构造了前半部分
的特征图通道数c逐渐增加,后半部分的特征图通道数c逐渐减小的纺锤形卷积网络结构,将其命名为spindlenet(如图4、表1所示)。其中,反转残差结构(如图5-a所示)和线性瓶颈结构(如图5-b所示)依靠深度可分离卷积对网络中的特征图进行升维和降维。
56.(2)基于spindlenet构造成为一种轻量化的双线性结构rqabs-net(recognition and quality assessment bilinear spindle net)(如图6、表2所示),将输入的224
×
224
×
3维的图像i经过13次的反转残差结构和线性瓶颈结构升维到14
×
14
×
96维,然后再重复6次的反转残差结构和线性瓶颈结构降维到7
×7×
16维。
57.进一步地,对此时的特征图if进行双线性池化(bilinear pool),具体地,先计算if中每个位置l的协方差矩阵φ(if):
[0058][0059]
其中f为rqabs-net在反转残差结构和线性瓶颈结构中施加在输入图像i上的卷积、激活操作等。然后从左至右、从上到下展平φ(if)为256维,并对其进行归一化,得到细粒度特征向量z:
[0060][0061][0062]
(3)在特征向量z后连接图像分类分支和图像质量识别分支,根据公开数据集中手指静脉图像类别的数量,设置图像分类分支的输出节点k的值,并设置图像质量识别分支输出节点为2,用以将手指静脉图像分为高质量、低质量图像。具体地,由sdumla训练的rqabs-net被设置为636 2个节点,由hkpolyu训练的rqabs-net被设置为312 2个节点。
[0063]
表1 spindlenet结构
[0064][0065]
表2 rqabs-net结构
[0066][0067]
步骤s3:训练rqabs-net,步骤如下:
[0068]
(1)将sdumla-roi、hkpolyu-roi、sdumla-qd、hkpolyu-qd数据集按照7:3的比例划分为训练集和测试集。分别得到基于sdumla训练的rqabs-net和基于hkpolyu训练的rqabs-net。
[0069]
(2)利用多分类交叉熵损失(softmax cross-entropy loss)结合中心损失(center loss)量化网络输出和标签之间的差距:
[0070]
loss=loss
softmax
λloss
center
[0071]
式中,λ控制中心损失参与的损失值量化的程度。
[0072]
分别地,计算loss
softmax
的部分为:由图像分类分支输出的第i个节点的输出值计算第i类的概率pi:
[0073][0074]
进而得到每一类的损失-yilog(pi),再求和得到总的损失值),再求和得到总的损失值
[0075]
计算loss
center
的部分为:计算训练样本xi与其对应类别yi的中心特征向量之间的差距:
[0076][0077]
其中,在每个批次的训练过程中求得下一批次训练时所需各个类别的中心特征向量
[0078][0079]
式中,为当前训练批次中第j类特征向量的中心特征向量;为下一训练批次所使用的第j类特征向量的中心特征向量;α控制更新的快慢;δcj代表当前训练批次中第j
类特征所有样本与其中心特征向量之间的平均差异:
[0080][0081]
式中,δ为指示函数,括号内为真时取1,反之取0。
[0082]
步骤s4:利用由公开数据集训练完备的rqabs-net,建立多个注册人所组成的本地已注册人特征库,步骤如下:
[0083]
(1)利用可发射850nm近红外光的光源照射注册人的手指,并通过近红外光摄像头采集穿过手指的近红外光,从而捕获到手指内的静脉结构,得到手指静脉图像视频流。
[0084]
(2)实时提取采集到的视频流中手指静脉图像的感兴趣区域(roi,region of interest),一般通过确定手指的上下边界和手指第二关节的左右边界,获取到roi图像数据流。
[0085]
(3)将roi图像数据流输入训练完备的rqabs-net,若rqabs-net质量识别分支判定当前视频帧为低质量,则提示录入人改变姿势,并继续判断下一帧图像的质量;当识别到高质量的输入视频帧时,则保留当前rqabs-net输出的特征向量z作为注册人的身份特征向量。
[0086]
(4)对一个注册人获取6个身份特征向量,并将多个注册人的id信息及对应的身份特征向量构成注册人特征信息库。
[0087]
步骤s5:利用由公开数据集训练完备的rqabs-net,提取待识别人手指静脉的特征,步骤如下:
[0088]
(1)利用与s4(1)、(2)中同样的方式获取到待识别人的手指静脉图像视频流。
[0089]
(2)将视频流输入训练完备的rqabs-net,若rqabs-net质量识别分支判定当前视频帧为低质量,提示待识别人改变姿势,并继续判断下一帧图像的质量;当识别到高质量的输入视频帧时,则利用当前rqabs-net输出的特征向量z作为待识别人的身份特征向量。
[0090]
步骤s6:根据待识别人的特征向量,识别个人身份,步骤如下:
[0091]
(1)使用rqabs-net输出的特征向量z作为当前手指静脉图像的特征向量,与已注册人特征库中的特征向量求取余弦相似度。
[0092]
(2)根据对公开数据集的评估结果设定阈值,根据阈值决定输出匹配到的身份信息或判定待识别人为陌生人。
[0093]
本发明可广泛用于需要身份识别的场景,例如考勤、打卡、安保等系统。
[0094]
本发明的基于轻量化双线性网络rqabs-net进行手指静脉识别的算法,在sdumla-roi、sdumla-qd、hkpolyu-roi、hkpolyu-qd数据的测试集上进行实验验证。
[0095]
山东大学手指静脉数据库(sdumla)提供了106人的手指静脉图像,每个个体被采集了6根手指的图像,分别是左右手的食指、中指以及无名指,每根手指被采集了6次,因此该数据集总计包含了3816(106
×6×
6)张图像。该数据集中所有指静脉图像都是像素分辨率为320
×
240的灰度图。在此基础上,进行了roi提取操作、数据扩充构成了sdumla-roi,扩充后,sdumla-roi包含12720张图像;进行人工质量分类,对低质量图像利用smote方法进行扩增,最终构成了3382张高质量图像和3472张低质量图像的sdumla-qd。
[0096]
香港理工大学手指静脉数据库(hkpolyu)包含156位志愿者的手指静脉图像,其中有51人只采集了一次,另外105人在间隔为1到6个月之间采集了两次。每次采集志愿者的左手的食指、中指,每根手指采集6张513
×
256分辨率的图片,实验使用156位志愿者第一次采集的图像合集,共1872(156
×2×
6)张图像。在此基础上,进行了roi提取操作、数据扩充构成了hkpolyu-roi,扩充后,hkpolyu-roi包含6240张图像;进行人工质量分类,对低质量图像利用smote方法进行扩增,最终构成了1722张高质量图像和1800张低质量图像的hkpolyu-qd。
[0097]
将以上数据集按照7:3的比例划分为训练集和测试集。
[0098]
rqabs-net图像质量识别分支实验
[0099]
使用二分类交叉熵损失函数,在sdumla-qd、hkpolyu-qd训练集上分别训练rqabs-net的质量识别分支,每训练完一轮(epoch),在测试集上进行一次测试,测试集的识别率随训练轮数的变化情况如图7所示,在sdumla-qd上对图像质量的识别率达到了95.31%(如图7-a所示),在hkpolyu-qd上对图像质量的识别率达到了95.64%(如图7-b所示)。与其他图像质量判断方法作对比,其结果如表3所示。从数据可知:我们所提的rqabs-net对手指静脉图像的质量判断能力具有优势效果。
[0100]
表3不同图像质量识别算法在sdumla-qd和hkpolyu-qd测试集上的acc对比
[0101]
[0102][0103]
rqabs-net图像分类分支实验
[0104]
使用多分类交叉熵损失函数和中心损失函数,在sdumla-roi、hkpolyu-roi训练集上分别训练rqabs-net的图像分类分支。由于在后续使用rqabs-net的过程中需要通过其输出特征向量z进行匹配,所以这里使用匹配模式来观察rqabs-net图像分类分支的性能。为了减少计算时间,我们在sdumla-roi中随机选取了100根手指进行测试。在异源匹配中,每一幅图像都和其他99根手指的6幅图像进行匹配,相应地可以得到356400个异源匹配分数。在同源匹配中,每一幅图像都和同类的另外5幅图像进行匹配,由此可以得到3000个同源匹配分数。实验结果表明等误率(eer)为0.69%(如图8-a所示)。同样在hkpolyu-roi中随机选取了100根手指进行测试,得到的等误率为0.63%(如图8-b所示)。
[0105]
结合rqabs-net图像质量识别和图像分类实验
[0106]
分别在sdumla-roi和hkpolyu-roi中随机选取100根手指,同样采取匹配模式进行测试,由于根据质量识别分支结果会排除一部分的低质量的图像特征,所以每根手指被保留的特征向量数量不等,统计得到sdumla-roi异源匹配315866次,同源匹配2658次;hkpolyu-roi异源匹配327888次,同源匹配2760次。实验表明在sdumla-roi、sdumla-qd上训练的模型eer为0.64%(如图9-a所示);在hkpolyu-roi、hkpolyu-qd上训练的模型eer为0.58%(如图9-b所示)。与其他手指静脉识别方法作对比,其结果如表4所示。从数据可知:我们所提的rqabs-net对手指静脉图像的识别能力具有优势效果。
[0107]
表4不同识别方法的性能比较
[0108][0109][0110]
rqabs-net的运作速度实验
[0111]
以边缘设备树莓派4b作为实验平台,利用intel movidius2代神经计算棒加载轻量化卷积网络模型,比较了常见的轻量化网络mobilenet-v1、mobilenet-v2和rqabs-net的前向传播时间,即统计从sdumla-roi和hkpolyu-roi数据集挑选的1000张手指静脉图像前向传播的平均耗时。需要注意的是,为了排除模型加载时间对统计值的干扰,在模型加载完成后再统计时间。模型各自的前向传播时间如表5所示。可以看出:我们所提的rqabs-net拥有更少的参数量和计算量,前向推理的速度更快。
[0112]
表5网络推理速度比较
[0113][0114]
rqabs-net的迁移识别能力实验
[0115]
利用分别通过sdumla-qd、sdumla-roi和hkpolyu-qd、hkpolyu-roi训练得到的rqabs-net模型,由步骤s4~步骤s6完成本地个人身份识别,以swust-fv表示由本地个人所
构建的手指静脉图像及特征库。在构建过程中,共采集120根手指的720张手指静脉图像,得到异源匹配514080次,同源匹配3600次。实验表明,在sdumla-roi、sdumla-qd上训练的模型eer为1.36%;在hkpolyu-roi、hkpolyu-qd上训练的模型eer为1.23%。可以看出,跨库识别会损失一部分的系统识别精度,并且,在经过hkpolyu-roi、hkpolyu-qd训练的网络对swust-fv拥有更好的迁移性,这是因为swust-fv中的手指静脉图像灰度范围以及静脉脉络的清晰程度与hkpolyu较为接近。
[0116]
可以看出所提rqabs-net在手指静脉图像公开数据集sdumla、hkpolyu上的相关指标都取得了较好的结果,证明基于轻量化双线性卷积网络的手指静脉图像识别方法具有较高的实用价值。
[0117]
本发明提出了基于轻量化双线性卷积网络的手指静脉图像识别方法,可以避免传统双线性网络输出维度大,导致的网络参数和计算量巨大的问题。本发明首先构建了一种纺锤形的卷积网络结构——spindlenet,然后对spindlenet进行双线性化,并将网络输出设定为两个分支,一个分支用来识别从网络输入端进入的手指静脉图像的质量,用以排除低质量图像对识别率的影响,另一个分支用来识别手指静脉图像所代表的个人身份,以双线性网络输出的特征表达了图像的细粒度区分特征,提高了网络的身份判别准确性。为了训练rqabs-net,采用了手指静脉图像公开数据集sdumla、hkpolyu,并使用多分类交叉熵损失和中心损失进行训练,使得同类的手指静脉图像特征在特征空间内更加聚集,不同类的更加分散。最后将经由公开数据集训练的rqabs-net运用于实际的本地个人身份识别中。
[0118]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献