本發明屬于圖像識別技術領域,特別是涉及一種基于超球?;炭臻g模型的手指靜脈圖像識別方法。
背景技術:
目前,由于傳統的生物特征識別技術的安全性較低,因此無法滿足人們對高精度身份識別的需求。隨著生物特征識別技術的發展,手指靜脈識別技術作為一種新型的生物特征識別技術存在很多優勢。首先,手指靜脈是活體識別,不同人的血管網絡結構幾乎在成年后終身不變;其次,手指靜脈是內部特征,不存在任何外界因素(如:磨損等)帶來的識別障礙;另外,手指靜脈的采集系統是非接觸性的,不存在易盜取問題。
人類智能的一個公認特點就是人們能從極不相同的粒度上觀察和分析同一問題。人們不僅能在不同粒度世界上進行問題求解,而且能夠很快地從一個粒度世界跳到另一個粒度世界,往返自如,毫無困難,這種處理不同粒度世界的能力,正是人類問題求解的強有力的表現。商空間模型正是模擬了這樣的問題求解方法,它可以將原問題空間變換到不同的粒度空間進行求解,通過充分的利用各個粒度上的信息,大大降低了問題求解的復雜度。但目前尚未見到有關商空間模型在手指靜脈圖像識別方面的應用。
技術實現要素:
為了解決上述問題,本發明的目的在于提供一種基于超球粒化商空間模型的手指靜脈圖像識別方法。
為了達到上述目的,本發明提供的基于超球?;炭臻g模型的手指靜脈圖像識別方法包括按順序進行的下列步驟:
1)將采集的所有手指靜脈ROI圖像分為兩部分,一部分作為訓練樣本集,一部分作為測試樣本集,然后將上述所有手指靜脈ROI圖像進行分類,并給定類別標簽,如果某些手指靜脈ROI圖像來自于同一根手指,則類別標簽相同;
2)將上述所有手指靜脈ROI圖像的尺寸歸一化為46*102像素,得到歸一化ROI圖像;
3)用各向異性濾波器對上述歸一化ROI圖像進行濾波,然后再利用中值濾波器進行濾波以去除脈沖噪聲,由此對歸一化ROI圖像進行預處理,得到預處理后的ROI圖像;
4)采用PCA對上述預處理后的ROI圖像進行降維,并獲取主成分特征,通過調節主成分特征占整個特征空間的貢獻率,將預處理后的ROI圖像降到不同的維數;
5)將上述訓練樣本集中每一張經預處理和PCA降維后的ROI圖像作為一個樣本并用高維空間中的一個超球粒來表示,超球粒的球心即為降維后的樣本特征向量,半徑設為0,這樣每個樣本都被抽象為高維空間中的一個具有球心和半徑的原粒,然后對樣本進行?;?,并構建分層遞階結構;
6)選取一個距離度量函數,通過此函數計算測試樣本集中待測試樣本與上述類粒集中每個類粒的距離,由此識別出待測試樣本的類別。
在步驟4)中,所述的采用PCA對上述預處理后的ROI圖像進行降維的具體步驟如下:
(1)特征中心化,即每一維的數據都減去該維的均值,特征中心化后得到矩陣B;
(2)計算矩陣B的協方差矩陣C;
(3)計算協方差矩陣C的特征值和特征向量;
(4)選取大的特征值對應的特征向量,得到新的數據集;特征值是由大到小排列的,如果前兩個特征值的和已經超過了所有特征值之和的97%,滿足要求,則取前兩個特征值對應的特征向量,得到一個4692*2的矩陣M;
A′5000*2=A5000*4692×M4692*2 (1)
根據式(1)就可將5000*4692的數據集A映射成了5000*2的數據集A′,特征由4692個減到了2個。
在步驟5)中,所述的對樣本進行?;?,并構建分層遞階結構的具體步驟如下:
①首先選定訓練樣本集中所有訓練樣本作為操作對象,每一個訓練樣本對應一個原粒;
②初始化一個空的類粒集,并將訓練樣本集中所有原粒放入原粒集;
③從原粒集中選出一個原粒并放入上述類粒集,作為第一個類粒;
④給定一個融合半徑閾值t1,然后將原粒集中的原粒從第二個原粒開始依次與上述第一個類粒進行融合而得到一個新粒G,融合公式為:
其中,第一個類粒G1=(C1,r1),第二個原粒G2=(C2,r2),C1,C2分別為第一個類粒G1,第二個原粒G2的球心,r1,r2分別為第一個類粒G1,第二個原粒G2的半徑;P=C1-r1(C12/||C12||),Q=C2+r2(C12/||C12||),C12是由第一個類粒G1的球心C1指向第二個原粒G2的球心C2的向量,C12=C2-C1,C是融合后新粒的圓心,R是融合后新粒的半徑;
融合后的新粒半徑為R1i,如果滿足R1i<t1,則將融合后的新粒作為第一個類粒放入類粒集中而代替開始放入的第一個類粒;然后繼續進行下一次的融合,直至融合后的新粒半徑R1i>t1,則將對應于這個融合后新粒的原粒放入類粒集的第二位,成為類粒集的第二個類粒;
⑤然后將原粒集中未融合的原粒繼續進行融合,不過要先比較待融合原粒與類粒集中哪個類粒最相似,相似程度用歐氏距離來衡量,由此找出與待融合原粒距離最近的類粒,然后將待融合原粒和這個類粒進行融合,如果融合后新粒的半徑超出融合半徑閾值t1,則將對應于這個融合后新粒的原粒放入類粒集而成為第三個類粒,如果未超出,則將融合后的新粒放入類粒集中而代替與其距離最近的那個類粒;依此方法最后可將原粒集中所有原粒進行?;玫揭粋€粗類粒集,即一個商集,該商集對應的空間為商空間;
⑥再設定一個小于上述融合半徑閾值t1的融合半徑閾值t1’,并按照步驟④—⑤的方法進行處理,得到一個細類粒集,并對粗類粒集和細類粒集構建拓撲關系;拓撲關系準則為只要細類粒集中具有粗類粒集中含有的原粒,就將粗類粒集與此細類粒集進行鏈接,細類粒集的類別由里面含有的大多數原粒的類別決定;以此準則,由此建立起兩個商空間的拓撲結構;
⑦由大到小改變融合半徑閾值,就可以得到由粗到細的不同類粒集,也就得到了不同的商集,由此形成了分層遞階結構。
所述的歐氏距離公式如下:
d(Gi,Gj)=‖Ci-Cj‖2-ri-rj (3)
其中,待融合原粒Gi=(Ci,ri),類粒Gj=(Cj,rj),Ci,Cj分別為待融合原粒Gi,類粒Gj的球心,ri,rj分別為待融合原粒Gi,類粒Gj的半徑。
在步驟6)中,所述的選取一個距離度量函數,通過此函數計算測試樣本集中待測試樣本與上述類粒集中每個類粒的距離,由此識別出待測試樣本的類別的方法是:距離度量函數選用歐氏距離,然后計算待測試樣本testm與類粒集中每個類粒的距離,選出和其距離最小的那個類粒的類別Classt,那么該類別Classt即為待測試樣本testm的類別;當為多層商空間時,首先將待測試樣本testm與粗類粒集中每個類粒進行比對,找到距離最小的粗類粒后,再與這個粗類粒有鏈接關系的細類粒進行比對,找到距離最小的細類粒,則該細類粒的類別即為待測試樣本testm的類別。
本發明提供的基于超球?;炭臻g模型的手指靜脈圖像識別方法具有如下優點:可避免先形成矩陣的過程,直接通過設定不同?;霃竭M行粒化形成分層遞階結構,使得運算效率大大提高,并成功應用于靜脈圖像識別,大大提高了識別效率。
附圖說明
圖1為歸一化ROI圖像。
圖2為預處理后的ROI圖像。
圖3為基于超球粒化的多層遞階結構。
具體實施方式
下面結合附圖和具體實施例對本發明提供的基于超球粒化商空間模型的手指靜脈圖像識別方法進行詳細說明。
本發明提供的基于超球粒化商空間模型的手指靜脈圖像識別方法包括按順序進行的下列步驟:
1)將采集的所有手指靜脈ROI圖像分為兩部分,一部分作為訓練樣本集,一部分作為測試樣本集,然后將上述所有手指靜脈ROI圖像進行分類,并給定類別標簽,如果某些手指靜脈ROI圖像來自于同一根手指,則類別標簽相同;
比如,本發明中一共采集500個人的同一根手指(右手食指)的10張手指靜脈ROI圖像,共計5000張,其中3500張作為訓練樣本集,1500張作為測試樣本集,每一個人的10張手指靜脈ROI圖像因為同屬一根手指,所以類別相同,則給定相同的類別標簽。
2)將上述所有手指靜脈ROI圖像的尺寸歸一化為46*102(4692)像素,得到如圖1所示的歸一化ROI圖像;
3)用各向異性濾波器對上述歸一化ROI圖像進行濾波,然后再利用中值濾波器進行濾波以去除脈沖噪聲,由此對歸一化ROI圖像進行預處理,得到預處理后的ROI圖像;
由圖1可見,歸一化ROI圖像的靜脈紋理和特征并不是很清晰,所以本步驟首先利用各向異性濾波器對其進行濾波。由于各向異性擴散所具有的優良特性,因此目前各向異性擴散濾波已廣泛應用于圖像處理的許多領域中。各向異性擴散將圖像描述為一個分片常數模型,即將邊緣作為區域的邊界,假定各區域內像素的灰度值為常數。各向異性擴散在鼓勵區域內平滑的同時禁止區域間平滑,從而使濾波器在平滑噪聲的同時能較好地保留邊緣等重要特征。然而,當圖像中存在較強的脈沖噪聲時,由于這些噪聲點與邊緣具有相似的梯度和方差,因此經過擴散處理后,這些噪聲常常會與邊緣一起被保留下來。所以本步驟再利用中值濾波器進行濾波以去除脈沖噪聲。經過以上對歸一化ROI圖像的預處理,得到如圖2所示的預處理后的ROI圖像。每一張預處理后的ROI圖像都可以用46*102的矩陣表示,將上述矩陣順序相接后,每一張預處理后的ROI圖像都可用一個1*4692的行向量來表示,這樣5000張預處理后的ROI圖像便可用一個5000*4692的矩陣來表示了。
4)采用PCA對上述預處理后的ROI圖像進行降維,并獲取主成分特征,通過調節主成分特征占整個特征空間的貢獻率,將預處理后的ROI圖像降到不同的維數;
信息粒在高維空間中的表示方法一直是粒計算的一個重要問題。本發明中用超球粒來表征每張預處理后的ROI圖像,但若將每張預處理后的ROI圖像直接看作一個超球粒,特征空間維數會很高(4692維),這使得超球粒在高維空間的表示變得困難,而且計算復雜,識別效率非常低,所以本步驟采用PCA(主成分分析法)對上述所有預處理后的ROI圖像進行降維,并獲取主成分特征,通過調節主成分特征占整個特征空間的貢獻率,將預處理后的ROI圖像降到不同的維數。
PCA降維過程如下:
(1)特征中心化,即每一維的數據都減去該維的均值。這里的“維”指的是一個特征或屬性。如在本發明中,5000張預處理后的ROI圖像的矩陣A5000*4692中每一列即為一維。特征中心化后得到矩陣B;
(2)計算矩陣B的協方差矩陣C;
(3)計算協方差矩陣C的特征值和特征向量;
(4)選取大的特征值對應的特征向量,得到新的數據集。特征值是由大到小排列的,如果前兩個特征值的和已經超過了所有特征值之和的97%,滿足要求,則取前兩個特征值對應的特征向量,得到一個4692*2的矩陣M。
A′5000*2=A5000*4692×M4692*2 (1)
根據式(1)就可將5000*4692的數據集A映射成了5000*2的數據集A′,特征由4692個減到了2個。
本發明中PCA降維貢獻率選為90%,最終降到68維。即經過PCA后,每個樣本都變為一個68維的行向量,所有預處理后的ROI圖像就組成了5000*68的矩陣。
5)將上述訓練樣本集中每一張經預處理和PCA降維后的ROI圖像作為一個樣本并用高維空間中的一個超球粒來表示,超球粒的球心即為降維后的樣本特征向量,半徑設為0,這樣每個樣本都被抽象為高維空間中的一個具有球心和半徑的原粒,然后對樣本進行?;嫿ǚ謱舆f階結構;
具體步驟如下:
①首先選定訓練樣本集中所有訓練樣本作為操作對象,每一個訓練樣本對應一個原粒;
②初始化一個空的類粒集,并將訓練樣本集中所有原粒放入原粒集;
③從原粒集中選出一個原粒并放入上述類粒集,作為第一個類粒;
④給定一個融合半徑閾值t1,然后將原粒集中的原粒從第二個原粒開始依次與上述第一個類粒進行融合而得到一個新粒G,融合公式為:
其中,第一個類粒G1=(C1,r1),第二個原粒G2=(C2,r2),C1,C2分別為第一個類粒G1,第二個原粒G2的球心,r1,r2分別為第一個類粒G1,第二個原粒G2的半徑;P=C1-r1(C12/||C12||),Q=C2+r2(C12/||C12||),C12是由第一個類粒G1的球心C1指向第二個原粒G2的球心C2的向量,C12=C2-C1,C是融合后新粒的圓心,R是融合后新粒的半徑。
融合后的新粒半徑為R1i,如果滿足R1i<t1,則將融合后的新粒作為第一個類粒放入類粒集中而代替開始放入的第一個類粒。然后繼續進行下一次的融合,直至融合后的新粒半徑R1i>t1,則將對應于這個融合后新粒的原粒放入類粒集的第二位,成為類粒集的第二個類粒。
⑤然后將原粒集中未融合的原粒繼續進行融合,不過要先比較待融合原粒與類粒集中哪個類粒最相似,相似程度用歐氏距離來衡量,由此找出與待融合原粒距離最近的類粒,然后將待融合原粒和這個類粒進行融合,如果融合后新粒的半徑超出融合半徑閾值t1,則將對應于這個融合后新粒的原粒放入類粒集而成為第三個類粒,如果未超出,則將融合后的新粒放入類粒集中而代替與其距離最近的那個類粒。依此方法最后可將原粒集中所有原粒進行?;?,得到一個粗類粒集,即一個商集,該商集對應的空間為商空間;
⑥再設定一個小于上述融合半徑閾值t1的融合半徑閾值t1’,并按照步驟④—⑤的方法進行處理,得到一個細類粒集,并對粗類粒集和細類粒集構建拓撲關系;拓撲關系準則為只要細類粒集中具有粗類粒集中含有的原粒,就將粗類粒集與此細類粒集進行鏈接,細類粒集的類別由里面含有的大多數原粒的類別決定。以此準則,由此建立起兩個商空間的拓撲結構;
⑦由大到小改變融合半徑閾值,就可以得到由粗到細的不同類粒集,也就得到了不同的商集,由此形成了分層遞階結構。當然,下一步驟的識別可以只選其中一個融合半徑閾值下的商集進行,這意味著只用到了一層商空間;還可以選擇幾個融合半徑閾值下的商集,并構建商集間的聯系,然后進行識別,這意味著用到了多層商空間。本發明方法采用二層商空間,即選擇兩個融合半徑閾值,得到一個粗類粒集,一個細類粒集,并對二者構建拓撲關系。基于超球粒化的多層遞階結構如圖3所示。其中t為融合半徑閾值。
歐氏距離公式如下:
d(Gi,Gj)=||Ci-Cj||2-ri-rj (3)
其中,待融合原粒Gi=(Ci,ri),類粒Gj=(Cj,rj),Ci,Cj分別為待融合原粒Gi,類粒Gj的球心,ri,rj分別為待融合原粒Gi,類粒Gj的半徑。
6)選取一個距離度量函數,通過此函數計算測試樣本集中待測試樣本與上述類粒集中每個類粒的距離,由此識別出待測試樣本的類別。
根據應用領域的不同,距離度量函數的形式很多。本發明中選用形式最為簡單的歐氏距離,其公式如式(3)所示,然后計算待測試樣本testm與類粒集中每個類粒的距離,選出和其距離最小的那個類粒的類別Classt,那么該類別Classt即為待測試樣本testm的類別。
當為多層商空間時,首先將待測試樣本testm與粗類粒集中每個類粒進行比對,找到距離最小的粗類粒后,再與這個粗類粒有鏈接關系的細類粒進行比對,找到距離最小的細類粒,則該細類粒的類別即為待測試樣本testm的類別。
為了驗證本發明方法的效果,本發明人所采用的數據庫包含500個不同個體的手指,每個個體包含10幅手指靜脈ROI圖像,總共5000幅手指靜脈ROI圖像。將所有手指靜脈ROI圖像的尺寸均歸一化為46*102(4692)像素,實驗環境為PC機,Matlab R2010a。
這里主要討論本發明方法在測試精度Ts(%)、測試時間Ts(s)、訓練精度Tr(%)和訓練時間Tr(s)四方面的識別性能,并與傳統的基于模糊等價關系矩陣的分層遞階結構方法進行了對比。實驗結果如表1所示。
表1基于超球?;謱舆f階結構的識別性能
為了增強對比性,兩種方法選取的均為兩層結構,由表中可以明顯看出,在訓練時間上本發明方法有明顯減少,測試時間也有所減少,精度均為99%以上,差別不大。由此可見,本發明方法能大大提高識別效率。
本發明方法不需要形成費時較長的模糊等價關系矩陣即可完成商空間的分層遞階結構,因此對傳統方法進行了改進,很好地提高了識別效率,并保證了高精度。