2014-01-28 25 views
2

我需要訓練級聯分類器以檢測車輛和不同的視角。我正在使用OpenCV。爲OpenCV中的級聯訓練構建旋轉圖像的正樣本

一些我需要捕捉的圖像中導致車輛的位置是斜的角度,如下圖所示:

enter image description here

現在有了這個問題,由於車輛對角地放置在整個圖像上,然後存在很多不必要的背景,因爲圖像必須是矩形的,所以我無法將其裁剪出來。是否有另一種方法可以爲對象放置角度/視角的正面樣本?我確實需要分類器才能識別對象的這個特定視圖。它在上面的車上並沒有那麼糟糕,因爲一輛車的長度和寬度並沒有太大的差別。但是,如果我以卡車爲例,它比寬度長數倍,那麼圖像最終會比它們中的感興趣對象具有更多背景,如下所示。我擔心分類的好壞,以及是否有解決方案。

分類器會識別車輛的特定角度,無論它在背景上旋轉的方式如何?在這種情況下,旋轉整個卡車圖像以使卡車水平/垂直,然後剪切剩下的圖像會更好嗎?

enter image description here

回答

6

問:分類識別車輛的特定角度,無論哪種方式它在背景上轉動的? A:不可以。無論旋轉方式如何,分類器都無法識別特定的車輛角度。 (在這裏談論Haar-like特徵)。有一個概念是爲了引入傾斜的45°Haar-like特徵來提高「維度」,這在過去我讀過的研究論文中非常成功。

也有人嘗試引入通用的旋轉haar-like功能,但從我的記憶中來說,這是非常不成功的。但是,如果你打算使用超高分辨率的圖像,很可能會奏效。但我不會賭錢。

問:要在整個問題

答:背景正面形象樣品中可能不一定會影響檢測嚴重。從案例到案例,它可能實際上有助於您的檢測。

我的解決方案(如果你真的必須使用分類器),至少對於基於圖像的檢測,是利用OpenCV的rotate()函數。如果您將圖像從1°旋轉到360°(每次可能爲10°),並且每次都繼續應用分類器。檢測時間可能稍長一些,但我認爲這不會超過幾秒鐘。

對於視頻來說,如果我沒有錯,它會超級滯後。如果時間允許,請給它一個鏡頭。

我想提出的另一件事是你的車輛(如卡車和汽車)具有非常不同的特徵。如果我是你,我會將它們分成不同的分類器並同時運行它們以進行車輛檢測(以前用3種不同的分類器,眼睛,手和臉部進行實時結果)。

如果您打算將它們訓練成一個分類器,它可能會也可能不會工作,所以請看看我的建議是安全的。

你可能也想看看這個鏈接:http://docs.opencv.org/modules/objdetect/doc/latent_svm.html(分類較爲常用的目標檢測我總是用哈爾,所以有關於這個clasifier沒有經驗對不起。)

http://www.araa.asn.au/acra/acra2006/papers/paper_5_63.pdf(旋轉型,與我的答案有點矛盾,但我堅持我的觀點,如果圖片的分辨率不夠高,可能會有很多舍入誤差。)

希望我的回答對您有所幫助。祝好運(:如果您需要任何幫助或任何不明確的地方,請發表評論

+0

非常感謝,這絕對有助於我是使用不同的分類器,針對每種不同類型的車輛,我有3種不同的分類器關於哈爾特徵,我想用HoG來代替,因爲我瞭解到,對於Haar特徵,所有正樣本都需要排列起來,以便例如輪胎總是出現在相同的相對位置,等等。這是真的嗎?非常乏味,因爲我有大約1000個樣本 – user961627

+1

@ user961627,Yup.對於一個理想的Haar分類器來說,這是正確的,最好是正樣本總是在相同的相對位置,是否使用了對象標記來標記車輛?那麼,你的問題就解決了嗎?如果你談論的是車輛被隨機放置在圖像的不同部分,但它仍然會雖然很乏味。也許大約2到5秒來標記一個圖像。 – rockinfresh

+0

HoG也應該工作。雖然我不太確定HoG的準確性,但我知道Haar分類器在檢測時間方面比HoG更快。 – rockinfresh