国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Harris角點檢測和聚類算法的掌紋圖像ROI提取方法

2018-11-20 09:28:28陳典典程培培馬軍山
光學儀器 2018年5期
關鍵詞:掌紋角點關鍵點

陳典典, 程培培, 馬軍山

(上海理工大學 光電信息與計算機工程學院, 上海 200093)

引 言

隨著社會信息化的深入發(fā)展,身份識別的重要性飛速上升。掌紋識別是一種有著廣泛應用前景的生物識別方法,是對現(xiàn)有生物識別技術的有益補充[1]。圖像預處理是掌紋識別過程的關鍵一環(huán),算法提取出的掌紋感興趣的區(qū)域(region of interest,ROI)的質量好壞直接影響到最終的識別效果[2]。因此尋找一種有效的掌紋ROI提取方法對于掌紋識別技術的研究十分重要。

目前已有的掌紋ROI提取方法主要有基于擬合橢圓的方法[3],基于最大內切圓的方法[4],基于曲率及小波變換的方法[5-6],基于形態(tài)學的方法[7]等,提取的掌紋ROI形狀主要有正方形、圓形與橢圓形等。其中,圓形和橢圓形的ROI具有較好的魯棒性,能夠適應不同大小的手掌。但與正方形ROI相比,其形狀特征不利于后續(xù)的特征提取與匹配工作,同時搜索最大內切圓或橢圓會耗費大量的時間,不利于掌紋識別的實際應用。因此正方形ROI的應用與研究更加廣泛。

在正方形掌紋ROI的提取過程中,關鍵點的檢測與定位至關重要。Harris算子是一種基于信號的點特征提取算子,具有計算簡單、提取的角點特征均勻合理、算子穩(wěn)定的特點[8]。因此部分研究者試圖將Harris角點檢測方法引入到掌紋圖像ROI提取中來。目前已有的基于Harris角點檢測算法進行掌紋ROI提取的方法[9]在應用中仍有很大的缺陷,具體表現(xiàn)在需要進行人為鼠標操作、結果誤差較大等。本文根據(jù)掌紋圖像的特點提出了一種基于Harris角點檢測和聚類算法的掌紋圖像ROI提取方法,并在香港理工大學與中科院自動化研究所的掌紋數(shù)據(jù)庫中進行測試,結果表明,該方法易于實現(xiàn),提取的結果準確性與穩(wěn)定性較好,并對各個掌紋數(shù)據(jù)庫具有普適性。

1 Harris角點檢測算法和聚類算法

1.1 Harris角點檢測算法

Harris角點檢測原理是利用移動的窗口在圖像中計算灰度變化值[10],其關鍵流程包括轉化為灰度圖像、計算差分圖像、高斯平滑、計算局部極值和確認角點。

對于一幅二維圖像I以及一個各向同性窗w,在某一像素點(x,y)上,將圖像窗口平移[u,v]則產生灰度變化的平方和E(u,v)為

(1)

使用二維函數(shù)的一階泰勒公式簡化式(1)可以得到

(2)

式中:Ix是圖像I在x方向上的梯度;Iy是圖像I在y方向上的梯度。令矩陣

(3)

定義角點相應函數(shù)R為

R(M)=det(M)-K·trace2(M)

(4)

式中:det(M)為矩陣的行列式;trace(M)為矩陣的跡;K為可調參數(shù),有關文獻建議范圍為0.04~0.15。Harris角點檢測算法就是對角點響應函數(shù)R進行閾值處理,當R大于給定的閾值,即判定為角點。

本文使用Harris角點檢測器對二值化掌紋圖像進行角點提取,當角點檢測器對圖像進行操作時,圖像明暗邊緣的細小鋸齒或尖峰會對角點檢測造成誤提取,對后續(xù)的關鍵點定位步驟造成不利的影響。增大窗口w的尺寸大小可以減小Harris矩陣方差,從而減少誤檢測的角點,但是會使角點形成簇。使用聚類算法尋找角點簇的中心點,可以得到關鍵點的坐標。

1.2 聚類算法

聚類分析就是用數(shù)學方法研究和處理給定對象的分類,其過程是按照某個特定標準(如距離準則)把一個數(shù)據(jù)集分割成不同的類或簇,使得同一個類簇內的數(shù)據(jù)對象的相似性盡可能大,同時不在同一個簇中的數(shù)據(jù)對象的差異性也盡可能得大[11]。如圖1所示,聚類算法將坐標系中所有的點分為了3類,計算出3個點作為聚類中心并作為每一類的代表。

目前有多種聚類方法[12],對于不同的應用情況,應當根據(jù)數(shù)據(jù)的類型以及聚類的目的進行選擇。本文主要使用了K-means聚類算法,是一種十分經典的高效率聚類算法。K-means算法以k為參數(shù),把n個對象分成k個簇,使簇內具有較高的相似度,而簇間的相似度較低。K-means算法的處理過程如下:首先,隨機地選擇k個對象,每個對象初始地代表了一個簇的平均值或中心;然后,對剩余的每個對象,根據(jù)其與各簇中心的距離,將它賦給最近的簇;最后,重新計算每個簇的平均值。這個過程不斷重復,直到準則函數(shù)收斂。

圖1 聚類算法的應用Fig.1 The application of clustering algorithm

2 掌紋ROI提取步驟

2.1 圖像降噪

如圖2所示,原始的圖像的噪聲會對后續(xù)的處理結果造成不利的影響。本文使用中值濾波器進行圖像降噪,設h(i,j)代表濾波之后的圖像,g(i,j)為濾波之前的圖像,則濾波窗口為A的圖像中值濾波可以表示為

h(i,j)=medA{g(i,j)}=med{g(i+r,j+s)}, (r,s)∈A

(5)

圖3為濾波后的圖像。

圖2 掌紋原圖像Fig.2 Palmprint source image

圖3 中值濾波后的掌紋圖像Fig.3 The palmprint image after median filtering

2.2 圖像的二值化與邊緣平滑

圖像二值化是一個重要步驟,本文算法采用固定閾值T=50對圖像進行二值化,此過程表示為

(6)

對二值圖像進行閉運算可以平滑圖像的邊緣,減少角點的誤提取,圖4和圖5分別表示了圖像經過二值化與邊緣平滑的結果。

2.3 角點檢測

對經過前文處理獲得的二值圖片進行Harris角點檢測。通過第1部分的分析可知,當使用較大的窗進行角點檢測時能夠在檢測結果中極大地減少無關的角點。本文算法中取窗的大小為10,圖6顯示了檢測結果。

2.4 關鍵點定位與坐標系建立

收集特定位置的角點簇并利用聚類算法分析,得到角點簇的中心。在得到的中心點中,取食指與中指之間角點簇的中心點O1(x1,y1)以及無名指與小拇指角點簇中心點O2(x2,y2)作為基準點,過這兩個點做直線為新建立坐標系的y軸,以線段O1O2的中點為原點,做線段的中垂線為x軸建立坐標系。如圖7所示。

圖4 二值化掌紋圖像Fig.4 Binary palmprint image

圖5 閉運算處理后的圖像Fig.5 The image after closed operation

圖6 角點檢測結果Fig.6 Results of corner test

圖7 建立坐標系Fig.7 Establishment of coordinate system

2.5 根據(jù)新坐標系定位ROI

最后根據(jù)步驟4確定的坐標進行掌紋ROI的定位提取,具體做法是:先將掌紋圖像以原點O為中心旋轉θ角度,θ可表示為

(7)

當θ為正值時,將圖像逆時針旋轉,反之順時針旋轉。之后確定合適的距離D,可以取得掌紋ROI圖像,圖8反映了這一過程。圖9為本算法取得的ROI圖像。

圖8 旋轉之后的圖片F(xiàn)ig.8 The image after rotate

圖9 截取到的掌紋ROIFig.9 Palmprint ROI

3 實驗分析

在本文ROI提取方法中,對檢測出來的角點進行篩選是十分重要的一環(huán)。對于不同的掌紋數(shù)據(jù)庫,因其圖像采集方式、擺放標準的不同,則角點收集范圍應當按照實際情況進行修改。本文算法分別針對香港理工大學掌紋數(shù)據(jù)庫以及中科院自動化研究所掌紋數(shù)據(jù)庫的不同特點制定了相應的角點收集與關鍵點篩選定位規(guī)則。 利用Python編程驗證本文方法,進行提取掌紋ROI的實驗。

3.1 處理香港理工大學掌紋數(shù)據(jù)庫

3.1.1圖像數(shù)據(jù)

香港理工大學掌紋數(shù)據(jù)庫[13]中的圖像均為256級的灰度圖像,是利用特殊的帶有定位裝置的掌紋圖像收集器進行收集的,故該掌紋數(shù)據(jù)庫的自由度較低,進行預處理較為容易。圖2顯示了該數(shù)據(jù)庫中的一張掌紋圖像,圖像的大小為284×384,格式為bmp格式。

圖10 關鍵點定位過程Fig.10 The positioning process of key points

3.1.2關鍵點定位

對于掌紋數(shù)據(jù)庫,根據(jù)圖6顯示的角點分布情況,可以制定如下的角點收集與篩選規(guī)則,圖10反映了這一過程:

1) 首先通過逐列搜索的方式得到點K1,K2,K3,K4的大致坐標;

2) 根據(jù)K1,K4兩點確定矩形ABCD為角點收集的范圍,得到角點坐標集合P;

3) 對集合P進行簇為4的K-means均值聚類,得到各個簇的中心點O1、O2、P1、P2;

4)O1、O2、P1、P24個點中縱坐標最小的點O1與最大的點O2即為我們要尋找的關鍵點。

3.1.3掌紋圖像處理結果

抽取300幅圖像組成測試圖像數(shù)據(jù)庫,其中10幅圖像來自同一只手,另外290幅圖像為隨機抽取。設置提取的ROI大小為128×128,圖11與圖12顯示了本文算法的提取效果。經統(tǒng)計,本文算法成功處理299張,失敗1張,成功率為99.7%。

圖11 對同一只手掌圖像的ROI提取結果Fig.11 The results of ROI extraction from same palmprint

圖12 對不同手掌圖像的ROI提取結果Fig.12 The results of ROI extraction from different palmprint

3.2 處理中科院自動化研究所掌紋數(shù)據(jù)庫

3.2.1圖像數(shù)據(jù)

中科院自動化研究所掌紋數(shù)據(jù)庫(CASIA)中的圖像亦均為256級的灰度圖像,該庫中的樣本均是使用CCD簡單采集得到,沒有用于固定的圓柱。故該掌紋數(shù)據(jù)庫的自由度較高,關鍵點難以定位,預處理難度較高,一般使用最大內切圓或擬合橢圓的方法提取ROI。圖 13顯示了CASIA中的幾張典型手掌圖像,圖像的大小為480×640,格式為jpg格式。

3.2.2關鍵點定位

對于CASIA掌紋數(shù)據(jù)庫,圖14顯示了角點分布情況,可以看出角點主要分布在指尖和兩指之間。由于不同圖像的角點簇的數(shù)量和位置不盡相同,因此確定角點收集與關鍵點篩選規(guī)則如下:

1) 收集圖像中的所有檢測到的角點坐標得到集合P;

2) 對集合P進行簇為n(n=3,4,5…)的K-means聚類,得到聚類中心;

3) 對所有得到的聚類中心點取整,判斷是否全部都位于集合P中,如果不是,則取n=n+1,并重復步驟2,如果是,則進行下一步;

4) 得到角點簇的中心點A、B、C、D、E后,如圖14所示,我們需要得到A、B、C三個指間點,可以利用A、B、C三點組成的三角形面積最小這一特性進行判斷;

5) 得到A、B、C三點的坐標后,縱坐標最小的點A與最大的點C即為我們要尋找的關鍵點。

圖13 CASIA掌紋數(shù)據(jù)庫圖像Fig.13 Images from CASIA palmprint database

圖14 角點檢測結果Fig.14 Results of corner test

3.2.3掌紋圖像處理結果

抽取200幅圖像組成測試圖像數(shù)據(jù)庫,其中5幅圖像來自同一只手,另外195幅圖像為隨機抽取。設定ROI提取大小為200×200,圖15與圖16顯示了本文算法的提取效果。經統(tǒng)計,本文算法成功處理198張,失敗2張,成功率為99%。

圖15 對同一只手掌的ROI提取結果Fig.15 The results of ROI extraction from the same palmprint

圖16 對不同手掌的ROI提取結果Fig.16 The results of ROI extraction from different palmprints

3.3 錯誤提取分析

圖17為錯誤提取的掌紋ROI圖像。通過分析,造成錯誤提取的直接原因是由于部分掌紋圖像由于存在較強的噪聲干擾,本文的方法未能有效地去除,使Harris角點檢測器提取到了較多且情況復雜的角點,從而未能正確提取到關鍵點,導致誤提取的出現(xiàn)。進一步減少圖像中噪聲對提取結果的干擾,是本文方法的改進方向。

圖17 錯誤提取的掌紋ROIFig.17 Wrong extraction of palmprint ROI

4 結 語

在掌紋識別技術的研究中,研究者往往需要花費大量的時間去研究提取掌紋圖像的ROI。通過實驗分析,本文提出的方法可以適應多種不同的掌紋數(shù)據(jù)庫,提取的效果穩(wěn)定準確。目前,有大量的庫函數(shù)可以幫助研究者實現(xiàn)本文的各項算法,因此本文方法實現(xiàn)簡單。綜上所述,本文所提出的基于Harris角點檢測及聚類算法的掌紋ROI提取方法對掌紋識別技術的研究發(fā)展很有意義。但同時本文算法無法對復雜背景下的掌紋圖像進行有效的ROI提取,運行效率仍有大量的優(yōu)化空間,需進一步優(yōu)化完善。

猜你喜歡
掌紋角點關鍵點
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
基于混合濾波LBP和PCA的掌紋識別
測控技術(2018年2期)2018-12-09 09:00:34
基于FAST角點檢測算法上對Y型與X型角點的檢測
敲窗的鳥
紅巖(2017年6期)2017-11-28 09:32:46
基于邊緣的角點分類和描述算法
電子科技(2016年12期)2016-12-26 02:25:49
基于圓環(huán)模板的改進Harris角點檢測算法
醫(yī)聯(lián)體要把握三個關鍵點
掌紋在臨床望診中的應用初探
青神县| 晋城| 菏泽市| 桃源县| 郎溪县| 屏东县| 邵东县| 满城县| 罗平县| 怀柔区| 通许县| 东乡| 鹤壁市| 始兴县| 祥云县| 会泽县| 那坡县| 澄江县| 安岳县| 永平县| 涪陵区| 微山县| 正定县| 攀枝花市| 普格县| 福鼎市| 铜川市| 淄博市| 甘肃省| 成武县| 黔西| 彰武县| 荃湾区| 阳新县| 精河县| 方山县| 乐平市| 宜丰县| 沂源县| 普陀区| 肃南|