李 菲, 李小霞,2, 周颖玥,2, 刘银辉
(1.西南科技大学 信息工程学院,四川 绵阳 621010; 2.特殊环境机器人技术四川省重点实验室,四川 绵阳 621010;3.电子科技大学 光电信息学院,四川 成都 610000)
手指静脉识别提取的是手指内部特征,具有非接触性、活体性、唯一性和稳定性的优点[1]。手指外部状况变化不易影响静脉识别的准确性,且难以伪造,使其在银行和监狱等安全等级要求高的场合有着极大的优势。手指静脉识别系统主要包括图像获取、图像预处理、特征提取以及匹配四个部分。静脉图像获取可以分为反射式成像、透射式成像以及侧透式成像[1,2]。图像预处理包括图像增强和感兴趣区域提取[3,4],可以在一定程度上解决图像光照不均、对比度低和噪声干扰等问题,但易造成静脉纹路提取不全或生成伪特征点,可能影响到识别精度。
手指静脉识别中最重要的特征提取技术主要分为人工设计特征、统计特性分析以及神经网络三种。人工设计特征包括尺度不变特征变换[5]、局部二值模式(local binary pattern,LBP)[6,7]和方向梯度直方图(histogram of oriented gradient,HOG)等;统计特性分析方法有主成分分析(principal component analysis,PCA)、线性判别分析(linear discriminant analysis,LDA)[8]和稀疏表示(sparse representation,SR)[9]等;神经网络常用的有反向传播(back propagation,BP)神经网络和卷积神经网络[10,11]等。2017年,Lu Y 等人[6]提出基于LBP和Gabor滤波器的新的融合描述算子,该方法识别效果较好,但所得特征多达 190维,使得特征提取和匹配时间较长。由于手指静脉脉络结构具有明显的纹理和方向特性,LBP和HOG等局部特征能在识别过程中区分性较好,但局部特征提取通常会耗费较长的时间。Wu J D等人[8]采用PCA和LDA实现手指静脉分类,Xin Y等人[9]也将SR成功应用于手指静脉识别任务中。然而,PCA,LDA和SR等方法从全局角度提取特征,对局部特征信息描述不足。Fang Y等人[10]设计了三个卷积层来训练手指静脉特征,Liu Y等人[11]基于深度学习和随机投影实现了手指静脉识别。基于神经网络的方法主要的优点是不需要人工提取特征,而是根据已有的数据自适应地学习到有价值的特征信息,但对数据量要求比较高,在样本数据较小的情况下,所训练出的网络效果欠佳。
鉴于以上分析,本文基于HOG方法提出了一种融合边缘梯度信息的手指静脉图像识别方法,在SDUMLA 数据库、polyU数据库和自建数据库等不同手指静脉数据库上均有较高且稳定的识别率,算法用时较短,实用性强。
手指静脉结构分布具有独特的纹理和方向信息。HOG描述子可以有效提取图像局部梯度和方向信息,从而描述手指静脉图像脉络结构关键特点。传统HOG特征提取过程为金字塔结构,包含单元格、块和全图像三层,由顶及底步骤依次为:1)构建单元格的特征向量;2)构建块的特征向量;3)构建全图的特征向量。传统HOG算子单元格直方图构建过程中未考虑邻域像素梯度的影响,易出现“混叠效应”,针对此问题,Dalal N[12]采用块重叠法来解决,但计算量较大;Pang Y 等人[13]采用线性插值法来调整块内区域像素点的投票权,但未考虑块邻域像素的影响,实际基于单元格来讲,只利用了其部分邻域的梯度信息,存在信息利用不充分的问题。
受文献[13]启发,本文以单元格为基准,规划单元格邻域范围,进一步改进了邻域像素的投票方式,利用单元格邻域内所有像素点的梯度幅值对原单元格的直方图进行修正。
1)采用[-1,0,1]和[1,0,-1]T梯度算子对图像进行卷积运算,得到各像素点的梯度
(1)
式中Gh(x,y)和Gv(x,y)分别为水平和垂直方向的梯度,f(x,y)为像素点(x,y)的灰度值。
计算各像素点的梯度幅值G(x,y)和方向θ(x,y),并统计各单元格9个方向块的直方图向量值,故维数为9维
(2)
(3)
2)对原始直方图向量值进行修正,以任意单元格Ci以及其邻域内任意像素点M1为例,修正原理如图1所示。图1(a)为所要修正的任意单元格Ci及其邻近8个单元格C1~C8,如Ci区域大小为d×d,中点坐标为(xi,yi),即图中斜线区域,每个单元格被划分为4个小区域,与Ci邻近的小区域被视为邻域,即点状区域,用M1表示其中任意像素点;图1(b)为单元格Ci统计出的9个方向块的方向梯度直方图,dθ为相邻方向块的角度差,并利用M1的梯度信息对其进行修正,像素点M1的坐标为(x,y,θ),其中,θ为M1的梯度方向值,梯度幅值为G(x,y),假设θ位于Ci的方向块θl和θr之间,斜线部分表示原始直方图,竖线部分表示M1的修正贡献值。
图1 单元格方向梯度直方图修正原理
ngHOG获取过程为:
设像素点M1对θl,θr方向块直方图的修正系数分别为wl,wr,θl,θr的原始直方图向量值分别为h(xi,yi,θl),h(xi,yi,θr),采用三线性插值法进行修正,修正系数wl与wr为
(4)
修正后Ci直方图向量h(xi,yi,θl),h(xi,yi,θr)分别为
(5)
根据式(5),依次利用图1(a)中所有Ci邻域像素点的梯度信息对Ci的直方图进行修正。同理,对原图的其他单元格HOG进行修正,得到修正后的ngHOG向量,然后将块内4个单元格的ngHOG向量串联,得到块特征向量,维数为36维。采用L2范数对向量进行归一化以增强块特征向量对光照、边缘和阴影变化的鲁棒性,即
(6)
式中v和v′为归一化前后的36维块特征向量,‖v‖2为向量v的L2范数,ε为一个很小的常值,避免分母为0。
3)将全图所有块特征向量进行串联,得到全图的ngHOG特征向量。
PCA方法可以在最大程度保留特征主成份的同时快速降维,SR方法对图像缺损信息不敏感,有助于提升对遮挡和阴影等原因导致信息缺损图像的识别,故结合PCA和SR设计稀疏表示分类器(sparse representation classifier,SRC),其关键步骤如下:
1)采用ngHOG特征提取算法得特征矩阵为A∈Rm×n,采用PCA方法取前k维得到降维后的特征矩阵B∈Rk×n,待测样本特征向量为y∈R×1,将y在B下进行稀疏表示
y=Bx+ε
(7)
式中x∈Rn×1为所求稀疏系数向量,ε为相应噪声强度。
2)利用L1范数最小化问题来求解稀疏系数向量
(8)
3)根据所求得的稀疏系数来计算y与每一类的重构误差,根据最小误差进行分类,得最终分类类别l
(9)
各方法的性能通过如下两个指标来衡量:
1)识别率A:识别率是判断算法识别准确性的指标
A=Ts/Mt×100 %
(10)
式中Ts为匹配正确的测试样本数,Mt为测试样本总数。
2)单幅图像平均匹配时间:Inter(R) Core(TM)i3—3240 CPU(3.40 GHz,2 GB RAM),MATLAB2015a环境下,从输入大小为128×64待测图像到输出识别结果的总时间的均值。
实验1 为了验证本文改进的ngHOG特征以及分类器设计的有效性,将所提算法与PCA,PCA+LDA,LBPH,HOG,PCA+SRC,HOG+PCA+SRC 6种经典算法进行比较:
1.1 项目审批及实施进展情况 全市坚持“四个到位”有序推进“创投”项目,取得了阶段性成果。截至2017年12月上旬,全市立项项目共96个,建设高标准农田1.902万hm2,总投资14.25亿元,其中担保或银行贷款10.63亿元,自筹资本金3.62亿元。正式落地“创投”项目28个。见表1。
1)PCA:采用PCA分析主成分,用最近邻分类器判别;
2)PCA+LDA:采用PCA降维,用LDA提取特征,用最近邻分类器分类;
3)LBP:采用LBP提取特征,用最近邻分类器分类;
4)HOG:用HOG提取特征,用最近邻分类器分类;
5)PCA+SRC:结合PCA和SRC进行分类;
6)HOG+PCA+SRC:采用HOG提取特征,PCA降维,用SRC分类。
识别结果如表1所示,不同方法识别时间列在表1中。
表1 不同方法识别率和识别时间比较
表中前3个数据库是PCA前50维的识别结果,自建数据库是PCA前18维的识别结果。根据表中的数据可知,PCA和LDA+PCA方法速度优势大,但在不同的数据集上识别率差别太大,稳定性不强;对于局部特征HOG和LBP,HOG在不同数据下识别率更高、更稳定,用时更短;表格最后3行展示了PCA+SRC,HOG+PCA+SRC以及ngHOG+PCA+SRC的识别结果,可以看出,没有使用HOG算子提取特征的PCA+SRC算法识别率波动较大,稳定性较弱,加入HOG特征识别率较稳定;HOG+PCA+SRC模型的识别率与HOG算法相近,但识别时间较短;而本文提出的ngHOG+PCA+SRC的方法识别率在不同数据库均有提升,且识别率都保持在93 %以上,稳定性较强,用时较短。
为了更直观地评价以上方法的性能,本文在polyU数据库上采用每类12个样本的图像进行实验,每类取不同数量样本进行训练,记录以上方法的识别率和单幅图像识别时间,结果如图2所示。
图2 不同算法识别率和识别时间与样本个数关系
可出看出:只用HOG特征进行识别,效果低于本文算法,但明显高于不使用HOG特征的PCA+SRC算法,本文所提算法对HOG特征进行了优化,得到修正后的ngHOG特征,具有更高的描述能力,使得在不同数量样本下的识别率都要高于其他6种算法,并结合PCA和SRC分类方法,使算法匹配时间一直稳定在100 ms左右,低于LBP和未降维的HOG方法。
实验2 为了更直观评估本文方法对于存在亮度不均、位置偏移、旋转和遮挡等复杂图像的识别性能,从polyU 数据库1选取程度较为严重的亮度不均图像18类,216张;位置偏移图像23类,276张;旋转图像29类,348张;遮挡图像9类,108张。训练与测试图像比例为1︰1,与实验1中的各方法比较,识别结果如表2所示。
表2 不同手指静脉识别算法性能比较 %
可以看出:在复杂图像实验中,本文方法与其他方法比较,在不同类别复杂图像上的识别率都最高。且结合表1结果可知,与PCA,LDA+PCA等方法相比,本文方法在数据库数量为350张以内的小样本和2 520张大样本情况下,都有更为稳定的表现,充分证明了本文所提方法对亮度不均、位置偏移、旋转和遮挡等复杂图像识别的性能优势。
实验3 将本文所提算法与近2年其他文献所提算法进行对比,文献[5,15]所用数据库和训练方式与本文所用SDUMLA数据库相同,故将本文所提算法与这两篇文献中的方法进行比较,文献[5]算法为基于尺度不变特征变换位移变形信息匹配算法;文献[15]为双倍二元模式(dual binary pattern,DBP)。上述方法比较结果为文献[5],DBP[16]和本文方法的识别率分别为94 %,94.10 %,98.64 %。可知,在SDUMLA数据库的实验中,本文所提方法识别率最高,达到了98.64 %,比其他两种方法提高了约4.5 %。
综合以上3次实验结果可知本文方法具有高且稳定的识别率,单幅图像识别时间较短:
1)采用HOG特征提取的分块局部特征,对旋转图像识别性能更好,ngHOG特征的块内归一化算法降低了光照和阴影对识别的影响,采用ngHOG方法得到的修正的直方图能够充分利用邻域像素点梯度信息,进一步提升了识别率;
2)采用PCA方法可以对高维的HOG特征进行降维,提升了算法运行效率;
3)采用SRC方法增强了图像对一定量高斯噪声鲁棒性,提升了对存在遮挡和阴影等信息缺损图像的识别性能。
4)该方法识别率受图像偏转角度限制,无法识别偏转角度过大的图像,因此,下一步的研究目标将是在预处理过程中对图像进行增强和旋转矫正等方法来提升对大角度偏转图像的识别性能。