郭 貝,任金霞
(江西理工大學(xué) 電氣與自動(dòng)化學(xué)院,贛州 341000)
圖像匹配是機(jī)器視覺中一種常用的圖像處理和圖像分析技術(shù),是圖像處理到圖像分析的關(guān)鍵步驟,基于特征點(diǎn)的圖像匹配方法已經(jīng)成為國(guó)內(nèi)外研究的熱點(diǎn)。文獻(xiàn)[1,2]采用BRISK和ORB相結(jié)合的特征點(diǎn)算法,有效的解決了ORB特征描述算法不具備尺度不變性的問(wèn)題。文獻(xiàn)[3]采用了極線幾何的統(tǒng)計(jì)優(yōu)化特征匹配算法,利用正確匹配點(diǎn)的極線約束的特點(diǎn),減少了搜索區(qū)域,避免重復(fù)結(jié)構(gòu)引起的誤匹配對(duì)。文獻(xiàn)[4]使用組合角點(diǎn)檢測(cè)算法來(lái)檢測(cè)角點(diǎn),并且均勻地選擇第一圖像中的特征點(diǎn)的部分以實(shí)現(xiàn)預(yù)匹配,并且基于匹配結(jié)果來(lái)找到其他檢測(cè)點(diǎn)的對(duì)應(yīng)點(diǎn)。醫(yī)學(xué)圖像有其特殊的復(fù)雜性,其普遍亮度和對(duì)比度偏低,灰度變化不明顯,在成像上拍攝角度和拍攝光照變化,都是導(dǎo)致圖像的中的數(shù)據(jù)丟失,這就影響圖像匹配的正確率,近些年,基于神經(jīng)網(wǎng)絡(luò)的圖像匹配的方法越來(lái)引起人們的關(guān)注,正是因?yàn)樯窠?jīng)網(wǎng)絡(luò)具有高速信息處理和不確定性信息處理的能力。在實(shí)際應(yīng)用中,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)權(quán)值和閾值存在隨機(jī)性,對(duì)訓(xùn)練的網(wǎng)絡(luò)有很大的影響,會(huì)出現(xiàn)不同程度的收斂慢,容易陷入局部最優(yōu)。針對(duì)此問(wèn)題,本文提出蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)方法,利用兩幅圖匹配為基礎(chǔ),建立基于蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的特征點(diǎn)匹配的模型,并加以特征點(diǎn)的單一性約束準(zhǔn)則和互應(yīng)性約束準(zhǔn)則,提高匹配的正確率。
蝙蝠搜索算法是一種優(yōu)化算法,受到天然蝙蝠定位食物回聲定位行為的啟發(fā)。它由Yang引入,用于解決各種優(yōu)化問(wèn)題。
具體步驟如下:
1)蝙蝠算法的初始化。設(shè)定蝙蝠的數(shù)量,每個(gè)個(gè)體的最大脈沖頻度和脈沖聲音強(qiáng)度,蝙蝠增加系數(shù)、聲音衰減系數(shù)、最大迭代次數(shù)和搜索精度;
2)記錄隨機(jī)初始化的蝙蝠個(gè)體的位置X,搜索位置在最佳的蝙蝠個(gè)體;
3)更新蝙蝠的搜索脈沖頻率,速度和位置。在群體的過(guò)程中,每一代的搜索脈沖頻率,速度和位置如下改變:
公式中,β ∈[0,1]是滿足均勻分布的隨機(jī)向量,X*表示當(dāng)前全局的最優(yōu)解;根據(jù)問(wèn)題的搜索范圍,需要滿足fmin=0,fmax=O(1)。初始條件時(shí),每一只蝙蝠隨機(jī)賦值給的頻率必須滿足[fmin,fmax]間的均勻分布;
4)隨機(jī)生成數(shù)Rand,假如Rand>ri,需要做的就是隨機(jī)擾動(dòng)當(dāng)前的最優(yōu)解,然后生成新的解,并且新的解是有界的。
5)隨機(jī)生成數(shù)Rand,假如Rand<Ai,同時(shí)滿足f(Xi)<f(X*),4)產(chǎn)生的新解需要按公式更新:
6) 對(duì)全部蝙蝠的適應(yīng)度值進(jìn)行排列,尋找目前的最佳解和最優(yōu)值。
7) 重復(fù)步驟3)~6),直到符合設(shè)定的最優(yōu)解要求截止。
8)得出函數(shù)全局的最優(yōu)解和最優(yōu)的個(gè)體值,得到的函數(shù)全局最優(yōu)解。作為BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值。
特征點(diǎn)匹配是發(fā)現(xiàn)兩個(gè)特征點(diǎn)集合當(dāng)中的彼此對(duì)應(yīng)匹配關(guān)聯(lián)和空間映射關(guān)聯(lián),相同的一個(gè)空間坐標(biāo)點(diǎn)在不同的圖像上的對(duì)應(yīng)匹配關(guān)系是確定不變的。受到攝像環(huán)境的影響,空間點(diǎn)和圖像點(diǎn)的關(guān)系變得很復(fù)雜,但是除非考慮外部噪聲的影響,否則圖像中所有特征點(diǎn)的映射關(guān)系是相同的。
圖像特征點(diǎn)的匹配的形式,需要確立較為精確的數(shù)學(xué)模型,如若模型確立的不精確,那么這個(gè)模型的匹配結(jié)果的精確性將大大下降,尤其能夠致使匹配結(jié)果的 失敗。
蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)匹配模型最重要的任務(wù)是:能夠正確體現(xiàn)兩幅圖像特征點(diǎn)的集合映射關(guān)系的模型。該模型分為三個(gè)部分:1)已匹配的特征點(diǎn)集合的樣本的分類和處理;2)BP網(wǎng)絡(luò)結(jié)構(gòu)以及權(quán)值和閾值的;3)匹配的約束準(zhǔn)則
1)特征點(diǎn)集合需要進(jìn)行樣本歸一化處理,把數(shù)據(jù)處理成BP神經(jīng)網(wǎng)取值絡(luò)比較敏感的區(qū)間的數(shù)據(jù);樣本分類,把處理好的數(shù)據(jù)分成訓(xùn)練樣本和驗(yàn)證樣本,用訓(xùn)練樣本用于進(jìn)行訓(xùn)練網(wǎng)絡(luò),驗(yàn)證樣本用于檢驗(yàn)網(wǎng)絡(luò)的 好壞。
2)BP神經(jīng)網(wǎng)絡(luò)一般分為輸入層,隱含層,輸出層,我們主要的目的就是期望運(yùn)用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)未匹配特征點(diǎn)的位置(即坐標(biāo)),所以,輸入層的神經(jīng)元和輸出的神經(jīng)元都為2個(gè),隱含層神經(jīng)元的選擇個(gè)數(shù),根據(jù)研究和實(shí)驗(yàn)中的發(fā)展可以得出個(gè)數(shù)應(yīng)該在2~12之間。對(duì)于權(quán)值和閾值的取值,用蝙蝠算法進(jìn)行權(quán)值和閾值的優(yōu)化。
3)匹配約束準(zhǔn)則
(1)唯一性準(zhǔn)則:一個(gè)圖像上相同空間點(diǎn)的投影點(diǎn)只能與另一個(gè)圖像上的唯一點(diǎn)匹配。
①兩張待匹配圖像之間存在的已知匹配的特征匹配(左圖像P1和右圖像P2),將匹配表輸入BP神經(jīng)網(wǎng)絡(luò)以學(xué)習(xí)網(wǎng)絡(luò)。
②預(yù)測(cè)位置Pic1_test是左圖像P1特征點(diǎn)的網(wǎng)絡(luò)實(shí)際輸出,即在右圖的預(yù)測(cè)位置坐標(biāo)。
③在實(shí)際輸出坐標(biāo)中選擇未匹配的特征點(diǎn)p1i(pij的第i幅圖中的第j個(gè)特征點(diǎn)),依次與右圖P2待匹配點(diǎn)進(jìn)行計(jì)算歐氏距離dij(dij表示左圖P1中第i個(gè)特征點(diǎn)預(yù)測(cè)匹配點(diǎn)與右圖P2中第j個(gè)特征點(diǎn)之間的距離),Dmax為左圖中已匹配的特征點(diǎn)預(yù)測(cè)的點(diǎn)與右圖中相對(duì)應(yīng)的匹配點(diǎn)歐氏距離,dij只有不大于Dmax的距離的特征點(diǎn)作為正確的匹配點(diǎn),將該匹配點(diǎn)對(duì)加入列表中,并將該點(diǎn)對(duì)刪除,如若dij大于Dmax的距離,則認(rèn)為該匹配點(diǎn)不存在。
④重復(fù)步驟③,直到圖P1中的未匹配特征點(diǎn)全部都經(jīng)歷完。
⑤如果右圖P2中還有未進(jìn)行匹配點(diǎn),則認(rèn)為該些點(diǎn)沒(méi)有匹配點(diǎn),至此圖像的匹配結(jié)束。
(2)圖像的反匹配:
假設(shè)匹配,從左圖像開始,左圖像的特征點(diǎn)A可以在右圖像中找到對(duì)應(yīng)點(diǎn)B。如果操作相反,則在右圖像的開始,右圖像的特征點(diǎn)B,找不到左圖像的對(duì)應(yīng)匹配點(diǎn),或者可以找到特征點(diǎn)但是特征點(diǎn)不是A,匹配關(guān)系未建立并被排除。
為了驗(yàn)證蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的有效性,我們選擇兩幅腸胃內(nèi)窺鏡的圖片進(jìn)行BP神經(jīng)網(wǎng)絡(luò)和蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的對(duì)比實(shí)驗(yàn)。
圖1 兩圖內(nèi)窺鏡圖像
首先,先進(jìn)行特征點(diǎn)提取,并進(jìn)行特征點(diǎn)匹配,得到已匹配特征點(diǎn)對(duì),和兩幅圖中未匹配的特征點(diǎn)。
首先進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的特征點(diǎn)匹配,網(wǎng)絡(luò)的層數(shù)結(jié)構(gòu)選擇2,10,2,迭代次數(shù)1000,學(xué)習(xí)0.1,目標(biāo)0.0000001,訓(xùn)練網(wǎng)絡(luò),由約束條件唯一性原則,最大距離為2.2078。兩幅圖的特征點(diǎn)存在已經(jīng)匹配好的特征點(diǎn),兩幅圖的部分樣本如表1所示。
表1 兩圖部分樣本
根據(jù)以上的數(shù)據(jù)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),并使用待匹配的特征點(diǎn)進(jìn)行匹配,得出以下的結(jié)果,
圖2 傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)匹配圖
從上面兩張?zhí)卣鼽c(diǎn)匹配的圖像來(lái)看,中間有些特征點(diǎn),比如圖中的點(diǎn)36,點(diǎn)37,點(diǎn)38,點(diǎn)39,點(diǎn)40,點(diǎn)41,點(diǎn)42,點(diǎn)43,點(diǎn)44,點(diǎn)45其他的特征點(diǎn)都匹配正確,由此可以得出總共45個(gè)特征點(diǎn)匹配點(diǎn)中,有9個(gè)是誤匹配點(diǎn),正確率還不是很高。
開始訓(xùn)練網(wǎng)絡(luò)之前,需要先確定網(wǎng)絡(luò)的層數(shù)結(jié)構(gòu)和蝙蝠算法的相關(guān)的參數(shù),根據(jù)實(shí)際的樣本數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)和約束的閾值。
網(wǎng)絡(luò)的層數(shù)結(jié)構(gòu)選擇2,8,2,迭代次數(shù)1000,學(xué)習(xí)率0.1,目標(biāo)0.0000001,種群數(shù)量20,音量0.25,脈沖率0.5,最大距離0.1902。經(jīng)過(guò)訓(xùn)練樣本和驗(yàn)證樣本的訓(xùn)練,用蝙蝠算法進(jìn)行閾值和權(quán)值的搜索,得到搜索的最優(yōu)的閾值和權(quán)值,并將搜索好的閾值和權(quán)值賦值給BP神經(jīng)網(wǎng)絡(luò),加以訓(xùn)練,得到最終的權(quán)值和閾值,將訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)運(yùn)用在特征點(diǎn)的匹配上,結(jié)合約束準(zhǔn)則進(jìn)行匹配。
先進(jìn)行正向匹配
圖3 蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)正匹配
通過(guò)蝙蝠優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的的模型映射并按約束準(zhǔn)則匹配,先進(jìn)行正向匹配的結(jié)果的顯示,從圖4(a),圖4(b)可以看出左右圖中都進(jìn)行了不同顏色的標(biāo)記提取,一共標(biāo)記了31個(gè)不同的特征點(diǎn),通過(guò)對(duì)比找出了點(diǎn)7,點(diǎn)13,點(diǎn)19,點(diǎn)26,這4個(gè)錯(cuò)誤的匹配點(diǎn),相較于只進(jìn)行傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的模型,訓(xùn)練匹配的結(jié)果有了很大的提高,但是還是出現(xiàn)了匹配點(diǎn)錯(cuò)誤的情況,并且錯(cuò)誤的匹配點(diǎn)并沒(méi)有被消除掉。
下面進(jìn)行反向匹配的過(guò)程,反向匹配的過(guò)程中的特征點(diǎn)個(gè)數(shù)可能有不同,所以進(jìn)行重新編號(hào),結(jié)果如下:
圖4 蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)反匹配
同樣的,反向匹配也會(huì)存在一些錯(cuò)誤的匹配點(diǎn),根據(jù)互應(yīng)性的約束,需要剔除誤匹配,結(jié)果如下:
圖5 誤匹配剔除的結(jié)果
所以最終留下的匹配點(diǎn)就是正確的匹配點(diǎn),兩個(gè)約束條件保證了結(jié)果的可靠性。通過(guò)對(duì)比最終的特征點(diǎn)匹配,可以看出,正向匹配和反向匹配中都刪掉了一些正確的匹配點(diǎn),但是各個(gè)圖中的錯(cuò)誤匹配點(diǎn)都刪除了,保證了特征點(diǎn)匹配的正確性。
醫(yī)學(xué)圖像特征點(diǎn)匹配由于圖像本身的特殊性,拍攝條件的局限性,外界干擾因素多,導(dǎo)致匹配過(guò)程出現(xiàn)誤匹配點(diǎn)。本文提出了基于蝙蝠算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的特征點(diǎn)匹配的模型,該模型有蝙蝠算法的快速搜索的最優(yōu)的權(quán)值和閾值,以及BP神經(jīng)網(wǎng)絡(luò)自身的自適應(yīng)能力,通過(guò)實(shí)驗(yàn)結(jié)果,該模型能夠提高正確的匹配特征點(diǎn),并且剔除誤匹配點(diǎn),明顯高于BP神經(jīng)網(wǎng)絡(luò)的特征點(diǎn)匹配,該算法有效的。