周 威, 刘 辉, 曾伟高
(湖南师范大学 物理与信息科学学院,湖南 长沙 410006)
传统的个人身份鉴别已经无法满足社会的需要,生物特征识别技术是代替传统方法的有效途径。指纹识别是使用得最早、最广泛,也是最为成熟的一种生物识别技术[1],但其不足之处在于:过干、过湿、较脏的手指不易识别,且指纹取像必须按压适度[2]。另外,人脸识别、手型识别和声音识别独特性、持久性和识别精度都不高[3,4]。苑玮琦等人[5]将掌纹灰度图像看作是三维空间下的灰度曲面,并将该曲面作为特征进行匹配,通过较大纹理存在的差异来计算方差,进而通过灰度曲面的凹凸程度来识别。该算法利用整幅图像进行匹配,丢失了部分掌纹信息,在数据逐渐加大的情况下,识别率会降低。陈梓毅等人[6]利用灰度差统计,通过判断对象点的灰度值和连续掌纹线点集的点数,提取出掌纹线的二值图像,最后通过隶属度评价掌纹线的提取效果。但该算法复杂度高,且识别率低,不满足实时性要求。然而,主线和褶皱并不是图像的全部信息,乳突纹波动较大的细小纹理同样是区分掌纹的重要信息。竺乐庆等人[7]利用Sobel算子求图像的梯度,提出指节纹主纹线特征,受光照影响较大,用投影匹配算法匹配的精度低。
本文提出的基于顶帽变换的掌纹、指节纹识别改进算法把指节纹与掌纹识别技术结合起来[8~12],仅提取指节纹和掌纹的主纹线,这样即增加了识别面积又提高了抗干扰能力,顶帽变换还能消除关照影响,且匹配过程速度快。适用于在大的手掌库中进行中高层粗匹配,筛选出最相似的库本进入下一层进行精细匹配。
本文拍摄的各手掌图像要求摄像头和手掌保持的相同距离不变、且五指张开和背景为黑色。采用Rgbzgray算法将采集的彩色图像(图1(a))进行灰度化处理(图1(b))。之后二值化提取手掌区域(图1(c)),用Sobel算子提取手掌边缘轮廓(图1(d))。
图1 图像预处理
1.1.1 顶帽变换提取指节纹、掌纹
通常采用开运算去除与结构元素相比尺寸较小的明亮细节,保持图像整体的灰度值和较大的明亮区域不受影响,用闭运算去除与结构元素相比尺寸较小的暗细节,保持图像整体灰度值和大的暗区域不受影响。
顶帽变换属于组合形态学运算,假设F为输入图像,B为采用的结构元素,G为输出图像,即从原图中减去形态学开操作后所得的图像,选取合适的结构元素进行灰度开运算可以使图像中仅剩下对背景的估计; 也可将小于结构元素的噪声清除,从原图中减去对背景的估计就可提取出目标。形态学顶帽变换定义如下
G=F-(F∘B)
(1)
基于手掌图像纹路易受光照、手掌颜色不均等影响,本文运用了顶帽变换法,首先对图1(a)的灰度图像进行闭运算处理如图2(a),再用该图减去图1(a)之后得出图2(b)结果。
图2 顶帽变换法处理手掌图像
1.1.2 手掌图像去噪
对顶帽变换后的图像进行二值化处理,得到图3(a),为了减少干扰,对该图像使用Bwareaopen算法虑除较小的连通域,得到图3(b)。
图3 手掌图像去噪结果
为了精准匹配手掌纹理特征,首先要把各手指有效区域和掌纹区域从整个手掌中分离出来,本文提取食指、中指、无名指、小指的指节纹和掌纹部分区域特征,拇指姿势变化较大,因此本文不作为特征予以考虑。
2.1.1 指谷和指尖关键点确定
一种比较鲁棒的指谷、指尖关键点提取技术是求解到腕部参考点的射线距离,腕部参考点本文定义为图1(d) 图像矩阵最后一行从左至右找到的第一个灰度值不是零的位置为参考点(图4(a))。之后沿顺时针方向跟踪手掌轮廓上的点与该腕部参考点的距离,将得到5个峰值点与4个谷值点,5个峰值对应五指指尖关键点,4个谷值对应指谷关键点,如图4(b)所示,对应点的跟踪轮廓与参考点线段距离如图5所示。
图4 参考点位置及指尖和指谷位置
图5 跟踪轮廓与参考点线段距离
食指左边缘和小拇指右边缘终点的确定,可以用图4(b)中按手掌轮廓顺时针方向点h和点g之间的离点f距离最近的点作为食指左边缘点,用顺时针方向a点之后的离b点距离最近的点作为小拇指右边缘终点。
2.1.2 分割手指并确定手指区域坐标
连接各手指对应边缘的指谷或边缘点,过对应手指的指尖作指谷连线的平行线,过指谷或边缘点作指谷连线的垂线,四条线围成的区域为手指区域(图6(a))。手指纹理包含在对应的矩形中(图6(b))。
图6 手指分割与区域匹配
找到大拇指与食指、食指与中指、中指与无名指之间的指谷坐标,即图5中h,f,d的位置。过点f和点d作一条直线L。过点h作L直线的平行线K,过点f作直线k的垂线X与直线k交于点r,过点d作直线k的垂线Y与直线k交于点t。直线L,K,X,Y围成的矩形区域为分割出的手掌区域。分割出的原图(图7(a))、灰度图像(图7(b))、最后处理分割图像(图7(c))。
图7 手掌区域分割灰度化
采用计算序贯相似检测算法(sequential similarity detection algorithm,SSDA)进行图像匹配,该算法直接计算一个给定区域内像素误差的累积即
(2)
计算出每个手指指节纹和对应掌纹的SAD,假设有节指纹阈值δ、掌纹阈值β和判别函数K,如果指节纹SAD<δ或掌纹SAD<β把判别函数K置为1;如果计算出的指节纹SAD≥δ或掌纹SAD≥β,判别函数K置为0。对于整个手掌,只有四个手指 (不考虑大拇指)和手掌都接受时才认为匹配成功,否则匹配失败,即
(3)
当add=5时接受,add<5时拒绝,其中i=0,1,2,3,4分别代表食指、中指、无名指、小指和手掌。
实验数据库由500个样本构成,采集了100个人的左手手掌,每个手掌5个样本采集设备由摄像头、光源和采集箱组成,采集箱和摄像头距离保持不变,采集时手指五指张开。本文用相似检测算法、投影匹配算法、角点检测算法和特征曲线检测算法分别提取出预处理时间、特征提取时间、特征匹配时间和等误率与本文的方法在本文数据库上进行了性能比较。比较结果如表1。
表1 不同算法的性能比较
本文提出了基于顶帽变换的指节纹、掌纹识别改进算法。手掌采集时不需要任何固定标志,对摄像装置的要求低,采集速度快。顶帽变换基本消除了手掌颜色不均的影响,大幅度减小了噪声的干扰,图像分割匹配提高了图像匹配的速度和精度。实验结果表明,本文方法有较高的识别率,匹配过程快速高效。后续将结合指节纹、掌纹和指纹特点组成一套完整、高效、精确的基于手掌图像的身份识别系统。