陳 雷
上海市浦東公安分局刑事科學研究所,上海 200125
用指紋進行身份識別,雖然目前有很多的研究成果,在某些方面也非常成熟,但是這些成果作用于低質(zhì)量的指紋圖像時,往往難以獲得較高的準確率。而且鑒于系統(tǒng)資源的有限性,在某些環(huán)境中,指紋的識別對實時性要求很高,所以在時間的限制下獲得較高的識別結果非常重要。有鑒于此,本文引入基于卷積神經(jīng)網(wǎng)絡的深度學習模型,使用卷積神經(jīng)網(wǎng)絡對圖像配準中的旋轉(zhuǎn)問題進行處理,從而實現(xiàn)利用有限的資源進行快速的配準。
在深度學習領域中,應用最廣泛的是卷積神經(jīng)網(wǎng)絡,也稱之為卷積網(wǎng)絡,是一種專門用來處理具有類似網(wǎng)格結構的數(shù)據(jù)的神經(jīng)網(wǎng)絡。卷積神經(jīng)網(wǎng)絡在諸多應用領域都表現(xiàn)優(yōu)異,譬如時間序列數(shù)據(jù)。卷積神經(jīng)網(wǎng)絡中一個典型層包含三級:在第一級中,這一層并行地計算多個卷積產(chǎn)生一組線性激活響應;在第二級中,每一個線性激活響應將會通過一個非線性的激活函數(shù),該級有時也稱為探測級;在第三級中,利用卷積神經(jīng)網(wǎng)絡提供的池化函數(shù)再次優(yōu)化其輸出。池化函數(shù)負責對卷積層提取的特征進行處理,以代替網(wǎng)絡在該位置的輸出,例如,最大池化函數(shù)給出相鄰矩形區(qū)域內(nèi)的最大值。不管采用什么樣的池化函數(shù),當輸入做出少量平移時,池化能夠幫助輸入的表示近似不變。使用池化操作可以認為是添加了足夠強的先驗:通過該層學習獲得的函數(shù)務必具備少量平移不變性的要求。當這個假設成立時,池化可以極大地提高網(wǎng)絡的統(tǒng)計效率。
圖像配準是指求解幾幅圖像之間的空間變換關系,從而使一對或多幅圖像達到空間上的對齊。目前從技術角度講,可以將圖像配準分為:圖像融合下的多模態(tài)配準、識別或定位下的模板配準、圖像深度變換和變形下的觀察點配準、檢測物體生長變化下的時間序列配準等。圖像配準的一般流程如下:
特征空間是點、邊緣等,是從圖像中抽取出來的用于配準的特征。從某種角度來看,特征空間直接關系到圖像中特征對配準算法的敏感性。
搜索空間是對浮動圖像進行變換的方式以及范圍。隨著搜索空間的增大,算法時間復雜度呈指數(shù)增長。因此,搜索空間在一定程度上影響搜索的速度。
相似性度量會影響空間變換模型的選擇,是衡量不同變換之下結果是否可靠的準則,在一定程度上與配準算法對干擾的抗性有關。
搜索策略直接影響著配準的速度,是算法優(yōu)化的重要方向。在理論上,通過窮舉的搜索策略一定可以找到最優(yōu)的參數(shù),但是需要付出很大的時間代價,因此這往往是應用所無法接受的。
在指紋圖像庫中,提取參考圖像和浮動圖像,數(shù)據(jù)集為34300(5*7*7*7*20)對圖像。為了增強網(wǎng)絡的泛化能力,對每幅圖像添加了高斯白噪聲。在數(shù)據(jù)格式上,將圖像數(shù)據(jù)轉(zhuǎn)為HDF5格式,且對超過2GB的數(shù)據(jù)進行切分。切分后的數(shù)據(jù)按照4:1:1生成相應的訓練集、驗證集和測試集。
在數(shù)據(jù)預處理中,還有一項重要的工作就是對數(shù)據(jù)進行標準化,這樣做的目的是加快梯度下降獲得最優(yōu)解的速度,為了方便實現(xiàn),整幅圖像灰度值均減去60,因為其灰度均值在60上下浮動。通過零均值化處理,可以提高模型的精度。
根據(jù)圖像大小,以LeNet-5為基礎,在其微小改動的基礎上,使其能夠處理100*100的輸入圖像,具體結構,見表1。
表1 網(wǎng)絡結構
本結構通過傳統(tǒng)的參數(shù)共享,以及參考圖像與浮動圖像在通道維度的合并,成功地提高了精度。為了方便預測,將輸入圖像的大小200*100分割為兩張100*100的圖像,然后依次經(jīng)過卷積網(wǎng)絡各層的處理。在網(wǎng)絡內(nèi)部,為了提升網(wǎng)絡的處理效果,使用小卷積核替代大卷積核,從而減少了網(wǎng)絡參數(shù)。
在深度網(wǎng)絡學習過程中,還需要對一些參數(shù)進行設置,比如每次批處理的圖像數(shù),可以根據(jù)實際對batch_size進行賦值。通常情況下,該參數(shù)設置太小,很難保證網(wǎng)絡快速收斂;如果設置過大,又會占用太大的內(nèi)存空間。因此,在綜合考量后,結合指紋處理的實際,將batch_size的值設定100。除此之外,為了有效激活神經(jīng)元,還需要對negative_slope參數(shù)進行初始化,在參考相關文獻和多次試驗的基礎上,本文最終將negative_slope設置為0.01。
本試驗是在Ubuntu操作系統(tǒng)下進行的,具體硬件配置為:處理器(型號:i7-8750H;速度:2.2GHz;核心:6核)、內(nèi)存(容量:8G+8G;插槽數(shù)量:2 x SO-DIMM)、硬盤(容量:1T;轉(zhuǎn)速:7200轉(zhuǎn)/分鐘;接口類型:M.2接口)、顯存(獨顯;芯片:GTX1070;容量:獨立8GB)。
在試驗中,針對不同的網(wǎng)絡結構進行了對比試驗,具體網(wǎng)絡結構有:五層雙分支、五層雙通道、八層雙分支、八層雙通道。通過測試發(fā)現(xiàn),采用八層并將雙通道圖像作為輸入所得結果最好,其輸出指標數(shù)據(jù)為:訓練集loss為0.001236,測試集loss為0.001477,整個訓練時間為1671.373秒。
在深度學習中,網(wǎng)絡層數(shù)越多,網(wǎng)絡結構的表達能力就越強,但是從時間上來看,訓練持續(xù)的時間會更長。在多次測試調(diào)優(yōu)的過程中,針對不同的網(wǎng)絡結構,在不同參數(shù)設置對比后發(fā)現(xiàn),初次學習率設置為0.16,收斂會有更好的效果。綜合來看,通過卷積神經(jīng)網(wǎng)絡,可以實現(xiàn)指紋圖像配準過程中的角度旋轉(zhuǎn)以及平移等操作,而且從學習的時間來看,圖像數(shù)據(jù)集越大,深度學習的優(yōu)勢體現(xiàn)得就會越充分。
近年來,在信息技術的輔助下,指紋識別的研究取得了可喜的成績,但也存在精度不高等問題。為了彌補傳統(tǒng)指紋識別的缺陷,高分辨率的指紋識別得到推廣。本文針對兩幅圖像平移和旋轉(zhuǎn)的配準問題,采用卷積神經(jīng)網(wǎng)絡進行圖像數(shù)據(jù)的學習,在構建有效網(wǎng)絡結構的基礎上,通過不同網(wǎng)絡的對比和參數(shù)的調(diào)優(yōu),成功降低了網(wǎng)絡的loss,充分體現(xiàn)了卷積神經(jīng)網(wǎng)絡在大數(shù)據(jù)量下的數(shù)據(jù)處理優(yōu)勢。