Opencv 人臉識別之分類器,樣本訓練

================================訓練分類器==============================

樣本準備

1: 正負樣本

如:window下

a. 在正樣本目錄下 dir /b > pos.txt? ,將生成的 摘要文件pos.txt 進行后綴替換,加上 1 0 0 19 19,

注意后面的去掉名字表示圖片在 (0,0)到(19, 19 )的矩形區(qū)域里

b. 對負樣本目錄下 dir /b >neg.txt? 備注負樣本目錄文件只需要去掉文件名字就好,不需要替換,后面的數(shù)字

2: 下載windows 的安裝包,并安裝,同時記錄安裝目錄,假如是: openCV_path

https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.3.0/opencv-3.3.0-vc14.exe/download

opencv-3.3.0-vc14.exe

3: 找到openCV_path 目錄下面的

創(chuàng)建opencv可以識別的數(shù)據(jù)

E:\NDK\Opencv\opencv\build\x64\vc14\bin\opencv_createsamples.exe

訓練

E:\NDK\Opencv\opencv\build\x64\vc14\bin\opencv_traincascade.exe

:E:\NDK\Opencv\opencv\build\x64\vc14\bin

中的兩個文件:

opencv_createsamples.exe

opencv_traincascade.exe

4:

4.1 就是加工樣本數(shù)據(jù),使用opencv_createsamples

備注配置環(huán)境變量

使用命令行:

opencv_createsamples -vec pos.vec -info face\pos.txt -bg non-face\neg.txt -w 19 -h 19 -num 472

-vec pos.vec? 用pos.vec 保存執(zhí)行結(jié)果

-info face\pos.txt 用于指向正樣本的路徑

-bg neg.txt 負樣本的路徑(這么寫經(jīng)常報錯,再目錄文件直接寫對應的文件目錄就好)

-w 19 -h 19? ? 這個是正樣本中圖片中頭像的寬高

-num 472? ? ? 正樣本的數(shù)量

執(zhí)行這個命令生成 pos.vec

4.2 運用? opencv_traincascade 訓練樣本,得到分類器

執(zhí)行命令前,我們要在當前目錄創(chuàng)建一個data 文件夾

執(zhí)行命令:opencv_traincascade -data data -vec pos.vec -bg face\neg.txt -numPos 468 -numNeg 23573 -numStages 9 -w 19 -h 19 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -mode ALL

-data data 文件夾: 用于保存訓練結(jié)果和中間產(chǎn)物

-vec pos.vec : 4.1 的結(jié)果

-bg face\neg.txt:? 負樣本的路徑

-numPos 468 正樣本的數(shù)量 數(shù)量不能高于正樣本數(shù),注意事項,數(shù)據(jù)要注意 數(shù)量不能隨便取 網(wǎng)上查找

vec文件中的正樣本數(shù)目<= numpos+(numStages - 1)(1 - minHitRate) numpos+ s

-numNeg 23573? 負樣本的數(shù)量

-numStages 9? ? 這個數(shù)字是,我們訓練的層級

-w 19 -h 19

-minHitRate 0.999 -maxFalseAlarmRate 0.5 -mode ALL

備注:

可能報錯:

Train dataset for temp stage can not be filled. Branch training terminated.

Cascade classifier can't be trained. Check the used training parameters.

把命令改為 將neg.txt copy 到喝pos.vec 統(tǒng)一級別,將里面的文件都加上文件頭

比如non-face/cmu_9972.pgm 這樣他就能找到文件了

opencv_traincascade -data data -vec pos.vec -bg neg.txt -numPos 468 -numNeg 23573 -numStages 9 -w 19 -h 19 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -mode ALL

說明路徑問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容