• Aucun résultat trouvé

Localisation d'objets 3D industriels à l'aide d'un algorithme de SLAM contraint au modèle

N/A
N/A
Protected

Academic year: 2021

Partager "Localisation d'objets 3D industriels à l'aide d'un algorithme de SLAM contraint au modèle"

Copied!
193
0
0

Texte intégral

(1)Localisation d’objets 3D industriels à l’aide d’un algorithme de SLAM contraint au modèle Angelique Loesch. To cite this version: Angelique Loesch. Localisation d’objets 3D industriels à l’aide d’un algorithme de SLAM contraint au modèle. Automatique / Robotique. Université Clermont Auvergne, 2017. Français. �NNT : 2017CLFAC059�. �tel-01786908�. HAL Id: tel-01786908 https://tel.archives-ouvertes.fr/tel-01786908 Submitted on 7 May 2018. HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés..

(2) N◦ : 825. U NIVERSITÉ C LERMONT AUVERGNE École Doctorale Sciences Pour l’Ingénieur de Clermont-Ferrand Thèse présentée par : Angélique LOESCH Formation Doctorale : Électronique et Système en vue de l’obtention du grade de. D OCTEUR D ’U NIVERSITÉ Spécialité : Vision pour la Robotique. Localisation d’objets 3D industriels à l’aide d’un algorithme de SLAM contraint au modèle. Soutenue publiquement le 01 décembre 2017 devant le jury :. Mme. Marie-Odile B ERGER M. Vincent L EPETIT M. Eric M ARCHAND Mme. Catherine ACHARD M. Vincent G AY-B ELLILE M. Steve B OURGEOIS M. Michel D HOME. Présidente Rapporteur Rapporteur Examinatrice Examinateur Examinateur Directeur de thèse.

(3)

(4) Le danger qui menace les chercheurs aujourd’hui serait de conclure qu’il n’y a plus rien à découvrir. P IERRE J OLIOT.

(5)

(6) Remerciements. Au-delà des formalités de rigueur, je tiens à écrire ces quelques remerciements qui me semblent importants pour mettre en avant les personnes ayant partagé cette expérience de thèse avec moi durant ces trois dernières années. Dans un premier temps, je souhaite remercier Patrick Sayd et Michel Dhome pour la confiance qu’ils m’ont accordée en me proposant de réaliser cette thèse au sein du laboratoire LVIC du CEA LIST et en cotutelle avec l’Institut Pascal. Je tiens également à remercier chaleureusement mes encadrants. J’ai eu pour ma part la chance d’être encadrée au quotidien par Steve Bourgeois et Vincent Gay-Bellile du LVIC. Leur investissement a eu un impact indéniable sur le déroulement de ma thèse et son vécu. Steve et Vincent ont été présents dans les bons moments de la thèse comme dans les plus compliqués, et ont su se rendre disponibles malgré leurs agendas bien remplis. Par ailleurs, je les remercie ainsi que mon directeur de thèse Michel Dhome pour leurs conseils avisés. Bien intégrée dans le laboratoire LVIC, j’ai eu la chance de travailler avec de nombreuses personnes qui m’ont, chacune à leur façon, accompagnée au cours de ces trois années. Je les remercie tous pour les nombreuses discussions que nous avons eues, pour les heures passées à résoudre des problèmes scientifiques et informatiques, pour les parties de bowling et de billard et pour la bonne ambiance générale qui a rendu le quotidien agréable. Au sein de l’équipe, quelques personnes ont cependant eu un rôle particulier. Je tiens donc à remercier Dorra Larnaout, Achkan Salehi, Jordane Malleret et Olivier Gomez pour avoir partagé tour à tour mon bureau et donc par la même occasion mes humeurs. Merci également à Kathia Melbouci et Alexandre Morgand pour les discussions enflammées que nous avons pu avoir autour de nos travaux de recherche (ou autres sujets d’actualités) et pour les heures supplémentaires passées ensemble à peaufiner nos articles juste avant la date butoir des soumissions en conférence. Enfin j’aimerais remercier l’assistante de notre laboratoire Odile Caminondo pour m’avoir accompagnée, toujours avec le sourire, dans les nombreuses démarches administratives du CEA. Ces années de doctorat se sont achevées avec la rédaction de ce mémoire et la soutenance de cette thèse. Je tiens ainsi à remercier l’ensemble du jury qui, malgré les aléas de la météo et des transports, sont venus des quatre coins de la France pour assister à ma présentation et évaluer ma thèse. Je remercie en particulier Eric Marchand et Vincent Lepetit pour avoir accepté de rapporter mes travaux et Marie-Odile Berger pour avoir présidé ma soutenance. J’aimerais pour finir adresser des remerciements plus personnels, ces trois années de thèse n’ayant pas uniquement impacté ma vie professionnelle. Je souhaite donc remercier mes parents, Aude et Jean-Marc, ainsi que mes soeurs Elodie et Louise pour leur soutien et leur i.

(7) ii. R EMERCIEMENTS. investissement jusque dans la préparation du pot de thèse final. Merci à ma belle-famille, également présente et bienveillante au cours de ces trois années de doctorat. Enfin, je remercie tout particulièrement mon cher Sébastien, pour le soutien, la tendresse et le réconfort qu’il m’a apportés au quotidien, et pour la patience et la compréhension dont il a fait part à mon égard lors de mes moments de doute et de découragement. Si cette thèse s’achève aujourd’hui c’est grâce à tout cet entourage professionnel et personnel qui a été présent durant ces trois années. A vous tous, merci..

(8) Résumé. Un besoin applicatif existe en terme de localisation 3D d’objets par vision. Cette technologie devient en effet de plus en plus populaire dans le milieu industriel où elle peut être utile lors de contrôle qualité, de robotisation de tâches ou encore d’aide à la maintenance par Réalité Augmentée. Néanmoins, le déploiement de telles applications est actuellement limité en raison de la difficulté à allier qualité de localisation, facilité de mise en oeuvre et généricité de la solution. En effet, la majorité des solutions implique : soit des étapes de mise en oeuvre complexes comme avec l’installation de capteurs de mouvement ou une préparation supervisée du modèle CAO ; soit un manque de précision de la localisation dans le cadre de certaines applications nécessitant de prendre en compte des mouvements de fortes amplitudes de la caméra (provoquant du flou de bouger et des tremblements dans le flux vidéo) ainsi que des occultations partielles ou totales de l’objet ; soit enfin une restriction sur la nature de l’objet, celui-ci devant être texturé, de petite taille ou encore polyédrique pour avoir une bonne localisation. La plupart des solutions de localisation existantes correspondent à des approches de suivi basé modèle. Cette méthode consiste à estimer la pose relative entre la caméra et l’objet d’intérêt par mises en correspondance de primitives 3D extraites du modèle avec des primitives 2D extraites d’images d’un flux vidéo. Pour autant, cette approche atteint ses limites lorsque l’objet est difficilement observable dans l’image. Afin d’améliorer la localisation lorsque l’application concerne un objet fixe, de récentes solutions se sont appuyées en complément des primitives du modèle, sur des primitives de l’environnement reconstruites au cours du processus de localisation. Ces approches combinent algorithmes de SLAM (Simultaneous Localization And Mapping) et de suivi d’objet basé contours en utilisant les informations du modèle comme contrainte dans le processus d’optimisation du SLAM. Pour cela, un terme d’erreur est ajouté à la fonction de coût classique. Celui-ci mesure l’erreur de re-projection entre des primitives 3D issues des arêtes franches du modèle et les points de contour 2D dans l’image qui leur sont associés. L’ajout de cette contrainte permet d’exprimer la localisation du SLAM dans le repère de l’objet d’intérêt tout en réduisant sa dérive. Les solutions de SLAM contraint au modèle n’exploitant cependant que les contours francs du modèle, ne sont pas génériques et ne permettent de localiser que des objets polyédriques. De plus, l’ajout de cette contrainte entraîne une forte augmentation de la consommation mémoire, les images de contours nécessaires à l’étape de mise en correspondance devant être conservées. Les travaux présentés dans ce mémoire de thèse visent à fournir une solution répondant simultanément à l’ensemble des besoins concernant la facilité de déploiement, la qualité de localisation et la généricité sur la nature des objets suivis. Aussi, notre solution basée sur un iii.

(9) iv. R ÉSUMÉ. algorithme de SLAM visuel contraint basé images clés, se restreint-elle au seul usage d’une caméra couleur, les caméras RGBD impliquant généralement une limite sur le volume, la nature réflective ou absorbante de l’objet, et sur la luminosité de son environnement. Cette étude est en outre restreinte à la seule exploitation de modèles 3D géométrique non texturés, les textures pouvant difficilement être considérées comme stables dans le temps (usure, taches...) et pouvant varier pour un même objet manufacturé. De plus, les modèles à base de nuages de descripteurs locaux ou les modèles surfaciques texturés sont actuellement des données peu disponibles dans l’industrie. Enfin, nous faisons le choix d’estimer la pose de la caméra de manière géométrique et non par apprentissage. Le suivi d’objets à l’aide d’apprentissage automatique est en effet encore difficilement exploitable en milieu industriel. Elles ne peuvent garantir une aussi grande précision que les approches géométriques, gérer des objets très similaires ou encore trop volumineux pour être contenu dans le champ de la caméra. Par ailleurs les méthodes d’apprentissage nécessitent généralement des données à entraîner pour chaque nouvel objet à localiser, ne facilitant pas le déploiement de ces approches. Contrairement aux méthodes de SLAM contraint au modèle, la solution présentée gère aussi bien les objets polyédriques que courbes en extrayant dynamiquement des points de contour 3D du modèle à l’aide de rendus de synthèse. De plus, nous proposons différentes formalisations de la contrainte exploitant ces contours afin de réduire l’empreinte mémoire du processus d’optimisation. La solution de suivi d’objet présentée dans ce mémoire est temps-réel, précise et robuste aux occultations et aux mouvements brusques de la caméra. Elle est évaluée au travers de séquences de synthèse et réelles sur de nombreux objets de différentes natures. Les résultats montrent que la précision atteinte pour l’estimation de la trajectoire de la caméra est suffisante pour assurer une solution adaptée à des expériences de Réalité Augmentée de qualité en milieu industriel. Mots clés : Suivi d’objet 3D basé contours, localisation et cartographie simultanées par vision, contours d’occultation, ajustement de faisceaux, temps-réel, Réalité Augmentée..

(10) Abstract. In the industry domain, applications such as quality control, automation of complex tasks or maintenance support with Augmented Reality (AR) could greatly benefit from visual tracking of 3D objects. However, this technology is under-exploited due to the difficulty of providing deployment easiness, localization quality and genericity simultaneously. Most existing solutions indeed involve a complex or an expensive deployment of motion capture sensors, or require human supervision to simplify the 3D model. And finally, most tracking solutions are restricted to textured or polyhedral objects to achieved an accurate camera pose estimation. Tracking any object is a challenging task due to the large variety of object forms and appearances. Industrial objects may indeed have sharp edges, or occluding contours that correspond to non-static and view-point dependent edges. They may also be textured or textureless. Moreover, some applications require to take large amplitude motions as well as object occlusions into account, tasks that are not always dealt with common model-based tracking methods. These approaches indeed exploit 3D features extracted from a model, that are matched with 2D features in the image of a video-stream. However the accuracy and robustness of the camera localization depend on the visibility of the object as well as on the motion of the camera. To better constrain the localization when the object is static, recent solutions rely on environment features that are reconstructed online, in addition to the model ones. These approaches combine SLAM (Simultaneous Localization And Mapping) and model-based tracking solutions by using constraints from the 3D model of the object of interest. Constraining SLAM algorithms with a 3D model results in a drift free localization. However, such approaches are not generic since they are only adapted for textured or polyhedral objects. Furthermore, using the 3D model to constrain the optimization process may generate high memory consumption, and limit the optimization to a temporal window of few cameras. In this thesis, we propose a solution that fulfills the requirements concerning deployment easiness, localization quality and genericity. This solution, based on a visual key-frame-based constrained SLAM, only exploits an RGB camera and a geometric CAD model of the static object of interest. An RGB camera is indeed preferred over an RGBD sensor, since the latter imposes limits on the volume, the reflectiveness or the absorptiveness of the object, and the lighting conditions. A geometric CAD model is also preferred over a textured model since textures may hardly be considered as stable in time (deterioration, marks,...) and may vary for one manufactured object. Furthermore, textured CAD models are currently not widely spread. Contrarily to previous methods, the presented approach deals with polyhedral and curved obv.

(11) vi. A BSTRACT. jects by extracting dynamically 3D contour points from a model rendered on GPU. This extraction is integrated as a structure constraint into the constrained bundle adjustment of a SLAM algorithm. Moreover we propose different formalisms of this constraint to reduce the memory consumption of the optimization process. These formalisms correspond to hybrid structure/trajectory constraints, that uses output camera poses of a model-based tracker. These formalisms take into account the structure information given by the 3D model while relying on the formalism of trajectory constraints. The proposed solution is real-time, accurate and robust to occlusion or sudden motion. It has been evaluated on synthetic and real sequences of different kind of objects. The results show that the accuracy achieved on the camera trajectory is sufficient to ensure a solution perfectly adapted for high-quality Augmented Reality experiences for the industry. Key-words : Model-based tracking, Simultaneous Localisation and Mapping, occluding contours, bundle adjustment, real-time, Augmented Reality..

(12) Notations et Acronymes. Mathématiques En. Espace E de dimension n. M. Matrice. v ou V. Vecteur. [x]×. Matrice antisymétrique créée à partir du vecteur x. In. Matrice identité de dimension (n × n). x·y. Produit scalaire entre les vecteurs x et y. x×y. Produit vectoriel entre les vecteurs x et y. P(A). Probabilité d’un événement A. Géométrie euclidienne et projective ∼. Egalité à un facteur non-nul près. q ˜ q. Point 2D. Q ˜ Q. Point 3D dans le repère monde. Π. Plan de l’espace. S. Surface 3D. R. Matrice de rotation. t. Vecteur de translation. Coordonnées homogènes du point 2D Coordonnées homogènes du point 3D. vii.

(13) viii. N OTATIONS ET ACRONYMES. Caméras et reconstruction 3D C. Caméra. I. Image capturée par la caméra. K. Matrice d’étalonnage. P. Matrice de projection telle que P = KR (I3 | − t). Cj. j ème caméra reconstruite. Qi. ième point 3D reconstruit. qi,j. Observation du ième point 3D par la j ème caméra. X. Vecteur concaténant l’ensemble des paramètres optimisés dans un ajustement de faisceaux : les paramètres extrinsèques des poses de caméras optimisées {Rj , tj }Sj=1 et la position des points 3D reconstruits visibles par ces NQ caméras {Qi }i=1. ¯ X. Vecteur concaténant l’ensemble des paramètres extrinsèques des poses de ¯ j = {Rj , tj }Sj=1 caméras optimisées : X. M. Modèle 3D d’un objet d’intérêt. Mi. ième point de surface 3D orienté du modèle. mi,j. Observation du ième point de contour 3D par la j ème caméra. Acronymes ICP. Iterative Closest Point. MAD. Median Absolute Deviation. ATE. Absolute Trajectory Error. RMSE. Root-Mean-Square-Error metric. SfM. Structure from Motion. SLAM. Simultaneous Localization and Mapping. CAO. Conception Assistée par Ordinateur. DoF. Degree of Freedom. CPU. Central Processing Unit. GPU. Graphics Processing Unit.

(14) Sommaire. Introduction 1. 2. 3. 1. Notions de base et données utilisées 1.1 Caméras perspectives et géométrie associée 1.2 Optimisation numérique . . . . . . . . . . 1.3 Localisation et reconstruction 3D par vision 1.4 Données et algorithmes de base utilisés . . 1.5 Conclusion . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 9 9 12 18 23 36. Etat de l’art des méthodes géométriques de suivi d’objet 3D basé contours 2.1 Localisation d’objet basée contours . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Amélioration de la généricité du suivi d’objet basé contours . . . . . . . . . . . 2.3 Amélioration de la robustesse du suivi d’objet basé contours par exploitation de l’environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Discussion et positionnement . . . . . . . . . . . . . . . . . . . . . . . . . . .. 37 37 40. Extraction dynamique des edgelets 3.1 Idée générale . . . . . . . . . . . . 3.2 Génération des edgelets dynamiques 3.3 Echantillonnage des edgelets . . . . 3.4 Détails de mise en oeuvre . . . . . . 3.5 Résultats expérimentaux . . . . . . 3.6 Conclusion . . . . . . . . . . . . .. 53 53 54 61 64 68 77. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 46 51. 4. SLAM contraint aux edgelets dynamiques 79 4.1 Intégration de la génération des edgelets dynamiques dans un algorithme de SLAM contraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2 Processus d’optimisation contraint . . . . . . . . . . . . . . . . . . . . . . . . 82 4.3 Résultats expérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100. 5. SLAM contraint à une pose de suivi d’objet basé contours 103 5.1 Idée générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 ix.

(15) x. S OMMAIRE. 5.2 5.3 5.4 5.5 5.6 6. Première approximation de la contrainte hybride . Seconde approximation de la contrainte hybride . Processus d’optimisation . . . . . . . . . . . . . Résultats expérimentaux . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 108 109 110 112 123. Evaluation du SLAM contraint au modèle sur des benchmarks publics 125 6.1 Etudes sur le benchmark CoRBS . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.2 Etudes sur le benchmark ICL-NUIM . . . . . . . . . . . . . . . . . . . . . . . 130 6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133. Conclusion. 135. Annexes. 138. A Application à Réalité Augmentée A.1 Estimation automatique de l’état des parties mobiles de l’objet . . . . . . . . . A.2 Intégration dans une application de Réalité Augmentée . . . . . . . . . . . . . A.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 139 139 141 142. B Modélisation paramétrique des edgelets dans le raffinement d’un suivi d’objet basé contours 145 B.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 B.2 Résultats expérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 C Chaîne de traitements d’un rendu sur carte graphique C.1 Chaîne de traitements de rendus 3D . . . . . . . . C.2 Sommets, primitives, fragments et pixels . . . . . . C.3 Traitement des sommets . . . . . . . . . . . . . . C.4 Geometry shader . . . . . . . . . . . . . . . . . . C.5 Rastérisation . . . . . . . . . . . . . . . . . . . . C.6 Traitement des fragments . . . . . . . . . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 151 151 152 154 157 158 160. Bibliographie. 161. Table des figures. 171. Liste des tableaux. 173. Table des matières. 178.

(16) Introduction. Contexte Actuellement, l’industrie se renouvelle en entreprenant une transformation digitale qui modernise les systèmes de production par de nouvelles technologies du numérique. Ainsi, la robotique, la Réalité Virtuelle ou Augmentée, ou encore les réseaux de capteurs et de logiciels permettent-ils à l’industrie de se réinventer pour gagner en agilité et flexibilité.. (a). (b). (c). F IGURE 1 – Usine du futur : (a) robot collaboratif de la start-up Sybot, (b) formation et assistance à la maintenance par Réalité Augmentée, (c) formation des opérateurs avec un système immersif de Réalité Virtuelle. Cette transformation industrielle se traduit notamment par :  un déploiement des technologies numériques issues de différents domaines, allant de l’Internet aux systèmes embarqués en passant par les jeux ;  une assistance aux actions de l’utilisateur dans le système, par l’arrivée de la cobotique permettant plus d’agilité dans les actions à mener et une diminution des efforts physiques (voir figure 1(a)) ;  une assistance aux interventions permettant la diminution des efforts cognitifs, que ce soit dans les phases amont de conception du produit et de formation des utilisateurs (avec la virtualisation et l’immersion), ou dans la production, avec un suivi, un guidage des actions, et une intégration de la connaissance dans le système de production (voir figures 1(b) et 1(c)). 1.

(17) 2. I NTRODUCTION. Le recours croissant au numérique est donc devenu incontournable pour optimiser l’outil de production, dès sa conception, mais aussi superviser le fonctionnement des robots ou simuler la réalisation de tâches. Parmi ces nouvelles technologies du numérique, la Réalité Augmentée permet de contribuer de façon croissante à l’usine du futur en aidant à la formation industrielle et à l’apprentissage de certaines techniques de maintenance. Ce besoin de transposer les données numériques sur le réel pour des applications telles que le contrôle de qualité, l’aide à la maintenance ou à la vente (voir figure 2), implique donc un besoin en terme de technologies de localisation 3D d’objets qui soit temps-réel et avec des contraintes de facilité de déploiement. Dans ce sens, nous nous intéressons dans cette thèse à l’utilisation de systèmes de localisation d’objets par vision à l’aide de leur modèle 3D. En milieu industriel, l’objet étant la plupart du temps fixe avec un opérateur se déplaçant tout autour pour le manipuler, nous faisons le choix de travailler sur des objets statiques et d’estimer la pose relative de la caméra par rapport à cet objet.. (a). (b). (c). (d). F IGURE 2 – Applications de Réalité Augmentée en milieu industriel. Différentes applications de suivi d’objet s’aidant de la Réalité Augmentée pour réaliser du contrôle de qualité (a) et (b), de l’aide à la vente (c) ou encore de l’aide à la maintenance (d).. Problématique Le suivi d’objet 3D dans un flux vidéo implique d’estimer en continue la pose relative entre la caméra et l’objet d’intérêt en s’aidant de la connaissance a priori d’un modèle de cet objet. Ainsi, les approches de suivi basé modèle s’appuient sur des informations géométriques ou d’apparence fournies par le modèle pour estimer la trajectoire de la caméra. De nombreuses méthodes existent, celles-ci dépendant généralement de l’objet d’intérêt, le capteur utilisé ou encore le type d’applications visées..

(18) 3 Dans le milieu industriel, la localisation d’objet par vision et basée modèle est cependant sous exploitée car il est difficile d’allier simultanément trois exigences principales : un déploiement simple du système, une bonne qualité de la localisation et une utilisation générique sur tout type d’objets. En effet la plupart des solutions de localisation existantes privilégie une de ces trois exigences sur les deux autres entraînant :  soit une mise en oeuvre complexe et/ou coûteuse avec par exemple une préparation du modèle CAO qui doit être supervisée par un technicien,  soit un manque de précision et/ou robustesse de la localisation dans le cadre de certaines applications nécessitant de prendre en compte des mouvements de fortes amplitudes de la caméra (provoquant du flou de bouger et des tremblements dans le flux vidéo) ainsi que des occultations partielles ou totales de l’objet,  soit enfin une restriction sur la nature de l’objet, celui-ci devant être texturé, de petite taille ou encore polyédrique pour avoir une bonne localisation. Pour autant, ceux-ci peuvent aussi bien avoir des surfaces polyédriques que courbes (voir figure 3), être texturés ou non, ou encore d’une taille ne permettant pas à l’objet d’être visible dans son entier dans le champ de vision de la caméra.. (a). (c). (b). (d). F IGURE 3 – Objets complexes industriels que l’on peut chercher à localiser : une culasse de voiture présentant des éléments courbes et d’autres polyédriques (a), des composants d’une machine à coudre qui se ressemblent fortement (b), un ensemble de tuyaux dans l’industrie chimique qui ne peut être entièrement inclus dans le champ de vision de la caméra (c), une porte d’un accélérateur à particule dans un environnement encombré (d). Ces limites sont généralement liées soit au capteur utilisé (couleur ou RGBD), soit aux primitives exploitées (forme géométrique ou apparence de l’objet), soit à la méthode d’estimation de.

(19) 4. I NTRODUCTION. la pose employée (par apprentissage ou de manière géométrique). Bien que traditionnellement, les techniques de suivi 3D aient été développées en employant des caméras couleurs ou en nuance de gris et avec une faible résolution, les approches de suivi d’objet basé modèle ont évoluées, de part l’apparition de nouveaux capteurs 3D comme la Kinect. Ainsi, alors que des méthodes de suivi basé modèle telles que celle de Pauwels et al. (2013) se sont intéressées à des capteurs stéréo, certaines approches se sont appuyées sur des informations de profondeur fournies par des capteurs 3D pour se localiser. L’estimation de la pose de la caméra devient alors un problème d’alignement entre deux nuages de points 3D comme le proposent Drost et al. (2010) ou Salas-Moreno et al. (2013). Park et al. (2011); Hinterstoisser et al. (2012) ou encore Rios-cabrera and Tuytelaars (2013) préfèrent quant à eux utiliser les normales des surfaces extraites des images de profondeur ainsi que les orientations des contours extraits des images 2D afin de localiser des objets peu texturés.. (a). (b). (c). (d). F IGURE 4 – Limites des capteurs RGBD. (a) et (b) représentent les images RGB d’une culasse de voiture et d’une orthèse respectivement. (c) et (d) correspondent aux cartes de profondeur associées prises à l’aide d’une Kinect v2. Les capteurs RGBD ne sont pas adaptés pour générer des informations de profondeur sur des objets métalliques ou lorsque la distance entre la caméra et l’objet est inférieure à quelques dizaines de centimètres. Cependant ces méthodes sont dépendantes du capteur 3D et bien que robustes lorsque la scène est encombrée ou lors de changements d’illumination, elles peuvent être mises en difficulté lorsque l’objet est composé de matériaux provoquant des spécularités et perturbant l’acquisition (voir figure 4). Ainsi, bien que les capteurs 3D subissent un intérêt grandissant de part leur accessibilité et leur robustesse dans de nombreux scénarios du quotidien, leur emploi pour réaliser du suivi d’objet en milieu industriel est encore limité pour les scènes en extérieur et les objets ayant des surfaces non Lambertiennes comme les objets métalliques..

(20) 5. Tout comme pour le choix du capteur employé, les solutions de suivi basé modèle peuvent se distinguer par les primitives qu’elles exploitent en formant deux groupes : celles utilisant la forme de l’objet, et celles s’appuyant sur son apparence. De nombreuses approches de suivi se sont ainsi basées sur l’information de contour du modèle 3D pour localiser l’objet d’intérêt par rapport à la caméra. Ces méthodes ont l’avantage d’être à la fois peu coûteuses en terme de calculs et relativement simples à mettre en oeuvre. Elles sont également naturellement stables aux changements de conditions d’illumination, même dans le cadre du suivi d’objets dont le matériau est spéculaire. Ces méthodes s’appuient sur une première étape d’extraction de contours dans l’image de la séquence, puis sur une seconde étape d’appariement de ces contours avec les contours du modèle 3D comme le proposent Gennery (1992); Lowe (1992); Koller et al. (1993); Kosaka and Nakazawa (1995) ou encore Ruf et al. (1997). Cependant, ce type de primitives étant peu discriminant, ces méthodes de suivi basé contours manquent de robustesse aux mouvements brusques et sont donc difficilement exploitables dans l’industrie. D’autres travaux sur le suivi d’objet se sont plutôt basés sur des associations de points d’intérêt entre un modèle et une image, en s’appuyant sur différents descripteurs comme SIFT de Lowe (2004), SURF de Bay et al. (2006), ou encore ORB de Rublee et al. (2011). Ainsi les méthodes de suivi d’objets telles que celles de Drummond and Cipolla (2002); Skrypnyk and Lowe (2004); Vacchetti et al. (2004b); Klein and Murray (2006); Wagner et al. (2008) ou encore Simon (2011), ce sont appuyées sur ce type de primitives. L’objet est représenté par un ensemble de points d’intérêt (pouvant être reconstruit par des méthodes de Structure from Motion qui reconstruisent la structure 3D d’une scène à l’aide d’un ensemble d’images 2D). Celles-ci sont associées aux primitives 2D détectées dans les images de la séquence, et ce sont ces mises en correspondance qui permettent l’estimation de la pose de la caméra. Ces méthodes pouvant être sensibles aux changements d’illumination ainsi qu’aux possibles usures de l’objet par rapport à son modèle, d’autres approches telles que celles de Bleser et al. (2005); Sourimant et al. (2007) ou Kyrki and Kragic (2011) ont proposé de mettre à jour le modèle en ligne afin d’être plus robustes aux conditions d’éclairage et d’éviter les problèmes de robustesse liés à l’apparence des méthodes sans mise à jour (voir figure 5). Bien que ces primitives soient plus discriminantes que les points de contour, ces approches de suivi basées sur l’apparence de l’objet sont difficiles à déployer en milieu industriel, celles-ci s’appuyant sur une information de texture riche mais instable dans le temps et pas toujours disponible.. F IGURE 5 – Suivi d’objet basé contours et points 3D de texture. Sourimant et al. (2007) propose de mettre à jour le modèle 3D en ligne à l’aide d’une information de texture 3D créée par rétro-projection de points 2D texturés de l’image sur ce modèle..

(21) 6. I NTRODUCTION. Les méthodes de suivi d’objet utilisant des primitives telles que des points de contour ont par ailleurs l’inconvénient d’avoir une précision et une robustesse qui dépendent aussi bien de la visibilité de l’objet dans l’image que du mouvement de la caméra. Aussi, afin de mieux contraindre la localisation, de récentes approches ont-elles choisi de s’appuyer sur des primitives extraites de l’environnement en complément de celles issues de l’objet d’intérêt. Ces méthodes combinent algorithme de SLAM (Simultaneous Localization And Mapping) et suivi basé modèle en contraignant le processus d’optimisation du SLAM par des informations provenant du modèle 3D. Ainsi, la trajectoire de la caméra et le nuage de points 3D de l’environnement reconstruit par le SLAM sont contraints par le modèle pour limiter l’accumulation d’erreur et la dérive en échelle inhérente aux algorithmes de SLAM. De plus, l’utilisation de l’environnement permet d’augmenter la robustesse de la localisation par rapport aux approches de suivi basé modèle, notamment lorsque l’objet est occulté ou lorsque la caméra se déplace brusquement. Deux types de contrainte existent. Elle peut être définie par une erreur de re-projection de primitives 3D extraites du modèle de l’objet d’intérêt dans les images du flux vidéo comme le proposent Middelberg et al. (2014) et Tamaazousti et al. (2011a). Une étape de mise en correspondance avec les primitives 2D des images est alors nécessaire. La contrainte peut également contraindre les primitives reconstruites par le SLAM à appartenir aux surfaces du modèle et limiter ainsi leur degré de liberté. Une étape d’association avec les primitives 3D du modèle est alors nécessaire. Il peut en résulter une erreur métrique ou une erreur de re-projection. L’erreur métrique comme le propose Ramadasan et al. (2015a) correspond à la distance 3D entre des primitives 3D reconstruites par le SLAM et le modèle de l’objet. Cependant combiner ce type d’erreur avec une erreur en pixels (contrainte multi-vues de l’environnement) dans le processus d’optimisation requière l’utilisation d’une pondération adaptée afin de gérer le fait d’avoir une fonction de coût avec des mesures hétérogènes. En revanche la contrainte par erreur de re-projection consiste à réduire les degrés de liberté des primitives reconstruites par le SLAM et associées au modèle 3D en les forçant à se déplacer uniquement sur la surface de celui-ci comme dans les approches de Tamaazousti et al. (2011b); Larnaout et al. (2012) ou encore Salehi et al. (2016). Bien que robustes aux occultations, et aux mouvements brusques, ces solutions ne sont pas les plus adaptées pour être déployées en milieu industriel. Elles peuvent en effet présenter une difficulté de mise en oeuvre (Ramadasan et al. (2015a)), une forte consommation mémoire, et se limiter à la localisation d’objets uniquement polyédriques (Tamaazousti et al. (2011a)) ou texturés (Middelberg et al. (2014)). Enfin, il est possible de classer les approches de suivi d’objet basé modèle selon leur manière d’estimer la pose de la caméra. De nombreuses approches proposent d’estimer la trajectoire de la caméra géométriquement. C’est le cas des solutions présentées précédemment exploitant les contours ou les points d’intérêt du modèle et projetant ces primitives dans l’image pour estimer la pose de la caméra. De récentes approches s’aident cependant des techniques d’apprentissage automatique comme Tan and Ilic (2014); Tan et al. (2015) et Bonde et al. (2014) en apprenant à partir d’un nuage de points 3D pour localiser l’objet d’intérêt. L’apprentissage profond est également utilisé pour déterminer la pose 3D d’un objet par rapport à la caméra comme dans les solutions de Kendall et al. (2015); Wohlhart and Lepetit (2015) et Crivellaro et al. (2015) où les six degrés de liberté de la pose de la caméra ainsi que des descripteurs de l’objet sont prédits par un Convolutional Neural Network (CNN). Il existe cependant encore de nombreux défis à relever dans le domaine du suivi d’objets à l’aide d’apprentissage automatique comme la réduction des temps de calculs et de l’empreinte mémoire, ou encore le manque de données à entraîner. De plus, ce type d’approches est encore.

(22) 7 difficilement exploitable en milieu industriel, où une grande précision est nécessaire, et où des objets complexes, similaires ou encore très volumineux et pas entièrement visibles par la caméra doivent pouvoir être gérés. L’objectif de la présente thèse consiste à explorer la possibilité d’une solution basée vision intégrant des données issues des contours d’un modèle 3D. Cette solution doit être capable de localiser une large gamme d’objets, être peu coûteuse en mémoire et temps de calcul et facilement déployable en milieu industriel. Elle doit également offrir une qualité de localisation, une stabilité et une robustesse acceptable pour des applications de Réalité Augmentée en milieu industriel. Afin de remplir ces exigences, notre système utilisera uniquement une caméra monoculaire RGB et le modèle 3D géométrique de l’objet d’étude. En effet, afin d’assurer une localisation 3D sur un grand nombre d’objets sans limite sur le volume, la nature réflective ou absorbante de l’objet, ainsi que sur les conditions lumineuses, nous préférons ne pas exploiter de capteurs RGBD. Pour finir, nous faisons le choix d’un modèle géométrique par rapport à un modèle texturé, les textures pouvant difficilement être considérées comme stables dans le temps. Ceci est dû au fait qu’elles peuvent se détériorer (des tâches peuvent se former), et qu’elles peuvent varier pour un même objet manufacturé. Par ailleurs, les modèles 3D texturés sont peu largement répandus. En revanche, les approches basées sur les contours de l’objet peuvent s’appuyer sur la géométrie de l’objet, ce qui est certes moins discriminant que des points d’intérêt provenant de textures mais plus stable et plus facilement exploitable dans l’industrie.. Encadrement de la thèse Cette thèse a été effectuée entre le 6 mai 2014 et le 5 mai 2017 au Laboratoire Vision et Ingénierie des Contenus (LVIC) du CEA LIST à Saclay, et à l’Institut Pascal à ClermontFerrand.. Contributions L’objectif de nos travaux est de proposer une solution de suivi d’objet qui soit à la fois précise, robuste, facile à déployer et adaptée à une large gamme d’objets. Nous proposons pour cela d’étendre la solution de Tamaazousti et al. (2011a) afin de pouvoir localiser aussi bien des objets courbes que polyédriques et réduire l’empreinte mémoire de l’approche. Trois grandes contributions se distinguent dans nos travaux de thèse :  L’extraction dynamique de primitives 3D du modèle : les primitives 3D issues des arêtes franches du modèle de l’objet d’intérêt ne permettant pas de localiser des objets courbes, notre première contribution est de proposer un algorithme de suivi basé contours capable de localiser ce type d’objets en plus des objets polyédriques. Nous proposons une extraction de primitives 3D qui n’est pas réalisée hors-ligne à partir des arêtes franches, mais qui est faite de manière dynamique au cours du suivi à l’aide de rendus de synthèse du modèle de l’objet sur la carte graphique. Les primitives 3D peuvent alors être issues aussi bien des arêtes franches du modèle que des contours d’occultation dépendants du point de vue. En plus d’assurer le suivi d’objets courbes, la génération des constellations de primitives est réalisée de façon à maximiser les chances de mises en correspondance correctes avec les primitives 2D dans les images de la séquence de.

(23) 8. I NTRODUCTION. suivi, et de façon à contraindre au mieux les six degrés de liberté de la pose de la caméra pour une meilleure estimation de sa trajectoire.  L’intégration des primitives 3D dynamiques dans un SLAM : étendre la solution de SLAM de Tamaazousti et al. (2011a) contraint aux arêtes franches du modèle de l’objet d’intérêt aux primitives 3D extraites dynamiquement permet d’assurer une localisation d’objets qui soit générique et robuste aux occultations et aux mouvements brusques. Cependant intégrer ces primitives dans le SLAM nécessite de prendre en compte leur nature dynamique. Elles sont en effet valides pour un unique point de vue contrairement aux primitives issues des arêtes franches qui peuvent être extraites hors-ligne. Notre deuxième contribution est donc de proposer une intégration de l’extraction dynamique des primitives 3D au sein du processus d’optimisation d’un SLAM basé images clés sans perdre le caractère temps-réel de la solution de suivi. Nous proposons différentes stratégies d’intégration assurant la mise à jour de leur position au cours du processus d’optimisation du SLAM.  La diminution de l’empreinte mémoire d’un SLAM contraint aux contours d’un modèle 3D : l’exploitation des primitives 3D comme contrainte dans l’ajustement de faisceaux d’un SLAM basé images clés implique de conserver en mémoire les cartes de contours liées aux caméras clés optimisées et les constellations de primitives 3D. Elles sont en effet requises lors de l’étape de mise en correspondance entre les primitives 2D et 3D avant chaque processus d’optimisation. Notre dernière contribution consiste en la réduction de la consommation mémoire et du coût calculatoire de ce processus en proposant une nouvelle formulation de la contrainte. Celle-ci permet d’assurer une localisation précise et robuste tout en réduisant son empreinte mémoire. Les travaux réalisés au cours de cette thèse ont donné lieu à plusieurs publications internationales (Loesch et al. (2015a), Loesch et al. (2016)) et une publication nationale (Loesch et al. (2015b)). Une soumission à un journal international est en cours de validation.. Organisation du mémoire En premier lieu, le chapitre 1 présente l’ensemble des notations et des outils de base nécessaires à la bonne compréhension du mémoire. Le chapitre 2 fait un tour d’horizon des méthodes géométriques de localisation d’objet basées contours exploitant une caméra RGB. Dans le chapitre 3, nous présentons notre méthode d’extraction de primitives associées aux contours d’occultation et aux arêtes franches du modèle, afin de pouvoir localiser aussi bien les objets polyédriques que courbes. Le chapitre 4 propose de contraindre un algorithme de SLAM à l’aide de ces primitives 3D et d’obtenir une solution de suivi d’objet basé contours qui soit robuste, précise et générique, en intégrant leur génération directement dans le processus d’optimisation. Nous présentons dans le chapitre 5 deux autres formalisations de la contrainte aux contours du modèle afin de réduire les coûts calculatoires et la consommation mémoire. Nous testons notre solution de SLAM contraint ainsi que les différents formalismes de la contrainte aux contours du modèle sur des benchmarks publics dans le chapitre 6. Nous dressons enfin un bilan des travaux réalisés et présentons différentes perspectives envisageables pour les travaux futurs..

(24) CHAPITRE 1. Notions de base et données utilisées. Dans ce chapitre, nous introduisons les notions de base et les notations nécessaires à la compréhension du mémoire. Après avoir présenté les caméras perspectives et géométrie associée, nous rappellerons les plus importantes techniques d’optimisation utilisées. Plus de détails sur ces notions peuvent être trouvées dans le livre de Hartley and Zisserman (2004) et dans l’article de Lepetit and Fua (2006). Nous décrirons par la suite les données et les méthodes d’entrée de nos travaux, notamment les modèles 3D utilisés ainsi qu’un algorithme de localisation et cartographie simultanées par vision monoculaire (SLAM).. 1.1 1.1.1. Caméras perspectives et géométrie associée Géométrie projective. Sur l’espace vectoriel Rn+1 , il est possible de définir la relation d’équivalence suivante : u ∼ v ⇐⇒ ∃λ ∈ R∗ /u = λv.. (1.1). L’ensemble des classes d’équivalence de Rn+1 pour cette relation “∼ ”définit un espace appelé espace projectif. Cet espace, de dimension n, sera noté Pn . Si des études théoriques de ces espaces existent, nous nous intéresserons dans nos travaux à la géométrie projective qui leur est associée et qui permet en particulier de formaliser la notion de point à l’infini dans les espaces affines. Un vecteur de l’espace projectif Pn aura pour coordonnées : ˜ = (x1 . . . xn+1 )T , x. (1.2). ˜ représente le vecteur x de Rn avec avec les xi non tous nuls. Si xn+1 est non nul, ce vecteur x ˜ décrit un point à l’infini. x = (x1 /xn+1 . . . xn /xn+1 )T . Dans le cas contraire, le vecteur x ˜ sont appelées coordonnées homogènes de x. Dans l’ensemble du mémoire, Les coordonnées x l’utilisation du tilde indiquera que les coordonnées utilisées sont les coordonnées homogènes. L’ensemble des notations est répertorié à la page vii. Nous appellerons π la fonction permettant de passer des coordonnées homogènes aux coordonnées euclidiennes, à savoir : π :. Pn → Rn . T (x1 . . . xn+1 ) → (x1 /xn+1 . . . xn /xn+1 )T 9. (1.3).

(25) 10. N OTIONS DE BASE ET DONNÉES UTILISÉES. 1.1.2. Représentation d’une caméra perspective. Dans le cadre de nos travaux, nous utiliserons des caméras perspectives respectant le modèle des caméras sténopé idéales. Ce modèle considère que l’ensemble des rayons lumineux passe par un seul et unique point avant d’atteindre le capteur (voir figure 1.1). La projection perspective permet d’estimer, pour tout point Q de R3 , la position 2D q de sa projection dans l’image. Basée sur la projection centrale, cette transformation consiste à calculer l’intersection du plan de la rétine de la caméra (i.e. le capteur) avec le rayon de projection de Q. Ce dernier est défini comme étant la droite reliant le point Q au centre de la caméra (figure 1.1). Cette projection peut être vue comme un enchaînement de trois transformations géométriques (figure 1.1) :  La première transformation est un changement de repère qui consiste à exprimer les coordonnées de Q dans le repère lié à la caméra. Ce changement de repère est défini par les paramètres extrinsèques de la caméra. Dans la suite du mémoire, en cas d’ambiguïté, l’exposant C indiquera que les coordonnées du point 3D sont exprimées dans le repère de la caméra.  La deuxième transformation est la projection centrale du point 3D. Elle revient à passer du point 3D (exprimé dans le repère caméra) au point d’intersection du rayon de projection et du capteur. Les coordonnées 2D du point résultant sont alors exprimées dans le plan de la rétine (en mm).  La troisième transformation est un changement de repère 2D qui vise à passer du repère rétine (repère lié à la physique du capteur et où les coordonnées sont exprimées en mm) au repère image de la caméra (repère géométrique où les coordonnées sont exprimées en pixels). Cette transformation est définie par les paramètres intrinsèques de la caméra. La projection perspective est donc une transformation projective de P3 → P2 . En pratique, elle sera représentée par une matrice de projection P de dimension (3 × 4). La projection perspective s’exprime alors par la relation matricielle suivante : ˜ ˜ ∼ PQ. q. (1.4). La matrice P se décompose selon les trois transformations citées précédemment : ⎛. ⎞. 1 0 0 0  T R −RT t ⎜ ⎟ P = K ⎝0 1 0 0⎠ , 01×3 1 0 0 1 0 ⎛. (1.5) ⎞. 1 0 0 0 ⎜ où K est la matrice d’étalonnage (de taille 3 × 3) de la caméra, ⎝0 1 0 0⎟ ⎠ la matrice de 0 0 1 0 . RT −RT t la matrice de pose. projection centrale et 01×3 1 Paramètres extrinsèques Les paramètres extrinsèques d’une caméra caractérisent la pose de celle-ci dans le repère monde. La pose d’une caméra possède six degrés de liberté :  La position 3D du centre optique, décrit par le vecteur t = ((t)x (t)y (t)z )T ..

(26) 11. 1.1 Caméras perspectives et géométrie associée

(27)  .         .

(28)   .

(29)  .    .

(30)   .      . F IGURE 1.1 – Projection perspective. La projection perspective peut être vue comme trois transformations géométriques consécutives pour les points 3D.  L’orientation 3D de la caméra. En pratique, cette orientation sera représentée sous la forme d’une matrice de rotation R, cette matrice pouvant être obtenue à partir des trois angles roulis, tangage et lacet r = (α β γ)T . Les paramètres extrinsèques de la caméra permettent d’établir les changements de repère monde/caméra, à savoir : . ˜C ∼ Q . ˜ ∼ Q. RT −RT t ˜ Q 01×3 1 R. 01×3. (1.6). t ˜C Q 1. (1.7). Projection centrale Lorsqu’on utilise les coordonnées homogènes, la projection centrale d’un point QC est une fonction linéaire de P3 → P2 caractérisée par la matrice de dimension 3 × 4 : ⎛. ⎞. 1 0 0 0 ⎜ ˜ C. ˜ ∼ ⎝0 1 0 0⎟ q ⎠Q 0 0 1 0. (1.8). Dans de nombreuses publications, le changement de repère 3D et la projection centrale sont vus comme une unique projection centrale à partir d’un point 3D dans le repère monde. Cela.

(31) 12. N OTIONS DE BASE ET DONNÉES UTILISÉES. s’écrit matriciellement : ⎛. ⎞. 1 0 0 0  T −RT t ˜ ⎜ ⎟ R ˜ ∼ ⎝0 1 0 0⎠ Q q 01×3 1 0 0 1 0. (1.9). ˜ ∼ RT −RT t Q. La projection d’un point exprimé dans le repère monde dans l’image (équation 1.4) s’écrit donc généralement sous cette forme :. ˜ ˜ ∼ K RT −RT t Q. q. (1.10). Paramètres intrinsèques et distorsion Les paramètres intrinsèques définissent les propriétés géométriques du capteur de la caméra. Dans notre étude, nous considérons que les pixels sont carrés. La matrice d’étalonnage K peut alors s’exprimer sous la forme : ⎛. ⎞. f0 0 u0 ⎜ K = ⎝ 0 f0 v0 ⎟ ⎠. 0 0 1. (1.11). Nous retrouvons dans la matrice d’étalonnage les différents paramètres intrinsèques, à savoir :  f0 la distance focale. Exprimée en pixels par unité de mesure, elle décrit la distance orthogonale entre le centre et la rétine de la caméra.  (u0 v0 )T le point principal. Souvent approximé comme étant le centre du capteur, il est plus précisément l’intersection entre l’axe optique et la rétine de la caméra (figure 1.1). Il est important de noter que les capteurs à courte focale peuvent présenter un phénomène de distorsion important. Ceci se traduit visuellement par une déformation des lignes droites dans l’image sous forme de courbes. Pour corriger cela, il est possible d’ajouter à l’étalonnage de la caméra des paramètres de distorsion permettant de passer de la position observée d’un point 2D dans l’image à sa position réelle, c’est-à-dire corrigée de toute distorsion. Dans le cadre de ce mémoire, nous considérerons à la fois que la matrice d’étalonnage est connue et que les flux vidéos placés en entrée de nos algorithmes ont été préalablement corrigées en distorsion. En pratique, la distorsion radiale est modélisée en utilisant 5 coefficients. La distorsion tangentielle étant beaucoup plus faible, elle sera négligée dans nos travaux. Pour plus de renseignements sur l’étalonnage des caméras, nous invitons le lecteur à se référer à l’article de Lavest et al. (1998).. 1.2. Optimisation numérique. Dans cette section, nous introduisons les notions et méthodes mathématiques relatives à la résolution des problèmes numériques rencontrés dans la plupart des problèmes de vision et en particulier dans nos travaux. La vocation de cette section n’est pas de détailler les théories mathématiques sous-jacentes mais de faire un tour d’horizon des méthodes utiles. Après avoir détaillé le cadre d’étude de cette section, nous présenterons successivement les méthodes de résolution linéaires et non-linéaires. Nous finirons en présentant différentes approches permettant d’améliorer la robustesse de ces méthodes..

(32) 13. 1.2 Optimisation numérique. 1.2.1. Moindres carrés. En vision par ordinateur en particulier, le problème à résoudre peut souvent être vu comme

(33) = {x

(34) 1 , . . . , x

(35) K } tel que : la recherche d’un ensemble de paramètres x

(36) ) = y, F(x. (1.12). où F est la fonction modélisant le problème étudié et y = {y1 , . . . , yM } un ensemble de mesures connues. Dans la pratique, cette égalité stricte ne peut pas être obtenue. Ceci est dû aux erreurs de mesure et de calcul numérique par exemple. On définit dans ce cas l’erreur résiduelle comme étant la différence entre les mesures et le modèle appliqué aux paramètres estimés : r(x) = F(x) − y.. (1.13). L’approche couramment utilisée pour résoudre le problème posé est alors la méthode des moindres carrés. Cela revient à trouver les paramètres qui vérifient l’équation :

(37) = argmin ε(x), x x. (1.14). où la fonction de coût ε à minimiser est : ε(x) = ||F(x) − y||2 = ||r(x)||2 =. (1.15). ||ri (x)||2 .. i. En particulier, dans le cas où la distribution des erreurs est gaussienne, l’estimation aux moindres carrés correspond à l’estimation du maximum de vraisemblance. Dans ce cas, la solution obtenue est optimale au sens statistique du terme. L’approche utilisée pour résoudre ce problème dépend alors de la linéarité de la fonction F.. 1.2.2. Méthodes de résolution linéaires. Lorsque la fonction F est linéaire, il existe une matrice F telle que pour tout x, F(x) = Fx. Deux cas de figure sont alors à différencier. Système linéaire homogène. Lorsque le vecteur des mesures y est nul, on parle de système homogène. La fonction de coût s’écrit alors : ε(x) = ||Fx||2 .. (1.16). La solution aux moindres carrés de cette équation, si on prend la contrainte que ||x|| = 1, correspond au vecteur propre associé à la plus petite valeur propre de la matrice F. Ce vecteur propre peut être facilement obtenu en utilisant la décomposition SVD de F. Système linéaire non-homogène. Dans le cas où le vecteur des mesures est non-nul, la fonction de coût est de la forme : ε(x) = ||Fx − y||2 . (1.17) Dans ce cas, la solution au sens des moindres carrés peut être obtenue à l’aide de la pseudoinverse de la matrice F :

(38) = F+ y, x (1.18) où F+ désigne la pseudo-inverse de la matrice F : ˜ T )−1 . F+ = FT (FF. (1.19).

(39) 14. 1.2.3. N OTIONS DE BASE ET DONNÉES UTILISÉES. Méthodes de résolution non-linéaires. Lorsque la fonction ε est non-linéaire, il est possible de résoudre le problème posé en utilisant une méthode itérative. L’hypothèse faite par cette famille de méthodes est que la fonction ε est localement linéaire. Le principe est alors de trouver la direction et la longueur de pas (c’est-à-dire la distance à parcourir dans cette direction), dans l’espace des paramètres, qui permettent de diminuer au mieux l’erreur résiduelle. Les paramètres sont alors modifiés à l’aide de l’incrément ainsi calculé et le processus est réitéré depuis la nouvelle valeur des paramètres.

(40) pour De manière plus formelle, on cherche de manière itérative le vecteur de paramètres x

(41) ) − y|| est minimale. C’est un problème de moindres carrés lequel l’erreur ||r|| = ||f (x

(42) dans l’équation 1.14 est itérative en faisant l’hypothèse non linéaires et la recherche de x que f est localement linéaire. A chaque itération k, on calcule le pas (ou incrément) δk ∈ Rn à appliquer au vecteur de paramètres xk tel que xk+1 = xk + δk en vérifiant que ||f (xk+1 ) − y|| < ||f (xk ) − y|| ce qui assure la décroissance de l’erreur. En partant de l’estimation initiale x0 , on obtient une série x0 , x1 , x2 , ..., xn qui converge vers un minimum

(43) de f . local x Pour chaque δk , on a δk = αk Dk où Dk est la direction de descente et αk la longueur du pas pour l’itération k. Il existe plusieurs stratégies dans le choix de la direction de descente Dk au point xk . Chacune des méthodes de résolution non-linéaire se distingue sur ces notions d’optimalité concernant la direction à choisir et la longueur de pas. Voici les méthodes principalement utilisées en vision par ordinateur :. Descente de gradient. La descente de gradient est une méthode de résolution du premier ordre. La direction de déplacement choisie est directement liée au gradient de la fonction étudiée. Le principe général de la méthode de descente de gradient est de choisir à chaque itération un déplacement δDG dans la direction opposée au gradient JT r de la fonction de coût : δDG = −JT r. (1.20). Cette méthode converge dans tous les cas, même lorsque la solution initiale est éloignée du minimum recherché. L’avantage de cette approche est qu’elle permet une convergence efficace lorsque le critère à minimiser est convexe. La longueur de pas est généralement fixée à 1 car, en pratique, on observe souvent que D = g est une bonne direction de descente loin de la

(44) mais qu’elle est à éviter dès que l’on entre dans le voisinage de cette solution, là où solution x

(45) jouent un grand les termes du second ordre d’un développement de Taylor de f autour de x rôle. En fait, le défaut de cette méthode de descente est d’ignorer la courbure de f en x, qui est décrite par sa matrice Hessienne. Cette technique de minimisation est l’une des plus simples et souffre de quelques problèmes de rapidité de convergence notamment près du minimum de la fonction coût.. Gauss-Newton. La méthode de Gauss-Newton est une méthode du second ordre. Elle s’appuie principalement sur la dérivée seconde de la fonction afin d’obtenir la direction à chaque itération. Plus sensible à la condition initiale que la descente de gradient, elle assure néanmoins une convergence plus efficace lorsque les paramètres sont proches de la solution. Afin d’obtenir la direction et la longueur de l’incrément à chaque itération, cette méthode du second ordre s’appuie principalement sur une approximation quadratique locale de la fonction de coût, for∂r ∂ 2r mulée en termes des matrices Jacobienne J = et Hessienne 2 . L’évaluation de la matrice ∂δ ∂ δ.

(46) 15. 1.2 Optimisation numérique. Hessienne est souvent coûteuse. L’approximation de Gauss-Newton permet d’écrire cette matrice : A = JT J. Cette approximation est valide soit lorsque la fonction de coût est "proche" d’être linéaire, soit lorsque les résidus sont petits, ce qui est le cas dans les problèmes que l’on va traiter par la suite. L’approximation de Gauss-Newton confère une économie du calcul des dérivées secondes de la fonction de coût. Cette approximation e(δ) quadratique s’écrit : 1 e(δ) = ||r + Jδ||2 2. (1.21). 1 (1.22) e(δ) = (r + Jδ)T (r + Jδ) 2 1 1 (1.23) e(δ) = rT r + Jrδ T + δ T JT δ. 2 2 Pour chaque itération de l’algorithme de Gauss-Newton, nous cherchons alors le déplacement qui minimise l’approximation courante de la fonction de coût : δ = argmin e(δ).. (1.24). δ. Il s’agit d’un problème quadratique pour lequel un point stationnaire peut être estimé par l’annulation de la dérivée de l’approximation e(δ) par rapport au déplacement δ, ce qui donne les équations normales suivantes : ∂e(δ) = J T r + J T Jδ = 0. ∂δ. (1.25). Cette équation peut se réécrire sous la forme suivante : J T Jδ = −J T r.. (1.26). L’algorithme de Gauss-Newton consiste donc à calculer la solution suivante pour δGN , avec g = J T r le vecteur gradient de la fonction de coût : δGN = −A−1 g.. (1.27). On calcule alors les itérations successives de Gauss-Newton jusqu’à convergence. Malheureusement, il arrive que le minimum obtenu soit un minimum local différent de la solution

(47) ou même que l’algorithme diverge. Le comportement et la convergence dépendent recherchée x fortement de l’estimation initiale x0 .. Levenberg-Marquardt. La méthode d’optimisation non-linéaire de Levenberg-Marquardt (Levenberg (1944); Marquardt (1963)) est la méthode la plus couramment utilisée pour les problèmes rencontrés dans ce mémoire. Cet algorithme est une variante de Gauss-Newton consistant à effectuer une régularisation des équations normales. La matrice A est remplacée par une matrice régularisée Ar = A + B(λ),où λ ∈ R et λ > 0. La matrice B(λ) est appelée matrice de régularisation. Les choix suivants ont été proposés pour B(λ) :  B(λ) = λI. C’est le choix original de Levenberg et Marquardt (Levenberg (1944); Marquardt (1963)) repris par Triggs et al. (2000).  B(λ) = (1 + λ)diag(A), c’est-à-dire multiplication des coefficients diagonaux de A par (1 + λ). Ce choix est dû à Seber and Wild (1989)..

Figure

graphique utilisée dans notre solution est OpenGL, sa portabilité étant multi-plateforme

Références

Documents relatifs

Dans ce contexte, nous avons choisi un SLAM visuel en utilisant les données d’un capteur RGB-D de type Kinect pour estimer la trajectoire de la caméra et construire une carte 3D

Aussi, une étude, menée à Sheffield (Royaume-Uni) en collaboration avec l'Unité des Explorations Fonctionnelles de l'Exercice du CHU d'Angers, portant sur la

Cette variation de la diversité génétique des agents phytopathogènes résulte de l'interaction entre mutation, flux génétique, recombinaison, dérive génétique aléatoire

categorise and hurt, harm or exclude other individuals or groups”[4]. It is the most common type of victimisation faced by LGB individuals [5], who also experience

Combining the advantage of template tracker and the work of multiple homographies pose estimation [1], we present a novel method of multiple planar vSLAM. It supports: 1) a novel

Pour interroger ce rapport entre écriture du voyage et voyage de l'écriture, nous observerons comment l’évocation du déplacement détermine dans le recueil la

Comme nous avions calculé la projection exacte d'un ellipsoïde d'incertitude dans l'espace 3D, notre méthode d'initialisa- tion cherche l'incertitude qui, par la même méthode, donne

À chaque instant d’échantillonnage t, l’état continu des particules x t est prédit grâce à une étape –linéaire ici– d’un filtre de Kalman. Après prédiction, l’id de