Suivi d’objet de forme libre dans un système de réalité augmentée mobile

68 228 0
Suivi d’objet de forme libre dans un système de réalité augmentée mobile

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Institut TELECOM / TELECOM & Management SudParis Département Advanced Research & TEchniques for Multidimensional Imaging Systems ARTEMIS Suivi d’objet de forme libre dans un système de réalité augmentée mobile Mémoire de stage de Master Informatique Institut de la Francophonie pour l'Informatique (IFI), Hanoi - Vietnam Van Hung LE 21 octobre 2010 Marius PREDA, Maitre de Conférences au TELECOM SudParis Madjid MAIDI, Ingénieur R&D au TELECOM SudParis Directeur de stage Encadrant Résumé L’objectif de ce stage est de réaliser un système de reconnaissance d’objets sans-marqueurs en réalité augmentée sur une plateforme mobile Une méthode novatrice basée sur les descripteurs locaux invariants a été implémentée pour détecter et extraire les points d’intérêts dans l’image Cette technique a été optimisée et adaptée pour être exploitée sur une architecture mobile faibles ressources La deuxième partie du stage est l’estimation de la pose de la caméra pour pouvoir recaler des graphiques virtuels sur des images réelles afin d’augmenter et enrichir la perception visuelle de l’utilisateur Des tests expérimentaux et de nombreuses évaluations ont été effectués pour démontrer l’intérêt de l’approche proposée Le travail réalisé a permis de lever le verrou sur certaines problématiques d’identification et de suivi d’objets de formes libres dans un environnement non instrumenté de réalité augmentée mobile Abstract This work aims to realize a recognition system for markerless tracking in mobile augmented reality A novel method based local invariant descriptors was implemented to detect and extract image feature points This technique was optimized and adapted for a mobile architecture with low resources The second part of work is the camera pose estimation to superimpose virtual graphics on real image in order to enhance the visual perception of the user Experiments and many evaluations were conducted to demonstrate the relevance of the proposed approach This study enabled to overcome some identification issues for markerless tracking in mobile augmented reality environments Table des matières Résumé Abstract Table des matières Remerciements Cadre du stage Références Matériels et logiciels utilisés Chapitre I 1.1 Contexte et objectifs Problématique 10 1.1.1 Suivi d’objet de forme libre 10 1.1.2 Estimation de la pose de la caméra 10 1.1.3 Contraintes 10 1.2 Motivation 11 1.3 Objectifs 11 1.3.1 Identification d’objets par la technique SURF 11 1.3.2 Calcul de la pose 11 1.3.3 Implémentation sur téléphone portable 11 1.4 Contributions 12 1.4.1 Utilisation de SURF pour la reconnaissance d’objets de formes libres 12 1.4.2 Amélioration du temps d’exécution et le taux de reconnaissance de cibles 12 1.4.3 Développement de l’application sur téléphone portable 12 Chapitre II Les systèmes de réalité augmentée mobiles : état de l’art 14 2.1 Introduction 14 2.2 Travaux de recherches 14 2.2.1 Travaux de Chen et al 14 2.2.2 Travaux de Karpischek et al 15 2.2.3 Travaux de Henrysson et al 16 2.2.4 Travaux de Assad et al 16 2.2.5 Travaux de Keitler et al 17 2.2.6 Travaux de Schmalstieg et Wagner 18 2.2.7 Travaux de Wagner et al 19 2.2.8 Travaux de Klein et Murray 19 2.2.9 Travaux de Takacs et al 20 2.2.10 Discussion 20 2.3 Applications commerciales développées 21 2.3.1 Applications pratiques 22 2.3.2 Applications scientifiques 26 2.4 Conclusion 29 Chapitre III Contributions pour le suivi d’objet naturel en temps réel 30 3.1 Introduction 30 3.2 Identification d’objet par la méthode SURF 30 3.3 Amélioration du temps de calcul pour le suivi temps-réel 32 3.4 Calibration de la caméra 33 A Notations 35 B L’homographie entre le modèle planaire et son image 35 C Contraintes des paramètres intrinsèques 36 D Interprétation géométrique 36 E Résolution des paramètres de la calibration 37 3.5 Appariement 2D-3D 41 3.6 Estimation de la pose de la caméra 42 A Équations de bases 43 B L'homographie entre le modèle planaire et son image 43 C Résolution analytique 44 D Algorithme 44 3.7 Recalage de graphique virtuel sur l’objet réel 45 3.8 Conclusion 45 Chapitre IV Résultats et évaluations 46 4.1 Introduction 46 4.2 Environnement matériel et outil de développement 46 4.2.1 La librairie OpenCV 46 4.2.2 Symbian 47 4.2.3 Android 49 4.3 4.3.1 Résultats de la reconnaissance 50 Amélioration du temps de calcul 53 4.3.2 4.4 Amélioration du taux d’identification 55 Résultat de suivi en réalité augmentée 55 4.4.1 Calibration de la caméra 55 4.4.2 Appariements 2D-3D 58 4.4.3 Calcul de la pose 59 4.4.4 Recalage d’objet virtuel 61 4.5 Implémentation sur Symbian, Android 62 4.5.1 Configuration matérielle et logicielle 62 4.5.2 Étude comparative 63 4.6 Conclusion 64 Chapitre V Conclusions et perspectives 65 PERSPECTIVES 66 Références bibliographiques 67 Remerciements Tout d’abord, je tiens remercier mon responsable de stage, M Marius PREDA, de m'avoir accueilli dans son équipe, au département ARTEMIS, et pour avoir dirigé mon travail toute la durée de ce stage Je remercie M Madjid MAIDI pour son encadrement et pour tous les conseils qu’il m’a prodigués Enfin, Mes remerciements s’adressent tous mes collègues au département ARTEMIS et toute l’équipe technique et administrative, pour l’ambiance qu’ils n’ont pas manquée d’apporter tout le long du stage Cadre du stage Présentation du Département ARTEMIS ARTEMIS (Advanced Research & TEchniques for Multidimensional Imaging Systems) est un département de recherche et développement du TELECOM SudParis et dont le directeur est M Pierre ROLIN Les thématiques de recherche d'ARTEMIS se rapportent aux sciences et technologies de l'image numérique Celles-ci lancent de nombreux défis aux acteurs économiques et académiques afin de concevoir méthodes innovantes et nouveaux services pour la société de l'information L'image numérique d'aujourd'hui couvre le large éventail des données visuelles : 2D comme en radiographie ou 3D comme en CAO industrielle; statiques (photos, dessins ) ou animées (vidéos, maillages dynamiques, objets déformables ), naturelles (issues du monde physique) ou de synthèse (générées par ordinateur), en environnement fixe ou mobile ARTEMIS traite la chaîne d'image depuis la création des contenus numériques jusqu'à leur diffusion L'enjeu est de créer, modéliser, analyser, indexer, animer, sécuriser, manipuler, enrichir, coder, distribuer et visualiser des contenus hétérogènes et complexes pour des services d'intermédiation économiquement réalistes Les activités du département sont subdivisées en trois grands thèmes : Analyse de contenus visuels : modélisation, reconstruction 3D, segmentation de forme, recalage, mouvement, texture Enrichissement des flux multimédias : indexation, protection, animation, interactivité, réalité augmentée Échanges de contenus multimédias : compression, transmission, visualisation, interopérabilité En maîtrisant les interactions analyse-échanges, analyse-enrichissement, enrichissementéchanges, ARTEMIS dispose d'une expertise globale sur la chaîne de production de l'image numérique Mon stage intervient dans le premier et le deuxième thème de recherche, car l’objectif du travail est de réaliser un système de reconnaissance d’objet de forme libre dans un processus de suivi en réalité augmentée mobile Références Mon stage s’effectue au département ARTEMIS au TELECOM SudParis situé l’adresse : 9, Rue Charles Fourier 91011 Évry Cedex – France Mon directeur de stage est M Marius PREDA et mon encadrant est M Madjid MAIDI dont voici les coordonnées : M Marius PREDA Tél : +33 (0)1 60 76 43 45 E-mail: marius.preda@it-sudparis.eu M Madjid MAIDI Tél : +33 (0)1 60 76 47 34 E-mail: madjid.maidi@it-sudparis.eu Matériels et logiciels utilisés PC Dell : 3Go de RAM - processeur Intel 7250 Duo @ 2GHz Téléphones portables : Nokia N95 : 160Mo - processeur @ 332MHz HTC Hero : 288Mo - processeur @ 528MHz Nexus One : 512Mo - processeur @ 1GHz Systèmes d’exploitation : Ubuntu 10.04, Windows XP/7, Symbian OS v9.2, Android 2.1 IDE : Eclipse, ADT, Visual Studio 2005/2008 Librairies : OpenCV, STL, MFC, pThread, OpenC/C++, NDK, JNI Langages de programmation : C/C++, Java Chapitre I Contexte et objectifs La Réalité Augmentée (RA) consiste ajouter des éléments virtuels dans le monde réel pour enrichir la perception visuelle de l’utilisateur Depuis deux décennies, la RA a connu des progrès technologiques importants grâce la recherche scientifique menée dans le domaine de la vision par ordinateur et de l’informatique graphique [Maidi, 2007] Les applications de la RA sont multiples et touchent plusieurs domaines tels que: jeux vidéo, éducation, divertissement, télévision, industrie, médecine, etc Toutefois, des verrous technologiques ne sont toujours pas résolus et les solutions sont parfois typiques un problème donné Le défi majeur pour un système de RA est la combinaison du monde réel et virtuel dans un environnement augmenté cohérent et temps réel La cohérence visuelle et le temps réel sont des règles fondamentales respecter pour toute application en RA [Azuma et al., 2001] Récemment, le marché des télécommunications a été révolutionné par les téléphones portables et le domaine des applications mobiles Les téléphones portables sont dotés de plus en plus de capteurs de repérage et de localisation tels que : les boussoles, les accéléromètres et les GPS Avec des CPUs et des processeurs graphiques plus puissants, des applications plus évoluées peuvent être déployées sur ces dispositifs et notamment les applications de la RA Des milliers d’applications sont disponibles aujourd’hui sur des portails web dédiés aux téléchargements de ces applications comme Apple Store d'Apple, Android Market de Google ou OVI Store de Nokia, etc Selon les experts, le marché de la RA mobile est en plein essor et en constante progression Une enquête de Juniper Network estime qu’à la fin de 2010, le marché de la RA réalisera un chiffre d’affaire de millions USD, alors qu’en 2014 ce chiffre pourrait atteindre la somme de 714 millions USD [Walsh, 2009] Cette étude encourage les développeurs et les entreprises s’investir dans ce domaine prometteur et rentable L'avantage des systèmes de la RA mobile est la portabilité Les téléphones portables de nos jours sont quasiment tous équipés d’une caméra et de capteurs de position et de direction tels que la boussole ou le GPS Ces capteurs intégrés au sein du téléphone permettent de réaliser des applications intéressantes ayant des fonctionnalités d’assistance et de guidage de l’utilisateur en environnement extérieur Bien que les téléphones portables connaissent un grand progrès au niveau du développement applicatif, cependant il existe un décalage entre les applications réalisées et les performances matérielles du téléphone (mémoire réduite, processeur lent, autonomie insuffisante, etc) Par conséquent, le téléphone portable n’est pas encore adapté aux applications de RA temps réel qui demandent beaucoup de ressources matérielles Le développement technique dans le domaine de la nanotechnologie permettrait dans un futur proche d’améliorer les performances des unités de calcul des téléphones tout en augmentant leur capacité de stockage et d’adressages 1.1 Problématique Les problématiques auxquelles nous nous sommes intéressées dans ce stage sont les suivantes : 1.1.1 Suivi d’objet de forme libre La plupart des systèmes de RA actuels utilisent des marqueurs visuels, ces systèmes sont adaptés pour des environnements intérieurs et instrumentés Dans notre cas, il s’agit d’une application sur un dispositif portable qui fonctionne en intérieur et en extérieur Par conséquent, l’utilisation d’un système de reconnaissance de cibles naturelles s’impose 1.1.2 Estimation de la pose de la caméra L’une des problématiques majeures de notre application est l’estimation de la pose de la caméra Cette étape est cruciale pour tout système de RA car elle permet le recalage ou la superposition des graphiques virtuels sur les images réelles Dans cette partie nous allons aborder le problème d’estimation de la pose d’une manière détaillée, quels sont les paramètres qui régissent cette transformation et quel est le résultat obtenu partir des équations 1.1.3 Contraintes Notre système présente deux contraintes principales qui sont : Le temps d’exécution : Fonctionner en temps réel, c'est l'exigence principale des systèmes de la RA Cette performance dépend du matériel (capacité de la mémoire et vitesse du processeur,…) et des algorithmes (optimisations, parrallélisation,…) 10 Cette ROI est représentée par une fenêtre dans l’image : le point haut-gauche P(X, Y) et le point bas-droit Q(X+W, Y+H), X = Width / 4, Y = Height / 4, W = Width / 2, H = Height / (Width est la largeur de l’image et Height est l’hauteur de l’image) (figure 4.9) A partir de la figure 4.9, on remarque le temps de calcul diminue lorsque la taille de l’image diminue aussi Ce résultat est très intéressant et nous permet de réduire le temps d’exécution de la partie reconnaissance d’objet (sachant que c’est la partie la plus exigeante en termes de temps de calcul) et pouvoir réaliser des traitements en quasi temps-réel Width W (X, Y) H Height Image originale Fenêtre de parcours Taille de l’image (en pixel) Temps d’extraction SURF (en milliseconde) Taille de fenêtre (en pixel) Temps d’extraction SURF (en milliseconde) 1728 x 2592 1875.158 864 x 648 255.562 1382 x 2073 1201.659 691 x 518 164.292 1036 x 1555 683.226 518 x 388 96.014 691 x 1036 311.2689 345 x 259 43.8225 518 x 777 179.9625 259 x 194 24.6938 432 x 648 127.6861 216 x 162 19.1767 Figure 4.9 – Estimation du temps d’exécution de SURF 54 4.3.2 Amélioration du taux d’identification L’amélioration de la qualité d’identification est une opération difficile réaliser, car il s’agit d’un compris entre la précision de détection et le temps de calcul Augmenter le taux d’identification consiste effectuer plus d’opérations sur l’image pour améliorer sa qualité et reconnaitre davantage de point d’intérêts Cependant, cela va l’encontre du temps de calcul du processeur qui effectue son tour, des traitements supplémentaires et donc, plus de temps est accordée cette phase de détection et d’identification Nous avons tout de même, ajusté quelques paramètres pour obtenir le meilleur compromis entre la qualité de d’identification et le temps d’exécution Nous avons diminué le seuil de la fonction flannFindPairs qui est la fonction de mise en correspondance des descripteurs de l’objet et de l’image Ce seuil correspond la distance entre les vecteurs descripteurs et un choix judicieux, après plusieurs expérimentations, permet d’avoir une bonne reconnaissance tout en gardant l’efficacité calculatoire temporelle D’autre part, on a adapté le seuillage du filtre Hessien qui permet la détection des points d’intérêt, de manière extraire des points caractéristiques pertinents qui seront employés dans la phase d’appariement ultérieurement Les deux optimisations présentées précédemment, ont contribué la diminution du temps de calcul de l’algorithme SURF dans ces deux phases de traitement: détection (seuillage Hessien) et reconnaissance (appariements des descripteurs) Le temps estimé après ces deux opérations est variable et peut réduire jusqu’à 10% le temps d’exécution de l’algorithme global 4.4 Résultat de suivi en réalité augmentée 4.4.1 Calibration de la caméra Comme nous l’avons déjà spécifié auparavant, la calibration de la caméra est effectuée en utilisant l’algorithme de [Zhang, 1999] Cet algorithme observe un modèle d'objet planaire dans différentes orientations On utilise un damier imprimé en noir et blanc et présenté la caméra sous différentes positions et rotations afin d’estimer d’une manière robuste les paramètres intrinsèques (figure 4.10) 55 Figure 4.10 – Procédure de calibration de la caméra Pour retrouver les sommets des carrés du damier, on a utilisé la fonction cvFindChessboardCorners Toutefois, cette fonction fournit un résultat approximatif et par conséquent, nous avons employé la fonction cvFindCornerSubPix() pour avoir une détection plus précise des points (figure 4.11), cette fonction permet de retrouver les coordonnées des points et les ordonner dans un sens de parcours défini (par lignes ou par colonnes) Figure 4.11 – Détection des points caractéristiques du damier 56 Enfin, la fonction la plus importante de cette procédure d’étalonnage de la caméra est cvCalibrateCamera2, qui permet de résoudre les paramètres de la transformation perspective et calculer la matrice intrinsèque da la caméra Les résultats numériques de cette fonction en utilisant les images de la figure 4.11, sont les suivants: 10934.271484 M୧୬୲୰୧୬ୱè୯୳ୣ ൌ ൭ 0.000000 0.000000 Mୢ୧ୱ୲୭୰ୱ୧୭୬ ൌ ሺ33.614285 0.000000 3906.671143 0.000000 െ46.832874 967.328186 1185.981323൱ 1.000000 4.210343 0.552245ሻ Les deux premiers éléments du vecteur Mdistorsion représentent les distorsions radiales dues la symétrie des lentilles et les deux derniers, les distorsions tangentielles causées par un mauvais alignement des lentilles Nous avons rectifié l'image par interpolation des pixels ayant subi, préalablement, un déplacement inverse celui de la distorsion Dans OpenCV, deux fonctions sont utilisées pour corriger les distorsions : cvUnDistortInit et cvUnDistort En appliquant ces fonctions l’image ayant la distorsion, on obtient les résultats représentés sur la figure 4.12 57 Image originale (A) Image de distorsion (B) Image de transformation (C) Les flèches de l’image (C) représentent le déplacement des pixels de l’image avec distorsion (B) vers l’image originale (A) Cette rectification est réalisée grâce aux fonctions de correction (cvUnDistortInit et cvUnDistort) qui permettent de rétablir l’emplacement original des pixels dans l’image Figure 4.12 – Correction des distorsions 4.4.2 Appariements 2D-3D L’appariement 2D-3D est une phase importante du processus de suivi en RA À partir de cette étape un ensemble de points 2D-3D est construit, permettant ainsi le calcul de la pose Notre méthode d’appariement a été présentée dans la section 3.5 du chapitre 3, néanmoins, nous allons en rappeler le principe Notre technique est composée des étapes suivantes : Étape : Déterminer les points 3D : en mesurant les coordonnées des coins du logo dans le repère objet (figure 4.13) Ces points correspondent parfaitement au rectangle qui englobe le logo dans l’image Dans notre cas, ces coordonnées sont : P0(0, 0, 0) ; P1(0, 0.75, 0) ; P2(6.25, 0.75, 0) et P3(6.25, 0, 0) (cm) Étape : Calculer l’homographie entre deux images (à l’instant t et t+1) partir des points d’intérêts Ensuite, on applique l’homographie sur les sommets du logo l’image t et on retrouve leurs homologues l’image t+1 58 Étape : L’étape précédente a permis le suivi des sommets du rectangle englobant le logo dans l’image qui sont, automatiquement, mis en correspondance avec les points 3D (étape 1) Par conséquent, nous disposons de nos appariements 2D 2D-3D 4.4.3 Calcul de la pose Nous allons maintenant nous iintéresser ntéresser aux résultats de la pose Cette étape définit l’application de RA, car elle permet de résoudre le problème de localisation nécessaire pour le recalage d’objet graphique sur l’image La pose de la caméra est représentée par la matrice extrinsèque Mextrinsèque, l’estimation de la pose requiert la matrice intrinsèque Mintrinsèque et appariements 2D/3D Pour le test, nous avons choisi un logo et nous avons capturé une image de ce logo dans la scène La procédure d’estimation de la pose nécessite une une calibration de la caméra et un ensemble de appariements 2D 2D-3D 3D Notre programme de calcul de pose fournit le résultat suivant : 59 Une première analyse qualitative nous renseigne que le résultat est correct En effet, dans la scène réelle, nous avons placé le logo une distance d’environ 90cm de la caméra et la translation en Z dans la matrice extrinsèque indique 88.55cm Pour déterminer l’erreur de la pose, nous allons calculer l’erreur de reconstruction des points d’intérêt dans l’image Cette erreur est estimée en reprojetant le modèle d’objet 3D sur l’image en utilisant la pose estimée Ensuite, nous mesurons l’écart entre les coins de la cible détectée par l’algorithme de reconnaissance et les coins du modèle projeté sur le plan image Soit l’ensemble P3D les coordonnées des points du modèle du logo dans le repère monde et P2D, les coordonnées des points 2D du logo dans l’image déterminés par SURF On calcule les points P’2D du logo projeté dans l’image par la formule : {Pଶୈ ሽ ൌ Mintrinsèque x Mextrinsèque x ሼPଷୈ ሽ L’erreur de reprojection est alors donnée par : erreurXሺiሻ ൌ ԡPଶୈ ሺiሻ X െ Pଶୈ ሺiሻ Xԡ erreurYሺiሻ ൌ ԡPଶୈ ሺiሻ Y െ Pଶୈ ሺiሻ Yԡ Et l’erreur de reconstruction globale est : erreur ൌ ቀ෍ erreurXሺiሻ ൅ ෍ erreurYሺiሻቁ N Dans la figure 4.14, on remarque que les erreurs de reconstruction pour l’algorithme analytique de pose est faible car les deux quadrilatères construits partir des points 2D initiaux et des points reprojetés sur l’image, coïncident D’autre part, le résultat numérique confirme le résultat visuel, car l’erreur reconstruction de la pose dans la figure 4.14 est de 2.25pixels Nous pouvons conclure que notre algorithme analytique d’estimation de pose est très bien adapté notre application de suivi temps réel Cet algorithme requiert moins d’une milliseconde pour un cycle d’estimation d’une pose, ajouté cela sa grande précision pixellique (~2 pixels d’erreur), ce qui a permis de l’adopter pour notre système de suivi sur le téléphone portable 60 Point 0: P2D: (373.000000, 565.000000) P2D': (373.250000, 567.250000) Point 1: P2D: (583.000000, 580.000000) P2D': (582.750000, 577.750000) Point 2: P2D: (569.000000, 782.000000) P2D': (569.250000, 784.250000) Point 3: P2D: (360.000000, 776.000000) P2D': (359.750000, 773.750000) Erreur de reconstruction globale : 2.25 pixels Figure 4.14 – Résultats de la pose et des erreurs de reconstruction 4.4.4 Recalage d’objet virtuel Les paramètres de la pose étant déterminés, nous allons maintenant projeter un objet virtuel sur le logo détecté dans l’image pour évaluer visuellement le rendu graphique Dans cette expérience, la caméra est déplacée librement autour du logo L’algorithme d’identification détecte et traque le logo et l’estimateur de pose détermine instantanément la pose de la caméra Nous pouvons voir sur la figure 4.15 que l’objet virtuel, représenté par un cube, est bien superposé sur l’image réelle Ce test expérimental prouve la précision de recalage de l’algorithme de pose dans un processus de suivi de logo dans une image 61 Figure 4.15 – Résultats de recalage d’objet virtuel 4.5 Implémentation sur Symbian, Android Dans cette partie, nous allons nous intéresser la partie intégration des codes sources sur les deux plateformes mobiles qui ont été mises notre disposition Pour valider notre approche de reconnaissance et de suivi d’objet de forme libre, nous avons réalisés nos programmes sur une station de travail afin de valider les concepts théoriques du stage Ces programmes ont été, par la suite, transférés sur deux plateformes mobiles afin de comparer leurs performances et répondre aux objectifs fixés dans ce stage 4.5.1 Configuration matérielle et logicielle Tous nos programmes ont été réalisés, initialement, sur PC et ensuite exportés vers deux plateformes mobiles : Symbian et Andoid Le tableau 4.1 résume la configuration matérielle et logicielle des différents environnements utilisés Matériel Nokia N95 HTC Hero Nexus One PC Dell Système d’exploitation Symbian OS v9.2 Android 2.1 Android 2.1 Ubuntu 10.04 Mémoire 160Mo 288Mo 512Mo 3Go Processeur 332 MHz 528 MHz 1GHz Intel 7250 Duo 2GHz Tableau 4.1 – Configurations matérielles et logicielles utilisées 62 4.5.2 Étude comparative Dans cette étude, nous avons comparé les performances des plateformes de développement fixe et mobile Nous nous sommes intéressés, particulièrement, au temps de reconnaissance du logo, car cette étape est la plus exigeante en termes de temps de calcul Le tableau 4.2 montre les différents temps d’exécution de l’algorithme SURF implémenté sur PC, sur téléphone portable HTC Hero et le téléphone Nokia N95 Image (pixels) 552x1866 441x1492 331x1119 220x746 110x373 HTC Hero 21057.5 13021.8 6929.11 3459.96 1125.95 Temps d’exécution (ms) N95 19662.9 12929.4 7568.00 3794.00 1309.62 PC 712.911 408.514 257.500 146.043 33.924 Tableau 4.2 – Temps de calcul de SURF sur différentes plateformes Le tableau 4.3 représente le temps d’exécution de l’algorithme d’estimation de la pose de la caméra sur le PC et sur le téléphone Nexus One Taille (pixels) Région Image logo d’intérêt 320 x 103 256 x 96 320 x 103 512 x 192 320 x 103 800 x 300 320 x 103 1024 x 384 320 x 103 1296 x 486 Temps d’exécution (ms) Nexus One PC 440.155 918.823 1894.44 2814.33 4180.69 61.4711 125.129 202.129 368.792 473.986 Tableau 4.3 – Temps de calcul d’estimation de la pose sur différentes plateformes On remarque que le téléphone portable est environ 30 fois plus lent que le PC concernant l’extraction des points caractéristiques SURF et environ 10 fois plus lent par rapport au calcul de la pose avec le même PC Pour une image de grande résolution (552x1866), le temps d’extraction de SURF est estimé 20s sur le téléphone mobile (idem avec la résolution 1296x486, l’estimation de la pose nécessite environ 4s avec Nexus One qui a une puissance de calcul deux fois plus élevée que HTC Hero) ce qui n’est pas du tout adapté notre application qui devrait être temps réel Part ailleurs, les algorithmes d’estimation de pose et de recalage ont un temps de calcul négligeable (< 1ms) car ils fonctionnent 63 uniquement avec des points d’intérêt et ils sont basés sur des calculs mathématiques directs Afin de réduire le temps d’exécution, nous avons effectué des optimisations logicielles pour avoir des résultats exploitables sur plateformes mobiles En effet, les optimisations concernant la spécification de la région d’intérêt (section 4.3.1) et le paramétrage de SURF (section 4.3.2), ont apporté une amélioration significative sur nos algorithmes D’ailleurs, notre système de tracking, implémenté sur PC, fonctionne en temps réel et permet d’identifier 10 logos différents 10FPS Toutefois, sur le téléphone portable, le processus de tracking et de recalage requiert en moyenne 1s pour estimer la pose et superposer un objet virtuel Nous pouvons conclure que le rapport entre le temps de calcul sur PC et sur téléphone portable est très significatif, une implémentation temps réel sur PC n’implique pas la même performance sur un téléphone mobile Les plateformes mobiles ont des ressources matérielles très limitées (mémoire, processeur,…) et une architecture système peu évoluée, et donc ils ne sont pas capables de réaliser des applications dont la complexité algorithmique est importante 4.6 Conclusion Dans ce chapitre, nous avons présenté les résultats expérimentaux de nos implémentations pour la réalisation d’une application de tracking d’objet de forme libre en RA Dans un premier temps, nous avons présenté les résultats de l’extraction des indices visuels 2D de l’objet d’intérêt dans l’image Nous avons, ensuite, appliqué des optimisations afin réduire le temps de traitement et rendre notre système de tracking plus performant La deuxième partie des expérimentations était dédiée au suivi en RA, nous avons présenté les résultats numériques et graphiques des procédures de calibration, d’appariements 2D-3D et de calcul de pose et de recalage Les tests expérimentaux ont montrés que notre technique de suivi est précise et temps réel sur une plateforme fixe Enfin, la dernière partie des résultats concernaient l’importation des codes sur une plateforme mobile Cette partie est très importante, car notre application doit être fonctionnelle sur le téléphone portable La configuration matérielle et logicielle des téléphones utilisés est très limitée ce qui a empêché d’obtenir le même type de résultat de la station fixe Toutefois, les résultats obtenus sont très encourageants car notre application est fonctionnelle en temps réel sur PC et l’implémentation mobile remplie les mêmes objectifs mais sur des images fixes 64 Chapitre V Conclusions et perspectives Dans ce stage, nous nous sommes intéressés la reconnaissance et au suivi d’objets de formes libres dans un système de RA mobile Ce domaine est en pleine progression mais confronté plusieurs verrous technologiques et scientifiques se rapportent aux matériels et logiciels utilisés Après avoir présenté notre sujet et défini le contexte et les objectifs du stage dans le premier chapitre de ce rapport, nous avons passé en revue plusieurs systèmes de RA mobiles réalisés ces dernières années L’étude de ces systèmes a permis d’en extraire les principales fonctionnalités et les architectures les plus pertinentes pour la reconnaissance et le suivi sur téléphones portables Nous avons par la suite, décrit d’une manière détaillée les approches théoriques que nous avons utilisées dans notre application Nous avons adapté ces concepts et procéder plusieurs optimisations afin de répondre au cahier de charge qui a été établi au début du stage Dans ce contexte, nous avons fait des choix judicieux quant aux techniques utilisées afin d’apporter des solutions novatrices et résoudre les problèmes rencontrés Une grande partie du stage était consacré l’implémentation et aux tests expérimentaux ce qui nous a, naturellement, amené présenter la partie technique et expérimentale dans le dernier chapitre de ce manuscrit Notre travail contient deux parties majeures qui sont : la reconnaissance d’objet (détecter et identifier l’objet d’intérêt) et le suivi en RA (appariements 2D-3D, estimation de pose et recalage virtuel) Nous avons, tout d’abord, testé et adapté une technique originale de détection et de reconnaissance de points invariants dans l’image Cette technique appelée SURF est basée sur l’extraction de points caractéristiques et le calcul de leurs descripteurs relatifs pour définir une signature unique chaque point d’intérêt SURF est robuste aux variations des conditions expérimentales et permet l’identification de toute forme d’objet Toutefois, SURF est très exigeant en termes de temps de calcul, pour cette raison, nous avons effectué plusieurs optimisations algorithmiques et divers paramétrages afin d’obtenir des résultats satisfaisants Concernant l’étape de suivi en RA, nous avons proposé une technique de mise en correspondance de points 2D-3D qui consiste projeter le modèle 3D de l’objet d’intérêt sur l’image initiale et calculer l’homographie entre deux images successives pour pouvoir suivre les points 2D de l’objet et maintenir l’appariement Ensuite, nous avons implémenté une technique analytique d’estimation de pose qui réalise un calcul direct de paramètres de la rotation et de la translation Cet algorithme est temps réel et présente un bon compromis précision-temps d’exécution Enfin, un objet virtuel est recalé 65 sur le logo détecté dans l’image pour vérifier la précision de l’estimateur de pose et augmenter la scène réelle Le protocole expérimental réalisé a démontré que notre technique de reconnaissance et de suivi est précise et temps réel sur une plateforme fixe, toutefois, une implémentation sur le téléphone mobile ne permet pas d’avoir la même performance calculatoire Cela s’explique par le fait que, les téléphones portables sont très limités en ressources matérielles et logicielles Cependant, les résultats obtenus sont très promettant et nous permettent d’envisager d’ici quelques temps une implémentation temps réel sur plateforme mobile PERSPECTIVES Le système de suivi de logos sur téléphone mobile réalisé pendant ce stage, a permis d’aborder plusieurs problématiques de recherche qui n’ont pas encore trouvées de solutions fiables par la communauté scientifique Ce domaine est en stade expérimental et reste explorer pour établir des solutions innovantes Les séries de tests que nous avons réalisés sur notre système ont fournit des résultats intéressants et nous ont permis de conforter nos choix et projeter des perspectives court et moyen termes La perspective principale et la plus importante de notre stage est le suivi temps réel sur téléphone mobile En effet, un tracking temps réel ouvre le champ plusieurs domaines d’applications potentielles qui pourront révolutionner le marché des téléphones portables dans un proche avenir Des optimisations algorithmiques sont encore nécessaires mais le plus important c’est la performance des ressources matérielles Car, comme nous l’avons déjà mentionné dans la partie expérimentale de ce rapport, un même programme de tracking qui est fonctionnel en temps réel sur PC et avec une base de 10 logos, ne parvient pas suivre un seul logo sur une plateforme mobile Sans doute, le développement de la nanotechnologie dans ce domaine, aura un impact direct sur la performance des applications et permettra l’évolution des systèmes actuels 66 Références bibliographiques [Assad et al., 2003] Assad, Mark, Carmichael, David J., Cutting, Daniel, & Hudson, Adam 2003 AR phone: Accessible Augmented Reality in the Intelligent Environment Pages 26–28 of: In OZCHI2003 [Azuma et al., 2001] Azuma, R., Baillot, Y., Behringer, R., Feiner, S., Julier, S., & MacIntyre, B 2001 Recent Advances in Augmented Reality ICGA, 21(1), 34–47 [Bauer et al., 2007] Bauer, J., Sunderhauf, N., & Protzel, P 2007 Comparing Several Implementations of Two Recently Published Feature Detectors In: In Proc of the International Conference on Intelligent and Autonomous Systems (IAV) [Bay et al., 2008] Bay, Herbert, Ess, Andreas, Tuytelaars, Tinne, & Van Gool, Luc 2008 Speeded-Up Robust Features (SURF) vol 110 New York, NY, USA: Elsevier Science Inc [Bradski & Kaehler, 2008] Bradski, Gary, & Kaehler, Adrian 2008 Learning OpenCV OReilly Media Inc [Chen et al., 2009] Chen, David M., Tsai, Sam S., Vedantham, Ramakrishna, Grzeszczuk, Radek, & Girod, Bernd 2009 Streaming mobile augmented reality on mobile phones Pages 181–182 of: ISMAR ’09: Proceedings of the 2009 8th IEEE International Symposium on Mixed and Augmented Reality [Henrysson & Ollila, 2004] Henrysson, Anders, & Ollila, Mark 2004 UMAR: Ubiquitous Mobile Augmented Reality Pages 41–45 of: MUM ’04: Proceedings of the 3rd international conference on Mobile and ubiquitous multimedia New York, NY, USA: ACM [Juan & Gwun, 2009] Juan, Luo, & Gwun, Oubong 2009 A Comparison of SIFT, PCA-SIFT and SURF International Journal of Image Processing (IJIP), 3(4), 143–152 [Karpischek et al., 2009] Karpischek, Stephan, Marforio, Claudio, Godenzi, Mike, Heuel, Stephan, & Michahelles, Florian 2009 SwissPeaks Mobile augmented reality to identify mountains In: ISMAR workshop to be held at the International Symposium on Mixed and Augmented Reality 2009 (ISMAR 2009) on Monday 19th of October Washington, DC, USA: IEEE Computer Society [Keitler et al., 2009] Keitler, Peter, Pankratz, Frieder, Schwerdtfeger, Bjorn, Pustka, Daniel, Rodiger, Wolf, Klinker, Gudrun, Rauch, Christian, Chathoth, Anup, Collomosse, John, & Song, Yi-Zhe 2009 Mobile augmented reality based 3D snapshots Pages 199–200 of: ISMAR ’09: Proceedings of the 2009 8th IEEE International Symposium on Mixed and Augmented Reality Washington, DC, USA: IEEE Computer Society 67 [Klein & Murray, 2009] Klein, Georg, & Murray, David 2009 Parallel Tracking and Mapping on a camera phone Pages 83–86 of: ISMAR ’09: Proceedings of the 2009 8th IEEE International Symposium on Mixed and Augmented Reality Washington, DC, USA: IEEE Computer Society [Lowe, 2004] Lowe, David G 2004 Distinctive Image Features from Scale-Invariant Keypoints Int J Comput Vision, 60(2), 91–110 [Maidi et al., 2006a] Maidi, M., Ababsa, F., & Mallem, M 2006a Active Contours Motion based on Optical Flow for Tracking in Augmented Reality Pages 215–222 of: 8th International Conference on Virtual Reality (VRIC’06) [Maidi et al., 2006b] Maidi, M., Ababsa, F., & Mallem, M 2006b Robust Fiducials Tracking in Augmented Reality Pages 423–42 of: The 13th International Conference on Systems, Signals and Image Processing (IWSSIP 2006) [Maidi et al., 2010] Maidi, M., Ababsa, F., & Mallem, M 2010 Handling Occlusions for Augmented Reality Systems Eurasip Journal on Image and Video Processing,, 2010, 1–12 [Maidi, 2007] Maidi, Madjid 2007 (November) Suivi Hybride en présence d’Occultations pour la Réalité Augmentée Ph.D thesis, Univérsité d’Evry Val d’Essonne [Schmalstieg & Wagner, 2008] Schmalstieg, Dieter, & Wagner, Daniel 2008 Mobile Phones as a Platform for Augmented Reality Pages 43–44 of: Proceedings of the IEEE VR 2008 Workshop on Software Engineering and Architectures for Realtime Interactive Systems [Takacs et al., 2008] Takacs, Gabriel, Chandrasekhar, Vijay, Gelfand, Natasha, Xiong, Yingen, Chen, Wei-Chao, Bismpigiannis, Thanos, Grzeszczuk, Radek, Pulli, Kari, & Girod, Bernd 2008 Outdoors augmented reality on mobile phone using loxel-based visual feature organization Pages 427–434 of: MIR ’08: Proceeding of the 1st ACM international conference on Multimedia information retrieval New York, NY, USA: ACM [Wagner et al., 2010] Wagner, Daniel, Reitmayr, Gerhard, Mulloni, Alessandro, Drummond, Tom, & Schmalstieg, Dieter 2010 Real-Time Detection and Tracking for Augmented Reality on Mobile Phones IEEE Transactions on Visualization and Computer Graphics, 16(3), 355–368 [Walsh, 2009] Walsh, Mark 2009 Augmented Reality To Ramp On Mobile [Zhang, 1999] Zhang, Z 1999 (Spetember, 20-25) Flexible Camera Calibration by Viewing a Plane from Unknown Orientations Page 666 of: International Conference on Computer Vision, vol 68 [...]... permettre de programmer en C/C++ et OpenCV sous Android 12 La rộalisation de lapplication de RA sur le tộlộphone portable constitue une contribution importante de ce stage, car il existe peu de travaux dans ce domaine qui intốgre directement une technique de suivi dobjet de forme libre sur une plateforme mobile 13 Les systốmes de rộalitộ augmentộe mobiles : ộtat de lart Chapitre II 2.1 Introduction Dans. .. 1.4 Contributions 1.4.1 Utilisation de SURF pour la reconnaissance dobjets de formes libres SURF est un algorithme d'extraction de points d'intộrờt et de calcul de descripteurs locaux invariants partir d'une image Lune des caractộristiques intộressantes de SURF est le temps de calcul En effet, comparộ avec un autre algorithme de calcul de descripteurs invariants dans limage SIFT (Scale-invariant feature... reconnaissance et de tracking d'objets dans un flux vidộo en temps rộel sur un tộlộphone portable Le systốme prộsente une latence d'une seconde lors de la phase de reconnaissance et permet le suivi de livre et des boitiers de CD L'estimation du mouvement est rộalisộe 30 FPS et la recherche de mise en correspondance est effectuộe sur une base de 20000 images stockộes sur un serveur (figure 2.1) 14 Tộlộphone... AroundMe est une application permettant partir des donnộes de localisation GPS de trouver facilement divers types de commerces ou de services via une base de points d'intộrờt La navigation s'effectue dans un systốme de menus hiộrarchisộ similaire aux autres applications de l'appareil, et affiche les rộsultats les plus proches, avec possibilitộ de les localiser sur un plan via l'application Maps de. .. comparaison des descripteurs de ces points avec une image de rộfộrence afin didentifier lobjet cible Ce processus sapprờte bien une utilisation plus gộnộrale pour lidentification dobjets dans une base de dimages comme le montre la figure 3.1 Figure 3.1 Reconnaissance dobjet partir dune base dimages 3.3 Amộlioration du temps de calcul pour le suivi temps-rộel Lobjectif principal de notre travail est de dộvelopper... la mộthode et amộliorer la qualitộ de lidentification afin de rộaliser une application de suivi fiable et temps rộel 1.3.2 Calcul de la pose Le deuxiốme objectif du stage sera lestimation de la pose de la camộra Cette ộtape nộcessite une procộdure de calibration pour dộterminer les paramốtres intrinsốques qui nộcessaires pour rộsoudre la transformation projective de la pose Nous utiliserons un algorithme... (POI) d 'un GPS Wikitude se distingue par une interface particuliốrement bien faite et adaptộe son usage Outre un radar, on trouvera un curseur trốs utile permettant de rộgler la distance d'affichage Les balises sont identifiộes par un pictogramme permettant de distinguer facilement les informations issues de Wikipedia, Qype ou de la communautộ Un clic sur un point d'intộrờt fait apparaợtre une fenờtre... dộvelopper des algorithmes de reconnaissance dobjet et d'estimation pose en temps rộel afin de respecter une contrainte primordiale des systốmes de RA En thộorie, 25 FPS sont nộcessaires pour un traitement temps rộel donc, 40 ms sont allouộes pour le traitement d'une image Lộtape la plus exigeante en termes de temps de calcul dans le processus d'identification d'objet, est le calcul des descripteurs Une solution... l'utilisation de ce systốme cependant des problốmes de tracking ont surgis notamment la prộcision dans l'estimation de la pose 2.2.6 Travaux de Schmalstieg et Wagner La RA mobile fonctionne sur des dispositifs mobiles tels que les PC portables ou les tộlộphones portables [Schmalstieg & Wagner, 2008] ont dộveloppộ une plateforme pour des applications de RA mobiles collaboratives Une librairie logicielle a ộtộ... correspondance des images rộfộrencộes avec une base de donnộes situộe sur un serveur et en utilisant des algorithmes de dộtection basộs sur les descripteurs locaux En dirigeant la camộra vers l'objet d'intộrờt, le systốme de tracking fournit des informations et des services sur sa localisation La mộthode SURF a ộtộ appliquộe sur des images issues de la camộra du tộlộphone Le systốme est destinộ aux touristes

Ngày đăng: 27/10/2016, 22:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan