L'amélioration de la précision OpenCV PORC personnes détecteur de
Je travaille dans un projet. Une partie du projet consiste à intégrer le PORC personnes détecteur de OpenCV avec un appareil photo streaming .
Actuellement, Il travaille à la caméra et de la base de PORC détecteur (RPC detectMultiScale -> http://docs.opencv.org/modules/gpu/doc/object_detection.html). Mais ne fonctionnent pas très bien... Les détections sont très débruitage et de l'algorithme n'est pas très exactitude...
Pourquoi?
L'image de ma caméra est de 640 x 480 pixels.
L'extrait de code que j'utilise est:
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);
Pourquoi ne pas travailler correctement? Quel besoin pour améliorer la précision? Faut la taille de l'image en particulier?
PS: connaissez vous des précise personnes algorithme de détection plus rapide et développé en rpc ??
Merci pour votre réponse Micka! Dites-vous: "au moins de la taille de l'animal descripteur"... mais qu'est-Ce que cette taille? connaissez vous d'autres opportunités ou n'existe "getDefaultPeopleDetector"?? Merci beaucoup!!
Ce site peut vous aider: geocities.ws/talh_davidc
OriginalL'auteur Ricardo | 2014-10-28
Vous devez vous connecter pour publier un commentaire.
La taille par défaut des gens détecteur est 64x128, qui signifie que les personnes que vous souhaitez détecter être atleast 64x128. Pour votre résolution de la caméra qui voudrait dire qu'une personne aurait à prendre tout à fait un peu d'espace avant de se faire correctement détectée.
En fonction de votre situation spécifique, vous pouvez essayer votre main à la formation de votre propre Descripteur de PORC, avec une taille plus petite. Vous pouvez prendre un coup d'oeil à cette réponse et la référencé bibliothèque si vous souhaitez former votre propre Descripteur de PORC.
Pour les Paramètres:
win_stride:
Compte tenu de votre image d'entrée a une taille de 640 x 480, et la defaultpeopleDetector a une taille de fenêtre de 64x128, vous pouvez adapter le PORC fenêtre de Détection ( le 64x128 fenêtre) plusieurs fois dans l'image d'entrée.
Le winstride dit de PORC pour déplacer la fenêtre de détection d'une certaine quantité à chaque fois.
Comment cela fonctionne:
Porc lieux de la détection de fenêtre en haut à gauche de votre image d'entrée.
et déplace la fenêtre de détection à chaque fois par le win_stride.
Comme ceci (petite win_stride):
ou comme ça (grand win_stride)
Un petit winstride devrait améliorer la précision, mais une diminution du rendement, et de l'autre manière autour de
rembourrage
Rembourrage ajoute une certaine quantité de pixels supplémentaires de chaque côté de l'image d'entrée. De cette façon, la fenêtre de détection est placé un peu à l'extérieur de l'image d'entrée. C'est à cause de cette rembourrage du PORC peut détecter les personnes qui sont très près du bord de l'image d'entrée.
group_threshold
Le group_treshold détermine une valeur par détecté lorsque les pièces doivent être placées dans un groupe.
Faible valeur fournit pas de résultat groupement, une valeur plus élevée fournit résultat groupement si le montant de seuil a été trouvé à l'intérieur de la détection de windows. (dans ma propre expérience, je n'ai jamais besoin de changer la valeur par défaut)
J'espère que ce qui fait un peu de sens pour vous.
J'ai travaillé avec PORC depuis quelques semaines, et lu beaucoup de documents, mais j'ai perdu certaines des références, donc je ne peux pas vous lier les pages où cette info vient de la, je suis désolé.
Merci beaucoup pour votre réponse Timmynator0! Comment le savez-vous? Savez-vous de la documentation sur cet algorithme et ses paramètres? Maintenant, je ne suis pas intéressé à la formation de mon propre descripteur de PORC. Merci beaucoup! 🙂
J'ai mis à jour ma réponse pour refléter votre nouvelle question concernant les paramètres. Si c'était utile, s'il vous plaît marquer ma réponse que la réponse correcte.
OriginalL'auteur Timmynator0