許 睿,謝志文,黃小雪,龔 瓊,萬 航
(1. 桂林電子科技大學, 廣西 桂林 541004;2. 桂林市環保局,廣西 桂林 541002)
基于SIFT的圖像匹配算法的研究
許 睿1,謝志文1,黃小雪2,龔 瓊1,萬 航1
(1. 桂林電子科技大學, 廣西 桂林 541004;2. 桂林市環保局,廣西 桂林 541002)
SIFT特征匹配算法具有很強的匹配優勢,當圖像發生角度改變、位置改變、視覺角度變換、光照強度變化、仿射演變情況下,仍能正確匹配。通過實驗驗證了算法的匹配優勢。
圖像匹配; 特征提取;SIFT算法

圖像匹配是視覺技術的基礎,許多學者對圖像之間的匹配技術進行了大量研究和改進,提出了多種算法,SIFT特征匹配算法是比較成功的算法之一[1]。
SIFT算法是特征提取和圖像識別技術[2,3],主要包括兩個過程,一是特征生成,一是特征向量匹配。
1.1 尺度空間上的極值檢測
將圖像I(x,y)的尺度假設為L(x,y,σ),由高斯函數G(x,y,σ)和圖像I(x,y)卷積生成:

想要在尺度空間找到固定的關鍵點坐標,應在高斯差分函數與圖像卷積生成的空間D(x,y,σ)中檢測極值點:

其中相鄰兩個尺度由一個常數k分開。有兩個理由:一是節約計算時間,計算D時只要計算相鄰尺度函數的差值。二是D的屬性與尺度歸一化的拉普拉斯高斯函數σ2?2G 很相似[4]。
因為拉普拉斯函數與尺度不相關,所以高斯差分函數也與尺度不相關。對于所有尺度而言,k是一個常量,所以使用D不會影響極值的選擇。當k 遠離1 時,誤差會越來越大。但實際上,k跟極值的選取無關。利用金字塔得到高斯差分圖像,如圖1。
金子塔被分為多層。從第一層開始,對第一幅圖像連續用高斯函數卷積,生成許多逐漸平滑的圖像。在這一層中,相近的高斯圖像差分得到高斯差分圖像。等這組結束后,從中抽取一幅圖像a進行降采樣,獲得圖像b,面積變是a的1/4,并讓b作為下一層的初始圖像,重復第一層的過程。選擇a的原則是獲得a所要的尺度空間S的參數σ是原始S的2 倍。假設k = 21/t,在t個尺度中找尋極大值或極小值,平均每層要有t+3 幅圖像,得到t+2 幅高斯差分圖像。經驗值為1.6×21/3和3,說明k取值21/3。

圖1 金字塔
1.2 關鍵點的定位
對上面得到的極值點進行挑選,除掉不穩定的點。不穩定點包括邊緣點和低對比度的點。對于某一個尺度上求取的極值點,采用一個3維的2次函數求其在原圖像上的位置,并去除低對比度的點。首先在某極值點A對D(x,y,σ)進行泰勒展開:

其中,X(x,y,σ)T是到點A 的偏移量。對式(4)求X 的偏導數并令偏導為零,得:

如果x大于0.5,說明這個極值點和另一個采樣點離得更近,采用插值法求得極值點位置的估計值。同時,可以利用D(x^) 去除低對比度的點。將式(5)代入式(4)得:


設α是較大的特征值,β是較小的特征值,由矩陣性質知:

一般情況下這里的行列式不會是負值,如果出現負值,即兩個主曲率不同號,不將其視為極值點。設r=α/β,得:

(r +1)2 / r 是遞增函數。要得到主曲率的比值r,判斷上式左邊是否在開關值以下即可。開關值一般取值r=10。
1.3 為關鍵點標定方向
為關鍵點隨便賦一個方向,定義的關鍵點描述子是相對于這個方向的,因而可以實現匹配時圖像的旋轉不相關性[6]。 為了證明跟尺度沒有關系,篩選與這個尺度最毗鄰的高斯平滑圖像L,對于L上的每個點L(x, y),計算梯度和方向:

劃分一個相鄰區域,讓關鍵點作為中心,使用在這個范圍內的點的梯度得到某個未知方向直方圖。此圖的X坐標表示梯度朝向,共有36 項,每一項表示10°;Y軸表示梯度范圍,對于劃歸到X軸的所有點,把梯度取值作加法運算,其和作為Y軸取值。Y軸取值最大的方向是關鍵點的主要方向。Y軸的取值大于主要方向Y軸取值的過半以上,也認為是關鍵點方向。特征點有多個方向,也就是有多個關鍵點。為了使穩定性更好,可以對關鍵點鄰域的梯度進行高斯加權[7]。
1.4 提取特征點描述符
為了保證旋轉不變,需將坐標軸翻轉為重要點的方向。以特征點為中心,選取8×8鄰域,把特征點與取樣點相向方向高斯加權,然后劃入包含8個方向的直方圖,得到2×2×8即32維特征描述子,如圖2。

圖2 32維特征描述子
一個小正方形表示了特征點附近尺度范圍的某個像素點,箭頭方向表示像素梯度朝向,箭頭長度表示梯度取值。在4×4范圍內計算8個方向的梯度方向直方圖,如圖3 。描繪每個梯度方向的累加可形成一個種子點。每一個描述符都包含一個位于關鍵點鄰域的4個直方圖數組,每個直方圖有8方向的梯度方向。因此SIFT的特征向量有128維。

圖3 梯度方向直方圖
采用VS2010實現整個實驗過程。圖4是原始圖像,圖5是圖4旋轉90°后所得圖像。用SIFT程序實驗,得圖6。從實驗結果可以看出,SIFT算法對處理圖像旋轉具有很好的效果。圖7是圖4放大兩倍的結果,把圖4和圖7進行匹配得到圖8。通過實驗可以看出,圖像大小并不影響匹配的效果。

圖4 原始圖像

圖5 旋轉90°后圖像

圖6 SIFT匹配結果1

圖7 放大2倍后圖像

圖8 SIFT匹配結果2
[1] Lowe D G. Object Recognition from Local Scale –Invariant Features[C]. 7th Int Conf Computer Vision, 1999
[2] Brown M, Lowe D G. Invariant Features from Interest Point Groups[C]. British Machine Vision Conference,Cardiff,Wales, 2002
[3] Lowe D G. Distinctive Image Features from Scale –Invariant Keypoints[J]. Int J Computer Vision, 2004,60(2):91-110
[4] 吳銳航. 基于SIFT特征的圖像檢索[J].計算機應用研究,2008(2):478-481
[5] 高成,董長虹,郭磊,等,MATLAB圖像處理與應用[M].北京:國防工業出版社,2007
[6] 張正友,馬頌德.計算機視覺——計算理論與算法基礎[M].北京:科學出版社,2003
[7] 王永明, 王貴錦. 圖像局部不變性特征與描述[M]. 北京: 國防工業出版社, 2010
P237.3
B
1672-4623(2014)04-0072-03
10.11709/j.issn.1672-4623.2014.04.025
許睿,副教授,主要從事遙感與圖像識別研究。
2013-08-26。
項目來源:國家自然科學基金資助項目(31200326);國家科技支撐計劃資助項目(2011BAK12B04);中國博士后基金資助項目(20110491727);廣西科學研究和技術開發資助項目(GKG 1140002-2-4)。