簡單票據檢測方法

laoki發表於2018-12-04

由於樣本較少,不能用深度學習方法訓練檢測器。不過用 hog-svm效果還不錯。

(一)寫了一個通用的hog-svm 檢測物件的訓練工具:

程式使用了 工作執行緒, 保證介面不會卡死。

只是計算get_svm_detector 的時候,需要注意 opencv3.4.1_src\sources\samples\cpp\train_HOG.cpp 這個demo的

get_svm_detector好像不太準確。

我參考了其他人程式碼,訓練的檢測器才是準確的。

(二)然後我的 通用hog-svm目標檢測工具:

這張票是我去 襄陽拜訪老朋友陳總買的火車票。

 

(三) Tips

關於訓練的注意事項:

1> 視窗的比例尺大小非常重要,設定最合適的 winSize。

2> 樣本的數量,最好都有 1k 以上

 

關於目標檢測:

1> scale 引數對於效能非常重要,建議 根據場景來設定。

目前 detectMultiScale使用的方式是,  orgSize, orgSize/scale, orgSize/scale^2, ...

最多 nlevels(預設64)

3> Hog特徵對於 旋轉較大的 目標(估計15度)檢測不到.

可以試著 旋轉 輸入樣本,進行第二次測試.

4> 檢測的位置只是 粗定位,需要 擴充套件位置,然後精定位。

 

經過測試,目前 hog檢測這種紋理豐富的、有一定佈局的物件,還是比較可靠的。
 

相關文章