2014-11-04 68 views
2

我正在使用VLfeat開源方法來提取SIFT關鍵點及其描述。下圖顯示了其中之一。黃色圓盤表示關鍵點的刻度(半徑)和方向(線)。綠色框表示其描述(即,4×4 8塊方向直方圖)。SIFT關鍵點方向和SIFT描述方向之間的關係

這個問題本身很簡單。 爲什麼「關鍵點(黃線)的方向」與其描述中的「主要(最常見)方向(最流行的綠色方框)」不同?

據我所知,關鍵點的方向取決於周圍的峯值像素梯度。那麼,綠色的方向也不應該是自然的嗎?是因爲綠框比關鍵點的尺寸大得多?

SIFT http://me.berkeley.edu/~young/sift.png

+0

圖片不顯示 – dynamic 2014-11-04 23:30:20

+0

對不起。我更新了圖片鏈接。 – 2014-11-05 09:57:22

回答

1

我認爲這只是在VLfeat使用可視化的問題。如上所述here standard http://www.vlfeat.org/demo/frame_standard.jpg

「標準導向框架」將顯示爲半徑向下的圓。

這裏同樣適用。如果旋轉框架使得半徑指向下,那麼框架的主梯度方向應該是水平的,這在4x4平方內的大多數直方圖中是一致的。

我認爲這種約定是有道理的,因爲朝下的半徑爲對齊與框架的「主筆劃」(這是在視覺上直觀的),但正交於主梯度方向。

1

至少有三件事,以便考慮到解釋爲什麼這不需要是這種情況:

第一個是主(黃色)取向具有36bin直方圖的事實,並且描述符(綠色)方向是8bin;這允許一對(〜30)度的誤差。

第二個是描述符直方圖(綠色)是在特徵區域被其主要(黃色)方向旋轉後計算出來的,所以它們至少會被這個旋轉移位。

但最重要的原因是兩個方向都是從相同的區域計算出來的,但是不同的鄰域(大小和位置不同)也有相同的高度,所以它們的梯度不需要相似。