ANALYSE DU MOUVEMENT HUMAIN PAR VISION ARTIFICIELLE POUR CONSOLES DE JEUX VIDÉOS

Dimension: px
Commencer à balayer dès la page:

Download "ANALYSE DU MOUVEMENT HUMAIN PAR VISION ARTIFICIELLE POUR CONSOLES DE JEUX VIDÉOS"

Transcription

1 MAHER HANAFI ANALYSE DU MOUVEMENT HUMAIN PAR VISION ARTIFICIELLE POUR CONSOLES DE JEUX VIDÉOS Mémoire présenté à la Faculté des études supérieures et postdoctorales de l Université Laval dans le cadre du programme de maîtrise en Génie Électrique pour l obtention du grade de Maître ès Sciences (M.Sc.) DÉPARTEMENT GÉNIE ÉLECTRIQUE FACULTÉ DE SCIENCES ET GÉNIE UNIVERSITÉ LAVAL QUÉBEC 2012 Maher Hanafi, 2012

2 Résumé Ce Mémoire s intéresse au suivi (Tracking) sans marqueurs et à la reconstruction tridimensionnelle de mouvements humains articulés à partir de séquences vidéo acquises avec une caméra de type 3D (stéréo ou infrarouge). Ce domaine de recherche est très actif de nos jours et comporte un champ d applications assez large qui touche des domaines tels que la capture du mouvement sans cibles pour l animation et la réalité virtuelle, les interactions homme-machines, la télésurveillance ou bien sûr les jeux vidéos. Au cours de ce manuscrit, nous proposons une méthode pour déterminer la pose d une personne en 3D. La technique, sans marqueurs, repose sur un alignement d un squelette et d un modèle humain 3D sur la silhouette vue par la caméra en s appuyant sur un ajustement progressif, débutant par la tête et se poursuivant par le torse et les différents membres. La technique prend en considération l aspect articulé de l anatomie humaine et permet en particulier de régler certains problèmes d occlusions et de chevauchement. Cela dit, la complexité de la structure du corps humains, de ses contraintes physiques ainsi que la grande variabilité dans les observations des images, font que la détermination d une solution à ce problème soit difficile. L objectif de cette mémoire est donc de développer une méthode assez robuste capable de faire face à ces différentes difficultés imposées par le choix de la technologie et le contexte général d utilisation pour les consoles de jeux vidéo de salon. Pour aborder cette étude, nous proposons un modèle humain 3D qui tient compte des contraintes physiques et qui permet une intégration cohérente des différentes informations visuelles comme le visage, les contours et les silhouettes. 2

3 Abstract This report is interested in the markerless motion tracking and the three-dimensional reconstruction of articulated human movements from video sequences acquired with a 3D camera (stereo or infrared). Nowadays, this research field is very active and contains a wide field of applications which deals with areas such as motion capture for animations and virtual reality without using any kind of markers, human-machine interaction (HMI), remote monitoring and of course video games. In this manuscript, we propose a novel method to estimate the 3D human pose. This markerless technique is based on an alignment of a skeleton and a 3D human model over the silhouette seen by the camera by leaning on a progressive adjustment, starting from the head and continuing to the trunk and the various members. The technique considers the articulated aspect of the human body and allows, in particular, solving some problems of occlusions and overlapping. Besides, the complexity of the human body structure, of its physical constraints as well as the big variability in the images observations, makes that the solution determination for this problem is difficult. The objective of this memory thus is to develop a strong and robust method capable of facing these various difficulties imposed by the technology choice and the general context of use for home video games consoles. To approach this study, we propose a 3D human model which takes into account physical and kinematic constraints and which allows a coherent integration of various visual information such as face detection, edges and silhouettes. The combined system allows 3D human motion tracking using only one 3D camera. 3

4 Remerciements Je tiens tout d abord à exprimer ma gratitude à l égard de mon directeur de recherche, Professeur André Zaccarin, pour m avoir constamment guidé et conseillé, tout en me laissant une grande liberté, pour sa gentillesse et sa grande disponibilité et surtout pour l apport scientifique qu il m a accordé pendant cette maîtrise. Mes remerciements vont également à M. Denis Laurendeau, qui m a aidé au cours de cette maîtrise avec des idées claires et constructives qui m ont permis d avancer au cours de mes travaux de recherche. Je tiens à remercier fortement tous les gens du laboratoire qui m ont accueilli et qui m ont soutenu tout au long de cette maîtrise, surtout M. Denis Ouellet, ingénieur et professionnel de recherche au LVSN, pour le soutien technique qu il m a apporté tout au long de cette maîtrise. Je remercie également mes amis qui m ont encouragé pendant cette période. Enfin, un grand merci à mes chers parents, mon grand frère, ma petite sœur et ma chère fiancée, pour leur confiance et leur soutien fort durant toutes mes années d études. Je leur dédie donc mon travail afin de leur témoigner toute ma reconnaissance et ma gratitude. Maher, 4

5 Table des matières Résumé Abstract Remerciements. 4 Table des matières Liste des figures Introduction 1.1. Cadre Général Évolution des contrôles dans les jeux vidéo Reconstruction de mouvement humain en 3D Problématique Difficultés Objectifs et contributions Organisation du mémoire État de l'art 2.1. Techniques de reconstruction 3D Vision active Vision passive Vision Stéréoscopique Prétraitement Appariement Reconstruction Modèles humains Modélisation Degrés de liberté (DOF) Squelette vs. modèle Contraintes Aspect hiérarchique

6 Non-pénétration des différents membres Limitations anatomiques des angles de rotations des articulations Tracking humain 3D articulé Avec ou sans modèle 3D Sans modèle 3D Avec modèle 3D Avec ou sans marqueurs Avec marqueurs Sans marqueurs Prédictions, apprentissage Résumé de l approche Configuration matérielle et logicielle Caméra PTGrey Bumblebee Point Grey SDKs : Digiclops et Triclops Images de profondeur et nuage de points Segmentation basée sur la disparité Traitement des données 2D/3D Modèle humain 3D Mise en correspondance de modèle 3D et de nuage de points Suivi Articulé et hiérarchique des mouvements humains en 3D Initialisation de l algorithme Ajustement d un squelette 2D Construction du modèle humain 3D Procédé hiérarchique Arborescence de recherche Détection de visage Segmentation et suivi 3D Biomécanique humaine Centres de rotations Limitation des angles de rotations aux joints

7 Interdiction de chevauchement Microsoft Kinect Résultats expérimentaux Acquisition d une même scène avec Kinect et Bumblebee Comparaison des performances Kinect vs. Bumblebee Qualité du nuage de point Discontinuité de profondeur Contours Confusion avec des objets d arrière-plan Disparition de points Sensibilité aux facteurs externes Performances de la méthode Tracking de mouvements 3D Fonctionnement de l algorithme Reproduction de mouvement (avatar 3D) Résultats en vidéos Performances Discussions des résultats Conclusion Annexes Annexe A: Microsoft Kinect Annexe B: Spécifications technique de la Bumblebee Annexe C: Biomécanique humaine Références

8 Liste des figures Figure 1 - La manette des jeux vidéo au cours du temps Figure 2 - Évolution des technologies de manettes utilisées dans les jeux vidéo Figure 3 - Diagramme résumant les tâches à réaliser Figure 4 - Méthodes de reconstruction 3D Figure 5 Reconstruction stéréo 3D Figure 6 - Schéma synoptique de la stéréovision Figure 7 Repère local ( X k, Y k, Z k ) correspondant à chaque partie du modèle Figure 8 - Modèle 3D virtuel articulé Figure 9 Représentation du modèle hiérarchique Figure 10 - Exemple des limites anatomiques des articulations (épaule) Figure 11 - Systèmes de capture de mouvement avec marqueurs Figure 12 - Diagramme synoptique générale de l'approche retenue Figure 13 - Caméra stéréo Bumblebee de Point Grey - source: Point Grey [51] Figure 14 (a) Images d origine, (b) images de disparité et (c) nuages de points 3D Figure 15 - Élimination d'arrière-plan utilisant la disparité source : Microsoft Kinect Manuel Figure 16 - Segmentation basée sur la disparité Figure 17 - Squelette du modèle de suivi Figure 18 - Passage du squelette 3D au modèle humain 3D à base de cylindres Figure 19 - Algorithme du Back-Face Culling (BFC) appliquée sur un cylindre Figure 20 - Résultats de la méthode d élimination de surfaces non-visibles, Figure 21 - Les deux ensembles de données entrée de l'algorithme d'alignement Figure 22 Une itération de l algorithme ICP standard Figure 23 - Diagramme de l'ajustement de squelette 2D Figure 24 - Méthode d extraction de squelette 2D Figure 25 Construction du modèle humain 3D Figure 26 - Passage squelette 2D - squelette 3D Figure 27 - Passage du squelette à l'avatar avec apparence humaine Figure 28 - Relation entre les différentes parties du corps d un modèle hiérarchique, Poppe [36] Figure 29 Algorithme de suivi hiérarchique initialisé au torse Figure 30 - Détection visage, (droite) image intensité, (b) image de profondeur Figure 31 - Détection de visage Figure 32 - Exception de plusieurs visages détectées corrigée par l'algorithme

9 Figure 33 Processus de recherche hiérarchique des membres du corps Figure 34 Appel de la méthode de segmentation 3D couplée avec la recherche hiérarchique Figure 35 - Différentes étapes de la segmentation 3D Figure 36 - Segmentation totale du nuage de points (haut du corps) Figure 37 - Processus d alignement hiérarchique avec détection du visage et segmentation 3D Figure 38 - Digramme les techniques de détection de visage et segmentation 3D Figure 39 - Angles limites au niveau du coude source : Maurel [49] Figure 40 - Correction des angles biomécaniquement impossibles Figure 41 - Résultat de la correction des angles de la figure Figure 42 - Correction des chevauchements des cylindres du modèle (vues de dessus), Figure 43 - Diagramme final de l'approche de suivi 3D de mouvements humains proposée Figure 44 - Caméra Kinect pour Xbox 360 source: Microsoft Kinect Manuel Figure 45 - Nuage de points représentant une silhouette humaine vue par la Kinect Figure 46 - Configuration des caméras (Bumblebee et Kinect) pour l'acquisition d'une même scène Figure 47 - Comparaison entre les nuages de points acquis par Kinect et Bumblebee Figure 48 - Zoom sur le nuage de point de la Kinect pour voir l'absence quasi-totale d'artefacts Figure 49 - Exemple d'artefact vu au niveau de la silhouette humaine 3D avec la Bumblebee Figure 50 - Comparaison entre nuage Bumblebee et Kinect pour montrer la discontinuité de profondeur. 84 Figure 51 - Filtrage de contours Figure 52 - Exemple de confusion avec un objet de l'arrière-plan Figure 53 - Situation de disparition brusque d'une partie du nuage (bras gauche de l utilisateur) Figure 54 - Absence de points dans une région saturée à cause de l'éclairage Figure 55 - Sensibilité de la stéréo aux textures et aux couleurs sombres Figure 56 - Position de calibration Figure 57 - Calibration avec la Bumblebee Figure 58 - Calibration avec la Kinect Figure 59 - Séquence de tracking 3D avec caméra Bumblebee Figure 60 - Suite de la séquence de tracking 3D avec caméra Bumblebee Figure 61 - Séquence de tracking 3D avec caméra Kinect Figure 62 Suite de la séquence de tracking 3D avec caméra Kinect Figure 63 - Résultat de l'alignement du modèle 3D en cylindres au-dessus du nuage de points Figure 64 (Suite) Résultat de l'alignement du modèle 3D en cylindres au-dessus du nuage de points Figure 65 - Résultats du suivi 3D des gestes humains avec Kinect Figure 66 (Suite) Résultats du suivi 3D des gestes humains avec Kinect Figure 67 - Interface Matlab montrant les différents processus de la méthode Figure 68 - Déroulement du suivi 3D des mouvements humains sans marqueurs Figure 69 - Modèle humain 3D sous formes de mesh autour du squelette 3D

10 Figure 70 - Modélisation d'un personnage 3D en polygones autour du squelette 3D Figure 71 Comportement de l algorithme face à un déplacement global de l utilisateur Figure 72 - Robustesse de la méthode quant à la disparition soudaine d'une partie du nuage de points Figure 73 - Utiliser l'alignement 3D de la tête lorsque la détection de visage 2D présente une exception 105 Figure 74 - Comportement de la méthode de suivi face aux auto-occlusions Figure 75 - Caméra Kinect pour Xbox 360 source: Microsoft Kinect Manuel Figure 76 - Les technologies embarquées dans la Kinect Figure 77 Détection de profondeur avec la Kinect Figure 78 - Différents types de pattern présentés par les inventeurs de la Kinect Figure 79 - Image de profondeur générée par la Kinect Figure 80 - Schéma résumant la technologie Kinect Source : PrimeSense [52] Figure 81 - Spécifications technique de la caméra Bumblebee de PointGrey Figure 82 - Les limitations des angles de rotations autour des joints selon la biomécanique humaine

11 Chapitre 1 Introduction Le thème principal de nos travaux de recherche est «La Vision Artificielle au service des Jeux Vidéo», ce qui représente une convergence entre l interaction homme-machine (IHM) et la vision par ordinateur. L interaction Homme-Machine, dont les jeux vidéo en font partie, s est souvent intéressée à des techniques utilisant des intermédiaires entre la personne et la machine tels que le clavier/souris, les manettes de jeux etc. Actuellement, il y a une grande tendance vers de nouveaux concepts. Au fait, l utilisateur doit être capable d évoluer dans son univers naturel sans aucune contrainte physique. D ailleurs, les doigts, les mains, le visage et tout le reste du corps peuvent être envisagés comme étant des périphériques d Entrée/Sortie, ce qui réduit considérablement la frontière qui séparait le monde réel du monde électronique. Mais pour se faire, nous aurons besoin de réaliser une capture du comportement et des mouvements observés de l utilisateur et de son entourage. C est là où la perception artificielle entre en jeu. La vision artificielle, quant à elle, a pour but la compréhension d une scène ou d un phénomène à partir d images prises avec une ou plusieurs caméras, mélangeant perception, analyse et contrôle. Elle a profité de l évolution de la puissance de calcul des processeurs et la banalisation des dispositifs d acquisition. Le domaine de recherche en vision par ordinateur s est largement enrichi avec l arrivée de l interaction hommemachine comme étant une source inépuisable d expérimentation, c est ce qui a multiplié l ensemble des applications générés et a créé de nouveaux enjeux industriels, parmi les quelles figurent les jeux vidéo. 11

12 1.1. Cadre général Évolution des contrôles dans les jeux vidéo Dans les années 80, les jeux vidéo ont fait leur apparition, et depuis, ils présentaient un très grand secteur industriel qui génère un revenu très important approchant des dizaines de milliards de dollars. Pendant toutes ces années, plusieurs consoles ont vu le jour ainsi que plusieurs manettes de jeux. Ces manettes n ont pas cessé de se réinventer depuis le début de l ère vidéo-ludique: nouvelle ergonomie, ajout de boutons, de nouvelles méthodes de contrôle etc. Beaucoup de bonnes et de moins bonnes idées sont venues changer notre façon de jouer. Les toutes premières manettes étaient, en fait, de simples boitiers de commandes qui permettaient de contrôler de petits jeux programmés, mais avec le temps le moyen de contrôle dans le jeu n a pas arrêté d évoluer. Pendant les dernières années, la tendance s est plutôt orientée vers de nouveaux moyens de contrôles. La Wii, avec sa manette la Wiimote, ont complètement révolutionné notre façon de jouer. Le jeu ne consiste plus à seulement utiliser ses doigts mais aussi à faire des gestes avec les bras et les mains et ces mouvements sont interprétés grâce à l accéléromètre que contient la manette. La console est alors capable d interpréter les signaux de l accéléromètre pour déterminer un grand nombre de mouvements que le joueur produira dans l'espace. La manette possède aussi un dispositif de pointage, nécessitant l'installation d'un émetteur placé au niveau du téléviseur. Figure 1 - La manette des jeux vidéo au cours du temps - source: Scott Johnson, MyExtraLife website 12

13 Le joueur étant de plus en plus exigeant et les développeurs plus imaginatifs, l évolution vers des techniques de contrôles, où le corps en entier devrait se mettre en mouvement au lieu de balancer une manette, s imposait. Bien évidemment, ces techniques ont l avantage de garantir une grande immersion aux jeux et donner naissance à des possibilités infinies. En d autres termes, c est l interactivité avec un grand «I». Jouer à la console assis dans son divan ou considérer son corps comme étant la manette avec laquelle il interagit avec les jeux devient alors une nécessité à laquelle les développeurs de technologies des jeux vidéo doivent trouver des solutions rapides. C est dans ce cadre précis, que nous allons présenter une nouvelle approche pour jouer et interagir différemment avec les mondes virtuels des jeux en toute liberté et avec beaucoup plus de possibilités. Figure 2 - Évolution des technologies de manettes utilisées dans les jeux vidéo source : Primesense [52] 13

14 Reconstruction de mouvement humain en 3D Détecter puis reproduire le mouvement que fait un joueur devant sa télé nécessite l utilisation d une nouvelle technologie, pas trop encombrante et assez précise. C est la que la Vision Artificielle semble être le candidat parfait pour remplir cette tâche. Les systèmes de vision monoscopiques présentent un inconvénient majeur dans ce contexte qui est leur incapacité à reconstruire une scène entièrement en 3D. C est pourquoi on s est plutôt tourné vers une approche 3D, particulièrement stéréoscopique. La vision stéréo permet, à partir des disparités entre niveaux de gris de deux images prises de points de vue très proches, de retrouver l information de profondeur pour chaque pixel de ces images et de récupérer un nuage de points 3D correspondant aux surfaces visibles par la caméra 3D. C est alors que divers mécanismes de détection de cohérence et de triangulation peuvent être utilisés afin d apporter une réponse géométrique à la question du contenu de la scène. Maintenant, pour que le joueur contrôle le jeu intuitivement avec son corps, on doit capturer en 3D son corps en entier, ce qui veut dire qu on doit segmenter, suivre et déterminer les différentes parties et articulations du corps. La méthode développée utilise un ajustement progressif d un modèle 3D d un humain (créé à partir de squelette), au dessus du nuage de point correspondant aux surfaces visibles du corps du joueur. Cet alignement hiérarchique tente de déterminer la position des différents membres et joints d une silhouette humaine 3D visible par la caméra. Enfin, une fois ce modèle aligné avec la silhouette, le squelette, ainsi trouvé, sert de base pour aligner le modèle avec la silhouette de l instant suivant. Le problème majeur de ce genre d approche réside dans la définition d un schéma de mise en correspondance stéréo robuste permettant de minimiser l erreur d alignement et d éviter les minimums locaux qui peuvent entraîner une dégénérescence de la solution de tracking proposée. Ce problème est d autant plus complexe lorsqu on essaye de réaliser le tracking du corps entier (objet déformable) ce qui entraîne des ambiguïtés et des complexités supplémentaires pour les algorithmes d appariement. 14

15 1.2. Problématique Le problème que nous adressons dans ce mémoire est le suivi continu et la reconstruction de mouvement humain de tout le corps en 3D à partir de séquences d images venant d une paire stéréo. Par continu, nous voulons dire que les images sont disponibles une par une et nous voulons mettre à jour notre estimation de la pose que fait l utilisateur à chaque instant. Il est nécessaire de mettre le point sur le choix d utiliser une seule paire stéréo (deux caméras monoscopiques très proches) située en bas ou au dessus de la télévision. D un coté, une seule caméra est de toute évidence pas du tout encombrante si on la compare avec les autres systèmes de détection de mouvement à plusieurs caméras. Nous nous ne pouvons pas imaginer de tel système dans un salon, c est pourquoi une seule caméra devrait être utilisée. D un autre coté, une seule caméra 3D (de type stéréo par exemple) est pratiquement suffisante pour générer une description approximative du mouvement réalisé par l utilisateur, surtout lorsque nous savons qu il regardera souvent la caméra pendant qu il joue. Cependant, dans certains cas, une seule caméra risque de ne pas être suffisante surtout pour les mouvements les plus complexes et où les membres peuvent présenter des autoocclusions. C est d ailleurs là où la méthode développé doit faire ses preuves en termes de robustesse et récupération. La technique doit aussi être capable d ajuster un squelette sur la silhouette humaine de l utilisateur pour déterminer la posture à chaque instant et d éviter d entrainer des erreurs d estimations qui peuvent être causés par la rapidité des mouvements ou leurs complexités, les auto-occlusions et les artefacts du nuage de points. 15

16 1.3. Difficultés L extraction du mouvement humain 3D utilisant la vision stéréo représente un certain nombre de difficultés que nous citerons brièvement dans ce qui suit. Certains de ces problèmes sont liés au fait que nous utilisons une seule caméra stéréo, d'autres sont liées à la vision numérique et qui se présentent souvent lors d une compréhension insuffisante d'image complexe ou tout simplement des problèmes liées à des techniques basées sur des modèles 3D d humain surtout l aspect articulé et déformable du corps humain. Vision stéréo Plusieurs difficultés sont liées au système de vision stéréo. Au fait, l utilisation de la stéréo passive comprend plusieurs défis, tels que la correspondance entre les deux images 2D, la rectification, la reconstruction 3D, les zones d ombres, les textures uniformes etc. Représentation multidimensionnelle Le plus souvent, une représentation 3D d un humain est un ensemble discret de points 3D avec une grande densité, ayant des structures indépendantes et en mouvement. Mais, pour alléger le calcul, le modèle utilisé doit contenir un nombre moins important de points et qui décrivent le mieux la surface 3D visible de l humain en prenant en considération aussi l'anatomie structurelle humaine. Du coup, le meilleur choix est alors une représentation basée sur une structure squelettique qui est en quelques sortes les axes des surfaces cylindriques. Modélisation d apparence et vêtements Nous avons déjà vu qu un compromis doit être fait pour équilibrer qualité de modélisation et temps de calcul. Une autre difficulté s ajoute avec le port de vêtements déformables, ce qui génère une très forte variabilité en forme et en apparence. 16

17 Cette variance au niveau de l apparence globale de la silhouette présente un problème considérable lors de la modélisation 3D puis lors du tracking. Contraintes physiques Une représentation inspirée de la structure humaine articulée a besoin d un modèle de contraintes physiques réelles du corps humain. Il faut alors s assurer que les parties du corps ne pénètrent pas l'une dans l'autre et que les articulations aient des intervalles de rotations limitées. Cependant, la présence de contraintes est à la fois avantageuse et problématique. Les avantages se résument dans le fait que l ensemble admissible de l'espace des paramètres devient plus petit et par la suite plusieurs des solutions auparavant possibles seront alors éliminées. L inconvénient est que le traitement des contraintes nécessite un temps de calcul supplémentaire et qu une vérification continue des contraintes doit être assurée. Auto-occlusion Étant donné la structure fortement flexible et déformable du corps humain, l'autoocclusion entre différentes parties du corps arrive fréquemment et doit être prise en considération. Deux aspects sont importants: - La détection correcte de l existence d un cas d auto-occlusion - La correspondance d une partie du modèle 3D à la surface qui est caché (occultée) par d autres parties du modèle. Mouvements complexes Une autre difficulté importante est que les gens se déplacent d une façon complexe, rapide, mais aussi fortement structurées. Quelques mouvements ont une structure répétitive comme la marche mais les mouvements sont généralement aléatoires et ne peuvent pas être prédits. 17

18 Singularités cinématiques (Kinematic) L aspect hiérarchique qui peut être utilisé dans la modélisation d humain en 3D peut faire intervenir un problème important. Une mauvaise estimation d un paramètre de rotation d une articulation risque d entrainer des erreurs d estimations des articulations qui la suivent. Ce type de problème risque d être irréversible, et des erreurs minimes au niveau des articulations parents peuvent entrainer des erreurs beaucoup plus importantes au niveau de la descendance. Bruit image, éclairage, flou de mouvement Faire correspondre un modèle humain à une observation d'image qui peut être bruitée est une difficulté supplémentaire. Le changement d'éclairage et les ombres pourraient compliquer encore plus le problème en changeant la perception des textures. Finalement, pour des systèmes avec une longue durée d exposition et pendant un mouvement rapide, les objets apparaissent flous ou mélangés avec l arrière-plan. Ambigüités d observations Ces ambiguïtés surgissent quand certains paramètres du modèle ne peuvent pas être déduits à partir des observations, comme la rotation du bras tendu vers la caméra autour de son propre axe. Ce ne serait pas une ambiguïté si le tracking se base sur l'intensité, où la texture ce qui permet avec un simple calcul de corrélation de déterminer cette rotation. 18

19 1.4. Objectifs et contributions L objectif principal de ce projet est de réaliser une analyse du mouvement humain exploitant la vision artificielle. Plus précisément, le projet s intéresse à l utilisation d images 3D pour détecter, suivre et reproduire les mouvements qu un utilisateur de jeu vidéo exécute devant une caméra 3D ce qui lui permettra de contrôler un avatar 3D avec seulement le gestuel à partir d une seule caméra. Cet avatar sera capable de reproduire les gestes de l utilisateur grâce aux techniques de tracking 3D instaurées. Ces méthodes vont permettre la détection de chacun des membres du corps et reproduire les mouvements avec une grande précision. Notons que le tracking des gestes de l utilisateur est supposé se faire sans marqueurs (approche markerless) et que la reconstruction de mouvement 3D humain à partir d une seule caméra stéréo est un problème complexe en raison de la perte d informations due à la projection par rapport au plan image de la caméra, la dimensionnalité importante nécessaire à la modélisation du corps humain, complexité de la structure articulaire et volumétrique du corps humain, ses contraintes physiques, ainsi que la grande variabilité dans les observations images. Dans le but de proposer un système de tracking 3D des mouvements d une personne pour les jeux vidéo, l implémentation de plusieurs blocs de procédures est nécessaire. Ces différents blocs s occupent chacun de réaliser une tâche particulière : Extraire le nuage de point en coordonnées espace XYZ Segmenter la silhouette de l utilisateur par rapport à l arrière-plan selon la profondeur Aligner un modèle humain articulé en 3D au dessus de la silhouette Détecter les extrémités et les articulations du modèle Reproduire le mouvement par un avatar 3D virtuel 19

20 Nuage de points 3D Extraction Silhouette(s) Silhouette 3D Instant k =1 Non Alignement Input Oui Squelette 3D Modèle 3D Reproduire Mouvement Output Figure 3 - Diagramme résumant les tâches à réaliser Le modèle 3D utilisé est articulé et constitué d un ensemble de cylindres reliés aux niveaux des joints, capables de tourner selon les degrés de liberté des articulations du corps humains. Dans un premier temps, une phase de Calibration Utilisateur/Modèle3D est nécessaire pour lancer le suivi 3D. Au cours de cette phase, on s assure que l utilisateur est bien positionné devant la caméra et de cette façon le premier alignement Modèle/Silhouette est réalisé. Différentes techniques peuvent être utilisées pour réaliser cette phase. Après cette première phase, le suivi 3D doit se faire d une façon continue, le modèle est mis en correspondance à chaque instant avec la silhouette 3D vue afin de détecter les différentes parties du corps, les articulations et en déduire les trajectoires. 20

21 1.5. Organisation du mémoire Afin de poser correctement les problématiques traitées dans le cadre de ce projet, le Chapitre 2 est consacré à l étude de l état de l art de la reconstruction 3D ainsi que la vision stéréoscopique. Cet état de l art présente un survol des principales méthodes de numérisation tridimensionnelle d une scène avec seulement une seule caméra et aussi des différentes méthodes et techniques existantes dans la littérature pour réaliser une reconstruction 3D de modèles humains. Ce résumé de méthodes souligne aussi les limites et les avantages de chacune. Le Chapitre 3 de ce mémoire est consacré à la description de notre approche pour le suivi de mouvements humains en 3D à partir d une seule caméra 3D. Nous abordons dans cette description toute la chaîne du tracking allant de l acquisition du nuage de points 3D à la reconstruction et reproduction du mouvement par un avatar 3D. Au cours de ce chapitre aussi, nous présentons la méthode d alignement d ensembles de points 3D ICP (Iterative Closest Point) et citer les modifications apportées à cette méthode pour l adapter avec le contexte et le type de données que nous utilisons. Le Chapitre 4 est une présentation des résultats expérimentaux de la méthode ainsi développée en abordant plusieurs aspects techniques exploités. Enfin, dans le Chapitre 5, nous présentons une conclusion générale et nous achevons cette partie en présentant quelques perspectives d exploitation pour cette méthode et les moyens de l utiliser convenablement dans un contexte de jeux vidéo. 21

22 Chapitre 2 État de l art La vision artificielle est la discipline qui cherche à reproduire le système de perception humain sur une machine. Une de ses approches de recherche essaie d extraire une description tridimensionnelle des éléments de la scène à l aide de processus de traitement réalisés sur les images acquises avec une seule ou multiple caméras. Ce domaine de recherche présente une des branches les plus actives de l intelligence artificielle vu les demandes incessantes d un spectre assez large d applications, telles que la médecine, l aérospatial, l industrie, et les jeux vidéo etc. Dans ce chapitre, nous allons essayer de faire le tour de la littérature scientifique des thèmes principaux de nos travaux. Trois grandes parties structurent donc ce chapitre. La première consiste à dresser un état de l art de la reconstruction 3D du point de vue d approches de vision artificielle en présentant principalement la vision stéréo. La deuxième focalise essentiellement sur les approches de modélisation 3D de corps humain. Enfin, la dernière partie est un survol des techniques les plus connues pour le tracking 3D des gestes et mouvements humains. Tout au long de ce mémoire, nous allons essayer de nous référer à ce chapitre à chaque fois que nous allons aborder un thème en particulier afin de tirer un bilan général, faire les comparaisons et montrer l intérêt apporté à la méthode que nous proposons. 22

23 2.1. Techniques de reconstruction 3D La reconstruction 3D est l ensemble de techniques qui permettent de représenter une scène réelle en trois dimensions utilisant la vision numérique. Cette technologie présente un intérêt particulier ces dernières années vu les nombreuses demandes au niveau des applications. Plusieurs techniques optiques peuvent être utilisées pour reconstruire une scène réelle en 3D. Ces techniques sont essentiellement classées en deux grandes catégories : Méthodes Actives et Méthodes Passives: Méthode de Recontruction 3D (Méthodes Optiques) Méthodes Actives Méthodes Passives Triangulation Laser Lumière Structurée Radar Infrarouge Stéréo-vision Mouvement Ombres Silhouettes Figure 4 - Méthodes de reconstruction 3D Vision active La vision active est une méthode où la caméra est combinée avec une source de lumière dans le but d obtenir les coordonnées 3D des points sur les surfaces visibles des objets de la scène. En d autres termes, ces méthodes acquièrent la profondeur d une scène à partir d une source de lumière contrôlée (structurée). Différents types de sources lumineuses peuvent être exploités, les plus utilisées étant le laser, l infrarouge et les lumières structurantes. 23

24 Souvent ces méthodes souffrent d une complexité accrue de leurs dispositifs et présentent des inconvénients tels que la lenteur de la numérisation des objets de la scène ce qui rend leur exploitation dans le contexte de jeux vidéo moins pratique. Les méthodes actives souffrent aussi d une certaine sensibilité à différentes sortes d éclairage ambiant et à la réflectivité des objets de la scène. Une bonne revue de ces méthodes est proposée par Besl [15] Vision passive La vision passive utilise seulement les données fournies à partir d images acquises d une ou plusieurs caméras. Ces méthodes calculent le relief à partir d un jeu d images de la scène et le principe de base utilisé est la triangulation. La vision passive présente certains avantages par rapport à la vision active, elle est souvent plus rapide et moins couteuse en temps de calcul. D un autre coté, elle présente certaines faiblesses telles que la sensibilité à la transparence, le risque de confusion qui peut être causée par les effets spéculaires ou les inter-réflexions. Enfin, l existence de textures sur les objets de la scène est considéré comme un élément positif pour quelques méthodes passives et alors que c est négatif pour d autres. Certaines approches passives n utilisent qu une seule image comme le Shape-From- Shading (SFS) développé par Horn [11] [12]; Elle procède à la détermination de la forme 3D grâce à une variance graduelle de l éclairage, ce qui permet d estimer les normales des surfaces. D autres approches exploitent plusieurs images prises au même moment et sous différents angles de la scène, ce qui permet de dégager des critères permettant la correspondance entre les différentes vues de la scène pour déterminer la profondeur de chaque point. Parmi ces méthodes passives multioculaires, nous pouvons aussi citer la Shape-From-Texture (SFT) présentée par Kutulakos et Seitz [8] et basée sur le calcul de 24

25 la distorsion des textures des surfaces des objets de la scène. Une autre méthode aussi est la Shape-From-Motion (SFM) connue aussi sous le nom de Factorisation de Tomasi et Kanade [14]. Elle exploite, au fait, le mouvement relatif entre la caméra et la scène. Enfin, la méthode passive la plus connue est celle exploitant la géométrie épipolaire, à savoir la vision stéréo. Dhond et Aggarawal [10] ont fait une bonne revue résumant ces diverses méthodes exploitant la stéréoscopie. La plus classique parmi ces méthodes est la stéréo binoculaires qui utilise deux images d une scène vue sous deux angles légèrement différents, tout comme la vision humaine Vision stéréoscopique La stéréoscopie est une méthode très utilisée pour reconstruire une scène 3D et extraire la forme des objets qu elle contient. Ça consiste à déduire le relief des objets à partir de la différence entre les images (typiquement 2) prises de points de vue différents. Ce relief n est autre que la distance des objets de la scène à la caméra appelé aussi profondeur. Pour estimer cette profondeur, la géométrie relative des caméras doit être connue à l avance où déterminer lors d une phase de calibration. La stéréo par disparité binoculaire fait l objet de nombreux travaux de recherche depuis l apparition de la vision par ordinateur tels que Julesz [16] et Marr and Poggio [17] [18]. La stéréo connait une explosion de travaux, ces dernières années, motivés par de très nombreuses applications surtout en robotique et dans les Interfaces Homme-Machine (IHM). 25

26 Le processus de la Stéréoscopie est souvent décrit en trois étapes : - Prétraitement Calibration Acquisition Rectification - Appariement (mise en correspondance) - Reconstruction (Triangulation) Prétraitement Le prétraitement commence par une phase de Calibration (offline) qui consiste à trouver la géométrie interne et externe du système d acquisition. La calibration interne a pour but de trouver les paramètres intrinsèques de chaque caméra tels que la focale, le centre optique, les dimensions des pixels etc. La calibration externe, à son tour, vise à retrouver la transformation (paramètres extrinsèques) qui ramène la position de la caméra dans un repère externe (repère monde). La phase de calibration se fait souvent grâce à un damier ou une mire de calibration. Après la calibration et l acquisition des images, une rectification est réalisée. Elle consiste à modifier les images originales pour les mettre en géométrie épipolaire. Nous pouvons citer l article de Zhang [19] qui fait une évaluation de toutes les techniques de rectification Appariement La phase d appariement consiste à mettre en correspondance les éléments des deux images. C'est-à-dire, trouver les points 2D (pixels) de chaque image qui représentent les projections d un même point 3D de la scène (vertex). Plusieurs méthodes d appariement sont proposées dans la littérature comme la corrélation ou la recherche de points d intérêt etc. La mise en correspondance d images présente plusieurs difficultés telles 26

27 que le phénomène d occlusion ou l absence de textures. Plusieurs articles résument l état de l art de l appariement, tels que Szeliski et Zabih [20], Scharstein et Szeiliski [21] et Brown et al. [22] Reconstruction La reconstruction 3D est la dernière étape de la stéréo, elle permet d estimer la structure 3D de la scène observée en se basant sur le principe de triangulation géométrique. Elle consiste à calculer les coordonnées 3D (X,Y,Z) à partir des coordonnées images 2D des primitives. Point B Profondeur Z B Image gauche B g A g Point A Profondeur Z A Image gauche B g B d Image droite A d B d Image droite O g f A g A d O d f d B Cg T C d d A Figure 5 Reconstruction stéréo 3D, (droite) système stéréovision, (gauche) comparaison de disparités de deux points de profondeurs différentes La profondeur d un point A s exprime en fonction de la focale f, de la Baseline T (distance entre les deux centres des caméras) et des coordonnées des projections dans les plans images: T Z A f f O g A g O d A d d A T 27

28 d A est la disparité du point A qui est donc inversement proportionnelle à sa profondeur. Le schéma synoptique suivant résume les différentes étapes de la stéréo : Prétraitement Calibration (Offline) Acquistion Rectification Mise en Correspondance (Appariement) Reconstruction (Triangulation) Figure 6 - Schéma synoptique de la stéréovision 28

29 2.3. Modèles humains Pour réaliser le suivi du mouvement humain 3D, nous avons besoin d utiliser un modèle 3D visuel articulé qui représente le corps humain. Cette modélisation doit être en harmonie avec les méthodes de tracking utilisées, la nature du système d acquisition et le format des données récupérées pour que le suivi se réalise de la manière la plus adaptée possible. Ce rapport entre modélisation et approche de tracking représente le maillon de la chaîne le plus important dans la mesure où c est cette cohérence qui joue un rôle majeur dans les performances du système de tracking 3D global Modélisation Une grande variété de modèles humain 2D et 3D est proposée dans la littérature. En effet, la modélisation du corps humain varie largement dans leur niveau de détail. D un côté, nous avons des méthodes qui considèrent simplement le modèle du corps comme étant une collection de surfaces 2D plates et articulées comme présenté dans Yacoob et Davis [23] et Ju et al. [24]. D un autre côté, nous avons des modèles 3D à base primitives simples (sphères ou des cylindres à base parfaitement circulaires ou même elliptique, tel que Deustcher et al. [33], de primitives un peu plus sophistiquées comme ceux utilisées dans Watcher et Nagel [28] et Deutscher et al. [30] et même à base de superquadrics (Gavrilla et Davis [25]). D autres méthodes sont même parties pour utiliser des modèles dans lesquels les formes des membres sont déformables et varient selon le mouvement de l utilisateur (Kakdiarism et Metaxas [26]). De plus, le choix du modèle 3D est très lié à la nature du système d acquisition et le type de données utilisées. D ailleurs, quelques recherches ont utilisé des modèles avec une projection orthographique mise en échelle (Bregler et Malik [27]), alors que d autres utilisent une projection à perspective afin de permettre au modèle de mieux gérer les 29

30 changements significatifs de profondeur tel qu utilisé dans Watcher et Nagel [28] et Sidenbaldh et al. [29]. La longueur de ces primitives représentant les différents membres du corps est calculée en proportionnalité selon l anatomie humaine comme celle définie dans une étude de la NASA [6]. Pour généraliser l utilisation du modèle humain 3D, un facteur d échelle est appliqué afin d adapter les dimensions des différentes parties (cylindres) du corps à la personne suivie Degrés de liberté (DOF) La plupart des modèles existants dans la littérature considère le corps humain comme un arbre cinématique (kinematic tree), qui consiste en un ensemble de segments (les membres) qui sont liés par des joints. Pour chaque joint (articulation), un certain nombre de degrés de liberté (DOF) est défini pour décrire les possibilités de mouvement (rotations et translations) au niveau de ce joint. La configuration de cet ensemble de degrés de liberté détermine la posture où la pose que décrit le modèle. Voir Cheung et al. [38] et Watcher and Nagel [28]. Dans le cadre de nos travaux, le modèle humain comprends 15 joints représentant les points clés du corps dont nous voulons suivre le mouvement (tête, torse, coudes, genoux etc.). Ces 15 points sont reliés par 14 segments. Ce modèle du corps humain utilisé dans un contexte de tracking 3D exploite une structure multidimensionnelle, 25 dimensions dans le cas de nos travaux, dont 22 degrés de liberté et 3 variables correspondant à la position globale du corps (x,y,z). Cette structure considère souvent le torse ou la tête comme racine principale de l arbre cinématique et tout mouvement des différentes parties du corps est décrit dans ce repère là. 30

31 Les mouvements possibles pour chaque partie de ce modèle sont définis grâce à des transformations rigides M i décrivant à la fois la position relative et l orientation. Les angles de rotation sont définis comme des angles d Euler. Voir Bregler and Malik [27]. Nous pouvons exprimer cette transformation rigide sous forme de matrice de transformation homogène : RzRyRx t M 0 1 Où Rx, Ry, et Rz sont des matrices de rotations 3x3 autour des axes Xi, Yi et Zi selon les angles x, y et z, avec t x, y, z la translation. T Figure 7 Repère local ( X k, Y k, Z k ) correspondant à chaque partie du modèle 31

32 Squelette vs. modèle Pour des raisons de facilité et simplicité d utilisation, plusieurs méthodes proposent l utilisation des squelettes simples pour décrire et simuler la posture que fait l utilisateur. Ce squelette souvent appelé modèle en fil-de-fer est en fait l ensemble des joints du modèle liés entre eux avec des segments de droites fins. C est au dessus de ce modèle en fil-de-fer que nous ajoutons les primitives du modèle 3D, comme des cylindres ou des parallélépipèdes, et c est aussi ce modèle de squelette qui contrôlera le mouvement de l avatar 3D ou du modèle d apparence adéquat à l application finale. Voir Kehl and Van Gool [41]. Figure 8 - Modèle 3D virtuel articulé: (a) Le modèle en fils de fer, (b) Modèle 3D avec des volumes Contraintes Aspect hiérarchique Une séquence de membres liés du corps est appelée une chaîne cinématique. Dans une chaîne cinématique, un membre-enfant est directement connecté au membre du corps actuel, et un membre-petit-enfant est connecté au membre-enfant du membre du corps 32

33 actuel (Voir Gavrilla and Davis [25]). La transformation appliquée sur un membreparent influe directement sur la transformation de son membre-enfant, et son membrepetit-enfant etc Non-pénétration des différents membres La cohérence physique du modèle exige que les différentes parties de corps ne doivent pas se chevaucher l une dans l autre pendant le mouvement. Des méthodes proposées dans la littérature pour éviter ce problème en introduisant des potentiels répulsifs qui se délabrent rapidement à l'extérieur de la surface de chaque partie, Sminchisescu et Triggs [32]. Tête Torse Bras Gauche Bras Droit Cuisse Gauche Cuisse Droite Avant-Bras Gauche Avant-Bras Droit Jambe Gauche Jambe Droite Figure 9 Représentation du modèle hiérarchique, chaîne cinématique en forme d arbre (droite), effet d une transformation d un membre-parent à un membre-enfant (gauche) Limitations anatomiques des angles de rotations des articulations Pour que le modèle 3D reproduise le mouvement d une personne réelle, des contraintes cinématiques au niveau des limites biomécaniques humaines doivent être considérées. Ces contraintes réduisent le nombre de degré de liberté attribués au modèle fils-en-fer, 33

34 des angles limites sont alors imposés pour chaque degré de liberté, voir Moeslund and Granum [42]. Figure 10 - Exemple des limites anatomiques des articulations (épaule) 2.4. Tracking humain 3D articulé Le tracking de corps humain articulé en 3D a reçu une grande attention au niveau de la recherche pendant les dernières années. Un revue de Moeslund [31] fournit au un excellent survol des travaux réalisés dans ce domaine. Ces différents travaux exploitent diverses primitives pour l estimation de la pose, telles que la couleur [39], les contours [40], la forme ou la silhouette [34] et le mouvement [32] etc Avec ou sans modèle 3D Les différentes approches de tracking 3D humain peuvent être regroupées en deux catégories, Avec ou Sans Modèle. Un résumé de ces approches est présenté dans la revue rédigée par Poppe [36]. 34

35 Sans modèle 3D Cette catégorie rassemble des techniques qui n utilisent pas de modèle 3D mais qui essayent plutôt d estimer la posture de l utilisateur 3D à partir des images directement. Ce genre d estimation repose souvent sur l apprentissage d une correspondance entre les images et la pose 3D, comme utilisé dans Agarwal et Triggs [34]. D autres méthodes sans modèle exploitent les bases de données pour stocker une collection d exemples de situations 3D et interpolent entre les poses disponibles pour les trouver celle la plus similaire à l image réelle, comme décrit dans Mori et Malik [35] Avec modèle 3D Dans la catégorie qui exploite des modèles humain 3D, la recherche de la pose consiste à faire correspondre le modèle à l image et aux données acquises grâce à certaines fonctions de coût associées à minimiser (comme utilisé dans Horain et Bomb [37]). Plusieurs approches dans le cadre de cette catégorie utilisent des contraintes de proximité ou physiques pour estimer la pose 3D de l utilisateur (Cheung et al. [38]) Avec ou sans marqueurs Il existe dans la littérature deux grandes catégories de systèmes permettant le tracking du mouvement humain 3D : Des approches avec l utilisation de marqueurs portés par l utilisateur que nous voulons suivre son mouvement, et des approches sans aucun marqueur Avec marqueurs Cette première famille de technique est largement utilisé pour le suivi de mouvement de personne en 3D, c est surtout le type d application qui définit le besoin d utiliser cette approche. 35

36 Ces systèmes exploitent des marqueurs spécifiques attachés à certains points clés du corps humain qui permettent de faciliter la détection des articulations du corps et ainsi de la pose globale de l utilisateur. Les approches avec marqueurs présente à leur tour, deux sous-catégories. La première est l ensemble des systèmes appelés passifs qui utilisent des marqueurs lumino-réfléchissants qui ont pour rôle de réfléchir la lumière vers le capteur, tel que le système Vicon. La deuxième sous-catégorie comporte les systèmes actifs, dont les marqueurs comportent une source de lumière comme le système Visualeyez. Figure 11 - Systèmes de capture de mouvement avec marqueurs, système passif Vicon (gauche), système actif Visualeyez (droite) Les systèmes avec marqueurs nécessitent un grand espace, équipé avec plusieurs caméras à émetteurs/récepteurs infrarouges placées partout autour de cet espace. Pour déterminer la position 3D de chaque marqueur, une méthode de triangulation est appliquée à condition que ce marqueur soit visible par au moins deux caméras. Bien évidemment de tel système de tracking 3D de mouvement ne peut être utilisé dans un contexte de jeux vidéo au salon, vu le caractère encombrant de son installation et les contraintes qui seront imposées au joueur. 36

37 Sans marqueurs Certes, l utilisation des marqueurs augmente la robustesse et la précision du tracking, mais cette utilisation peut s avérer compliquée et exigeante. C est pourquoi, des méthodes sans marqueurs ont été développé pour être adaptées avec le contexte spatiotemporel et faciliter le suivie de personnes dans des environnements non-contrôlés. Ces techniques, appelées Markerless, déterminent la pose 3D de l utilisateur directement à partir des images acquises avec le système de vision. Elles permettent l interprétation du mouvement d une personne devant la caméra, portant des vêtements non spécifiques avec aucun marqueur spécial dessus. Bien évidemment, en absence de marqueurs, la tâche de déterminer la pose 3D exige maintenant des caractéristiques à extraire à partir des images afin d estimer les positions 3D des articulations du corps humain. Dans la littérature, nous trouvons plusieurs de ces caractéristiques telles que la couleur, la forme, la silhouette, les multi-vues, etc. voir Horain and Bomb [37] et Kehl and Van Gool [41] Prédictions, apprentissage Dans la littérature, d autres approches ont été proposées pour réaliser le tracking 3D de mouvement de personnes et exploitant la cohérence temporelle entre des images successives. Ces méthodes utilisent des algorithmes spécifiques qui permettent, à partir de quelques hypothèses, de prédire la pose et de réaliser des corrections sur ses prédictions, les plus connues étant les méthodes d estimation dynamique (filtrage bayésien) tel que le filtre de Kalman (voir Kakadiarism and Metaxas [26]) et le filtrage particulaire (Particle Filter voir Deutscher et al. [30]). 37

38 Ces dernières années, plusieurs nouvelles méthodes ont été développées, surtout celles qui présentent des approches probabilistes permettant d apprendre de nouveaux gestes faits par l utilisateur et faciliter la détermination de la posture de l utilisateur, voir Urtasun et al. [43]. 38

39 Chapitre 3 Méthode proposée Dans ce chapitre, nous présentons une méthode pour estimer les poses 3D d une personne et réaliser un suivi robuste et fidèle des gestes et des mouvements qu elle fait. L estimation des poses 3D d un humain à partir d une seule paire stéréo présente un défi majeur dans la mesure où il est difficile de déterminer avec exactitude le mouvement fait par l utilisateur et le reproduire connaissant la complexité de ces mouvements et les ambigüités qu elles peuvent présentées. C est pourquoi, nous avons implémenté une méthode d alignement qui prend en considération l aspect déformable et articulé du corps humain et ses contraintes biomécaniques et physiques et l auto-occlusion qui peut se passer entre les différentes parties du corps. Des données telles que le contour et la silhouette humaine, une connaissance de l état antérieur, des contraintes sur les espaces de recherche pour l appariement des points et l utilisation d un modèle humain 3D sont toutes des notions qui ont été combinées pour donner une méthode fiable pour l estimation de mouvement 3D avec une seule paire stéréo. 39

40 3.1. Résumé de l approche Avant de présenter l approche que nous proposons, nous débutons avec une brève description de la méthode proposée ainsi que de ses paramètres d entrée et de sortie. Tout d abord, nous utilisons un système d acquisition capable de nous fournir une représentation 3D de la scène sous forme de nuage de points. Lorsque l utilisateur est devant la caméra, une partie de ce nuage va décrire les surfaces visibles de la silhouette de cette personne. C est exactement cette partie du nuage qui va représenter le paramètre d entrée principal de notre approche. La méthode que nous présentons utilise ce nuage de points 3D pour générer en sortie un modèle 3D (ou squelette 3D) décrivant la pose 3D de l utilisateur. L approche retenue a pour but d aligner le nuage de points avec un modèle humain. Ce processus d alignement transforme le modèle en des surfaces échantillonnées pour les mettre en registre avec le nuage de points 3D (voir [33] et [41]). Nous avons jugé cette méthode plus intéressante dans notre cas par rapport aux approches qui essayent d extraire des surfaces à partir du nuage de points pour les apparier avec le modèle (voir [28], [29] et [32]). En fait, Ce choix a été dicté par le système d acquisition composé d une seule caméra et par la qualité moyenne du nuage de points récupéré. Nuage de Points 3D (k) Alignement Initialisation (k=1) Modèle 3D (k-1) Figure 12 - Diagramme synoptique générale de l'approche retenue Le modèle utilisé est composé d un squelette avec cylindres autour de chacun de ses segments. Les surfaces visibles de ces cylindres sont identifiées et misent en registre avec le nuage de points. Cette mise en registre est faite hiérarchiquement afin de 40

41 segmenter le nuage de points acquis par la caméra. Le modèle est initialisé avec une pose de calibration. Une détection de visage est utilisée à chaque trame afin d initialiser la mise en registre des deux ensembles de points Configuration matérielle et logicielle Dans le cadre de ce projet, nous avons commencé à développé notre algorithme de suivi 3D exploitant les données de la caméra Bumblebee de Point Grey. Après avoir défini les bases de la méthode, nous avons acquis une caméra Kinect de Microsoft avec laquelle nous avons validé l approche ainsi que ses résultats et performances Caméra PTGrey Bumblebee Dans ce projet, nous avons choisi d utiliser la caméra stéréo Bumblebee produite par la compagnie Point Grey. Elle est composée de deux capteurs photographiques couplés de type CCD (Charged-Coupled Device) de Sony, chacun avec une ouverture horizontale (HFOV) de 100 degrés et distancés d un baseline de 12cm de longueur. La Bumblebee peut récupérer des images de résolution 640x480 à 30 Hz, alors qu elle récupère seulement 15 images par secondes (15 Hz) à une résolution 1024x768. Cependant, après les traitements stéréo nécessaires exécutés sur la machine hôte, le taux d images peut baisser à 15 images par seconde avec la résolution 640x480, alors qu avec une résolution 320x240, les images peuvent être récupérées à environ 30 images par secondes même après le traitement stéréo. C est pourquoi nous avons choisi d utiliser une résolution 320x240 pour avoir des performances proches du temps-réel. Figure 13 - Caméra stéréo Bumblebee de Point Grey - source: Point Grey [51] 41

42 Point Grey SDKs : Digiclops et Triclops La Bumblebee est fournie avec des progiciels : Digiclops SDK et Triclops SDK. Le Digiclops SDK est utilisé pour contrôler les paramètres de la caméra stéréo et l'acquisition des images. Le Triclops SDK est utilisé pour fournir et estimer la profondeur de chaque pixel en temps-réel à partir des images utilisant des algorithmes de stéréoscopie. En effet, le Triclops SDK permet aux utilisateurs de mesurer avec précision la distance à chaque pixel valable dans l image. Les deux SDKs incluent les pilotes des caméras, les librairies complètes et l interface de programmation (API) pour l utilisation dans l environnement de programmation C/C++. Le système est testé sur un ordinateur Intel Core i GHz avec 12 Go de mémoire vive. La caméra est connectée à l ordinateur grâce à une interface FireWire IEEE-1394 (Voir Annexe B pour les spécifications techniques de la Bumblebee) Images de profondeur et nuage de points La caméra Bumblebee fournit une image de profondeur à partir de laquelle nous allons extraire les points correspondants à la silhouette humaine de l utilisateur. L image de profondeur contient les informations décrivant la distance qui sépare les surfaces des objets de la scène par rapport au point de vue de la caméra. Ces informations sont codées sous forme de disparités limitées par des valeurs maximales et minimales prédéfinies. Pour le calcul des disparités, le système calcule la corrélation entre les deux images stéréo utilisant un masque 2D. Ce masque est la région de recherche (carrée) autour de chaque pixel auquel le système essaye de trouver une correspondance dans l autre image. Des masques larges produisent des images de profondeur plus denses et plus lisses, mais ceci au détriment de la précision de l identification des discontinuités de profondeur. Alors que des masques moins larges produisent des images de profondeur moins denses et plus bruités mais avec une meilleure localisation des discontinuités et des artefacts. 42

43 En raison de la nature logarithmique des algorithmes de corrélation, l'exactitude des données de profondeur retrouvées n'est pas linéaire. Cela signifie que la disparité des points tout près de la caméra sera plus précise que celle des points plus loin. Dans ce même contexte, un filtre de validation de surfaces peut être utilisé avec Triclops SDK pour réduire l effet des pics de bruit de disparité. Ce n est autre qu une validation des régions de l image de profondeur qui sont supposées appartenir à la même surface physique. Les valeurs de l image de profondeur présentent en réalité la disparité entre les pixels de deux images vues par la paire stéréo. La vraie profondeur de chaque point vu est calculée utilisant la formule suivante : T Z f d (3.1) où Z est la distance du point selon l axe OZ de la caméra, f la focale (en pixels), T le baseline (en mètres) et d la disparité en pixels. Une fois cette valeur de profondeur Z est trouvée, les deux autres coordonnées X et Y dans l espace monde (O, X, Y, Z) sont définies comme suit : Z Z X u et Y v f f (3.2) où u et v sont les valeurs de position du pixel dans l image bidimensionnelle de référence. Le nuage de point est composé des triplets (X,Y,Z). Ces points dans le l espace 3D se trouvent sur les surfaces visibles des objets de la scène par rapport à la caméra. Figure 14 (a) Images d origine, (b) images de disparité et (c) nuages de points 3D 43

44 Segmentation basée sur la disparité Maintenant que nous avons bien défini le modèle que nous allons utiliser pour le tracking de mouvement de l utilisateur, une question sur le contenu du nuage de points s impose. À ce stade, le nuage de points généré par la caméra correspondant à la description de toutes les surfaces visibles de la scène. Comme nous nous intéressons seulement aux surfaces correspondant à l utilisateur principal, une segmentation de la scène est nécessaire. Pour se faire, nous avons choisi d implémenter une méthode de segmentation se basant sur la disparité de l image de profondeur. En fait, comme nous connaissons la distance de chaque point de la scène par rapport à la caméra, nous pouvons éliminer les zones très proches (moins de 2 mètres) et très distances de la caméra (plus de 3.5 mètres) en utilisant la profondeur comme paramètre. Figure 15 - Élimination d'arrière-plan utilisant la disparité source : Microsoft Kinect Manuel L avantage de cette méthode est de réaliser une soustraction d arrière-plan dynamique. Ceci veut dire que même si des objets bougent à l arrière-plan ou que des personnes passent derrière l utilisateur, cela ne nuira pas à la segmentation de sa silhouette par rapport à l avant et l arrière-plan. La figure 16 montre le résultat de la segmentation basée sur la disparité. 44

45 (a) (b) (c) Figure 16 - Segmentation basée sur la disparité Traitement des données 2D/3D Plusieurs libraires et différents environnements de développement ont été utilisés dans le cadre de ce projet pour l implémentation de notre technique de suivi 3D de mouvements humains sans marqueurs. Une grande partie du calcul est faite utilisant Matlab, qui fournit une langue interprétative pour le calcul numérique, des fonctions mathématiques et graphiques incorporées et des nombreux toolkits spécialisés pour des mathématiques supérieures, le traitement de signal. Matlab est largement utilisé dans le monde universitaire et l'industrie, pour le prototypage d algorithmes et pour la visualisation et l analyse de données. Il présente aussi un certain nombre de techniques d accélération et d optimisation pour obtenir de meilleures performances. En parallèle à l utilisation de Matlab, nous avons développé une grande partie du projet en C++ et C# dans l environnement Microsoft Visual Studio 2008 utilisant des différentes librairies. Parmi ces librairies, nous avons utilisé la librairie Open Source OpenCV pour les algorithmes de traitement d images et la librairie OpenGL pour tout ce qui rapporte à la 3D, le rendu graphique, des prototypes d interaction avec des objets virtuels etc. 45

46 3.3. Modèle humain 3D Dans cette section du mémoire, nous présentons le modèle humain 3D que nous avons utilisé Squelette du modèle Le modèle utilisé est composé à la base d un squelette 3D. Ce squelette représente l élément principal du suivi 3D des mouvements humains, car c est autour de lui que nous allons créer les cylindres et les surfaces du modèle du suivi. C est aussi grâce au squelette qu on va pouvoir faire bouger l avatar 3D afin de reproduire les mouvements de l utilisateur. Figure 17 - Squelette du modèle de suivi Modèle à base de cylindres Le cylindre est la primitive que nous avons choisie pour construire le modèle humain 3D que nous allons utiliser. Comme ce modèle va être utilisé uniquement pour le tracking 3D et l alignement avec le nuage de point acquis par la caméra ; la complexité de la primitive choisie peut être réduite à son minimum puisque ce modèle ne représente 46

47 pas le rendu final de l avatar 3D. Le modèle est composé d une série de cylindres à bases circulaires et elliptiques autour des branches du squelette 3D. De toute évidence, la longueur et la largeur de ces cylindres va dépendre de la longueur de l axe qu elle entoure et de la partie du corps qu elle représente. De façon générale, les cylindres ont des dimensions proportionnelles à la corpulence de l utilisateur. Enfin, connaissant la nature discrète du nuage de points généré par la caméra, nous avons choisi de créer des surfaces cylindriques échantillonnées sous forme d ensembles discrets de points 3D décrivant les surfaces du cylindre. L algorithme de suivi 3D a alors la tâche de mettre en registre les deux nuages de points : celui acquis par la caméra et celui du modèle 3D. La figure 18 montre les différentes étapes permettant de construire le modèle humain 3D à partir du squelette 3D. (a) (b) Cylindre Tête Axe Tête (c) (d) Figure 18 - Passage du squelette 3D au modèle humain 3D à base de cylindres (a) squelette 3D, (b) mapping de points du cylindre autour d un segment du squelette, (c) modèle 3D créé autour du squelette, (d) axe/cylindre Tête 47

48 Surfaces visibles Pour s adapter avec le système d acquisition utilisé, le modèle humain 3D doit être de même nature que le nuage de points acquis par la caméra. Comme ce dernier représente seulement les surfaces visibles du corps de la personne, une élimination des parties nonvisibles du modèle doit être réalisée. Nous avons choisi d utiliser l algorithme de Back-Face Culling (BFC) [48]. Ce processus permet de savoir si une surface (polygone) est visible d un point de vue donné. La méthode BFC se base principalement sur un calcul de l angle géométrique entre le vecteur normal de la surface 3D élémentaire (polygone) et le vecteur principal de la caméra. Si cet angle est supérieur à 90, la surface est alors visible, sinon elle est cachée (c est un backface). La figure 19 montre l élimination des surfaces non-visibles d un cylindre en utilisant l algorithme BFC. Figure 19 - Algorithme du Back-Face Culling (BFC) appliquée sur un cylindre La figure 19 représente le résultat de l élimination des surfaces non visibles pour le modèle humain 3D que nous utilisons pour deux frames successives. 48

49 Sans élimination de surfaces non-visibles Avec élimination de surfaces non-visibles Figure 20 - Résultats de la méthode d élimination de surfaces non-visibles, (noir) instant k, (rouge) instant k+1 49

50 La figure 21 représente une comparaison du nuage de points et le modèle humain avec surfaces visibles qui sont les deux entrées de l algorithme d alignement (voir. figure 12) Figure 21 - Les deux ensembles de données entrée de l'algorithme d'alignement, (a) nuage de point, (b) modèle humain (surfaces visibles), (c) le modèle humain 3D entier 50

51 3.4. Mise en correspondance de modèle 3D et de nuage de points Dans cette section nous allons présenter la méthode avec laquelle nous allons mettre en registre les deux ensembles de points : nuage de points acquis par la caméra et l ensemble des surfaces échantillonnées de notre modèle 3D. Cette mise en registre de ces deux ensembles de points est faite avec l algorithme d alignement ICP. Nous décrivons d abord cet algorithme avant de présenter notre méthode de suivi 3D Mise en registre de deux nuages de points L algorithme Iterative Closest Point, ICP [1] est utilisé pour l alignement d ensemble de points dans différents espaces, comme des courbes en une dimension, des surfaces en 2D et des nuages de points tridimensionnelles. Le principe de base de l algorithme ICP est décrit comme suit: L entrée de l algorithme consiste en deux modèles 3D, Modèle-Données P et Modèle-Référence Q. Le but de l algorithme est de trouver la meilleure transformation rigide (rotation et translation) entre ces deux nuages de points de manière à aligner le modèle-données le plus parfaitement possible sur le modèle-référence. Dans notre cas, les deux ensembles de points à aligner sont le nuage de point et un modèle humain 3D. La transformation optimale trouvée correspond, dans ce cas, aux déplacements qu il faut faire subir à chaque partie d un modèle humain pour le faire superposer au nuage de point acquis par la paire stéréo, afin d estimer la pose que fait l utilisateur à chaque instant. 51

52 Description détaillée de l algorithme En pratique, la méthode ICP a pour but de résoudre le problème mathématique suivant : Soit P= {p i } un ensemble de points représentant le modèle-données obtenu à l instant (k-1) et Q q i un ensemble de points représentant le nuage de points acquis par la caméra à l instant k La relation décrite par l algorithme est la suivante : où V i est le vecteur bruit issu du système d acquisition. qi Rpi T Vi (3.3) Trouver la transformation optimale (rotation R et translation T) qui minimise la distance quadratique moyenne entre les deux ensembles, soit : ( ˆ, ˆ R T) arg min q Rp T N 2 i i (3.4) RT, i 1 Pour résoudre (3.4), nous allons utiliser la méthode SVD (Singular Value Decomposition of a Matrix) [2]. Si nous supposons que l un des deux nuages est le transformé (par Rotation et Translation) de l'autre, lorsqu'ils sont alignés ils doivent avoir le même barycentre. La translation optimale est alors le vecteur qui relie les deux barycentres et l équation s écrit alors : ˆ R arg min q Rp R N 2 i( centrés ) i( centrés ) (3.5) i 1 N ˆ T T T R arg min ( qci qci pci pci 2 qci Rpci ) R i 1 (3.6) Dans cette expression, nous pouvons négliger aussi les deux premiers termes de la somme qui ne dépendent pas de la rotation R. L expression est alors minimisée lorsque le dernier terme est maximal. Ce qui revient à maximiser la trace(rh), où H est la matrice de corrélation entre les deux ensembles P et Q définie comme suit: 52

53 N H p q (3.7) i 1 Considérons maintenant que la décomposition en valeurs singulières (SVD) qui donne la factorisation suivante : H ci T ci T UAV (3.8) La matrice diagonale A contient les valeurs singulières de la matrice H rangés dans un ordre décroissant. La matrice de rotation optimale ˆR qui maximise trace(rh) est alors: Rˆ La translation optimale doit aligner les barycentres T VU (3.9) pi et q i des deux nuages de points P et Q. Donc, si nous prenons la rotation obtenue dans l'équation (3.9), la translation optimale ˆ T, serait alors : Tˆ q Rp ˆ (3.10) Lorsque le déterminant de la matrice ˆR est négatif, nous utilisons l approche présentée par Umeyama [3] pour recalculer correctement ˆR qui est définie par : i i 1 ˆ R U 1 V T det(uv ) T (3.12) Diagramme de l algorithme ICP Pour mieux assimiler le fonctionnement de l algorithme ICP, voici une description de son algorithme et ses différentes étapes : 53

54 Entrée : Deux nuages de points P= {p i }, Q= {q i } Transformation initiale : R 0 et T 0 (initialisation) Sortie : La transformation R et T qui aligne l ensemble P sur Q. 1. T T 0, R R 0 2. Répéter 3. Pour k 1 à N faire 4. q k RecherchePlusProchePointdeQ ( R k.p k + T k ) 5. Si q k - ( R k.p k + T k ) d max alors 6. e k 1; 7. Sinon e k 0; 8. Fin 9. Fin 10. ( RT ˆ, ˆ) arg min 11. Jusqu à ( convergence ) N i 1 e q Rp T k k k 2 Algorithme 1 ICP standard Le paramètre d max représente la distance de tolérance de l algorithme ICP pour trouver les appariements entre les points des deux nuages. Une petite valeur donne de mauvaises convergences (l algorithme devient de «vision-réduite», «short-sighted» en anglais), alors qu une grande distance de tolérance peut engendrer des correspondances incorrectes et cause un alignement loin de la bonne position. ICP est une méthode itérative et donc soumise à une condition de convergence. Plusieurs types de conditions peuvent être utilisés pour arrêter les itérations de l algorithme. (Voir la section 3.4.4) Dans notre projet, nous avons fait appel à l algorithme ICP en une seule itération, la condition de convergence dans ce cas est telle que tous les points du modèle sont mis en registre avec des points du nuage de points. La figure 22 présente la mise en correspondance entre nuage de points et modèle 3D utilisant une seule itération de l algorithme ICP. 54

55 Figure 22 Une itération de l algorithme ICP standard appliqué entre un nuage de point (noir) et une partie d'un modèle humain (rouge) 3D pour trouver la transformation optimale et construire ainsi le modèle transformé (bleu) Variantes de l algorithme ICP Différentes variantes de l algorithme ICP ont été proposées en se basant sur le critère de convergence de la méthode et surtout sur la manière avec laquelle l appariement de points est effectué. Besl et McKay [1] utilisent la distance euclidienne entre les points pour désigner les correspondances entre les deux nuages à aligner. C est cette méthode là d ailleurs que nous avons utilisé dans notre application. Chen et Medioni [4], quant à eux, calculent la distance Point-à-Surface en utilisant l intersection de la normale à la surface passant par un point de la première surface et la seconde surface. D autres mesures de similarités ont été proposées reposant sur l indice couleur (voir Daoudi et al [46]), ou l orientation des normales aux deux surfaces, ou même, parfois, combinés à une des deux premières mesures en vue de garantir un appariement correct et plus pertinent. 55

56 3.5. Suivi articulé et hiérarchique des mouvements humains en 3D Avant de commencer le suivi des mouvements de l utilisateur, nous devons initialiser le modèle 3D avec une pose de calibration. Ceci est dû à la complexité, voire l impossibilité, de déterminer la pose initiale seulement avec les données acquises sans informations à priori. La méthode de suivi que nous présentons consiste en fait à la mise en registre du nuage de points non segmenté avec les différentes composantes de notre modèle. Une façon hiérarchique est mise en place pour mettre en correspondance d abord soit le torse du modèle, soit la tête. De plus, une méthode 2D pour la détection du visage est développée pour améliorer les performances de la méthode. Le plus important, dans tous les cas, est que le premier élément mis en registre n introduit pas d erreur pour éviter une propagation d erreur Initialisation de l algorithme D après la figure 12, une phase d initialisation est nécessaire pour avoir une première pose du modèle 3D. Nous devons alors estimer la pose initiale de l utilisateur, pose avec laquelle nous initialiserons le premier modèle 3D humain Ajustement d un squelette 2D Inspiré par le travail de Vignola [5], nous avons élaboré une méthode pour déterminer le squelette de l utilisateur. Image Intensité Image Disparité Soustraction Arrière-Plan Binarisation + Filtre Morphologique (Fermeture) Estimation Squelette Squelette 2D Figure 23 - Diagramme de l'ajustement de squelette 2D 56

57 La méthode que nous avons introduite, prend en entrée les images d intensité et de disparité données par la caméra Bumblebee. Grâce aux valeurs de disparité maximale et minimale choisie, nous pouvons définir la région de profondeur [Z min Z max ] et donc réaliser une soustraction d arrière-plan basée sur la profondeur. Ensuite, nous appliquons une binarisation et un filtrage morphologique pour avoir en résultat une silhouette humaine sur laquelle nous pouvons ajuster un squelette 2D. La dernière étape consiste à trouver les différentes positions 2D des parties du corps et des articulations en se basant sur la distance de l utilisateur à la caméra (profondeur moyenne) et la hauteur de la silhouette à partir de laquelle nous déterminons empiriquement les longueurs des différents membres du corps. La détermination des parties du haut du corps se fait d une manière successive. Nous commençons par estimer la position de la tête et du torse au départ, puis celle des épaules suivies par celle des coudes et enfin des mains. Les longueurs choisies pour les différents membres du corps sont considérées relatives à la hauteur de la personne, comme décrit dans [5]. La figure 24 montre les différentes étapes de l extraction de squelette 2D à partir des images d intensité 2D vues par la caméra. (a) (b) (c) (d) (e) (f) Figure 24 - Méthode d extraction de squelette 2D, (a) image d intensité, (b) soustraction d arrièreplan, (c) silhouette, (d) silhouette après filtrage morphologique, (e) et (f) squelette 2D trouvé 57

58 Diverses hypothèses doivent être satisfaites pour réaliser un ajustement de squelette 2D correct. Bien évidemment, la pose de calibration devrait être simple à déterminer, le haut du corps de l utilisateur doit être complètement visible et ne doit être en occultations avec aucun autre objet ni avec des parties de son corps. Enfin, l utilisateur doit être debout et très peu penché et ses bras tendus des deux cotés. Cependant, cette estimation peut parfois être biaisée, surtout si l utilisateur porte des vêtements amples qui risquent de fausser le calcul de la silhouette, ce qui introduit des erreurs au niveau de l ajustement du squelette Construction du modèle humain 3D Après avoir ajusté le squelette 2D à l image de départ, nous créons le modèle humain 3D avec lequel notre algorithme de suivi sera initialisé. Cette phase de construction se déroule en trois étapes principales. - Extraction du Squelette 3D grâce à un mapping du squelette 2D d initialisation avec l image de profondeur - Création des cylindres ayant pour axes les branches du squelette 3D - Élimination des surfaces non-visibles par rapport à la position de la caméra Squelette 2D Image de Profondeur Mapping de Profondeur 2D Ò 3D Création des Cylindres Élimination des Surfaces Non- Visibles Modèle Humain 3D Figure 25 Construction du modèle humain 3D Le passage du squelette 2D au squelette 3D requière la valeur de profondeur Z correspondante aux coordonnées pixel (u,v) de chaque articulation du squelette 2D. 58

59 C est grâce à la donnée de ce triplet (u,v,z) que nous retrouvons le triplet coordonnées spatiales 3D (X,Y,Z) selon les équations présentées à la section Figure 26 - Passage squelette 2D - squelette 3D Comme le montre la figure 26, nous obtenons le squelette 3D à partir du squelette 2D. Autour de chaque branche de ce squelette, nous créons des cylindres de dimensions proportionnelles à leurs longueurs pour obtenir le modèle de suivi, comme nous pouvons aussi créer des polygones autour pour obtenir un avatar 3D avec une apparence plus réaliste et qui reproduit la pose de l utilisateur (Voir figure 27). Figure 27 - Passage du squelette à l'avatar avec apparence Humaine 59

60 Procédé hiérarchique Arborescence de recherche Dans un contexte de tracking de mouvement humain, le centre du torse est souvent considéré comme la partie du haut du corps qui réalise les mouvements les moins importants dans plusieurs gestes. D ailleurs, c est au niveau des membres supérieurs que nous détectons des mouvements beaucoup plus importants en termes de déplacement réalisé, de vitesse et d accélération. C est pourquoi le centre du torse peut servir de racine à l architecture hiérarchique des mouvements du modèle humain et son mouvement est donc examiné en premier lieu, comme le montre la figure suivante. 0 Torse 9 Tête Épaule Gauche 5 Épaule Droite 7 3 Coude Coude Gauche Droit 6 8 Bassin Gauche Genou Gauche 4 2 Bassin Droit 1 Genou Droit Main Gauche Main Droite Pied Gauche Pied Droit Figure 28 - Relation entre les différentes parties du corps d un modèle hiérarchique, Poppe [36] 60

61 À partir du modèle présenté dans la figure précédente, la recherche hiérarchique des différentes parties du corps se résume à l estimation de la position du torse (racine de l arbre de recherche) et puis le calcul des transformations rigides qui le lient aux membres suivants dans l arbre (tête, bras et cuisses), puis ceux d après (mains et pieds). Cette méthode de recherche hiérarchique décompose l espace des degrés de liberté très complexe du corps humain en plusieurs couches, facilitant ou même rendant possible le suivi des mouvements. Start Suvi (k) DATA Modèle (k-1) Cylindre Torse (k-1) Cylindre Tête (k-1) Cylindres Bras (k-1) Cylindres Avant-Bras (k-1) Processus de Calcul ICP Cylindre (k-1) Vs. PointCloud (k) ICP Torse ICP Tête ICP Bras (Gauche et Droit) ICP Avant-Bras (Gauche et Droit) PointCloud Total (k) DATA Modèle (k) Cylindre Torse (k) Cylindre Tête (k) Cylindres Bras (k) Cylindres Avant-Bras (k) Fin Suvi (k) Figure 29 Algorithme de suivi hiérarchique initialisé au torse Cet ordre fait de la détection du torse l étape la plus importante dans la mesure où le reste du calcul dépend de cette phase. C est pour cette raison que le suivi du torse doit être fait avec la meilleure précision possible pour assurer la cohérence du modèle et éviter la propagation d erreurs. 61

62 Certaines difficultés au niveau de l estimation de la position du torse surgissent et rendent le risque de propagation d erreur beaucoup plus important. Parmi ces problèmes nous citons le risque de confusion avec les autres membres du corps qui peuvent être très proches du torse tels que les bras surtout avec la nature non-étiquetée du nuage. Pour remédier à ce risque de propagation d erreur venant de l ordre de recherche proposé, nous avons choisi de faire intervenir une méthode plus robuste pour l initialisation de l arbre hiérarchique de recherche nous permettant d avoir de meilleures estimations Détection de visage Afin d améliorer la détection globale de la pose humaine en 3D, et pour mieux entamer la recherche des parties du corps, nous avons choisi de changer la racine de l arborescence de recherche vers la tête au lieu du torse. En fait, au lieu d initialiser le modèle 3D à chaque trame avec la recherche du torse, nous proposons de réaliser une détection de visage à partir des images d intensité 2D originales ou segmentées (élimination d avant et d arrière-plan). Cette détection est alors découplée des données 3D et réduit alors les erreurs d initialisation. La détection de visage se base sur l algorithme très connu de Viola et Jones [44] qui permet de détecter efficacement et en temps réel des visages dans l image. Le fait que l utilisateur doit regarder vers l écran où est placée la caméra fait que nous serons capable de détecter le visage la plupart du temps sauf exceptions. Algorithme La technique de détection de visage est appelée en premier lieu pour donner, dans le cas général, la position 2D (en pixels), du visage de l utilisateur dans l image. Cette position 2D correspondant certainement à une profondeur Z (celle de la tête) pour donner au final une position 3D de la tête (X t,y t,z t ). Ainsi nous avons obtenu la position de la tête est du cou aussi qui fait la liaison avec le torse. 62

63 Figure 30 - Détection visage, (droite) image intensité, (b) image de profondeur Image Intensité segmentée Tête modèle instant (k-1) Nuage de point instant (k) Détection Visage Détection correcte Non Alignement Oui UVtoXYZ Tête Modèle instant (k) Figure 31 - Détection de visage 63

64 Exceptions D après la figure 31, une décision sur la validité de la détection du visage doit être faite pour savoir si nous validons cette détection ou nous reprenons l alignement 3D. Quelques exceptions de détection du visage doivent être prises en considérations alors. - Si le visage est mal détecté, (le déplacement 2D entre les positions du visage entre deux frames successifs est supérieur à un seuil prédéfini). Dans ce cas, nous basculons au calcul d alignement 3D pour la tête. Le seuil utilisé a été estimé à partir de plusieurs séquences de tests. Ce choix permet à l algorithme de garder des performances élevées dans les situations complexes en appelant la méthode 3D qui assure la transition pour les images où la méthode 2D a échoué. - Si plusieurs visages sont détectés, (une personne en arrière plan, une texture ressemblant à un visage humain sur les vêtements ou autres), nous comparons les positions de ces visages par rapport à la dernière position correcte du visage du joueur pour éliminer le ou les visages incorrecte ou ne correspondant à l utilisateur actuel. Instant k Instant k+1 Instant k+2 Figure 32 - Exception de plusieurs visages détectées corrigée par l'algorithme en gardant seulement celui le plus proche de la position 2D du visage à la trame précédente 64

65 - Si le visage n est pas visible, comme lors d une auto-occlusion avec les bras de l utilisateur, nous garderons alors la dernière position correcte de la tête qui devrait permettre la stabilité du modèle jusqu à la disparition de l obstacle Segmentation et suivi 3D La technique de détection de visage introduit automatiquement un nouvel ordre hiérarchique de l arborescence dans lequel l estimation de la position de la tête devient la première étape. Le processus de recherche est alors divisé en deux grandes parties : Estimation de la position globale (Estimation de la position Tête et Torse) Estimation des paramètres locaux (transformations rigides des autres membres) Position Globale 1 Position Globale 2 Estimation Locale 1 Estimation Locale 2 Résultat Final Détection de Visage Estimation de la position du torse à partir de la fixation de la position du cou. Estimation des membres niveau 1, autour des joints avec le torse. Estimation des membres niveau 2, autour des joints respectifs de niveau précédent. Modèle articulé 3D représentant les différents membres du corps. (a) (b) (c) (d) (e) Figure 33 Processus de recherche hiérarchique des membres du corps 65

66 Cette approche introduit une amélioration au niveau du tracking global des différents membres du corps. Cependant, certains problèmes persistent toujours surtout dans les cas de mouvements parfois complexes ou rapides. La cause principale de ces difficultés vient du fait que le nuage de point décrivant la silhouette humain est non-étiqueté. Le suivi et la mise en registre des autres membres du corps requièrent l utilisation d une approche qui permet de diviser le nuage de points en différentes régions correspondants respectivement à des membres du corps. Cette segmentation du nuage de points 3D est intégrée dans la procédure de recherche hiérarchique pour chaque partie du corps indépendamment. Au départ, après le recalage de la tête du modèle avec le nuage de points, nous éliminerons la partie du nuage correspondant à la tête et nous recalons ensuite le torse du modèle avec la partie restante du nuage, etc., comme illustré dans la figure 32. Le principe de base de cette technique consiste à projeter le cylindre (instant k) retrouvé après alignement, entre silhouette k et modèle k-1, sur le nuage de point. Tout point appartenant à la région qui se trouve à l intérieur de la surface projetée sera alors éliminé. Telle que définie dans la figure 33, la méthode de segmentation 3D utilisée dans un contexte de recherche hiérarchique des membres du corps initialisée par une détection de visage a permis d améliorer la robustesse de la méthode quant aux mouvements parfois complexes et rapides et aux situations délicates où la distinction entre le torse, les bras et les avant-bras à partir du nuage de points et sans aucune indication devient une tâche assez ardue. 66

67 Nuage de Points instant (k) Image Intensité Tête du Modèle Instant (k-1) Torse du Modèle Instant (k-1)... Modèle(k-1). Alignement Détection Visage [Figure 31] Tête modèle instant (k) Segmentation 3D du nuage de points Restant de la Silhouette (1) Alignement Torse modèle instant (k) Segmentation 3D du nuage de points Restant de la Silhouette (2) Figure 34 Appel de la méthode de segmentation 3D couplée avec la recherche hiérarchique La figure 34 montre la segmentation 3D progressive du nuage de points après chaque calcul d alignement des membres du corps. Par exemple, une fois la position de la tête estimée, nous enlevons du nuage de points tous les points qui sont mis en registre avec la tête selon leur position. 67

68 Figure 35 - Différentes étapes de la segmentation 3D réalisée au cours de la recherche des membres (tête, torse, bras puis avant-bras) La figure 35 montre le résultat de la segmentation 3D de la silhouette humaine qui est obtenue conjointement avec l alignement hiérarchique de chaque partie du modèle. Figure 36 - Segmentation totale du nuage de points (haut du corps) La figure 36 résume l approche d alignement 3D avec détection de visage et segmentation 3D du nuage de points. 68

69 Start Suvi (k) DATA Modèle (k-1) Cylindre Tête (k-1) Cylindre Torse (k-1) Cylindres Bras (k-1) Cylindres Avant-Bras (k-1) Processus de Calcul ICP Cylindre (k-1) Vs. PointCloud (k) Détection Visage [Figure 31] Alignement Torse Avec position Supérieure du Torse Fixée Alignement Bras (Gauche et Droit) Avec positions des épaules fixées Alignement Avant-Bras (Gauche et Droit) Avec positions des coudes fixées Enlever les points appariés Enlever les points appariés Enlever les points appariés PointCloud utilisé à chaque niveau PointCloud Total (k) PointCloud Restant 1 PointCloud Restant 2 PointCloud Restant 3 DATA Modèle (k) Cylindre Tête (k) Cylindre Torse (k) Cylindres Bras (k) Cylindres Avant-Bras (k) Fin Suvi (k) Figure 37 - Processus d alignement hiérarchique avec détection du visage et segmentation 3D Cette recherche est alors progressive, c'est-à-dire la détermination de la position d un membre dépend fortement de la bonne estimation de la position des membres qui l ont précédés. Un rôle important est alors accordée à la détection du visage qui lance le processus et qui grâce à sa robustesse et sa rapidité permet de garantir de meilleures performances par rapport à la technique d alignement de base. 69

70 Biomécanique humaine Dans le contexte de tracking 3D des mouvements humains, nous avons fait appel à un modèle humain composé de primitives géométriques simples enrichi de contraintes biomécaniques. Ces contraintes sont déterminées à partir d études et d expérimentations faites sur plusieurs personnes de tailles et d âges différents [6]. La vérification des contraintes doit alors être intégrée dans le processus principal de l alignement pour les différentes parties du corps, ce qui demande aussi une certaine adaptation de la méthode elle-même à la nature articulatoire du modèle Centres de rotations Utiliser les barycentres comme des centres de rotations comme décrit dans l algorithme ICP à la section ne s applique pas dans notre cas. C est pourquoi nous avons fixé, le centre de rotation de chaque cylindre du modèle au centre de sa base correspondant parfaitement au centre de l articulation qui devrait se trouver à l extrémité de ce cylindre. La figure 37 illustre, dans l algorithme de segmentation, la position des centres de rotation des cylindres du modèle. 70

71 Détection Visage Segmentation 3D (Tête) Nuage de point (k), Modèle Tête (k) Fixer Centre Rotation Torse Restant (1) de la silhouette (instant k) Alignement ICP avec Centres de Rotations fixées Modèle Torse (instant k-1) Segmentation 3D (Torse) Nuage de point (k), Modèle Torse (k) Fixer Centre Rotation Bras Restant (2) de la silhouette (instant k) Alignement ICP avec Centres de Rotations fixées Modèle Bras (instant k-1) Segmentation 3D (Bras) Nuage de point (k). Modèle Bras (k) Fixer Centre Rotation Av-Bras Restant (3) de la silhouette (instant k) Alignement ICP avec Centres de Rotations fixées Modèle Av-Bras (instant k-1) Centre de Rotation Fixée pour la détermination de la partie suivante Nuage de point (k), Modèle Av-Bras (k) Figure 38 - Digramme les techniques de détection de visage, de segmentation 3D et de fixation des centres de rotation pour chaque partie du corps. 71

72 Limitation des angles de rotations aux joints Nous avons défini dès le début pour notre modèle des degrés de libertés au niveau des joints au nombre de 22, avec 3 paramètres pour la position globale du modèle. Mais bien évidemment, en regardant la biomécanique humaine, nous nous apercevons que ces rotations sont limitées par des angles limites (maximale et minimale). Bien entendu, ces limitations doivent être appliquées à notre modèle 3D (voir Annexe C). Par exemple, l angle de flexion-extension du coude ne doit pas dépasser 0 degré, alors que sa valeur minimale peut atteindre -140 degrés. Figure 39 - Angles limites au niveau du coude source : Maurel [49] Cette vérification de la validité de l angle est réalisée après l alignement des nuages de points. Si l angle trouvé selon un certain degré de liberté se trouve bien dans l intervalle [angle min, angle max ] il sera accepté, sinon nous allons devoir mettre la borne la plus proche s il dépasse cet intervalle. Cette technique permet de s assurer que l alignement réalisé à chaque phase est bien valide en termes de biomécanique de l humain, et qu au final nous allons aboutir avec un modèle humain cohérent où toutes les articulations sont bien définies à l intérieur des intervalles respectifs. 72

73 Correction des angles Figure 40 - Correction des angles biomécaniquement impossibles Nous pouvons constater à partir de la figure 39 que cette simple technique remédie aux dépassements des angles limite au niveau des articulations. 73

74 Figure 41 - Résultat de la correction des angles de la figure 39 (noir) nuage de points, (rouge) ancien modèle, (bleu) modèle corrigé À partir de la figure 40, nous pouvons voir que cette correction des angles au niveau des articulations redonne une apparence cohérente au modèle est assure un meilleur suivi 3D pour les trames suivantes Interdiction de chevauchement Les collisions et les chevauchements entre les cylindres, sont des situations qui risquent d arriver au cours du recalage hiérarchique des nuages de points que nous testons le chevauchement des différents cylindres du modèle final et le cas échéant, nous les modifions. Pour ce faire, nous comparons la position des joints du modèle par rapport aux surfaces cylindriques du modèle. Dans le cas d un chevauchement, le cylindre ayant entré dans un autre est retiré grâce à une translation inverse vers l extérieur du cylindre jusqu à la surface externe. Nous appliquons ensuite une correction globale au modèle afin qu il reprenne une forme cohérente et acceptable. Ces collisions sont le plus souvent le résultat de la proximité des membres du corps les uns aux autres lors des mouvements du joueur. La figure 41, montre une situation où l algorithme détecte et corrige un cas de chevauchement entre deux cylindres du modèle (torse et avant-bras gauche dans ce cas) 74

75 X Y X Y Z Z (a) (b) X Y Z (c) Figure 42 - Correction des chevauchements des cylindres du modèle (vues de dessus), (a) cas d un chevauchement entre le cylindre avant-bras gauche et le cylindre torse survenu après alignement, (b) élimination du chevauchement en faisant sortir le cylindre de l avant-bras vers l extérieur du cylindre torse, (c) effet de la correction du chevauchement sur l apparence et la cohérence du modèle Algorithme de la méthode Dans cette section nous présentons le diagramme final de l algorithme que nous avons développé. 75

76 Start Suivi (k) INPUT Instant (k) PointCloud Total (k) Squelette 3D Instant (k-1) Squelette 3D Ò Modèle 3D Modèle (k-1) Cylindre Tête (k-1) Cylindre Torse (k-1) Cylindres Bras (k-1) Cylindres Avant-Bras (k-1) Processus de Calcul ICP Cylindre (k-1) Vs. PointCloud (k) Non Alignement Tête Détection du Visage (2D) valide Oui UVtoXYZ Alignement Torse position Supérieure du Torse Fixée Alignement Bras (Gauche et Droit) positions des épaules fixées Alignement Avant-Bras (Gauche et Droit) positions des coudes fixées Segmentation 3D (Tête) Segmentation 3D (Torse) Segmentation 3D (Bras) Centre de Rotation Centre de Rotation Centre de Rotation PointCloud Restant (k) PointCloud Restant 1 PointCloud Restant 2 PointCloud Restant 3 Biomécanique Humaine (Tête) Biomécanique Humaine (Torse) Biomécanique Humaine (Bras) Biomécanique Humaine (AvBras) Modèle (k) Cylindre Tête (k) Cylindre Torse (k) Cylindres Bras (k) Cylindres Avant-Bras (k) Modèle 3D Ò Squelette 3D OUTPUT Instant (k) Squelette 3D Instant (k) Fin Suivi (k) Figure 43 - Diagramme final de l'approche de suivi 3D de mouvements humains proposée 76

77 3.7. Conclusion Dans ce chapitre, nous avons présenté la méthode implémentée pour le suivi des gestes 3D d une personne. Cette méthode sans marqueurs que nous proposons utilise un modèle 3D humain spécifique pouvant avoir plusieurs aspects (squelette, modèle cylindrique entier et modèle cylindrique à surfaces visibles). À partir du nuage de points acquis par la caméra à l instant k, traité pour garder seulement la silhouette humaine, et la le modèle 3D à l instant k+1, nous avons pu établir une fonction de recalage 3D (alignement d ensembles de points 3D) capable d estimer à chaque instant la pose que fait l utilisateur. Nous avons établi aussi qu un paramétrage sur les résultats que donne le recalage du modèle humain 3D au dessus de la silhouette humaine nécessite le recours à des contraintes sur les dimensions et les rotations que peuvent faire les différentes parties du corps autour des articulations respectives selon un modèle anatomique et biomécanique humain. Au final, une vérification rapide de certains paramètres est appliquée avant, pendant et après chaque estimation de la position et l orientation d un membre du corps, pour assurer la cohérence du modèle et éviter la propagation d erreur. La méthode ainsi proposée peut assurer un suivi tridimensionnel des mouvements d un utilisateur humain pour des applications d interaction homme-machine telles que les jeux vidéo, la réalité virtuelle etc. 77

78 Chapitre 4 Résultats, validation et discussion Dans ce chapitre, nous allons présenter les résultats expérimentaux de la méthode de suivi 3D de mouvement humain sans marqueurs. Une grande partie sera consacrée à l utilisation de la caméra Kinect de Microsoft, sortie récemment, pour la validation des résultats de la méthode. Une comparaison avec la caméra stéréo Bumblebee est aussi faite pour mettre le point sur la différence des technologies utilisées pour voir les avantages et les inconvénients de chacune. Enfin, nous proposons quelques perspectives concernant notre projet, comme des méthodes et des techniques capables d améliorer le rendement que nous avons implémenté. 78

79 4.1. Microsoft Kinect Au cours de notre projet et après avoir mis en place les grandes lignes de la méthode de tracking 3D du corps humain sans marqueurs, le monde des nouvelles technologies et surtout les jeux vidéo ont connu l arrivé de la Kinect, une caméra 3D pour console de jeu Microsoft Xbox 360 (Voir Annexe A). Nous avons voulu alors tester cette caméra dans le cadre de nos travaux pour valider la méthode que nous présentons. Figure 44 - Caméra Kinect pour Xbox 360 source: Microsoft Kinect manuel La Kinect présente une évolution très ingénieuse dans l univers des caméras 3D. Elle combine et embarque plusieurs technologies différentes de façon très originale et intelligente. Son capteur 3D permet de récupérer des nuages de points de très haute qualité. (Voir figure 44) Figure 45 - Nuage de points représentant une silhouette humaine vue par la Kinect 79

80 4.2. Résultats expérimentaux Dans cette partie du mémoire nous allons présenter les résultats de la méthode que nous avons présentée pour les deux systèmes d acquisition, soit la caméra stéréo Bumblebee, soit la caméra 3D infrarouge Kinect. Nous allons présenter les avantages et les inconvénients de chaque système et nous allons voir les performances de la méthode dans chaque cas Acquisition d une même scène avec Kinect et Bumblebee Au cours de cette expérimentation, nous avons fait l acquisition de deux séquences d une même scène où un utilisateur est entrain de faire des mouvements. Ces deux séquences sont prises par la Kinect et la Bumblebee au même moment afin de comparer les résultats que donne chaque caméra et valider le résultat de la méthode avec ces deux systèmes d acquisition différents. Figure 46 - Configuration des caméras (Bumblebee et Kinect) pour l'acquisition d'une même scène 80

81 Image Originale Utilisateur Segmenté Vue de Face Vue de Face Vue de Dessus Vue de Dessus Microsoft Kinect Vue de Coté Vue de Coté Point Grey Bumblebee Figure 47 - Comparaison entre les nuages de points acquis par Kinect (gauche) et Bumblebee (droite) et projections sur les 3 plans 81

82 Comparaison des performances Kinect vs. Bumblebee Qualité du nuage de points Comme le montre la figure précédente, une très grande différence de qualité est remarquée entre les nuages de points de la Bumblebee et ceux de la Kinect. La Kinect génère des nuages de points de qualité exemplaire couvrant parfaitement toutes les surfaces visibles du corps et ne présentant, pratiquement, aucun artefact et aucune discontinuité des points que ce soit au niveau de la distribution des points sur les surfaces ou au niveau de l estimation de profondeur. Vue de Face Vue de Dessus Figure 48 - Zoom sur le nuage de point de la Kinect pour voir l'absence quasi-totale d'artefacts Cette bonne qualité du nuage de la Kinect découle directement de la technologie qu exploite cette caméra et qui est très faiblement sensible à des paramètres externes qui peuvent entrainer des erreurs d estimation de profondeur. 82

83 La Bumblebee quant à elle souffre de plusieurs défaillances par rapport à la Kinect en ce qui concerne la qualité des données 3D qu elle génère. Les artefacts présentent un défi majeur dans l utilisation de la méthode de suivi 3D que nous avons développée avec des données venant de la caméra stéréo BB, puisque l alignement de surfaces est obtenu en calculant des correspondances entre les points du nuage 3D avec ceux du modèle. Si les données 3D ne décrivent pas correctement les surfaces, la probabilité d avoir de mauvaises correspondances devient plus importante et réduit les performances de la méthode. Figure 49 - Exemple d'artefact vu au niveau de la silhouette humaine 3D avec la Bumblebee Ce problème est dû principalement à la sensibilité de la vision stéréo aux textures. D ailleurs, les artefacts de surfaces sont rencontrés le plus souvent sur les surfaces de couleurs uniformes et faiblement texturées. Les parties élémentaires de ces surfaces se ressemblent et causent ainsi des confusions au niveau de la stéréo. Ce problème peut ne pas avoir des effets négatifs sur le calcul si les artefacts sont de petites tailles Discontinuité de profondeur La discontinuité de profondeur est un phénomène semblable aux artefacts de surface sauf qu il concerne la composante Z (profondeur). En effet, nous remarquons que parfois pour deux pixels voisins appartenant à une même surface réelle, la valeur de la profondeur Z varie d une façon anormale. 83

84 Vue de Dessus (Bumblebee) Vue de Dessus (Kinect) Figure 50 - Comparaison entre nuage Bumblebee (gauche) et nuage Kinect (droite) pour montrer la discontinuité de profondeur Cette discontinuité en Z influe certes sur le processus de suivi mais ne présente pas un obstacle majeur quant au calcul de correspondance entre le nuage et les demi-cylindres du modèle humain utilisé Contours D après les séquences que nous avons, nous avons aussi remarqué que la Kinect segmente parfaitement la silhouette humaine de la scène alors que la caméra stéréo Bumblebee présente des faiblesses au niveau de la détection des contours. Au fait nous nous sommes retrouvés devant un choix à faire au niveau des paramètres de la stéréo: soit ne pas utiliser le filtrage de contours que propose la Bumblebee ce qui augmente le nombre et la taille des artefacts au niveau des surfaces, soit activer ce filtre et avoir des contours de silhouette plus larges. Nous avons préféré utiliser le filtrage de contours puisqu il assure une meilleure continuité des surfaces de la silhouette et présente l inconvénient mineur des contours larges et contenant des informations appartenant à l arrière-plan. La méthode que nous avons présentée nous permet de prendre en considération des dimensions supplémentaires introduites par ce filtre en utilisant un modèle humain qui convient à cette apparence. 84

85 (a) (b) Figure 51 - Filtrage de contours avec Bumblebee, (a) image d'origine, (b) image de disparité, (c) nuage de points 3D généré. Première ligne: filtrage désactivé, deuxième Ligne: filtrage activé (c) Confusion avec des objets d arrière-plan Confondre une surface appartenant à l arrière-plan avec la silhouette est un problème qui risque d arriver, soit à cause du filtrage de contours utilisé soit parfois de quelques facteurs externes tels que la texture, l éclairage ou autres. Cette confusion nuit rarement au comportement de l algorithme vu la forme humaine du modèle de tracking et surtout au fait que ces régions sont parfois non lié à la silhouette et ils ne seront pas considéré dans le calcul ICP et n auront dont aucune influence sur le processus d alignement. Figure 52 - Exemple de confusion avec un objet de l'arrière-plan avec la caméra Bumblebee 85

86 Disparition de points Au cours de nos différentes expériences de validation de la technique nous avons rencontré un problème spécifique à la stéréo. Ce problème consiste en la disparition brusque et rapide (l ordre de 1 ou 2 frames) d une partie du nuage de points, souvent les bras. Cette disparition est causée par l éclairage (saturation ou ombrage total), les textures (uniformes), et parfois par des défaillances techniques de la caméra stéréo. frame k frame k+1 frame k+2 Figure 53 - Situation de disparition brusque d'une partie du nuage (bras gauche de l utilisateur) Ce problème de disparition a été considéré dans le développement de la technique de suivi que nous présentons. En fait, si la région qui représente le bras gauche disparait pendant le frame (k+1) par exemple, le bras gauche du modèle trouvé à l instant (k) ne trouvera pas de points du nuage qui lui sont suffisamment proches pour établir la correspondance. Dans ce cas, nous avons fait en sorte à ce que la partie qui ne trouve pas de correspondance garde sa même position et orientation de l instant précédent. Ceci implique qu à la trame suivante (k+2), le recalage du nuage de point (k+2) va se faire avec le bras gauche du modèle (k+1) qui a gardé la position de l instant (k). 86

87 Sensibilité aux facteurs externes Un des inconvénients de l utilisation de la caméra stéréo Bumblebee par rapport à ce que présente la Kinect est sa sensibilité à des facteurs externes de l environnement dans lequel elle est utilisée. - Éclairage La stéréo est connue pour avoir une certaine faiblesse liée à la quantité de lumière dans la scène vue. Par exemple, la stéréo ne fonctionne pas correctement dans des situations de saturation dans l image à cause d une grande quantité de lumière, et réciproquement elle ne fonctionne pas très bien non plus lorsque la scène est plutôt obscure et sombre ou lorsqu il ya beaucoup d ombres dans la scène. Figure 54 - Absence de points dans une région saturée à cause de l'éclairage De son coté, la Kinect présente un avantage majeur en étant très faiblement sensible à l éclairage dans l environnement où elle se trouve permettant ainsi son utilisation dans toutes les conditions de luminosité. D ailleurs, cette robustesse vient de la technologie infrarouge utilisée dans le calcul de la profondeur. La lumière que projette la Kinect étant dans le spectre invisible elle peut être parfaitement détectée dans un environnement intérieur (indoor) et peut même être détectée à l extérieur. En fait, la Kinect détecter la profondeur 3D de la scène même dans des situations d obscurité totale. 87

88 - Textures et couleurs La stéréo présente aussi une faiblesse par rapport à la Kinect, qui est la sensibilité aux textures et aux couleurs. En effet, en absence de textures la caméra peut difficilement déterminer la profondeur des surfaces. Par contre cette détermination est beaucoup plus robuste lorsque la région présente des textures variées. On observe la même chose avec les couleurs; plus les régions sont de couleurs sombres, plus la stéréo risque d avoir des difficultés à estimer les profondeurs associées à ces régions. Figure 55 - Sensibilité de la stéréo aux textures et aux couleurs sombres Comme le montre la figure 61, le calcul de la stéréo se fait correctement dans la région du torse à cause de la nature hautement texturée de la chemise que porte l utilisateur, alors qu au niveau des jambes, la caméra n était pas capable de trouver la profondeur correcte de cette région à cause de la couleur uniforme et sombre des vêtements du bas. 88

89 Performances de la méthode Tracking de mouvements 3D Calibration La Calibration est une étape très importante dans le processus de l algorithme de tracking 3D de mouvement humain que nous présentons. En fait, dans cette phase que nous allons générer le premier squelette 3D et le premier modèle 3D que nous allons essayer d aligner à chaque nouveau frame avec le nuage de points. Figure 56 - Position de Calibration (a) (b) (c) Figure 57 - Calibration avec la Bumblebee, (a) segmentation 3D, (b) squelette 3D calculé, (c) modèle 3D créé à partir du squelette pour initialiser le suivi 3D 89

90 Figure 58 - Calibration avec la Kinect, (a) segmentation 3D, (b) squelette 3D calculé, (c) modèle 3D créé à partir du squelette pour initialiser le suivi 3D À partir des figures précédentes, nous pouvons constater que la phase de calibration se fait correctement que se soit avec la Kinect ou la Bumblebee, ce qui permet de lancer l algorithme de recalage avec un bon modèle humain de départ. Tracking Après avoir estimé la pose de calibration et le squelette 3D correspondant, l algorithme de tracking 3D est lancé. Le processus est de convertir le squelette 3D en modèle 3D, et recaler ce dernier avec le nuage de points de la trame actuelle. Dans la suite, nous proposons une séquence où le mouvement de l utilisateur est suivi grâce à la méthode que nous présentons. A partir de ce suivi, nous pouvons extraire les positions des membres tels que les mains et les interpréter en commandes dans le jeu dans l application finale, ou tout simplement contrôler un avatar 3D directement qui reproduit les gestes que fait l utilisateur devant la caméra pour interagir avec le jeu ou le monde virtuel dans lequel il se trouve. 90

91 Figure 59 - Séquence de tracking 3D avec caméra Bumblebee (squelette 3D recalé au-dessus du nuage de points 3D) 91

92 Figure 60 - Suite de la séquence de tracking 3D avec caméra Bumblebee (squelette 3D recalé au-dessus du nuage de points 3D) 92

93 Figure 61 - Séquence de tracking 3D avec caméra Kinect (squelette 3D recalé au-dessus du nuage de points 3D) 93

94 Figure 62 Suite de la séquence de tracking 3D avec caméra Kinect (squelette 3D recalé au-dessus du nuage de points 3D) 94

95 Nous pouvons aussi voir le résultat du suivi 3D des mouvements en alignant le modèle 3D en cylindres au-dessus du nuage de points avec la Bumblebee. Figure 63 - Résultat de l'alignement du modèle 3D en cylindres au-dessus du nuage de points Dans la figure 62 ainsi que la séquence vidéo «Tracking_Bumblebee» de la section nous avons 4 vues. La première en haut à gauche montre la détection de visage sur des images segmentées (soustraction d arrière-plan). Les trois autres vues sont différentes projections de l alignement réalisé entre nuage de points et modèle 3D. Le nuage de points dans ce cas est soumis à un code de couleurs pour indiquer la profondeur du nuage : Plus les couleurs sont froides (vers le bleu) plus c est loin de la caméra et plus elles sont chaudes (vers le rouge) plus les points sont proches de la caméra. 95

96 Figure 64 (Suite) Résultat de l'alignement du modèle 3D en cylindres au-dessus du nuage de points 96

97 Enfin, voici les mêmes résultats mais cette fois avec la Kinect. Figure 65 - Résultats du suivi 3D des gestes humains avec Kinect 97

98 Figure 66 (Suite) Résultats du suivi 3D des gestes humains avec Kinect 98

99 Fonctionnement de l algorithme La figure 67, montre l interface Matlab principale du déroulement de la méthode de suivi 3D que nous avons développée. (Voir vidéo «Algorithme» de la section ) Nuage de Points (Instan k) Modèle 3D (Instant k-1) Modèle 3D (instant k) Vue de Face -- INPUT INPUT -- --OUTPUT-- Détection de Visage Vue de Dessus Segmentation 3D Alignement Modèle3D/Nuage de Points Nuage de Points (Noir) Modèle instant k-1 (Rouge) Résultat: Modèle instant k (Bleu) Vue de Côté Vue de Face Vue de Dessus Figure 67 - Interface Matlab montrant les différents processus de la méthode - La partie gauche de l interface représente les entrées et la sortie de l algorithme sous différentes projections. Les entrées sont le nuage de points à l instant k (noir) et le modèle de l instant k-1 (rouge). La sortie de l algorithme est le modèle 3D retrouvé à l instant k (bleu). - Au centre en haut, nous avons le résultat de la méthode de détection de visage 2D. - Au centre en bas, nous avons le résultat de la segmentation 3D du nuage de points - À gauche nous avons deux vues différentes de l alignement 3D entre le nuage de point k (noir), le modèle k-1 (rouge) pour donner le modèle k (bleu). 99

100 Figure 68 - Déroulement du suivi 3D des mouvements humains sans marqueurs 100

101 Reproduction de mouvement (Avatar 3D) Une fois nous estimé la pose de l utilisateur à chaque instant, nous pouvons créer un avatar humain 3D qui reproduit les gestes de l utilisateur pour les interpréter en commandes, interagir avec des objets virtuels, ou tout simplement valider les données du suivi 3D. Modèle humain basique non texturé Figure 69 - Modèle humain 3D sous formes de mesh autour du squelette 3D 101

102 Modèle texturé (personnage dans un jeu) Figure 70 - Modélisation d'un personnage 3D en polygones autour du squelette 3D Résultats en vidéos Nous avons inclus dans ce mémoire trois séquences vidéo montrant les résultats de l algorithme de suivi 3D développé ainsi que son déroulement. Séquence de suivi avec la Bumblebee : Tracking_Bumblebee.avi Séquence de suivi 3D avec la Kinect : Tracking_Kinect.avi Séquence montrant l algorithme de suivi 3D: Algorithme.wmv 102

103 Performances Déplacements de l utilisateur La méthode que nous avons développée prend en considération le paramètre de déplacement global de l utilisateur. Ce paramètre est encore mieux géré grâce à la détection du visage qui initialise la recherche hiérarchique des membres la position de la tête. La figure 71 montre comment l algorithme gère le déplacement global de l utilisateur. (Position centrée) (Déplacement vers la Droite) (Déplacement vers la Gauche) (Déplacement vers l Avant) Figure 71 Comportement de l algorithme face à un déplacement global de l utilisateur 103

104 Disparition d une partie du nuage Comme nous l avons déjà mentionné dans la section , il arrive qu une partie du nuage de points acquis avec la Bumblebee disparaisse soudainement à cause de plusieurs facteurs. Cependant, nous avons introduit une méthode capable de géré cette disparition brusque est rapide. Cette méthode est implémentée dans l algorithme de suivi 3D que nous avons implémentée pour les deux caméras, mais ces cas de disparition n arrivent que lorsque nous utilisons la Bumblebee. La figure 72 montre comment l algorithme gère la disparition de points. Figure 72 - Robustesse de la méthode quant à la disparition soudaine d'une partie du nuage de points (trames de la séquence Tracking_Bumblebee) 104

105 Détection du visage Dans la section nous avons mentionné que la détection de visage peut présenter des exceptions qu il faut savoir gérer pour ne pas introduire des erreurs au niveau du suivi de tous les membres du corps. La figure 73 montre un cas de mauvaise détection du visage où le visage est estimé à une position 2D très distante par rapport à la position de la tête à l instant précédent. La méthode d alignement 3D prend dans ce cas la relève est remplace l appel de détection de visage 2D. Figure 73 - Utiliser l'alignement 3D pour la tête lorsque la détection de visage 2D présente une exception (trames de la séquence Tracking_Bumblebee) Auto-occlusion Les mouvements que peut faire l utilisateur peuvent présenter des auto-occlusions lorsque l un des membres cache un autre. La figure 74 montre des cas où les mains de l utilisateur cachent les bras et les avant-bras avec les deux caméras. Malgré cela, l algorithme assure la continuité du suivi correctement même en absence de points du nuage avec les quels nous mettons en registre les parties du modèle. 105

106 Figure 74 - Comportement de la méthode de suivi face aux auto-occlusions avec la Kinect (haut) et Bumblebee (bas) 106

107 Discussions des résultats Les résultats présentés dans ce chapitre montrent l efficacité de la technique de recalage du modèle 3D au nuage de points que ce soit avec la caméra stéréo Bumblebee ou la caméra Kinect. Une fois cet ajustement est fait, un modèle de personnage 3D reproduit les mouvements que fait l utilisateur pour interagir dans le jeux vidéo ou tout autre type d application d interaction homme-machine. Cependant, certains problèmes peuvent surgir, surtout lorsque les mouvements de l utilisateur sont rapides ou complexes. Le manque d information dû à l utilisation d une seule caméra introduit à son tour certaines complexités et certains défis pour l estimation des poses 3D de l utilisateur. 107

108 Chapitre 5 Conclusion et perspectives 5.1. Conclusion Dans ce travail de maîtrise, nous avons étudié le tracking de mouvement humain. En particulier nous nous sommes intéressés à l estimation de la pose en 3D, sans marqueurs, utilisant une seule caméra stéréoscopique ou infrarouge. L approche que nous avons proposée pour la reconstruction du mouvement humain en 3D repose l algorithme ICP (Iterative Closest Point) pour l alignement et le recalage d ensembles de points. Cet ajustement se fait d une façon progressive entre le nuage de point vu par la caméra à chaque instant et un modèle humain 3D que nous avons défini au cours de ces travaux. La littérature en tracking 3D de mouvement est très dense comme le montre le deuxième chapitre de ce mémoire, où nous avons mentionnés les travaux les plus remarquables. Cependant, les travaux sur le tracking 3D sans marqueurs utilisant une seule caméra ne sont pas nombreux. D où l intérêt de la méthode que nous présentons et sa capacité à estimer la pose 3D de l utilisateur sans que le recourt à la connaissance à priori ou l apprentissage ne soit nécessaire. 108

109 La méthode présentée prend considération aussi plusieurs aspects spécifiques au tracking du corps humain connu pour sa complexité, ses contraintes physiques et biomécaniques. Par contre quelques points restent encore à améliorer afin d améliorer la précision et la robustesse de la méthode afin de lui permettre de donner des résultats satisfaisants même dans des situations de mouvements rapides et complexes. Dans le cadre de ce projet, nous avons présenté une nouvelle méthode de tracking de mouvement humain en 3D à partir d une seule image de disparité ou de profondeur. Néanmoins, d autres modifications peuvent être faites sur cette méthode pour la rendre encore plus robuste et précise au niveau de l association des points 3D entre le nuage et le modèle afin de réduire les risques d erreurs d appariements. À ce sujet, une des variantes de l algorithme ICP peut servir à mieux réaliser le recalage de points entre nuage et modèle. Cette variante telle que présentée dans Daoudi [46] utilise la donnée de couleur des points 3D comme un paramètre dans le calcul dans le processus de recherche de point le plus proche qui ne se base plus seulement sur la distance euclidienne entre les points mais aussi sur la différence en couleur. Il existe plusieurs autres moyens qui peuvent améliorer le rendement de la méthode de recalage 3D que nous présentons. La pondération des points appariés selon un certain critère ou l utilisation seulement d un sous-ensemble de points du nuage sont des techniques souvent utilisées pour alléger le calcul ICP, mais demandent une bonne gestion des critères de choix pour assurer la sélection des bons paramètres. La connaissance à-priori et la prédiction sont aussi des moyens qui peuvent améliorer le comportement de la méthode de tracking. Certes, plusieurs facteurs doivent être pris en considération afin de s assurer que l appel de ces méthodes n entraine pas des erreurs mais lorsqu elles sont appelées correctement elles sont capables d assurer une certaine flexibilité du modèle de tracking. 109

110 Annexe A Microsoft Kinect Au cours de notre projet et après avoir mis en place les grandes lignes de la méthode de tracking 3D du corps humain sans marqueurs, le monde des nouvelles technologies et surtout les jeux vidéo ont connu l arrivé de la Kinect une caméra 3D pour console de jeu Microsoft Xbox 360. Nous avons voulu alors tester cette caméra dans le cadre de nos travaux pour valider la méthode que nous présentons. Figure 75 - Caméra Kinect pour Xbox 360 source: Microsoft Kinect Manuel La Kinect présente une évolution très ingénieuse dans l univers des caméras 3D. Elle combine et embarque plusieurs technologies différentes de façon très originale et intelligente. Dans ce qui suit nous allons nous intéresser seulement des capteurs liés à la vision artificielle. Ce périphérique de Microsoft se forme principalement d'une barre horizontale constituant l'élément principal de la technologie Kinect et contenant une caméra RGB pour les images d intensité et un capteur de profondeur pour détecter la profondeur de chaque pixel de l image et ainsi la reconstruction 3D de la scène. La Kinect est dotée d un processeur graphique PrimeSense PS1080-A2, un Marvell AP102 embarqué et 64 Mo de mémoire DDR2, un petit moteur pour déplacer l appareil, un accéléromètre 3 axes afin d améliorer la précision du moteur et un petit ventilateur. 110

111 La Kinect a un champ de vision horizontal (HFOV) de 57 et un champ de vision vertical (VFOV) de 43, d une marge de déplacement (tilt) du capteur de ±27 et enfin d une portée de capteur entre 1.2m et 5m. Figure 76 - Les technologies embarquées dans la Kinect: une caméra RGB, un capteur de profondeur 3D, plusieurs micros et un pied motorisé La caméra RGB standard est embarquée au centre de la barre horizontale. C est un capteur photographique de type CMOS capable de générer images de résolution en couleur 32 bits à une fréquence de 30Hz. La partie la plus intéressante dans la Kinect reste bien évidemment sa technologie de capteur de profondeur 3D «Depth Sensing 3D» développée par PrimeSense. Le dispositif de détection de profondeur 3D exploite une caméra infrarouge (celle de droite dans la figure précédente) à capteur CMOS, QVGA de résolution 320x240 16bits. Donc capable de distinguer niveaux différents de sensibilité. La deuxième partie de ce dispositif est celui se trouvant à gauche sur la barra horizontale de la Kinect. C est un émetteur de lumière infrarouge. Toute l ingéniosité de la technologie est dans la manière avec laquelle la caméra infrarouge détecte et interprète les lumières émises par le projecteur/émetteur infrarouge. Le détecteur CMOS infrarouge utilisé dans la Kinect fonctionne d une façon identique à un détecteur RGB sauf qu il ne laisse passer que les infrarouges ce qui permet d obtenir des images représentant les dégagements thermiques émis par les objets 111

112 observés. Mais la Kinect ne se base pas sur ça pour estimer les distances. En fait, tout l intérêt provient de son émetteur de lumière structuré infrarouge. Cet émetteur projette sur la scène un certain patron (pattern) de lumière infrarouge non visible à l œil nue. Une partie de ces rayonnements va se réfléchir sur les surfaces de la scène et sera alors détectée par le capteur infrarouge. Figure 77 Détection de profondeur, (gauche) émetteur infrarouge de la Kinect, (centre) pattern de lumière projetée dans la scène, (droite) information sur la distance selon la densité du rayonnement réfléchi source: Microsoft Kinect Manuel L estimation de la distance va se baser alors sur la densité et l intensité de ce pattern selon les surfaces touchées. En d autres termes, plus l'objet sera loin et plus la quantité de rayonnement infrarouge réfléchie (renvoyée vers la caméra) sera faible. Et inversement, plus l'objet sera proche et plus la quantité de rayonnement infrarouge réfléchie sera importante. Figure 78 - Différents types de pattern présentés par les inventeurs de la technologie Kinect présentant chacun certains avantages (gauche) distribution pseudo-aléatoire de bandes parallèles périodiques selon la verticale, (centre) quasi-périodique avec une symétrie en cellules pentagonales, (droite) distribution pseudo-aléatoire de pixels noirs avec décroissance latérale selon l horizontale Source : PrimeSense [52] 112

113 Les inventeurs de cette caméra ont aussi développé plusieurs types de patterns de lumière qui peuvent être utilisés séparément ou ensemble pour détecter plus précisément la profondeur 3D des objets de la scène et faciliter aussi le calcul de certains paramètres tels que le déplacement latéral ou en profondeur. Figure 79 - Image montrant l'image de profondeur générée (le jaune clair représente les surfaces les plus proches à la caméra) Source : PrimeSense [52] D après la figure ci-haut, nous pouvons constater qu il est facile de distinguer la silhouette humaine du reste de la scène grâce à la différence de profondeur se trouvant sur les contours de la silhouette. Une soustraction de l avant et de l arrière plan comme celle définie dans peut alors être utilisée pour dégager les silhouettes humaines du reste du décor. Il est possible alors de reconstruire la scène en 3D avec une bonne précision pour tout objet distant de 1.2m à 5m. Au-delà de cet intervalle, le rayonnement infrarouge réfléchi devient trop faible pour être mesuré avec précision. Un phénomène inverse est observé pour les objets proches de moins de 1.2m, le signal devient alors totalement saturé. Figure 80 - Schéma résumant la technologie Kinect Source : PrimeSense [52] 113

114 Annexe B Spécifications techniques de la PointGrey Bumblebee Figure 81 - Spécifications technique de la Bumblebee de PointGrey source : ptgrey.com [51] 114

Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57

Analyse de la vidéo. Chapitre 4.1 - La modélisation pour le suivi d objet. 10 mars 2015. Chapitre 4.1 - La modélisation d objet 1 / 57 Analyse de la vidéo Chapitre 4.1 - La modélisation pour le suivi d objet 10 mars 2015 Chapitre 4.1 - La modélisation d objet 1 / 57 La représentation d objets Plan de la présentation 1 La représentation

Plus en détail

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies Régis Boulet Charlie Demené Alexis Guyot Balthazar Neveu Guillaume Tartavel Sommaire Sommaire... 1 Structure

Plus en détail

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories : La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.

Plus en détail

La visio-conférence holographique : Pourquoi? Comment?

La visio-conférence holographique : Pourquoi? Comment? La visio-conférence holographique : Pourquoi? Comment? Francis Felix Labo LSIS / Arts & Métiers Paritech (ENSAM) 2 Cours des Arts et Métiers 13100 Aix-en-Provence Thierry Henocque AIP-Primeca Dauphiné

Plus en détail

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure INTELLIGENCE NUMERIQUE Langage Java Mentions

Plus en détail

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12

Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12 Reconnaissance de visages 2.5D par fusion des indices de texture et de profondeur ICI 12/12/12 2 Discrimination Invariance Expressions faciales Age Pose Eclairage 11/12/2012 3 Personne Inconnue Identité

Plus en détail

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La Synthèse d'images I Venceslas BIRI IGM Université de Marne La La synthèse d'images II. Rendu & Affichage 1. Introduction Venceslas BIRI IGM Université de Marne La Introduction Objectif Réaliser une image

Plus en détail

Comparaison de Relevés 3D issus de plusieurs Systèmes de Numérisation

Comparaison de Relevés 3D issus de plusieurs Systèmes de Numérisation Laboratoire Vision & Robotique Comparaison de Relevés 3D issus de plusieurs Systèmes de Numérisation Emilie KOENIG, Benjamin ALBOUY, Sylvie TREUILLET, Yves Lucas Contact : Sylvie Treuillet Polytech'Orléans

Plus en détail

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image IN52-IN54 A2008 Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image Etudiants : Nicolas MONNERET Alexandre HAFFNER Sébastien DE MELO Responsable : Franck GECHTER Sommaire

Plus en détail

DE LA NUMÉRISATION DES ACTIONS PHYSIQUES DES UTILISATEURS VERS LA CONCEPTION D INTERFACE AVEC LA KINECT

DE LA NUMÉRISATION DES ACTIONS PHYSIQUES DES UTILISATEURS VERS LA CONCEPTION D INTERFACE AVEC LA KINECT DE LA NUMÉRISATION DES ACTIONS PHYSIQUES DES UTILISATEURS VERS LA CONCEPTION D INTERFACE AVEC LA KINECT Doctorant Laboratoire G-SCOP VEYTIZOU Julien Julien.Veytizou@grenoble-inp.fr Qui suis-je? Projet

Plus en détail

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1 Analyse d images Edmond.Boyer@imag.fr Edmond Boyer UFRIMA 1 1 Généralités Analyse d images (Image Analysis) : utiliser un ordinateur pour interpréter le monde extérieur au travers d images. Images Objets

Plus en détail

Groupe Eyrolles, 2006, ISBN : 2-212-11959-3

Groupe Eyrolles, 2006, ISBN : 2-212-11959-3 Groupe Eyrolles, 2006, ISBN : 2-212-11959-3 annexe B Piano Corner, (c) 2005 par Zsolt Stefan : http://deeppixel.uw.hu/gallery.html YafRay, le moteur de rendu photoréaliste Dès sa création, par une équipe

Plus en détail

Utilisation d informations visuelles dynamiques en asservissement visuel Armel Crétual IRISA, projet TEMIS puis VISTA L asservissement visuel géométrique Principe : Réalisation d une tâche robotique par

Plus en détail

µrv : Realité Virtuelle

µrv : Realité Virtuelle µrv : Realité Virtuelle Edgar-Fernando ARRIAGA-GARCIA Charles-Henri BABIAUD Clément GRELLIER Quentin PETIT Jérôme Ricoeur Florent VIOLLEAU INSA Rennes 21 septembre 2011 1 / 15 Objectifs pour cette semaine

Plus en détail

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0 Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive Sommaire - Le Robot M.I.M.I. (Multipode Intelligent à Mobilité Interactive) - Présentation du Système à Enseigner. - Composition

Plus en détail

Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO

Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO Détection des points d intérêt et Segmentation des images RGB-D Présentée par : Bilal Tawbe Semaine de la recherche de l UQO 25 Mars 2015 1. Introduction Les méthodes de détection de points d intérêt ont

Plus en détail

Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP 2013 - Interfaces Multimodales

Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP 2013 - Interfaces Multimodales Rapport projet MMI 2013 Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3 Page 1 Table des matières Luis Domingues, Tiago De Deus, Naomi Favre Introduction... 4 Contexte... 4 Description du projet...

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU $SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU Fabien FIGUERES fabien.figueres@mpsa.com 0RWVFOpV : Krigeage, plans d expériences space-filling, points de validations, calibration moteur. 5pVXPp Dans le

Plus en détail

PROJET BIGDATART DOSSIER DE PRESENTATION

PROJET BIGDATART DOSSIER DE PRESENTATION PROJET BIGDATART DOSSIER DE PRESENTATION Le projet BigDatArt est une installation scientifico-artistique centrée autour des notions d images et de BigData. Ce que je propose dans mon projet et d'inverser

Plus en détail

Introduction au datamining

Introduction au datamining Introduction au datamining Patrick Naïm janvier 2005 Définition Définition Historique Mot utilisé au départ par les statisticiens Le mot indiquait une utilisation intensive des données conduisant à des

Plus en détail

Immersion - Vision 3D dans la RV.

Immersion - Vision 3D dans la RV. Cours RVS Master II IVA Immersion - Vision 3D dans la RV. Cours de Réalité Virtuelle et Simulation Master II - IVA A. Mebarki - Maître de Conférences Département d'informatique Faculté des Mathématiques

Plus en détail

ANNEXE - INNOVATIONS. processus, nom masculin

ANNEXE - INNOVATIONS. processus, nom masculin ANNEXE - INNOVATIONS» processus, nom masculin sens 1 - Suite d'opérations ou d'événements. Synonyme : évolution sens 2 - Ensemble d'actions ayant un but précis. NOS ACCESSOIRES INTELLIGENTS DONNER VIE

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

Plus en détail

CYCLE 3D. Certification RNCP "Lead Infographiste 2D/3D" Niveau II - Bac +3

CYCLE 3D. Certification RNCP Lead Infographiste 2D/3D Niveau II - Bac +3 CYCLE 3D Certification RNCP "Lead Infographiste 2D/3D" Niveau II - Bac +3 Objectif : Acquérir des compétences et se former aux métiers créatifs et dans le domaine de l'infographie 3D avec une nouvelle

Plus en détail

Préparé au Laboratoire d Analyse et d Architecture des Systèmes du CNRS

Préparé au Laboratoire d Analyse et d Architecture des Systèmes du CNRS Année 2004 THESE Préparé au Laboratoire d Analyse et d Architecture des Systèmes du CNRS En vue de l obtention du titre de Docteur de l Institut National Polytechnique de Toulouse Spécialité : Informatique

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Sommaire. Bertrand PECUCHET

Sommaire. Bertrand PECUCHET Sommaire I. Introduction... 2 II. Présentation de la Kinect... 3 1. Caractéristiques :... 4 III. Focus sur les différents capteurs de la Kinect... 5 1. Le capteur RGB... 5 2. Capteur et émetteur Infrarouge...

Plus en détail

Détection de têtes dans un nuage de points 3D à l aide d un modèle de mélange sphérique

Détection de têtes dans un nuage de points 3D à l aide d un modèle de mélange sphérique Détection de têtes dans un nuage de points 3D à l aide d un modèle de mélange sphérique Denis Brazey & Bruno Portier 2 Société Prynɛl, RD974 290 Corpeau, France denis.brazey@insa-rouen.fr 2 Normandie Université,

Plus en détail

404 CAMCORDER FONCTIONS CAMÉSCOPE ET APPAREIL PHOTO

404 CAMCORDER FONCTIONS CAMÉSCOPE ET APPAREIL PHOTO FRANçAIS French 404 CAMCORDER FONCTIONS CAMÉSCOPE ET APPAREIL PHOTO Supplément du manuel d'utilisation de l'archos 404 Version 1.1 Pour télécharger la dernière version de ce manuel, veuillez vous rendre

Plus en détail

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

UNIVERSITÉ DE MONTRÉAL APPRENTISSAGE DE MODÈLES PROBABILISTES POUR LA VISION STÉRÉOSCOPIQUE EN TEMPS RÉEL

UNIVERSITÉ DE MONTRÉAL APPRENTISSAGE DE MODÈLES PROBABILISTES POUR LA VISION STÉRÉOSCOPIQUE EN TEMPS RÉEL UNIVERSITÉ DE MONTRÉAL APPRENTISSAGE DE MODÈLES PROBABILISTES POUR LA VISION STÉRÉOSCOPIQUE EN TEMPS RÉEL LUCAS BERTHOU DÉPARTEMENT DE GÉNIE INFORMATIQUE ET GÉNIE LOGICIEL ÉCOLE POLYTECHNIQUE DE MONTRÉAL

Plus en détail

www.type3.com DECOUVREZ Discover TYPE EDIT V12 Français

www.type3.com DECOUVREZ Discover TYPE EDIT V12 Français www.type3.com DECOUVREZ Discover TYPE EDIT V12 Français 12-2013 1 Découvrez TYPE EDIT V12, la nouvelle version de notre logiciel de CFAO pour les applications industrielles et artistiques dédiées aux machines

Plus en détail

Cie L*43.62 a* -0.12 b* -20.16. Des couleurs qui tiennent la route. Solutions de gestion des couleurs pour le secteur de l automobile

Cie L*43.62 a* -0.12 b* -20.16. Des couleurs qui tiennent la route. Solutions de gestion des couleurs pour le secteur de l automobile Cie L*43.62 a* -0.12 b* -20.16 Des couleurs qui tiennent la route Solutions de gestion des couleurs pour le secteur de l automobile La couleur fait la différence Qu il s agisse d établir l identité visuelle

Plus en détail

Pour les futurs développeurs Sommaire

Pour les futurs développeurs Sommaire Pour les futurs développeurs Sommaire I. Présentation du projet... 2 II. Détails sur les différentes parties... 3 1. Le modèle 3D... 3 2. Reconnaissance des gestes... 4 3. Reconnaissance d objets... 6

Plus en détail

Modélisation 3D par le modèle de turbulence k-ε standard de la position de la tête sur la force de résistance rencontrée par les nageurs.

Modélisation 3D par le modèle de turbulence k-ε standard de la position de la tête sur la force de résistance rencontrée par les nageurs. Modélisation 3D par le modèle de turbulence k-ε standard de la position de la tête sur la force de résistance rencontrée par les nageurs. H. ZAÏDI a, S. FOHANNO a, R. TAÏAR b, G. POLIDORI a a Laboratoire

Plus en détail

TP SIN Traitement d image

TP SIN Traitement d image TP SIN Traitement d image Pré requis (l élève doit savoir): - Utiliser un ordinateur Objectif terminale : L élève doit être capable de reconnaître un format d image et d expliquer les différents types

Plus en détail

Environnement logiciel open source pour la création d œuvres artistiques interactives

Environnement logiciel open source pour la création d œuvres artistiques interactives Environnement logiciel open source pour la création d œuvres artistiques interactives Stéphane Donikian IRISA/CNRS Campus de Beaulieu 35042, Rennes Cedex, France donikian@irisa.fr La création artistique

Plus en détail

L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES

L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES L OUTIL NUMERIQUE CARACTERISTIQUES ET FONCTIONNALITES Aujourd hui, le numérique est partout. Il se retrouve principalement dans les nouvelles technologies, mais également dans l art, les livres, notre

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Techniques d interaction dans la visualisation de l information Séminaire DIVA Techniques d interaction dans la visualisation de l information Séminaire DIVA Zingg Luca, luca.zingg@unifr.ch 13 février 2007 Résumé Le but de cet article est d avoir une vision globale des techniques

Plus en détail

CHROMOPHARE Génération F : éclairage innovant à réflecteur avec LED. Un concept et un design d'éclairage qui réunissent fonctionnalité et esthétique

CHROMOPHARE Génération F : éclairage innovant à réflecteur avec LED. Un concept et un design d'éclairage qui réunissent fonctionnalité et esthétique CHROMOPHARE Génération F : éclairage innovant à réflecteur avec LED Un concept et un design d'éclairage qui réunissent fonctionnalité et esthétique Tuttlingen, novembre 2011 - La nouvelle CHROMOPHARE Génération

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

MANUEL UTILISATEUR. Application 4trip

MANUEL UTILISATEUR. Application 4trip * MANUEL UTILISATEUR Application 4trip Table des matières 1. Introduction... 1 1.1. Description globale du produit... 1 1.2. Description de la finalité du manuel... 1 2. Manuel d utilisation... 2 2.1.

Plus en détail

1S9 Balances des blancs

1S9 Balances des blancs FICHE 1 Fiche à destination des enseignants 1S9 Balances des blancs Type d'activité Étude documentaire Notions et contenus Compétences attendues Couleurs des corps chauffés. Loi de Wien. Synthèse additive.

Plus en détail

Ensemble léger de prise de photo sous UV-A Tam Photo Kit n 1 pour appareil photo compact

Ensemble léger de prise de photo sous UV-A Tam Photo Kit n 1 pour appareil photo compact Ensemble léger de prise de photo sous UV-A Tam Photo Kit n 1 pour appareil photo compact Phone +33 (0)130 808 182 - Fax. +33 (0)130 808 199 /15 rue des Frères Lumière - ZI des Ebisoires BP136-78374 PLAISIR

Plus en détail

un nouvel œil pour l analyse de mouvement

un nouvel œil pour l analyse de mouvement un nouvel œil pour l analyse de mouvement L entreprise EyeNetics La S.A.R.L. EyeNetics a pour objectif de simplifier l utilisation des systèmes d analyse de mouvement. Dans cette optique nous avons conçu

Plus en détail

Ergonomie dans les services publics Expérience du service Empreva. Christophe Janssens, CP Ergonome - Empreva

Ergonomie dans les services publics Expérience du service Empreva. Christophe Janssens, CP Ergonome - Empreva Ergonomie dans les services publics Expérience du service Empreva Christophe Janssens, CP Ergonome - Empreva SICPPT fédéral AFFILIES Comité de gestion SIPPT 1 SIPPT SIPPT n 2 EMPREVA Management Office

Plus en détail

Les clients puissance cube

Les clients puissance cube LETTRE CONVERGENCE Les clients puissance cube L intelligence artificielle au service du marketing des services N 28 To get there. Together. A PROPOS DE BEARINGPOINT BearingPoint est un cabinet de conseil

Plus en détail

L utilisation du lidar terrestre en foresterie. Richard Fournier Département de géomatique appliquée

L utilisation du lidar terrestre en foresterie. Richard Fournier Département de géomatique appliquée L utilisation du lidar terrestre en foresterie Richard Fournier Département de géomatique appliquée Problématique Inventaire traditionnel : photographie aérienne imagerie satellitaire relevés manuels sur

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

TP Blender n 2 : Importation d un modèle SketchUp et animation

TP Blender n 2 : Importation d un modèle SketchUp et animation TP Blender n 2 : Importation d un modèle SketchUp et animation Service de Conception Géométrique Université de Liège Aérospatiale et Mécanique Conçu avec Blender 2.66 et SketchUp 8 De SketchUp à Blender

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Apprentissage Automatique

Apprentissage Automatique Apprentissage Automatique Introduction-I jean-francois.bonastre@univ-avignon.fr www.lia.univ-avignon.fr Définition? (Wikipedia) L'apprentissage automatique (machine-learning en anglais) est un des champs

Plus en détail

Working with Kinect. Intelligence Ambiante. Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI

Working with Kinect. Intelligence Ambiante. Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI Working with Kinect Intelligence Ambiante Tomás DÍAZ TRONCOSO Arturo GARCÍA TOVAR Daoud MAROUAN LMTIUI Table des matières I.IntroducCon à la Kinect... 3 I. Kinect à la portée de tous... 4 II. CaractérisCques...

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Gilles Gasso, Stéphane Canu INSA Rouen -Département ASI Laboratoire LITIS 8 septembre 205. Ce cours est librement inspiré du cours DM de Alain Rakotomamonjy Gilles Gasso, Stéphane

Plus en détail

Manuel de l ergonomie au bureau

Manuel de l ergonomie au bureau Manuel de l ergonomie au bureau 1 Manuel préparé par le Service environnement, santé et sécurité de l Université Concordia. Pour tout complément d information sur l ergonomie, les étirements et les autres

Plus en détail

Intérêt du découpage en sous-bandes pour l analyse spectrale

Intérêt du découpage en sous-bandes pour l analyse spectrale Intérêt du découpage en sous-bandes pour l analyse spectrale David BONACCI Institut National Polytechnique de Toulouse (INP) École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique,

Plus en détail

Voir le monde à travers un capteur de profondeur

Voir le monde à travers un capteur de profondeur Voir le monde à travers un capteur de profondeur Copyright 2014 pabr@pabr.org Tous droits réservés. (All rights reserved.) Dans ce projet nous installons une caméra à capteur de profondeur sur un casque

Plus en détail

Dossier 03 Périphériques d acquisition

Dossier 03 Périphériques d acquisition Dossier 03 Périphériques d acquisition I. PERIPHERIQUES D ACQUISITION... 1 II. CARACTERISTIQUES GENERALES... 2 A. CLAVIER... 2 B. SOURIS... 3 C. LECTEUR DE CODES A BARRES (OU CODE-BARRES)... 3 D. SCANNER...

Plus en détail

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc) 87 FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc) Dans le cadre de la réforme pédagogique et de l intérêt que porte le Ministère de l Éducation

Plus en détail

TITRE PARTIE TITRE SECTION. Faire des anaglyphes avec CatiaV5

TITRE PARTIE TITRE SECTION. Faire des anaglyphes avec CatiaV5 TITRE PARTIE TITRE SECTION Faire des anaglyphes avec CatiaV5 1 SOMMAIRE SOMMAIRE 1. QU'EST-CE QU'UN ANAGLYPHE? 3 2. LES LOGICIELS A INSTALLER 5 3. CREATION D'UN ANAGLYPHE FIXE 6 4. CREATION D'UN ANAGLYPHE

Plus en détail

Glossaire technique Veditec

Glossaire technique Veditec Glossaire technique Veditec 3D/2D DNR (digital noise réduction) La technologie DNR est un système de réduction numérique de bruit ayant pour but de réduire le bruit sur l image. Elle permet d obtenir des

Plus en détail

SilverFast SE Plus 8 - Le meilleur logiciel de scanner... beaucoup plus qu un simple logiciel pour des scanners.

SilverFast SE Plus 8 - Le meilleur logiciel de scanner... beaucoup plus qu un simple logiciel pour des scanners. SilverFast SE Plus 8 - Le meilleur logiciel de scanner... beaucoup plus qu un simple logiciel pour des scanners. LaserSoft Imaging a fait pendant 25 ans ses expériences dans la numérisation et ces connaissances

Plus en détail

AMÉNAGER UN COMPTOIR DE SERVICE POUR PERMETTRE LA POSITION ASSISE

AMÉNAGER UN COMPTOIR DE SERVICE POUR PERMETTRE LA POSITION ASSISE FICHE TECHNIQUE #54 AMÉNAGER UN COMPTOIR DE SERVICE POUR PERMETTRE LA POSITION ASSISE Entre le bureau et le comptoir conventionnels, il est possible d aménager un comptoir de service permettant d alterner

Plus en détail

Nouveaux enjeux de recherche en sécurité routière liés à l'automatisation des véhicules : conséquences sur l'activité de conduite

Nouveaux enjeux de recherche en sécurité routière liés à l'automatisation des véhicules : conséquences sur l'activité de conduite Institut français des sciences et technologies des transports, de l aménagement et des réseaux Nouveaux enjeux de recherche en sécurité routière liés à l'automatisation des véhicules : conséquences sur

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de

Plus en détail

F210. Automate de vision hautes fonctionnalités. Caractèristiques. Algorithmes vectoriels

F210. Automate de vision hautes fonctionnalités. Caractèristiques. Algorithmes vectoriels Automate de vision hautes fonctionnalités Caractèristiques Algorithmes vectoriels Les algorithmes permettent de sélectionner les éléments de traitement requis dans la bibliothèque, puis les combinent et

Plus en détail

Le MeiLLeuR RappORt qualité-prix

Le MeiLLeuR RappORt qualité-prix FORM 20 FORM 30 2 Le meilleur rapport qualité-prix Sommaire Points forts Mécanique Contrôle 4 6 10 Le générateur Préparation du travail GF AgieCharmilles 12 13 14 FORM 20 FORM 30 La qualité des applications

Plus en détail

ORIENTATIONS POUR LA CLASSE DE TROISIÈME

ORIENTATIONS POUR LA CLASSE DE TROISIÈME 51 Le B.O. N 1 du 13 Février 1997 - Hors Série - page 173 PROGRAMMES DU CYCLE CENTRAL 5 e ET 4 e TECHNOLOGIE En continuité avec le programme de la classe de sixième, celui du cycle central du collège est

Plus en détail

FICHE METIER. «Opérateur de prises de vue» Opérateur de prises de vue vidéo. Cadreur. Pointeur vidéo APPELLATION(S) DU METIER DEFINITION DU METIER

FICHE METIER. «Opérateur de prises de vue» Opérateur de prises de vue vidéo. Cadreur. Pointeur vidéo APPELLATION(S) DU METIER DEFINITION DU METIER Opérateur de prises de vue Version 1 «Opérateur de prises de vue» APPELLATION(S) DU METIER Opérateur de prises de vue vidéo Cadreur Pointeur vidéo DEFINITION DU METIER L'opérateur de prises de vue assure

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

IFO. Soleil. Antoine COUSYN 29/07/2012 08/02/2015. Vidéo. Manipur, Inde. Saturation du capteur CMOS. 19 Juin 2011. 15h11 heure locale.

IFO. Soleil. Antoine COUSYN 29/07/2012 08/02/2015. Vidéo. Manipur, Inde. Saturation du capteur CMOS. 19 Juin 2011. 15h11 heure locale. Rapport d expertise IPACO Nom de l expert Antoine COUSYN Date du rapport 29/07/2012 Dernière mise à jour 08/02/2015 Type IFO Classe A Explication Saturation du capteur CMOS Complément Soleil Document Lieu

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

A qui proposer ce concept?

A qui proposer ce concept? 29 Praticiens qui souhaitent créer une salle de chirurgie Praticiens qui souhaitent avoir une solution polyvalente 2 éclairages = soins en chirurgie 1 éclairage = soins omni-pratiques Pour quelles raisons

Plus en détail

La mécanique sous le capot

La mécanique sous le capot La mécanique sous le capot L ergonomie Comment éviter et diminuer les TMS aux membres supérieurs Pourquoi vos articulations vous font-elles souffrir? De nombreux travailleurs souffrent de troubles musculo-squelettiques

Plus en détail

Extraction d informations stratégiques par Analyse en Composantes Principales

Extraction d informations stratégiques par Analyse en Composantes Principales Extraction d informations stratégiques par Analyse en Composantes Principales Bernard DOUSSET IRIT/ SIG, Université Paul Sabatier, 118 route de Narbonne, 31062 Toulouse cedex 04 dousset@irit.fr 1 Introduction

Plus en détail

Projet de Traitement du Signal Segmentation d images SAR

Projet de Traitement du Signal Segmentation d images SAR Projet de Traitement du Signal Segmentation d images SAR Introduction En analyse d images, la segmentation est une étape essentielle, préliminaire à des traitements de haut niveau tels que la classification,

Plus en détail

R-ICP : une nouvelle approche d appariement 3D orientée régions pour la reconnaissance faciale

R-ICP : une nouvelle approche d appariement 3D orientée régions pour la reconnaissance faciale R-ICP : une nouvelle approche d appariement 3D orientée régions pour la reconnaissance faciale Boulbaba BEN AMOR, Karima OUJI, Mohsen ARDABILIAN, et Liming CHEN Laboratoire d InfoRmatique en Images et

Plus en détail

#BigData Dossier de presse Mai 2014

#BigData Dossier de presse Mai 2014 #BigData Dossier de presse Mai 2014 La valeur du Big Data pour l entreprise Comment permettre l avènement d une culture de la donnée pour tous? Dans un monde porté par la mobilité et le Cloud, non seulement

Plus en détail

Galerie de photos échantillons SB-910

Galerie de photos échantillons SB-910 Galerie de photos échantillons SB-910 Ce livret présente différentes techniques du flash SB-910 et des exemples de photographies. 1 Fr Franchissez un cap dans l univers de l éclairage créatif Révélez les

Plus en détail

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Quatrième colloque hypermédias et apprentissages 275 BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Anne-Olivia LE CORNEC, Jean-Marc FARINONE,

Plus en détail

L humain et ses données, le «quantified self»

L humain et ses données, le «quantified self» Chapitre 1 L humain et ses données, le «quantified self» L explosion de la quantité des données disponibles et le perfectionnement de nos capacités d analyse bouleversent les rapports que l Homme entretient

Plus en détail

Traitement bas-niveau

Traitement bas-niveau Plan Introduction L approche contour (frontière) Introduction Objectifs Les traitements ont pour but d extraire l information utile et pertinente contenue dans l image en regard de l application considérée.

Plus en détail

Solution Vidéo Surveillance

Solution Vidéo Surveillance Solution Vidéo Surveillance Objectifs de la solution : Mettre sous surveillance électronique un lieu sensible de votre établissement : o L entrée du bureau d études o L entrée du stock de matière première

Plus en détail

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon Version 4.10 PDF-CIT-D-Rev1_FR Copyright 2011 Avigilon. Tous droits réservés. Les informations présentées sont sujettes à modification

Plus en détail

GMEC1311 Dessin d ingénierie. Chapitre 1: Introduction

GMEC1311 Dessin d ingénierie. Chapitre 1: Introduction GMEC1311 Dessin d ingénierie Chapitre 1: Introduction Contenu du chapitre Introduction au dessin technique Normes Vues Traits Échelle Encadrement 2 Introduction Les dessins ou graphiques sont utilisés

Plus en détail

NOVLAND. production. Présente TMC. transmedia catalogue air / touch

NOVLAND. production. Présente TMC. transmedia catalogue air / touch NOVLAND production Présente TMC transmedia catalogue air / touch Novland Sàrl est une société de production active dans la création de contenu audiovisuel multiplateforme pour l'ensemble des canaux de

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier Détection et reconnaissance des sons pour la surveillance médicale Dan Istrate le 16 décembre 2003 Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier Thèse mené dans le cadre d une collaboration

Plus en détail

Université des Sciences et Technologies de Lille 1 UFR Informatique. Projet scientifique de Master 2 Image, Vision, Interaction.

Université des Sciences et Technologies de Lille 1 UFR Informatique. Projet scientifique de Master 2 Image, Vision, Interaction. Université des Sciences et Technologies de Lille 1 UFR Informatique Projet scientifique de Master 2 Image, Vision, Interaction Année 2012/1013 Reconstruction de scène réaliste via Kinect c Amélioration

Plus en détail

Object Removal by Exemplar-Based Inpainting

Object Removal by Exemplar-Based Inpainting Object Removal by Exemplar-Based Inpainting Kévin Polisano A partir d un article de A. Criminisi, P. Pérez & H. K. Toyama 14/02/2013 Kévin Polisano Object Removal by Exemplar-Based Inpainting 14/02/2013

Plus en détail

Opérations de base sur ImageJ

Opérations de base sur ImageJ Opérations de base sur ImageJ TPs d hydrodynamique de l ESPCI, J. Bico, M. Reyssat, M. Fermigier ImageJ est un logiciel libre, qui fonctionne aussi bien sous plate-forme Windows, Mac ou Linux. Initialement

Plus en détail

Expérience 3 Formats de signalisation binaire

Expérience 3 Formats de signalisation binaire Expérience 3 Formats de signalisation binaire Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx

Plus en détail

IFT3355: Infographie Sujet 6: shading 7 (illumination globale 4)

IFT3355: Infographie Sujet 6: shading 7 (illumination globale 4) IFT3355: Infographie Sujet 6: shading 7 (illumination globale 4) Derek Nowrouzezahrai Département d informatique et de recherche opérationelle Université de Montréal Ambient Occlusion expériment numérique

Plus en détail

La création de vêtements, éléments de génétiques, et de maquillage.

La création de vêtements, éléments de génétiques, et de maquillage. La création de vêtements, éléments de génétiques, et de maquillage. La boît@look est un programme fourni avec le jeu qui permet de créer du contenu personnalisé comme des vêtements, des peaux, des cheveux,

Plus en détail

transformer en avantage compétitif en temps réel vos données Your business technologists. Powering progress

transformer en avantage compétitif en temps réel vos données Your business technologists. Powering progress transformer en temps réel vos données en avantage compétitif Your business technologists. Powering progress Transformer les données en savoir Les données sont au cœur de toute activité, mais seules elles

Plus en détail