Détéction de personnes opérationnelle

Détéction de personnes opérationnelle

Le projet est basé sur la détection de personnes et d’objets par une caméra.

Nous avons choisi pour cela d’utiliser Processing et la bibliothèque de vision par ordinateur OpenCV 1.0 codée en C++ grâce à l’API Processing OpenCV. Elle implémente la détection de « blobs », qui sont des amas de pixels se détachant du fond. En réalisant, après un seuillage de l’image, une différence entre le flux vidéo et l’image du fond sans personne, que l’on enregistre à l’initialisation, il est alors facile de détecter les personnes qui pénètrent dans le champs.

La zone peut être parcourue par deux types d’éléments : des personnes et un ballon. Afin de différencier les deux types, nous avons été contraint d’utiliser la couleur captée. A l’initialisation, après avoir enregister la zone vide, nous plaçons la balle : un seul blob est donc détecté. Nous mémorisons la couleur qui devient la référence de détection de la balle. On peut alors débuter l’experience. La couleur des blobs détéctés est alors testée, si la couleur est proche il s’agit du ballon. Si l’on détecte deux ballons, on choisit celui dont l’erreur quadratique de la différence de couleur est la plus petite : la couleur la plus proche.

L’application permet donc, à l’heure actuelle, de détecter les personnes et le ballon sur un fond initialisé. Elle permet aussi de choisir la couleur du ballon et de régler le seuil de l’image à la souris.

Voici quelques captures :

capture_normal

Ici les bandes représentent la découpe de la zone en sous zones. Les points rouges sont les personnes détectées et le point rouge et vert est le ballon.

capture_debug

Ici on a affiché les informations de captation : une miniature de la différence entre le fond enregistré et l’image captée, en haut à gauche, et la couleur de référence mémorisée pour le ballon, en haut à droite.

A bientôt pour une explication de nos avancements du coté de la gestion du son.

About the Author