2018-06-27-關(guān)于如何使用opencv訓(xùn)練目標(biāo)級聯(lián)分級器

opencv訓(xùn)練分級器的簡介:


OpenCV提供了兩個(gè)程序可以訓(xùn)練自己的級聯(lián)分類器opencv_haartraining與opencv_traincascade。opencv_traincascade是一個(gè)新程序,使用OpenCV

2.x API 以C++編寫。這二者主要的區(qū)別是opencv_traincascade支持 Haar和 LBP

(Local BinaryPatterns)兩種特征,并易于增加其他的特征。與Haar特征相比,LBP特征是整數(shù)特征,因此訓(xùn)練和檢測過程都會(huì)比Haar特征快幾倍。LBP和Haar特征用于檢測的準(zhǔn)確率,是依賴訓(xùn)練過程中的訓(xùn)練數(shù)據(jù)的質(zhì)量和訓(xùn)練參數(shù)。訓(xùn)練一個(gè)與基于Haar特征同樣準(zhǔn)確度的LBP的分類器是可能的。

與其他分類器模型的訓(xùn)練方法類似,同樣需要訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù);其中訓(xùn)練數(shù)據(jù)包含正樣本pos與負(fù)樣本neg。訓(xùn)練程序opencv_haartraining.exe與opencv_traincascade.exe對輸入的數(shù)據(jù)格式是有要求的,所以需要相關(guān)的輔助程序:

? ?opencv_createsamples?用來準(zhǔn)備訓(xùn)練用的正樣本數(shù)據(jù)和測試數(shù)據(jù)。opencv_createsamples?能夠生成能被opencv_haartraining?和?opencv_traincascade?程序支持的正樣本數(shù)據(jù)。它的輸出為以 *.vec 為擴(kuò)展名的文件,該文件以二進(jìn)制方式存儲(chǔ)圖像。

opencv訓(xùn)練分級器的步驟


1、準(zhǔn)備訓(xùn)練數(shù)據(jù)

2、訓(xùn)練級聯(lián)分類器

3、測試級聯(lián)分級器的性能

4、利用訓(xùn)練好的級聯(lián)分級器做目標(biāo)檢測、



準(zhǔn)備訓(xùn)練數(shù)據(jù)


準(zhǔn)備正樣本:


1、首先將左右的正樣本圖像截圖——最小外接矩形(減少計(jì)算難度,減少不必要的干擾)。注意:所有的樣本背景最好一致

2、將圖像歸一化處理、利用美圖秀秀等軟件將所有的圖像轉(zhuǎn)換成大小一致的圖像(推薦尺寸25*25,減少計(jì)算難度、避免內(nèi)存不夠用)

3、將圖像灰度處理GRAY

4、生成pos.text? 格式為:圖片路徑 ? ? 檢測目標(biāo)在圖片中的個(gè)數(shù) ? ? 起始監(jiān)測點(diǎn)坐標(biāo)(x,y) ? ? ? ?圖片大小(w,h)

5、訓(xùn)練分級器? dos運(yùn)行opencv_createsamples.exe -vec pos.vec -info pos.txt -num 100 -w 30 -h 30?? 得到得到pos.vec文件



準(zhǔn)備負(fù)樣本



? 1、.不要求樣本尺寸,但要大于等于正樣本的大??;且負(fù)樣本不能重復(fù),要增大負(fù)樣本的差異性。

?2、負(fù)樣本灰度化,同正樣本操作相同。

地址:https://www.cnblogs.com/linmengran/p/6514410.html

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

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

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