2013-05-29 127 views
6

SURF默認爲灰色圖像。我想在HSV圖像上做SURF。我的方法是將通道分爲H,S和V.我使用S和V進行關鍵點檢測。我試圖比較SV與RGB中的關鍵點數量以及通道明智度,HSV提供了更多功能。顏色SURF檢測器

enter image description here

不知道我在做什麼是正確與否。需要一些關於在HSV圖像上應用SURF的可能性的解釋。我已經閱讀了關於在不同色彩空間上應用SIFT而不是SURF的論文。

  1. 有沒有更好的方法來實現這個目標?
  2. 我們可以將SURF應用於顏色,HSV空間嗎?

謝謝你的時間。

+0

我認爲可以在HSV圖像上提取SURF。但請記住,S和V通道的取值範圍不同(並且也不同於灰度圖像),因此您需要仔細調整hessianThreshold參數以使結果合理。弄清楚如何整合不同渠道的關鍵點也很重要。 – cxyzs7

+0

在openCV中,HSV的範圍與標準HSV不同。在OpenCV中,H在0-180之間,而S和V都在0 - 255之間。我認爲灰度在0-255之間,也就是8位。所以我想我以上試圖看起來好。你對此感覺如何? – rish

+0

結果看起來很合理。以下是您可能感興趣的論文:[Color-SURF:具有本地內核顏色直方圖的衝浪描述符](http://ieeexplore.ieee.org/xpls/abs_all.jsp?number=5360809)。但看起來他們仍然使用灰度進行關鍵點檢測並計算Color-SURF描述符。 – cxyzs7

回答

5
  1. 我們可以將SURF應用於顏色,HSV空間嗎?

我沒有測試它,但據我所知,過篩和衝浪使用相當(原則上)類似的檢測技術:

SIFT檢測器使用Difference-of-Gaussian (DoG)技術能夠有效地逼近Laplacian-of-Gaussian (LoG) ,這兩種技術都是Blob Detection

SURF檢測器使用箱過濾器/盒模糊來計算任意大小的(或近似?)Hessian矩陣的行列式其是斑點檢測技術。

這兩種方法都使用一些策略來計算多個比例中的斑點(SIFT:DoG-Pyramid; SURF:用於縮放濾波器大小的積分圖像)。最後,兩種方法在給定的二維陣列中檢測到斑點。因此,如果SIFT可以在您的(H)SV通道中檢測到良好的特徵,那麼SURF應該能夠做同樣的事情,因爲原則上它們都檢測斑點。你會做什麼是在色調/飽和度/值信道檢測的斑點:

  • 色調斑點:由不同(全部更高或所有較低)的彩色色調包圍類似色調的區;

  • saturation-blobs:什麼地區...什麼?不知道該如何解釋;

  • value-blobs:應該給灰度圖像轉換的RGB圖像的斑點非常相似的結果。

有一點補充:我只是處理探測器!不知道SIFT/SURF 描述是如何受顏色數據影響的。

0

我沒有測試它,但你可以做的是使用興趣點HSV值作爲額外的匹配標準。我在原始實現中使用的以及加速匹配圖像對的方式是Hessian矩陣行列式的標誌。該標誌告訴我們,它是在黑暗背景下的光斑還是在淺色背景上的黑斑。顯然,人們不會試圖將一個黑斑與一個明亮斑點相匹配。

以類似的方式,您可以使用HSV值並使用距離。爲什麼將藍色斑點與黃色斑點相匹配。沒有任何意義,除了白平衡或燈光完全混亂。也許我的paper about matching line segments可以在這裏幫助。我在那裏使用HSV。

至於在不同渠道H,S和V上提取​​SURF興趣點,我同意Micka的答案。

您可以嘗試的是使用Hue通道製作描述符。