文章快速检索  
  高级检索
圆盘法的手形特征点定位改进算法
张真林1 , 谢红1 , 张秀峰2
1. 哈尔滨工程大学 信息与通信工程学院, 黑龙江 哈尔滨 150001;
2. 大连民族大学 机电工程学院, 辽宁 大连 116600     
摘要: 为改善经典圆盘法受手形张开程度的影响太大,导致圆盘半径的大小及像素阈值难以确定的缺点,提高该方法在实际应用中的可行性,文中提出了改进型圆盘算法。通过对圆盘算法原理及手形轮廓特点进行分析,提出了圆盘极值算法,该算法采用圆盘邻域极值的方法对手指指峰点、指谷点分别确定,避免了像素阈值的使用,同时给予圆盘半径更大的适用空间,解决了圆盘法的局限性。实验表明应用该算法特征点定位成功率达98.8%,与圆盘法相比提高了40%左右。而在此基础上的基于特征矢量的手形识别率达87.1%。算法可以准确定位特征点,具有可行性。
关键词: 特征定位     轮廓跟踪     邻域极值     特征矢量     手形识别     圆盘法    
An improved algorithm for hand feature points localization based on disk method
ZHANG Zhenlin1, XIE Hong1, ZHANG Xiufeng2
1. College of Information and Communication Engineering, Harbin Engineering University, Harbin 150001, China;
2. College of Electromechanical Engineering, Dalian Nationalities University, Dalian 116600, China
Abstract: The disk method is heavily limited to hand opening degree, resulting in that it is hard to determine the disk radius size and pixel threshold. Therefore, the algorithm is not feasible in practical applications. In response to this limitation of disc algorithm, the authors proposed a disc extremum algorithm through analysis of the disc algorithm principle and hand-shaped profile characteristics. The algorithm uses the disk neighborhood extreme value method to determine the peak point and the valley point of the finger, avoiding the use of pixel threshold, while giving the disk radius a greater applicable space. The algorithm solves the limitation of disk algorithm. Experiments show that the algorithm's features localization success rate is up to 98.8%, increasing about 40% by comparison with the disc algorithm. And on this basis, hand recognition rate based on the feature vectors is 87.13%. The algorithm can accurately locate feature points, and it is feasible.
Key words: feature location     contour tracing     neighborhood extremum     feature vector     hand recognition     disk method    

生物识别技术种类众多,研究较多的有掌纹、指纹、虹膜、脸型以及手指静脉等[1]。与这些生物特征相比,手形受用户的可接受程度最高, 而且其还有对采集设备要求低、速度快、特征稳定性高的独特优势。手形特征还具有易与其他生物特征相结合的特点,手形和掌纹的特征融合就是目前的研究热点之一, 由此手形生物识别显得更有研究价值。

手形识别[2-4]技术主要是利用手指的长度和宽度、手掌的长度和宽度、手掌的表面积区分不同的个体。手形匹配分为手形轮廓点集匹配和手形特征矢量匹配2种方法。由于手形轮廓点集匹配方法速度慢, 特征矢量匹配速度快, 所以常采用特征矢量匹配的方法。

特征点定位[5-10]的准确性直接影响到识别的精确性,所以特征点的定位在手形识别中就显得尤为重要。目前特征点定位方法主要有圆盘法、曲率法、直线法和直线拟合法[11]等, 针对圆盘算法中存在的可实现性不强、运行速度慢的缺点,在该算法的基础上提出了基于圆盘极值点的特征点定位算法。该算法将圆盘法的主体思想由手形二值图像改用到手形轮廓图像中,并改进定位的方法,实验表明该方法可以快速准确的定位特征点的位置,具有广阔的适用范围。

1 图像预处理及轮廓提取

图像预处理是手形特征点定位的前期处理阶段,所用图像为摄像机自行室内无接触式采集图像和香港科技大学手形库图像,处理过程如下。

1) 图像灰度处理。首先,对读取的手形图像进行灰度化处理,绘制灰度图像的直方图,如图 1所示。

图 1 灰度图直方图

找出灰度集中范围,利用式(1)对灰度图像进行灰度增强,使图像更加清晰。

式中:ab分别为灰度图像直方图中灰度值集中分布的左右边界点;xy分别代表灰度增强前后的灰度值。

2) 确定图像分割阈值,进行二值化。由采集的图像可以看出图像由上向下逐渐变暗,为获得更好的二值化效果采用局部阈值二值化。由式(2)得每一部分的分割阈值tk,其中m1m2分别代表每一部分图像的起始行和结束行所在行数,n代表图像的总列数。根据各个部分分割阈值,对各个部分进行二值化,二值化公式如式(3)。

为获得更好的二值图像,对二值化后的图像再采用半径为1的圆盘进行腐蚀膨胀运算,剔除小区域,得到二值化手形图如图 2(a)所示。

图 2 二值图和轮廓图

3) 边界跟踪。根据8邻域边界跟踪算法获取手形边界轮廓,如图 2(b)所示。

2 特征点定位 2.1 圆盘算法

传统圆盘算法是针对二值图像的操作,原理如下:计算以轮廓点为中心、半径为R(待定)的圆盘内,背景区域和目标区域(手形区域)两者的面积,然后通过比较两者面积的大小或者像素个数的多少可以确定手形特征点的位置。圆盘算法原理如图 3所示,一个圆盘在轮廓线上移动,可以看出当圆盘在直线上时,背景区域和目标区域在圆盘上各占一半。当圆盘转到拐点的时候,背景和目标区域总有一个大于圆盘面积的一半。通过该方法能够找到手形图像指尖点和指根点所在区域。

图 3 边缘轮廓上移动的圆盘

在通过二值化得到的手形图像中,目标区域为白色区域,其像素灰度值为1;背景所在的区域是黑色的,像素灰度值为0。依照该算法的思想,选择一个合理的圆盘遍历手形轮廓边缘点的像素,计算出圆盘内背景和目标区域的像素个数。然后设定一个合理的阈值,通过对比统计的像素个数与阈值的大小来判断手指的指根点和指尖点区域。

根据以上原理做了大量实验,发现效果并不理想,对同一张图像的特征点提取结果如图 4所示,其中,图 4(a)半径偏小,图 4(b)半径偏大。分析原因认为由于每个人的习惯不同,手指分开的角度也不同,圆盘半径R的大小就不易确定,如果确定较大可能就会受相邻手指的影响不能准确的找到特征点的位置,如果较小可能就会造成特征点的丢失。

图 4 圆盘法确定的特征点
2.2 圆盘极值算法

针对原有圆盘算法的不足,提出了圆盘极值算法,与原有圆盘算法不同的是,新算法是以手形轮廓图像作为操作对象,基本原理如下:通过对图 3的分析,可以看出当圆盘在直线上移动时,在圆盘内有些目标区域和背景区域的点在圆心的上方,有些在圆心的下方;而当圆盘转到上凸区域的拐点时,在圆盘内目标区域的所有点都在圆心点的下方;当圆盘转到下凸区域的拐点时,在圆盘内背景区域的所有点都在圆心点的上方。再通过分析图像的轮廓图(图 2(b))可以看出,假设在某一手指的指峰处有一点T,则在点T的周围很大一个范围内的邻域内的点都在它的下方或者同一行,对于指谷也有着相似的特点,唯一不同的是邻域内的点在指谷点的上方或者同一行,而且只有特征点位置的点有这一特点,基于这一特点提出了圆盘极值算法,具体做法如下。

2.2.1 特征点定位

利用圆盘极值算法为准确快速地定位特征点位置同时也为后期确定特征点属于哪根手指做准备,特意将指峰和指谷分别存放。由于大拇指灵活性较大,在无接触采集图像时很容易造成大拇指不与其他手指在同一平面内,因此不对大拇指进行特征点定位,这样也可以减少计算时间。由于图像中符合算法思想的位置数目是确定的,又由图 2的轮廓图像可以看出大拇指的指峰和指谷均是指峰中的最低点和指谷中的最低点。利用此特点就可以轻易地去除大拇指区域。

特征点定位的具体步骤:

1) 创建7个空数组(Si[](i=1, 2, …, 7))用来存放满足条件的属于同一根手指的指峰或指谷的特征点,前4个数组存放指峰点其余存放指谷点。

2) 图像由上向下、由左向右进行扫描,当遇到邻域内轮廓点均不在其上方的点时记录此点行数m

3) 对第m行扫描得到此行所有满足条件的点,若相邻2点满足式(4)(ni代表第i个点的列坐标),则存入不同的数组,否则存入相同数组。

4) 取每个数组的中间值作为特征点,分别定义为点Ti(i=1, 2, …, 7)。其中前4个是指峰后3个是指谷。

5) 将所有指峰点按照列坐标由大到小排列,则分别代表的是食指、中指、无名指和小拇指的指峰点,并用T1T2T3T4对应表示。所有指谷点按照同样方式排列,则分别代表食指中指指谷、中指无名指指谷和无名指小拇指指谷,用T5T6T7对应表示。图 5为特征点定位仿真图。

图 5 特征点定位仿真图

2.2.2 边界点和指根点定位

两侧边界点的定位是指食指右侧的边界点T8和小拇指左侧的边界点T9,根据两点间距离公式计算T1T5的距离|T1T5|,以点T1为圆心,|T1T5|为半径画圆,与手指右侧的交点即为边界点T8,左侧边界点T9的搜索与此相同,以T4为圆心,|T4T7|为半径画圆。

接下来是定位指根点,由前面的工作已确定指根两边的点,根据下面2个中点坐标公式(5)、(6)可分别求得食指、中指、无名指、小拇指的指根点(piqi分别为横纵坐标)分别记为C1C2C3C4

3 特征矢量提取与识别

1) 在上面工作的基础上连接每根手指的指峰和指根点,根据两点间距离公式分别求出4根手指的绝对长度|T1C1|、|T2C2|、|T3C3|、|T4C4|。

2) 对于食指,以点T1为圆心,分别以|T1C1|的1/3和2/3为半径画圆,圆分别在食指两侧交于2点K1K2K3K4。连接两侧相应的点,则两点间的距离就是该位置手指的宽度|K1K2|、|K3K4|,取2个宽度的平均值作为食指的宽度矢量W1,用相同的方法可得到中指、无名指、小拇指的宽度矢量W2W3W4

根据以上得到的手指绝对长度和绝对宽度作为特征矢量,采用欧氏距离作为认证决策。计算待测用户的特征矢量{xi, i=1, 2, …, n}与注册用户之间的特征矢量{xi′, i=1, 2, …, n}的欧氏距离。当得到欧氏距离D小于设定的阈值, 判断为同一人的手, 否则判断为不同人的手。其中N表示特征向量的维数,计算欧式距离的公式为

该距离越小, 表明2个特征向量越贴近, 当该距离小于某一阈值时,即可认为两者达到匹配标准。

4 实验结果与分析

分别用2个实验验证算法的可行性和优化效果。

实验1  对算法的可行性验证。为使数据更有说明性,采用香港科技大学手形图像库和自行采集图像,分别进行特征点定位和手形识别实验。从图库中随机抽取50人,每人10张(1张样本图像、9张测试图像),分辨率640×480,共500张图像。每个特征向量共进行C5002=127 245次匹配实验,其中类内匹配5×C102=2 250次,类间匹配127 245-2 250=124 995次,同理从自行采集的图库中取,20人每人5张右手图像,1张样本图像、4张测试图像,共100张图像(图像分辨率524×394)实验在普通个人电脑上,用MATLAB编程仿真,实验结果如表 1

表 1 数据统计表
图像来源 图像数目 定位成功数 平均时间/s 匹配率/%
数据库 500 494 1.90 87.13
采集库 100 98 1.95 86.75

表 1可以看出,算法对权威图库特征点定位的成功率为98.80%,在此基础上的匹配率为87.13%;对自行采集图库定位成功率为98.00%,在此基础上的匹配率86.75%。分析部分定位失败的原因是由于图像预处理获得的轮廓不理想;另外由实验可以发现对两种图库(数据库图库和自行采集的图库)进行的实验在运行时间及匹配率上都有细小的差别,通过仿真分析可知这是由于自行采集的图库是在室内运用高精度摄像头无接触式采集的,与数据库图库相比实验设备比较简陋,采集的图像噪声较多,从而降低了图像处理速度和匹配率。同时,自行采集图库的无接触式采集方法增加了手形的灵活性,也对手形匹配率有一定的影响。综上所述该算法的特征点定位具有有效性和可行性。

实验2  验证改进算法的先进性和改进算法对原有算法的改进效果。图库同样采用香港科技大学手形图像库。从图库中选取与实验1同样数量的图像,对实验图库分别进行圆盘算法、改进算法和文献[5]中的直线拟合算法下进行定位实验,实验结果如表 2所示。另外选取手指弯曲图像进行改进算法和直线拟合算法下的定位仿真实验,仿真结果如图 6所示。

表 2 实验对照表
特征点
定位方法
图像数目 特征点定位
成功数
平均运行
时间/s
圆盘法 500 297 3.20
圆盘极值法 500 493 1.91
直线拟合法 500 480 1.71

图 6 弯曲手指的特征点定位

表 2可以看出改进后的算法特征点定位成功率明显提高,且运行时间大幅度减小,这主要是由于算法克服了原有算法受手指张开程度影响太大、半径大小和阈值难以确定的局限性;此外,由图 6可以看出,直线拟合算法在对手指有弯曲或者同一根手指粗细变化明显的手形定位效果较差,而改进型圆盘算法对此种情况下的手形图像依然具有很好的定位效果,表 2中2种方法的特征点定位成功数的差距,也是改进算法先进性的一种反应。实验结果表明算法比原有算法更具有适用性和实用性。

5 结束语

文中提出的圆盘极值算法,不仅准确率高、速度快、算法简单而且解决了传统圆盘算法阈值和半径难以确定的难题,特征定位效果显著提高,算法还降低了对图像采集的要求,同时提高了用户的舒适性,对被采集者手指张开程度没有苛刻要求,对手指有缺陷(弯曲、部分缺失)的用户也适合此算法。

参考文献
[1] 胡戎翔.基于掌纹和手形的生物特征识别方法[D].合肥:中国科学技术大学, 2012:7-50. http://www.cnki.com.cn/Article/CJFDTotal-ZNGD201603010.htm
[2] HU Rongxu, JIA Wei, ZHANG D, et al. Hand shape recognition based on coherent distance shape contexts[J]. Pattern recognition , 2012, 45 (9) : 3348-3359 DOI:10.1016/j.patcog.2012.02.018
[3] 苑玮琦, 汤永华, 荆澜涛. 手三模态融合识别方法[J]. 仪器仪表学报 , 2014, 35 (12) : 2746-2754
[4] 荆澜涛.非理想条件下手形识别方法的研究[D].沈阳:沈阳工业大学, 2014:37-50.
[5] 苑玮琦, 李燕. 手形特征点定位方法[J]. 计算机应用 , 2010, 30 (12) : 3311-3313
[6] 桑海峰, 武红娇, 何大阔. 手形、掌纹和掌静脉多特征融合识别[J]. 仪器仪表学报 , 2015, 36 (6) : 1356-1362
[7] XU Shuang, SUO Jidong, ZHAO Jiyin. Research on the location and segmentation technologies in palmprint identification[J]. Key engineering materials , 2011, 474-476 : 782-785 DOI:10.4028/www.scientific.net/KEM.474-476
[8] 闫琳, 史彦龙. 基于手指轮廓的手形验证算法[J]. 计算机安全 , 2009 (1) : 73-76
[9] ZHAO Fuqing, LI Xinying, ZHANG Qiuyu, et al. Polar-radius-invariant-moment based on key-points for hand gesture shape recognition[J]. Journal of software , 2012, 7 (1) : 88-94
[10] XIONG Wei, TOH K A, YAU W Y, et al. Model-guided deformable hand shape recognition without positioning aids[J]. Pattern recognition , 2005, 38 (10) : 1651-1664 DOI:10.1016/j.patcog.2004.07.008
[11] 苑玮琦, 马学亮. 手形特征点定位方法的研究[J]. 机械工程与自动化 , 2012 (6) : 209-211

文章信息

张真林, 谢红, 张秀峰
ZHANG Zhenlin, XIE Hong, ZHANG Xiufeng
圆盘法的手形特征点定位改进算法
An improved algorithm for hand feature points localization based on disk method
应用科技, 2016, 43(6): 62-66
Applied Science and Technology, 2016, 43(6): 62-66
DOI: 10.11991/yykj.201508018

文章历史

收稿日期: 2015-08-22
网络出版日期: 2016-11-27

相关文章

工作空间