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 ( 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

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

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

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

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

Plus en détail

PROJET 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

µ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

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

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

Sommaire. Bertrand PECUCHET

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

Plus en détail

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

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

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

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

Plus en détail

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

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

Plus en détail

http://notes.mstechdays.fr

http://notes.mstechdays.fr Donnez votre avis! Depuis votre smartphone, sur : http://notes.mstechdays.fr De nombreux lots à gagner toutes les heures!!! Claviers, souris et jeux Microsoft Merci de nous aider à améliorer les TechDays

Plus en détail

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

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

Plus en détail

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique DUT Informatique, orientation Imagerie Numérique Domaine : Sciences, Technologies, Santé Mention : Informatique Organisation : Institut Universitaire de Technologie Lieu de formation : Le Puy en Velay

Plus en détail

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

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

Plus en détail

Master Informatique Aix-Marseille Université

Master Informatique Aix-Marseille Université Aix-Marseille Université http://masterinfo.univ-mrs.fr/ Département Informatique et Interactions UFR Sciences Laboratoire d Informatique Fondamentale Laboratoire des Sciences de l Information et des Systèmes

Plus en détail

Apprentissage Automatique

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

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

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

SmartClass+ Plateforme de gestion de classe. Qu importe le lieu, le moment, l appareil. ipad, Mac Android Windows Téléphones intelligents «AVEC»

SmartClass+ Plateforme de gestion de classe. Qu importe le lieu, le moment, l appareil. ipad, Mac Android Windows Téléphones intelligents «AVEC» SmartClass+ Plateforme de gestion de classe Qu importe le lieu, le moment, l appareil ipad, Mac Android Windows Téléphones intelligents «AVEC» La classe du XXI e siècle, à l ère du numérique La technologie

Plus en détail

Logiciel EV3 LEGO MINDSTORMS Education

Logiciel EV3 LEGO MINDSTORMS Education Robot éducateur : LEGO Education a le plaisir de vous présenter Robot éducateur, une sélection d'activités pédagogiques vous permettant de prendre en main votre EV3 LEGO MINDSTORMS Education de façon structurée

Plus en détail

Traitement bas-niveau

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

Plus en détail

GROUPE DE TRAVAIL «ARTICLE 29» SUR LA PROTECTION DES DONNÉES

GROUPE DE TRAVAIL «ARTICLE 29» SUR LA PROTECTION DES DONNÉES GROUPE DE TRAVAIL «ARTICLE 29» SUR LA PROTECTION DES DONNÉES 00727/12/FR WP 192 Avis 02/2012 sur la reconnaissance faciale dans le cadre des services en ligne et mobiles Adopté le 22 mars 2012 Le groupe

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

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et l'anglais. L'étudiant a le choix entre deux filières

Plus en détail

L EFFET PARALLAXE N EST

L EFFET PARALLAXE N EST 50 3 Objets L EFFET PARALLAXE N EST PAS SPÉCIFIQUEMENT UN TRUCAGE D AFTER EFFECTS. C est un principe que vous devriez avoir à l esprit quand vous travaillez en 3D. En raison de la nature de la 3D dans

Plus en détail

KIP 770 Solution Multifonction Exceptionnelle

KIP 770 Solution Multifonction Exceptionnelle KIP 770 Solution Multifonction Exceptionnelle KIP 770 D infinies Possibilités KIP 770 FAIBLE ENCOMBREMENT Le KIP 770 instaure de nouvelles normes en matière de qualité et performance. Compacte et ergonomique,

Plus en détail

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

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

Plus en détail

LA RECONNAISSANCE VOCALE INTEGREE

LA RECONNAISSANCE VOCALE INTEGREE Fiche produit LA RECONNAISSANCE VOCALE INTEGREE 360 SpeechMagic SDK Capturer l information médicale grâce à la reconnaissance vocale DÉFI : Comment optimiser la création des comptes rendus et la capture

Plus en détail

MASTER 2 INFORMATIQUE - UNIVERSITE DE FRANCHE-COMTE. Projet Kinect. Détection de mouvements intempestifs dans un bloc opératoire

MASTER 2 INFORMATIQUE - UNIVERSITE DE FRANCHE-COMTE. Projet Kinect. Détection de mouvements intempestifs dans un bloc opératoire MASTER 2 INFORMATIQUE - UNIVERSITE DE FRANCHE-COMTE Projet Kinect Détection de mouvements intempestifs dans un bloc opératoire Benoît Bernardin et Paul Meyer sous l encadrement de Jean-Christophe Lapayre

Plus en détail

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

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

Plus en détail

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

Big Data et Graphes : Quelques pistes de recherche

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

Plus en détail

Sommaire. Leap motion... 2. Technologie... 2. Fonctionnement... 3. Langages utilisés... 3. Possibilités d utilisation... 4

Sommaire. Leap motion... 2. Technologie... 2. Fonctionnement... 3. Langages utilisés... 3. Possibilités d utilisation... 4 Leap4Skywalker Sommaire Leap motion... 2 Technologie... 2 Fonctionnement... 3 Langages utilisés... 3 Possibilités d utilisation... 4 Projet développé avec le LeapMotion... 4 Imagination... 5 Technologies

Plus en détail

Voir le monde à travers un capteur de profondeur

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

Plus en détail

Dispositif sur budget fédéral

Dispositif sur budget fédéral w w w. c n f e t p. c o m R é f o r m e B T S S I O Services Informatiques aux Organisations Dispositif sur budget fédéral 31 rue des Naudières 44400 REZE Tél. 02 40 32 88 00 Fax 02 40 84 12 95 contact@cnfetp-nantes.com

Plus en détail

Outils permettant la diffusion de l information. Un point sur le droit numérique

Outils permettant la diffusion de l information. Un point sur le droit numérique Technologies de l Information et de la Communication Introduction aux NTE/TICE Présentation des UNR UNT Outils permettant la diffusion de l information Conceptualisation d un module d apprentissage numérique

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL J. TICHON(1) (2), J.-M. TOULOTTE(1), G. TREHOU (1), H. DE ROP (2) 1. INTRODUCTION Notre objectif est de réaliser des systèmes de communication

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

IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21

IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21 IODAA de l 1nf0rmation à la Décision par l Analyse et l Apprentissage IODAA Informations générales 2 Un monde nouveau Des données numériques partout en croissance prodigieuse Comment en extraire des connaissances

Plus en détail

Opérations de base sur ImageJ

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

Plus en détail

1. Découvrir l iphone 3G et 3G S

1. Découvrir l iphone 3G et 3G S 1. Découvrir l iphone 3G et 3G S En juin 2009, Apple dévoilait deux grosses nouveautés : l iphone OS 3.0, nouveau système d exploitation pour ses téléphones portables, les iphone, et l iphone 3G S, successeur

Plus en détail

La solution à vos mesures de pression

La solution à vos mesures de pression Mesure de force linéique La solution à vos mesures de pression Sensibilité Répétabilité Stabilité Le système X3 de XSENSOR propose un concept innovant spécialement adapté pour vos applications de mesure

Plus en détail

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

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

Plus en détail

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

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les Tablettes Les tablettes Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les tablettes Description: Appareil mobile positionné entre smartphone

Plus en détail

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE Le schéma synoptique ci-dessous décrit les différentes étapes du traitement numérique

Plus en détail

FORUM NTIC BIG DATA, OPEN DATA Big Data: les challenges, les défis

FORUM NTIC BIG DATA, OPEN DATA Big Data: les challenges, les défis FORUM NTIC BIG DATA, OPEN DATA Big Data: les challenges, les défis Joseph Salmon Télécom ParisTech Jeudi 6 Février Joseph Salmon (Télécom ParisTech) Big Data Jeudi 6 Février 1 / 18 Agenda Contexte et opportunités

Plus en détail

1S9 Balances des blancs

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

Plus en détail

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé EXERCICE 1 5 points Commun à tous les candidats 1. Réponse c : ln(10)+2 ln ( 10e 2) = ln(10)+ln ( e 2) = ln(10)+2 2. Réponse b : n 13 0,7 n 0,01

Plus en détail

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

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

Plus en détail

Formation continue. Ensae-Ensai Formation Continue (Cepe)

Formation continue. Ensae-Ensai Formation Continue (Cepe) CertifiCat de data scientist Formation continue Ensae-Ensai Formation Continue (Cepe) CertifiCat de data scientist La demande de data scientists est croissante mais peu de formations existent. Ce certificat

Plus en détail

Immersion - Vision 3D dans la RV.

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

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

EFFET DOPPLER EXOPLANETES ET SMARTPHONES.

EFFET DOPPLER EXOPLANETES ET SMARTPHONES. EFFET DOPPLER EXOPLANETES ET SMARTPHONES. I. APPLICATIONS UTILISEES POUR CETTE ACTIVITE : Sauf indication les applications sont gratuites. 1.Pour connaître les exoplanetes : Exoplanet (android et IOS)

Plus en détail

Réalité virtuelle au service de la maintenance

Réalité virtuelle au service de la maintenance Réalité virtuelle au service de la maintenance Christian Boucheny EDF R&D SINETICS Séminaire Cartographie d intérieur et d extérieur ENSMP 04/09/2013 Sommaire 1. Application 1 : ADRM Aide à la Décision

Plus en détail

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

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

Plus en détail

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble.. 1 Définition GÉNÉRALITÉS Statique 1 2 Systèmes matériels et solides Le système matériel : Il peut être un ensemble.un sous-ensemble..une pièce mais aussi un liquide ou un gaz Le solide : Il est supposé

Plus en détail

Système de détection d intrusions périmétrique par câble enterré INTREPID TM

Système de détection d intrusions périmétrique par câble enterré INTREPID TM icrotrack, la dernière addition à la famille de systèmes de détection d intrusions INTREPID de Southwest Microwave, est un nouveau système de câble enterré destiné aux applications qui exigent une protection

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Glossaire technique Veditec

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

Plus en détail

2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D, E, F (voir pages suivantes).

2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D, E, F (voir pages suivantes). SUJET DE CONCOURS Sujet Exploitation d une documentation scientifique sur le thème de l énergie 2 e partie de la composante majeure (8 points) Les questions prennent appui sur six documents A, B, C, D,

Plus en détail

Projet Business Object

Projet Business Object Projet Business Object Rapports parties 1 et 2 Alexandre DUPONT, Guillaume COUSIN, Laurent PACHAREU et Yoann KERMORVANT Etudiants en licence professionnelle Conception de Systèmes Décisionnels Page 1 sur

Plus en détail

Présentation de la majeure ISN. ESILV - 18 avril 2013

Présentation de la majeure ISN. ESILV - 18 avril 2013 Présentation de la majeure ISN ESILV - 18 avril 2013 La Grande Carte des Métiers et des Emplois Sociétés de service Entreprises Administrations Grand- Public Sciences Utiliser Aider à utiliser Vendre APPLICATIONS:

Plus en détail

Qu est-ce que le «cloud computing»?

Qu est-ce que le «cloud computing»? Qu est-ce que le «cloud computing»? Par Morand Studer eleven Octobre 2011 Qu est-ce que le «cloud computing»? - Morand Studer eleven Octobre 2011 www.eleven.fr 1 Aujourd hui, la démocratisation de l informatique

Plus en détail

EIP 2012 Projet Livepad. Documentation technique 1.5

EIP 2012 Projet Livepad. Documentation technique 1.5 EIP 2012 Projet Livepad 1.5 Marc Mathieu Benjamin Netter David Ngo Pierre Pasteau Denis Togbe 12-01-2012 Informations sur le projet Groupe Nom du projet Type de document Marc Mathieu Benjamin Netter David

Plus en détail

SLAM Visuel 3D pour robot mobile autonome

SLAM Visuel 3D pour robot mobile autonome Master de Sciences Mention «Imagerie, Robotique et Ingénierie pour le Vivant» - Projet de Fin D étude - SLAM Visuel 3D pour robot mobile autonome Romain Drouilly Encadrants ECA Benoit Morisset Pierrick

Plus en détail

Extraction d informations stratégiques par Analyse en Composantes Principales

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

Plus en détail

Gestion de données avec les bibliothèques Final Cut Pro X. Livre blanc Juin 2014

Gestion de données avec les bibliothèques Final Cut Pro X. Livre blanc Juin 2014 Livre blanc Juin 2014 2 Contenus 3 Introduction 4 Nouveautés de Final Cut Pro X 10.1 Bibliothèques Données externes et gérées Données générées 6 Mettre à jour des projets et des événements dans Final Cut

Plus en détail

Catalogue Produits. Version 1

Catalogue Produits. Version 1 Catalogue Produits Version 1 A propos d Actisense INTRODUCTION Interfaces et Sondes intelligentes Actisense. Des solutions plus intelligentes qui ont un sens. Actisense est synonyme d excellence dans le

Plus en détail

C - ICM LTE Gamme DE

C - ICM LTE Gamme DE Gamme DELTEC - ICM ICM micro Projecteur de profil numérique 2D Système de mesure 2D, fruit de plus de 25 ans d expérience dans la métrologie par vision! Déposer c est mesurer! - Reconnaissance de la pièce

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

modélisation solide et dessin technique

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

Plus en détail

FICHE DE POSTE. Date de rédaction : 20/02/15. Argumentaire général

FICHE DE POSTE. Date de rédaction : 20/02/15. Argumentaire général UNIVERSITE LYON 2 (LUMIERE) Référence GALAXIE : 4217 Numéro dans le SI local : Référence GESUP : F002 Corps : Maître de conférences Article : 26-I-1 Chaire : Non Section 1 : 71-Sciences de l'information

Plus en détail

DESCRIPTIF DES PROJETS 3EME ANNEE QUI SERONT PRESENTES LORS DE LA JOURNEE DE PROJET DE FIN D ETUDE LE 26/01/2012

DESCRIPTIF DES PROJETS 3EME ANNEE QUI SERONT PRESENTES LORS DE LA JOURNEE DE PROJET DE FIN D ETUDE LE 26/01/2012 DA Télémédecine et SI de Santé DESCRIPTIF DES PROJETS 3EME ANNEE QUI SERONT PRESENTES LORS DE LA JOURNEE DE PROJET DE FIN D ETUDE LE 26/01/2012 PROJET N 1 : IMPLEMENTATION D'UNE INTERFACE SWEETHOME DEDIEE

Plus en détail

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables LIONEL FRANC Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables L'INTRODUCTION Micro ordinateur portable ou fixe Système pluri- technologiques (mécanique,

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Les ressources numériques

Les ressources numériques Les ressources numériques Les ressources numériques sont diverses et regroupent entre autres, les applications, les bases de données et les infrastructures informatiques. C est un ensemble de ressources

Plus en détail

un nouvel œil pour l analyse de mouvement

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

Plus en détail

RECONSTRUCTION D'UN MODÈLE 3D D'OBJET AVEC LA KINECT

RECONSTRUCTION D'UN MODÈLE 3D D'OBJET AVEC LA KINECT PROJET DE SEMESTRE : RECONSTRUCTION D'UN MODÈLE 3D D'OBJET AVEC LA KINECT SOFTWARE PROJECT MANAGEMENT PLAN Projet Reconstruction d'un modèle 3D d'objet avec la Kinect Document École Software Project Management

Plus en détail

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab notre compétence d'éditeur à votre service créée en juin 2010, Scilab enterprises propose services et support autour

Plus en détail

Tout au long de votre cursus Quel métier futur? Dans quel secteur d activité? En fonction de vos goûts et aptitudes et du «niveau d emploi» dans ce

Tout au long de votre cursus Quel métier futur? Dans quel secteur d activité? En fonction de vos goûts et aptitudes et du «niveau d emploi» dans ce Tout au long de votre cursus Quel métier futur? Dans quel secteur d activité? En fonction de vos goûts et aptitudes et du «niveau d emploi» dans ce «profil» S orienter (éventuellement se réorienter) dans

Plus en détail

Communications immersives : Enjeux et perspectives

Communications immersives : Enjeux et perspectives Journée Futur et Ruptures Communications immersives : Enjeux et perspectives Béatrice Pesquet-Popescu Télécom ParisTech, Département TSI 5 mars 2015 Institut Mines-Télécom Tendances actuelles Plus, plus,

Plus en détail

DOCUMENT D INFORMATION D IDC

DOCUMENT D INFORMATION D IDC DOCUMENT D INFORMATION D IDC Comment Big Data transforme la protection et le stockage des données Août 2012 Écrit par Carla Arend Sponsorisé par CommVault Introduction : Comment Big Data transforme le

Plus en détail

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique 19 mai 2015 Préambule L informatique est tout à la fois une science et une technologie qui

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

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

Plus en détail