2014-12-04 93 views
0

首先,這是我的第一個問題,所以我希望能夠以一種清晰的方式解釋它。Matlab中HOG + SVM的多尺度搜索

我的目標是檢測圖像中不同類別的交通標誌。爲此,我已經通過以下步驟訓練了二進制SVM:

  • 首先,我得到了一個像鏈接中的交通標誌的裁剪數據庫。我考慮過不同的課程(禁止,危險等)和負面形象。所有這些都被縮放到40x40像素。

http://i.imgur.com/Hm9YyZT.jpg

  • 我訓練線性SVM模型爲每個類(1-VS-ALL),使用HOG作爲特徵。每個圖像都用1728維特徵進行描述。 (我爲所有三個圖像平面添加三個特徵向量)。我做了交叉驗證來設置參數C,並在先前看不見的40x40圖像上進行了測試,並且我得到了非常準確的結果(所有類的F1分數均超過0.9)。我使用libsvm進行培訓和測試。

現在我想檢測全路圖像中的標誌,滑動窗口在不同的圖像尺度。我面臨的問題是,我找不到任何可以爲我做的功能(如OpenCV中的DetectMultiScale),而且我的解決方案非常緩慢且基本(我只是爲循環做了三重化,規模我裁剪連續和重疊的40×40圖像,獲得HOG功能和應用svmpredict爲每個)。

有人可以給我一個線索找到一個更快的方式來做到這一點嗎?我也想過如何獲取整個輸入圖像的HOG特徵矢量,然後將該矢量重新排列爲矩陣,其中每行將具有對應於每個40×40窗口的特徵,但是我找不到一種簡單的方法。

感謝,

回答