• Aucun résultat trouvé

4.2 Méthode de détection de têtes dans un nuage de points 3D

4.2.1 Algorithme global

Avant de décrire l’algorithme complet de détection de têtes dans un nuage de points 3D, décrivons brièvement le système considéré schématisé Figure 4.2.1. Un capteur 3D est placé en vue verticale au centre de la zone d’intérêt à une hauteur d’environs 2,50 mètres et dirigé en direction du sol. Les personnes que nous souhaitons détecter et modéliser sont positionnées sous le capteur dans une pièce étroite et confinée. Les individus sont donc proches les uns des autres et observés en vue de dessus ou légèrement inclinée. Les personnes sont supposées se tenir debout dans la pièce et leurs têtes peuvent ne pas être entièrement visibles sur l’image. Ce dernier point est illustré Figure 4.2.1 et implique que les objets que nous cherchons à modéliser peuvent être tronqués et seulement partiellement visibles.

(a) (b)

FIGURE4.2.1 – Schéma représentant le système (a) et image de profondeur (b).

À partir ce cette installation, nous cherchons à détecter et modéliser les têtes des individus présents dans la pièce. L’algorithme complet de détection de têtes proposé est résumé par le schéma de la Figure 4.2.2 dans lequel chaque étape est illustrée par un exemple. Il est composé de trois grandes étapes : l’acquisition des données, un traitement général et un traitement spécifique à la détection de têtes auxquelles s’ajoute une calibration préalable du système.

Tout d’abord, le capteur 3D fournit une image couleur et une image de profondeur de dimensions 320 × 240 représentant la scène à une fréquence de 30 images par secondes. L’image couleur n’est pas considérée lors de nos traitements et nous n’utiliserons dans la suite que l’information de profon-deur. Chaque pixel de la carte de profondeur contient la distance du capteur à l’objet représenté. On remarque la présence de pixels dits indéterminés représentés en noir et ne contenant aucune informa-tion de distance. Les principes de foncinforma-tionnement et les caractéristiques principales des capteurs 3D ont été présentés en détails Chapitre 1 section 1.2.

101 4.2. MÉTHODE DE DÉTECTION DE TÊTES DANS UN NUAGE DE POINTS 3D

Une première segmentation de l’image est effectuée en ne conservant que les pixels représentant des objets situés dans une zone d’intérêt 3D prédéfinie. Les points situés hors de la zone de traitement sont écartés. Le procédé utilisé est décrit Chapitre 1 section 1.3.3.2. Une seconde segmentation plus complexe est ensuite appliquée et consiste en un algorithme de soustraction de fond dont le fonction-nement a été détaillé Chapitre 1 section 1.3.3.1. À l’issue de cette étape, seuls les pixels appartenant à la zone d’intérêt 3D et faisant partie de l’avant plan (objets nouveaux différents du fond de la scène) sont conservés. La seconde segmentation permet notamment de supprimer les pixels représentant les murs ou le sol. Dans l’exemple de la Figure 4.2.2, la personne a pu correctement être segmentée. Une phase de modélisation du fond de la scène durant laquelle la pièce est vide et ne contient aucun objet a été effectuée lors de la calibration du système. Rappelons que dans notre cas l’application de la sous-traction de fond à l’image de profondeur apporte une plus grande robustesse qu’avec l’image couleur. Le nuage de points 3D représentant les objets de la scène peut maintenant être calculé avec les relations données Chapitre 1 section 1.3.1. Ce calcul nécessite la connaissance des distances focales internes du capteur qui sont connues. Les points sont exprimés dans un repère 3D lié au capteur représenté Figure 4.2.3. Nous appliquons ensuite un algorithme de débruitage (Chapitre 1 section 1.3.2.1) suivi d’un changement de repère (Chapitre 1 section 1.3.6) pour finalement obtenir des points dont les coordonnées sont exprimées dans un repère lié au sol de la scène représenté Figure 4.2.3. Le calcul de la transformation rigide entre les deux systèmes de coordonnées est basé sur une modélisation du sol par un plan. L’estimation du sol est obtenue par un algorithme RANSAC (Chapitre 1 section 1.3.5) lors de la calibration du système. Notons dès à présent que ce changement de repère nous permettra par la suite de connaitre la hauteur des objets par rapport au sol. La position et l’orientation du capteur dans l’espace sont alors connus.

Le nuage de points 3D peut être stocké de manière organisée (tableau bidimensionnel agencé comme l’image 2D) ou non organisée (tableau unidimensionnel). L’algorithme appliqué lors de la prochaine étape n’utilisant pas la structure 2D de l’image, nous choisissons de travailler avec des données non organisées. Notons toutefois que d’autres traitements pourraient avoir besoin de cette structuration, par exemple pour la recherche rapide des k plus proches voisins d’un point donné. La série de traitements présentée jusqu’à maintenant reste générale et pourrait être commune à différents algorithmes travaillant sur un nuage de points 3D.

La méthode de détection de têtes que nous proposons est constituée de deux étapes. Les données sont tout d’abord modélisées par le modèle de mélange sphérique présenté au Chapitre 3. La méthode d’estimation (l’algorithme EM plus précisément) est initialisée par un algorithme K-means ([28]). En effet, le capteur étant positionné en hauteur et proche des têtes des individus, la densité de points sur les têtes est plus élevée que sur les parties du corps plus éloignées du capteur. Par conséquent, des classes seront toujours en pratique situées vers les têtes des personnes ce qui implique qu’elles pourront être correctement modélisées puis détectées.

La mise en œuvre pratique de l’algorithme d’estimation du modèle de mélange sphérique nécessite certaines adaptations pour satisfaire les contraintes d’utilisation requises. Les adaptations effectuées seront présentées dans les sections suivantes de ce chapitre. Une fois le nuage de points correctement modélisé par un ensemble de sphères, nous appliquons des règles heuristiques simples pour déterminer quelles composantes représentent des têtes. La section suivante est justement dédiée à la description des règles de détection retenues.

CHAPITRE 4. DÉTECTION DE TÊTES 3D 102

103 4.2. MÉTHODE DE DÉTECTION DE TÊTES DANS UN NUAGE DE POINTS 3D