Die Verbesserung der Genauigkeit OpenCV HOG Menschen-Detektor

Ich arbeite in einem Projekt. Ein Teil des Projekts zu integrieren, die SCHWEIN-Menschen-Detektor von OpenCV mit einer Kamera-streaming .

Derzeit funktioniert die Kamera und die grundlegenden HOG-Detektor (CPP detectMultiScale -> http://docs.opencv.org/modules/gpu/doc/object_detection.html). Aber nicht sehr gut funktionieren... Die Funde sind sehr lärmend und der Algorithmus ist nicht sehr Genauigkeit...

Warum?

Mein Bild der Kamera ist 640 x 480 Pixel.

Snippet-code, den ich verwende, ist:

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);

Warum nicht richtig? Was brauchen Sie für die Genauigkeit verbessern? Notwendig ist einige Bild-Größe?

PS: wissen Sie, einige Menschen präzise Erkennung-Algorithmus, schneller und entwickelt in cpp ??

Personen im Bild müssen mindestens die Größe der HOG-Deskriptor (etwas weniger allerdings) und nur größere Personen gefunden werden detectMultiScale zudem (afaik). Sie können nicht erwarten, dass in der Nähe von 100% - rate für hog Erkennung solcher allgemein "Objekte", sondern in einem stream, den du entdeckt jeder Reale person mindestens einmal. Sie können versuchen, zu verfolgen und überprüfen Sie,/verweigern Sie Ihre zuvor erkannten Personen.
Vielen Dank für Ihre Antwort Micka! Sie sagen: "mindestens die Größe der HOG-Deskriptor"... aber Was ist das für eine Größe? wissen Sie, andere Möglichkeiten oder existiert nur "getDefaultPeopleDetector"?? Vielen Dank!!
Diese website könnte dir helfen: geocities.ws/talh_davidc

InformationsquelleAutor Ricardo | 2014-10-28

Schreibe einen Kommentar