期刊VIP學(xué)術(shù)指導(dǎo) 符合學(xué)術(shù)規(guī)范和道德
保障品質(zhì) 保證專業(yè),沒有后顧之憂
來源:期刊VIP網(wǎng)所屬分類:結(jié)業(yè)論文時(shí)間:瀏覽:次
摘要:目前主流的影像匹配算法大致可以分成兩種類型:第一類是在以待定點(diǎn)為中心的窗口(或稱區(qū)域)內(nèi),以影像的灰度分布為影像匹配的基礎(chǔ),故稱此種類型的算法為灰度匹配(Area Based Image Matching);第二類是基于影像特征的匹配,主要用于配準(zhǔn)特征點(diǎn)、線或面,這一類算法稱為特征匹配(Feature Based Matching)[1-2]。
關(guān)鍵詞:攝影測量與遙感;SIFT 算法;影像匹配;灰度模板;精度評價(jià)
0、引言
SIFT(The Scale InvariantFeature Transform)算法,全名是尺度不變特征轉(zhuǎn)換算法。SIFT 特征匹配算法屬于基于特征的匹配算法中的一種。SIFT 算法在特征提取、特征描述和特征匹配這三個(gè)方面都有自己獨(dú)特的特點(diǎn),因此SIFT 算法是目前影像匹配領(lǐng)域的研究熱點(diǎn)之一。
本文在實(shí)現(xiàn) SIFT 算法進(jìn)行影像匹配的基礎(chǔ)之上,對SIFT 算法的定位精度進(jìn)行分析,提出了一種評價(jià)SIFT 算法定位精度的可行方案。
1、基于 SIFT 算法的影像匹配
SIFT 特征匹配算法最初由加拿大的英屬哥倫比亞大學(xué)(British Columbia)的David G.Lowe 教授提出。該教授在1999 年9 月召開的計(jì)算機(jī)視覺國際會(huì)議(International Conferenceon Computer Vision)上發(fā)表了名為《Object Recognition from Local Scale-Invariant Features》的一篇論文。在該論文里,作者第一次提出了尺度不變特征的概念,并將其應(yīng)用于影像匹配領(lǐng)域。2004 年1 月,該教授發(fā)表了名為《Distinctive Image Features from Scale-InvariantKeypoints》的文章,在原來提出的算法的基礎(chǔ)之上進(jìn)行了一定的改進(jìn)工作,這些改進(jìn)主要包括SIFT 特征點(diǎn)的精確定位和特征點(diǎn)描述子的改進(jìn)等工作,從而使SIFT 算法得到完善[3]。
使用 SIFT 算法進(jìn)行影像匹配,大體上可以分為四個(gè)步驟。
1.1 在多尺度空間上生成高斯影像和高斯差分影像在不同的尺度空間上生成高斯影像和高斯差分影像是進(jìn)行SIFT 特征點(diǎn)檢測的第一步,也是SIFT 特征點(diǎn)檢測算法的一個(gè)重要特點(diǎn)。生成高斯影像使用的函數(shù)為:
實(shí)際操作中我們使用這個(gè)函數(shù)生成一個(gè)高斯平滑掩膜,然后使用這個(gè)掩膜對影像進(jìn)行處理。
按照逐步平滑處理的方法,一共可以生成3 組高斯影像。在3 組高斯影像的基礎(chǔ)之上,進(jìn)行差分運(yùn)算,又可以得到3 組高斯差分影像。
1.2 進(jìn)行極值檢測、極值點(diǎn)精確定位和去除低對比度點(diǎn)、邊緣響應(yīng)點(diǎn)由于 SIFT 算法的原理較為模式化,相關(guān)文獻(xiàn)以給出詳細(xì)描述,本文不再贅述。值得注意的是,極值點(diǎn)的檢測工作在同尺度的高斯差分金字塔影像之間進(jìn)行,檢測工作發(fā)生在相鄰的連續(xù)三張影像之間。檢測的結(jié)果顯示在中間一層影像上。據(jù)此可知,每組高斯差分影像上,特征點(diǎn)的檢測的結(jié)果顯示在第二層和第三層之間。在這兩層影像上,分別進(jìn)行特征點(diǎn)的搜索工作,但是對每層搜索影像而言,又有相鄰的兩層影像參與其中。這樣做的目的是確保在尺度空間和二維圖像空間都檢測到極值點(diǎn)。
1.3 為特征點(diǎn)分配方向和 SIFT 特征點(diǎn)描述子的生成分配方向的目的就是:利用關(guān)鍵點(diǎn)鄰域像素的梯度方向分布特性為每個(gè)特征點(diǎn)指定方向參數(shù),使算子具備旋轉(zhuǎn)不變性。該步驟主要利用關(guān)鍵點(diǎn)相鄰區(qū)域內(nèi)一定像素的梯度值和模來完成主方向的分配工作。
以 SIFT 特征點(diǎn)為中心取一個(gè)16×16 的一個(gè)窗口,在每4×4 的小塊上計(jì)算8 個(gè)方向的梯度方向直方圖,繪制每個(gè)梯度方向的累加值,即可形成一個(gè)128 維的向量,將這個(gè)向量作為SIFT 特征點(diǎn)的描述子。
1.4 使用特征向量進(jìn)行影像匹配工作當(dāng)兩幅圖像的 SIFT 特征向量生成后,采用特征點(diǎn)特征向量之間的歐式距離作為兩幅圖像之間特征點(diǎn)的相似性判定度量。
向量之間的歐式計(jì)算類似于兩點(diǎn)之間進(jìn)行距離運(yùn)算,也就是將向量中的相應(yīng)的元素兩兩求差后再進(jìn)行平方和運(yùn)算。算例如下:A 圖像中的向量a 與B 圖像中的所有的向量b 進(jìn)行歐式距離的計(jì)算:
求出最小的距離minL 和次小的距離cminL,然后計(jì)算兩個(gè)距離的比值minL/cminL,如果該比值小于0.8 就接受這一對匹配點(diǎn)。否則舍棄該點(diǎn)進(jìn)行下一個(gè)特征點(diǎn)的計(jì)算工作。在操作過程中應(yīng)該使用KDTree 數(shù)據(jù)結(jié)構(gòu)進(jìn)行運(yùn)算。
2、匹配點(diǎn)評價(jià)的基本方法與匹配精確定位方法
匹配點(diǎn)評價(jià)的基本方法有若干種,本文選擇使用在粗匹配的基礎(chǔ)之上進(jìn)行精確匹配來確定匹配點(diǎn)的精度的方法。
2.1 匹配點(diǎn)評價(jià)的基本方法目前評價(jià)點(diǎn)位的精度主要從三個(gè)方面入手:
(1)SIFT 算法的模型精度。在原文的文獻(xiàn)中,作者只是介紹其精度可以達(dá)到亞像素級,但是并沒有說明具體是多少,因?yàn)榫炔粌H與模型有關(guān)系,也和進(jìn)行匹配的圖像的特點(diǎn)(如:
噪聲大小,視角等)有關(guān)系。查閱目前幾乎所有的文獻(xiàn),基本沒有從SIFT 模型出發(fā)去評價(jià)該算法的精度的文章,也沒有找到相關(guān)的關(guān)于SIFT 模型的精度。
(2)利用匹配出的點(diǎn)位計(jì)算物方坐標(biāo)值,然后與該點(diǎn)的真實(shí)值相比較,從而得到該點(diǎn)位的物方精度。這是最常用的一種方法,但是該方法需要一定的控制點(diǎn)參與,限制其在實(shí)驗(yàn)室條件下的應(yīng)用。
(3)計(jì)算匹配點(diǎn)的精確值與SIFT 匹配出的點(diǎn)位相比較,從而得到SIFT 匹配點(diǎn)的偏差值。這就帶來一個(gè)問題:如何計(jì)算出匹配點(diǎn)的精確位置,如果目標(biāo)是一個(gè)角點(diǎn)或圓形標(biāo)志點(diǎn),可以使用已有的定位算子來完成精確定位工作。但是,遙感影像上都是無規(guī)則形狀的特征點(diǎn),因此可以考慮使用二次多項(xiàng)式擬合的方法來求得該特征點(diǎn)的精確位置。
2.2 在初始位置基礎(chǔ)上的影像精匹配在得到的 SIFT 特征點(diǎn)的像素級坐標(biāo)的基礎(chǔ)之上,在左右片上做如下處理:左片上,以該像素為中心取3╳3 的模板鄰域;右片以相應(yīng)的像素為中心取5╳5 的搜索區(qū)域。在搜索區(qū)域內(nèi),采用模板區(qū)域計(jì)算相關(guān)像素的相關(guān)系數(shù),計(jì)算公式如下這樣就可以在右片上得到匹配點(diǎn)周圍的9 個(gè)點(diǎn)的相關(guān)系數(shù)值,通過這9 個(gè)點(diǎn)可以采用最小二乘法擬合出一個(gè)二元二次曲面方程:
P(x, y) = ay2 + bx2 + cxy + dy + ex + f利用 Matlab 數(shù)學(xué)軟件采用最小二乘法可以得到上式的各個(gè)系數(shù)[4]:
這樣我們就可以得到匹配點(diǎn)的精確位置,其中X和Y是匹配點(diǎn)的像素級的坐標(biāo)值,擬和出的精確位置的理論精度在1/20 個(gè)像素以內(nèi)[5]。
但是,這樣做有一定的缺陷:該方法只有對適合進(jìn)行模板匹配的的區(qū)域才有效,因?yàn)橛跋竦木_匹配算法就是建立在影像相關(guān)系數(shù)計(jì)算并進(jìn)行插值得基礎(chǔ)之上的。
3、實(shí)驗(yàn)過程與結(jié)果
首先使用 SIFT 算法對影像進(jìn)行匹配。匹配影像選擇使用512×36360 的航天遙感三線陣CCD 影像的前后和后視影像進(jìn)行實(shí)驗(yàn)[6],截取其中一個(gè)匹配點(diǎn)的實(shí)驗(yàn)效果如下:
根據(jù)第三節(jié)中提出的影像精確匹配方法,采用VS2008.NET 編譯平臺和C#編程語言編寫相關(guān)程序[7]。測試其中的8 個(gè)匹配點(diǎn),測試結(jié)果如下表所示:
由此可以看出各SIFT 匹配點(diǎn)與真實(shí)位置的最大偏差值0.323±0.05 也在0.4 個(gè)像素以內(nèi),完全符合SIFT 特征點(diǎn)可以得到亞像素級的精度要求。
4、結(jié)論本
文在實(shí)現(xiàn) SIFT 算法進(jìn)行影像匹配的基礎(chǔ)之上,利用在影像上的特定區(qū)域可以進(jìn)行灰度模板匹配的情況,對SIFT 算法的定位精度進(jìn)行分析,提出了一種評價(jià)SIFT 算法定位精度的可行方案。通過表1 中的數(shù)據(jù)可以得出結(jié)論:SIFT 匹配點(diǎn)與真實(shí)位置的最大偏差值也在0.4 個(gè)像素以內(nèi),完全符合SIFT 特征點(diǎn)可以得到亞像素級的精度要求。
[參考文獻(xiàn)] (References)
[1] 張劍清等著.攝影測量學(xué)[M].武漢:武漢大學(xué)出版社,2004.
[2] 李德仁等著.攝影測量與遙感概論[M].北京:測繪出版社,2003.
[3] Lowe D G. Distinctive image features f rom scale-invariant keypoint s[J]. I nternational J ournal of ComputerV ision .2004 , 60(2) :91 - 110.
[4] 蘇金明等編著.MATLAB 實(shí)用教程[M].北京:電子工業(yè)出版社,2002.
[5] 韓峰等.數(shù)字圖像匹配算法的改進(jìn)及研究[J].內(nèi)蒙古工業(yè)大學(xué)學(xué)報(bào).2003,22(4):273-277[6] 王任享著.三線陣CCD 影像衛(wèi)星攝影測量原理[M].北京:測繪出版社,2006.
[7] 周禮著.C#和.NET3.0 第一步[M].北京:清華大學(xué)出版社,2008.