于嶺嶺,李 莉
(天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院,天津 300222)
隨著無線網(wǎng)絡(luò)的發(fā)展和移動智能手機(jī)的普及,面向移動設(shè)備的地標(biāo)識別成為當(dāng)今學(xué)者們研究的熱點之一。地標(biāo)識別的對象一般是標(biāo)志性建筑物或自然物。用戶通過移動設(shè)備捕捉地標(biāo)的視覺特征,便可獲取該地標(biāo)背景知識及其周邊的商業(yè)信息、交通狀況、景點環(huán)境等相關(guān)信息[1]。徐祥振[2]提出了一種基于SIFT 算法的地標(biāo)識別方法,通過尺度不變特征變換(scale-invariant feature transform,SIFT) 圖像匹配算法,完成對旅游景點的信息確認(rèn),但圖像匹配并不能完全準(zhǔn)確。羅文城[3]根據(jù)慣性導(dǎo)航數(shù)據(jù)規(guī)劃建筑結(jié)構(gòu)的路徑圖,實現(xiàn)慣性導(dǎo)航數(shù)據(jù)和圖像地標(biāo)相結(jié)合的室內(nèi)定位方法,但由于傳感器的限制,隨著時間的增加,海拔信息的精度將下降。孫亞麗[4]設(shè)計了基于多傳感器融合的室內(nèi)地標(biāo)識別系統(tǒng),由于采集數(shù)據(jù)的傳感器設(shè)備可能存在硬件性偏差,會對分析造成細(xì)微的誤差。范音[5]提出了一種面向全景圖的地標(biāo)識別方法,若拍攝的圖像間無重疊部分時,則無法實現(xiàn)有效拼接且易出現(xiàn)耗時長的問題。針對圖像匹配的優(yōu)勢和不足,本文提出了一種使用圖像檢索與全球定位系統(tǒng)相結(jié)合的地標(biāo)識別系統(tǒng),旨在提高檢索正確率和縮短檢索時間,該研究采用加速穩(wěn)健特征(speeded up robust features,SURF)算法對地標(biāo)圖像進(jìn)行特征匹配,采用隨機(jī)抽樣一致性(random sample consensus,RANSAC)算法對特征點進(jìn)行提純,再次驗證其有效性。
在用于地標(biāo)識別的匹配算法中,SIFT 算法首先由Lowe[6]于1999 年在計算機(jī)視覺國際會議上提出,2004年再次經(jīng)Lowe[7]完善后發(fā)表。該算法對于光線、噪聲、微視角改變的容忍度很高,擁有大量信息,能夠在海量數(shù)據(jù)庫中快速準(zhǔn)確地匹配。SURF算法由Bay 等[8]于2006 年提出,作為一種新興的特征提取方法,它在可重復(fù)性、唯一性和魯棒性方面接近或超越過去提出的類似方法,并在計算效率方面具有明顯的優(yōu)勢。SURF算法的速度約為SIFT 算法的3 倍,檢測到的特征點數(shù)約為SIFT 算法的1/3。此外,SURF算法還與圖像大小、紋理復(fù)雜度和算法參數(shù)設(shè)置有關(guān)[9]。
SURF算法一般分4 步進(jìn)行[10],算法匹配基本步驟如圖1所示。
圖1 算法匹配基本步驟
圖像的尺度空間可定義為原始圖像和可變尺度的二維高斯函數(shù)的卷積運算[11]。在計算機(jī)領(lǐng)域中,尺度空間被象征性地表述為一個圖像金字塔。其中,對于SIFT 算法的尺度空間建立,需要重復(fù)使用高斯函數(shù)對圖像進(jìn)行平滑處理并且下一層圖像由上一層圖像降采樣得到,通過連續(xù)采樣,一層一層直到塔頂,因此在特征點檢測時運算量過大,消耗時間較長。而SURF算法是通過改變矩形濾波器的大小而不是改變圖像的大小來獲得尺度空間,同時使用積分圖像來加速卷積運算。SURF算法直接使用不同尺寸的濾波器,實現(xiàn)多層圖像同時被處理,從而減少時間,提高了運算速度。高斯金字塔如圖2所示,從圖2(a)中可知,SIFT 算法采用傳統(tǒng)方式建立位于金字塔結(jié)構(gòu),并且圖像的大小需要重置。
SURF算法在建立尺度空間之后,對于特定尺度圖像下的關(guān)鍵點提取是基于Hessian 矩陣實現(xiàn)的。圖像中像素點的Hessian 矩陣:
圖2 高斯金字塔
因為特征點要具備尺度無關(guān)性,所以先要經(jīng)過高斯濾波再構(gòu)造Hessian 矩陣。經(jīng)過濾波后的Hessian矩陣為:
式中:Lxx(x,σ)、Lxy(x,σ)、Lyy(x,σ)分別為高斯濾波二階導(dǎo)數(shù)同I(x,y)卷積的結(jié)果
最后通過計算H 行列式的值判別特征點,為了方便應(yīng)用,使用近似值代替。每個像素的Hessian 矩陣行列式的近似值為:
式中:Dxx,Dxy,Dyy為矩形濾波器同圖像卷積運算后的值;w 為權(quán)重系數(shù),一般取0.9,其為平衡準(zhǔn)確值與近似值的誤差而被引入。
SURF 中,在特征點的一個圓形區(qū)域中找到一個主方向,并且根據(jù)主方向選擇邊長為20 s(采樣步長取s)的正方形窗口區(qū)域[12],然后將該區(qū)域分成16 個子區(qū)域,每個子區(qū)域計算5 s×5 s 范圍內(nèi)的小波響應(yīng)。因此,在每個子區(qū)域中形成四維分量的向量并且求出每個子區(qū)域的特征向量,形成4×4×4=64 維的描述向量。該64 維的描述向量即為構(gòu)成特征點的SURF 描述子,對于SIFT 算法而言,其描述子是4×4×8=128 維的描述向量。
描述子生成后,將兩圖像中各個尺度的描述子進(jìn)行歐氏距離計算,距離越短則匹配度越高,再根據(jù)Hessian 矩陣跡(矩陣特征值的和)的正負(fù)號是否相同判斷2 個特征點能否匹配。SIFT 算法與SURF算法基本類似,唯一不同的是SURF算法添加了Hessian 矩陣跡的判斷,優(yōu)點是當(dāng)2 個特征點歐氏距離為0 時,若它們的Hessian 矩陣跡的正負(fù)號不同,則這2 個特征點不能匹配。
1.4.1 RANSAC算法
由于兩圖像中不同的2 點的紋理屬性或顏色亮度相同而使得2 點的特征描述也很相似,進(jìn)而導(dǎo)致了兩圖像之間出現(xiàn)大量誤匹配[13]。因此,本文中的特征匹配過程中結(jié)合了RANSAC 算法剔除誤匹配。RANSAC算法最早由Fischler 等[14]于1981 年提出,是一種魯棒性的參數(shù)估計方法。該算法可以接受金字塔構(gòu)造過程中產(chǎn)生的圖像噪聲,且最大程度地剔除誤匹配點[15-16]。其原理是先隨機(jī)抽取觀測數(shù)據(jù)子集,假設(shè)所選取的子集是內(nèi)點(即滿足估計參數(shù)的點),然后使用該內(nèi)點擬合適合于假設(shè)內(nèi)點的模型,通過不斷地迭代數(shù)據(jù)子集找到符合足夠多數(shù)據(jù)的模型。
RANSAC 算法從SURF算法預(yù)匹配的數(shù)據(jù)集中隨機(jī)刪除一些匹配點對,并計算變換矩陣H,記為模型M。然后計算模型M 與數(shù)據(jù)集中數(shù)據(jù)的投影誤差,如果誤差小于閾值,則加入內(nèi)點集I。最后,判斷當(dāng)前內(nèi)點集I 是否大于最優(yōu)內(nèi)點集,若大于則更新最優(yōu)內(nèi)點集為I,同時更新迭代次數(shù)k。若此時得到的模型符合足夠多的數(shù)據(jù),則退出;否則迭代次數(shù)增加1 并重復(fù)上述步驟。迭代次數(shù)k 計算式為:
式中:p 為置信度,一般取0.995;w 為內(nèi)點個數(shù)與所有點的比例;m 為計算模型需要的樣本數(shù),最小樣本數(shù)一般取4。
地標(biāo)識別系統(tǒng)主要分為用戶端和服務(wù)端兩大部分。用戶端部分主要是圖像采集與獲取定位結(jié)果,在圖像采集過程中移動設(shè)備的GPS 服務(wù)需要處于開啟狀態(tài)。服務(wù)端部分包括數(shù)據(jù)庫模塊、位置信息提取模塊、特征提取模塊和地標(biāo)識別匹配模塊。數(shù)據(jù)庫模塊用于存儲數(shù)據(jù)集的數(shù)據(jù)信息,供查詢使用;位置信息提取模塊的作用是提取圖像位置信息為數(shù)據(jù)庫模塊實現(xiàn)基于位置信息的初步篩選;特征提取模塊是提取圖像的特征;地標(biāo)識別匹配模塊將候選圖像與查詢圖像進(jìn)行特征匹配,最后通過特征點數(shù)量的多少判定匹配的結(jié)果,將結(jié)果輸出。地標(biāo)識別系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 地標(biāo)識別系統(tǒng)結(jié)構(gòu)
移動設(shè)備在拍攝圖像時通過內(nèi)部GPS 定位獲取信息。該系統(tǒng)實驗的圖像數(shù)據(jù)來源于OPPO 手機(jī)拍攝的天津職業(yè)技術(shù)師范大學(xué)的建筑物,共有4 個不同的地標(biāo)收集圖像數(shù)據(jù)集。取其中30 幅圖像作為數(shù)據(jù)庫圖像,剩余的16 幅圖像視為查詢圖像。數(shù)據(jù)庫中的地標(biāo)位置信息使用的是谷歌地球上的定位位置。
本系統(tǒng)實驗的查詢圖像利用SURF算法和RANSAC 算法與經(jīng)過位置信息篩選的候選圖像進(jìn)行匹配。對于匹配準(zhǔn)確度而言,采用內(nèi)部測試的方法,即將數(shù)據(jù)庫里的圖像逐一與其余的圖像進(jìn)行匹配查詢,并將其結(jié)果視為本系統(tǒng)的準(zhǔn)確度。選取的4 個建筑物的相對位置如圖4所示。
圖4 4個建筑物的相對位置
2.3.1 RANSAC提純
SURF算法特征點匹配結(jié)果如圖5所示。相應(yīng)地,RANSAC 算法提純的最優(yōu)匹配結(jié)果如圖6所示。從圖6 中能夠看出,提純后匹配點數(shù)明顯減少,提純的效果比較可觀,剔除了誤匹配。
圖5 SURF算法特征點匹配結(jié)果
圖6 RANSAC 算法提純的最優(yōu)匹配結(jié)果
2.3.2 不同因素影響下的圖像匹配
不同因素影響的圖片匹配效果對比如圖7所示。SURF算法針對圖片的平移、旋轉(zhuǎn)、光度變化做了測試,通過測試驗證了SURF算法不會因為照片拍攝的不良因素對檢測結(jié)果造成較大的影響。
2.3.3 檢測精確度與時間
本文測試數(shù)據(jù)集的內(nèi)部準(zhǔn)確性,精度對比結(jié)果如表1所示。SIFT 算法、SURF算法分別在無GPS 位置信息與結(jié)合GPS 位置信息的情況下進(jìn)行測試。
圖7 不同因素影響的圖片匹配效果對比
表1 精度對比結(jié)果
從表1 中可以看出,SURF算法在有GPS 位置信息的判別下,得到的識別精度比無GPS 位置信息精準(zhǔn),精度可高達(dá)96.67%。SIFT 算法同SURF算法一樣,在無GPS 位置信息的輔助下識別精度比較差,結(jié)合GPS 位置信息后,其精度也達(dá)到96.67%。還可觀察到SURF算法識別的準(zhǔn)確率很大程度上依賴GPS 位置信息的輔助,才能達(dá)到理想效果。實驗中發(fā)現(xiàn),因為學(xué)校建筑物較為集中,某些建筑物的距離很近,在某些位置有多于1 個建筑物的GPS 信息且都在計算的距離差值之內(nèi),則只對距離差值最小的前3 個建筑物進(jìn)行圖像匹配識別,并最終選取匹配點數(shù)最多的建筑物為結(jié)果。此外,校園中樹木、高樓等遮擋比較多的地方,GPS 信號比較弱,初始定位誤差較大,導(dǎo)致SURF算法無法實現(xiàn)匹配;遇到植物較多、圖像復(fù)雜的情況,則定位結(jié)果主要依賴GPS,如果此時GPS 信號也弱,則無法實現(xiàn)正確匹配。
對于檢測時間而言,將同一圖片在不同的條件下進(jìn)行檢測,每個條件下分別測試了500 次并對獲得的檢測時間結(jié)果求平均值,測試時間對比如表2所示。
表2 測試時間對比
從表2 中可以看出,SURF算法結(jié)合GPS 位置信息篩選候選圖像在一定程度上提高了算法時間效率,但SIFT 算法如預(yù)期一樣消耗時間最長。實驗表明,與圖像特征提取SIFT 算法相比,SURF算法在時間效率上有了很大的提高,并且在結(jié)合GPS 位置信息后檢測時間進(jìn)一步縮短。對一幅480×640 的建筑物圖片分別用SURF算法和SIFT 算法檢測,在執(zhí)行時間上相差3~4 倍,這與SURF算法采用了Haar 小波響應(yīng)和積分圖像的概念有很大的關(guān)系。
本文提出了一種基于圖像檢索與GPS 定位相結(jié)合的地標(biāo)識別系統(tǒng)。通過實驗驗證了結(jié)合GPS 定位信息對地標(biāo)圖像匹配精度提高明顯,以及SURF算法結(jié)合GPS 位置信息識別地標(biāo)過程在時間上的優(yōu)勢。后續(xù)將針對地標(biāo)識別算法做更進(jìn)一步的優(yōu)化研究,使系統(tǒng)運行時間更快,精度更高并能完成手機(jī)端的系統(tǒng)設(shè)計,然后運用公共數(shù)據(jù)庫對其進(jìn)行驗證。