周新宇,姚茂国,竺乐庆
(浙江工商大学计算机与信息工程学院,浙江杭州310018)
掌纹识别技术是一种生物识别技术。人的掌纹具有唯一性和终身不变性,掌纹图像拥有丰富的纹理特征,而且图像易获取,因此,掌纹图像可用于人的身份识别。目前已提出的掌纹识别方法有基于结构的,基于子空间,基于编码和基于统计等[1]。主成分分析法[2],二维主成分分析法[3-4],独立主成分分析法[5-7],Fisher线性判别算法[8]的相继提出,以及多线性独立成分分析的掌纹识别方法使得掌纹识别研究日益成熟[9]。本文提出了一种基于SURF算法的掌纹识别新方法,完善和丰富了掌纹图像鉴别分析理论,是对现有掌纹识别算法的一种补充和扩展。
系统首先对原始掌纹图像进行预处理,预处理过程如图1所示。首先对图1(a)进行平滑处理和二值化处理得到图1(b),然后取得图1(b)的最大内切圆,得到图1(c),最后以该内切圆半径的0.8倍为边长取得正方形区域(以内切圆的圆心为正方形的中心)得到图1(d),显而易见,图1(d)集中了手掌大部分掌纹信息。
图1 图像预处理
SURF算法基于积分图像和Hessian 矩阵,因此SURF算法具有较快的速度,也更易于实现并行处理,在该章节对SURF算法做简要概述。
1.2.1 特征点提取
使用Hessian矩阵提取关键点在计算时间和精度方面都表现出良好性能。假设图像I里有一点p=(x,y),在点p处以尺度σ定义如下的Hessian矩阵:
式中,Lxx(p,σ)是高斯函数的二阶偏导g(σ)与图像 I的卷积,其中 g(σ)=Lxy(p,σ),Lyy(p,σ)类同。
在SURF算法中,用盒状滤波近似代替二阶高斯滤波[10],用积分图像来加速卷积以提高计算速度[11],盒状滤波和积分图像的定义分别参见文献10、11,这里不再展开描述。
通过这种方法计算图像中每个象素的H行列式的值,关键点的定位通过图像空间与尺度空间在3×3×3的邻域上运用非最大约束得到。
1.2.2 主方向确定
为保证旋转不变性,首先以特征点为中心,计算半径为6n(n为特征点所在的尺度值)的邻域内的点在x、y方向的Haar小波(Haar小波边长取4n)响应(通过积分图像可以很容易计算出),并给这些响应值赋高斯权重系数,使得靠近特征点的响应贡献大,而远离特征点的响应贡献度小,其次将60°范围内的响应相加以形成新的矢量,遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。
1.2.3 描述子形成
以特征点为中心,将坐标轴旋转到主方向,按照主方向选取边长为20n的正方形区域,将该窗口区域划分成4×4的子区域,在每一个子区域内,计算Haar小波在水平方向和垂直方向的响应dx和dy。每个子区域内小波响应dx和dy的总和作为子区域的特征。此外,为了获得强度变化的极性,分别累加dx和dy。因此,每个子区域提取到的特征向量表示为:
由4×4子区域构成的描述子长度为4×(4×4)=64维,再进行向量的归一化,从而对光照具有一定的鲁棒性。
对于特征向量匹配的实现首先采用关键点特征向量的欧氏距离作为两幅图像中关键点的相似性判定度量,在这两个特征点中,如果最近邻与次近邻的距离比值小于某个比例阈值,则接受这一对匹配点。然后采取随机采样一致性算法进行消除错配[12]。
随机采样一致性算法将运用上面所述的方法得到的匹配点集合划分成为内点与外点。在内点域中精确计算图像之间的变换关系。随机采样一致性的工作过程如下[13]:
(1)在全部M个样本中随机选择N个样本,通过N个样本估算参数x;
(2)计算全部M个样本中符合变换参数x的支集中的样本数量K;
(3)如果K足够大,则结束计算,当前参数x为变换结果;
(4)如果K不满足条件,重复(1)~(3),一共重复L次;
(5)错误退出。
此次实验采用的系统为Windows7旗舰版、Microsoft Visual Studio 2010旗舰版和OpenCV2.1。使用的电脑的主频为2.00GHz,内存为2G。实验数据集为Hong Kong PolyU掌纹图像库,该库包含了采集自386个不同手掌的图像样本。
实验分析了阈值b和阈值r变化时的识别精度。当最近邻与次近邻的比值小于r时,认为正在匹配的两个特征点匹配成功;当最终两幅图像成功匹配的特征点数大于b时,认为这两幅图像来自于同一手掌。对于不同的阈值b和r对这386类图像进行类内匹配以及类间匹配,计算出类内接受成功率和类间拒绝成功率。同一类图像之间匹配时接受的手掌对数占整个类内匹配次数的比例为类内接受成功率;而不同类手掌进行匹配时拒绝的手掌对数占整个类间匹配次数的比例为类间拒绝成功率。识别精度如表1所示。
表1 识别精度测试结果
从表1中可以看出随着阈值b的增大或者阈值r的减小,类内接受成功率逐渐降低,类间拒绝成功率逐渐增大,反之亦然。阈值r越大,排除的错配对数越少,当r取0.8以上时,对不同的掌纹难以拒绝,同时使匹配点对增多,探测最大一致匹配集更加耗时。总体而言,当阈值b为3,r为0.7,能获得类内接受成功率和类间拒绝成功率之间较好的折衷。
将图像旋转90°后与原图像进行匹配得到了如图2所示的实验结果。将图像缩小到原图的87%后与原图进行匹配得到了如图3所示的实验结果。用Adobe Photoshop软件将图像亮度调暗后与原图像进行匹配得到了如图4所示的实验结果。
图2 旋转变换
图3 尺寸变化
图4 光照变化
图2-4结果表明:当图像受到旋转、尺寸变化和关照变化的影响后,系统仍然能找到足够多的匹配点对,从而识别出同一个人的手掌。
本文提出了一种基于SURF算法和OpenCV的掌纹识别方法,直接使用开源的OpenCV函数库提高了编程效率。应用固定阈值法将手掌二值化,并提取出有效掌纹区域。然后用SURF算法提取并描述该区域的特征点,并将实验对象提取的特征点保存为文件以直接供后续实验使用,再通过随机采样一致性算法进行特征点之间的匹配。实验也得出了该方法具有较好的旋转、缩放不变性,具有复杂性低、鲁棒性好等优点。
[1] 岳峰,左旺孟,张大鹏.掌纹识别算法综述[J].自动化学报,2010,36(3):353-365.
[2] Lu Guangming,Zhang David,Wang Kuanquan.Palmprint Recognition Using Eigenpalms Features[J].Pattern Recognition Letters,2003,24(10):1 463 -1 467.
[3] 李 强 ,裘正定 .基于改进二维主成分分析的在线掌纹识别[J].电子学报 ,2005,33(10):1 886-1 889.
[4] 陶俊伟 ,姜 威 .改进的基于二维主分量分析的掌纹识别[J].光学技术 ,2007,33(2):283-286.
[5] Conn1e T,Teoh A,Jin Beng,et al.An Automated Palmprint Recognition System[J].Image and Vision Computing,2005,23(5):501-515.
[6] Shang Li,Huang Deshuang,Du Jixiang,et al.Palmprint Recognition Using Fast ICA Algorithm and Radial Basis Probabilistic Neural Network[J].Neurocomputing,2006,69(13):1 782 -1 786.
[7] 郭金玉 ,苑玮琦 .基于独立成分分析的掌纹识别[J].光电工程 ,2008,35(3):136-139.
[8] Wu Xiangqian,Zhang David,Wang Kuanquan.Fisherpalms- based Palmprint Recognition[J].Pattern Recognition Letters,2003,24(15):2 829-2 838.
[9] 郭金玉,古丽华,李元,等.基于多线性独立成分分析的掌纹识别[J].计算机工程,2011,36(12):13-15.
[10] Bay H ,Tuytelaars T,Van G L. SURF:Speeded up Robust Features[J].Computer vision and image understanding,2008,110(3):346 -359.
[11] Viola P,Jones M.Rapid Object Detection Using a Boosted Cascade Of Simple Features[J].Conferenceon computer vision and pattern recognition,2001,1(3):1 -9.
[12] Fischler A M,Bolles R C.Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography[J].Communications of ACM,1981,24(6):381-389.
[13] 谭磊,张桦,薛彦斌.一种基于特征点的图像匹配算法[J].天津理工大学学报,2006,22(6):66-69.