衛(wèi)保國,張玉蘭,周佳明
西北工業(yè)大學(xué) 電子信息學(xué)院,西安710129
圖像匹配技術(shù)在圖像處理領(lǐng)域占重要地位,在計(jì)算機(jī)視覺[1]、模式識(shí)別[2]、遙感圖像處理[3]、醫(yī)學(xué)圖像分析[4-6]等領(lǐng)域都有廣泛應(yīng)用。其本質(zhì)是在拍攝角度、拍攝位置或傳感器等有差異的情況下,對(duì)于同一場(chǎng)景所拍攝的兩幅或者多幅圖像進(jìn)行某種操作與分析,找出圖像之間變換關(guān)系的過程。圖像匹配的方法主要分為基于灰度的匹配算法、基于變換域的匹配算法和基于特征的匹配算法。其中,基于特征的匹配算法是主流的,本文在該匹配方法的基礎(chǔ)上進(jìn)行研究。
圖像的匹配效果除了受特征檢測(cè)算法和匹配方法的影響,還與特征點(diǎn)的質(zhì)量有關(guān),提取高質(zhì)量的特征點(diǎn)有助于提高圖像匹配的正確率和效率。高質(zhì)量的特征點(diǎn)主要有三個(gè)特點(diǎn):一是無論圖像受到干擾與否,都能檢測(cè)到穩(wěn)定的特征點(diǎn);二是特征點(diǎn)中包含的特征信息具有代表性;三是特征點(diǎn)必須位于明顯的景物邊緣或角點(diǎn)上,同時(shí)保證點(diǎn)與點(diǎn)之間有一定的距離,避免密集分布。
為了獲得高質(zhì)量的特征點(diǎn),以增強(qiáng)圖像的匹配效果,學(xué)者們已經(jīng)進(jìn)行了相關(guān)研究。針對(duì)特征點(diǎn)的穩(wěn)定性問題,吳麗君等人[7]提出了一種基于特征點(diǎn)鄰域灰度值差熵的穩(wěn)定性準(zhǔn)則,該準(zhǔn)則雖然能有效減少不穩(wěn)定特征點(diǎn),但可能在局部鄰域內(nèi),有多個(gè)點(diǎn)滿足穩(wěn)定性準(zhǔn)則而被保留下來,造成特征點(diǎn)分布密集的情況;向程諭等人[8]利用Harris角點(diǎn)檢測(cè)算子篩選SIFT特征點(diǎn),以剔除圖像邊緣區(qū)域中大量不穩(wěn)定的偽特征點(diǎn),雖然該方法有效,但Harris 角點(diǎn)對(duì)人為設(shè)定的閾值比較敏感。針對(duì)特征點(diǎn)的唯一性問題,李嘉祥等人[9]提出脈沖信息流的反饋機(jī)制,以獲得視覺注意機(jī)制下的代表性特征點(diǎn);鄒承明等人[10]利用改進(jìn)的區(qū)域匹配法屏蔽無效區(qū)域,再檢測(cè)所有匹配塊上的特征點(diǎn)。針對(duì)特征點(diǎn)的顯著性問題,江澤濤等人[11]提出利用優(yōu)化的HC-GHS 顯著性檢測(cè)算法得到圖像的顯著性結(jié)構(gòu)圖,然后在顯著性結(jié)構(gòu)圖上檢測(cè)特征點(diǎn),以保證其顯著性;高飛等人[12]提出利用圖像的信息熵,改善特征點(diǎn)分布過于密集的問題,該方法保證了特征點(diǎn)的均勻性,但沒有解決復(fù)雜干擾圖像的匹配問題。由此看來,目前沒有較好的準(zhǔn)則來篩選穩(wěn)定性好、唯一性強(qiáng)和顯著性強(qiáng)的特征點(diǎn)。
針對(duì)特征點(diǎn)分布密集且重復(fù)提取,而影響匹配精度和效率的問題,本文提出三條特征點(diǎn)篩選準(zhǔn)則:穩(wěn)定性準(zhǔn)則、唯一性準(zhǔn)則和顯著性準(zhǔn)則。穩(wěn)定性準(zhǔn)則保證篩選出健壯穩(wěn)定的特征點(diǎn),唯一性準(zhǔn)則剔除特征重復(fù)的特征點(diǎn),顯著性準(zhǔn)則保留帶有明顯特征信息的點(diǎn)。利用常用特征檢測(cè)算法提取特征點(diǎn),先對(duì)特征點(diǎn)篩選,保證特征點(diǎn)的穩(wěn)定性、唯一性和顯著性,然后計(jì)算特征描述向量,最后進(jìn)行匹配。實(shí)驗(yàn)結(jié)果驗(yàn)證了所提篩選準(zhǔn)則的有效性。
1.1.1 篩選準(zhǔn)則
一般情況下,參考圖像和待匹配圖像是在不同拍攝位置、不同角度或不同傳感器下拍攝得到的圖像。如果一個(gè)特征點(diǎn)在不同拍攝條件和受到干擾之后依然能被檢測(cè)到,則認(rèn)為該特征點(diǎn)是穩(wěn)定的,利用穩(wěn)定的特征點(diǎn)進(jìn)行匹配,不僅能加快匹配速度,同時(shí)能提高匹配正確率。
準(zhǔn)則1(穩(wěn)定性準(zhǔn)則)對(duì)參考圖像進(jìn)行干擾變換,若對(duì)于原始參考圖像中的任意一個(gè)特征點(diǎn)p(x,y),在以該點(diǎn)為中心的N×N局部鄰域內(nèi),存在干擾后的參考圖像中的特征點(diǎn)q(x′,y′),滿足式(1):
則認(rèn)為p(x,y)是穩(wěn)定點(diǎn)。
1.1.2 篩選方法
在穩(wěn)定性篩選中,要對(duì)參考圖像進(jìn)行干擾變換,本文選擇模糊、尺度縮放、椒鹽噪聲三種干擾變換且并行實(shí)施,以篩選穩(wěn)定的特征點(diǎn)。具體篩選步驟如下所述:
(1)檢測(cè)參考圖像的特征點(diǎn)。
(2)對(duì)參考圖像依次添加模糊、尺度縮放、椒鹽噪聲干擾,然后對(duì)干擾后的參考圖像提取特征點(diǎn)。
(3)對(duì)于原始參考圖像的某個(gè)特征點(diǎn),若在受干擾圖像中以該點(diǎn)為中心的N×N局部鄰域內(nèi),能夠找到對(duì)應(yīng)的特征點(diǎn),則認(rèn)為該點(diǎn)是穩(wěn)定的,保留此特征點(diǎn),否則濾除。
(4)遍歷原始參考圖像的所有特征點(diǎn),根據(jù)步驟(3)篩選出所有穩(wěn)定特征點(diǎn)。
1.2.1 篩選準(zhǔn)則
如果特征點(diǎn)之間的距離較近,且計(jì)算的描述子相似度較大,會(huì)導(dǎo)致誤匹配的概率很大,為了保證某個(gè)特征點(diǎn)在以其為中心的局部鄰域內(nèi)具有代表性,本文提出唯一性準(zhǔn)則來篩選特征點(diǎn)。
對(duì)每個(gè)特征點(diǎn)進(jìn)行N×N鄰域搜索,若局部鄰域內(nèi)存在其他特征點(diǎn),且與中心位置處的特征點(diǎn)相似度很高,則認(rèn)為中心位置處的特征點(diǎn)唯一性較差,需要濾除。
準(zhǔn)則2(唯一性準(zhǔn)則)假設(shè)g(p)為中心位置處的特征點(diǎn)p的描述符,g(p′)為在局部鄰域中找到的某個(gè)特征點(diǎn)p′的描述符,若兩者的相似度S(g(p),g(p′))滿足式(2):
則p點(diǎn)具有唯一性,其中T為設(shè)定的閾值。
1.2.2 篩選方法
在唯一性篩選中,根據(jù)特征點(diǎn)對(duì)應(yīng)描述符的相似度來判定特征唯一的點(diǎn)。一般情況下,采用歐氏距離衡量描述符的相似性,但歐氏距離只利用了特征點(diǎn)的空間位置信息,弱化了復(fù)雜背景的差異,同時(shí)隨著特征向量維數(shù)的增加,查詢點(diǎn)和最近鄰點(diǎn)的期望距離將接近查詢點(diǎn)和最遠(yuǎn)鄰點(diǎn)的期望距離,導(dǎo)致誤匹配率增大;而交叉熵[13]直接利用特征點(diǎn)的描述符來衡量其相似性,特征向量維數(shù)的增加不會(huì)改變查詢點(diǎn)與最近鄰點(diǎn)、最遠(yuǎn)鄰點(diǎn)的距離,故使用交叉熵來判定特征點(diǎn)相似度。交叉熵的計(jì)算公式為:
其中,n為描述符的維數(shù),g(p,i)為特征點(diǎn)p的描述符,為特征點(diǎn)p′的描述符。
根據(jù)篩選準(zhǔn)則,使用如下所述的篩選步驟來獲得唯一性強(qiáng)的特征點(diǎn):
(1)對(duì)參考圖像進(jìn)行特征點(diǎn)提取,并計(jì)算特征描述符。
(2)對(duì)于某個(gè)特征點(diǎn),在以該點(diǎn)為中心的N×N局部鄰域內(nèi)搜索其他特征點(diǎn),根據(jù)這兩點(diǎn)的交叉熵與閾值的大小關(guān)系來判斷該特征點(diǎn)是否具有唯一性。交叉熵越大則特征點(diǎn)對(duì)應(yīng)的描述符相似度越低,表明特征點(diǎn)的唯一性較好。
(3)遍歷所有特征點(diǎn),根據(jù)步驟(2)篩選出滿足唯一性準(zhǔn)則的特征點(diǎn)。
1.3.1 篩選準(zhǔn)則
若特征點(diǎn)中含有明顯的特征信息,在匹配時(shí)更容易匹配成功,提高正確率,因此提出顯著性準(zhǔn)則來篩選顯著的特征點(diǎn)。
若局部區(qū)域的信息量大,則特征明顯;否則特征不明顯,因此可以利用信息量的大小來判斷圖像特征的顯著性[14]。而信息熵反映了圖像中平均信息量的多少,可以利用該值的大小來判斷顯著特征的區(qū)域,再進(jìn)一步提取顯著特征點(diǎn)。
準(zhǔn)則3(顯著性準(zhǔn)則)將圖像均勻分割成N×N的子區(qū)域,假設(shè)Hi為第i個(gè)子區(qū)域的信息熵,Hˉ為子區(qū)域的平均熵,若滿足式(4):
則認(rèn)為該子區(qū)域含有特征顯著的點(diǎn),其中i=1,2,…,N2。
1.3.2 篩選方法
在顯著性篩選中,使用如下所述的篩選方法完成特征點(diǎn)的篩選:
(1)提取參考圖像和待匹配圖像的特征點(diǎn)。
(2)將參考圖像均勻分割成N×N的子區(qū)域,然后將特征點(diǎn)對(duì)應(yīng)到各個(gè)子區(qū)域中,并按照響應(yīng)值大小進(jìn)行排序。
(3)利用式(5)計(jì)算各子區(qū)域的信息熵Hi,式(6)計(jì)算子區(qū)域的平均熵
其中,n為灰度級(jí)數(shù),Pi表示灰度值為i的像素點(diǎn)數(shù)占圖像總像素點(diǎn)數(shù)的比值。
(4)在局部熵大于平均熵的區(qū)域內(nèi)提取比例為r的響應(yīng)值較大的特征點(diǎn);為了避免特征點(diǎn)過于稀疏,在其他區(qū)域內(nèi)強(qiáng)制提取出最強(qiáng)響應(yīng)點(diǎn)。假設(shè)表示第i個(gè)子區(qū)域的特征點(diǎn)集,mi表示第i個(gè)子區(qū)域的特征點(diǎn)數(shù)目,并按響應(yīng)值大小排序,則第i個(gè)子區(qū)域篩選出的顯著特征點(diǎn)集為:
比例r的計(jì)算公式為:
(5)最后篩選得到的顯著性特征點(diǎn)為:
本文所提的特征點(diǎn)篩選準(zhǔn)則主要是為了增強(qiáng)匹配效果,且具有通用性,故將其運(yùn)用到常用的圖像匹配算法中,提出了基于特征點(diǎn)篩選的圖像匹配算法。該算法是在各種常用特征檢測(cè)算法的基礎(chǔ)上,提取對(duì)應(yīng)特征點(diǎn)后,先對(duì)特征點(diǎn)進(jìn)行篩選,保留穩(wěn)定、特征明顯且唯一的點(diǎn),再計(jì)算特征描述符,利用快速近似最近鄰查找(Fast Library for Approximate Nearest Neighbors,F(xiàn)LANN)算法[15]進(jìn)行匹配,最后通過隨機(jī)抽樣一致性(Random Sample Consensus,RANSAC)算法[16]剔除誤匹配。算法流程圖如圖1所示。
圖1 本文算法流程圖
為了驗(yàn)證本文所提篩選準(zhǔn)則和算法的有效性,采用Mikolajczyk 數(shù)據(jù)集的boats、graf、trees、ubc、leuven 五組圖像序列進(jìn)行實(shí)驗(yàn),這五組圖像分別存在不同程度的旋轉(zhuǎn)和縮放、視角變化、模糊變化、壓縮變化和光照變化的情況,且拍攝場(chǎng)景不同,以測(cè)試篩選準(zhǔn)則的有效性和對(duì)不同場(chǎng)景圖像的適用性。每組圖像序列有六幅子圖像,后五幅圖像與第一幅圖像的拍攝場(chǎng)景相同,但采用不同的拍攝參數(shù)。五組圖像序列的部分圖像如圖2 所示。實(shí)驗(yàn)運(yùn)行環(huán)境采用CPU 為Intel Core i5,3.20 GHz,內(nèi)存為4 GB,64 位Windows 10 操作系統(tǒng)的PC 機(jī)。本文實(shí)驗(yàn)的所有算法基于OpenCV 3.4.3,編程語言為C++,編程環(huán)境為Visual Studio 2015。在實(shí)驗(yàn)過程中,穩(wěn)定性準(zhǔn)則中局部鄰域N取值為3;唯一性準(zhǔn)則中局部鄰域N取值為50,閾值T取值為0.3;顯著性準(zhǔn)則中N取值為5。
圖2 實(shí)驗(yàn)所用圖像序列
實(shí)驗(yàn)包括兩部分:準(zhǔn)則的有效性及適用性實(shí)驗(yàn)、匹配結(jié)果與分析。先通過對(duì)不同變換類型及不同變換程度的圖像篩選特征點(diǎn),并計(jì)算匹配率,來測(cè)試篩選準(zhǔn)則的性能。然后分別利用SIFT算法[17]和最近提出的KAZE算法[18]提取特征點(diǎn),將本文所提算法與文獻(xiàn)[19]中的FS算法、傳統(tǒng)匹配算法進(jìn)行性能對(duì)比,測(cè)試本文算法的匹配效果,性能指標(biāo)包括正確率[20]、重復(fù)率[21]和匹配時(shí)間。
本文采用匹配正確率、重復(fù)率及匹配時(shí)間作為匹配算法的性能評(píng)價(jià)指標(biāo),三種指標(biāo)數(shù)據(jù)均是10 次實(shí)驗(yàn)結(jié)果求得的平均值。
(1)正確率
正確率P定義為兩幅圖像之間的正確匹配對(duì)數(shù)目與總匹配對(duì)數(shù)目的比值,計(jì)算公式為:
其中,m表示兩幅圖像之間的正確匹配對(duì)數(shù)目,n為兩幅圖像的總匹配對(duì)數(shù)目。P值越大,匹配算法的精度就越高。
(2)重復(fù)率
重復(fù)率re定義為兩幅圖像之間存在匹配關(guān)系的特征點(diǎn)數(shù)目與兩幅圖像中檢測(cè)到的較少特征點(diǎn)數(shù)目之比,計(jì)算公式為:
其中,n1和n2分別表示參考圖像和待匹配圖像檢測(cè)到的特征點(diǎn)數(shù)目,C(n1,n2)表示兩幅圖像中存在匹配關(guān)系的特征點(diǎn)數(shù)目,min(n1,n2)表示兩幅圖像中檢測(cè)到的較少特征點(diǎn)數(shù)目。重復(fù)率是衡量檢測(cè)算法的重要指標(biāo),該值越大越好。
(3)匹配時(shí)間
匹配時(shí)間是指利用描述符進(jìn)行匹配所消耗的時(shí)間,不包括特征點(diǎn)檢測(cè)及篩選的時(shí)間、描述符的構(gòu)造時(shí)間[22]。一般進(jìn)行多次實(shí)驗(yàn),求取匹配時(shí)間的平均值。
為驗(yàn)證所提篩選準(zhǔn)則的有效性及適用性,采用不同拍攝場(chǎng)景和不同變化情況的boats、graf、trees、ubc、leuven五組圖像序列進(jìn)行實(shí)驗(yàn),選擇后五幅圖像作為參考圖像,第一幅圖像作為待匹配圖像,提取圖像的KAZE特征點(diǎn)。表1記錄了五組圖像序列的匹配數(shù)據(jù)。
表1 不同變化情況下的圖像匹配數(shù)據(jù)
從表1中可以看出,參考圖像在不同程度的旋轉(zhuǎn)和縮放、視角變化、模糊變化及壓縮變化的情況下,隨著變換的劇烈程度,匹配正確率隨之下降,篩選出的特征點(diǎn)數(shù)目最多為412個(gè),最少為216個(gè),變化的劇烈程度對(duì)篩選到的特征點(diǎn)數(shù)目沒有很大影響,這間接證明了所提篩選準(zhǔn)則的有效性。在光照情況下,檢測(cè)到的特征點(diǎn)數(shù)目較少,篩選后的特征點(diǎn)數(shù)目也隨之減少,但隨著光照減弱,篩選后的特征點(diǎn)數(shù)目由174變?yōu)?39,光照的變化對(duì)篩選后的特征點(diǎn)數(shù)目影響不大,這也證明了準(zhǔn)則的有效性。此外,實(shí)驗(yàn)所用的五組圖像具有完全不同的背景,但篩選準(zhǔn)則依然有效,證明了準(zhǔn)則的適用性較強(qiáng)。
在匹配效果測(cè)試中,選用boats、graf 兩組圖像序列進(jìn)行實(shí)驗(yàn),第一幅子圖像作為參考圖像,其他五幅作為待匹配圖像。
利用傳統(tǒng)匹配算法、FS 算法和本文所提算法對(duì)兩幅參考圖像提取KAZE 特征點(diǎn),其中boats 組參考圖像三種算法最終得到的KAZE 特征點(diǎn)數(shù)目分別為5 053、667、327,graf 組參考圖像三種算法最終得到的特征點(diǎn)數(shù)目分別為3 157、467、233,兩組參考圖像的特征點(diǎn)篩選結(jié)果分別如圖3、圖4 所示。藍(lán)色表示提取的全部特征點(diǎn),綠色表示篩除的特征點(diǎn),紅色表示保留下來的特征點(diǎn)。
從圖3、圖4中可以看出,傳統(tǒng)匹配算法提取的特征點(diǎn)過多,且分布比較密集,F(xiàn)S算法篩選的特征點(diǎn)雖然數(shù)量上減少了,但無法保證穩(wěn)定性和唯一性,本文算法不僅很大程度減少了特征點(diǎn)數(shù)目,同時(shí)保證了特征點(diǎn)均勻地分布在整幅圖像中,且保留下來的特征點(diǎn)都具有較強(qiáng)的穩(wěn)定性和唯一性,有利于后續(xù)匹配工作順利進(jìn)行。
三種算法對(duì)兩組圖像序列匹配時(shí)的性能對(duì)比分別如圖5、圖6所示??梢钥闯觯瑐鹘y(tǒng)匹配算法的匹配時(shí)間最長,F(xiàn)S算法次之,本文基于特征點(diǎn)篩選準(zhǔn)則的匹配算法的匹配時(shí)間最短,這是因?yàn)閭鹘y(tǒng)算法中參考圖像檢測(cè)到的特征點(diǎn)數(shù)目最多,而FS 算法和本文算法篩選后得到的參考圖像的特征點(diǎn)數(shù)目急劇減少(分別是傳統(tǒng)匹配算法特征點(diǎn)數(shù)量的0.13 倍和0.06 倍),因此相似度計(jì)算的次數(shù)急劇減少。故相比其他兩種算法,本文算法有效縮短了匹配時(shí)間。同時(shí)由于剔除了對(duì)匹配作用不大的重復(fù)特征點(diǎn)和不夠顯著的特征點(diǎn),匹配正確率和重復(fù)率都高于其他兩種算法,證明了篩選準(zhǔn)則的可行性。
圖3 boats組參考圖像的KAZE特征點(diǎn)篩選結(jié)果
圖4 graf組參考圖像的KAZE特征點(diǎn)篩選結(jié)果
圖5 boats組圖像序列三種算法的性能對(duì)比(提取KAZE特征點(diǎn))
圖6 graf組圖像序列三種算法的性能對(duì)比(提取KAZE特征點(diǎn))
圖7 boats組圖像序列三種算法的性能對(duì)比(提取SIFT特征點(diǎn))
圖8 graf組圖像序列三種算法的性能對(duì)比(提取SIFT特征點(diǎn))
選擇SIFT 傳統(tǒng)匹配算法、FS 算法和本文所提算法進(jìn)行比較。三種算法對(duì)兩組圖像序列的匹配性能對(duì)比分別如圖7、圖8所示。
從圖7、圖8可以看出,提取SIFT特征點(diǎn)時(shí),三種匹配算法的性能對(duì)比和提取KAZE 特征點(diǎn)時(shí)變化趨勢(shì)一致。傳統(tǒng)匹配算法的正確率和重復(fù)率仍是最低,F(xiàn)S 算法的正確率和重復(fù)率雖然高于傳統(tǒng)匹配算法,但當(dāng)圖像中存在復(fù)雜的幾何變化時(shí),匹配效果不好;本文所提算法不僅很大程度縮短了匹配時(shí)間,同時(shí)匹配正確率和重復(fù)率都有很大提高。
本文提出了一種圖像匹配的特征點(diǎn)篩選方法。在各種常用特征檢測(cè)算法的基礎(chǔ)上,利用三條特征點(diǎn)篩選準(zhǔn)則來篩選特征點(diǎn),保留健壯穩(wěn)定且特征唯一的點(diǎn),同時(shí)使得特征點(diǎn)均勻地分布在圖像中。實(shí)驗(yàn)中利用不同變換類型及不同場(chǎng)景的圖像進(jìn)行測(cè)試,驗(yàn)證了本文所提篩選準(zhǔn)則的有效性和適用性;同時(shí)將本文算法與其他算法分別從正確率、重復(fù)率和匹配時(shí)間三種性能指標(biāo)進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明,本文算法的匹配正確率和重復(fù)率、匹配速度都優(yōu)于其他兩種算法,整體性能更好。今后將研究混合特征點(diǎn)的篩選和圖匹配。