2012-08-12 57 views
1

我想在opencv 2.4.2中使用諸如SURF,FERN,FREAK等算法進行物體識別。物體識別性能不好

我使用OpenCV的從樣本程序,而無需修改 - find_obj.cpp, find_obj_ferns.cpp, freak_demo.cpp

我試圖改變參數,這並沒有幫助的算法。

我有我的訓練圖像,測試圖像和FREAK識別here

的結果正如你所看到的結果是非常糟糕的。

  • 沒有特徵描述符的訓練圖像的一個檢測 - image here
  • 特徵描述符的其他對象邊界外檢測 - image here

我有幾個問題:

  1. 這些算法爲什麼與灰度圖像一起使用?很顯然,對於我上面的訓練圖像,如果包含RGB,則可以輕鬆檢測到對象。是否有任何技術將此考慮在內。

  2. 有沒有其他的方法來提高性能。我試圖擺弄功能參數,這些參數效果不佳。

回答

4

我在你的圖像觀察到的第一件事是,對象是飛機,沒有質感差異存在......我的意思是你使用的所有功能的探測器可用於查找角落它們是視圖不變,這意味着這些都是圖像中的關鍵點具有獨特的鄰域和良好的x和y導數。我已經上傳了我的分析...查看數字enter image description here

如何知道我在說什麼是正確的?

只需轉到您在對象上找到的關鍵點的描述符值並查看這些值,就會看到它們中的大部分都是零...因爲描述符是描述角點周圍邊緣變化的描述一個特定的方向(詳見衝浪文檔)。

您試圖檢測到的對象看起來像是手機,所以您只需將對象或移動設備顛倒過來並重復實驗即可獲得滿意效果......因爲在正面上,對象通常具有更多紋理開關,徽標等。

這裏是一個結果,我上傳, enter image description here

+0

謝謝你的提示。我也嘗試認識到手機的正面,這是不好的(可能是因爲你解釋過的豐富的手機)。將嘗試不同的背景。 – 2012-08-12 20:54:34