李厚君
摘 要:针对基于快速傅里叶变换的眉毛识别方法(FFTER)识别速度较慢的问题,设计了一种新的基于梯度模板匹配的眉毛识别方法(GTMER).该方法识别速度更快,更能够适合于实时应用.首先,利用图像梯度特征,快速匹配出纯眉毛模板的最相似区域;然后,通过小范围内的精准调整,得到一个准确的匹配位置;最后,利用傅里叶频谱距离,将待处理眉毛图像识别出来.实验表明:GTMER的识别速度最高比FFTER提升约38%,同时在BJUTED眉毛数据库上的识别正确率也达到98.12%.
关键词:眉毛识别;模板匹配;图像梯度;傅里叶频谱距离;生物特征识别
中图分类号: TP317.4 DOI:10.16375/j.cnki.cn45-1395/t.2018.03.010
0 引言
生物特征识别作为一项有用的身份验证技术,以其准确性、安全性和实用性得到了广泛的认可,尤其是指纹识别、人脸识别和虹膜识别等都已经大量应用于现实生活中[1].随着研究的不断深入,人体的各个方面特征,如步态[2]、耳朵[3]、掌纹[4]、指关节[5]等,都已经被使用并作为一种独立的生物特征进行研究.
在众多的生物特征识别技术里,虹膜识别被认为是准确性和安全性较高的一种技术.但是,要在开放环境中对虹膜实现自然采集是困难的.因为虹膜处于易移动的物体(眼球、头部)上,成像需要使用近红外光;并且它的尺寸很小,要求近距离的采集[6].此外,一旦出现闭眼或眨眼的情况,被采集的虹膜信息的完整性将难以保证.为此,Park等[6]提出了眼周生物特征识别的概念.相比于虹膜,眼周可以通过可见光,在一个相对远的距离下实现自然的采集,它甚至可以使用已有的人脸采集设备与人脸图像一起被采集到.眼周识别可以在人脸鼻子及以下部分被遮挡时,替代人脸识别.Park等使用了568人的模板库以及1 136幅测试图像进行眼周识别实验,正确率最高达到81.60%;但是当虹膜或眼睛被遮挡时,其平均识别正确率分别下降了3.65%和15.95%[6].可见,Park等所讨论的眼周识别方法对眼睛的依赖较强,一旦被采集者闭上眼睛,它的识别正确率将明显降低.虽然Park等预想在进一步研究中将眼睛轮廓作为一个特征加入眼周识别中,但眼睛的形状变化是多种多样的,这为特征提取带来不少困难.而另一方面,将眉毛包含在眼周识别区域内时,平均识别正确率提高了10.66%[6].可见眉毛对于眼周识别的重要性.事实上,眉毛在人脸中的作用不亚于眼睛[7];而且Li等[8]已经证明了眉毛是具有强可区分性的,其在801人的数据库中眉毛识别的正确率最高为75.66%,600人时最高达到78.50%,这与Park等讨论的眼周识别正确率很接近.因此,单独使用眉毛进行身份识别是可行和有效的.
眉毛识别作为一种独立的生物特征识别技术,仍不被广泛接受,相关的研究也十分有限[8-13].之前的眉毛识别方法[9-13],均是在检测识别框架下提出的,它们的识别正确率在80%~94%之间,而且需要从采集图像中手动圈选出眉毛区域.Li等[8]提出了一种匹配识别框架的思想,它使用快速傅里叶变换的模板匹配方法(Fast Fourier Transform,FFT),将匹配和识别有效结合在一起,实现了一种全自动的眉毛识别方法.并且在109人的公开眉毛数据库BJUTED[14]中,取得了98.12%的高識别正确率.但是,使用FFT并不是最佳的模板匹配方法,而它较低的匹配速度也影响到眉毛识别的效率.因此,有必要使用更加高效的模板匹配方法来替代FFT.高效的模板匹配方法很多,如快速正交Haar变换模板匹配算法(Fast Orthogonal Haar Transform,FOHT)[15],它是一种全搜索等价算法,能取得与FFT一致的匹配结果,并且在多模板匹配时优势显著.但是,FOHT在匹配筛选过程中需要预先设定阈值,这在自动眉毛识别过程中是困难的.梯度模板匹配算法(Gradient Template Matching,GTM)[16],是另一种高效的模板匹配方法,它使用图像梯度特征来进行匹配处理,但是其匹配结果可能会与FFT不一致,即GTM可能得不到精确的匹配结果,从而可能导致识别正确率的下降.
图像的梯度已经被证明是一种区分性很强的特征表示方法[17-18],并且具有一定的抗噪声和光照干扰能力[19].为此,本文仍使用梯度模板匹配方法,但是对匹配结果进行微调处理,以确保能获得很高的识别正确率.由于在使用图像梯度进行匹配时,对梯度值进行了过滤及量化处理,所以这种眉毛识别方法非常高效.本文将详细讨论这种基于梯度模板匹配的眉毛识别方法(GTMER).
1 梯度模板匹配方法
梯度模板匹配方法(GTM)是一种十分高效的模板匹配方法,它使用图像梯度特征,使得匹配过程具有一定的抗光照及噪声干扰能力.因此在模板不发生较大形变情况下,是一种理想的模板匹配方法.GTM的基本思路是:首先,将图像表征为其梯度特征图;然后,将图像梯度特征图进行过滤、量化以及拓展处理;最后,构建图像的梯度响应图,并最终完成模板匹配任务.注意到,由于在匹配过程中对图像的梯度进行了过滤、量化及拓展处理,因此GTM的匹配结果可能与FFT不一致,为此它也是一种非全搜索等价算法.
1.1 图像梯度
图像的梯度计算方法会影响到GTM的匹配效率和准确度,因此找到一种好的梯度计算方法很有必要.另一方面,图像的平滑操作也有利于产生更好的梯度特征,因为平滑操作能压制、弱化或消除图像中的细节、突变、边缘和噪声,从而更有利于梯度准确地表现出物体边缘[16,20].为此,在实验部分测试了不同尺度模板的高斯平滑和均值平滑对图像梯度特征的影响.事实上,对于眉毛图像而言,使用7×7大小的均值平滑模板能得到最佳的结果.高斯平滑之所以不如均值平滑,原因可能是它是一种加权模糊方法,这对采集的眉毛图像细节模糊不足,所以产生了过多的干扰梯度特征值.
对于图像的梯度计算,为了增强梯度特征值的鲁棒性,本文考虑了图像的各个颜色分量,并且令图像某一点位置上的梯度等于其幅值最大的颜色梯度分量.即,对于RGB图像P,其(i,j)点上的梯度分别表示为:
1.2 拓展梯度特征图
对图像梯度特征值进行过滤将有助于进一步减少噪声干扰,并提高梯度匹配的效率.过滤的原则是:设定一个较小阈值threshold,当M(i,j) < threshold时,令Px(i,j) = 0和Py(i,j)= 0;否则保持Px(i,j)和Py(i,j)的值不变.threshold值的设定会根据不同的梯度计算方法有所不同.第3节给出了针对BJUTED眉毛数据库不同梯度计算方法的一个最优threshold取值.
进一步地,需要对非零梯度特征值进行量化处理.首先,将非零梯度特征值的方向角度转到0~180o的范围空间内.图像(i,j)位置的梯度方向角度θ可按式(4)计算,
其中,符号“[?]”表示向上取整运算;Binary(k,n)表示将整数k转换为一个n位的二进制数,并且其第k位为1,其余位为0.例如,binary(1,3) = ‘001,binary(2,3) = ‘010,binary(3,3) =‘100.由于n是预先指定的,因此为了描述简单,本文余下部分将把Binary(k,n)记为Bk.
为了进一步增强量化后图像特征的抗噪能力,图像中每个位置上的量化值q(i,j)将被重新设定为其3×3邻域中出现次数最多的量化值,即:
[qs(i, j)=argmaxk∈{1, 2, …, n}{static(Bk, D3×3)}] , (7)
其中D3×3表示图像(i,j)位置的3×3邻域,即D3×3 =[i-1,i+1]×[j-1,j+1];static(Bk,D3×3)表示在邻域D3×3内,量化值Bk出现的次数.
图像梯度特征值的量化虽然有利于进行快速的匹配处理,但是由于经过了过滤处理,这使得图像梯度特征值变得非常稀疏,从而增大了匹配错误的可能性.因此需要对量化特征值进行拓展处理,并构造出图像的拓展梯度特征图.
拓展梯度特征图通过将每一点的梯度量化值向它的T×T邻域拓展而得到.拓展的另一个目的,是可以将匹配时的逐点移动变成在x和y方向上分别以T为步长进行移动,这大大提高了匹配计算的效率.如果用Q表示图像的拓展梯度特征图,则Q中的每个元素都可以表示成其T×T邻域所有的梯度量化值qs的或位运算,即:
其中,符号“?|?”表示或运算;式(8)等号的右边则表示了图像拓展梯度特征图中的每个元素Q(i,j),都由其邻域[D[i-T2, i+T2]×[j-T2, j+T2]]内的T×T个梯度量化值进行或运算后得到.
1.3 图像梯度
图像的梯度响应图是为了加快图像匹配而使用的一种技术,它将相似性计算转换为简单的检索操作.由于梯度量化值的有限性——只有n个不同的梯度量化值,因此可以预先计算出每一个梯度量化值与图像拓展梯度特征图Q之间的相似性矩阵,这些相似性矩阵便被称为梯度响应图.可见,每个输入图像都只对应n个不同方向的梯度响应图,利用它们可以进一步加速梯度匹配的过程.
2 基于梯度模板匹配的眉毛识别方法
匹配识别框架[8]是一种集匹配与识别为一体的生物特征识别框架,它不需要对识别目标进行定位,避免了由于定位不准确而导致的识别误差,如图1所示.事实上,匹配识别框架可以被分为匹配和识别两个阶段,而且这两个阶段存在一一对应关系.其中匹配阶段主要使用“匹配器”匹配出模板的最佳匹配区域,然后再在识别阶段利用最佳匹配区域进行判别距离的计算,从而获得最终识别结果.
2.1 匹配器的构造
利用GTM可以设计出高效的模板匹配方法,但是GTM无法保证获得与FFT一致的匹配结果.为此,有必要在(im,jm)的一个较小邻域内,进一步使用归一化相关系数(Normalized Cross-Correlation,NCC)作为相似性度量,计算出精确的匹配位置.其实际就是在一个较小的范围内,使用FFT来定位出精确的匹配位置,即:
对于眉毛图像识别而言,匹配位置的调整很有效果,图2展示了GTM的匹配结果,以及对它进行微调后的结果.可以看出,微调后的匹配位置更加精确.事实上,根据实验发现,经过调整处理后,更可以将眉毛识别的正确率提高2%左右.此外,图2的结果是在[-2T,2T]×[-2T,2T]邻域中调整得到的,这主要是因为在实验中发现如果该邻域取得较小,有些图像得到的精确匹配位置与实际仍有偏差,这有可能是因为图像所受光照强度变化较剧烈所引起的.因此,本文在后面的实验中,均在[-2T,2T]×[-2T,2T]大小的邻域内进行微调操作.
在识别阶段,使用匹配相似度作为识别判定时,识别正确率较低[8],因此需要引入健壮性更好的判别距离,以提高识别正确率.本文采用了Li等提出的处理方法,即:首先,将模板及其匹配得到的精确匹配的子区域归一化至相同的尺寸,如256×512;然后,再分别计算它们的一维频谱距离L1_FSD;最后,根据各个模板的L1_FSD距离值,可以识别出待识别图像的身份[8],即:
2.2 算法描述
基于梯度模板匹配的眉毛识别方法(GTMER)是匹配識别框架下构造的一种眉毛识别方法,其基本思想是:匹配阶段使用GTM,且匹配结束后使用FFT进行精确匹配位置微调;而识别阶段使用L1_FSD作为判别距离,并据此得出识别结果.具体算法描述如下:
Step 1 (匹配过程):
对于所有模板ti∈Gallery执行如下循环:
Step 1.1 使用GTM匹配出ti的匹配子区域si;
Step 1.2 使用FFT在si的一个较小领域中,匹配出ti的精确匹配子区域oi;
Step 2 (识别过程):
对于所有模板ti及其精确匹配子区域oi,计算它们的L1_FSD距离值.最终识别结果判别为R=argmin{L1_FSD(oi,ti)}.
虽然基于梯度匹配的眉毛识别方法在GTM的基础上再次使用了FFT,如Step 1.2 所示,但是,由于FFT仅在si的一个较小邻域内进行,该过程十分快速,因此,Step 1的整个计算效率并没有下降太多.
3 实验结果及分析
文中的实验均在BJUTED眉毛数据库[14]中进行.数据库包含109个样本的1 118幅BMP格式图像,这些图像均是以眉毛为中心,大小为576×768,且被分为闭眼和睁眼两类,每类各包含图像559幅,如图3所示.数据库中每个样本均对应有这两类图像,且平均每类的图像不少于5幅.从闭眼图像中每个样本随机抽取一幅图像,并手动地在图像中圈选出其纯眉毛区域以构成模板库,记为CTG.CTG中的眉毛模板平均大小约为166×437,共109个,分别对应109个样本.同时,构建一个更小规模的测试集,它包含109个样本的109幅睁眼图像,记为PS.使用CTG和PS,针对GTMER中可能存在的问题:图像模糊、匹配位置微调和梯度计算方法的影响,分别进行了实验分析.实验代码均使用C++语言进行编写,并使用一台配有i5-2400 CPU的微机,在Win7环境下使用VS2010进行编译和运行.
3.1 图像平滑操作对识别结果的影响
从1.1节的讨论可以了解到,不同的图像平滑方法直接影响到眉毛图像的梯度计算值,从而导致最终识别正确率的变化.为了分析图像平滑操作对识别正确率的影响,本文针对两种常用的平滑方法:高斯平滑和均值平滑,进行了不同尺度平滑卷积核的实验.实验使用Schaar算子计算图像的梯度,结果如图4所示.
图4中,mblur和gblur分别表示使用均值平滑和高斯平滑的方法对图像进行处理,mblur和gblur标记后紧跟的“_5”和“_7”分别表示图像平滑操作所使用的卷积核的大小:5×5或7×7;R和T分别表示识别正确率和平均每幅图像的识别时间(时间单位:s);G-N则表示梯度化后平均每个眉毛模板的有效梯度值数量,它直接影响到识别效率的高低.结果显示,对图像使用均值平滑操作总要优于高斯平滑.在相同条件下,均值平滑处理能获得更高的识别正确率和更快的识别速度.
另外,当使用5×5的卷积核进行图像平滑处理时,识别正确率明显低于使用7×7卷积核的情况,识别速度也更慢.在BJUTED眉毛数据库中,所采集到的图像许多都有明显的光照强度变化,直接计算图像梯度时,这些光照变化强烈的地方往往会产生较大的梯度值.图像的平滑操作刚好能模糊图像的这些变化,减少光照的影响.但是,使用5×5的卷积核对图像的模糊程度不足,致使图像仍保留有过多因光照强度变化而产生的细节,因此也使得图像计算得到更多的有效梯度值,从而干扰了匹配的准确性,降低了匹配效率,如图5所示.因此,本文余下的实验均使用7×7的卷积核对图像进行均值平滑处理.
3.2 梯度计算方法对识别结果的影响
图像梯度的计算方法有很多,它们都各有特点,计算得到的梯度特征也各不同.为了确定哪种方法更适合于眉毛识别,本实验在CTG和PS下测试了多种梯度计算方法,分别是:1-D的无中心算子(Uncentred)[-1,1]、中心算子(Centred)[-1,0,1]和3次修正算子(Cubic-corrected)[1,-8,0,8,-1],2-D的2×2对角算子(Diagonal1:[0,1;-1,0]和Diagonal2:[-1,0;0,1])、3×3的Sobel算子和Scharr算子.由于不同梯度计算方法在进行梯度筛选时,需要设定不同的阈值threshold,而threshold的选取对识别正确率和识别效率都有一定的影响.为找出最佳的阈值threshold,本实验分别对每种梯度计算方法测试了10个不同的阈值,如表1所示.对这些梯度计算方法采取不同的阈值threshold进行的实验结果如图6所示.
从图6可以看出,在选择适当的threshold值时,除了使用Sobel算子的方法外,其余方法均能达到98.17%的识别正确率.换言之,Sobel算子计算得到的梯度匹配结果不如其他算子计算得到的梯度更准确.虽然其他梯度计算方法所得到的最高眉毛识别正确率并没有差别,但是从图7的结果看,简单的计算方法在一定的threshold取值时,具有更快的识别速度,如threshold=3.2时的Uncentred算子、threshold=3.8时的Diagonal2算子和threshold=11.0时的Cubic-corrected算子,它们平均识别每幅图像的时间为0.48 s、0.50 s和0.50 s.因此,对于眉毛识别,在多数情况下简单而贴近于眉毛走势的梯度算子将是更好的选择.
3.3 BJUTED眉毛数据库上的性能比较实验
本实验选择目前在BJUTED数据库上识别率较高的FFTER方法[8]进行比较.使用CTG首先在PS测试集上进行实验,然后再在完整的BJUTED眉毛数据库上进行对比实验.实验使用了3.2节中除了Sobel算子外的其余所有梯度算子,它们的筛选阈值threshold分别设为图6中标记的最佳值.算法FFT均采用了OpenCV 3.0所提供的函数.
表2展示了在PS測试集上各方法的实验结果.其中,加速比(Speedup Ratio)的计算如下:
式中,TFFTER和TGTMER分别表示FFTER和GTMER的运行时间.可见,GTMER在使用Uncentred算子计算梯度时,要比FFTER快30.43%;即使是使用Diagnonal1算子时速度最慢,但也要比FFTER快7.25%.由此可见,GTMER的运行效率要高于FFTER.
表2的實验结果同时也显示,FFTER的识别正确率最高,达99.08%,高于GTMER的98.17%,多识别正确了一幅图像.进一步分析可知,GTMER之所以识别正确率低于FFTER,是因为GTMER将第105号样本图像识别成了第77号模板,而FFTER则能正确识别出第105号样本图像.如图7所示,第105号样本图像的眉毛颜色较淡,而图像中额头区域有较强的光照变化,因此经过平滑处理后,眉毛区域保留的有效梯度值较少,而额头区域保留的有效梯度值较多.在图7中,降低threshold值将得到更加明显的对比效果.虽然降低threshold值使得眉毛区域保留了更多有效梯度特征值,但它的匹配结果仍然不正确,这或许是梯度方向角量化方式所导致的结果.因为,每个梯度方向角都被量化为n位有效的二进制数,实验中取n=8,这使得量化的范围很有限,也进一步降低了额头区域与眉毛区域的辨识度,最终导致错误的梯度匹配结果.这也是梯度匹配的一个不足.此外,通过对识别错误的几个样本的分析发现,GTMER与FFTER一样,在图像发生明显的缩放时,也不能对图像做出正确的识别.这应该是使用FFT进行匹配位置微调所导致的结果,它虽然使得识别正确率提高了,但也造成了GTMER的一些局限性.
图8展示了BJUTED眉毛数据库中的实验结果.为使实验结果更清晰,本实验将BJUTED眉毛数据库划分为3部分:PCS、POS和PT.其中,PCS由除了生成CTG的图像外,所有的闭眼图像图组成;POS由所有睁眼图像组成;PT由PCS和POS的所有图像组成.从实验结果看,所测试的GTMER几种梯度算子,识别速度均要快于FFTER.其中使用Diagonal2算子的最快约0.48 s,相比于FFTER的0.78 s快了38%左右.另外,在PT测试集中Diagonal2的识别正确率也最高,约为98.12%,高于FFTER的97.82%.事实上,在PT测试集中,除了Diagonal1的识别正确率约97.72%低于FFTER,及Cubic-corrected的识别正确率与FFTER一样外,其他算子的识别正确率均要高于FFTER,分别为:Uncentred约98.02%,Scharr和Centred约97.92%.由图8看,对于PCS测试集的实验,除Cubic-corrected外,其他方法的识别正确率均要高于FFTER的98.44%,其中Centred的最高,约98.89%;而对于POS测试集的实验,Diagonal2和Cubic-corrected的识别正确率最高,约97.67%,而Centred和Diagonal1的则要明显低于FFTER的97.32%.因此,可以得到这样的结论:GTMER是一种比FFTER更快速的眉毛识别方法,并且多数情况下能获得比FFTER更高的识别正确率,如使用Diagonal2算子作为图像梯度计算方法时.
4 结论
利用图像梯度特征,本文在匹配识别框架下设计了一种快速的眉毛图像匹配识别算法,即基于梯度模板匹配的眉毛识别方法.该方法首先利用图像梯度,快速匹配出与纯眉毛模板最相似的区域;然后,通过微调得到精确的模板匹配位置;最后,使用L1_FSD作为判别距,识别出所输入眉毛图像的身份.在BJUTED眉毛数据库中的实验表明,基于梯度模板匹配的眉毛识别方法具有更快的识别速度,以及更高的识别正确率.但是实验也指出:基于梯度模板匹配的眉毛识别方法的不足,即图像光照强度变化特别强烈的地方,容易被误认为是物体的边缘,从而获得较多的梯度特征值,影响最终的匹配和识别正确性.要克服这一缺点,或许可以在图像采集阶段加以一定的约束,保证采集的图像没有特别强烈的光照变化;再或者可以通过视频图像进行识别认证,这都将有待于在未来的工作中加以研究.
参考文献
[1]王鹏涛,王智文. 基于PSO-LDA的人脸识别算法[J].广西科技大学学报,2017,28(1):85-90.
[2]HAYFRONACQUAH J B,NIXON M S,CARTER J N. Automatic gait recognition by symmetry analysis[J]. Pattern Recognition Letters,2003,24(13):2175-2183.
[3]CHEN H,BHANU B. Human ear recognition in 3D[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2007,29(4):718-737.
[4]DAI J,ZHOU J. Multifeature-based high-resolution palmprint recognition[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2011,33(5):945.
[5]KUMAR A,ZHOU Y. Human identification using Knucklecodes[C].IEEE,International Conference on Biometrics:Theory,Applications,and Systems.IEEE,2009:1-6.
[6]PARK U,JILLELA R R,ROSS A,et al. Periocular biometrics in the visible spectrum[J]. IEEE Transactions on Information Forensics & Security,2011,6(1):96-106.
[7]SINHA P,BALAS B,OSTROVSKY Y,et al. Face recognition by humans:nineteen results all computer vision researchers should know about[J].Proceedings of the IEEE,2007,94(11):1948-1962.
[8]LI Y,LI H,CAI Z. Human eyebrow recognition in the matching-recognizing framework ☆[J]. Computer Vision & Image Understanding,2013,117(2):170-181.
[9]LI Y,FU C. Eyebrow recognition:a new biometric technique[C].Iasted International Conference on Signal and Image Processing. ACTA Press,2007:506-510.
[10]LI Y,LI X. HMM Based Eyebrow Recognition[C]. International Conference on International Information Hiding and Multimedia Signal Processing.IEEE Computer Society,2007:135-138.
[11]LI Y,WANG L. Eyebrow recognition based on principal component analysis[J]. Computer Engineering & Science,2008,30(11):28-28.
[12]YANG X,XU X,LIU C. Eyebrow recognition based on sparsity preserving projections[C]. Conference Anthology,IEEE.IEEE,2014:1-4.
[13]XU X,YANG X,LI Y,et al. Eyebrow recognition using radon transform and sparsity preserving projections[C].International Conference on Automatic Control and Artificial Intelligence.IET,2013:1028-1033.
[14]LI Y,LI H. The BJUT eyebrow database[OL]. 2015. http://mpccl. bjut.edu.cn/EyebrowRecognition/BJUTEyebrowDatabase/BJUTED.html.
[15]LI Y,LI H,CAI Z. Fast orthogonal haar transform pattern matching via image square sum[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2014,36(9):1748.
[16]HINTERSTOISSER S,CAGNIART C,ILIC S,et al.Gradient response maps for real-time detection of textureless objects[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2012,34(5):876-888.
[17]LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision,2004,60(2):91-110.
[18]楊晓云,梁郁,梁鑫.基于LiDAR点云的城市地区植被提取算法研究[J].广西科技大学学报,2015,26(3):73-77.
[19]HINTERSTOISSER S,LEPETIT V,ILIC S,et al. Dominant orientation templates for real-time detection of texture-less objects[C]. Computer Vision and Pattern Recognition.IEEE,2010:2257-2264.
[20]DALAL N,TRIGGS B. Histograms of oriented gradients for human detection[C]. IEEE Computer Society Conference on Computer Vision & Pattern Recognition. IEEE Computer Society,2005:886-893.