opencv的級聯分類器(mac)

級聯分類器的介紹:級聯分類器訓練html

由於要訓練負樣本,windows電腦有些問題,因此就只能有mac進行訓練。windows

在windows中訓練,準備了負樣本以後,進行三步。ide

1.opencv_createsamples 也能夠用來查看和檢查保存於vec正樣本文件中的正樣本ui

2.opencv_traincascade 和 opencv_haartraining 均可用來訓練一個級聯分類器spa

命令中的參數在xml

當 opencv_traincascade 程序訓練結束之後,訓練好的級聯分類器將存儲於文件cascade.xml中,這個文件位於 -data 指定的目錄中。這個目錄中的其餘文件是訓練的中間結果,當訓練程序被中斷後,再從新運行訓練程序將讀入以前的訓練結果,而不需從頭從新訓練。訓練結束後,你能夠刪除這些中間文件。htm

在mac中,安裝opencv以後就能夠進行訓練了blog

在mac中訓練分爲兩步圖片

1.製做正樣本get

2.級聯分類器訓練

step 1 :/anaconda2/bin/opencv_createsamples -info positive/info.txt -vec vector/vector.vec -num 300 -w 20 -h 20

 

step 2 :/anaconda2/bin/opencv_traincascade -data cascades -vec vector/vector.vec -bg negative/info.txt -numPos 300 -numNeg 688 -numStages 15 -w 20 -h 20 -minHitRate 0.9999 -maxFalseAlarmRate 0.5 -mem 2048 -mode ALL

結果在cascade.xml文件即爲最終的訓練結果,便可拿來進行目標檢測。

在訓練的過程當中遇到以下的問題

===== TRAINING 0-stage =====  
<BEGIN  
POS count : consumed   697 : 697  
Train dataset for temp stage can not be filled. Branch training terminated.  
Cascade classifier can't be trained. Check the used training parameters.  

 解決方法是負樣本信息文件,是在negative文件夾下的info.txt ,文件中圖片描述的路徑不對,負樣本文件中的每一行記錄的圖片名必須是從當前路徑開始的。

訓練的時候正樣本是300張,負樣本是697張。

相關文章
相關標籤/搜索