劉 惠,張佳兵,張 彪
(大連理工大學(xué) 電子信息與電氣工程學(xué)院,遼寧 大連 116024)
隨著圖像處理和模式識(shí)別技術(shù)的不斷完善,指紋識(shí)別系統(tǒng)大量應(yīng)用于人們的生產(chǎn)和生活中。目前,單指指紋識(shí)別技術(shù)已經(jīng)相對較成熟,但是,指紋識(shí)別對比過程中的匹配指數(shù)原理,在單個(gè)指紋識(shí)別過程中會(huì)不可避免地出現(xiàn)一些誤錄率和錯(cuò)拒率,對生活和生產(chǎn)造成影響,甚至損失。在無需增加采集設(shè)備成本和識(shí)別算法復(fù)雜度的前提下,多指融合識(shí)別技術(shù)可提高單指指紋識(shí)別算法的性能[1]。此外在現(xiàn)場采集到的指紋也常以多指指紋的形式出現(xiàn),因此,在單指指紋識(shí)別的基礎(chǔ)上進(jìn)行多指指紋識(shí)別,以提高身份驗(yàn)證的準(zhǔn)確率,成為指紋識(shí)別的新興研究方向。多指指紋識(shí)別首先將單個(gè)指紋從包含多指紋的聯(lián)指圖上分割出來,然后將每個(gè)指紋逐一識(shí)別,因此聯(lián)指圖分割的結(jié)果直接影響多指指紋識(shí)別的效果,是多指指紋識(shí)別的關(guān)鍵。
國外相關(guān)文獻(xiàn)及專利報(bào)道了“指紋分割”論文[2],該論文提出的算法對于噪聲小的圖像處理效果較好,但缺乏降噪等預(yù)處理過程,且無法分割存在指紋連接情況下的特殊聯(lián)指圖。“指紋分割的系統(tǒng)和方法”LO P Z等人的發(fā)明專利[3]中所提出的算法速度較快,實(shí)時(shí)性好。但在指紋邊緣處處理效果不佳,且無法去除掌紋區(qū)域。國內(nèi)處理聯(lián)指圖的方法有基于頻域分析的聯(lián)指圖前后背景分離算法[4],該算法是建立在頻域的基礎(chǔ)上,降噪效果較好,但計(jì)算量較大。
本文提出了一種基于圖像插值和橢圓擬合的聯(lián)指圖分割系統(tǒng),該系統(tǒng)包括圖像濾波、指紋中心及指紋偏轉(zhuǎn)角度確定、非連指聯(lián)指圖旋轉(zhuǎn)、連指旋轉(zhuǎn)及插值分隔、邏輯指紋判斷及指紋提取6個(gè)部分。實(shí)驗(yàn)證明該算法不但可以成功地分割低對比度聯(lián)指圖、噪聲聯(lián)指圖、“光環(huán)”聯(lián)指圖、聯(lián)指圖旋轉(zhuǎn)、部分殘缺聯(lián)指圖,且可成功解決存在指紋連接情況下的特殊聯(lián)指圖分割。
由于聯(lián)指圖圖像灰度不均勻且存在噪聲,本算法設(shè)計(jì)了自適應(yīng)濾波[5]對圖像進(jìn)行初步濾波。
(1)計(jì)算圖像的閾值,并檢測閾值是否符合要求,以決定是否有必要進(jìn)行濾波操作。添加一個(gè)的下限L和一個(gè)U的上限u。當(dāng)圖像閾值大于U時(shí),則認(rèn)為圖像質(zhì)量比較高,能進(jìn)行有效的后續(xù)處理。
(2)非線性濾波加強(qiáng)。將噪聲進(jìn)行嚴(yán)格過濾,而相對放寬圖像失真的問題,采用了閾值乘以1.5的方式來加大閾值,并在后續(xù)步驟中,用原圖進(jìn)行了一定的補(bǔ)救措施。處理方式為:
其中,CGV表示當(dāng)前處理點(diǎn)的灰度值;Threshold表示加強(qiáng)閾值。
(3)高斯濾波。由于圖像中可能存在椒鹽噪聲,此時(shí)上述非線性濾波加強(qiáng)無法進(jìn)行有效地濾波,所以添加一個(gè)圖像平滑的高斯濾波,既不會(huì)對圖像造成太大的失真,又可有效地去除椒鹽噪聲。
(4)源圖補(bǔ)償。經(jīng)過上述步驟之后,圖像有了一定的失真,于是采用將源圖像疊加到處理圖像上的辦法進(jìn)行修正補(bǔ)救。
接著進(jìn)行閾值的再計(jì)算,并判斷閾值是否符合要求,若不符合,則重復(fù)上述步驟,進(jìn)行圖像的再次濾波加強(qiáng)操作。若符合,則進(jìn)入下一步操作。
為確定各區(qū)域中心和各區(qū)域偏轉(zhuǎn)角度,并以此判斷是否有連指情況,設(shè)計(jì)了MS(Mean Shift)自適應(yīng)算法初始半徑的自動(dòng)確定程序。
(1)對圖像進(jìn)行垂直投影,計(jì)算得到的垂直投影圖是圖像垂直線上的點(diǎn)數(shù)統(tǒng)計(jì)圖。采用雙向逼近法,計(jì)算出初始半徑。
(2)利用計(jì)算出的初始半徑,采用 MS算法,找出各指紋區(qū)域的中心點(diǎn)。
(3)當(dāng)結(jié)束MS算法,有時(shí)會(huì)遇到連指情況,如圖1所示。
圖1 連指圖
圖中白色小圈表示指紋連接處,這時(shí)如直接調(diào)用MS算法將對圖像處理的結(jié)果產(chǎn)生較大誤差。于是采用獨(dú)特的方法對MS算法得到的結(jié)果點(diǎn)進(jìn)行分析判斷:
(1)檢查兩個(gè)結(jié)果點(diǎn)是否足夠靠近,即:
其中,Factor為人為指定參數(shù),設(shè)定為 1.2;Radius為進(jìn)行MS算法時(shí)的窗口半徑。
(2)當(dāng)兩個(gè)結(jié)果點(diǎn)相距較近時(shí),再判斷兩點(diǎn)連線與垂直軸線的夾角是否大于閾值angle。
同時(shí)滿足以上兩個(gè)條件時(shí),即認(rèn)為指紋出現(xiàn)了連接的情況。這時(shí),將指紋連接的兩個(gè)點(diǎn)進(jìn)行標(biāo)定,并跳出當(dāng)前模塊。計(jì)算新的MS半徑,將橢圓長半軸的最大值Max_L與進(jìn)行MS過程的窗口半徑進(jìn)行比較判別,如滿足式(4),則把用于MS算法窗口半徑Radius用Max_L進(jìn)行更新,繼續(xù)半徑的搜索,直到找到合適的半徑。否則進(jìn)入下一模塊。
首先進(jìn)行橢圓偏轉(zhuǎn)角度的計(jì)算,將計(jì)算得到的角度純化,計(jì)算得到所有手指的平均角度α,判斷該角度是否大于設(shè)定的閾值。當(dāng)計(jì)算角度大于閾值時(shí),則根據(jù)計(jì)算得到的角度α進(jìn)行MSR的旋轉(zhuǎn)。
首先進(jìn)行橢圓偏轉(zhuǎn)角度的計(jì)算,并純化計(jì)算得到的角度,計(jì)算得到所有手指的平均角度α。假定在角度的初始計(jì)算過程中獲取的候選角度有 α0,α1,α2,α3,…,αn。
(1)計(jì)算其均值
(2)候選角度的純化
其中,i∈{0,1,2,3,…,n},Threshold0為設(shè)定的閾值,然后進(jìn)行候選角度個(gè)數(shù)n的更新。
(3)循環(huán)過程(2)直到角度純化完畢。
(4)計(jì)算出被純化的角度的均值,作為手指的偏轉(zhuǎn)角度。對圖像進(jìn)行“旋轉(zhuǎn)插值”操作,如圖2所示。
設(shè)點(diǎn)(X0,Y0)為初始點(diǎn),點(diǎn)(X1,Y1)為旋轉(zhuǎn)后的點(diǎn),初始點(diǎn)與X軸正向形成的角度為α0,矩陣運(yùn)算的表達(dá)式為:
然而由于在實(shí)際圖像處理中,Y軸反向,所以上述矩陣表達(dá)式將變化為:
接著進(jìn)行插值操作:
(1)從以上的步驟可以找到MS結(jié)果中滿足連接準(zhǔn)則的標(biāo)記點(diǎn),取兩點(diǎn)的平均值X坐標(biāo),作為初始模糊收索點(diǎn),然后利用垂直半投影算法,計(jì)算出準(zhǔn)確的指紋連接點(diǎn)。假設(shè)從上述步驟中得到了如下的MS結(jié)果點(diǎn):
根據(jù)MSR點(diǎn)坐標(biāo)的Y坐標(biāo)進(jìn)行從小到大的排序,得到新的 MSR0,MSR1,MSR2,MSR3,…,MSRn。經(jīng)過排序后的MSR數(shù)組中第一個(gè)坐標(biāo)點(diǎn)必然是指紋的中心點(diǎn),可根據(jù)聯(lián)指圖的邏輯關(guān)系找出所有指紋,當(dāng)找到了Y坐標(biāo)最小的指紋中心點(diǎn)時(shí)便停止搜索,以最后找到的MSR的Y坐標(biāo)加上指紋半徑為垂直投影下限,進(jìn)行圖像的切割,將圖像分為上下兩部分,并對位于上方的圖像進(jìn)行垂直投影,可有效地去除圖像中可能存在的掌紋干擾。
根據(jù)得到的垂直半投影圖像統(tǒng)計(jì)圖以及圖像指紋連接的初始模糊搜索點(diǎn),指紋的真實(shí)連接點(diǎn)必然存在于此點(diǎn)的附近。接著采用計(jì)算領(lǐng)域均值的方法確定連接處。
(2)在指紋連接處,插入灰度為“0”的黑色像素帶,這樣兩個(gè)相連的指紋就被人為地分隔了,這時(shí)再進(jìn)行MS自適應(yīng)算法使兩個(gè)指紋相互吸引且不受旁邊指紋的影響。于是直接調(diào)用MS功能模塊,對圖像進(jìn)行指紋半徑和所有指紋及類指紋中心的確定操作。由于進(jìn)行圖像旋轉(zhuǎn)插值操作后,指紋圖像已經(jīng)被旋正了,故可直接調(diào)用邏輯指紋的判斷。
在經(jīng)過旋轉(zhuǎn)之后,對應(yīng)的類指紋中心為圖像中標(biāo)“十”字的點(diǎn)。由于一個(gè)手指指紋的中心明顯高于其他指節(jié)的中心,所以如果對一個(gè)手指的圖像進(jìn)行操作,即做一個(gè)三角形包含這個(gè)手指的每一個(gè)中心點(diǎn),就可以只取出最高的個(gè)中心點(diǎn),而去除圖形中的其他中心點(diǎn),如此循環(huán)操作,將可以去除包含掌紋點(diǎn)在內(nèi)的所有干擾點(diǎn)。
食指和小拇指的中心點(diǎn)高度相差比較很明顯,故通過比較食指和小拇指的中心點(diǎn)來判斷左右手。
對去除干擾點(diǎn)之后的4個(gè)指紋中心F1、F2、F3、F4 以 Radius為初始半徑進(jìn)行橢圓擬合操作。找出每個(gè)中心點(diǎn)對應(yīng)的橢圓長軸w、短軸L以及指紋的偏轉(zhuǎn)角度α。橢圓規(guī)則化操作過程為。
其中,w為橢圓的寬,L為橢圓的長
(1)計(jì)算其均值
(2)候選比率的純化其中,i∈{0,1,2,3,…,n},Threshold1為設(shè)定的閾值,然后進(jìn)行候選角度個(gè)數(shù)n的更新。
(3)循環(huán)過程(2)直到角度純化完畢。
(4)計(jì)算出被純化比率的均值,記為avrate。
(5)對于剔除的點(diǎn),更新短半軸 W=avrate×L。
對每個(gè)橢圓的W和L在一定范圍內(nèi)搜索,當(dāng)某個(gè)像素的周圍一定范圍內(nèi)平均灰度值大于閾值時(shí),則停止移動(dòng),記錄此點(diǎn)為 a1、a2、b1、b2。 計(jì)算矩形的 4 個(gè)頂點(diǎn) c1、c2、c3、c4作出矩形,即為指紋區(qū)域。
本文提出的算法實(shí)現(xiàn)環(huán)境為Windows操作系統(tǒng),Visual C++6.0環(huán)境。
根據(jù)上面提出的方法,對從不同途徑獲取的具有不同圖像質(zhì)量的聯(lián)指圖可能出現(xiàn)的主要指紋圖像進(jìn)行了大量計(jì)算機(jī)仿真實(shí)驗(yàn),并就“連指”聯(lián)指圖與參考文獻(xiàn)的指紋分割算法做了比較,如圖3所示。從圖中可以看出,本文提供的算法可以成功地分割低對比度聯(lián)指圖、噪聲聯(lián)指圖、“光環(huán)”聯(lián)指圖及部分殘缺聯(lián)指圖分割,并且能分割現(xiàn)有算法不能處理的存在指紋連接情況下的聯(lián)指圖。
本文的算法處理速度為5 s/幅,比較已有算法,本文算法在速度上具有實(shí)用價(jià)值。
本文提出一種基于圖像插值和橢圓擬合的聯(lián)指圖分割算法。該算法充分利用了指紋圖像中指紋區(qū)域和非指紋區(qū)域的灰度差異的特點(diǎn),對圖像進(jìn)行濾波、插值分隔及橢圓擬合等操作,實(shí)現(xiàn)了多指指紋的自動(dòng)分割。經(jīng)過實(shí)驗(yàn)表明,該算法建立在圖像時(shí)域基礎(chǔ)上,計(jì)算量小,成功地完成低對比度聯(lián)指圖、噪聲聯(lián)指圖、“光環(huán)”聯(lián)指圖、聯(lián)指圖旋轉(zhuǎn)及部分殘缺聯(lián)指圖分割,并且能成功地分割存在指紋連接情況下的聯(lián)指圖。
[1]宋占偉,王雪思.多指指紋自動(dòng)分割算法[J].吉林大學(xué)學(xué) 報(bào)(信 息 科 學(xué)),2009,27(5):500-505.
[2]HODL R,RAM S,BISCHOF H,et al.Slap fingerprint segmentation[C].In Computer Vision Winter Workshop,2009.
[3]Method and system for slapprint segmentation[P].US.Int.CI.G06K 9/00.2008/0298648.2008-11-04.
[4]李焱淼,張永良,黃亞平,等.基于頻域分析的聯(lián)指圖前后背景分離算法[J].上海交通大學(xué)學(xué)報(bào),2010,44(8):1089-1093.
[5]GONZALEZ R C,WOODS R E,EDDINS S L.數(shù)字圖像處理(第 2版)[M].阮秋琦,等譯.北京:電子工業(yè)出版社,2005.