通常意義上來說,角點就是極值點,即在某方面屬性特別突出的點,是在某些屬性上強度最大或者最小的孤立點、線段的終點。對于圖像而言,其是物體輪廓線的連接點。
算法的核心是利用局部窗口在圖像上進行移動,判斷灰度是否發生較大的變化。如果窗口內的灰度值(在梯度圖上)都有較大的變化,那么這個窗口所在區域就存在角點。
這樣就可以將 Harris 角點檢測算法分為以下三步:
1,當窗口(局部區域)同時向 x (水平)和 y(垂直) 兩個方向移動時,計算窗口內部的像素值變化量 E(x,y);
2,對于每個窗口,都計算其對應的一個角點響應函數 R;
3,然后對該函數進行閾值處理,如果 R>threshold,表示該窗口對應一個角點特征。
2
建立數學模型
第一步是通過建立數學模型,確定哪些窗口會引起較大的灰度值變化。讓一個窗口的中心位于灰度圖像的一個位置(x,y),這個位置的像素灰度值為I(x,y),如果這個窗口分別向 x和 y 方向移動一個小的位移u和v,到一個新的位置 (x+u,y+v),這個位置的像素灰度值就是I(x+u,y+v)。|I(x+u,y+v)?I(x,y)|就是窗口移動引起的灰度值的變化值。
設w(x,y)為位置(x,y)處的窗口函數,表示窗口內各像素的權重,最簡單的就是把窗口內所有像素的權重都設為1,即一個均值濾波核。當然,也可以把 w(x,y)設定為以窗口中心為原點的高斯分布,即一個高斯核。
如果窗口中心點像素是角點,那么窗口移動前后,中心點的灰度值變化非常強烈,所以該點權重系數應該設大一點,表示該點對灰度變化的貢獻較大;而離窗口中心(角點)較遠的點,這些點的灰度變化比較小,于是將權重系數設小一點,表示該點對灰度變化的貢獻較小。
則窗口在各個方向上移動(u,v)所造成的像素灰度值的變化量公式如下:
若窗口內是一個角點,則E(u,v)的計算結果將會很大。為了提高計算效率,對上述公式進行簡化,利用泰勒級數展開來得到這個公式的近似形式。
對于二維的泰勒展開式公式為:
T(x,y)=f(u,v)+(x?u)fx(u,v)+(y?v)fy(u,v)+....
則I(x+u,y+v) 為:
I(x+u,y+v)=I(x,y)+uIx+vIy
其中Ix和Iy是I的微分(偏導),在圖像中就是求x 和 y 方向的梯度圖:
Ix=?I(x,y)/?x
Iy=?I(x,y)/?y
將I(x+u,y+v)=I(x,y)+uIx+vIy代入E(u,v)可得:
提出 u 和 v ,得到最終的近似形式:
其中矩陣M為:
最后是把實對稱矩陣對角化處理后的結果,可以把R看成旋轉因子,其不影響兩個正交方向的變化分量。經對角化處理后,將兩個正交方向的變化分量提取出來,就是 λ1 和 λ2(特征值)。
這里利用了線性代數中的實對稱矩陣對角化的相關知識,有興趣的同學可以進一步查閱相關資料。
3
角點響應函數R
現在我們已經得到E(u,v)的最終形式,別忘了我們的目的是要找到會引起較大的灰度值變化的那些窗口。
灰度值變化的大小則取決于矩陣M,M為梯度的協方差矩陣。在實際應用中為了能夠應用更好的編程,所以定義了角點響應函數R,通過判定R大小來判斷像素是否為角點。
計算每個窗口對應的得分(角點響應函數R定義):
其中 det(M)=λ1λ2是矩陣的行列式,trace(M)=λ1+λ2是矩陣的跡。λ1和 λ2是矩陣M的特征值,k是一個經驗常數,在范圍 (0.04, 0.06) 之間。R的值取決于M的特征值,對于角點∣R∣很大,平坦的區域∣R∣很小,邊緣的R為負值。
4
角點判定
根據 R 的值,將這個窗口所在的區域劃分為平面、邊緣或角點。為了得到最優的角點,我們還可以使用非極大值抑制。
注意:Harris 檢測器具有旋轉不變性,但不具有尺度不變性,也就是說尺度變化可能會導致角點變為邊緣。想要尺度不變特性的話,可以關注SIFT特征。
因為特征值 λ1 和 λ2 決定了 R 的值,所以我們可以用特征值來決定一個窗口是平面、邊緣還是角點:
平面:該窗口在平坦區域上滑動,窗口內的灰度值基本不會發生變化,所以∣R∣ 值非常小,在水平和豎直方向的變化量均較小,即 Ix和 Iy都較小,那么 λ1 和 λ2 都較小;
邊緣:∣R∣值為負數,僅在水平或豎直方向有較大的變化量,即 Ix和Iy只有一個較大,也就是 λ1>>λ2 或 λ2>>λ1;
角點:[公式] 值很大,在水平、豎直兩個方向上變化均較大的點,即 Ix和 Iy都較大,也就是 λ1 和 λ2 都很大。
如下圖所示:
Harris 角點檢測的結果是帶有這些分數 R 的灰度圖像,設定一個閾值,分數大于這個閾值的像素就對應角點。
編輯:黃飛
-
圖像處理
+關注
關注
27文章
1292瀏覽量
56747 -
閾值
+關注
關注
0文章
123瀏覽量
18494 -
Harris
+關注
關注
0文章
9瀏覽量
8215
原文標題:圖像處理-harris角點檢測
文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論