當前位置:學問君>學習教育>畢業論文>

Harris點特徵提取算子以及改進算法教育論文

學問君 人氣:1.97W

1.1 Harris算子的原理

Harris點特徵提取算子以及改進算法教育論文

Harris算子的思想是計算像素所在位置的梯度構成自相關矩陣M,由M陣的特徵值的大小來檢測角點,如果像素所在位置有兩個方向梯度的絕對值都比較大,就判定此像素點爲角點。由於Harris 算子的公式只涉及圖像的一階導數,所以該算子計算較爲簡單、複雜度適中,是一種簡單而又穩定的算法。Harris算子的計算公式如下所示,式(1) 中, gx 爲x 方向的梯度, gy 爲y 方向的梯度, G( s ) 爲高斯模板。式(2) 中, det 爲矩陣的行列式,tr 爲矩陣的直跡, k爲默認常數。

而在實際操作中可以將計算興趣值的(2)式改爲I = det( M)/ ( tr(M) +ε)。其中ε爲任意小的正數, 該角點響應函數與(2)式相比,避免了k 的選取,減少了k 選擇的隨機性。博士論文,Harris算子。

1.2 Harris算子的實現

Harris 算子主要有以下特點[2]: ①算法簡單:Harris算子中只需對原始圖像進行灰度的一階差分以及對梯度值進行高斯濾波,操作簡單。②提取的點特徵均勻而且合理:Harris 算子對圖像中的每個點都計算其興趣值,然後在鄰域中選擇最優點。在圖像紋理資訊豐富的域,Harris 算子可以提取出大量有用的特徵點,而在圖像中紋理資訊少的區域,提取的特徵點則較少。博士論文,Harris算子。③可以定量的提取特徵點:Harris 算子最後一步是對所有的局部極值點進行排序,可以根據需要提取一定數量的最優點。④Harris 角點檢測在對角點度量執行非極大值抑制,確定局部極大值時,角點提取的效果完全依賴於單閾值的設定。⑤Harris 角點檢測雖然採用了可調視窗的高斯平滑函數,但高斯視窗的大小實際應用中難以確定。博士論文,Harris算子。如果選用較小視窗的高斯平滑函數,則會因爲噪聲的干擾導致衆多僞角點的出現;如果用較大視窗的.高斯平滑函數,則會因爲卷積的圓角效應使得角點的位置產生偏移。

2 對Harris算法的改進

Harris算子提取角點的效果較爲穩定,且較爲簡單,但是精度相對較低,由於圖像色調、噪聲等因素的影響,會出現提取出僞角點或提取出的特徵點爲與實際位置發生偏移等現象,而攝影測量中的Forstner算子定位精度較高;結合Harris算子與Forstner算子的特點,可以首先採用Harris算子提取一點數量的初選點,然後採用Forstner算子以初選點爲視窗中心,精確計算特徵點的位置。

2.1Forstner算子

Forstner算子的思想是透過Robert梯度對一幅影像上N*N大小的圖像視窗濾波,計算出視窗中心像素的灰度協方差矩陣,在影像中尋找具有儘可能小而接近圓的誤差橢圓的點做爲特徵點被提取出來。Forstner算子的計算公式如下,其中fx,fy分別爲確定的N*N大小的圖

像視窗中各像素在45°和135°方向的Robert梯度[3];

計算每個視窗的興趣值q和w。

當q>Tq,且w>Tw時,將該像元定爲待選點。博士論文,Harris算子。閾值Tq和Tw爲經驗值,其中Tq取值範圍爲0.5至0.75,Tw可以選取0.5至1.5之間一常數與w的平均值的乘積,或者w的中值與5的乘積。博士論文,Harris算子。

2.2 改進算法

改進算法的原理是: 首先對一幅圖像採用高斯模板方差爲0.7的Harris算子,提取一定量的初選點,這些初選點都是在圖像的局部範圍內的最優特徵點,精度能達到一個像素。將由Harris算子提取出的分佈比較均勻的待選特徵點做爲最佳視窗的中心點,採用Forstner算子對視窗內進行加權中心化操作,精確定位特徵點的位置,將精度提高到子像素級別。博士論文,Harris算子。在Visual C++ 6.0平臺上實現如上算法,可以觀察到,單純使用Harris算子提取到特徵點會出現點位偏移或提取出僞角點的問題,在Harris算子的基礎上在進行Forstner算子後的結果精度更高,特徵點位更精確。

3 結束語

Harris算子是一種穩定、簡便的特徵點提取算子,在實際操作中有廣泛的應用。但由於Harris算子只能達到一個像素的精度,所以結合Forstner算子高定位精度的特點,將這兩種算子結合起來進行點特徵提取,可以使提取到的特徵點的精度進一步提高。