特征提取算法(4)——Harris角點提取


1、角點

1.1 特征點與角點

特征點是計算機視覺算法的基礎,使用特征點來代表圖像的內容。

角點是一類重要的點特征,圖像分析的角度來定義:

  1. 角點可以是兩個邊緣的角點;
  2. 角點是鄰域內具有兩個主方向的特征點;

有以下特點:

  • 局部窗口沿各方向移動,均產生明顯變化;
  • 圖像局部曲率突變;

不同類型的角點:

1.2 典型的角點檢測算法

一種需要對圖像邊緣進行編碼,這在很大程度上依賴於圖像的分割與邊緣提取,具有相當大的難度和計算量,且一旦待檢測目標局部發生變化,很可能導致操作的失敗。

另一種基於圖像灰度的方法通過計算點的曲率及梯度來檢測角點,避免了第一類方法存在的缺陷,此類方法主要有Moravec算子、Forstner算子、Harris算子、SUSAN算子等。

比較著名的角點檢測方法還有jianbo Shi和Carlo Tomasi提出的Shi-Tomasi算法,這個算法開始主要是為了解決跟蹤問題,用來衡量兩幅圖像的相似度,我們也可以把它看為Harris算法的改進。OpenCV中已經對它進行了實現,接口函數名為GoodFeaturesToTrack()

另外還有一個著名的角點檢測算子即SUSAN算子,SUSAN是Smallest Univalue Segment Assimilating Nucleus(最小核值相似區)的縮寫。SUSAN使用一個圓形模板和一個圓的中心點,通過圓中心點像素與模板圓內其他像素值的比較,統計出與圓中心像素近似的像元數量,當這樣的像元數量小於某一個閾值時,就被認為是要檢測的角點。我覺得可以把SUSAN算子看為Harris算法的一個簡化。這個算法原理非常簡單,算法效率也高,所以在OpenCV中,它的接口函數名稱為:FAST() 。

2、Harris角點檢測

Harris角點檢測算子是於1988年由CHris Harris& Mike Stephens提出來的。在具體展開之前,不得不提一下Moravec早在1981就提出來的Moravec角點檢測算子。

2.1 Moravec角點檢測算子

在圖像上取一個W*W的“滑動窗口”,不斷的移動這個窗口並檢測窗口中的像素變化情況E。像素變化情況E可簡單分為以下三種:

  1. 如果在窗口中的圖像是什么平坦的,那么E的變化不大;
  2. 如果在窗口中的圖像是一條邊,那么在沿這條邊滑動時E變化不大,而在沿垂直於這條邊的方向滑動窗口時,E的變化會很大;
  3. 如果在窗口中的圖像是一個角點時,窗口沿任何方向移動E的值都會發生很大變化。

上圖就是對Moravec算子的形象描述。用數學語言來表示的話就是圖像I(x,y),當點(x,y)處平移(Δx,Δy)后的自相似性,自相關函數給出:

其中W(x,y)是以點(x,y)為中心的窗口,ω(u,v)是加權函數,可以是常數,也可以是高斯加權函數:

其中(Δx,Δy就表示四個移動方向(1,0)(1,1)(0,1)(-1,1),E就是像素的變化值。Moravec算子對四個方向進行加權求和來確定變化的大小,然和設定閾值,來確定到底是邊還是角點。

2.2 Harris角點檢測算子原理

Harris角點檢測算子實質上就是對Moravec算子的改良和優化。

作者提出了三點Moravec算子的缺陷並且給出了改良方法:

(1)Moravec算子對方向的依賴性太強,在上文中我們可以看到,Moravec算子實際上只是移動了四個45度角的離散方向,真正優秀的檢測算子應該能考慮到各個現象的移動變化情況。為此,作者采用微分的思想:

泰勒公式展開:

也就是說圖像I(x,y在點)(x,y)處平移(Δx,Δy)后的自相關函數可以近似為二項函數:

其中:

 

二次項函數本質上就是一個橢圓函數。橢圓的扁率和尺寸是由M(x,y)的特征值λ1λ2λ1、λ2決定的,橢賀的方向是由M(x,y)M(x,y)的特征矢量決定的,如下圖所示,橢圓方程為:

橢圓函數特征值與圖像中的角點、直線(邊緣)和平面之間的關系如下圖所示。共可分為三種情況:

  1. 一個特征值大,另一個特征值小,自相關函數值在某一方向上大,在其他方向上小,則表示檢測到邊;
  2. 兩個特征值都小,且近似相等;自相關函數數值在各個方向上都小,則表示檢測到圖像中的平面(平坦部分);
  3. 兩個特征值都大,且近似相等,自相關函數在所有方向都增大。表示檢測到了角點。

根據二次項函數特征值的計算公式,我們可以求M(x,y)矩陣的特征值。但是Harris給出的角點差別方法並不需要計算具體的特征值,而是計算一個角點響應值R來判斷角點。R的計算公式為:

其中detM為矩陣M的行列式,traceM為矩陣M的直跡,取值范圍為0.04~0.06。事實上,特征是隱含在detM和traceM中,因為:

2.2 Harris角點檢測實現

2.3 Harris角點的性質

參考自:https://www.cnblogs.com/ronny/p/4009425.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM