Projet de fin d études : Modélisation 3D d un corps humain à partir de caméras 3D Kinect

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

Download "Projet de fin d études : Modélisation 3D d un corps humain à partir de caméras 3D Kinect"

Transcription

1 Projet de fin d études : Modélisation 3D d un corps humain à partir de caméras 3D Kinect Tuteur LIFL : M. Hazem WANNOUS Maxime DEVANNE Tuteur Telecom Lille1 : M. Gilles VANWORMHOUDT FI 2012 Année

2 1

3 Elève ingénieur : Maxime DEVANNE, promotion FI 2012 Année Universitaire : Laboratoire d accueil : Laboratoire d Informatique Fondamental de Lille (LIFL) Cité scientifique Bâtiment M VILLENEUVE D ASCQ CEDEX Ecole : TELECOM LILLE 1 Cité scientifique - Rue Guglielmo Marconi VILLENEUVE D ASCQ Projet de fin d études : Modélisation 3D d un corps humain à partir de caméras 3D Kinect Période du séjour d étude : du 20février 2012 au 3août2012 Tuteur LIFL : M. Hazem WANNOUS, Maitre de conférences Tuteur Telecom Lille 1 : M. Gilles VANWORMHOUDT 2

4 Remerciements Je souhaite tout d abord remercier Monsieur Mohamed DAOUDI, Professeur à l institut MINES-TELECOM et Directeur de l équipe MIIRE, de m avoir accepté au sein de son équipe et ainsi permis de réaliser ce projet de fin d études. Je voudrais également exprimer ma gratitude envers Monsieur Hazem WANNOUS, Maître de conférences à l université de Lille 1 et membre de l équipe MIIRE, pour avoir été mon tuteur Entreprise pendant ce stage et d avoir facilité mon intégration au sein de l équipe. Grâce à ses compétences, son dynamisme et à sa bonne humeur, j ai pu énormément apprendre dans le domaine de la vision 2D et 3D, et découvrir l environnement passionnant de la recherche. Je tiens aussi à remercierparticulièrement Monsieur Olivier LOSSON, Maître de conférences à l université de Lille 1 et membre du laboratoire LAGIS, qui a coencadré ce projet de fin d études. Son expérience et sa rigueur m ontété d une grande aide pour mener à bien ce projet de recherche. Je remercie également les membres de l équipe non encore cités, pour leur accueil chaleureux : M. Jean-Philippe VANDEBORRE, M. Boulbaba BEN AMOR, M. Hassen DRIRA, M. Lahoucine BALLIHI, M. Ahmed MAALEJ, M. Rachid EL KHOURY, Mlle Rim SLAMA, M. Baiqiang XIA, et Mlle Marion DETOURMIGNIES. Enfin, je remercie mon tuteur Ecole, Monsieur Gilles VANWORMHOUDT, pour son suivi et ses conseils tout au long de mon projet. 3

5 Sommaire Table des Illustrations... 6 Introduction... 7 Partie 1 : Cadre de l étude Environnement du projet Laboratoire d Informatique Fondamentale de Lille (LIFL) Equipe MIIRE (Multimédia, Image, Indexation et Reconnaissance) Analyse du projet Objectifs Motivations du projet Organisation du projet Partie 2 : Présentation du projet Caméra Kinect Kinect en chiffre Carcatéristiques de la Kinect Fonctionnement de la Kinect Lumière structurée Etat de l art Building a 3D Map from RGB-D sensors KinectFusion: Real-Time Dense Surface Mapping and Tracking Scanning 3D Full Human Bodies using Kinects Solution proposée Partie 3 : Travaux réalisés Acquisition Acquisition du corps humain complet Système mono-kinect / multi-kinect Notre configuration à deux caméras Kinect Transformation en nuage de points 3D

6 2. Construction du modèle en nuages de points 3D Recalage des nuages de points Recalage avec ICP Recalage avec SIFT/RANSAC Comparaison entre les deux méthodes de recalage Fermeture de boucle Création du maillage Filtrage et sous-échantillonnage Triangulation Lissage Partie 4 : Résultats et évaluations Livrables Programmes Interface graphique Résultats Présentation des différents résultats Evaluation des résultats Protocole d évaluation Résultats de l évaluation Perspectives Améliorations des résultats Ajouts de fonctionnalités Applications Conclusion Glossaire Bibliographie

7 Table des Illustrations Figure 1: Organigramme de l'équipe MIIRE Figure 2: Schéma récapitulatif des axes de recherche de l'équipe MIIRE Figure 3 : Exemple de matériaux d acquisition de l équipe MIIRE Figure 4 : Planning du déroulement du projet Figure 5 : La Kinect de Microsoft Figure 6 : Les composants de la Kinect Figure 7 : Image couleur fournie par la Kinect Figure 8 : Image de profondeur fournie par la Kinect Figure 9 : Exemple de motif infrarouge projeté par la Kinect Figure 10 : Schéma de la déformation du motif Figure 11 : Calcul de la disparité Figure 12 : Schéma global de la solution proposée Figure 13 : Exemple de parties du corps manquantes Figure 14 : Schéma de la position de la Kinect Figure 15 : Exemple de système avec 3 Kinect Figure 16 : Notre système à deux Kinect Figure 17 : Image de profondeur montrant l effet d interférences Figure 18 : Exemple de vue pour lecalibragemono Figure 19 : Exemple de vues pour lecalibragemulti Figure 20 : Exemple de nuage de points 3D Figure 21 : Seuillage du nuage de points Figure 22 : Schéma récapitulatif de l acquisition Figure 23 : Recalage de deux vues Figure 24 : Schéma du recalage cumulatif par paire de nuages Figure 25 : Schéma de la matrice de transformation Figure 26 : Une paire de nuages recalés avec ICP Figure 27 : Sous-échantillonnage d un nuage Figure 28 : Accumulation de l erreur lors du recalage Figure 29 : Détection des extrema dans l espace-échelle Figure 30 : Points-clés SIFT. Une image de taillle 640x480 pixels avec 917 points-clés Figure 31 : Correspondances SIFT de deux images couleur successives Figure 32 : Comparaison des deux méthodes de recalage Figure 33 : Effet de boucle non fermée Figure 34 : Détection de la boucle pour 11 nuages Figure 35: Modèle après fermeture de boucle Figure 36: Modèle après filtrage et sous-échantillonnage Figure 37 : Schéma de création du maillage Figure 38 : Lissage du modèle 3D Figure 39 : Copie d écran de l interface graphique (acquisition) Figure 40 : Copie d écran de l interface graphique (recalage) Figure 41 : Résultats obtenus avec notre système Figure 42 : Mannequin utilisé pour l évaluation Figure 43 : Modèle vérité terrain Figure 44 : Notre modèle Figure 45 : Comparaison entre la vérité terrain et notre modèle

8 Introduction Dans le cadre de ma cinquième année à Telecom Lille 1, j ai réalisé un Projet de Fin d Etudes au sein du Laboratoire d Informatique Fondamentale de Lille (LIFL) situé sur le campus de l université de Lille 1, à Villeneuve d Ascq. J ai été intégré au sein de l équipe MIIRE, dont les locaux sont situés à Telecom Lille 1. Ce séjour d étude s est déroulé du 20 février 2012 au 3 août Le projet réalisé s intitule «Modélisation 3D d un corps humain à partir de caméras 3D Kinect». L objectif de ce projet est de réaliser un système qui permet de faire l acquisition d un corps humain statique pour ensuite le modéliser en 3D, à partir de la Kinect de Microsoft. Ce projet a été co-encadré par M. WANNOUS, Maître de conférences au LIFL et membre de l équipe MIIRE, et M. LOSSON, Maître de conférences au laboratoire LAGIS. Ce Projet de Fin d Etudes m a permis de découvrir l environnement très attrayant de la recherche scientifique, mais aussi de mettre en pratique et approfondir des notions du domaine de la vision 3D abordées au cours de ma formation à Telecom Lille 1. Ce rapport sera structuré de la manière suivante. Tout d abord, je commencerai par présenter brièvement le Laboratoire d Informatique Fondamentale de Lille (LIFL) ainsi que l équipe MIIRE. Dans un deuxième temps, j analyserai le projet réalisé en termes d objectifs et d organisation puis le présenterai pour en obtenir un aperçu global. La partie la plus importante du rapport sera consacrée à la réalisation du projet, divisée en trois principales étapes qui sont l acquisition, le recalage, et le maillage. Enfin, je terminerai par présenter les résultats obtenus pour les évaluer, avant d exposer les perspectives d améliorations et d évolutions de ce projet. 7

9 Partie 1 : Cadre de l étude Dans cette première partie, je présenterai tout d abord le contexte de mon stage de fin d études effectué au Laboratoire d Informatique Fondamentale de Lille (LIFL), puis analyserai le projet réalisé au cours de ces six mois. 1. Environnement du projet 1.1. Laboratoire d Informatique Fondamentale de Lille (LIFL) Créé en 1983, Le laboratoire d'informatique fondamentale de Lille (www.lifl.fr) est une Unité Mixte de Recherche (UMR 8022) avec le CNRS et l'université Lille 1. Il est rattaché à l'institut des Sciences de l'information et de leurs Interactions (INS2I) du CNRS Organisation du laboratoire de recherche Actuellement, le laboratoire accueille plus de 250 personnes dans ses locaux. C est le plus important laboratoire français de recherche en informatique au nord de Paris.En effet il regroupe plus de cent enseignants-chercheurs, trente ingénieurs, techniciens et administratifs, et une centaine de doctorants. Le laboratoire est dirigé par Madame Sophie TISON, Directrice du LIFL, son Directeur adjoint Monsieur Pierre BOULET, et son Responsable financier Monsieur Lionel SEINTURIER Les axes de recherche du laboratoire de recherche Les activités du laboratoire se concentrent autour des nouveaux défis de l intelligence ambiante : la conception des infrastructures logicielles adaptées, le développement de nouveaux modes d interaction, et l exploitation intelligente du foisonnement de contenus disponibles. Ces activités sont structurées selon 3 thèmes principaux qui regroupent plusieurs équipes de recherche: - Interaction, Coopération, Images (ICI). - Infrastructures Logicielles et Systèmes Embarqués (ILSE). - Modèles, Algorithmes, Calcul (MAC). Le thème Interaction, Coopération, Images (ICI) regroupe cinq équipes du LIFL. L'équipe Fox-Miire travaille sur l'extraction du comportement humain à partir des flux vidéo et sur l'analyse statistique de formes 3D. L'équipe Mint travaille sur les interfaces hommes-machines et en particulier sur l'interaction gestuelle. L équipe Shacra positionne ses recherches sur des problèmes scientifiques issus de la 8

10 médecine numérique et en particulier la simulation médicale (par exemple: l'apprentissage d'une procédure chirurgicale sur simulateur). L'équipe SMAC travaille sur le domaine de l'intelligence Artificielle essentiellement sous l'aspect Génie Logiciel et plus précisément sur le thème de la modélisation de comportements entre entités virtuelles. L'équipe NOCE travaille sur les méthodes, outils et infrastructures pour les activités d'apprentissage et de travail collaboratives. Le thème Infrastructures Logicielles et Systèmes Embarqués (ILSE) regroupe cinq équipes du LIFL menant leurs activités de recherches dans les domaines du système, des réseaux et du génie logiciel. L'équipe DART s intéresse aux systèmes embarqués hautes performances, des architectures matérielles aux langages de programmation en passant par l'adaptation dynamique autant matérielle qu'au niveau des couches système. L'équipe RD2P travaille sur les aspects système et réseau pour les systèmes embarqués, portables et sécurisés. Les équipes ADAM, Cocoa et RMoD partagent la thématique Génie logiciel, avec pour ADAM unespécialisation sur l'adaptabilité des systèmes informatiques middleware, pour Cocoa la structuration et la réutilisation des modèles dans le cadre de l'ingénierie dirigée par les modèles, et pour RMoD la réingénierie et l'évolution des applications orientées objet. Les cinq équipes du thème ILSE regroupent 41 enseignantschercheurs et chercheurs permanents. Le thème "Modèles, Algorithmes, Calcul" regroupe les équipes du laboratoire axées autour de la définition de modèles de calcul, le développement d'algorithmes et de leur version parallèle ou distribuée, la définition de modèles et d'algorithmes pour l'apprentissage automatique. Le thème privilégie deux domaines d'applications. Le vivant : analyse de structures biologiques, modèles de calcul pour la biologie et fouille de données médicales, interfaces cerveaux-machines. Le commerce : systèmes de recommandation, fouille de masses de données, logistique et transport. 9

11 1.2. Equipe MIIRE (Multimédia, Image, Indexation et Reconnaissance) L équipe MIIRE(www-rech.enic.fr/miire/), dans laquelle j ai effectué ce séjour de fin d études, est une équipe de recherche spécialisée dans l analyse statistique de forme 3D. Cette équipe, dont les locaux se situent à TELECOM Lille 1, appartient au Laboratoire d Informatique Fondamentale de Lille. Crée en 2006, l équipe développe de nouvelles solutions mathématiques et arithmétiques en combinant plusieurs domaines d expertise tels que la géométrie, la topologie calculatoire, les statistiques, l apprentissage, la reconnaissance de forme, l informatique graphique, et la vision par ordinateur. Depuis 2007, l équipe MIIRE a publié 3 livres et 14 articles scientifiques, ainsi que participé à 23 conférences internationales et 8 conférences nationales Organisation de l équipe Actuellement l équipe est composée de 12 membres, dont 5 doctorants et deux stagiaires en projet de fin d études. Mohamed Daoudi Professeur Chef de l équipe Boulbaba Ben Amor Maître de conférences Jean-Philippe Vandeborre Maître de conférences - HDR Hazem Wannous Maître de conférences Hassen Drira Post-Doctorant LahoucineBallihi Doctorant Rachid Elkhoury Doctorant Rim Slama Doctorante Ahmed Maalej Doctorant Maxime Devanne Stagiaire PFE BaiqiangXia Doctorant Marion Detourmignies Stagiaire PFE Figure 1: Organigramme de l'équipe MIIRE 10

12 3D Face Recognition 4D Expression Recognition Axes de recherche de l équipe L équipe MIIRE se focalise sur l analyse statistique de formes 3D et de ses applications possibles. Plus concrètement, cela regroupe 3 principaux champs de recherche : - La segmentation, la comparaison, et l extraction de données 3D. - La reconnaissance de visages et d expressions faciales à partir de périphérique d'acquisition 3D. - L acquisition 3D. ❶ 3D Facial Shape Analysis and Recognition ❸ 3D Model Retrieval and Partial Retrieval ❹ 3D Human body modeling And analysis 3D models database Elastic radial curves Scalar Vector Field Boundaries extraction Final segmentation Topological Skeleton Identity Recognition Expression Recognition ❷ 3D Model Segmentation Figure 2: Schéma récapitulatif des axes de recherche de l'équipe MIIRE 11

13 La segmentation, la comparaison, et l extraction de données 3D. Les objets 3D sont de plus en plus sollicités dans de nombreux domaines tels que la conception assistée par ordinateur, l'imagerie biomédicale, les effets spéciaux 3D, les jeux vidéo, les univers virtuels 3D, etc. Ainsi, parmi les volumes considérables de documents multimédia disponibles, de grandes quantités de modèles 3D sont générées et utilisées grâce aux technologies récentes de numérisation et de modélisation 3D et grâce aux avancées des moyens de communication. Cependant, les systèmes proposés ces dernières années pour extraire, segmenter et analyser cette masse de données ne sont pas toujours adaptés à la 3D. Un des objectifs visés par l équipe MIIRE est donc de développer de nouveaux outils géométriques et statistiques permettant de segmenter, comparer et déformer des objets 3D. La reconnaissance de visages et d expressions faciales à partir de périphérique d'acquisition 3D. La télésurveillance, la biométrie, la chirurgie et les animations 3D sont autant de domaines dans lesquels on constate un intérêt croissant pour la 3D appliquée au visage. Cet intérêt est expliqué par l arrivée sur le marché de scanners transportables au prix abordable et qui sont capables de fournir une haute résolution d images. De ce fait, le développement d outils propres à l analyse de visages 3D est l un des objectifs de l équipe. L acquisition 3D. Aujourd hui, des progrès significatifs ont été accomplis dans le domaine des technologies de télévision 3D. De nombreux fabricants proposent des solutions matérielles pour les visualisations 3D immersives, et des ensembles 3DTV commencent à équiper nos salles de séjour. Bien que les technologies de visualisation 3D évoluent très rapidement, les technologies de gestion de contenu 3D, tels que l'acquisition, le stockage et la diffusion, sont encore loin derrière leurs homologues 2D. Malgré la quantité importante de documents qui ont été publiés dans ce domaine au cours des dernières années, plusieurs défis ne sont toujours pas 12

14 résolus, en particulier au niveau de la capture et de la reproduction détaillée de vidéo 3D de scènes dynamiques. L équipe MIIRE étudie et développe de nouvelles méthodologies pour amener les technologies 3DTV au niveau de l'utilisateur final. En particulier, l équipe se concentre sur l'acquisition 3D et sur le processus de création de contenu 3D.Aussi,l étude de nouvelles solutions algorithmiques et de nouveaux matériels, comme la caméra 3D Kinect de Microsoft, est un axe important des travaux du groupe de recherche MIIRE Les équipements de l équipe Pour mener à bien ses activités de recherche, l équipe MIIRE utilise de nombreux équipements aussi bien logiciels que matériels permettant l acquisition et le traitement d objets 3D. L ensemble de ces équipements a été financé par l université de Lille 1. Un logiciel très important dans le traitement de contenu 3D est Geomagic Studio. Ce logiciel permet de transformer les données 3D acquises d un objet en maquettesnumériques 3D réalistes de cet objet. De plus le logiciel offre la possibilité de comparer des modèles 3D pour évaluer la qualité de ceux-ci. Au niveau des matériels d acquisition, l équipe dispose d un scanner laser, de caméras stéréo, de caméras «Temps de vol», et de scanners et caméras à lumière structurée blanche comme l Artec L ou infrarouge comme la Kinect. Scanner Laser (Konica VIVID910) Caméra stéréo (Point Grey Blumblebee2) Scanner à lumière structurée (Artec L) Figure 3 : Exemple de matériaux d acquisition de l équipe MIIRE 13

15 2. Analyse du projet 2.1. Objectifs Initialement, l objectif principal de mon projet de fin d études était la modélisation 3D d un corps humain dynamique et l analyse de la déformation du corps en fonction de la pose. Pour réaliser cet objectif très ambitieux, nous nous sommes dans un premier temps concentrer sur l acquisition d objets statiques. Nous nous sommes rapidement rendu compte que cette première partie était déjà très importante et complexe. De plus, peu de travaux avaient été réalisés sur ce sujet. C est pourquoi l acquisition d un corps humain statique a été notre premier objectif. Concrètement, l objectif était de réaliser un système pour faire l acquisition d un corps humain, à l aide de caméras Kinect, pour ensuite modéliser ce corps humain en 3D. Il était très important de maitriser cette partie statique pour acquérir des solides connaissances utiles par la suite afind étendre notre système vers l acquisition de corps humains dynamiques Motivations du projet La modélisation 3D de corps humains existe depuis plusieurs années. Elle est réalisée à partir de scanners 3D très précis mais aussi très coûteux. Ainsi, la première motivation de notre projet est de réaliser une modélisation 3D à partir d outils très abordables en matière de coût. En effet, Les scanners 3D coûtent aujourd hui au moins quand la Kinect peut être achetée pour 150. Ce faible coût permet ainsi à un utilisateur lambda de posséder une Kinect chez lui. Réaliser un tel système de modélisation 3D à partir de la Kinect permettrait donc d apporter la possibilité à un grand nombre de personnes de modéliser des objets 3D à leur domicile. De plus, la Kinect est une technologie encore récente aujourd hui. Même si beaucoup de projets ont été réalisés à partir de cette technologie, il y a encore beaucoup de domaines et d applications à explorer pour étendre les possibilités autour de la Kinect. Enfin, la réalisation d un tel projet permet à l équipe MIIRE de consolider son expérience dans le domaine de la vision 3D. Ce projet apporte ainsi un nouvel horizon à l équipe pour étendre son expertise et son savoir-faire. En effet, c est le premier projet de l équipe réalisé à partir de la Kinect. Les connaissances autour de la Kinect acquises grâce à ce projet pourront être réutilisées pour étendre le projet à l acquisition dynamique ou pourront être adaptées à des projets en cours ou déjà réalisés par l équipe MIIRE. 14

16 2.3. Organisation du projet L équipe Mon projet a été co-encadré par M. WANNOUS, Maître de conférencesà l Université de Lille 1 et membre de l équipe MIIRE, et M. LOSSON, Maître de conférences à l Université de Lille 1 et membre du laboratoire LAGIS. Cette collaboration autour du projet a permis un partage des connaissances et des points de vue pour un meilleur fonctionnement du projet. Nous faisions régulièrement des petites réunions pour énoncer l avancement du projet, les problèmes rencontrés, et les tâches futures à effectuer. Ces réunions m ont permis de ne pas rester bloqué sur certains points pour continuer de mener à bien le projet. De plus, nous faisions une fois par mois un point avec le chef de l équipe M. DAOUDI. Ce point avait pour but d informer le chef pour qu il puisse nous apporter de nouvelles idées et avis sur nos travaux. Ces réunions m ont permis de m organiser et prendre du recul sur le projet pour expliquer clairement son avancement, les points qui m ont posé problème, et les solutions que nous avons trouvées. Le reste du temps, je travaillais en autonomie sur le projet. J ai ainsi pu proposer mes propres idées pour essayer de résoudre certains problèmes rencontrés. De plus, cette autonomie m a permis de développer une rigueur de travail indispensable dans un projet de recherche Planification Ce projet n a pas fait l objet de planification détaillée au préalable. En effet, c est un projet de recherche qui ne peut pas prévoir à l avance les étapes du projet et les tâches qui seront effectuées. Cependant, nous savions que la première partie du projet serait consacrée à l étude d articles scientifiques pour prendre connaissance de l état de l art. De plus nous avionsune idée globale des principales phases du projet comme par exemple l acquisition et le recalage. Les phases du projet étaient mises à jour à chaque réunion. Des objectifs à court terme ont été fixés à chaque réunion pour permettre le bon déroulement du projet. Le planning suivant a été réalisé à la fin du projet pour résumer le déroulement de celui-ci. 15

17 Figure 4 : Planning du déroulement du projet 16

18 Environnement de travail Pour réaliser ce projet, l équipe a mis à ma disposition un ordinateur doté d un processeur quadri cœur et de 4Go de mémoire RAM, ainsi que plusieurskinects. J avais aussi accès à tous les autres équipements comme les scanners 3D. Au niveau des logiciels de développement pour prendre en main la Kinect et récupérer les informations qu elle fournit, il existe tout d abord le SDK (Software Development Kit) officiel de Microsoft, ainsi que le Framework «open source» OpenNI (openni.org/) publié par l entreprise PrimeSense créatrice du capteur de profondeur utilisé par la Kinect. Ce Framework est accompagné d un driver open source pour la Kinect et d un middleware propriétaire, appelé NITE, pour le traitement des images de profondeur [Lejeune 2012]. Nous avons décidé d utiliser le FrameworkOpenNI car étant plus ancien, beaucoup de projets ont déjà été réalisés avec ce logiciel. La communauté d utilisateurs d OpenNI est ainsi plus développée et nous pouvons plus facilement trouver des réponses à nos questions. Pour réaliser notre système, nous avons utilisé la programmation en C++ et Microsoft Visual Studio 2010 comme environnement de développement. Pour le traitement des données acquises par la Kinect, nous avons utilisé une bibliothèque appelée PCL (Point Cloud Library) [PCL 2012], spécialisée dans le traitement des nuages de points 3D. Cette bibliothèque est très intéressante et fournit des implémentations d algorithmes qui seront très utiles pour notre projet. Pour visualiser nos résultats intermédiaires et finaux, nous avons utilisé le logiciel Meshlab qui permet de visualiser et manipuler facilement les modèles 3D. De plus, l équipe MIIRE dispose du logiciel GeoMagic que nous avons utilisé pour l évaluation de nos résultats Financement Outre mon indemnité de stage financée par le LIFL, il n y a pas eu de financement particulier lié à ce projet. Le peu de matériel acheté (support pour Kinects) spécifiquement pour ce projet a été acheté sur le budget global de l équipe MIIRE. En effet, le matériel peut être réutilisé pour d autres projets futurs de l équipe. 17

19 Partie 2 : Présentation du projet Dans cette deuxième partie, je commencerai par présenter l élément principal nécessaire au projet, la Kinect de Microsoft. Ensuite, je présenterai un bref aperçu de l état de l art avant d exposer la solution que nous avons proposée pour atteindre les objectifs du projet. 1. CaméraKinect La Kinect est une caméra 3D créée initialement par Microsoft pour l industrie des jeux vidéo. En effet, la Kinect permet à l utilisateur de contrôler le jeu sans utiliser de manette mais uniquement grâce aux mouvements du corps. Figure 5 : La Kinect de Microsoft Devant l étendue de possibilités offertes par la Kinect, des logiciels de développement «open source» ont été créés pour manipuler la Kinect par ordinateur et créer des applications utilisant la Kinect Kinect en chiffre La Kinect est sortie le 4 novembre 2010 en Amérique du Nord et le 10 novembre 2010 en Europe. Cette nouvelle technologie ne coûte que 150. Plus de 8 millions d exemplaires de la Kinect ont été vendus partout dans le monde 2 mois après sa sortie, dont un million en seulement 10 jours. Le 11 mars 2011, la Kinect entre au livre Guinness des records comme étant «l'accessoire high-tech le plus vendu dans un court laps de temps» avec 10 millions d'unités vendues, soit une moyenne officielle de Kinects vendues chaque jour à travers le monde. Aujourd hui, plus de 100 millions d exemplaires ont été vendus. 18

20 1.2. Carcatéristiques de la Kinect Capteurs : Caméra couleur et capteur de profondeur Micro à reconnaissance vocale Motorisation : Ensemble motorisé pour suivre les déplacements Inclinaison: ± 27 degrés Champ de vision : Champ de vision horizontal : 57 degrés Champ de vision vertical : 43 degrés Portée du capteur : 0,8 m 4,0 m Flux de données : Infrarouge 640x480 à 30 images par seconde RVB 640x480 à 30 images par seconde Audio 16 bits à 16 khz Système de reconnaissance physique : Jusqu à 6 personnes et 2 joueurs actifs (4 joueurs actifs avec le SDK 1.0) 20 articulations par squelette 1.3. Fonctionnement de la Kinect Les différents composants de la Kinect Comme le montre la figure 6, la Kinect est composée de plusieurs capteurs audio, d une caméra RVB (Rouge, Vert, Bleu), d un projecteur infrarouge, d une caméra infrarouge, et d un pied motorisé. Projecteur infrarouge Plusieurs capteurs audio Caméra RVB Caméra infrarouge Pied motorisé Figure 6 : Les composants de la Kinect Grâce à tous ces composants la Kinect fournit trois flux différents qui sont le flux audio, le flux vidéo, et le flux de profondeur. 19

21 Le flux audio Le flux audio provient des capteurs audio et permet la fonctionnalité de reconnaissance vocale. Pour notre projet, ce flux n est pas utilisé Le flux vidéo Le flux vidéo provient de la caméra RVB qui fonctionne comme toutes les autres caméras 2D. Elle fournit des images de résolution 640x480 à un taux de 30 images par seconde. Ce flux sera très important pour notre projet. Il permet de fournir les images couleurs captées par la Kinect. Figure 7 : Image couleur fournie par la Kinect Le flux de profondeur Le flux de profondeur est le plus important car il fait l originalité de la Kinect en la différenciant des habituelles caméras vidéo. Ce flux fournit une carte de profondeur donnant pour chaque pixel la distance dans l espace 3D entre l objet représenté par ce pixel et la caméra. On peut facilement transformer la carte de profondeur en image de profondeur en niveau de gris pour visualiser la profondeur. Figure 8 : Image de profondeur fournie par la Kinect La carte de profondeur est calculée grâce au projecteur infrarouge et à la caméra infrarouge en utilisant le principe de la lumière structurée. 20

22 1.4. Lumière structurée Le principe de lumière structurée permet d obtenir l information de profondeur d objets présents dans une scène en projetant un motif lumineux sur les objets et en analysant la déformation de ce motif au contact des objets Projection d un motif connu Tout d abord, la Kinect projette un motif infrarouge dans la scène. Ce motif étant infrarouge, il est invisible à l œil nu. Au contact des objets de la scène, le motif se déforme comme le montre la figure Motif initial Objet Figure 9 : Exemple de motif infrarouge projeté par la Kinect Projecteur Motif déformé Figure 10 : Schéma de la déformation du motif Analyse du motif déformé Le capteur infrarouge étant légèrement décalé du projecteur infrarouge, il peut ainsi capter la déformation du motif pour comparer ce motif avec un motif de référence. Le motif de référence correspond au même motif projeté sur un plan à une distance connu par la Kinect, puis capturé et stocké en mémoire par le capteur. Lorsqu un point du motif est projeté sur un objet de la scène, il est déplacé dans la direction parallèle à l axe entre la caméra et le capteur infrarouge, appelée ligne de base. Ce déplacement observé par la caméra est appelé la disparité. Pour chaque point du motif projeté, la disparité est calculée grâce au motif de référence, pour ainsi déduire sa profondeur dans l espace objet. La figure 11, inspirée de [Khoshelham 2011],schématise le calcule de la disparité d pour un point objet k. Le point du motif projeté correspond au point k et le même point du motif de référence correspond au point o. 21

23 o Plan de référence D k Plan objet Zo Zk f Z X C (caméra IR) L (projecteur IR) d b Figure 11 : Calcul de la disparité Grâce au théorème des triangles semblables, on peut obtenir les relations suivantes : (1) D Zo Zk (2) = b Zo d f = D Zk D est le déplacement du point du motif projeté, b est la distance entre la caméra infrarouge et le projecteur infrarouge, Zo est la distance du plan de référence, Zk est la distance de l objet, et f est la distance focale de la caméra. Zk, b, et f sont connus par la caméra. En remplaçant D de (2) dans (1), on peut ainsi exprimer la profondeur Zk : (3) Zk = Zo 1 + Zo fb d Précision de la Kinect Le motif infrarouge est projeté sur les objets de la scène. Plus l objet est éloigné, plus les points sont diffractés et éloignés les uns des autres. Plus les points du motif déformé sont éloignés les uns des autres, plus la précision du calcul de profondeur est faible. Ainsi, la précision des informations dépend de la distance de l objet par rapport à la caméra. 22

24 2. Etat de l art Le monde de la recherche scientifique est en constante évolution. Particulièrement, le domaine de la vision 3D évolue de manière très rapide, notamment grâce à son côté attractif et l apparition de nouvelles technologies. C est pourquoi il est primordial de réaliser un état de l art avant de commencer un projet. Cela peut en effet permettre d acquérir de nombreuses connaissances dans le domaine mais aussi de réaliser un projet plus cohérent en s inspirant d idées déjà réalisées. La lecture d articles scientifiques peut aussi apporter un moyen de comparer notre travail avec ceux précédemment réalisés. Pour cet état de l art, j ai retenu trois articles principaux qui m ont appris beaucoup de choses dans le domaine de la 3D, qui nous ont inspiré pour mener à bien notre projet, et qui nous ont permis de nous comparer. Les références de ces articles principaux sont présentes dans la bibliographie Building a 3D Map from RGB-D sensors Ce rapport de thèse de 2011 [Högman 2011]porte sur la construction d une carte 3D à partir de la Kinect. Dans ce cas, c est la caméra fixée sur un robot qui se déplace dans une scène pour la reconstruire en 3D. La Kinect réalise ainsi une acquisition d une série de vues différentes de la scène dans le but de la modéliser en 3D. Dans un premier temps le travail réalisé porte sur la détection de points caractéristiques sur les images couleur pour ensuite trouver des correspondances entre les points caractéristiques d une image et ceux d une deuxième image couleur. Ce travail présente différents algorithmes de détection de points caractéristiques comme SIFT (Scale-Invariant FeatureTransform)[Lowe 2004], SURF (Speeded Up RobustFeatures)[Bay 2006], NARF (Normal Aligned Radial Feature)[Steder 2010], ou BRIEF (BinaryRobust Independent ElementaryFeature)[Calonder 2010]. Dans un deuxième temps, le travail porte sur l estimation de la transformation 3D entre deux acquisitions successives. Pour cela il présente deux méthodes existantes qui sont RANSAC (RANdomSAmple Consensus) [Fishler 1981]et ICP (IterativeClosest Point)[Zhang 1994]. Enfin, le travail évoque le problème de fermeture de boucle et sa résolution par l optimisation des graphes, pour recaler globalement l ensemble des acquisitions. 23

25 Bien que ce travail ait des objectifs différents puisque c est la caméra qui se déplace pour reconstruire une carte 3D, il utilise de nombreuses méthodes intéressantes qui nous seront très utiles pour mener à bien notre projet KinectFusion: Real-Time Dense Surface Mapping and Tracking Cet article a été réalisé par des chercheurs de Microsoft Research publié lors de la conférence ISMAR 2011 (Internation Symposium on Mixed and Augmented Reality)[Newcombe 2011]. Ce travail présente un système qui permet en temps réel de modéliser en 3D une scène intérieure complexe et arbitraire sujette à des conditions d éclairage variables, tout cela à partir de la Kinect. Pour cela le travail est séparé en quatre étapes. Dans un premier temps, la surface est déterminée à partir de la carte de profondeur fournie par la Kinect. Un filtre bilatéral est appliqué sur la carte de profondeur pour lisser les valeurs de profondeur et réduire le bruit dû à l acquisition. A partir de l image filtrée, unnuage de points 3D est construit puis les normales sont calculées en chaque point grâce au voisinage. Dans un deuxième temps, la pose de la caméra doit être déterminée. Pour cela, une mise en correspondance via l algorithme ICP est utilisée avec la carte de profondeur actuelle et lenuage de points 3D précédent. La pose de la caméra est estimée en alignant la surface mesurée et le modèle prédit à partir de la carte de profondeur précédente. Lorsque la pose de la caméra est connue, les points 3D peuvent être intégrés dans une représentation volumétrique globale de la scène. Chaque volume de pixel extérieur à l objet possède une valeur positive et chaque volume de pixel à l intérieur de l objet possède une valeur négative. Pour rendre le volume de la scène 3D du point de vue de la caméra, la technique de «lancer de rayon» [Parker 1998]est utilisée. Pour chaque pixel, un rayon est projeté à travers le volume de pixels et le rayon heurte la surface lorsqu il passe d une valeur positive à une valeur négative. A cette position précise, un point et sa normale sont créés. Pour assurer le fonctionnement de leur algorithme en temps réel, la programmation via GraphicsProcessing Unit (GPU) est utilisée. 24

26 2.3. Scanning 3D Full Human Bodies using Kinects Cet article a été publié dans le journal IEEE Transactions on Visualization and Computer Graphics (TVCG) en avril 2012[Tong 2012]. C est le travail qui est le plus proche du notre puisque son objectif est le même. En effet, ce travail modélise un corps humain 3D à partir de trois Kinects. La première étape du travail est de générer un modèle estimé de la surface du corps humain (template) à partir de la première acquisition, basé sur une méthode de l état de l art [Hasler, 2009]. Leur template contient uniquement 50 à 60 points. C est un modèle très grossier de la surface du corps humain. Pour chaque acquisition le modèle est déformé grâce à des méthodes de recalage qui détectent des correspondances entre deux acquisitions successives et estiment une transformation. Pour projeter une acquisition sur le modèle grossier de la première acquisition, les transformations inverses des précédentes acquisitions sont utilisées afin de déformer le modèle grossier et le faire correspondre à l acquisition actuelle. Ensuite, un recalage global est effectué pour minimiser l erreur globale de recalage et la répartir sur chaque acquisition. La surface du corps humain peut alors être reconstruite. Les auteurs présentent leur système comme étant adapté aux diverses applications comme l'animation3d etl habillementvirtuel. Toutefois, leur évaluation est basée seulement sur six mesures «biométriques» prises manuellement sur le corps sans aucune évaluation qualitative à l aide d une vérité terrain. La lecture de ces articles nous a permis d avoir un aperçu sur les travaux réalisés sur la modélisation 3D à partir de la Kinect. Nous avons pu ainsi utiliser quelques idées pour les adapter à notre projeten corrigeant certaines faiblesses détectées dans ces méthodes. Pour ma part, ces articles m ont permis de me familiariser avec le vocabulaire de la vision 3D et acquérir des connaissances nécessaires pour la réalisation d un tel projet. 25

27 3. Solution proposée La lecture des articles nous a permis de proposer une solution pour la modélisation 3D de corps humains à partir de la Kinect. La figure suivante présente un schéma global de notre solution. Figure 12 : Schéma global de la solution proposée Cette solution qui peut se diviser en trois blocs majeurs qui sont l acquisition, le recalage, et le maillage, est décrite dans le détail dans la partie suivante. 26

28 Partie 3 : Travaux réalisés Dans cette troisième partie, je présenterai l ensemble des travaux que j ai réalisés au cours de ce stage pour mener à bien le projet. Ces travaux peuvent se diviser en trois parties majeures. Tout d abord, l acquisition permet de capturer les informations sur le modèle, filmées par la caméra Kinect à chaque instant. Ensuite, le recalage permet de réunir toutes ces informations pour former une première version du modèle en nuage de points. Enfin, le maillage permet de transformer le nuage de point en un ensemble de facettes pour formerune surface 3D du corps humain complet. 1. Acquisition La première étape du projet est l acquisition du corps humain qui est effectuée grâce à la caméra 3D de Microsoft : la Kinect. La caméra est placée face au corps humain que l on souhaite modéliser Acquisition du corps humain complet Le but de l acquisition est d obtenir le maximum d informations possibles sur la surface du corps humain pour pouvoir par la suite modéliser ce dernier. En effet, pour modéliser un corps complet, il est nécessaire d acquérir les informations sur toutes les parties du corps Utilisation d une table tournante Cependant, le corps humain étant une surface fermée, la Kinect ne voit à un instant donné qu une partie de cette surface. Par exemple, si la personne que l on veut modéliser se trouve face à la caméra, le dos et les profils de son corps ne sont pas visibles par la caméra et les informations sur ces parties du corps ne peuvent donc pas être acquises. Pour palier ce premier problème, nous avons décidé de placer la personne à modéliser sur une table tournante face à la caméra. La table étant tournante, la caméra voit à chaque instant une vue différente de celle de l instant précédent. Nous pouvons ainsi acquérir l ensemble des vues pendant un tour complet de la table tournante et ainsi obtenir toutes les parties du corps à modéliser. La table tournante à notre disposition réalise un tour complet en 50 secondes. Notre système a un taux de capture de 10 images par secondes. Comme nous des prétraitements sur les informations capturées en temps réel, ce taux est plus faible que celui indiqué dans les caractéristiques de la Kinect. C est un taux néanmoins suffisantpour capturer les informations nécessairesà la modélisation du corps 27

29 humain. En effet, avec un tel taux, nous faisons l acquisition de 500 vues différentes du corps humain en un tour de table tournante (360 ). Avec une capture toutes les 100 millisecondes, l angle de rotation de la table entre deux captures est de l ordre de 1,4. L angle est relativement petit et ces 500 vues obtenues fournissent donc un nombre très important d informations sur l ensemble du corps humain Parties du corps manquantes Malgré l utilisation d une table tournante pour faire l acquisition du corps humain complet, il reste des parties du corps qui n apparaissent dans aucune des vues. En effet, ces parties du corps sont cachées et ne sont jamais visibles par la caméra quelle que soit la position de la caméra et de la table tournante. On peut retrouver par exemple parmi les parties manquantes le sommet de la tête, le dessous du menton, les profils du buste qui peuvent être cachés par les bras, le dessous de l entre-jambe, etc. Figure 13 : Exemple de parties du corps manquantes Ce problème de zones manquantes est un problème que l on peut retrouver dans beaucoup de systèmes d acquisitions[li 2011]. Il peut être corrigé en utilisant beaucoup de caméras pour rendre visibles ces parties du corps, ou en estimant ces zones manquantes grâce à des méthodes statistiques dur le corps humains, ou des algorithmes de restauration qui se basent sur le voisinage de ces parties manquantes [Allen 2003, Anguelov 2005]. Dans notre cas, nous nous concentrons sur l acquisition 28

30 des parties visibles et certaines parties cachées seront traitées dans une étape ultérieure de restauration par bouchage de trous Système mono-kinect / multi-kinect Le champ de vision de la caméra Kinect étant limité, comme énoncé dans la partie précédente, il faut faire attention à ce que celui-ci intègre toute la hauteur du corps, des pieds jusqu à la tête. Pour cela, il existe deux solutions : un système mono-kinect qui n utilise qu une seule caméra, ou un système multi-kinect qui utilise plusieurs caméras en combinant leur champ de vision Système mono-kinect Le système mono-kinect est comme son nom l indique un système constitué d une seule kinect. Pour que toute la hauteur du corps humain soit présente dans le champ de vision de la caméra à un instant donné, il est nécessaire de placer la caméra à une distance importante. En effet, la Kinect ayant un champ de vision vertical de 43, pour une personne moyenne de 1,80m, la caméra doit donc être placée à une distance de 2,28m. H=1,80m 43 D=0,9/tan(22,5) = 2,28m Figure 14 : Schéma de la position de la Kinect 29

31 L avantage de ce système est qu il n utilise qu une seule Kinect et limite ainsi le coût matériel. Cependant, la caméra étant à une distance importante du corps humain à modéliser, la qualité des informations capturées est nettement altérée, comme montré dans la partie précédente.la bonne qualité des informations capturées par la caméra est très importante pour modéliser le corps humain en 3D. C est pourquoi nous avons décidé d utiliser un système multi-kinects afin d améliorer la qualité de capture Système multi-kinect Le système multi-kinects est composé de plusieurs caméras situées autour de la personne à modéliser, à des hauteurs différentes. De ce fait, le champ de vision de chaque caméra contient une partie du corps différente. Cela permet de disposer les caméras à des distances plus proches de la personne à modéliser pour obtenir une meilleure qualité des informations capturées.plus on utilise de caméras, plus les distances peuvent être diminuées (jusqu à la distance minimale) et plus la qualité d acquisition est améliorée. En combinant les informations capturées par chaque caméra, on obtient les informations pour toute la hauteur du corps humain. Figure 15 : Exemple de système avec 3 Kinect Cependant, outre l augmentation évidente du coût matériel dû à l utilisation de plusieurs caméras, le système multi-kinect peut complexifier l acquisition. En effet, un même contrôleur USB ne peut accueillir qu une seule Kinect. La plupart des ordinateurs disposant uniquement de un ou deux contrôleurs USB, on ne peut donc brancher au maximum que deux Kinect sur une même machine. Ainsi, pour utiliser plus que deux Kinect, il faut disposer de plusieurs ordinateurs. Cela engendre donc des coûts matériels supplémentaires et des difficultés de synchronisation des machines à gérer. Pour éviter ces coûts et simplifier notre système, nous avons décidé d utiliser uneconfiguration à deux caméras. 30

32 1.3. Notre configuration à deux caméras Kinect Pour réaliser notre système à deux caméras, nous avons utilisé un support vertical sur lequel nous avons fixé deux supports pour Kinect pour fixer les caméras sur le support. Les deux caméras sont donc fixées l une au-dessus de l autre à une distance de 80cm pour capturer toute la hauteur du corps humain tout en gardant une zone de chevauchement des champs de vision. Cette zone de chevauchement permet une mise en correspondance plus aisée de chaque partie du corps acquise par chaque caméra. Pour une personne moyenne de 1,80m, nous pouvons ainsi placer notre support à une distance de 1,50m pour capturer tout le corps humain tout en garantissant une bonne qualité des informations. Notre support étant mobile verticalement, nous pouvons l adapter à différentes tailles de corps humain à modéliser en modifiant la différence de hauteur entre les deux caméras et la distance entre la personne et le support. Figure 16 : Notre système à deux Kinect 31

33 Problème de synchronisation Un premier problème qui peut se poser avec une telle configuration à deux caméras est le problème de synchronisation. En effet, on peut se demander s il est important que les deux caméras capturent les informations correspondant à la même vue exactement en même temps. Il est possible grâce à la programmation parallèle de synchroniser les caméras pour que les deux captures soient réalisées en même temps. Néanmoins, la cadence d acquisition de notre système est beaucoup plus rapide que la vitesse de rotation de la table tournante. Ainsi, si les captures des deux caméras sont réalisées en alternance, la différence de temps entre la capture de la première Kinect et la capture de la seconde Kinect est très minime (de l ordre du dixième de seconde) par rapport à la vitesse de rotation du plateau tournant. On peut donc considérer que la capture des deux caméras est simultanée. Afin de ne pas trop complexifier notre système, nous avons donc décidé de ne pas utiliser la programmation parallèle pour synchroniser les caméras Problème d interférences Un second problème qui se pose avec une configuration à deux Kinect dont les champs de vision se chevauchent est le problème d interférence. Comme expliqué dans la partie précédente, la Kinect projette puis capture une grille infrarouge. Or, si les champs de vision des deux Kinects se chevauchent, une caméra capte ainsi une partie de la grille infrarouge de l autre Kinect. Cette partie de grille infrarouge est donc inconnue par la Kinect et correspond donc à des points aberrants. Ces points aberrants sont traduits par des valeurs nulles dans la carte de profondeur. Il y a donc des points manquants dans la vue capturée par la Kinect. Figure 17 : Image de profondeur montrant l effet d interférences 32

34 Comme le montrel image de profondeur de la figure 17, les points aberrants se traduisent par des points noirs (valeurs nulles). On peut alors se demander si ces interférences sont gênantes ou non pour la modélisation de notre modèle. Etant donnésla cadence d acquisition et la vitesse de rotation de la table, il y a beaucoup de chevauchementet donc de similarités entre deux vues successives. Les interférences diffèrent à chaque vue car elles dépendent des grilles infrarouges aléatoires. Ainsi des points qui sont manquants dans une vue ne le sont pas dans la vue suivante. En combinant ces deux vues, on enlève les points aberrants de la première vue. Le grand nombre de vues acquises corrige donc ce problème d interférence Transformation en nuage de points 3D Avec les informations acquises par la Kinect, on peut créer pour chaque vue le nuage de points 3D correspondant. Néanmoins, il est important de réaliser un calibrage des caméras au préalable pour garantir l exactitude du nuage de points. Il y a deux calibrations à effectuer, une calibration mono et une calibration multi Calibrage mono La calibration mono est réalisée pour chacune des deux Kinect individuellement. Cette calibration permet d obtenir les paramètres intrinsèques de chaque caméra. Ces paramètres comprennent la distance focale de la caméra ainsi que les coefficients de distorsion qui corrigent l effet de distorsion capturé par la caméra lié à la physique de la lentille de celle-ci. Ces paramètres sont très importants pour la création du nuage de points 3D fidèle au monde réel. Pour réaliser ce calibrage mono, nous utilisons un logiciel créé par Nicolas Burrus[Burrus 2011]. Ce programme,basé sur un fameux outil de calibration[bouguet 2008], a besoin en entrée d une série de vues d un échiquier dans différentes positions capturée par la Kinect. Le programme détecte les coins de l échiquier pour chacune des vues. En précisant le nombre de carreaux verticaux et horizontaux de l échiquier, ainsi que la taille en mètre d un carreau, il calcule les paramètres intrinsèques de la caméra grâce à l image couleur de chaque vue et la carte de profondeur correspondante. 33

35 Figure 18 : Exemple de vue pour lecalibragemono Une fois le calibrage mono effectué pour les deux caméras, les paramètres intrinsèques trouvés sont fixes et propre à chaque caméra. Lecalibrage mono est donc nécessaire une seule fois pour chaque caméra Calibrage multi Lecalibrage multi permet d obtenir la position de la deuxième caméra par rapport à la première caméra. Elle permet d obtenir la transformation à effectuer sur les informations acquises par la seconde Kinect pour les faire correspondre aux informations acquises par la première Kinect. Cette transformation se traduit par une matrice extrinsèque à appliquer au nuage de points de la seconde Kinect. Pour réaliser cecalibrage multi, nous utilisons toujours un logicielde Nicolas Burrus. Le programme a besoin en entrée d une série de vues de l échiquier dans différentes positions acquises par la première Kinect et d une série de vues des mêmes positions acquises par la seconde Kinect. Chaque position de l échiquier est acquise par les deux caméras. Il faut donc placer l échiquier dans la zone de chevauchement des champs de vision des deux caméras. a) Kinect H b) Kinect B Figure 19 : Exemple de vues pour lecalibragemulti 34

36 De la même façon que pour lecalibrage mono, le programme détecte les coins de l échiquier pour chaque vue et détecte ainsi les points correspondants entre les vues de la première Kinect et les vues de la deuxième Kinect. Grâce à la carte de profondeur correspondant à chaque vue, il peut calculer une matrice de transformation pour recaler la vue de la deuxième caméra par rapport à la première caméra. Le contenu d une matrice de transformation sera expliqué plus en détail par la suite. Tant que les deux caméras restent fixes, la matrice de transformation trouvée reste valable. Lecalibrage multi est donc en théorie à réaliser une seule fois uniquement Création du nuage de points 3D Pour chaque vue, lors de l acquisition d une image couleur 2D, la Kinect fournit une carte de profondeur de taille 640x480. La carte de profondeur donne pour chaque pixel de l image couleur sa valeur de profondeur correspondante. En utilisant ces informations et les paramètres intrinsèques de la caméra trouvés grâce aucalibrage mono, on peut créer un nuage de points 3D correspondant à la vue. Les paramètres intrinsèques fournis par lecalibrage mono sont la distance focale en abscisse Fx, la distance focale en ordonnée Fy, le coefficient de distorsion en abscisse Cx, et le coefficient de distorsion en ordonnée Cy. On peut ainsi transformer chaque pixel 2D de coordonnées (i, j) en point 3D de coordonnées (x, y, z) grâce aux formules suivantes : z = valeur de profondeur du pixel (i, j) x = (i Cx) * z / Fx y = (j Cy) * z / Fy On réalise ce calcul pour chaque pixel de la carte de profondeur pour obtenir un nuage de points 3D correspondant. En effectuant la même opération pour toutes les vues, on obtient les nuages de points 3D pour chaque vue. En appliquant la matrice de transformation trouvée grâce aucalibrage multi, on modifie les nuages de points correspondants à la deuxième Kinect pour les recaler par rapport aux nuages de points de la première Kinect. En concaténant les deux nuages de points pour chaque vue, on obtient un nuage de points du corps entier pour chacune des vues. 35

37 Figure 20 : Exemple de nuage de points 3D Seuillage de la profondeur Une vue contient des informations sur le corps humains mais aussi son environnement et notamment l arrière-plan. Pour garder uniquement les informations sur le corps humain, on réalise de la seuillage en profondeur. Concrètement, lorsque la valeur de profondeur d un pixel est supérieure à un seuil, la transformation du 2D vers le 3D n est pas appliquée sur ce point. Le nuage de points ne contient donc que les points 3D dont la coordonnée z est inférieure au seuil. Dans notre cas, la caméra étant située à 1,50m de la personne à modéliser, on utilise 1,50 comme valeur de seuil. Le seuillage est effectué avant de combiner les nuages de points de la première Kinect avec ceux de la seconde Kinect. Le seuillage est très important pour deux raisons. D abord, il permet d éliminer beaucoup de points inutiles et ainsi alléger le nuage de points. Ensuite, il élimine des points qui restent immobiles tout au long de l acquisition (l arrière-plan), contrairement aux points du corps humain situé sur la table tournante qui eux bougent. Comme nous le verrons après, les points immobiles altèrent la qualité de recalage des nuages de points. 36

38 a) Nuage non seuilé b) Nuage seuillé Figure 21 : Seuillage du nuage de points Sauvegarde du nuage de points Pour pouvoir réutiliser les nuages de points créés ou les afficher dans des programmes de visualisation 3D, il est nécessaire de sauvegarder ces nuages dans un format standard. Le format de fichier que nous utilisons est le format «Polygon File Format» (.ply). C est un format lisible par de nombreux logiciels de vision 3D. Un fichier.ply est un fichier qui liste l ensemble des coordonnés (x, y, z) de chaque point 3D du nuage de points. 37

39 Schéma récapitulatif Calibrage mono Kinect H Calibragemono Kinect B Carte de profondeur Kinect H Carte de profondeur KinectB Calibrage multi Nuage de points 3D Kinect H Nuage de points 3D KinectB Seuillage Seuillage Nuage de points seuillé KinectH Nuage de points seuillé KinectB Matrice extrinsèque Nuage de points transformé KinectB Nuage de points complet Figure 22 : Schéma récapitulatif de l acquisition 38

40 2. Construction du modèle en nuages de points 3D Une fois que nous sommes en possession de l ensemble des nuages de pointsseuillés et assemblés (Kinect H + Kinect B), il faut maintenant les combiner pour former une première version du modèle 3D en un unique nuage de points. Pour cela, nous utilisons le recalage Recalage des nuages de points Recaler un nuage de pointspar rapport à un nuage de référence (le nuage précédent par exemple) signifie trouver la matrice de transformation qui permet de modifier la position géométrique dans l espace des points de ce nuage pour qu ilscoïncident autant que possible auxpoints du nuage de référence Le but du recalage En effet, lors de l acquisition la caméra est fixe et la personne à modéliser tourne. Ainsi, chaque vue est acquise de face par la caméra. Par exemple, si l on combine deux nuages de points consécutifs, ils sont superposés comme le montre la figure 23 a). Le but du recalage est de trouver la transformation à appliquer sur le deuxième nuage de points pour la déplacer dans l espace 3D et la recaler par rapport au nuage de points de la vue de face, comme le montre la figure 23 b). a) Vues non recalées b) Vues recalées Figure 23 : Recalage de deux vues Le recalage est effectué sur tous les nuages de points pour les recaler par rapport au premier nuage. Pour cela, nous utilisons le recalage par paire de nuages. 39

41 Recalage cumulatif par paire de nuages Le recalage cumulatif par paire de nuages signifie que l on effectue le recalage pour une paire de nuages de points correspondant à 2 vues successives, puis sur la paire de nuages suivante, ainsi de suite jusqu au dernier nuage de points. Par exemple, pour recaler trois nuages de points ensemble, on recale d abord le deuxième nuage (N2) sur le premier nuage (N1). On obtient un deuxième nuage recalé (N2 ). Ensuite, on recale le troisième nuage (N3) sur le deuxième nuage recalé (N2 ) pour obtenir un troisième nuage recalé (N3 ) par rapport au deuxième nuage mais aussi au premier nuage. En concaténant les nuages N1, N2 et N3, on obtient un nuage unique cohérent correspondant aux trois nuages de points. La figure 24 illustre l exemple du recalage de trois nuages de points. N1 N2 N3 Recalage N2 Recalage N3 Figure 24 : Schéma du recalage cumulatif par paire de nuages Matrice de transformation Comme énoncé auparavant, recaler un nuage de points sur un autre nuage consiste à trouver la matrice de transformation à appliquer au second nuage pour le faire coïncider avec le premier. Dans notre cas, les transformations sont dites «rigides». C'est-à-dire qu elles sont constituées d une rotation et d une translation uniques pour tous les points du nuage. En effet, la personne à modéliser étant fixe, tous les points d un nuage subissent la même transformation pour être recalés sur le nuage précédent. La matrice est de taille 4x4. Elle est constituée de la matrice de rotation (3x3) et du vecteur de translation (3x1). On adjoint à cette matrice les coordonnées dites homogènes pour rendre la matrice carrée de taille 4x4. Rotation R11 R12 R13 T1 R21 R22 R23 T2 Translation R31 R32 R33 T Coordonnées homogènes Figure 25 : Schéma de la matrice de transformation 40

42 Méthodes de recalage Pour réaliser le recalage, nous avons utilisé deux méthodes différentes que j explique par la suite : le recalage ave l algorithme ICP et le recalage avec SIFT/RANSAC Recalage avec ICP ICP (IterativeClosest Point) est un algorithme de recalage, très populaire dans le domaine de la vision, qui permet d aligner deux nuages de points, ayant une zone de chevauchement relativement importante. Il existe principalement deux versions de cet algorithme : la version statique (rigide) et la version dynamique (non rigide). Dans notre cas, nous nous concentrons sur la version statique Principe de fonctionnement L algorithme ICP-rigide est conceptuellement simple. Il recalcule de manière itérative la transformation rigide (rotation et translation) qui minimise une distance (généralement euclidienne) entre les points d un premier nuage de points et ceux d un deuxième nuage de points. L algorithme peut se diviser en quatre étapes majeures : 1. Recherche de correspondances entre les points du premier nuage et ceux du second nuage. Les correspondances sont trouvées grâce au critère du plus proche voisin[arya 1998]. Ce critère trouve pour un point p dans un nuage N1, le point q dans un nuage N2 le plus proche dans l espace 3D. Les distances calculées entre les points sont des distances euclidiennes. Lorsque deux points sont correspondants, l algorithme les associe. Lorsque deux nuages de points sont éloignés dans l espace 3D, l algorithme a besoin d une initialisation pour trouver une première transformation grossière et rapprocher les deux nuages de points. Cette initialisation est effectuée manuellement en sélectionnant au moins 3 paires de points correspondants entre les deux nuages. Dans notre cas, deux nuages successifs étant très proches, l algorithme ICP n a ainsi pas besoin d initialisation manuelle et trouve des correspondances automatiquement. 2. Estimation de la transformation en utilisant les correspondances trouvées à l étape précédente. La transformation est estimée grâce à la méthode des moindres carrés qui minimise l erreur entre tous les points et leur correspondant. 41

43 3. La transformation estimée est appliquée à l ensemble des points du second nuage et pas seulement à ceux associés à des points du premier nuage. 4. L algorithme réitère les trois étapes précédentes jusqu à ce qu un critère de fin, décrit par la suite, soit atteint. L algorithme a besoin en entrée des deux nuages de points, le nuage de points cible, et le nuage de points source à recaler. De plus il a besoin d un critère de fin qui peut être le nombre d itérations ou la valeur de l erreur maximale à atteindre. Tant que la valeur de l erreur n est pas inférieure au seuil fixé ou que le nombre maximal d itérations n est pas atteint, l algorithme continue les trois étapes. En sortie, l algorithme fournit la meilleure transformation qu il a trouvée. C est cette transformation qu il faut appliquer au nuage de points à recaler pour le recaler sur le nuage de points cible Avantages et inconvénients de l algorithme ICP Tout d abord, l algorithme ICP étant très connu, il est implémenté dans la librairie PCL que nous utilisons. Il est donc facilement utilisable dans notre programme. Ensuite, l algorithme est très efficace pour une paire de nuages de points 3D ayant une zone de recouvrement importante. Enfin, il est applicable sur des nuages modifiés au préalable qui ne sont pas forcément les nuages de points d origine (issus directement de l acquisition). Ce dernier avantage sera plus compréhensible lors de la comparaison avec la deuxième méthode de recalage. Figure 26 : Une paire de nuages recalés avec ICP 42

44 Le principal inconvénient constaté de l algorithme est le temps d exécution qui est très long (environ 2,5 minutes pour une paire de nuages). Cela est dû au nombre important de points dans un nuage de points (environ ). De plus les correspondances trouvées pour l estimation de la transformation peuvent être faussées à cause de points aberrants dûs au bruitd acquisition. Enfin, on a vu que l algorithme était très efficace pour le recalage d une paire de nuages, mais l est beaucoup moins quand il s agit d une succession de paires. En effet, l erreur de recalage s accumule et devient exponentielle Filtrage et sous-échantillonnage du nuage de points Pour corriger les deux premiers inconvénients de l algorithme ICP, nous effectuons des prétraitements sur les nuages de points. Tout d abord, nous réalisons un filtrage pour éliminer les points aberrants. Ce filtrage élimine tous les points qui sont isolés dans l espace 3D. Ensuite un sous-échantillonnage est appliqué pour diminuer le nombre de points et ainsi diminuer le temps d exécution de l algorithme. Nous utilisons la méthode appelée «VoxelGrid» pour sous-échantillonner le nuage de manière cohérente. On crée une grille de voxels (pixels volumiques) dans l espace 3D. Tous les points du nuage présents dans un voxel sont remplacés par un unique point correspondant au barycentre des points. La taille des voxels est à définir. Plus le voxel est grand, plus le nuage est sous-échantillonné. Il faut donc faire en sorte que le choix de la taille du voxel sous-échantillonne le nuage mais pas trop pour ne pas perdre trop d informations. Nous avons effectué une série de tests afin de choisir la meilleure taille de voxel à utiliser pour sous-échantillonner le nuage de points sans trop dégrader la qualité de la forme. a) Nuage avant «Voxelgrid» b) Nuage après «Voxelgrid» Figure 27 : Sous-échantillonnage d un nuage 43

45 Les étapes de filtrage et de sous-échantillonnage sont appliquées comme prétraitements avant le calcul de la transformation avec l algorithme ICP. Une fois obtenue, la matrice de transformation est appliquée sur le nuage d origine(avant sous-échantillonnage) pour garder toute l information. Ces prétraitements permettent d accélérer l algorithmeet de corriger légèrement l erreur de recalage. Néanmoins, l accumulation de l erreur lors du recalage de plusieurs nuages de manière incrémentale devient significative et reste un problème à résoudre. Comme le montre la figure 28, cette accumulation se traduit par un espace vide entre le premier et le dernier nuage. Accumulation de l erreur Figure 28 : Accumulation de l erreur lors du recalage 44

46 2.3. Recalage avec SIFT/RANSAC Cette approche de recalage combine deux algorithmes très connus dans le domaine de la vision : l algorithme SIFT pour la recherche points-clés caractéristiques dans l image 2D et l algorithme RANSAC pour l optimisation de transformation lors de la mise en correspondance des points-clés caractéristiques Points clés SIFT Nous avons utilisé l algorithme SIFT (Scale Invariant FeatureTransform), bien connu au sein du domaine de la vision, qui est invariant aux changements d'échelle pour détecter et décrire les caractéristiques locales (points-clés) dans les images. Une image typique peut contenir plusieurs centaines de points-clés. Chaque point clé est invariant à l'échelle, à la rotation, au changement de point de vue, ainsiqu au bruit et aux changements d'éclairage. La méthode SIFT garantit qu'un point clé peut être correctement mis en correspondance avec une probabilité élevée contre un grand nombre de points clés dans plusieurs images. Détection de points d intérêts - Mise en correspondance Pour générer l ensemble des points clés dans une image, l algorithme utilises deux principales étapes de calcul : Détection des extrema dans l espace-échelle: Le principe de cette détection est donc de trouver les extrema en cherchant Filtrages Gaussiens successifs d une image sur toutes les échelles et les emplacements de l image 2D. Cela est appliqué de manière efficace Pour trouver en ces utilisant extrema, auune lieu de regarder fonction la fonction de LoGDifférence-de-Gaussienne qui est couteuse [Davidson]pour àcalculer, identifier on approxime les points avec lad'intérêt fonction DoG qui (pour sont Difference invariants of Gaussians) à l'échelle et à suivante : l orientation. Les extrema sont DoG(x,y) alors les = L(x, pixels y, kσ) qui présentent L(x,y, σ) une intensité maximum, ou minimum, Les par extrema rapport sont alors à leurs les pixels voisins qui presentent directs une dans intensité l image maximum, (8 ou voisins) minimum, par rapport à leurs (9 voisins directs dans dans l échelle l image (8précédente voisins) ainsi qu à et ceux 9 voisins dans ainsi qu à ceux dans l espace-échelle l échelle suivante). dans l espace-échelle (9 voisins dans l échelle precédente et 9 voisins dans l échelle suivante). Pixel Neighbors scale Les extrema de l espace-échelle ainsi obtenus sont nombreux, pour les filtrer : Figure 29 : Détection des extrema dans l espace-échelle 1. Les candidats avec peu de contraste sont éliminés. Projet 2. Les réponses de Fin correspondants d Etudes Maxime à des contours Devanne sont élimines Année en considérant 2012 le Hessien de l image DoG et un opérateur proche de celui de Harris. 4.2 Description 45

47 Description des points-clés : Pour chaque extrema détecté, les gradients locaux sont mesurés par rapport à la variation d intensité au voisinage de l extrema. Ces gradients permettent ainsi de décrire le point clés avec un descripteur SIFT de dimension 128. La figure ci-dessous montre un résultat typique d'un processus de détection SIFT. Chaque image contient des centaines de points-clés SIFT. Les points-clés sont représentés par des vecteurs indiquant l'échelle, l'orientation et l'emplacement. Figure 30 : Points-clés SIFT. Une image de taillle 640x480 pixels avec 917 points-clés Dans notre cas, nous souhaitons garder uniquement les points caractéristiques correspondants à des points du corps humain. Pour cela, nous utilisons la carte de profondeur correspondante à l image couleur et on ne garde que les points dont la valeur de profondeur est inférieure à un seuil (1,5m dans notre cas) Mise en correspondance des points-clés SIFT entre deux images La mise en correspondance de points est un problème fondamental de la vision par ordinateur. C est une étape intermédiaire indispensable pour la reconstruction 3D. Elle repose sur l introduction de mesure de similarité entre les points de plusieurs images. Étant donné que chaque point-clé SIFT est décritpar un vecteur de dimension 128, nous appliquons une mise en correspondance entre les points-clés, détectés dans une paire d images, basée sur les plus proches voisins. On calculeainsi la distance euclidienne entre tous les points-clés de la première image et tous ceux de la seconde image, à partir des vecteurs descripteurs de dimensions 128. On associe ainsi les points-clés les plus proches. Afin d éliminer les descripteurs pas assez discriminants (souvent répétés dans une image), l algorithme 46

48 recherche à la fois le plus proche voisin et le second plus proche voisin pour chaque descripteur. Si le rapport entre ces deux descripteurs est supérieur à 0,8, la correspondance est éliminée car considérée comme ambiguë (bruit).par ce critère, l algorithme SIFT parvient à éliminer 90% des fausses correspondances. Figure 31 : Correspondances SIFT de deux images couleur successives Comme on peut le voir sur la figure 31, certaines correspondances trouvées par l algorithme sont fausses. Pour éliminer ces fausses correspondances, nous utilisons l algorithme RANSAC dans l espace 3D. Il faut donc au préalable transformer les points caractéristiques dans l espace 3D Transformation des correspondances 2D dans l espace 3D Lorsque pour deux images successives, on a une série de paires de pointsclés, on projette ces points 2D dans l espace 3D pour pouvoir estimer la transformation à appliquer sur les nuages de points 3D correspondants. Cette projection s effectue grâce aux formules décrites précédemment (1.4.3). On obtient donc une série de paires de correspondances de points 3D Estimation de la transformation avec RANSAC Une fois que l on a plusieurs paires de correspondances 3D, il est facile d estimer la meilleure transformation en utilisant la méthode des moindres carrés qui minimise l erreur entre les points et leur correspondant. Cependant, la mise en correspondance est généralement ambiguë. Comme on peut le voir dans la figure 31, certaines correspondances sont fausses. Pour éliminer ces fausses correspondances, il existe des contraintes géométriques comme la contrainte épipolaire qui réduit l ensemble des correspondants potentiels d un point à une droite dans l image. L algorithme RANSAC, qui utilise cette contrainte, est très 47

49 connu pour rejeter les fausses correspondances.dans notre cas, il est appliqué dans l espace 3D, et plus précisément sur les points 3D correspondant aux points caractéristiques SIFT. L algorithme RANSACutilisé dans notre approche peut être décrit par les points suivants : 1. Sélection aléatoire de quatre paires de correspondances par l ensemble des paires de correspondances 3D. 2. Estimation d une transformation d après ces quatre paires. 3. La transformation estimée est alors appliquée à toutes les autres paires de correspondances. Pour chaque paire, si l erreur entre un point et son correspondant auquel on a appliqué la transformation est inférieure à un seuil défini (E1), la paire est sélectionnée parmi les bonnes paires de correspondances. 4. Si le nombre de bonnes paires de correspondances est supérieur à un seuil défini (n), on continue l algorithme. 5. A partir des bonnes paires de correspondances, on estime une nouvelle transformation. 6. Cette nouvelle transformation est appliquée à toutes les bonnes paires de correspondances. Grâce à la méthode des moindres carrés, on calcule l erreur moyenne dûe à cette nouvelle transformation appliquée aux bonnes paires de correspondances. Si cette erreur moyenne est meilleure que les erreurs moyennes précédentes (Emoy), alors la nouvelle transformation estimée devient la meilleure transformation. Ces étapes sont répétées un nombre fixe de fois (N), chaque fois produisant soit une transformation rejetée car il n y a pas assez de bonnes paires de correspondances, soit une nouvelle transformation ajustée et une mesure d erreur moyenne correspondante. Dans ce dernier cas, la nouvelle transformation est conservée si l erreur moyenne correspondante est meilleure que l erreur moyenne précédente. En entrée, l algorithme a besoin des paires de correspondances 3D, d un nombre d itérations N, d un seuil d erreur E1 pour définir si une paire est sélectionnée ou non parmi les bonnes paires de correspondances, et d un seuil n qui définit le nombre minimal de bonnes paires de correspondances. L erreur moyenne est initialisée à une très grande valeur. En sortie, l algorithme fournit la meilleure erreur moyenne (la plus petite), les meilleures paires de correspondances et bien sûre la meilleure transformation qui 48

50 vérifie la contrainte de géométrie épipolaire. Cette transformation est ensuite appliquée au deuxième nuage de la paire de nuages de points correspondant aux images couleur utilisées au départ, pour le recaler par rapport au premier nuage Avantages et inconvénients de la méthode SIFT/RANSAC Cette méthode présente de nombreux avantages. D abord, la qualité de recalage pour une paire est très bonne. Ensuite, le temps d exécution de l algorithme est plus court que le temps d exécution de l algorithme ICP. Enfin, cette méthode utilise toutes les informations fournies par la Kinect, la carte de profondeur mais aussi l image couleur. Elle combine les forces du 2D et du 3D pour garantir un meilleur recalage. Malgré tous ces avantages, la méthode présente un inconvénient important. Utilisant les images couleurs issues de l acquisition, on ne peut effectuer un recalage que sur des nuages de points issus aussi de l acquisition. Un recalage de nuages de points modifiés après l acquisition n est donc pas possible car il n existe plus d image couleur correspondante. Cet inconvénient sera important par la suite. De plus, l accumulation d erreur lors d un recalage de plusieurs paires est toujours présente, mais moins important que pour le recalage avec ICP, comme présentée dans la section suivante. Cette deuxième méthode de recalage est celle que nous avons choisie pour recaler l ensemble des nuages de points Comparaison entre les deux méthodes de recalage Pour expliquer les raisons de notre choix entre les deux méthodes, nous avons réalisé un test comparatif entre ces deux méthodes Protocole utilisé Pour réaliser ce test comparatif, nous avons utilisé 30 vues successives issues d une acquisition d une personne présente sur la table tournante devant notre système. Nous avons recalé ces 30 vues en utilisant les deux méthodes de recalage présentées plus haut. Pour comparer les deux méthodes, nous nous sommes basés sur deux critères : le temps d exécution et la qualité de recalage. Le temps d exécution en seconde est facile à calculer. Pour la qualité de recalage, nous l avons déterminée en donnant une note sur 10. Cette note indique à partir de quelle vue l accumulation d erreur est visible. Par exemple, pour 30 vues, si l accumulation est visible à partir de la 15 ème vue, la note est de 5. 49

51 De plus, nous avons testé pour chaque méthode s il était possible de ne pas utiliser toutes les vues mais seulement une partie. Par exemple avec un pas de 5, la vue successive de la vue 0 serait la vue 5 et non la vue 1. Cela permettrait de diminuer le temps d exécution si la qualité n est pas altérée Résultats du test comparatif Méthode ICP Méthode SIFT/RANSAC Pas Qualité Durée (s) Qualité Durée (s) Figure 32 : Comparaison des deux méthodes de recalage Discussion des résultats du test comparatif D après le tableau des résultats précédents, on peut voir que la méthode SIFT/RANSAC est beaucoup plus rapide que la méthode ICP. De plus elle est légèrement de meilleure qualité. En effet l accumulation d erreur est moins importante avec la méthode SIFT/RANSAC qu avec la méthode ICP. C est pourquoi nous avons choisi la méthode SIFT/RANSAC pour recaler les nuages de points. De plus, ce test comparatif nous a permis de nous rendre compte que l on peut ne pas utiliser toutes les vues disponibles. En effet, si on utilise un pas de 5, c'est-à-dire toutes les 5 vues, la qualité globale du recalage n est pas altérée et le temps d exécution est presque divisé par 5. Nous avons donc décidé de n utiliser que 1 vue sur 5 pour le recalage et la création du modèle 3D. On rappelle ici que l algorithme ICP est efficace lors des légers changements entre les vues et lorsque ce 50

52 changement devient important la qualité de recalage chute, ce n est pas le cas de la méthode SIFT/RANSAC. En utilisant la méthode SIFT/RANSAC, l accumulation d erreur diminue mais existe toujours. Ce problème est souvent rencontré dans les applications robotiques lors de l estimation des trajectoires de la caméra mobile, dans ce que l on appelle SLAM (SimultaneousLocalization And Mapping) [Durant-Whyte 2006]. Pour régler ce problème, nous utilisons des algorithmes dits de «Fermeture de boucle» issus directement de SLAM. Boucle non fermée a)méthode SIFT/RANSAC b) Méthode ICP Figure 33 : Effet de boucle non fermée 2.5. Fermeture de boucle La méthode de fermeture de boucle est appelée ainsi car l accumulation de l erreur provoque un effet de non fermeture de boucle (figure 33) corrigé par cette méthode. Cette méthode est utilisée pour recaler de nombreuses données successives. Elle est divisée en trois étapes : la détection de la boucle, le calcul de la matrice de correction de l erreur, et la répartition de cette matrice Détection de la boucle On dit qu une boucle est réalisée lorsque le sujet a fait un tour complet sur la table tournante. Dans notre cas, la boucle est théoriquement détectée entre le premier nuage acquis et le dernier. Cependant, nous réalisons l acquisition de plus d un tour pour garantir qu au moins une boucle soit réalisée. C est pourquoi nous 51

53 réalisons une détection de boucle entre le dernier nuage de points acquis et tous les précédents. Cette détection est réalisée de manière assez simple. Pour chaque nuage, on calcule le centroïde et on calcule la distance euclidienne entre celui-ci et le centroïde du dernier nuage de points. Le centroïde le plus proche du centroïde du dernier nuage correspond au nuage de points le plus similaire au dernier nuage. La boucle est alors détectée entre ces deux nuages appelés nuages de boucle. Les 30 nuages précédant le dernier nuage ne sont pas pris en compte dans la détection de la boucle. En effet, ils sont proches du dernier nuage dans l espace 3D mais ne correspondent pas à une boucle. Ils pourraient ainsi fausser la détection de la boucle Figure 34 : Détection de la boucle pour 11 nuages Dans l exemple de la figure 34, le nuage 9 (en gris) n est pas pris en compte pour la détection de la boucle. Une boucle est détectée entre le nuage 10 et le nuage 2 (en orange) Calcul de la matrice de correction de l erreur Il faut maintenant corriger l erreur d accumulation. L erreur d accumulation correspond à l erreur entre ces deux nuages de la boucle. Pour corriger cette erreur, il faut obtenir la matrice de transformation qui recale les deux nuages de boucle. Cette matrice de transformation est appelée matrice de correction de l erreur. Pour recaler les deux nuages de la boucle, nous ne pouvons utiliser uniquement la méthode ICP. En effet, les nuages ont été modifiés lors du premier 52

54 recalage avec la méthode SIFT/RANSAC. Ils n ont alors plus d image couleur correspondante, la méthode SIFT/RANSAC ne peut pas être utilisée. Comme nous avons vu plus tôt que la méthode ICP donne de très bons résultats pour le recalage d une paire, nous pouvons donc utiliser cette méthode pour recaler les deux nuages et obtenir la matrice de correction de l erreur Répartition de la matrice de correction de l erreur Une fois que nous connaissons la matrice de correction de l erreur, il faut maintenant la répartir sur tous les nuages de points. Cela consiste à appliquer la matrice sur tous les nuages mais avec des poids correspondant à l écart en nombre de vues entre chaque nuage et le dernier nuage. Si on reprend l exemple précédent avec les 11 nuages de points, on doit d abord appliquer la matrice de correction de l erreur au nuage 2 pour le recaler sur le nuage 10. Ensuite on applique la matrice erreur sur le nuage 3 mais avec un poids plus faible car il est légèrement éloigné du nuage 10. On continue ainsi jusqu au nuage 9. Le calcule des poids pour la répartition de la matrice s effectue grâce à la méthode d optimisation des graphes très utilisée pour résoudre le problème de fermeture de bouclepar le calcul des poids suivant la distance entre chaque nuage et le dernier nuage. Pour plus de détails sur cette méthode, les lecteurs peuvent se référencer à l article [Grisetti 2010].La méthode d optimisation des graphes est implémentée dans la librairie PCL. Une fois que la répartition de l erreur est effectuée, l effet de non fermeture de boucle disparaît. On peut concaténer l ensemble des nuages de points pour obtenir une première version du modèle 3D en nuage de points non ordonnés. 53

55 Figure 35: Modèle après fermeture de boucle 54

56 3. Création du maillage La troisième et dernière étape de la modélisation 3D est la création du maillage à partir des nuages de points recalés et concaténés. Le maillage est un une structure de données géométriques permettant de représenter des subdivisions de surface à l aide d un ensemble polygones, afin de modéliser cette surface. Un maillage est constituer de sommets, connectés les uns aux autres par des facettes de forme polygonale. Lorsque ces polygones sont des triangles, on parle de maillage triangulaire. Créer le maillage 3D consiste à transformer la première version du modèle en nuage de points en une deuxième version en facettes. La création du maillage peut se diviser en trois parties distinctes : le filtrage et souséchantillonnage, la triangulation, et le lissage Filtrage et sous-échantillonnage Lorsque l on a concaténé tous les nuages de points, on obtient un seul nuage qui contient énormément de points (environ 5 millions). Pour alléger le modèle en nuage de points et permettre une exécution plus rapide de la création du maillage, il est important de sous-échantillonner le nuage de points. La technique de souséchantillonnage que nous avons utilisée est la même que précédemment, c'est-à-dire la méthode de «Voxelgrid». Grâce à cette méthode de sous-échantillonnage cohérente, nous obtenons un modèle d environ points. Le deuxième prétraitement à réaliser est un filtrage pour éliminer le bruit et les points aberrants. On utilise toujours la même méthode qui supprime les points isolés dans l espace 3D. Ces post-traitements permettent de «nettoyer» le nuage de points et d harmoniser sa densité pour pouvoir créer un maillage plus réaliste. 55

57 3.2. Triangulation Figure 36: Modèle après filtrage et sous-échantillonnage La deuxième étape consiste à créer des facettes à partir du nuage de pointsen connectant les points non-ordonnés les uns aux autres pour former des facettes triangulaires. L ensemble des facettes constitue la surface extérieure du modèle 3D. Maillage Figure 37 : Schéma de création du maillage Il existe différents algorithmes de triangulation très connus comme la triangulation de Delaunay[George 1998], la reconstruction de poisson[kazhdan 2006], ou le théorème de la boule pivotante[bernardini 1999]. Comme la création du maillage ne constitue pas la partie la plus importante du projet, nous ne sommes pas rentrés dans les détails. Nous avons utilisé des algorithmes déjà implémentés dans des logiciels de vision 3D comme Meshlab ou GeoMagic. Nous avons ainsi obtenu un maillage 3D constitué d un ensemble de facettes. 56

58 3.3. Lissage Enfin, la dernière partie consiste à lisser le maillage pour le rendre moins bruité et plus réaliste en diminuant les erreurs de triangulation. Pour cela, nous avons utilisé des fonctions de lissage par interpolation des points 3D, implémentées dans les logiciels Meshlab et GeoMagic. a) Modèle avant lissage b) Modèle après lissage Figure 38 : Lissage du modèle 3D 57

59 Partie 4 : Résultats et évaluations Dans cette quatrième et dernière partie, je présenterai dans un premier temps les livrables et les résultats du projet. Ensuite, je continuerai par une évaluation de ces résultats. Enfin, je terminerai par les perspectives du projet et les axes d améliorations. 1. Livrables 1.1. Programmes Le principal livrable de ce projet est l ensemble des codes sources programmes correspondant aux différentes étapes du projet. Ces programmes sont codés, d une façon modulaire, en langage C++ sous forme d applications en ligne de commande. L exécution se fait en passant les principaux paramètres(nom fichiers, valeur de seuil, etc.) comme arguments. Chaque exécutable est fourni avec une notice expliquant rapidement les entrées/sorties et les paramètres nécessaires pour l exécution Interface graphique Pour faciliter l exécution des programmes, nous avons commencé à créer une petite interface graphique regroupant tous les modules de la chaine (acquisition, recalage, fermeture de boucle, filtrage, etc.). Cette interface permet une prise en main plus aisée et plus esthétique de l ensemble des programmes. Cette interface n est pas terminée à ce jour et nécessite quelques améliorations 58

60 Figure 39 : Copie d écran de l interface graphique (acquisition) Figure 40 : Copie d écran de l interface graphique (recalage) 59

61 2. Résultats 2.1. Présentation des différents résultats Voici quelques résultats obtenus grâce à notre système. Figure 41 : Résultats obtenus avec notre système 60

62 3. Evaluation des résultats La dernière phase très importante de notre projet est l évaluation de notre système afin de quantifier les résultats de modélisation obtenus. Dans notre cas, la manière la plus cohérente d évaluer nos résultats est de comparer un modèle obtenu par notre système à sa vérité terrain. Cette vérité terrain sera le modèle scanné avec un scanner de haute précision, le scanner Artec L Protocole d évaluation Utilisation d un mannequin Tout d abord, pour pouvoir comparer un modèle 3D obtenu avec notre système avec le modèle de vérité terrain, il est important que ces deux modèles soient identiques, avec la même pose. Or, un être humain ne peut pas rester immobile pendant les deux acquisitions qui peuvent prendre plusieurs minutes en comptant le temps de déplacement des équipements entre deux acquisitions. C est pourquoi nous avons décidé d utiliser un mannequinfixe, de taille humaine, que nous avons installé sur la table tournante. Figure 42 : Mannequin utilisé pour l évaluation Le mannequin étant fixe, on peut garantir qu il restera immobile et gardera la même pose lors de l acquisition avec notre système et l acquisition avec le scanner Artec L. 61

63 Pour obtenir un modèle de vérité terrain, nous avons décidé de scanner le mannequin avec un scanner de haute précision, le scanner Artec L. Pour cela, nous avons remplacé les Kinect de notre support par le scanner. Comme le scanner est très coûteux, l équipe MIIRE ne dispose que d un seul scanner. Pour réaliser une acquisition dans les mêmes conditions que notre système, nous avons donc d abord scanné la partie haute du corps puis baissé le support pour capturer la partie basse du corps du mannequin. Ainsi, nous avons gardé le support à la même distance que pour notre système. Grâce au scanner Artec L, nous avons obtenu le résultat de la figure 43. Ensuite, nous avons fait l acquisition du même mannequin avec notre système pour obtenir le résultat de la figure 44. Figure 43 : Modèle vérité terrain Figure 44 : Notre modèle Utilisation de GeoMagic Pour comparer les deux modèles obtenus avec notre système et le scanner Artec L, nous avons utilisé le logiciel GeoMagic qui permet très facilement d aligner les deux modèles pour ensuite les comparer et fournir une carte de chaleur correspondant à la différence entre le modèle de référence et le modèle à tester. Le modèle de référence est le modèle de vérité terrain et le modèle à tester est le modèle acquis avec notre système. 62

64 3.2. Résultats de l évaluation Résultats de la comparaison avec GeoMagic Figure 45 : Comparaison entre la vérité terrain et notre modèle 63

65 Sur les résultats de la figure 45, l échelle à gauche de chaque vue donne la différence en millimètre entre le modèle vérité terrain et notre modèle. Par exemple, toutes les zones vertes sur notre modèle signifient que la distance entre notre modèle et le modèle vérité terrain est entre -4,139mm et 4,139mm. Cette distance est calculée pour chaque point du modèle à tester. Elle correspond à la plus courte distance entre le point du modèle à tester et un point du modèle vérité terrain. Les zones en gris sur notre modèle sont des zones qui n ont pas été comparée car elles n existent pas dans le modèle vérité terrain. De plus, le logiciel GeoMagic fournit des informations globales sur la comparaison des deux modèles comme la distance moyenne absolue et l écart-type. Dans notre cas, la distance moyenne est de 4,139mm et l écart-type est de 3,49mm Discussiondes résultats En comparant visuellement les deux modèles, on remarque tout de suite que le modèle acquis avec le scanner Artec L est de bien meilleure qualité. En effet, dans ce modèle, tous les plis des vêtements sont très visibles et détaillés. Cependant, lorsque l on analyse les résultats de la comparaison avec GeoMagic, on se rend compte que la couleur dominante est le vert. Cette couleur signifie qu il y a globalement peu de différence entre ces modèles, comme le montre la moyenne de 4,139mm. Cependant, la valeur de l écart-type élevé (de l ordre de grandeur de la moyenne) signifie qu il existe des zones de notre modèle très éloignées du modèle de vérité terrain. En effet, on peut voir sur les résultats que pour certaines zones, la distance entre les deux modèles est élevée et atteint 2cm. Ces zones de fortes différences restent néanmoins limitées. Pour conclure, l évaluation de la qualité de nos résultats dépend du type d application et de l exigence de la précision. Si on veut des mesures très précises sur le corps humain pour par exemple voir l évolution du corps humain en médecine, notre système n est réellement pas adapté. Par contre, si on veut obtenir des mesures globales sur le corps comme la taille, le tour de poitrine ou le tour de taille pour choisir son vêtement, ou même obtenir un avatar 3D assez ressemblant, notre système est parfaitement utilisable et donne des résultats satisfaisants. 64

66 4. Perspectives A la fin du projet, il est important de se demander quelles sont les perspectives de celui-ci. Dans un premier temps je pense que nous pouvons améliorer nos résultats. Ensuite je pense que nous pouvons ajouter des fonctionnalités à notre système pour le rendre plus complet. Enfin, nous avons pensé à quelles applications pourrait être utile notre système Améliorations des résultats Tout d abord, je pense qu il serait intéressant de continuer à chercher de nouvelles solutions pour améliorer nos résultats. En effet, le recalage des nuages de points n est pas encore parfait et peut sûrement être amélioré pour former un modèle plus cohérent et réaliste. Ensuite, je pense qu il faudrait regarder de plus près les différents algorithmes de maillage pour mieux les comprendre et pouvoir justifier le choix d un algorithme plutôt qu un autre. Mieux comprendre ces algorithmes nous permettrait de pouvoir définir les paramètres plus précisément et ainsi obtenir des maillages très proches de la vérité terrain. Enfin, un point important qui peut être amélioré est le temps d exécution de l ensemble des programmes. En effet, actuellement, nous pouvons reconstruire le modèle 3D en un peu moins d une heure. Je pense que cette durée peut être nettement améliorée notamment grâce à la programmation GPU Ajouts de fonctionnalités Plusieurs fonctionnalités supplémentaires seraient très intéressantes et permettraient à notre système d être plus complet. Tout d abord, nous pourrions nous intéresser de plus près à l ajout de l information de couleur pour pouvoir obtenir en sortie un maillage coloré très réaliste. En effet, il existe plusieurs méthodes qui permettent d ajouter de la texture sur les surfaces 3D[Sander 2001]. Ensuite, il faudrait évidemment optimiser l interface graphique pour garantir une prise en main facile pour tout utilisateur ne connaissant pas le système en détail. Enfin, une prochaine étape importante de ce projet est la gestion de légers mouvements de la personne à modéliser ou même l acquisition et la modélisation d objets dynamiques. C est un défi très intéressant que je pense important pour la 65

67 suite du projet. Aujourd hui il existe des méthodes de recalage non rigides qui pourraient gérer les légers mouvements de la personne Applications Un tel système peut être utile pour de nombreuses applications. Par exemple on peut imaginer un essayage de vêtements virtuel. L utilisateur est scanné puis modélisé. Il peut ainsi voir virtuellement comment les vêtements vont sur son modèle 3D. On peut aussi imaginer utiliser son modèle 3D comme avatar sur les forums ou les réseaux sociaux. Enfin, utiliser son modèle 3D comme personnage principal d un jeu vidéo peut être beaucoup plus attractif et réaliste pour les utilisateurs. 66

68 Conclusion L objectif de ce Projet de Fin d Etudes, réalisé au sein de l équipe MIIRE, était de développer un système qui permette de modéliser en 3D un corps humain à partir de la Kinect. Cet objectif a été atteint grâce à un système à deux Kinect. Dans un premier temps, le système fait l acquisition d une personne placée sur une table tournante. Ensuite, chaque vue acquise par le système est recalée pour former une première version du modèle 3D en nuage de points. Ce modèle est ensuite transformé en maillage pour former une surface et obtenir la version finale du modèle 3D du corps humain. Ce type de système peut être utilisé pour l habillage virtuel, l'anthropométrie et les mesures statistiques, la création d avatars 3D pour les forums et les réseaux sociaux, l animation de personnages ou encore pour les jeux vidéo. Cependant, des améliorations peuvent être apportées à ce projet pour obtenir des résultats plus précis et plus réalistes, mais aussi pour créer un système plus complet capable de modéliser une personne en mouvement (modélisation dynamique). Ce projet m a tout d abord permis de découvrir le monde de la recherche scientifique. C est un environnement que j ai beaucoup apprécié car il permet de travailler sur un sujet tout en continuant d apprendre sur ce sujet ou sur d autres sujets pour étendre ses connaissances. De plus, la recherche dans le domaine de la vision 3D permet de travailler avec des équipements de haute technologie, mais aussi de rencontrer d autres chercheurs de différentes nationalités. Dans, un deuxième temps, ce Projet de Fin d Etudes m a permis d accroître mes connaissances dans le domaine de la programmation et de la vision 3D, en mettant en application des notions acquises lors de ma formation, et plus particulièrement lors de spécialités de 5 ème année. Le travail en autonomie m a aussi permis de développer une rigueur de travail indispensable dans l environnement de la recherche. Enfin, ce séjour m a permis de développer mon expérience dans le monde du travail en diversifiant les types d établissement d accueil. En effet, c était la première fois que je réalisais un stage au sein d un laboratoire de recherche, et non en entreprise. Ce stage m a conforté dans mon souhait de continuer mes études et de réaliser une thèse dans le domaine de la vision 3D. Ce fut un réel plaisir d avoir réalisé ce Projet de Fin d Etudes au sein de l équipe MIIRE, notamment grâce à une très bonne ambiance au sein de l équipe. J ai 67

69 reçu un accueil chaleureux de la part de tous les membres de l équipe qui m a permis de mieux m investir dans l équipe et mieux me concentrer sur le projet. Lorsqu un stage se termine, on se demande ce que l on a pu apporter à l établissement d accueil. Je pense avoir réalisé un projet très intéressant pour l équipe car il va apporter de l expérience, des connaissances, et un savoir-faire qui pourront être développés par la suite ou adaptés à des projets existants. Cependant je suis conscient que l équipe MIIRE dans sa globalité m a beaucoup plus apporté, et je la remercie. 68

70 Glossaire LIFL CNRS MIIRE 2D / 3D RGB-D GPU RVB PCL SIFT SURF NARF BRIEF RANSAC ICP PLY SLAM Laboratoire d Informatique Fondamentale de Lille. Centre National de Recherche Scientifique. Multimédia, Image, Indexation et Reconnaissance. 2 Dimensions, 3 Dimensions. Red Green Blue Depth, Rouge Vert Bleu Profondeur. Graphics Processing Unit Rouge Vert Bleu. Point Cloud Library. Scale Invariant FeatureTransform. Speeded Up RobustFeatures. Normal Aligned Radial Feature. Binary Robust Independent Elementary Feature. RANdomSAmple Consensus. IterativeClosest Point. Polygon File Format. SimultaneousLocalization And Mapping 69

71 Bibliographie [Allen 2003] [Anguelov 2005] [Arya 1998] [Bay 2006] [Bernardini 1999] B. Allen, B. Curless and Z. Popovi, The space of human body shapes: reconstruction and parameterization from range scans. In ACM SIGGRAPH D. Anguelov, P. Srinivasan, D. Koller, S. Thrun, J. Rodgers, J. Davi: SCAPE: Shape Completion and Animation of People, ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH Arya S., Mount D. M., Netanyahu N. S., Silverman R., Wu A. Y. An optimal algorithm for approximate nearest neighbor searching fixed dimensions. J. of the ACM 45, 6, , H. Bay, T. Tuytelaars, and L. Van Gool, "SURF: Speeded up robust features," Proceedings of the European Conference on Computer Vision, pp , F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and G. Taubin, The Ball- Pivoting Algorithm for Surface Reconstruction, IEEE Trans. Visualization and Computer Graphics, vol. 5, no. 4, pp , Oct.-Dec [Bouguet 2008] Y. Bouguet. (2008). calibration camera matlab stereo toolbox. Web : [Burrus 2011] [Calonder 2010] [Davidson] [Durant-Whyte 2006] [Fishler 1981] [George 1998] [Grisetti 2010] [Hasler 2009] Nicolas Burrus and Mohamed Abderrahim and Jorge Garcia Bueno and Luis Moreno, Object reconstruction and recognition leveraging an RGB-D camera, In the Proceedings of the 12th IAPR Conference on Machine Vision Applications, Software : M. Calonder, V. Lepetit, C. Strecha, and P. Fua. Brief: Binary robust independent elementary features. In European Conference on Computer Vision, September Michael W. Davidson, Mortimer Abramowitz. «Molecular Expressions Microscopy Primer: Digital Image Processing - Difference of GaussiansEdgeEnhancementAlgorithm», Olympus America Inc., et Florida State University. Durrant-Whyte, H.; Bailey, T. (2006). "Simultaneous Localization and Mapping (SLAM): Part I The Essential Algorithms". Robotics and Automation Magazine 13 (2): Martin A. Fishler, Robert C. Bolles, Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography, Comm. Of the ACM, vol. 24, p , juin Paul-Louis George, and HoumanBorouchaki (1998) Delaunay Triangulation and Meshing: Application to Finite Elements, Hermes, France, 413 p. G. Grisetti, R. Kümmerle, C. Stachniss, and W. Burgard, A Tutorial on Graph-BasedSLAM, IEEE Intelligent Transportation Systems Magazine, vol. 2, no. 4, pp ,2010. Nils Hasler, Carsten Stoll, Bodo Rosenhahn, ThorstenThormahlen, and Hans- Peter Seidel. Estimating body shape of dressedhumans. Computers &Graphics, 33(3): , IEEE International Conference on Shape Modelling and Applications

72 [Högman 2011] VirgileHögman, Building a 3D Map from RGB-D sensors, Rapport de Thèse, [Kazhdan 2006] [Khoshelham 2011] [Lejeune 2012] [Li 2011] Michael Kazhdan, Matthew Bolitho, Hugues Hoppe, Poisson surface reconstruction, Proceedings of the fourth Eurographics symposium on Geometry processing, June 26-28, 2006, Cagliari, Sardinia, Italy K. Khoshelham, Accuracy Analysis of Kinect Depth Data,, International Society for Photogrammetry and Remote Sensing (ISPRS), Zurich, Switzerland, Aug. 25-Sep. 1, Antoine Lejeune, Sébastien Piérard, Marc Van Droogenbroeck, Jacques Verly, Utilisation de la Kinect,, Linux Magazine n 151, H. Li, L. Luo, D. Vlasic, P. Peers, J. Popovic, M. Pauly and S. Rusinkiewicz, Temporally Coherent Completion of Dynamic Shapes. ACM Transactions on Graphics 31(1), [Lowe 2004] David G. Lowe, «Distinctive image features from scale-invariant keypoints», International Journal of Computer Vision, vol. 60, no 2, p , [Newcombe 2011] R. Newcombe, S. Izadi, O. Hilliges, D. Molyneaux, D. Kim, A. Davison, P. Kohli, J. Shotton, S. Hodges, and A. Fitzgibbon, Kinectfusion: Real-time dense surface mapping and tracking, IEEE International Symposium on Mixed and Augmented Reality, [Parker 1998] [PCL 2012] [Sander 2001] [Steder 2010] [Tong 2012] [Zhang 1994] S. Parker, P. Shirley, Y. Livnat, C. Hansen, and P. Sloan. Interactive ray tracing for isosurface rendering. In Proceedings of Visualization, , 3.4, 3.4 PCL Tutorial, Advanced 3D Image Processing with Point Cloud Library (PCL), CVPR, Providence, Rhode Island, USA,June 17-21, SANDER, P., SNYDER, J., GORTLER, S., AND HOPPE, H. Texture Mapping Progressive Meshes. In SIGGRAPH 2001, pp B. Steder, R. B. Rusu, K. Konolige, and W. Burgard. NARF: 3D range image Features for object recognition. In Workshop on Defining and Solving RealisticPerception Problems in Personal Robotics at the IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), J. Tong, J. Zohu, L. Lin, Z. Pan, and H. Yan, Scanning 3D Full Human Bodies Using Kinects, Visualization and Computer Graphics, vol. 18, no. 4, pp , Zhengyou Zhang, Iterative point matching for registration of free-form curves and surfaces, International Journal of Computer Vision, v.13 n.2, p , Oct

73 Fiche Synoptique de Synthèse Projet de Fin d Etudes Modélisation 3D d un corps humain à partir de caméras 3D Kinect Dans le cadre de ma cinquième année à Telecom Lille 1, j ai réalisé un Projet de Fin d Etudes au sein de l équipe MIIRE du Laboratoire d Informatique Fondamentale de Lille. L objectif de ce projet était de réaliser un système qui permet de faire l acquisition d un corps humain statique pour ensuite le modéliser en 3D, à partir de la caméra Kinect. Le LIFL Créé en 1983, Le laboratoire d'informatique fondamentale de Lille est dirigé par Mme Sophie Tison. Il accueille plus de 250 personnes pour concentrer ses activités autour de l informatique et la vision. Cadre de l étude L équipe MIIRE Créée en 2006, l équipe MIIRE est spécialisée dans l analyse statistique de formes 3D. Composée de 12 membres, elle focalise ses recherches autour de 3 axes principaux qui sont: la segmentation, la comparaison et l extraction de données 3D, la reconnaissance de visages et d expressions faciales à partir de périphériques d acquisition 3D, ainsi que l acquisition 3D et la création de contenu 3D. Travaux réalisés Acquisition Recalage Maillage L acquisition consiste à obtenir le maximum d informations possibles sur la surface extérieur du corps humain. Pour cela, nous utilisons un système à 2 Kinect placées face à la personne à modéliser. Cette personne est installée sur une table tournante pour faire l acquisition de toutes les parties du corps humain (vues). La Kinect fournit à chaque instant une image couleur et une carte de profondeur correspondante. Cette carte de profondeur est utilisée pour créer le nuage de points 3D de chaque vue. Pour évaluer nos résultats, nous avons effectué l acquisition et la modélisation d un mannequin statique avec notre système (modèle à tester) mais aussi avec un scanner 3D haute résolution (modèle de vérité terrain) pour comparer les modèles obtenus. Pour cela, nous avons utilisé le logiciel GeoMagic qui permet d aligner les deux modèles pour comparer leur surface et fournir une carte de chaleur significative montrant la distance entre le modèle test et le modèle de vérité terrain. Les résultats Recaler 2 nuages consiste à trouver la transformation à appliquer sur le second nuage pour le faire coïncider sur le premier. Nous avons utilisé 2 méthodes de recalage appliquées à tous les nuages. L algorithme ICP recale efficacement 2 nuages ayant une zone de chevauchement importante. La méthode SIFT/ RANSAC combine les forces du 2D et du 3D pour garantir un meilleur recalage. Pour corriger l erreur de recalage, nous utilisons une méthode de fermeture de boucle. Evaluation des résultats Protocole d évaluation montrent que bien que le modèle de vérité terrain soit de meilleure qualité, il y a globalement peu de différences entre les deux modèles. Notre système est ainsi adapté pour obtenir des mesures globales sur le corps humain, ou pour obtenir un avatar 3D fidèle à la réalité. Lorsque tous les nuages sont recalés et concaténés, nous procédons à la triangulation pour créer la surface 3D du corps, constituée d un ensemble de facettes triangulaires. Nous utilisons des algorithmes de triangulation très connus pour créer le maillage et modéliser la surface du corps humain. Perspectives Les résultats de ce projet peuvent nettement être améliorés en terme de qualité de recalage et de maillage, mais aussi en terme de temps de calcul. De nouvelles fonctionnalités comme l ajout de la couleur, la gestion de légers mouvement ou même l extension vers l acquisition et la modélisation 3D de corps humains dynamiques permettraient de rendre notre système plus complet et adapté à des applications de jeux vidéo ou d habillement virtuel. Ce Projet de Fin d Etudes de 6 mois m a tout d abord permis de découvrir l environnement de la recherche scientifique, que j ai beaucoup apprécié. Dans un deuxième temps, ce séjour m a permis d accroître mes connaissances dans le domaine de la programmation et de la vision 3D. Enfin, il m a permis de développer et diversifier mon expérience professionnelle. Domaine: Image et vision. Secteur: Acquisition et modélisation 3D. Mots-clés: Kinect, modélisation 3D, nuage de points, maillage. Maxime DEVANNE FI2012 Tuteur LIFL: M.WANNOUS Tuteur TL1: M. VANWORMHOUDT

IMN459 - Fondements de la vision par ordinateur

IMN459 - Fondements de la vision par ordinateur IMN459 - Fondements de la vision par ordinateur Chapitre 1 Introduction 1. Acquisition IMN117 2. Traitement IMN259 Scène 3D Caméra optique Une ou plusieurs images 2D Caractéristiques bas niveaux (contours,

Plus en détail

SLAM Visuel Embarqué sur un Robot Quadrupède

SLAM Visuel Embarqué sur un Robot Quadrupède Résumé du mémoire de soutenance pour le Diplôme d Ingénieur INSA de Strasbourg - Spécialité Mécatronique - Et le Master des sciences de l université de Strasbourg - Mention Imagerie, Robotique et Ingénierie

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

PROJET DE FIN D ÉTUDES Asservissement visuel d un robot parallèle à câbles pour la réalisation d une fresque verticale de grande taille

PROJET DE FIN D ÉTUDES Asservissement visuel d un robot parallèle à câbles pour la réalisation d une fresque verticale de grande taille Résumé de PFE PROJET DE FIN D ÉTUDES Asservissement visuel d un robot parallèle à câbles pour la réalisation d une fresque verticale de grande taille Introduction Dans le domaine de la robotique, la robotique

Plus en détail

Introduction à la Vision 3D

Introduction à la Vision 3D à la Vision 3D David Fofi Le2i UMR CNRS 6306 IUT Le Creusot Les applications présentées sont le fruit d une collaboration entre le Le2i et le laboratoire VICOROB de l Université de Gérone (Espagne). Les

Plus en détail

Cahier. des charges. T.E.R. : Modélisation architecturale basée photo/vidéo. reconstruction intérieure basée profondeur

Cahier. des charges. T.E.R. : Modélisation architecturale basée photo/vidéo. reconstruction intérieure basée profondeur Cahier T.E.R. : Modélisation architecturale basée photo/vidéo reconstruction intérieure basée profondeur des charges Renaud Jean-Christophe Naville Vincent Explicitation du contexte Dans le cadre de notre

Plus en détail

Imagerie 3D et mathématiques

Imagerie 3D et mathématiques Imagerie 3D et mathématiques Jacques-Olivier Lachaud Laboratoire de Mathématiques CNRS / Université de Savoie Fête de la Science, 13/10/2013 Galerie Eurêka Image et perception Synthèse d image 3D Imagerie

Plus en détail

Reconstruction et Animation de Visage. Charlotte Ghys 15/06/07

Reconstruction et Animation de Visage. Charlotte Ghys 15/06/07 Reconstruction et Animation de Visage Charlotte Ghys 15/06/07 1 3ème année de thèse Contexte Thèse CIFRE financée par Orange/France Telecom R&D et supervisée par Nikos Paragios (Ecole Centrale Paris) et

Plus en détail

Profil du candidat et connaissances techniques à connaître/maîtriser

Profil du candidat et connaissances techniques à connaître/maîtriser Utilisation d algorithmes de deep learning pour la reconnaissance d iris. jonathan.milgram@morpho.com Dans ce cadre, l'unité de recherche et technologie a pour but de maintenir le leadership Au sein de

Plus en détail

pour la Réalité Augmentée

pour la Réalité Augmentée Analyse d Image 3D pour la Réalité Augmentée Jean-Marc Vezien vezien@limsi.fr Master Recherche RV&A Janvier 2011 La 3D comment? Les capteurs et les techniques pour l acquisition de la 3D Capteurs actifs

Plus en détail

CERTIFICAT DE CRÉATION EN 3D AVANCÉ. Objectifs et plan de formation

CERTIFICAT DE CRÉATION EN 3D AVANCÉ. Objectifs et plan de formation CERTIFICAT DE CRÉATION EN 3D AVANCÉ et plan de formation RESPONSABLE André Blanchard, directeur du Module en multimédia SCOLARITÉ 30 crédits, premier cycle OBJECTIFS Ce programme offre une formation intensive

Plus en détail

Scanners laser terrestres (laser scanning), successeur de la photogrammétrie terrestre

Scanners laser terrestres (laser scanning), successeur de la photogrammétrie terrestre Scanners laser terrestres (laser scanning), successeur de la photogrammétrie terrestre Olivier Feihl Directeur d Archéotech SA Partenaire scientifique agréé C2RMF (Centre de recherche et restauration des

Plus en détail

Apprentissage par méthodes à noyaux en reconnaissance d images

Apprentissage par méthodes à noyaux en reconnaissance d images Apprentissage par méthodes à noyaux en reconnaissance d images Alberto Bietti Table des matières Introduction 2 1 Apprentissage par méthodes à noyaux 2 1.1 Position du problème et motivation..........................

Plus en détail

Traitement de l image

Traitement de l image Traitement de l image Vidéosurveillance + + Détection et reconnaissance d objets + + Suivi d objets et de personnes + + Analyse automatique de scènes Multimédia + + Classification interactive de données

Plus en détail

Visualisation 3D sur un Smartphone

Visualisation 3D sur un Smartphone Visualisation 3D sur un Smartphone Réalisé par: Bouhajja Lamia Daikhi Rahma Encadré par : Madame Ben Azouz Zouhour SOMMAIRE : I. Introduction Générale générale II. Objectif du projet III. Rendu 3D IV.

Plus en détail

Audition candidature thèse IFSTTAR début Septembre 2013 Christophe CONIGLIO

Audition candidature thèse IFSTTAR début Septembre 2013 Christophe CONIGLIO Sujet de thèse : «Détection, suivi et ré-identification de passagers dans un réseau de cameras. Application à la gestion des flux de voyageurs en contexte multimodal». Audition candidature thèse IFSTTAR

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

Les sections 6 et 7. du ComitéNational de la RechercheScientifique

Les sections 6 et 7. du ComitéNational de la RechercheScientifique Les sections 6 et 7 du ComitéNational de la RechercheScientifique (CoNRS) Frédérique Bassino et Michèle Basseville Plan Le comité national Les missions des sections Les sections 6 et 7 Le comiténational

Plus en détail

en environnement intérieur pour l'indexation de vidéo issue de caméra portée

en environnement intérieur pour l'indexation de vidéo issue de caméra portée Reconstruction et localisation 3D en environnement intérieur pour l'indexation de vidéo issue de caméra portée H. Wannous, V. Dovgalecs, R. Mégret* IMS - Projet IMMED / ANR 09-BLAN BLAN-0165 0165-01 *remi.megret@ims-bordeaux.fr

Plus en détail

«Vers une méthode rapide de l évaluation de la tendreté»

«Vers une méthode rapide de l évaluation de la tendreté» Matthieu ALRIC - matthieu.alric@adiv.fr Chargé d Etudes en Génie Mécanique et Robotique «Vers une méthode rapide de l évaluation de la tendreté» Développement d un système robotique équipé de capteurs

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

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

SERVICE DE PHOTOGRAMMETRIE EN LIGNE

SERVICE DE PHOTOGRAMMETRIE EN LIGNE 1 SERVICE DE PHOTOGRAMMETRIE EN LIGNE Principes et fonctions Introduction p.2 Avantages du service p.3 Le matériel de base p.4 Prise de vue d un planum p.5 Le relevé d un planum p.6 Le relevé de façades

Plus en détail

La technologie Ultra Vision Rigol Une solution vers le Numérique

La technologie Ultra Vision Rigol Une solution vers le Numérique La technologie Ultra Vision Rigol Une solution vers le Numérique L es améliorations de la série d oscilloscopes DS4000 vers la série MSO en ajoutant 16 entrées numériques engendre la poursuite du développement

Plus en détail

Le Scan 3D 30 octobre 2014

Le Scan 3D 30 octobre 2014 Le Scan 3D 30 octobre 2014 Institut Automobile du Mans Equipe : 4 personnes 5 axes stratégiques : Développer et animer un réseau dynamique de la filière Développer un système d information sur l économie

Plus en détail

Intégration de la plateforme de simulation SOFA dans un simulateur de chirurgie laparoscopique

Intégration de la plateforme de simulation SOFA dans un simulateur de chirurgie laparoscopique Intégration de la plateforme de simulation SOFA dans un simulateur de chirurgie laparoscopique Darina Dimitrova Laboratoire Recherche et Développement de l IRCAD (Institut National de Recherche contre

Plus en détail

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

Chapitre 2 : Architecture d un ordinateur

Chapitre 2 : Architecture d un ordinateur I. Introduction : Chapitre 2 : Architecture d un ordinateur Activité 1 : Q : Comment on peut effectuer un traitement automatique? R : On doit utiliser une machine automatique c est l ordinateur. Q : Quelles

Plus en détail

CALCULS PARALLÈLES ET APPLICATIONS LA VISION PAR ORDINATEUR AU CEA LIST, QUELS CHOIX ARCHITECTURAUX?

CALCULS PARALLÈLES ET APPLICATIONS LA VISION PAR ORDINATEUR AU CEA LIST, QUELS CHOIX ARCHITECTURAUX? CALCULS PARALLÈLES ET APPLICATIONS LA VISION PAR ORDINATEUR AU CEA LIST, QUELS CHOIX ARCHITECTURAUX? LABORATOIRE DE VISION ET INGÉNIERIE DES CONTENUS (LVIC) Fusion multimedia : extraction multimodale d

Plus en détail

Exemples d'activités sur les images numériques

Exemples d'activités sur les images numériques Annexe 1 1 Accès aux composantes RVB d un pixel dans GIMP Pour agrandir l image : touche Ctrl maintenue enfoncée tout en tournant la molette de la souris, ou bien menu Affichage > Zoom > 1600 % Dans la

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Informatique Première et seconde années

Plus en détail

Images numériques. Notions et contenus. évaluée

Images numériques. Notions et contenus. évaluée Images numériques Thème Notions et contenus Compétence travaillée ou évaluée Résumé Mots clefs Académie Référence Auteur Transmettre et stocker de l information Caractéristiques d une image numérique :

Plus en détail

Projet 4ème année: Bras Robotique Contrôle du mouvement

Projet 4ème année: Bras Robotique Contrôle du mouvement Projet 4ème année: Bras Robotique Contrôle du mouvement TIAMIOU Adam BEN YOUNES Radhoane 1 Sommaire I. Présentation du contexte 3 II Travail effectué... 4 1.Interface de connexion avec le robot...4 2.Récupération

Plus en détail

Applications Vision. O2Game 20 Rue du Fonds Pernant 60200 Compiègne 03.44.86.18.58 comm@o2game.fr

Applications Vision. O2Game 20 Rue du Fonds Pernant 60200 Compiègne 03.44.86.18.58 comm@o2game.fr Applications Vision Exemples d études et de réalisations de la société O2Game Année 2013 O2Game 20 Rue du Fonds Pernant 60200 Compiègne 03.44.86.18.58 comm@o2game.fr Sommaire 1. Présentation de O2Game...2

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

µ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

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

Freestyle : Sculpting Meshes with Self-Adaptive Topology

Freestyle : Sculpting Meshes with Self-Adaptive Topology Freestyle : Sculpting Meshes with Self-Adaptive Topology Rapport Recette Étudiants : Charles Garibal, Maxime Robinot, Mathieu Dachy Tuteur : Loïc Barthe 20/02/2015 1 I) Introduction Rappel : Objectif du

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

RAPPORT DE STAGE Calcul parallèle sur GPU

RAPPORT DE STAGE Calcul parallèle sur GPU Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE Calcul parallèle sur GPU D Aguanno Carlotta Laboratoire d accueil : INRIA Directeur du laboratoire : GROS Patrick Responsable

Plus en détail

VISION INDUSTRIELLE PLAN DU COURS. 2. Acquisition ou Formation des images 3. Traitement d images 4. Analyse des images. Exemples d applications

VISION INDUSTRIELLE PLAN DU COURS. 2. Acquisition ou Formation des images 3. Traitement d images 4. Analyse des images. Exemples d applications VISION INDUSTRIELLE Cours Licence ISACP 2008/2009 Christophe BLANC LASMEA Université Blaise Pascal Département Génie Electrique et Informatique Industrielle www.christophe-blanc.info PLAN DU COURS 2. Acquisition

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

Deux nouveaux caméscopes hybrides Canon avec enregistrement sur disque dur + carte mémoire SDHC.

Deux nouveaux caméscopes hybrides Canon avec enregistrement sur disque dur + carte mémoire SDHC. Communiqué de presse EMBARGO : 07 août 2008, 15:00 CET Deux nouveaux caméscopes hybrides Canon avec enregistrement sur disque dur + carte mémoire SDHC. Amstelveen, Pays-Bas, 7 août 2008 : Canon annonce

Plus en détail

Composition de scènes de Réalité Augmentée

Composition de scènes de Réalité Augmentée Composition de scènes de Réalité Augmentée J-Y. Didier 26/04/11 1 Système de RA Monde réel / Espace de travail Application de Réalité Augmentée Dispositifs de restitution Utilisateur Capteurs Modèles /

Plus en détail

Chapitre 2. Les mécanismes optiques de l œil

Chapitre 2. Les mécanismes optiques de l œil Manuel pages 19 à 34 Choix pédagogiques Les conditions de visibilité d un objet étant posées et la présentation de l œil réalisée, il s agit d étudier maintenant les mécanismes optiques de fonctionnement

Plus en détail

SCANNERS LASERS 3D POLYVALENTS ET FACILES D'UTILISATION

SCANNERS LASERS 3D POLYVALENTS ET FACILES D'UTILISATION SCANNERS LASERS 3D POLYVALENTS ET FACILES D'UTILISATION > > UN MONDE DE POSSIBILITÉS 3D Systems, fabricant des scanners 3D couleurs les plus rapides, polyvalents et simples d utilisation, propose une solution

Plus en détail

Partie I : Implantation d un réseau de neurones RBF sur des systèmes embarqués : la détection et la reconnaissance de visages en temps réel

Partie I : Implantation d un réseau de neurones RBF sur des systèmes embarqués : la détection et la reconnaissance de visages en temps réel 1 Partie I : Implantation d un réseau de neurones RBF sur des systèmes embarqués : la détection et la reconnaissance de visages en temps réel F.Yang M.Paindavoine GDR-ISIS 20 Janvier 2005 Paris 2 Plan

Plus en détail

Vous avez une salle d informatique... Vous voulez créer un laboratoire de langues? Nous avons la solution. www.easylab.es

Vous avez une salle d informatique... Vous voulez créer un laboratoire de langues? Nous avons la solution. www.easylab.es Vous avez une salle d informatique... Vous voulez créer un laboratoire de langues? Nous avons la solution. C est quoi easylab? easylab transforme toute salle d informatique en Laboratoires de langues les

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

figure 1 Canard en plastique à numériser

figure 1 Canard en plastique à numériser Publié dans le cadre du Congrès sur la numérisation 3D, design et digitalisation, création industrielle et artistique, 1999 L auteur doit être cité pour toute référence à ce travail 1 SUPPRIMER TOUTE CONTRAINTE

Plus en détail

appliqués à la la bonneréponse à la et des systèmes de navigation Données3D GEO-référencées demande croissante de d information géographique

appliqués à la la bonneréponse à la et des systèmes de navigation Données3D GEO-référencées demande croissante de d information géographique la bonneréponse à la demande croissante de Données3D GEO-référencées 4Systèmes d information géographique appliqués à la gestion des infrastructures routières et des systèmes de navigation Le road-scanner

Plus en détail

Comment coder une image en langage binaire? Michel Futtersack, Faculté de Droit, Université Paris Descartes

Comment coder une image en langage binaire? Michel Futtersack, Faculté de Droit, Université Paris Descartes Comment coder une image en langage binaire? Michel Futtersack, Faculté de Droit, Université Paris Descartes Les deux grands types d'images numériques Image matricielle (bitmap) Image vectorielle Image

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

1. Présentation du Mastère

1. Présentation du Mastère MASTERE SYSTEMES DE COMMUNICATION Coordinateur du Mastère : TAOUFIK AGUILI Département TIC Laboratoire des Systèmes de Communication Tél. : (+216) 71 874 700 (Poste 545) Fax : (+216) 71 872 729 taoufik.aguili@enit.rnu.tn

Plus en détail

Acquisition de vidéos HDR multi-vues

Acquisition de vidéos HDR multi-vues Acquisition de vidéos HDR multi-vues Directrice de thèse : Céline LOSCOS Encadrant : Gilles VALETTE Séminaire CReSTIC SIC Le 19 janvier 2012 Jennifer BONNARD Jennifer BONNARD Sommaire Introduction État

Plus en détail

Programme de Première

Programme de Première BAC TECHNO STAV 66 I. Algèbre Programme de Première Objectif 1 - Effectuer de manière autonome des calculs numériques ou algébriques, résoudre des équations ou inéquations en vue de résoudre des problèmes

Plus en détail

Dentiste Numérique Zfx. Un cabinet dentaire certifié avec la technologie innovante signée Zfx

Dentiste Numérique Zfx. Un cabinet dentaire certifié avec la technologie innovante signée Zfx Dentiste Numérique Zfx Un cabinet dentaire certifié avec la technologie innovante signée Zfx Dentiste Numérique Zfx Des technologies novatrices parfaitement adaptées Zfx offre aux dentistes des technologies

Plus en détail

Traitement Numérique de l Image

Traitement Numérique de l Image ESIAL 2A TRS - SIE Traitement Numérique de l Image Numérisation - Mémorisation (MdC 6ème Section) Centre de Recherche en Automatique de Nancy -UMR CNRS 7039- Équipe : SYstèMes de Production Ambiants E.R.T.

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

INTERFÉROMÈTRE DE MICHELSON

INTERFÉROMÈTRE DE MICHELSON INTERFÉROMÈTRE DE MICHELSON ATTENTION! LASER ET LAMPE À MERCURE : DANGER! - Ne jamais regarder directement le faisceau Laser, sous peine de brûlures irréversibles de la rétine. - Ne jamais regarder directement

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction La réalité augmentée assistée par ordinateur est un domaine émergeant, qui progresse rapidement. Son principe est de mélanger le monde réel et le monde virtuel. De nombreuses applications

Plus en détail

Travaux pratiques de traitement d images

Travaux pratiques de traitement d images Travaux pratiques de traitement d images EI3 année 2009-2010 TP n 1 : Segmentation d images en régions p. 3 TP n 2 : Reconnaissance des formes p. 15 Vandenbroucke Nicolas R11 TP n 1 Segmentation d images

Plus en détail

1 Le vocabulaire de l informatique

1 Le vocabulaire de l informatique 1 Le vocabulaire de l informatique I Les systèmes informatiques Les ordinateurs sont omniprésents dans notre environnement quotidien. Conçus pour traiter de manière générale des informations, ils ne se

Plus en détail

Informatique et création numérique

Informatique et création numérique Enseignement d exploration en classe de seconde 30 septembre 2015 Groupe de Formation-Action EE ICN Lycée Koeberlé de Sélestat Horaire Objectifs de l enseignement Une dimension interdisciplinaire Perspectives

Plus en détail

Rapport de Stage. Habillage procédural et rendu en temps réel de vastes terrains texturés par GPU-quadtrees. (15 janvier - 15juillet 2006

Rapport de Stage. Habillage procédural et rendu en temps réel de vastes terrains texturés par GPU-quadtrees. (15 janvier - 15juillet 2006 Rapport de Stage Habillage procédural et rendu en temps réel de vastes terrains texturés par GPU-quadtrees (15 janvier - 15juillet 2006 15 avril - 15 juillet 2007) Effectué au sein du laboratoire MAP-ARIA

Plus en détail

PosCon 3D. La mesure de bords dans une nouvelle dimension.

PosCon 3D. La mesure de bords dans une nouvelle dimension. PosCon 3D La mesure de bords dans une nouvelle dimension. Une nouvelle dimension. PosCon 3D pour la mesure de position des bords d un objet, quelle que soit la distance. Très innovant, le détecteur de

Plus en détail

Approche hybride de reconstruction de facettes planes 3D

Approche hybride de reconstruction de facettes planes 3D Cari 2004 7/10/04 14:50 Page 67 Approche hybride de reconstruction de facettes planes 3D Ezzeddine ZAGROUBA F. S.T, Dept. Informatique. Lab. d Informatique, Parallélisme et Productique. Campus Universitaire.

Plus en détail

Contrôle d une caméra Kinect par le middleware ROS

Contrôle d une caméra Kinect par le middleware ROS Projet de première année Contrôle d une caméra Kinect par le middleware ROS Auteurs : Elian Cocchi Maxime Sibellas Tuteurs : ISIBOT Romuald Aufrere Table des matières 1 Le middleware ROS 3 1.1 Présentation...............................

Plus en détail

Affichage rapide de scènes 3D

Affichage rapide de scènes 3D ÉPREUVE COMMUNE DE TIPE 2010 - Partie D TITRE : Affichage rapide de scènes 3D Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes Entretien avec les examinateurs

Plus en détail

TAGARNO AS Sandøvej 4 8700 Horsens Danenmark Tél: +45 7625 1111 Mail: mail@tagarno.com

TAGARNO AS Sandøvej 4 8700 Horsens Danenmark Tél: +45 7625 1111 Mail: mail@tagarno.com 8 TAGARNO AS Sandøvej 4 8700 Horsens Danenmark Tél: +45 7625 1111 Mail: mail@tagarno.com TAGARNO 2 Capture d Image Rapide Fonction Split Screen Grossissement jusqu à 320x Réglage Hauteur Facile Carte SD

Plus en détail

Séries eneo NXC et NXD. bsw-security.ch. b QUATRE FLUX VIDÉO MULTIPLES. c COMPRESSION H.264. f POWER-OVER-ETHERNET. a COMPATIBILITÉ ONVIF

Séries eneo NXC et NXD. bsw-security.ch. b QUATRE FLUX VIDÉO MULTIPLES. c COMPRESSION H.264. f POWER-OVER-ETHERNET. a COMPATIBILITÉ ONVIF b QUATRE FLUX VIDÉO MULTIPLES c COMPRESSION H.264 f POWER-OVER-ETHERNET a COMPATIBILITÉ ONVIF Séries eneo NXC et NXD Caméras IP mégapixel avec RoI (Region of Interest) et compatibilité ONVIF bsw-security.ch

Plus en détail

RECONNAISSANCE DE TRAJECTOIRES PAR VISION ARTIFICIELLE POUR LE SUIVI PAR UN ROBOT.

RECONNAISSANCE DE TRAJECTOIRES PAR VISION ARTIFICIELLE POUR LE SUIVI PAR UN ROBOT. RECONNAISSANCE DE TRAJECTOIRES PAR VISION ARTIFICIELLE POUR LE SUIVI PAR UN ROBOT Z Hammoudi, H Hamdi, M Laouar, A Chaaboub Département d Electronique, Faculté des sciences de l ingénieur Université de

Plus en détail

Vision et image. PARtiE 1. Le programme. Évaluation diagnostique p. 16. observer Couleur, vision et image

Vision et image. PARtiE 1. Le programme. Évaluation diagnostique p. 16. observer Couleur, vision et image Vision et image PRtiE 1 Manuel unique, p. 16 ( Manuel de physique, p. 14) séquence 1 Le programme notions et contenus L œil, modèle de l œil réduit. Lentilles minces convergentes : images réelle et virtuelle.

Plus en détail

ispace&time ANR CONTINT 2010

ispace&time ANR CONTINT 2010 ispace&time ANR CONTINT 2010 Cartographie et rendu 4D de l'espace public avec simulations de flux piétons et voitures pour l'aménagement urbain: Le projet ANR ispace&time Journées Recherche IGN 24 avril

Plus en détail

Les mathématiques et le traitement de l image Kévin Polisano

Les mathématiques et le traitement de l image Kévin Polisano Les mathématiques et le traitement de l image Kévin Polisano [ Doctorant au Laboratoire ] Jean Kuntzmann et CNRS N hésitez pas à lever la main! pour m interrompre! Qu est-ce qu une image numérique? Source

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

PROGRAMMES D INFORMATIQUE

PROGRAMMES D INFORMATIQUE RÉPUBLIQUE TUNISIENNE MINISTERE DE L EDUCATION ET DE LA FORMATION DIRECTION GENERALE DES PROGRAMMES ET DE LA FORMATION CONTINUE ----------------------- DIRECTION DES PROGRAMMES ET DES MANUELS SCOLAIRES

Plus en détail

MEFP3C : Un système logiciel pour le Maillage Evolutif de Formes avec Pavage par Polygones à sommets 3 Connexes

MEFP3C : Un système logiciel pour le Maillage Evolutif de Formes avec Pavage par Polygones à sommets 3 Connexes MEFP3C : Un système logiciel pour le Maillage Evolutif de Formes avec Pavage par Polygones à sommets 3 Connexes Jamal Khamlichi, Jean-Paul Gourret IUT de La Rochelle - Département Informatique 15 rue François

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

*La passion de l innovation. Konica Minolta Unity Document Suite. La solution intégrée et performante de traitement des documents

*La passion de l innovation. Konica Minolta Unity Document Suite. La solution intégrée et performante de traitement des documents *La passion de l innovation Konica Minolta Unity Document Suite La solution intégrée et performante de traitement des documents Unity Document Suite, Acquisition et distribution des documents Un traitement

Plus en détail

Maintien des personnes âgées à domicile

Maintien des personnes âgées à domicile Maintien des personnes âgées à domicile Enjeux scientifiques et technologiques liés à la vision par ordinateur Christian Wolf http://liris.cnrs.fr/christian.wolf Introduction Sommaire Les données et les

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

HORUS-CAM Logiciel de F Pour A La O bo D ra e to n i t r a es i r & e Cabinets

HORUS-CAM Logiciel de F Pour A La O bo D ra e to n i t r a es i r & e Cabinets HORUS-CAM Logiciel de FAO Dentaire Pour Laboratoires & Cabinets Qui sommes-nous? En association avec les éditeurs de logiciels d usinage le plus reconnu, HORUS participe au développement des logiciels

Plus en détail

Chapitre 3 : Multimédia

Chapitre 3 : Multimédia Chapitre 3 : Multimédia Le multimédia est l ensemble de techniques et de produits qui permettent l utilisation simultanée et interactive de plusieurs modes de représentation de l'information (texte, son,

Plus en détail

FORMATION LES SCANNERS

FORMATION LES SCANNERS FORMATION LES SCANNERS Généralités Les scanners à plat modernes sont constitués d'éléments CCD, une technologie initialement développée pour les techniques satellites et de télévision. Les CCD transforment

Plus en détail

Fiche synthétique de la 1 ère année FIA

Fiche synthétique de la 1 ère année FIA Fiche synthétique de la 1 ère année FIA Mission En 1 ère année, l'apprenti doit être capable de remplir des missions habituellement confiées à un technicien supérieur : la dimension technique prime donc

Plus en détail

Vision par ordinateur

Vision par ordinateur Vision par ordinateur Introduction au domaine Applications Frédéric Devernay Qu'est-ce que la vision? Le monde a une structure 3D et est composé d'objets L'être humain sait parfaitement décrire et interpréter

Plus en détail

Vision industrielle Dispositif optique

Vision industrielle Dispositif optique Vision industrielle Dispositif optique Plan du cours L objectif La focale L ouverture La mise au point Qualité d image Choix de l objectif Cours de Vision Industrielle Nicolas Vandenbroucke 2 Constitution

Plus en détail

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS G en om3: Building middleware-independent robotic components Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS Pablo Rauzy 15 février 2011 Table des matières 1 G en om3 :

Plus en détail

Avant de commencer Au sommaire de ce chapitre

Avant de commencer Au sommaire de ce chapitre 1 Avant de commencer Au sommaire de ce chapitre Configuration requise pour utiliser Visual Basic 2010 Les différentes versions de Visual Basic 2010 Installation de Visual Studio 2010 Premier contact avec

Plus en détail

Fabriquant de Solutions IP

Fabriquant de Solutions IP Fabriquant de Solutions IP Catalogue 2015 Logiciel & Application Caméras IP & Serveurs Switches Accessoires Logiciel & Application NG Office CMS2 (Centralized Monitoring System) p. 6 Application NG Office

Plus en détail

Objectifs de la séance #7

Objectifs de la séance #7 Windows 7 Sécurité, maintenance et sauvegarde 1 Sécurité Mise à jour Pare-feu et anti-virus Anti-virus (ex. Avast) Windows Defender Objectifs de la séance #7 Maintenance Informations système Gestionnaire

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

Plus en détail

Application du 3D au Patrimoine Ecrit

Application du 3D au Patrimoine Ecrit Application du 3D au Patrimoine Ecrit Benjamin Loriot, Ralph Seulin, Patrick Gorria, Pierre Jobard Laboratoire Le2i UMR CNRS 5158 Journée «Signal Images et Arts», 01/06/06, Paris Tampons, reliures : objets

Plus en détail

Livre de l information LabChart formation, Paris, le 1 Juillet et 2 Juillet 2014

Livre de l information LabChart formation, Paris, le 1 Juillet et 2 Juillet 2014 Nous vous remercions de l intérêt que vous portez à notre formation logicielle LabChart. La prochaine formation se tiendra à Paris le 1er et 2 Juillet. Ci-dessous, vous trouverez plus d informations sur:

Plus en détail

STAGES. VISION PAR ORDINATEUR Perception 3D Réalité Augmentée

STAGES. VISION PAR ORDINATEUR Perception 3D Réalité Augmentée STAGES VISION PAR ORDINATEUR Perception 3D Réalité Augmentée Le CEA-LIST Les activités de recherche du CEA LIST sont centrées sur les systèmes à logiciel prépondérant. Ces activités s articulent autour

Plus en détail

Projet audio. Analyse des Signaux ELE2700

Projet audio. Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique Projet audio Analyse des Signaux ELE2700 Saad Chidami - 2014 Table des matières Objectif du laboratoire... 4 Caractérisation du bruit...

Plus en détail

Groupe de travail Infrastructures de recherche

Groupe de travail Infrastructures de recherche Groupe de travail Infrastructures de recherche Note sur les particularités des infrastructures pour une recherche dans le numérique Version internet - 30/04/2015 Les plates- formes numériques, outils et

Plus en détail

LA RÉSOLUTION DE PROBLÈME

LA RÉSOLUTION DE PROBLÈME 1 LA RÉSOLUTION DE PROBLÈME CYCLES 2 ET 3 Circonscription de Grenoble 4 Evelyne TOUCHARD conseillère pédagogique Mots clé Démarche d enseignement - catégories de problèmes (typologie)- problème du jour-

Plus en détail