[英]Using hog implementation of opencv
我想使用豬的opencv實現,以檢測圖像中的身體。 我在opencv的文件夾中找到了peopledetect.cpp樣本,這是使用預訓練模型的hog算法的默認實現。 稍加搜查,我發現此默認方法無法令人滿意地工作。 我必須使用libSvm創建自己的模型。 我的第一個問題是,有沒有解釋此過程的教程或示例? 第二,我的模型應該學習什么? 我要訓練什么樣本? 僅包含人物的圖像?
編輯問題:是否有可能訓練僅包含人體圖像的一類模型? 我試圖理解這里的代碼。 它計算數據庫的生豬特征並訓練svm模型。 在評估過程中,它使用了帶有detectMultiScale的生豬級聯。 detectMultiScale與SVM有什么關系?
我已經用這里提供的圖像訓練了帶有線性內核的libsvm。 圖像有兩種,一種包含人,一種沒有人。 訓練結果接近98%(wuth svm_predict)。 如何在測試圖像中定位物體的位置? 我可以為此目的使用detectmultiscale嗎? 用svm模型供入多學科功能? 我在svm模型中注意到,一些支持向量在行的開始時沒有標簽,而僅帶有符號。 這是正常現象,還是可能是錯誤?
Hogcascade它似乎不(中鐵為我工作的圖像 ):
CascadeClassifier body_cascade;
body_cascade.load("cascades/hogcascade_pedestrians.xml");
Mat image, gray_image;
image = imread( fileName, 1 );
resize(image, image, Size(150, 200));
vector<Rect> bodies;
cvtColor(image, gray_image, CV_BGR2GRAY);
body_cascade.detectMultiScale( gray_image, bodies, 1.3, 5 );
cout << "size of detection" << bodies.size() << endl;
每次我得到0具屍體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.