我正在一個項目中工作。項目的一部分包括將OpenCV的HOG人員檢測器與相機流式傳輸集成。提高精度OpenCV HOG人員探測器
目前它正在使用攝像頭和基本的HOG檢測器(CPP detectMultiScale - >http://docs.opencv.org/modules/gpu/doc/object_detection.html)。但是不能很好地工作...檢測結果非常噪音,算法不是很準確...
爲什麼?
我的相機圖像是640 x 480像素。
我正在使用的代碼片段是:
std::vector<cv::Rect> found, found_filtered;
cv::HOGDescriptor hog;
hog.setSVMDetector(cv::HOGDescriptor::getDefaultPeopleDetector());
hog.detectMultiScale(image, found, 0, cv::Size(8,8), cv::Size(32,32), 1.05, 2);
爲什麼不能正常工作?有什麼需要提高準確度?是否需要特定的圖像大小?
PS:你知道一些精確的人檢測算法,更快,並在cpp?
圖像中的人必須至少具有HOG描述符的大小(儘管少一些),並且只有detectMultiScale(afaik)才能找到更大的人。你不能期望這樣的一般「對象」的生豬檢測率接近100%,但在一個流中,你應該至少檢測一次真實的人。您可以嘗試追蹤這些人並驗證/拒絕以前檢測到的人。 – Micka 2014-10-28 11:49:15
謝謝你的回答Micka! 你是否說:「至少HOG描述符的大小」......但**這是什麼尺寸?** 你知道別人的位置或只存在「getDefaultPeopleDetector」? 非常感謝你! – Ricardo 2014-10-28 13:08:41
這個網站可能會幫助你:http://www.geocities.ws/talh_davidc/ – SomethingSomething 2016-01-07 19:40:30