【視覺算法】廣義霍夫變換(Generalized Hough Transform)

在上一篇文章中,我們學習了經典霍夫變換,用以識別圖像中的可解析圖形;而廣義霍夫變換(Generalized Hough Transform)旨在解決不可解析的不規則圖形的識別問題。
以下,結合Generalized Hough Transform (GHT)(Ballard and Brown, section 4.3.4, Sonka et al., section 5.2.6)這篇文章學習。
首先思考,我們人在一張圖片中尋找指定的物體,需要哪些步驟?
一、先驗信息,也就是我們要事先知道物體長什麼樣(它具有哪些特徵);
二、在圖片中尋找長的像的物體(尋找相似的特徵)。
事實上,GHT也是按照這個步驟進行的,爲了便於理解,由簡入繁,先看一個特殊(簡單)情形:固定待識別物體的方向和尺寸,即保持與模型(先驗信息的來源)中的一致。
在這裏插入圖片描述
在這裏插入圖片描述解釋上圖,首先看座標系中的圖形,它是一個不規則圖形;在圖形中尋找任一參考點p(Xc,Yc),以及邊緣點q(X,Y);由p向q引一條線段,它的長度爲r,角度爲α(與x軸正方向的夾角),後面的公式就是由r和α表示p和q之間的關係,很好理解。再看下圖:
在這裏插入圖片描述
這裏的預處理其實就是從模型中學習先驗信息,即將模型中的一些特徵保存下來;說到特徵,就要知道特徵點,這裏的特徵點是圖形的所有邊緣點。
特徵中,除了上面提到的r和α,還有Φ,它是特徵點(邊緣點)p的切線與x軸正方向的夾角;顯然,Φ不受參考點選取的影響,它是圖形的固有屬性;因此選取Φ作爲R-table的索引。
由於圖形是不規則的,一個Φ可能對應多個r和α;先驗信息就是這樣保存在R-table中的。
這裏,再觀察一下這個式子:
在這裏插入圖片描述
觀察這個式子,回想經典霍夫變換中,x,y和參數m,b之間的關係,是不是有些熟悉?
實際上,上式中的Xc,Yc構造了霍夫(廣義的)參數空間,而X,Y是在圖像空間中的。再繼續看:
在這裏插入圖片描述
這裏的檢測,是在新的圖像中,尋找和模型一致的圖形。
量化參數空間,實際上就構造了用以投票的網格;對於每一個特徵點,計算它的Φ,在R-table中以Φ爲索引檢索對應的r和α(上面提到過,可能對應着多個);對於每一個(α,r),計算Xc,Yc的值,對應的網格的累加器加一(投票)。
當所有的特徵點都計算完成,尋找參數空間中票數大於閾值的網格,我們就認爲對該網格投過票的那些特徵點爲目標邊緣,即完成了物體的識別。注意,上圖中說的邊緣點定位在Xc,Yc說的是參數空間內。
至此,特殊(簡單)情況就說完了,下面開始討論一般(複雜)情況:即考慮旋轉和縮放。看下圖:
在這裏插入圖片描述
加入了旋轉角度θ和縮放因子s,很基礎;上圖的X’‘是旋轉和縮放後的Xc和X的差值,即參考點p和特徵點q在x軸上(水平)的距離;Y’‘是在y軸上(垂直)的方向距離。X’,Y’是未經過旋轉和縮放的,前面圖中有提到。很好理解,接着看:
在這裏插入圖片描述
這裏量化參數空間,注意到加入了兩個未知參數θ和s,維度已經擴展到四維。
首先,根據特徵點的Φ索引(α,r),計算未經過旋轉和平移的X’,Y’;然後,以步長爲1遍歷θ和s,對相應的網格進行投票;選取票數大於閾值的網格,即完成了不規則物體的識別(和姿態估計)。
至此,廣義的霍夫變換基本學習完了,下面分析它的優點和缺點(引自原文):
優點:
1、廣義霍夫變換本質上是一種用於物體識別的方法。
2、它對部分或輕微變形的形狀魯棒性好(即對遮擋下的識別魯棒性好)。
3、對於圖像中存在其他結構(即其他線條,曲線等)干擾,魯棒性好。
4、抗噪聲能力強。
5、一次遍歷即可找到多個同類目標。
缺點:
1、它需要大量的存儲和大量的計算(但是它本質上是可並行化的)。這裏說一下自己的理解:參數空間維度高,有窮舉過程。
下一篇文章學習廣義霍夫變換在三維物體識別中的改進和應用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章