陆展鸿,单鲁斌,苏立循,焦雨欣,王家骅,王海霞
(1.杭州海康威视数字技术股份有限公司,杭州 310051; 2.浙江工业大学 信息工程学院,杭州 310023;3.浙江工业大学 计算机科学与技术学院,杭州 310023)
在当今信息化时代,生物特征识别是鉴别个人身份、保护个人信息的有效手段。生物特征识别技术,是指利用机器视觉、图像处理等技术对生物特征采样进行身份识别。现有的主要生物识别特征 包 括 指 纹[1]、人 脸[2]、虹 膜[3]和 掌 纹[4]等。由于掌纹的纹路是由每个人的基因所决定的,即使后天受损,重新生长出来的纹路也保持原有形状,因此是一种具备相当大潜力的生物识别特征。掌纹识别技术是近几年发展起来的技术,与其他识别技术的优势在于:掌纹区域较大,具有较好的稳定性;掌纹采集对硬件的要求不高,故而设备成本较低;并且相比于其他生物特征识别技术,安全性较高,采集所需时间较短,识别的效果较好[5]。
掌纹原始图像一般存在纹理不清晰、掌纹图像具有不定旋转角度、图像存在噪声等问题。因此有必要对设备采集获取到的掌纹原始图像进行增强处理和感兴趣区域(ROI)提取[6]。现有的掌纹预处理方法普遍存在着时间成本大,方法之间有依赖关系等问题。随着近几年神经网络的迅速发展,神经网络在交通车辆[7]、步态识别[8]、车牌识别等领域取得了很大的成功。神经网络是模拟生物神经网络进行信息处理的一种数学模型,其目的在于模拟大脑的某些机理与机制实现一些特定的功能。它有着高度的并行结构和并行实现能力,能够充分发挥计算机的高速运算能力,可以很快找到最优解。同时它也可以处理一些非线性问题,并且有着自学习功能。近些年学者们也将神经网络引入掌纹识别领域,进一步促进了掌纹识别的发展。
本文提出神经网络在掌纹预处理部分中的图像增强与ROI提取的运用,采用的神经网络模型是U-Net神经网络[9],U-Net神经网络既可以处理分割问题,亦能降噪增强图像信息,它能够实现每个像素从点到点的处理。本文的贡献在于将掌纹预处理部分的图像增强和ROI提取放在同一个神经网络模型上运行,这大大减少了预处理的时间,去除了掌纹预处理部分之间的相互依赖关系。
现今常用的掌纹识别方法通常分为几个大类:①基于编码特征的识别方法[10-11]。通过将掌纹图像的特征转化为由0、1组成的数字编码,最后通过二进制算术运算获得图像间的相似度。②基于结构特征的识别方法[12-13]。通过边缘检测方法提取脊线、主线等方位信息来进行掌纹识别。③基于统计特征的识别方法[14-15]。利用图像的统计概念提取方差、标准差等特征,然后转化为用于匹配的向量。④基于子空间特征的识别方法[16-17]。将掌纹图像视为高维矩阵或向量,并通过投影或数学变换等方式转化为低维形式进行表征和分类,随后用于图像匹配。⑤基于特征学习的识别方法[18-19]。在现有掌纹识别的方法中,掌纹主线是重要的特征,Huang等[20]提出Radon变换掌纹的主线,再利用掌纹之间的相似度进行掌纹验证。Wu等[21]设计了一组定向线检测器,然后将这些检测器用于沿不同方向提取主线。通过对主要纹路的增强,可以有效地增强掌纹识别过程中对主线的提取效果,从而提高掌纹识别的准确率。
掌纹图像增强预处理中,最常使用的方法有小波变换(Wavelet Transform,WT)[22]、偏微分方程图像增强方法[23]、三维块匹配方法(BM3D)[24]等,然而这些方法在对每张图像进行处理时往往需要较多的时间成本,而且这些方法对不同环境采集的掌纹图像不能保持良好的鲁棒性。传统的ROI提取方法通过获取手掌的轮廓,找到指蹼的特征点,再通过特征点的位置进行ROI提取。李艳等[6]提出了一种对掌纹轮廓特征点进行提取的方法,即利用多个互相相切的外切圆和手掌边界的交点个数来判断角点的大概位置,然后通过结合手掌轮廓线近似直线的性质,从而得到手掌轮廓特征点的准确位置。但因为需要反复搜索圆心并调整半径,预处理时间长,复杂性高,不能用于实时系统。张秀峰等[25]为了改善ROI提取过程中会产生偏移的问题,提出了一种新的ROI分割方法:先确定手掌的指蹼位置,通过两个指蹼边界点拟合成一条直线,利用这条直线为基准,矫正手掌的偏转角度并确定ROI区域。这些传统方法的ROI提取对掌纹的质量要求非常高,而神经网络的出现,很好地解决了这些问题。
在2015年U-Net被Ronneberger等[9]所提出,其在全卷积神经网络(FCN)的基础上进行改良形成的,其特点是可以用较少的图像训练数据得到更好的处理结果,因其具有的特点近年来被广泛应用于医学图像处理的领域。Meng等[26]应用U-Net实现了对脑肿瘤图像的分割和增强,并与其他方法进行对比,发现有着更好的效果。Qian等[27]将模型应用于图像增强,也实现了较好的处理效果。神经网络在掌纹识别中也取得了较好的成绩。Gao等[19]结合了自上而下的无监督训练和训练样本建立Deep Belief Net,在掌纹识别上取得优于主成分分析(PCA)、局部二元模式(LBP)的结果。Liu和Sun[28]尝试使用AlexNet提取深度特征。Sun等[29]利用CNN-F网络进行掌纹识别,并评估不同层提取到的卷积特征。Lin等[30]提出了Palm RCNN进行掌纹识别,并公开了同济大学掌纹数据库。王海霞等[31]改进了轻量级U-Net,在不影响输出结果的前提下,有效的提高了计算时间。特别地,周瞳等[32]使用卷积神经网络的方法实现掌纹的提取。这些研究都证明了神经网络在掌纹图像处理中的巨大潜力。
本文方法流程图如图1所示,通过U-Net神经网络分别对掌纹图像进行图像增强与谷点分割,在该部分掌纹增强与ROI区域提取采取并行模式,该模式可以有效地去除图像增强与ROI提取相互的依赖性,确保处理方法的独立性。在2.1节中,对数据集的准备进行了介绍,包括有监督的图像去噪滤波、图像增强、特征点定位及数据扩增。在2.2节中,采用U-Net神经网络对掌纹图像进行增强与谷点位置预测,以及相关的后续处理。
图1 本文方法流程图Fig.1 Proposed method flow chart
数据集的准备具体步骤包括图像去噪滤波、图像增强、以ROI提取为目的的特征点定位,并进行数据扩增。
首先,掌纹图像分布着不均匀的噪声,掌纹的3条主线常常具有对比度不清晰的问题,并且掌纹的亮暗程度不均匀,需要对图像进行滤波处理。图像滤波就是对图像进行噪声上的过滤,抑制噪声对图像的影响,并且最大化地保留图像细节特征。本文采用BM3D方法,这是一种非局部方法,它的原理首先是通过和相邻图像块进行匹配,然后与之进行整合形成一个三维矩阵,在3D空间中进行滤波,然后再转换为2D。该方法分两步,实现对图像双重去噪:第一次是对原图匹配进行简单去噪,第二次去噪的权值将会以第一次去噪的结果作为基准,处理结果如图2所示。在实际去噪处理中,会不可避免地导致一些关键细节信息被模糊,如图2(b)所示。掌纹的3条关键纹路与手掌的对比度明显降低。本文采用Gabor小波变换进行图像增强。Gabor小波的优点在于对图像边缘检测敏感,从而能够有良好的尺度选择特性和方向选择,而且对光照变化不敏感,有着良好的适应性。Gabor小波变换处理结果如图2(c)所示。通过BM3D与Gabor小波变换,本文完成对掌纹增强数据集的处理与获取。
其次,针对掌纹ROI分割问题,为更精确定位ROI区域,本文通过对掌纹的2个关键指间谷点进行预测,再进行后处理定位的方式进行。数据集的标注是对关键指间谷点的标注,为尽量进行精确定位,本文采用手工标定。在标注出两个关键点之后,生成一副二值图,背景为黑,2个谷点为白色,长度为10个像素的矩形,如图2(d)所示。通过手工标注,完成对掌纹ROI提取数据集的获取。
图2 预处理步骤Fig.2 Pre-processing steps
由于深度学习需要较多的训练样本,而且对训练样本的处理也需要花费大量的时间。因此本文采用数据增强技术,以左右各旋转10°来进行数据集扩充。在此次训练中,对700张掌纹增强图像、ROI谷点图像进行扩充,获得2100张图片。来防止因为数据集过少而产生的神经网络过拟合问题,获得更好的增强效果。在香港理工大学的掌纹数据库中,每一张图像的像素大小为384×284。在网络训练的过程中,需要对图像进行3次下采样操作,每经过一次下采样处理,图像大小变为原来的一半,而284不能被2整除3次。所以调整图像大小为384×280。
2.2.1 网络结构
U-Net神经网络通过收缩路径和扩张路径构成了一个对称的U型网络。主要包含下采样和上采样2个部分,下采样进行特征提取。下采样过程中,图像的通道数翻倍,同时特征图维度减半。应用修正线性单元(Rectified Linear Unit,ReLU)激活函数,激活函数的作用就是引进非线性因素,这样使得神经网络可以应用于非线性的模型中去,而不是仅仅只是限制于线性函数。上采样的作用是把识别的特征还原到原图的大小上去,最终得出输出的结果。每次经过上采样层后特征图维度加倍,通道数减半,最终使图像恢复到原尺寸,在上采样的过程中同样也是应用ReLU激活函数。
图3和表1展示了网络结构和模型参数。本模型包含收缩路径和扩张路径。在收缩路径中,包含3个收缩单元,每个单元都包含2个卷积模块和1个池化层。进行完下采样后再经过2个卷积模块,就可以进行上采样操作。扩张路径同样有3个扩张单元,前面2个单元包含1个上采样层和2个卷积模块。最后1个扩张单元中包含上采样层、两个卷积模块和1个1×1大小的卷积模块。每次使用上采样层后特征图维度加倍、通道数减半。跳跃连接增加了收缩路径和扩张路径之间的通路。
图3 U-Net神经网络结构Fig.3 U-Net neural network structure
表1 U-Net神经网络模型参数Tab le 1 U-Net neural network m odel param eters
2.2.2 掌纹增强与ROI提取网络的能量函数设定
在深度学习中,激活函数和损失函数在神经网络中都起着重要作用,激活函数给网络引入了非线性因素,使得网络能够逼近任何的函数。常用到的输出层激活函数主要包括:sigmoid、tanh、ReLU。不同的输出层激活函数的选择,将会产生不同的输出效果,因此需要根据各激活函数的特点进行选择。针对掌纹增强网络,本文经过实验对比分析,发现3种激活函数效果差异明显,当采用ReLU函数为激活函数,效果明显优于其他2种函数,因此ReLU选择作为掌纹增强的激活函数,它是分段函数,函数收敛速度也明显比前两者快,并且能避免sigmoid和tanh函数都存在的梯度消失的问题,因此会更加适合图像增强的处理,ReLU函数图形如图4(a)所示,其计算公式为
机器学习过程中,需要对方法进行最小化的函数,这个函数就是损失函数。损失函数越小,表明真实值和预测值越接近,损失函数的选取要适应应用背景,没有适用所有情况的损失函数存在,常用的损失函数包含:均方误差、交叉熵误差、绝对值损失函数等。而在实际应用中也可根据自己的需求进行编写。
根据实验分析得出,本文应用的掌纹图像增强的损失函数loss1定义为式(2)所示,其最为接近训练样本:
式中:N为样本数量;fi为预测值;yi为真实值。当预测值越接近真实值时,loss1的返回值也越接近0,网络接近稳定。
针对掌纹ROI提取,3种激活函数效果差异明显,本文采用sigmoid函数为激活函数。sigmoid函数的本质是将取值为(-∞,+∞)的值映射到(0,1),所以经常被用在二分类的问题中,sigmoid函数图形如图4(b)所示,其计算公式为
图4 激活函数图形Fig.4 Graph of activation functions
根据分割需求,将本文应用的掌纹ROI提取的损失函数loss2定义为
式中:s为基值,它的取值为1,它的作用是防止出现分母为0的状况。当预测值越接近真实值时,loss2的返回值也越接近1,网络接近稳定。
2.2.3 ROI提取后处理
通过U-net网络掌纹增强可直接获取结果,而掌纹ROI提取只是获得中间过程图像,对掌纹的分割还需要从指间谷点进行后处理。如图5(a)所示,经过U-Net神经网络可得到了掌纹谷点分割结果。首先求取二值图中的2个关键点对应的质心,作为掌纹谷点,如图5(b)掌纹图像中的圆圈标记所示。其次,对2个谷点进行连接,对连接线和相对应垂线建立新的坐标轴,以2条直线交点为原点。如图6(a)所示,以此坐标系为主坐标系,2个谷点为标准点,调整掌纹图像角度,对掌纹图像进行ROI框取,框取的ROI大小为144×128,如图6(b)所示,最终效果图如图6(c)所示。
图5 关键点及掌纹对应谷点Fig.5 Key points and correspondingly valley points on plamprint
图6 ROI提取处理Fig.6 ROI extraction processing diagram
本文实验应用的掌纹数据库是来自香港理工大学掌纹数据库[33],包含7 752个图像,分别来自386个不同的手掌,每个手掌大约采集了20张图像,这20张图像分2个阶段进行采集,这2个阶段间隔在2个月左右。本文从香港理工大学掌纹数据库中选取1 000张掌纹图像,其中700张掌纹作为训练集进行神经网络训练,另外选择300张掌纹图像组成测试集,经过神经网络预测分别获得增强、分割图。以下将对该网络模型的性能进行评估。
图7是部分原始掌纹测试集图像和网络增强处理后的ROI图像对比,可以看出,掌纹的噪声明显降低,掌纹主要的3条纹路乳突纹、皱纹和屈肌线也更加的明显,并且这种效果是普遍适用所有300张测试集图像的。
图7 不同掌纹图像的增强结果Fig.7 Enhancement results of different palmprint images
对掌纹图像增强效果进行量化评估,常用峰值信噪比(PSNR)、信息熵(Entropy)、绝对均值误差(AMBE)来评估方法的性能。PSNR的值越大,Entropy值越大,AMBE值越小,则说明掌纹图像的增强效果越好。
将本文方法与BM3D去噪+Gabor小波增强、OBLNM[34]、RKTFILT[35]和SRAD[36]当前流行的掌纹图像增强方法的效果进行对比实验,由于缺少真值,本文采用2种方式获得真值。第1种以BM3D去噪+Gabor小波增强处理过后的掌纹图像为真值,第2种以OBLNM 处理过后的掌纹图像为真值。分别对2组真值图像添加高斯白噪声,再分别经过以上5种方法进行去噪增强。图8为第1种方式下掌纹图像增强效果对比。图9为第2种方式下掌纹图像增强效果对比。从表2和图像增强对比结果(图8和图9)可以看出,本文方法要优于其他方法。
表2 掌纹增强效果比较结果Table 2 Com parison resu lts of palm print enhancem ent
图8 BM3D去噪+Gabor小波增强后为真值的掌纹增强对比Fig.8 Comparison of palmprint enhancement after BM3D denoising+Gabor wavelet enhancement as truth value
图9 OBLNM增强后为真值的掌纹增强对比Fig.9 Comparison of palmprint enhancement after OBLNM enhancement as truth value
为了判断训练结束后的网络模型的科学性,将测试集300张掌纹图像进行手动标注指间谷点,并对标注好谷点后的图像进行ROI提取,将提取出来的掌纹感兴趣区域作为标准参考。同时采用其他2种方法——基于形态学角点检测的定位分割方法[37](方法1)与基于边缘跟踪的定位分割方法[38](方法2),与本文提出的基于U-Net神经网络输出的掌纹分割图像与标准图像进行面积重合率分析,通过将得到的谷点进一步计算成掌纹的感兴趣区域,划定位置,将掌纹图像转化为二值图像,掌纹ROI为1,背景为0,同理对其他方法和人工标注也进行同样处理,最后对两者进行与操作,计算重叠部分所占比例。结果如表3所示,本文方法面积重合率可达94.00%,而方法1的为91.18%,方法2的为88.00%。可见本文方法的结果和手动标注的真值有着较高的重合度,更加接近真实感兴趣区域,也意味着本文方法定位精度是可靠的。
表3 掌纹感兴趣区域重合度分析Table 3 Analysis of coincidence degree of palm print ROI
为了进一步判断本文提出的掌纹分割方法准确性,将基于形态学角点检测的定位分割方法、基于谷点聚类分析的定位分割方法和本文方法与手动标注分割的掌纹感兴趣区域图像进行相似性比较,本文选取2个相似度指标,分别为余弦相似度(Cosin相似度)和哈希相似度[39]。当两者的值越接近100%时,表示2张图像越相似。结果如表4所示。从表中可以看出,本文方法相比于另外2种掌纹分割方法有着更高的相似度。实验结果表明,基于U-Net神经网络掌纹分割有着较好的效果,对掌纹感兴趣区域有着精确的定位。
表4 掌纹分割图像相似度对比Tab le 4 Sim ilarity com parison of palm p rint segm entation im ages
为了验证神经网络方法处理速度更快的特点,本文对增强和分割时间进行统计。该实验以测试集300张掌纹图像的处理进行测试,实验环境为Linux操作系统,基于tesla和quadro的硬件平台。本文所提出的增强、分割方法均通过python编写的U-Net模型进行,分割后续处理部分运用MATLAB程序实现,对两者的处理时间进行统计;进行比较的增强方法为BM3D去噪+Gabor小波增强方法,由MATLAB程序实现;分割的比较方法分别为基于形态学角点检测的定位分割方法、基于边缘跟踪的定位分割方法,由MATLAB程序实现。统计结果如表5所示,每张掌纹图像经过BM3D去噪+Gabor小波增强处理所需时间为1 355.73 ms,基于形态学角点检测的定位分割方法进行ROI分割则需要32.23 ms,完成增强分割操作总共需要1 387.96 ms。基于边缘跟踪的定位分割方法进行ROI分割则需要14.49 ms,完成增强分割操作总共需要1 370.22 ms,而本文提出的基于U-Net神经网络的方法完成每张掌纹图像增强和分割仅需90.49 ms,因此可以看出基于U-Net神经网络处理效率明显优于常规方法。
表5 每张掌纹图像处理时间Table 5 Processing tim e of each palm print im age
本文提出了一种基于U-Net神经网络的掌纹增强与分割方法。掌纹图像增强中,所提方法能有效去除掌纹图像的噪声,并达到对掌纹3条主要纹路增强效果,性能优于其他方法。在掌纹感兴趣区域分割中,对比手动标注谷点分割的方法,所提方法比常规掌纹分割方法有着更高的定位精度。本文还对神经网络处理掌纹图像和常规方法处理掌纹图像进行时间对比,对比发现神经网络有着更快的处理速度,因此基于U-Net神经网络对掌纹图像进行增强和ROI分割是具有高效性。