李苋兰,张 顶,黄 晞
(福建师范大学 光电与信息工程学院 福建省光电传感应用工程技术研究中心,福州 350007)
生物特征识别技术作为目前最为方便与安全的识别技术,近年来得到了广泛关注,比如支付宝公司推出了基于个人声纹和人脸识别的认证支付技术.生物识别技术主要是指利用个体的生物特征进行身份认证的一种技术,目前主要的研究是针对个体的虹膜、指纹、掌纹、人脸等生物特征展开工作.相比之下,对于人体静脉纹的研究相对较少,而静脉纹在特征稳定性、独特性和持久度方面具有一定的优势.
掌静脉识别技术中,掌静脉图像质量对后续特征提取与匹配有着直接的影响,从而影响最终的识别率.因此,在特征提取之前需要对静脉图像进行质量评价,以剔除不适合特征识别的低质量静脉图像.
图像质量评价可以分为主观评价和客观评价,有参考评价部分参考以及无参考评价,考虑到掌静脉图像评价为实时评价且无标准图像可供参考,本文选择的是客观无参考的评价方法对图像进行质量评价.近年来,广大学者们针对静脉无参考评价这一课题做了大量的研究.文献[1]研究了近红外成像所生成的灰度图像的评价方法,分析了基于信息容量、能量谱-熵、伪信噪比的评价方法,以及每种方法所适用的场合,建立了基于静脉图像质量的评价方法.文献[2]中在分析人类视觉系统(HVS)性能的基础上,将图像有效区域、对比度、位置偏移度、模糊度、信息熵作为评价手指静脉图像质量的参数.并综合分析这些参数,加权获得静脉图像总质量评价函数.文献[3]提出了一种基于灰度共生矩阵及模糊逻辑的手掌静脉图像质量评价方法.通过研究对比度、熵、相关性的值与静脉纹理结构信息的关系,建立模糊推理系统对图像质量做出了最佳判别,从而验证了采集系统的性能.文献[4]组合图像质量评价法采用清晰度和对比度、相关系数的组合方法来评价生物特征图像质量.文献[5]结合手背静脉图像结构特点,选取了有效区域尺寸、对比度、清晰度、位置偏移和旋转角度作为手背静脉图像质量评价的参数.基于各参数改变对识别率影响曲线,提出了根据其平均斜率确定参数最优权值的方法,并利用加权的方法对各质量参数评分进行融合,最终得到手背图像总质量分数.文献[6]提取了空间域梯度、对比度、图像的二维熵、位置偏移度、信噪比等5 个特征值,然后对其进行加权融合进而建立质量评估模型.文献[7]提出通过提取输入图像的梯度、对比度以及信息熵3 个特征参数,来对手指静脉图像的质量进行评价,然后,通过支持向量机对评价的结果进行融合.文献[8]通过对质量评估算法与识别算法的有效结合,提出了一种基于质量评估的手指静脉识别算法,进一步提高了识别精度.文献[9]通过对采集的静脉图像进行分析,提出了一种基于Radon 变换的质量评估算法,实现了对手指静脉图像质量的评估.文献[10]提出了一种新颖的手指静脉图像评估方法,以减少低质量图像对识别性能的影响.首先,提取手指静脉图像的梯度,图像对比度和信息熵作为图像质量分数.其次,提出了基于三角范数的分数融合方法来区分图像质量.
通过以往学者的研究发现,对于静脉图像质量评价,主要是通过提取一些可以反映图像质量的特征,然后对这些特征进行加权融合得出图像的质量分数.加权系数的确定存在一定的主观性,或加权的算法较为复杂,算法的可解释性不强,评价方法的准确度有待提升.传统的方法所建立的模型不能全面、科学和本质的反应静脉数据的复杂特性,造成了信息量的丢失和分类准确性的不足,严重制约着静脉识别系统性能的进一步提高.BP-AdaBoost 算法结构简单,具有很强的非线性映射能力,自学习和自适应能力,以及泛化能力和容错能力,能够通过对样本集的训练学习,达到较高的分类准确率.克服了传统评价方法中,评价模型复杂,评价结果不够客观,无法全面本质的反映静脉数据的复杂特性等的一系列缺点.基于此,本文在前人研究的基础上,使用简单的BP 网络建立综合评价模型,同时结合AdaBoost 算法进一步提升评价模型的准确度.实验结果证明,该方法能够对图像进行准确的评价.
如何实现对掌静脉图像质量的合理评价,以期符合人类视觉主观感受,从而提高整个识别系统的性能.评价指标的确定显得尤为重要.本文中,分别从图像的前景与背景的对比度,图像静脉信息丰富度,图像脉络纹理清晰度等几个方面考量.确定了以对比度、信息熵、清晰度、等效视数为评价指标的评价体系.
就掌静脉图像而言,对比度主要体现在静脉部分和非静脉部分的灰度比值.总的来说,对比度大的图像静脉纹理更清晰,更容易看出静脉的纹理结构,分布与走势.而对比度低的静脉图像,其纹理结构特征不明显.因此,对比度差的图像容易在识别处理过程中产生错误,影响识别系统的准确率.
图像的对比度是指图像的均方差,图像的灰度差异,可以表示为式(1):
其中,C为图像的均方差(对比度),xi为图像的像素值,xmean为图像像素均值,N为一幅图像总的像素点个数.
我们选择3 幅对比度不同的图像如图1 所示,并对其进行了对比度的测量统计,如表1 所示.
图1 不同对比度掌静脉图像的ROI 区域
表1 图1 中3 幅图像对比度数值比较
对照图1 和表1 我们可以得出,图1(a)的图像最清晰,图像质量最好,相比较而言图1(b)次之,而图1(c)图像质量最差,最模糊,对应于表1 的数据,图1(a)的对比度值最大,图1(b)次之,图1(c)最小,因此我们可以说对比度大的图像质量较好.同时,为了说明此结论的一般性,我们选择170 幅掌静脉图像,分别为高质量低质量各85 幅,利用Matlab 软件绘制的对比度与图像质量关系的统计散点图如图2 所示,可看出高质量的图像较于低质量图像具有更大的对比度.综上,可以将对比度确定为本文掌静脉图像质量评价系统的重要指标之一.
一幅数字图像是由不同的像素点组成的,不同的像素点分布的不同位置不同概率,形成不同的图像.对于灰度静脉图像而言,其像素点的分布信息越丰富,静脉图像所含的信息量越大,从而表现为更清晰的静脉纹路.对于静脉信息熵的计算,由式(2)确定:
其中,H为图像信息熵,i为像素值范围0~255,pi表示像素值为i的像素在图像中出现的概率.
我们选择3 幅信息熵不同的图像如图3,并对其进行了对比度的测量统计,如表2 所示.
图2 掌静脉图像对比度统计散点图
图3 不同信息熵掌静脉图像的ROI 区域
表2 图3 中3 幅图像信息熵数值比较
对照图3 和表2 我们可以得出,图3(a)的图像最清晰,图像质量最好,相比较而言图3(b)次之,而图3(c)图像质量最差,最模糊,对应于表2 的数据,图3(a)的信息熵最大,图3(b)次之,图3(c)最小,因此我们可以说信息熵大的图像质量较好.类比于对比度分析,同样利用Matlab 软件绘制的信息熵与图像质量关系的统计散点图如图4 所示,可看出高质量的图像较于低质量图像具有更大的信息熵.综上,可将信息熵确定为本文掌静脉图像质量评价系统的重要指标之一.
清晰度作为衡量图像质量的重要指标之一,是一种以人为主观感觉为主的一种评判标准.静脉纹理走向是否清晰取决于图像的清晰度.本文参考文献[5]中的方法.首先用Canny 算子提取静脉图像的边缘,得到边缘图像,然后统计所得边缘图像的前景像素点个数,用前景像素点个数来表示图像静脉边缘区域面积大小S1,最后把边缘面积S1与图像大小S的比值作为图像的清晰度,如式(3)所示:
我们选择3 幅清晰度不同的图像如图5 所示,并对其进行了清晰度的测量统计,如表3 所示.
图4 掌静脉图像信息熵统计散点图
图5 不同清晰度掌静脉图像的ROI 区域
表3 图5 中3 幅图像清晰度数值比较
对照图5 和表3 我们可以得出,图5(a)的图像最清晰,图像质量最好,相比较而言图5(b)次之,而图5(c)图像质量最差,最模糊,对应于表3 的数据,图5(a)的清晰度值最大,图5(b)次之,图5(c)最小,因此我们可以说清晰度好的图像质量较好.类比于前面的分析,同样利用Matlab 软件绘制的清晰度与图像质量关系的统计散点图如图6 所示,可看出高质量的图像较于低质量图像具有更大的清晰度值.综上,可以将清晰度确定为本文掌静脉图像质量评价系统的重要指标之一.
等效视数作为图像质量评价的重要标准之一.研究发现[11]在掌静脉图像质量评价的过程中,运用等效视数这一指标可以很好的反应静脉图像纹理的清晰性,体现整幅图像的灰度对比度,等效视数越大,对比度越小,图像越模糊,图像质量越差.等效视数可以由式(4)确定:
其中,μ为图像灰度均值,σ为图像灰度标准差.
我们选择3 幅等效视数不同的图像如图7 所示,并对其进行了等效视数的测量统计,如表4 所示.
图6 掌静脉图像清晰度统计散点图
图7 不同等效视数掌静脉图像的ROI 区域
表4 图7 中3 幅图像等效视数数值比较
对照图7 和表4 我们可以得出,图7(a)的图像最清晰,图像质量最好,相比较而言图7(b)次之,而图7(c)图像质量最差,最模糊,对应于表4 的数据,图7(c)的等效视数最大,图7(b)次之,图7(a)最小,因此我们可以说等效视数小的图像质量较好.类比于前面的分析,同样利用Matlab 软件绘制的等效视数与图像质量关系的统计散点图如图8 所示,可看出高质量的图像较于低质量图像具有更小的等效视数值.综上,可以将等效视数确定为本文掌静脉图像质量评价系统的重要指标之一.
图8 掌静脉图像等效视数统计散点图
上述确定了4 个评价指标,若只根据某一指标来评价图像质量,显然无法准确区分图像质量的优劣.因此考虑综合使用4 种指标对静脉图像进行评价分类.传统评价方法即将各指标进行加权融合,对图像进行评价分类.
使用评价指标加权融合的方法对图像进行评价分类的算法步骤如下:
(1)对数据库中的图像进行打分及分类
对静脉图像进行人工打分(总分为100),同时设置得分阈值T,本文阈值设为80,若低于阈值T则为低质图像,高为阈值T为高质图像.
(2)确定各指标权重系数
对每个评价指标权重的计算,主要根据人为主观因素确定一定数量的高质量静脉图像和低质量的静脉图像,分别计算四个评价指标的区分度,即图9 所示的重合Sn.对于每个质量评价指标来说,Sn越小就说明该评价指标越能够有效区分静脉图像质量的高低,从而该质量因子的权重就应该越大.因此有:
w1,w2,w3,w4分别为4 项指标的权重,根据式(5),经过实验选定本文的w1=0.29,w2=0.25,w3=0.15,w4=0.31.
(3)对图像进行综合评分
图像最终得分可根据式(6)计算:
其中,Q1,Q2,Q3,Q4为 4 项指标的评价得分,Q为评价综合得分.
(4)按评分结果对图像进行分类
根据评分结果依据规定的分类阈值T对静脉图像进行分类.
(5)计算分类准确率
对比数据样本统计分类准确的个数,计算准确率.
图9 权重的确定
BP 神经网络是一种多层前馈神经网络,其特点是信号正向传播,误差反向传播.在正向传递过程中,信号是从输入层经过隐含层逐层处理,最后到达输出层.图10 为BP 神经网络拓扑结构.
图10 BP 神经网络拓扑结构图
AdaBoost 的算法思想是综合多个弱分类器的输出来从而得出更有效的分类.其算法步骤主要为:
选择弱分类器和样本数据集,从数据集中选出m组数据作为训练集,数据集的训练权重均为1/m.接着用弱分类器迭代训练T次,每次训练后都按照训练输出结果更新训练数据的权重,将较大的权重赋予分类失败的训练数据.在下个弱分类器训练时给予训练失败的数据更多的关注.通过弱分类器的反复迭代训练得到一个分类函数序列f1,f2,f3,…,fT,同时,对每个分类函数赋予一个对应的权重,分类结果越好的函数对于的权重越大.经过T次迭代训练过后,最终的强分类器由弱分类器加权得到.在BP-AdaBoost 算法中选择BP 神经网络为弱分类器,根据AdaBoost 算法通过反复迭代训练多个BP 神经网络弱分类器得到最终的强分类器.BP-AdaBoost 的算法流程图如图11 所示.
图11 BP-AdaBoost 算法过程
由于采集设备限制、周围环境的影响以及个体手掌肌肉骨骼组织的差异,往往采集的手掌静脉图像质量太差,即便进行后续的增强处理也无法满足后续识别的需求,大大降低了系统的识别准确率.降低了系统的性能.因此,对于前端图像的质量评价显得尤为重要.图像的质量评价可以分为质量得分评价和质量分类评价.鉴于对掌静脉图像的评价旨在去除劣质图像,保留优质图像的目的,本文采用质量分类的评价方法.首先,截静脉图像的ROI.然后,确定掌静脉图像质量的评价指标,本文选择对比度、信息熵、清晰度以及等效视数这4 个参数为评价指标,对图像ROI 区域进行评价输出,以此为样本数据集.接着,构建[4 10 1]的单隐含层BP 神经网络模型,以4 个参数值为网络4 个输入,基于AdaBoost 算法,同时构造10 个同样结构的BP 神经网络,作为BP-AdaBoost 神经网络的基础弱分类器,通过网络的学习训练,得到最终的强分类器.最后,实现对静脉图像的准确分类.本文方法对掌静脉评价分类的流程图如图12 所示.
图12 掌静脉评价分类的流程图
由图2,图4,图6,图8 我们可以发现对比度、图像熵、清晰度、等效视数可以较好的区分高低质的掌静脉图像.但是,高、低质图像的每类指标分数均存在重叠现象.例如,在图2 中对比度值在[8,13]的区间内高、低质图像存在较多的重叠;同理,在图4,图6,图8中我们发现信息熵、清晰度、等效视数也存在着部分区间高低质图像重叠现象,也就是说,针对以上4 种评价指标,均无法完全准确区分高、低质图像.鉴于以上分析,我们考虑综合使用四种评价参数来评价图像质量.针对上述线性不可分问题,考虑使用BP 网络的非线性拟合性能,以及优良的泛化能力.但其具有容易出现局部极小值,容易产生过拟合,以及准确率不高等缺点.我们进一步引入AdaBoost 算法,结合多个BP 弱分类器构建一个BP-AdaBoost 强分类器.
弱分类器的构建,即BP 网络结构与参数设置是构建分类器核心内容.本文以4 项评价指标为BP 网络输入,以掌静脉图像质量高、低为网络输出构建分类器.
在使用BP 网络构建弱分类器时,对网络的设计主要体现在网络层数、各层神经元个数、学习率、目标误差、传递函数、训练方法和训练数据的处理等方面.
(1)网络层数的确定
神经网络理论证明,单个隐含层神经网络可以逼近任何闭区间内的连续函数,换言之,即任意m维到n维的非线性映射都可以由三层神经网络来完成.在这里,我们采用三层神经网络对掌静脉图像进行分类.
(2)网络各层神经元个数的确定
输入层神经元个数取决于输入训练样本的维度.本实验中使用4 个评价指标作为输入.因此,本实验输入层设置为4 个神经元.同理,输出层的神经元个数取决于输出结果,本实验设定BP 为二分类器,用“1”代表高质量图像输出,“-1” 代表低质量图像输出,故输出层神经元个数为1.关于与隐含层神经元个数的确定,在实践中,通常采用凑试法来确定.可根据如式(7)来确定神经元个数的大致范围.
其中,l代表隐含层神经元个数,m为输入层神经元个数,n为输出层神经元个数,a可以取1~10 之间的任意整数.隐含层神经元个数可以靠上式确定一个初始值,然后以依次增加或者减少的方法,通过仿真输出确定最佳神经元个数.本实验中确定隐含层神经元为10 个.
(3)学习率的确定
学习率也称步长,在BP 算法中定为常数.一般情况下,为了获得较稳定的训练结果,学习速率的选择区间一般为[0,1].实验中我们将学习率设置为0.01.
(4)目标误差的确定
当网络训练误差达到期望误差时,训练则会停止.若期望误差设置过小,则需将隐含层节点数调整为较大,随即训练时间增加.因此,合适的目标误差对于网络性能是十分重要的,经过实验分析,将误差设置为0.01 时能取得较好的仿真结果.
(5)传递函数的确定
传递函数的确定应该视输入输出关系而定:若要求输出结果不含负数,则应采用logsig 函数;反之,采用tansig 函数.本实验中,隐含层采用的是tansig 函数,输出层采用的是purelin 函数.分别如式(8),式(9).
(6)训练方法的确定
BP 网络中有许多训练方法,选择哪种训练方法要根据实际训练数据的类型及分类情况所定.在Matlab环境中,网络训练学习函数为train.train 根据在newff函数中确定的训练函数来训练,不同的训练函数对应不同的训练算法.本文采用trainlm 训练算法.
(7)训练数据的初始化处理
数据归一化是神经网络对数据常做一种处理方法.通过数据归一化的方法把所有数据转化为[0,1]之间的数.为了能够消除各维数据间数量级的差别,避免因数据数量级差别较大而造成网络误差较大.本文中选用归一化方法如式(10):
其中,xmin为数据序列中最小数,xmax为数据序列中最大数.
BP-AdaBoost 强分类器是由多个基础BP 弱分类器反复训练预测样本输出,利用AdaBoost 算法将这些弱分类器进行线性加权求和得到最终的强分类器,本文选取10 个BP 弱分类器进行强分类器的构建.流程图如图13.
图13 BP-AdaBoost 强分类器构建流程图
BP-AdaBoost 强分类器构建过程:
(1)输入训练数据集
训练数据集输入input_train={(xai,xbi,xci,xdi),…,(xan,xbn,xcn,xdn)},训练数据集输出output_train={y1,y2,…,yn},n∈170,标签yi={1,-1}.
(2)训练数据集权重初始化
(3)对权值初始化后的数据集进行训练,得到BP弱分类器:cm(x)
(4)计算cm(x)分类误差
(5)计算cm(x)分类器的权值
(6)更新训练数据集权重
(7)最终强分类器
本文的图像数据库选择的是中科大的掌静脉数据库(CASIA).首先,通过人工选择高质量图像和低质量图像各85 张,并做上标记.高质量图像标记为“1”,低质量图像标记为“-1”.然后,采取的是最大内切圆的方法批量截取掌静脉图像ROI,截取的图像ROI 再归一化大小为182×182.接着,对这170 张图像依次进行质量评价,使用程序运行输出对比度,信息熵,清晰度,等效视数的四项指标的数据值.以这四维输出矩阵及标签作为样本数据集.
当数据集较小时,常将大约2/3~4/5 的样本数据用于训练,剩余样本用于测试.故本文中,分别抽取样本数据的50%,60%,70%,80%作为训练集.测试结果分别如表5 至表8 所示.分析表中数据我们发现,综合使用4 种评价指标的分类准确率比单一使用其中一种指标的分类准确率要高出30%到40%,从图14 也可以看出.此外,使用BP-AdaBoost 分类器的分类效果比单一使用一个BP 分类器的分类准确率要高出10%左右.
表5 样本的50%作为训练集的准确率测试结果
表6 样本的60%作为训练集的准确率测试结果
除此之外,由图15 我们可以发现相较于BP 分类器,BP-AdaBoost 分类器不仅可以在分类准确率上具有很大优势,同时,对于数据集划分方式具有很大的鲁棒性.从图15 中可以看出,随着训练样本占总体的比例越来越大,BP 分类器和BP-AdaBoost 分类器的分类准确率均不断提高,但BP-AdaBoost 分类器的分类准确率基本在98%~100%,BP 分类器的分类准确率在88%~94%,因此,当样本数据集较小时,BP-AdaBoost分类器的分类效果更稳定可靠.
表7 样本的70%作为训练集的准确率测试结果
表8 样本的80%作为训练集的准确率测试结果
图14 各评价指标对BP 分类器准确率影响对比图
图15 两种分类器不同数据集划分的分类准确率对比
图16 是BP-AdaBoost 模型与BP 模型预测误差绝对值对比图.明显可以看出BP-AdaBoost 分类器的预测误差明显低于BP 弱分类器的预测误差,说明了BPAdaBoost 模型的优良性能.
图16 BP-AdaBoost 模型与BP 模型预测误差绝对值对比图
综上,BP-AdaBoost 模型在掌静脉图像质量分类和预测上都能达到优良的效果.比BP 模型具有更高的准确度,更好的鲁棒性.
表9 为传统分类方法与本文BP-AdaBoost 分类方法准确率的对比.通过比较可以看出本文BP-AdaBoost分类方法准确率远高于传统分类方法,故本文方法具有更优的分类特性.
表9 加权融合的分类法与本文BP-AdaBoost 分类法准确率
在自动掌静脉身份认证系统中,为了更有效的提高识别系统的准确度,需要对采集到的掌静脉图像进行前端的质量评价.鉴于此,本文提出了一种基于BPAdaBoost 神经网络的多参数的掌静脉图像质量评价法.在确定以对比度、信息熵、清晰度和等效视数为掌静脉图像质量评价的4 项指标后.结合AdaBoost 算法,构造10 个BP 网络,以BP 网络为弱分类器,形成最终的BP-AdaBoost 强分类器,对图像进行分类评价.实验结果显示,本文方法相比较传统加权评价更具客观性,分类的准确率比传统评价指标加权融合的方法高出约14%,具有良好的应用价值.