資源簡介
hog_svm采用Python實現訓練,同時在訓練的過程中提取hardexample進行進一步訓練,獲得了較為理想的效果,當然如果需要進一步優化還是有較大優化空間的。

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Tue?Apr?17?20:57:22?2018
@author:?kuangyongjian
“““
import?cv2?as?cv??
import?random??
import?glob??
import?os??
??
#加載負樣本??
def?get_neg_samples(foldernamesavePath):??
????count?=?0??
????imgs?=?[]??
????labels?=?[]??
????f?=?open(‘neg.txt‘)??
????filenames?=?glob.iglob(os.path.join(foldername‘*‘))??
????for?filename?in?filenames:??
????????print(‘filename?=?‘filename)??
????????src?=?cv.imread(filename1)??
??????????
????????if((src.cols?>=?64)?&?(src.rows?>=?128)):??
????????????x?=?random.uniform(0src.cols?-?64)??
????????????y?=?random.uniform(0src.rows?-?128)??
??????????????
????????????imgRoi?=?src(cv.Rect(xy64128))??
????????????imgs.append(imgRoi)??
????????????saveName?=?savePath?+?‘neg‘?+?str(count)?+?‘.jpg‘??
????????????cv.imwrite(saveNameimgRoi)??
??????????????
????????????label?=?‘neg‘?+?str(count)?+?‘.jpg‘??
????????????labels.append(label)??
????????????label?=?label?+?‘\n‘??
????????????f.write(label)??
????????????count?+=?1??
????return?imgslabels??
??
??
#讀取負樣本??
def?read_neg_samples(foldername):??
????imgs?=?[]??
????labels?=?[]??
????neg_count?=?0;??
????filenames?=?glob.iglob(os.path.join(foldername‘*‘))??
????for?filename?in?filenames:??
???????#?print(‘filename?=?‘filename)??
????????src?=?cv.imread(filename1)??
???????#?cv.imshow(“src“src)??
???????#?cv.waitKey(5)??
????????imgs.append(src)??
????????labels.append(-1)??
????????neg_count?+=?1??
?????
????#print?(‘neg_count?=?‘neg_count)???????
????return?imgslabels??
??????????
??????????
??
#加載正樣本??
def?get_pos_samples(foldernamesavePath):??
????count?=?0??
????imgs?=?[]??
????labels?=?[]??
????f?=?open(‘pos.txt‘)??
????filenames?=?glob.iglob(os.path.join(foldername‘*‘))??
????for?filename?in?filenames:??
????????print(‘filename?=?‘filename)??
????????src?=?cv.imread(filename)??
????????imgRoi?=?src(cv.Rect(161664128))??
????????imgs.append(imgRoi)??
????????saveName?=?savePath?+?‘neg‘?+?str(count)?+?‘.jpg‘??
????????cv.imwrite(saveNameimgRoi)??
??????????
????????label?=?‘neg‘?+?str(count)?+?‘.jpg‘??
????????labels.append(label)??
????????f.write(label)??
????????count?+=?1??
??????????
????return?imgslabels??
??
??
#讀取正樣本??
def?read_pos_samples(foldername):??
????imgs?=?[]??
????labels?=?[]??
????pos_count?=?0??
????filenames?=?glob.iglob(os.path.join(foldername‘*‘))??
??????
????for?filename?in?filenames:??
????????src?=?cv.imread(filename)??
????????imgs.append(src)??
????????labels.append(1)??
????????pos_count?+=?1??
???????
????return?imgslabels??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-17?21:11??hog_svm_train_python\
?????文件????????2682??2018-04-17?20:58??hog_svm_train_python\get_data.py
?????文件????????3285??2018-04-17?21:02??hog_svm_train_python\hog_feature.py
?????文件???????70603??2018-04-17?21:04??hog_svm_train_python\myHogDector.bin
?????文件???????70505??2018-04-17?21:09??hog_svm_train_python\myHogDector1.bin
?????文件????????1696??2018-04-17?20:59??hog_svm_train_python\nms.py
?????文件??????504604??2004-11-23?22:03??hog_svm_train_python\person_236.png
?????文件??????468287??2004-11-23?22:03??hog_svm_train_python\person_246.png
?????文件??????433865??2004-11-23?22:03??hog_svm_train_python\person_247.png
?????文件??????462680??2004-11-23?22:03??hog_svm_train_python\person_248.png
?????文件?????????915??2018-04-17?20:58??hog_svm_train_python\svm_train.py
?????文件????????1067??2018-04-17?20:59??hog_svm_train_python\test.py
評論
共有 條評論