2012-06-27 50 views
1

我目前正在爲我正在構建的無人機開發視覺系統。該系統的目標是在一個視頻流中找到目標對象,這些對象是相當明確的(見下文),這個視頻流將是地面的二維立體視圖。到目前爲止,我已經嘗試過訓練並使用基於Haar的特徵級聯,la Viola Jones來做檢測。我正在用不同角度(透視變換)和範圍(框架中的尺寸)的5000多個目標圖像進行訓練,但只有1900個「背景」圖像。這根本不會產生好的結果,因爲我無法找到級聯的適當級數,從而平衡少量誤報,且幾乎沒有誤報。在C++中使用OpenCV進行對象檢測

我在尋找任何有這方面經驗的人的建議,至於我是否應該:1)溝渠級聯,傾向於更適合於由其輪廓和顏色定義的對象(我已閱讀VJ級聯不是)。 2)改善我的級聯訓練集,可以通過增加積極點,背景幀,更好地組織/拍攝等等。 3)目前我無法理解的其他方法。

目標的描述:

  • 初級形狀:三角形,正方形,圓形,橢圓形,等等
  • DISTINCT,固體,主要(或接近)的顏色。 2和八英尺(足夠大之間
  • 最小尺寸容易地從幾百英尺AGL
  • 大,在所述物體的中心單個字母數字可以看出,隨着其獨特的,固體的,伯或幾乎原色。

我的目標是使用非常快速的東西,比如VJ級聯,找到可能的對象及其相關的邊界框,然後將它們傳遞給更精細的處理例程以確定屬性(對象的顏色和AN ,AN的值,實際的形狀和GPS的位置)任何建議,你可以給我完成這個目標,將不勝感激。我目前的源代碼是有點冗長的帖子在這裏,BU t是免費提供的,如果你想看到它作爲參考。提前致謝!

-JB

回答

2

我建議拋棄哈爾分類,因爲你知道了很多關於你的對象。在這些情況下,您應該首先檢查您可以使用的功能:

1)架空飛行手段,如您所說,基本上可以將它們視爲2D平面上的固定形狀。會有縮放,旋轉和一些小的仿射變換,這很大程度上取決於相機的寬角度。如果它不是特別寬的角度,那部分可能會被忽略。此外,你可能知道你的高度,通過這個高度,你也可以對目標尺寸做很好的假設(縮放)。

2)你知道顏色,這也使得它很容易找到對象。如果這些都被定義爲原色,那麼您可以根據顏色過濾圖像並找到這些輪廓。如果你想做一些更高級的事情(對我來說這似乎不是必要的,但是......)你可以做一個backprojection,這在我的經驗中是非常有效和快速的。請注意,如果您要創建對象,最好使用紅色綠色和藍色,而不是原色(紅色綠色和黃色)。然後你可以簡單地將split圖片放入它的各個頻道並使用非常高的門檻。

3)你知道幾何形狀。我從來沒有這樣做過,但據我所知,選項使用moments或使用霍夫變換(雖然openCV只有線條和圓圈的hough算法,所以你必須編寫自己的其他形狀.. )。你可能已經有足夠好的結果沒有這一步,雖然...

如果你想要更具體的建議,這將是非常有用的上傳一對夫婦的示例圖像。 :)

+1

感謝一堆偉大的提示lifesayko!以下是我的快速反應:我沒有做出這些,這是主持人在搜索區域製作和「隱藏」這些目標的競賽的一部分。我們也不知道手前的顏色,只是它們與周圍的棕色/綠色土地形成鮮明對比。只要我找出如何在這裏做,我會很樂意上傳一些示例圖片。 – gankoji

+0

http://meta.stackexchange.com/questions/28525/how-do-i-post-a-screenshot-on-stack-overflow :)。如果比賽有網站等,鏈接也就足夠了。 –

+0

http://www.castorengineering.com/index.php?option=com_content&view=article&id=42 – gankoji

1

可能得到解決,但我碰到一個紙最近使用標準化梯度功能來與通用對象檢測的開源許可證:http://mmcheng.net/bing/comment-page-9/

針對照明,旋轉和縮放算法性能的細節可能需要有點挖。我不記得原始紙張在哪裏。