郭 貝,任金霞
(江西理工大學 電氣與自動化學院,贛州 341000)
圖像匹配是機器視覺中一種常用的圖像處理和圖像分析技術(shù),是圖像處理到圖像分析的關(guān)鍵步驟,基于特征點的圖像匹配方法已經(jīng)成為國內(nèi)外研究的熱點。文獻[1,2]采用BRISK和ORB相結(jié)合的特征點算法,有效的解決了ORB特征描述算法不具備尺度不變性的問題。文獻[3]采用了極線幾何的統(tǒng)計優(yōu)化特征匹配算法,利用正確匹配點的極線約束的特點,減少了搜索區(qū)域,避免重復(fù)結(jié)構(gòu)引起的誤匹配對。文獻[4]使用組合角點檢測算法來檢測角點,并且均勻地選擇第一圖像中的特征點的部分以實現(xiàn)預(yù)匹配,并且基于匹配結(jié)果來找到其他檢測點的對應(yīng)點。醫(yī)學圖像有其特殊的復(fù)雜性,其普遍亮度和對比度偏低,灰度變化不明顯,在成像上拍攝角度和拍攝光照變化,都是導致圖像的中的數(shù)據(jù)丟失,這就影響圖像匹配的正確率,近些年,基于神經(jīng)網(wǎng)絡(luò)的圖像匹配的方法越來引起人們的關(guān)注,正是因為神經(jīng)網(wǎng)絡(luò)具有高速信息處理和不確定性信息處理的能力。在實際應(yīng)用中,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)權(quán)值和閾值存在隨機性,對訓練的網(wǎng)絡(luò)有很大的影響,會出現(xiàn)不同程度的收斂慢,容易陷入局部最優(yōu)。針對此問題,本文提出蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)方法,利用兩幅圖匹配為基礎(chǔ),建立基于蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的特征點匹配的模型,并加以特征點的單一性約束準則和互應(yīng)性約束準則,提高匹配的正確率。
蝙蝠搜索算法是一種優(yōu)化算法,受到天然蝙蝠定位食物回聲定位行為的啟發(fā)。它由Yang引入,用于解決各種優(yōu)化問題。
具體步驟如下:
1)蝙蝠算法的初始化。設(shè)定蝙蝠的數(shù)量,每個個體的最大脈沖頻度和脈沖聲音強度,蝙蝠增加系數(shù)、聲音衰減系數(shù)、最大迭代次數(shù)和搜索精度;
2)記錄隨機初始化的蝙蝠個體的位置X,搜索位置在最佳的蝙蝠個體;
3)更新蝙蝠的搜索脈沖頻率,速度和位置。在群體的過程中,每一代的搜索脈沖頻率,速度和位置如下改變:

公式中,β ∈[0,1]是滿足均勻分布的隨機向量,X*表示當前全局的最優(yōu)解;根據(jù)問題的搜索范圍,需要滿足fmin=0,fmax=O(1)。初始條件時,每一只蝙蝠隨機賦值給的頻率必須滿足[fmin,fmax]間的均勻分布;
4)隨機生成數(shù)Rand,假如Rand>ri,需要做的就是隨機擾動當前的最優(yōu)解,然后生成新的解,并且新的解是有界的。
5)隨機生成數(shù)Rand,假如Rand<Ai,同時滿足f(Xi)<f(X*),4)產(chǎn)生的新解需要按公式更新:

6) 對全部蝙蝠的適應(yīng)度值進行排列,尋找目前的最佳解和最優(yōu)值。
7) 重復(fù)步驟3)~6),直到符合設(shè)定的最優(yōu)解要求截止。
8)得出函數(shù)全局的最優(yōu)解和最優(yōu)的個體值,得到的函數(shù)全局最優(yōu)解。作為BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值。
特征點匹配是發(fā)現(xiàn)兩個特征點集合當中的彼此對應(yīng)匹配關(guān)聯(lián)和空間映射關(guān)聯(lián),相同的一個空間坐標點在不同的圖像上的對應(yīng)匹配關(guān)系是確定不變的。受到攝像環(huán)境的影響,空間點和圖像點的關(guān)系變得很復(fù)雜,但是除非考慮外部噪聲的影響,否則圖像中所有特征點的映射關(guān)系是相同的。
圖像特征點的匹配的形式,需要確立較為精確的數(shù)學模型,如若模型確立的不精確,那么這個模型的匹配結(jié)果的精確性將大大下降,尤其能夠致使匹配結(jié)果的 失敗。
蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)匹配模型最重要的任務(wù)是:能夠正確體現(xiàn)兩幅圖像特征點的集合映射關(guān)系的模型。該模型分為三個部分:1)已匹配的特征點集合的樣本的分類和處理;2)BP網(wǎng)絡(luò)結(jié)構(gòu)以及權(quán)值和閾值的;3)匹配的約束準則
1)特征點集合需要進行樣本歸一化處理,把數(shù)據(jù)處理成BP神經(jīng)網(wǎng)取值絡(luò)比較敏感的區(qū)間的數(shù)據(jù);樣本分類,把處理好的數(shù)據(jù)分成訓練樣本和驗證樣本,用訓練樣本用于進行訓練網(wǎng)絡(luò),驗證樣本用于檢驗網(wǎng)絡(luò)的 好壞。
2)BP神經(jīng)網(wǎng)絡(luò)一般分為輸入層,隱含層,輸出層,我們主要的目的就是期望運用BP神經(jīng)網(wǎng)絡(luò)進行預(yù)測未匹配特征點的位置(即坐標),所以,輸入層的神經(jīng)元和輸出的神經(jīng)元都為2個,隱含層神經(jīng)元的選擇個數(shù),根據(jù)研究和實驗中的發(fā)展可以得出個數(shù)應(yīng)該在2~12之間。對于權(quán)值和閾值的取值,用蝙蝠算法進行權(quán)值和閾值的優(yōu)化。
3)匹配約束準則
(1)唯一性準則:一個圖像上相同空間點的投影點只能與另一個圖像上的唯一點匹配。
①兩張待匹配圖像之間存在的已知匹配的特征匹配(左圖像P1和右圖像P2),將匹配表輸入BP神經(jīng)網(wǎng)絡(luò)以學習網(wǎng)絡(luò)。
②預(yù)測位置Pic1_test是左圖像P1特征點的網(wǎng)絡(luò)實際輸出,即在右圖的預(yù)測位置坐標。
③在實際輸出坐標中選擇未匹配的特征點p1i(pij的第i幅圖中的第j個特征點),依次與右圖P2待匹配點進行計算歐氏距離dij(dij表示左圖P1中第i個特征點預(yù)測匹配點與右圖P2中第j個特征點之間的距離),Dmax為左圖中已匹配的特征點預(yù)測的點與右圖中相對應(yīng)的匹配點歐氏距離,dij只有不大于Dmax的距離的特征點作為正確的匹配點,將該匹配點對加入列表中,并將該點對刪除,如若dij大于Dmax的距離,則認為該匹配點不存在。
④重復(fù)步驟③,直到圖P1中的未匹配特征點全部都經(jīng)歷完。
⑤如果右圖P2中還有未進行匹配點,則認為該些點沒有匹配點,至此圖像的匹配結(jié)束。
(2)圖像的反匹配:
假設(shè)匹配,從左圖像開始,左圖像的特征點A可以在右圖像中找到對應(yīng)點B。如果操作相反,則在右圖像的開始,右圖像的特征點B,找不到左圖像的對應(yīng)匹配點,或者可以找到特征點但是特征點不是A,匹配關(guān)系未建立并被排除。
為了驗證蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的有效性,我們選擇兩幅腸胃內(nèi)窺鏡的圖片進行BP神經(jīng)網(wǎng)絡(luò)和蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的對比實驗。

圖1 兩圖內(nèi)窺鏡圖像
首先,先進行特征點提取,并進行特征點匹配,得到已匹配特征點對,和兩幅圖中未匹配的特征點。
首先進行BP神經(jīng)網(wǎng)絡(luò)的特征點匹配,網(wǎng)絡(luò)的層數(shù)結(jié)構(gòu)選擇2,10,2,迭代次數(shù)1000,學習0.1,目標0.0000001,訓練網(wǎng)絡(luò),由約束條件唯一性原則,最大距離為2.2078。兩幅圖的特征點存在已經(jīng)匹配好的特征點,兩幅圖的部分樣本如表1所示。

表1 兩圖部分樣本
根據(jù)以上的數(shù)據(jù)訓練BP神經(jīng)網(wǎng)絡(luò),并使用待匹配的特征點進行匹配,得出以下的結(jié)果,

圖2 傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)匹配圖
從上面兩張?zhí)卣鼽c匹配的圖像來看,中間有些特征點,比如圖中的點36,點37,點38,點39,點40,點41,點42,點43,點44,點45其他的特征點都匹配正確,由此可以得出總共45個特征點匹配點中,有9個是誤匹配點,正確率還不是很高。
開始訓練網(wǎng)絡(luò)之前,需要先確定網(wǎng)絡(luò)的層數(shù)結(jié)構(gòu)和蝙蝠算法的相關(guān)的參數(shù),根據(jù)實際的樣本數(shù)據(jù)訓練網(wǎng)絡(luò)和約束的閾值。
網(wǎng)絡(luò)的層數(shù)結(jié)構(gòu)選擇2,8,2,迭代次數(shù)1000,學習率0.1,目標0.0000001,種群數(shù)量20,音量0.25,脈沖率0.5,最大距離0.1902。經(jīng)過訓練樣本和驗證樣本的訓練,用蝙蝠算法進行閾值和權(quán)值的搜索,得到搜索的最優(yōu)的閾值和權(quán)值,并將搜索好的閾值和權(quán)值賦值給BP神經(jīng)網(wǎng)絡(luò),加以訓練,得到最終的權(quán)值和閾值,將訓練好的BP神經(jīng)網(wǎng)絡(luò)運用在特征點的匹配上,結(jié)合約束準則進行匹配。
先進行正向匹配

圖3 蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)正匹配
通過蝙蝠優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的的模型映射并按約束準則匹配,先進行正向匹配的結(jié)果的顯示,從圖4(a),圖4(b)可以看出左右圖中都進行了不同顏色的標記提取,一共標記了31個不同的特征點,通過對比找出了點7,點13,點19,點26,這4個錯誤的匹配點,相較于只進行傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的模型,訓練匹配的結(jié)果有了很大的提高,但是還是出現(xiàn)了匹配點錯誤的情況,并且錯誤的匹配點并沒有被消除掉。
下面進行反向匹配的過程,反向匹配的過程中的特征點個數(shù)可能有不同,所以進行重新編號,結(jié)果如下:

圖4 蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)反匹配
同樣的,反向匹配也會存在一些錯誤的匹配點,根據(jù)互應(yīng)性的約束,需要剔除誤匹配,結(jié)果如下:

圖5 誤匹配剔除的結(jié)果
所以最終留下的匹配點就是正確的匹配點,兩個約束條件保證了結(jié)果的可靠性。通過對比最終的特征點匹配,可以看出,正向匹配和反向匹配中都刪掉了一些正確的匹配點,但是各個圖中的錯誤匹配點都刪除了,保證了特征點匹配的正確性。
醫(yī)學圖像特征點匹配由于圖像本身的特殊性,拍攝條件的局限性,外界干擾因素多,導致匹配過程出現(xiàn)誤匹配點。本文提出了基于蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的特征點匹配的模型,該模型有蝙蝠算法的快速搜索的最優(yōu)的權(quán)值和閾值,以及BP神經(jīng)網(wǎng)絡(luò)自身的自適應(yīng)能力,通過實驗結(jié)果,該模型能夠提高正確的匹配特征點,并且剔除誤匹配點,明顯高于BP神經(jīng)網(wǎng)絡(luò)的特征點匹配,該算法有效的。