ASSERVISSEMENT VISUEL SUR HOAP-3



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


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

Traitement bas-niveau

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

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

Fonctions de plusieurs variables

Chapitre 0 Introduction à la cinématique

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

Oscillations libres des systèmes à deux degrés de liberté

Introduction au Data-Mining

Projet de Traitement du Signal Segmentation d images SAR

N. Paparoditis, Laboratoire MATIS

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Recherche d'images par le contenu Application au monitoring Télévisuel à l'institut national de l'audiovisuel

NOTICE DOUBLE DIPLÔME

André Crosnier LIRMM ERII4, Robotique industrielle 1

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

Chapitre 2 : Caractéristiques du mouvement d un solide

Les algorithmes de base du graphisme

Simulation d'un examen anthropomorphique en imagerie TEMP à l iode 131 par simulation Monte Carlo GATE

Géométrie discrète Chapitre V

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

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

Modélisation et Simulation

CAPTEURS - CHAINES DE MESURES

TP 7 : oscillateur de torsion

Manipulateurs Pleinement Parallèles

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

Opérations de base sur ImageJ

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Cours de Mécanique du point matériel

3 Approximation de solutions d équations

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

Fonctions de deux variables. Mai 2011

Introduction au datamining

Mesure agnostique de la qualité des images.

Calcul intégral élémentaire en plusieurs variables

PHYSIQUE 2 - Épreuve écrite

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

INF6304 Interfaces Intelligentes

Correction du Baccalauréat S Amérique du Nord mai 2007

Fonctions de plusieurs variables

Quantification Scalaire et Prédictive

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

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

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

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

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

Plan du cours : électricité 1

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Résonance Magnétique Nucléaire : RMN

MOTORISATION DIRECTDRIVE POUR NOS TELESCOPES. Par C.CAVADORE ALCOR-SYSTEM WETAL Nov

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Chapitre 1 Cinématique du point matériel

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

Cours d Analyse. Fonctions de plusieurs variables

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Robotique Mobile. David Filliat

MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .

Annexe commune aux séries ES, L et S : boîtes et quantiles

Fête de la science Initiation au traitement des images

Les Conditions aux limites

Apprentissage Automatique

Cours IV Mise en orbite

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

F411 - Courbes Paramétrées, Polaires

Éclairage naturel L5C 2009/2010. Aurore BONNET

L apprentissage automatique

- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

uc : Cas d utilisation Top-Chair [Utilisation normale] Fauteuil Top-Chair Déplacer le fauteuil sur tous chemins «include» «include» «extend»

Les indices à surplus constant

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

Une fréquence peut-elle être instantanée?

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Introduction à MATLAB R

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

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

Modélisation aléatoire en fiabilité des logiciels

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

ANALYSE SPECTRALE. monochromateur

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

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Soutenance de stage Laboratoire des Signaux et Systèmes

Figure 1 : représentation des différents écarts

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

TP Détection d intrusion Sommaire

Transcription:

Université de Montpellier Rapport de Master Mention : «STPI ELECTRONIQUE - ELECTROTECHNIQUE - AUTOMATIQUE» Spécialité : «Robotique et Automatique» Préparé au Laboratoire d Informatique, de Robotique et de Microélectronique de Montpellier Présenté et Soutenu par : Ryad CHELLAL le 08 Septembre 010 ASSERVISSEMENT VISUEL SUR HOAP-3 Encadré par : Philippe FRAISSE Bruno Vilhena ADORNO Département : Robotique Equipe : IDH Laboratoire d Informatique, de Robotique et de Microélectronique de Montpellier Unité mixte de recherche du CNRS UMR 5506 et de l Université de Montpellier II

Remerciements Je tiens à remercier : Philippe FRAISSE, professeur à l université de Montpellier pour avoir proposé ce sujet de Stage et ses précieuses remarques non seulement concernant le stage mais aussi tout au long de ce Master. Bruno ADORNO, qui m a permis d effectuer ce Stage et su m encadrer tout en me permettant d évoluer librement. Ces précieux conseils m ont été d un réel apport, je lui souhaite une très grande carrière pleine de réussite dans le monde de la Recherche et j espère bien le revoir dans l espace Dual!!! Mes parents, qui n ont pas hésité à m aider et m encourager pour accomplir ce Master Recherche qui a complété ma formation d Ingénieur et fut pour moi une expérience réussie comme initiation au travail de Recherche. Les enseignants du Master «Robotique et Automatique» de l Université de Montpellier pour la transmission de leur savoir éducatif et que j ai eu un grand honneur de rencontrer. Enfin, toute personne ayant contribué de près ou de loin à l élaboration de ce travail. Ryad

Table des Matières Table des Matières Notations Introduction et Cadre du Travail 1 I) Asservissements Visuels I.1) Introduction... 4 I.) Classification des systèmes d asservissements visuels... 4 I..1) Selon la position de capteur visuel... 4 I..) Selon le type de mesure... 4 I...1) Asservissement visuel 3D... 4 I...) Asservissement visuel D... 5 I...3) Asservissement visuel hybride... 6 I..3) Selon le type de commande... 7 I..3.1) Asservissement visuel séquentiel... 7 I..3.) Asservissement visuel cinématique... 7 I..3.3) Asservissement visuel dynamique... 7 I.3) Commande cinématique... 8 I.3.1) Loi de commande... 8 I.3.1.1) Cas d une régulation... 8 I.3.1.) Cas d une poursuite de trajectoire... 9 I.3.1.3) Cas d une poursuite de cible... 9 I.3.) Choix des primitives... 10 I.3..1) Commande cinématique 3D... 10 I.3..1) Commande cinématique D... 11 I.4) Conclusion... 1 II) Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF II.1) Introduction... 13 II.) Reconnaissance d objets... 13 II..1) Détection... 13 II..1.1) Etat de l art... 13 II..1.) Détecteur SURF... 15 II...1) Détection des extrema du déterminant de la matrice Hessienne... 15 II...) Localisation des points d intérêt... 16 II..1.3) Résultats du détecteur SURF... 18 II..) Description... 19 II...1) Etat de l art... 19 II...) Descripteur SURF... 0 II...1) Calcul de l orientation principale... 0

Table des Matières II...) Calcul des composantes du descripteur... 1 II...3) Résultats du descripteur SURF... 3 II..3) Mise en correspondance... 4 II..3.1) Etat de l art... 4 II..3.) Appariement des descripteurs locaux... 5 II..3..1) Mesure de similarité... 5 II..3..3) Elimination des faux appariements... 5 II..3..) Cas du descripteur SURF... 6 II..3.3) Résultats de mise en correspondance... 7 II.3) Localisation d objets... 8 II.3.1) Objectifs... 8 II.3.) Estimation du mouvement et reconstruction de pose d objets... 9 II.3..1) Transformation D... 9 II.3..) Contrainte épipolaire... 30 II.3..3) Estimation de l Homographie... 31 II.3..4) Estimation des paramètres de pose pour le déplacement de la caméra... 3 II.3..1.4.1) Pose D... 3 II.3..1.4.1) Pose 3D... 3 II.3.3) Résultats de localisation... 34 II.4) Conclusion... 35 III) Modélisation et Commande du Robot HOAP-3 dans l'espace Dual III.1) Introduction... 36 III.) Utilisation des quaternions duaux en robotique... 36 III..1) Description de la situation des objets dans l espace dual... 37 III..) Transformations entre repères dans l espace dual... 37 III.3) Modélisation des robots dans l espace Dual... 37 III.3.1) Modèle Géométrique Direct dans l espace Dual... 38 III.3.) Modèle Cinématique Direct dans l espace Dual... 38 III.4) Commande des robots dans l espace Dual... 38 III.4.1) Schéma de commande utilisant la pseudo-inverse de la Jacobienne... 38 III.4.) Schéma de commande utilisant la transposée de la Jacobienne... 39 III.5) Résultats et validation expérimentale... 40 III.6) Conclusion... 43 Conclusion et Perspectives 44

Table des Matières Annexes A) Annexe A A.1) Calcul de la Jacobienne image pour des primitives ponctuelles... A.1 B) Annexe B B.1) Représentation de l intégrale de l image... B.1 B.) Construction de la pyramide échelle-espace... B. B.3) Mesure de similarité... B.3 B.4) Contraintes physiques pour la décomposition de l Homographie... B.5 B.5) Estimation du mouvement et reconstruction de pose d objets non-planaires... B.6 B.5.1) Transformation D... B.6 B.5.) Contrainte épipolaire... B.7 B.5.3) Estimation de la matrice Fondamentale... B.8 B.5.4) Estimation des paramètres de pose pour le déplacement de la caméra... B.9 B.5.4.1) Pose D... B.9 B.5.4.) Pose 3D... B.9 C) Annexe C C.1) Description du système de positionnement HEAD du robot HOAP-3... C.1 C.) Définitions mathématiques... C.1 C..1) Quaternion... C.1 C..) Nombre dual... C. C..3) Quaternion dual... C. C.3) Calcul de la Jacobienne généralisée... C.3 Bibliographie

Notations Notations Asservissement visuel s : Grandeur ou Primitive visuelle asservie par la boucle de vision. P : Primitive visuelle 3D (dans notre cas Pose de la caméra). p : Primitive visuelle D (dans notre cas un point sur l image). v c : Vitesse linéaire instantanée de la caméra. w c : Vitesse angulaire instantanée de la caméra. V c : Torseur cinématique de la caméra. τ : Vecteur des forces généralisées appliqués aux articulations du robot. e : Fonction de tâche. L s : Matrice d interaction relative à la primitive visuelle. L θu : Matrice d interaction relative à la rotation. λ : Matrice de gain de contrôle de la boucle de commande visuelle. t : Vecteur de translation. θ : Angle de rotation. u : Vecteur de rotation. R c : Repère actuel de la caméra. R o : Repère de l objet. T : Matrice de transformation homogène. Z : Profondeur des points attachés à l objet dans le repère de la caméra. Reconnaissance d Objets I : Intensité lumineuse. H : Matrice Hessienne de la fonction intensité lumineuse. L : Image filtrée. G : Filtre (Masque) Gaussien. D : Boîtes de filtres d approximations des secondes dérivées des filtres Gaussiens. x, y : Coordonnées des points dans l image. σ : Ecart type du filtre Gaussien (Echelle). X : Coordonnées des points d intérêt dans la pyramide échelle-espace. m : Magnitude du Gradient en un point de l image. θ : Orientation du Gradient en un point de l image. d : Réponse du filtre de Haar. v : Vecteur descripteur associé à un point d intérêt détecté. r : Seuil de détection.

Notations Localisation d Objets P : Point dans l espace Euclidien. e : Epipole. l : Droite épipolaire. R 1 : Repère désiré de la caméra. R : Repère actuel de la caméra. P 1, P : Coordonnées 3D du point P dans les repères R 1 et R. P 1 = X 1 Y 1 Z 1 P = p 1, p : Cordonnées homogènes métriques D du point P dans les images I 1 et I. X Y Z p 1 = x 1 y 1 1 = P 1 Z 1 p = x y = P Z 1 m 1, m : Cordonnées homogènes pixelliques D du point P dans les images I 1 et I. m 1 = u 1 v 1 = K p 1 m = 1 u v 1 = K p A : Matrice de calibrage de la caméra. A = k u 0 u o 0 k v v o 0 0 1 k u, k v : Facteurs d échelle. u o, v o : Coordonnées du centre optique de la caméra dans l image en pixel. n : Normale d un plan de référence de l objet. d : Distance du centre de projection de la camera à un plan de l objet. D : Distance d un point 3D à un plan de l objet. G : Matrice d Homographie Projective (d Homographie). H : Matrice d Homographie Euclidienne. E : Matrice Essentielle. F : Matrice Fondamentale. t : Vecteur de translation. R : Matrice de Rotation.

Notations q : Quaternion. θ : Angle de rotation. n : Vecteur de rotation. z : Nombre dual. q : Quaternion dual. t : Vecteur de translation. Modélisation et Commande dans l espace Dual θ : Vecteur des coordonnées articulaires du robot. q : Pose de l effecteur dans l espace Dual. q e : Fonction de tâche dans l espace Dual. J A : Jacobienne analytique. J : Jacobienne généralisée. Ψ : Matrice de passage relative à la vitesse linéaire. Ω : Matrice de passage relative à la vitesse angulaire. K : Matrice de gain de contrôle de la position duale. V : Fonction de Lyapunov. V : Nombre dual associé à la vitesse duale. v : Quaternion pure associé à la vitesse linéaire. w : Quaternion pure associé à la vitesse angulaire.

Introduction et Cadre du Travail Introduction Les missions confiées aux premiers robots en milieu industriel consistaient à effectuer des tâches répétitives dans des environnements connus, structurés et invariants. L utilisation des capteurs proprioceptifs permet alors de décrire ces tâches préprogrammées limitées à des suivis de trajectoires exprimées dans l espace articulaire ou opérationnel. Les avancées technologiques récentes ont mené à étendre les robots à des partenaires sociaux indépendant en interaction avec leur milieu. Cependant, la réalisation et la réussite d un tel challenge devrait conférer à ces machines la capacité d accomplir des tâches complexes dans des milieux inconnus évolutifs où le robot doit apprendre à interpréter et interagir avec son environnement, réfléchir et prendre des décisions etc. Une partie de la solution est due aux apports théoriques, notamment du domaine de l intelligence artificielle tel que l apprentissage de stratégies d interaction qui remplace la notion de modèles mathématiques incertains et/ou à paramètres variant dans le temps (issus des lois modélisant les phénomènes physiques intervenant dans les systèmes) par des réseaux statistiques capables d apprendre puis de généraliser à partir d une base d exemples, un outil typiquement utilisé sont les réseaux de neurones artificiels. On trouve aussi le raisonnement formel dotant les systèmes d une certaine expertise dont le fonctionnement est dicté par un ensemble de règles établies par le concepteur du système expert qui doit posséder une bonne connaissance du système, un outil dédié à ce type de systèmes est la logique floue. Une seconde partie de la solution est technologique, avec l utilisation de capteurs extéroceptifs qui effectuent des mesures dans l environnement des robots pour leur fournir des informations utiles provenant de caméras, capteurs à ultra-son, lasers etc visant en quelque sorte à fournir aux robots des capacités sensorielles, les tâches robotiques sont alors exprimées dans l espace du capteur!!!. Cependant, la manipulation de ces capteurs va nous amener à faire face à certains problèmes théoriques tel que la modélisation des capteurs, le choix des capteurs et des informations adéquats pour décrire au mieux les tâches, le bruit de mesure qui s additionne au signal utile à récupérer, le retard d acquisition et/ou de traitement des informations, la fusion de données provenant de capteurs de natures différentes etc. Cadre du Travail Dans le cadre de mon Stage de Master Recherche effectué au LIRMM (Laboratoire d Informatique de Robotique et de Microélectronique de Montpellier) au sein de l équipe IDH (Interactive Digital Human) qui s installe dans le domaine de la robotique de service où les contraintes de sécurité et de confort de l homme s imposent, je m intéresse à l utilisation des capteurs visuels pour la commande des robots dans une mission qui consiste à développer des techniques pour la reconnaissance et le maintient de la visibilité d objets dans la champ de vision du robot humanoïde HOAP-3 (Figure 1) conçu par Fujitsu et accueilli au LIRMM en 008. 1

Introduction et Cadre du Travail Le robot HOAP-3 mesure 60 cm, pèse 8,8 Kg et possède 8 articulations motorisées et des capteurs tels que des accéléromètres, des gyromètres, un télémètre infrarouge, des capteurs de pression et deux caméras dont l une d entre elles sera utilisée dans la tâche de positionnement pour la commande de la tête du robot dont les longueurs et les dimensions sont données dans l Annexe C. Ces composantes sont conçues autour de la plateforme entièrement libre RTLinux. Microphone Caméra USB Capteur de Distance LED Haut Parleur Figure 1 : Robot humanoïde HOAP-3 (Fujitsu Labs) Afin d arriver à une solution réalisable complète et efficace, ce rapport sera organisé de la manière suivante : Le chapitre I donne un aperçu général sur les techniques d asservissements visuels, et détaille par la suite les architectures de commandes et leurs lois associées utilisées pour la tâche de positionnement. Le chapitre II sera reparti en deux grandes étapes : Une première étape de reconnaissance d objets inconnus dans des environnements inconnus, complexes et dynamiques à travers l estimation de leur mouvement en utilisant les résultats de la géométrie Epipolaire ou Projective sur un ensemble de points d intérêts détectés et mis en correspondance, caractérisant l objet à travers un vecteur descripteur local. La mise en œuvre d une application tournant à la cadence vidéo a conduit au choix des détecteurs-descripteurs locaux rapides SURF (Speeded Up Robust Features).

Introduction et Cadre du Travail Suivie d une étape de localisation d objets pour la reconstitution Euclidienne et Projective des informations des pose D et 3D intervenant dans les lois de commandes visuelles. Le chapitre III détaillera la modélisation et la commande du système de positionnement de la tête de HOAP-3 pour amener la caméra vers la consigne de pose ou d attitude fournie par le contrôleur visuel dans le but d assurer la tâche de suivi. La description de la pose des objets et de l effecteur - caméra est faite en utilisant les quaternions duaux permettant une représentation compacte de la position et l orientation et donc de définir des architectures de commande en position en utilisant une boucle de contrôle unique de la position et l orientation. 3

Asservissements Visuels Chapitre I Chapitre I Asservissements Visuels I.1) Introduction : La commande par vision consiste à prendre en compte des informations visuelles provenant d un ou plusieurs capteurs visuels pour l asservissement des robots. Ces informations extrinsèques supplémentaires devraient nous permettre la réalisation de tâches complexes en environnements contraints. Des tutoriaux édités par S. Hutchinson [1.1] et plus récemment par F. Chaumette et S. Hutchinson [1., 1.3] résument les approches de base et avancées. Le but de chapitre est de présenter brièvement les différentes classes des systèmes d asservissements visuels [1.4], et de détailler par la suite les architectures de commande utilisant la vision que nous retiendront. I.) Classification des systèmes d asservissements visuels : I..1) Selon la position de capteur visuel : On distingue grossièrement deux types de positionnement selon l application souhaitée : - Capteur visuel attaché à l organe terminal du robot (Figure 1.1 (a)). Ce type de positionnement permet des applications nécessitant un grand volume de travail (surtout si le robot est mobile) et se prête bien à des applications de suivis de cibles. - Capteur visuel fixe et observant la scène (Figure 1.1 (b)). Ce type de positionnement permet des applications nécessitant un faible volume de travail et se prête bien à la robotique chirurgicale [1.5, 1.6] où il est faut observer à la fois l outil et l objet. (a) Capteur embarqué (b) Capteur déporté I..) Selon le type de mesure : I...1) Asservissement visuel 3D : Figure 1.1 : Position du capteur visuel Dans un asservissement visuel 3D, la consigne est définie dans l espace en termes d attitude ou pose entre la caméra et un ou plusieurs objets dans la scène [1.7] ou bien entre 4

Asservissements Visuels Chapitre I la caméra et sa position désirée [1.8, 1.9]. Les premiers utilisateurs de ce type de mesures sont Y. Shirai et H. Inoue [1.10] et J. Hill et W. T. Park [1.11]. L avantage d une mesure 3D est de spécifier la trajectoire de la caméra dans l espace où elle est le plus facilement décrite, ce qui permet aussi d assurer une trajectoire réalisable de la caméra dans l espace. Cependant, une telle architecture nécessite une étape de reconstruction 3D qui requiert des connaissances à priori de la géométrie de la scène dont il est possible de s affranchir par triangulation [1.1]. De plus, l absence de consignes au niveau de l image ne permet pas d assurer une trajectoire réalisable des objets au niveau de l image, ce qui risque donc d enfreindre la contrainte de visibilité. P d + - Contrôleur Visuel Contrôleur + Robot + Caméra P Reconstruction 3D Extraction de Primitives I...) Asservissement visuel D : Figure 1. : Asservissement visuel 3D Dans un asservissement visuel D, la consigne est définie au niveau de l image en termes de primitives visuelles de formes géométriques élémentaires (points, segments de droites, cercles, sphères, ellipses, cylindres, etc). La majorité des travaux utilisent des primitives de type point pour leur facilité d extraction, bien qu il à été montré dans [1.13] que ce n est pas toujours le meilleur choix du point de vue de la commande. Le pionnier de ce type d asservissement dit «asservissement référencé image» fût Weiss [1.14, 1.15]. Cette approche présente l avantage de ne pas nécessiter d étape de reconstruction 3D puisque le contrôle du robot se fait directement dans l image, et permet donc d assurer la contrainte de visibilité. L inconvénient majeur d une mesure D, est qu elle n assure pas une trajectoire réalisable de la caméra dans l espace, auquel s adjoint une ambiguïté connue sous le nom du problème d avance / retrait ou Chaumette conundrum [1.16, 1.17]. 5

Asservissements Visuels Chapitre I p d + - Contrôleur Visuel Contrôleur + Robot + Caméra p Extraction de Primitives I...3) Asservissement visuel hybride : Figure 1.3 : Asservissement visuel D L utilisation d une mesure D ou 3D introduit donc un compromis, d où la nécessité d un choix judicieux selon l application. Il est alors parfois intéressant de combiner ces deux mesures donnant lieu à des asservissements hybrides D-3D. Le problème d avance / retrait en asservissement D à motivé Malis [1.18, 1.19] à introduire des mesures 3D dans un schéma d asservissement D1/ produisant une rotation de π autour de l axe optique de la caméra. Cette architecture (Figure 1.4) est composée de deux boucles de commande indépendantes, où le contrôle de la position est asservissement D des coordonnées étendues dans lesquelles intervient une composante additionnelle de profondeur ln(z) permettant de s affranchir de la géométrie de la cible en estimant la coordonnée étendue de l erreur ln(z/z d ) à travers l Homographie, alors que le contrôle de l orientation est un asservissement 3D. p ed uθ + - uθ + - Contrôleur Visuel Orientation Contrôleur Visuel Position Contrôleur + Robot + Caméra p e Reconstruction Partielle 3D Figure 1.4 : Asservissement visuel D1/ 6

Asservissements Visuels Chapitre I I..3) Selon le type de commande : I..3.1) Asservissement visuel séquentiel : La commande séquentielle qui effectue une approche de type «Static Look & Move» ou encore «Look then Move» est un asservissement en boucle ouverte (donc pas vraiment un asservissement) qui consiste à acquérir et analyser un ensemble d images issues du capteur puis en générer une trajectoire à atteindre par le robot en boucle ouverte selon le but recherché. Ce type de commande est utilisé pour des capteurs permettant de faibles fréquences d acquisition [1.0, 1.1] et peut être utilisé pour des missions de replanification de tâches nécessitant des déplacements lents en utilisant la vision. Cependant, l absence de retour visuel rend la convergence de l asservissement très sensible aux incertitudes de modélisation du robot et du capteur ainsi qu au aux méthodes de reconstruction de pose. I..3.) Asservissement visuel cinématique : La commande cinématique qui effectue une approche de type «Dynamic Look & Move» ou encore «Look and Move» est un asservissement en boucle fermée, où le contrôleur visuel intervient dans une boucle de haut niveau et fourni un état de consigne en vitesse assurant une convergence asymptotique qui est transformé par le Générateur de Trajectoires en consignes angulaires transmises au contrôleur interne bas niveau du robot qui les réalise. Le robot est considéré comme un simple système de positionnement dont la dynamique est approximée par un gain et les performances du système dépendent essentiellement de la synthèse du contrôleur visuel et du retard introduit par celui-ci dans la boucle de commande. Ce type de commande dit «indirecte» est utilisé pour des asservissements visuels lents dont le but recherché est la robustesse [1., 1.19, 1.16]. s d + - Contrôleur Visuel V c Générateur θ d Contrôleur de du Trajectoires Robot Robot + Caméra s Figure 1.5 : Asservissement visuel cinématique I..3.3) Asservissement visuel dynamique : La commande dynamique est aussi une alternative de l approche «Dynamic Look & Move» ou encore «Look and Move» d asservissement en boucle fermée, où cette fois-ci le contrôleur visuel se substitue au contrôleur interne du robot en envoyant directement les consignes en vitesses ou en couples aux variateurs des moteurs. 7

Asservissements Visuels Chapitre I La conception du contrôleur visuel tient en compte d un comportement plus réaliste de la dynamique du robot et parfois même de celui du capteur visuel et/ou des actionneurs pour améliorer les performances dynamiques du système. Ce type de commande dit «directe» est utilisé pour des asservissements visuels rapides [1.3, 1.4, 1.5, 1.6, 1.7]. s d + - Contrôleur Visuel V c ou τ Robot + Caméra s I.3) Commande cinématique : Figure 1.6 : Asservissement visuel dynamique Après un aperçu global sur les systèmes d asservissements visuels, on s intéresse ici aux lois de commandes associées. Afin de satisfaire les contraintes de sécurité et de confort de la robotique de service, nous utiliserons des lois de commandes purement cinématiques. Les schémas de commandes cinématiques sont basés sur le formalise de la régulation à zéro de la fonction de tâche sur un horizon temporel 0, T [1.8]. Dans notre cas, cette fonction représentera l erreur d asservissement : e = s d s (1. 1) I.3.1) Loi de commande : Les lois de commande cinématiques permettent d assurer une convergence exponentielle découplée de l erreur d asservissement : e = λ e (λ > 0) (1. ) On définit la matrice d interaction L s qui relie la variation du déplacement des primitives visuelles s en fonction du torseur cinématiques de la caméra V c : s = L s V c (1. 3) Il est clair que cette matrice dépendra du choix du type et du nombre de primitives à asservir. I.3.1.1) Cas d une régulation : La variation de l erreur d asservissement est donnée par : e = s = L s V c (1. 4) Afin d assurer une convergence asymptotique, la loi de commande est donnée par : 8

Asservissements Visuels Chapitre I V c = λ L s + e (1. 5) En pratique, les paramètres intervenant dans la matrice d interaction ne peuvent d être qu estimés. La loi de commande devient donc en conditions réelles : V c = λ L s + e (1. 6) La convergence de l erreur ne sera assurée que si : L s L s + > 0 (1. 7) I.3.1.) Cas d une poursuite de trajectoire : La variation de l erreur de poursuite est donnée par : e = s d s = s d L s V c (1. 8) La loi de commande qui assure la décroissance de l erreur de poursuite en anticipant les faibles variations de consignes est donnée par : V c = λ L s + e + L s + s d (1. 9) I.3.1.3) Cas d une poursuite de cible : Il est possible de prendre en compte les faibles mouvements de la cible en introduisant un terme additionnel modélisant la variation de l erreur due à ces déplacements [1.3] : e = s = L s V c + e t (1. 10) Les faibles déplacements de la cible sont compensés par la loi de commande : V c = λ L s + e + L s + e t (1. 11) En pratique, les mouvements de la cible ainsi que la matrice d interaction réelle ne peuvent qu être estimés, la loi de commande s exprime alors par : V c = λ L s + e + L s + e t (1. 1) Les conditions de convergence de l erreur de poursuite deviennent : L s L s + > 0 b = L s L s + e t + e t = 0 (1. 13) Cette commande impose la loi de variation de l erreur suivante : e t = e 0 e λt + b λ (1. 14) 9

Asservissements Visuels Chapitre I Certains travaux sur des cibles non statiques [1.8, 1.9] proposent un modèle de déplacement de la cible à vitesse constante lissé par un filtre de Kalman [1.4]. I.3.) Choix des primitives : I.3..1) Commande cinématique 3D : Le contrôle de la caméra est effectué dans l espace (Figure 1.7) en fonction des grandeurs 3D à asservir s, choisies pour définir la pose de la caméra : s = c t X θu (1. 15) R cd c d T o R o R c c T o Figure 1.7 : Commande cinématique 3D Contrôle de l orientation : En prenant comme degré de liberté de l orientation la rotation du repère désiré R cd de la caméra par rapport au repère actuel de la caméra R c, l angle θ et vecteur de rotation u c peuvent être récupérés à partir de la matrice de rotation en utilisant la formule de Rodrigues : R cd θ = cos 1 1 u x = 1 sin θ trace c R c d c R cd c T R cd 1 (1. 16) En choisissant une représentation de l orientation du type uθ permettant d éviter des singularités de la représentation en 0 et de la matrice d interaction relative à la rotation L θu, la variation de l orientation θu en fonction du torseur cinématique de la caméra V c est donnée par [1.18] : d θu dt = I 3 θ u sinc θ x + 1 sinc θ u x V c = L θu V c (1. 17) 10

Asservissements Visuels Chapitre I Contrôle de la position : Pour le degré de liberté de translation, deux possibilités existent selon le repère par rapport auquel est définie la translation. Les deux cas donnent une matrice d interaction L s de la forme : L s = I c 3 t X x (1. 18) 0 3 L θu c - Translation t X définie par rapport au repère de l objet R o [1.7] : Dans ce cas, les vecteurs de primitives actuels s et désirés s d sont : s = s d = c t o t o θu T c d θu T 1. 19 Ce qui donne après inversion de la matrice d interaction, la loi de commande : v c = λ c d t o c c to + t o w c = λ θu xθu (1. 0) c - Translation t X définie par rapport au repère désiré de la caméra R cd [1.8, 1.9] : Dans ce cas, les vecteurs de primitives actuels s et désirés s d sont : D où la loi de commande : c s = t cd θu T 1. 1 s d = 0 0 T c v c = λ t d w c = λ θu c + t d x θu (1. ) On note dans les deux cas un découplage entre la commande de la position et de l orientation. On obtient une trajectoire linéaire de la caméra dans l espace et donc réalisable. I.3..) Commande cinématique D : Le contrôle de la caméra est effectué directement dans l image (Figure 1.8) en fonction des primitives visuelles s choisies. En prenant des primitives visuelles ponctuelles : s = x y (1. 3) On obtient une matrice d interaction ou Jacobienne image L s de la forme (Annexe A) : L s = 1/Z 0 x/z 0 1/Z y/z xy 1 + x y 1 + x xy x 1. 4 11

Asservissements Visuels Chapitre I R cd Z d R o Z R c Figure 1.8 : Commande cinématique D La matrice d interaction L s fait intervenir une information 3D de profondeur Z des points dans le repère de la caméra. Celle-ci peut être estimée en ligne en utilisant une reconstruction partielle 3D de la profondeur Z ou hors ligne en l estimant par la profondeur désirée Z d, ce choix simplifie les calculs tout en maintenant la convergence du système [1.1]. La détermination des six degrés de libertés de la vitesse instantanée de commande v c et w c nécessite au minimum trois points de référence. Cependant, l utilisation de plus de trois points permet d éviter les singularités de la matrice d interaction [1.30]. On obtient une trajectoire linéaire des points de référence dans l image, ce qui permet d assurer la contrainte de visibilité. Le calcul de la matrice d interaction pour des primitives visuelles quelconques puis les plus usuelles (segments, droites, cercles, sphères, cylindres, ellipses) est effectué dans [1.31]. Toutefois, le torseur cinématique V c est exprimé dans le repère de la caméra. Il doit être transformé vers le repère de base avant d être utilisé dans la boucle de commande : CHEST V c CHEST = I CHEST 3 t c R x c 0 3 CHEST V c (1. 5) 0 3 I 3 0 3 R c I.4) Conclusion : Ce chapitre nous a permis de spécifier les architectures des asservissements visuels et leurs lois de commande associées que nous allons utiliser pour la tâche de suivi. Les contraintes purement cinématiques des tâches de la robotique de service nous ont permis d utiliser des lois de commande cinématiques robustes qui simplifient les boucles de commande. Les chapitres qui suivront, s intéresseront dans un premier temps à la détermination des paramètres de pose D et 3D intervenant dans les lois de commande en utilisant la vision artificielle. Ensuite, nous détaillerons le générateur de trajectoire pour convertir ces lois de commande cinématiques en consignes angulaires qui seront réalisées par le contrôleur interne du robot. 1

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Chapitre II Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF II.1) Introduction : Les travaux effectués sur les asservissements visuels utilisent généralement des marqueurs lumineux pour la reconnaissance et l estimation de la pose d objets qui servira comme mesure pour la commande. Cette approche présente l avantage d une récupération rapide des coordonnées des marqueurs sur des images binarisées permettant de réaliser des applications tournant à la cadence vidéo. Cependant, une telle mesure échouera forcément dans des environnements complexes en présence d occultations, de variation de lumière et des multiples transformations subies par les objets dans plusieurs degrés de libertés possibles. Dans le cadre de cette étude, on se propose d utiliser une nouvelle manière de créer ces marqueurs qui représenteront des primitives visuelles d intérêt extraites des objets. De plus, une description locale de l image au voisinage de ces primitives s avère intéressante pour le processus de reconnaissance d objets inconnus dans des environnements contraints inconnus ou mal connus. Pour cela, on optera pour les descripteurs locaux SURF (Speeded Up Robust Features) [.1] une version visant à améliorer la rapidité des descripteurs SIFT (Scale Invariant Feature Transform) [.] sans toutefois en sacrifier de leurs performances. La reconnaissance d objets nécessite 3 étapes : une Détection, une Description et une Mise en Correspondance. Le but de ce chapitre est d évoquer pour chacune des étapes quelques méthodes suscitées et de détailler par la suite celle retenue. Une fois les objets reconnus, la seconde partie s intéressera à la récupération des mesures nécessaires dans les lois de commande à travers la reconstruction monoculaire de pose D et 3D des objets. II.) Reconnaissance d objets : II..1) Détection : II..1.1) Etat de l art : Cette partie traite la problématique suivante : Quels sont les endroits de l image contenant le plus d informations? On distingue essentiellement trois types de régions : les zones homogènes, les contours et les points d intérêt qui feront l objet de notre étude. En effet, ce choix est dû à une meilleure fiabilité par rapport aux contours (plus de contraintes sur la fonction d intensité), une présence dans une grande majorité d images et surtout une robustesse aux occultations (occulté complètement ou visible). 13

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Plusieurs approches ont été développées afin d extraire les coins dans une image, ceux-ci peuvent être défini comme des points avec deux directions dominantes et différentes des contours au voisinage du point considéré. On cite le détecteur de Moravec [.3], le détecteur de Harris et Stephens [.4], le détecteur de Shi et Tomasi ou détecteur Kanade-Tomasi [.5], le détecteur de S.M. Smith et J.M Brady ou encore détecteur SUSAN [.6]. Cependant, on voit bien sur l exemple de la Figure.1, que les coins entre les deux vues ne se correspondent pas, on risque alors d apparier les à tort deux coins. David G. Lowe [.] propose alors une seconde alternative : la détection des centres des blobs. Figure.1 : Exemple de Coins Les blobs sont les points et/ou les régions de l image plus brillants ou plus sombres que leur entourage. Les méthodes permettant de détecter les blobs reposent toutes sur une définition mathématique qui offre ensuite un opérateur à maximiser et/ou minimiser pour obtenir les positions des blobs. Il existe grossièrement deux méthodes de détection de blobs : - Les détecteurs basés sur des expressions de dérivées : Ce type de détecteurs repose sur le fait que les centres des blobs correspondent aux extrema du Laplacien de l image filtrée. L opérateur de détection employé est le LoG (Laplacian of Gaussian) qui fût développé par Lindeberg [.7] pour une détection automatique des blobs de différentes tailles dans les images. Pour cela, l auteur utilise un filtre Gaussien sur l image suivi d un souséchantillonnage d ordre pour former une représentation multi-échelle de l image appelée : pyramide échelle-espace (Annexe B). L analyse multi-échelle a ensuite motivé Mikolajczyk et Schmid [.8] à étendre le détecteur de Harris pour le rendre invariant au changement d échelle donnant ainsi le détecteur hybride Harris-Laplace. Cet opérateur a été repris par David G. Lowe [.] pour le détecteur SIFT qui approxime dans [.9] le LoG par l opérateur DoG (Difference of Gaussian) dans le but d améliorer la rapidité en utilisant l approximation de l équation de la chaleur ou le LoG est estimé par la dérivée selon l axe des échelles. - Les détecteurs basés sur la recherche des extrema locaux de la fonction d intensité : Ce type de détecteurs revient plus sur la définition d un blob en termes d intensité lumineuse, les centres des blobs correspondent donc aux extrema locaux de la fonction intensité. 14

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II L opérateur de détection utilisé est le déterminant de la matrice Hessienne (DoH) qui a été proposé par P.R. Beaudet [.10]. Une étude comparative faite dans [.1] affirme que ce dernier est plus stable que son homologue LoG. II..1.) Détecteur SURF : Le détecteur SURF opère en deux étapes : II...1) Détection des extrema du déterminant de la matrice Hessienne : Le détecteur SURF est basé sur le déterminant de la matrice Hessienne H x, y de la fonction intensité I(x, y) : H x, y = I xx (x, y) I xy (x, y) (. 1) I xy (x, y) I yy (x, y) La valeur du déterminant de la matrice Hessienne permet non seulement de détecter les extrema locaux de la fonction intensité par une simple recherche de signe positif du déterminant, mais aussi de classifier les minima (zones brillantes) et maxima (zones sombres) locaux de cette fonction en analysant les signes des deux valeurs propres de cette matrice aux extrema détectés. Comme souvent en vision par ordinateur, les dérivées des images sont calculées par la convolution de l image avec un noyau spécifique. Pour calculer les dérivées partielles secondes de l image, le détecteur SURF utilise la seconde dérivée d un noyau Gaussien, l image filtrée s exprime alors par : L XX x, y ; σ = I x, y G XX x, y; σ (. ) Ce choix permet d une part une analyse spatiale multi-échelle, ce qui procure une invariance du détecteur au changement d échelle, et d autre part une invariance à la rotation en exploitant la propriété essentielle d isotropie de la fonction Gaussienne pour le produit de convolution [.1]. La version multi-échelle de la matrice Hessienne est alors : H x, y ; σ = L xx (x, y; σ) L xy (x, y; σ) L xy (x, y; σ) L yy (x, y; σ) (. 3) Pour le calcul de la matrice Hessienne, H. Bay [.1] propose d approximer l opérateur LoG en utilisant une représentation par boîtes de filtres des dérivées partielles secondes des filtres Gaussiens discrétisés utilisés notés : D xx, D yy, D xy respectivement dans les directions x, y, xy (Figure.). Ceci permet un réel gain d espace de stockage et donc de temps de calcul, puisque pour un filtre de taille 9 9 on a besoin d un tableau de taille 81 alors que 15

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II seulement 8 poids sont associés aux différentes régions des boîtes de filtres d approximations dans les trois directions différentielles (Figure.). La rapidité de calcul augmente considérablement en associant cette approximation à la représentation de l intégrale de l image [.11,.1] pour le calcul du produit de convolution. La propriété d indépendance du calcul de cette représentation par rapport à la taille et le placement des régions rectangulaires de l image (Annexe B) permet une invariance du temps de calcul du produit de convolution de l image avec des filtres de différentes tailles lors de la construction de la pyramide échelle-espace (Annexe B). La comparaison entre les performances des deux filtres dans [.1] montre bien que la perte en précision obtenue avec l approximation par boîtes de filtres est vraiment négligeable par rapport à la rapidité obtenue. Les poids associés aux différentes régions des filtres d approximation sont déterminés de manière à les équilibrer avec leurs poids respectifs dans le déterminant de la matrice Hessienne maintenant un rapport constant des distances mesurées par la norme de Frobenius entre les deux filtres [.1]. Ce qui permet d approcher le déterminant de la matrice Hessienne approximé par (.4) qui sera ensuite normalisé en fonction de la taille du filtre appliqué. det H approx (x, y; σ) = D xx x, y; σ D yy x, y; σ (0.9 D xy x, y; σ ) (. 4) 1 1 1-1 1 - - 1 Figure. : Correspondances entre les dérivées partielles secondes des filtres Gaussiens discrétisés (en haut) et les boîtes de filtres d approximation (en bas) pour le calcul de l opérateur LoG [.1] II...) Localisation des points d intérêt : La construction de la pyramide échelle-espace et l évaluation du déterminant de la matrice Hessienne DoH en tout point (x, y; σ) permet de sélectionner un ensemble de points d intérêt candidats. Trois étapes permettent d écarter les points instables (sensibles au bruit ou mal 16

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II détectés) et localiser les points d intérêt les plus stables de manière plus précise et robuste à la rotation dans l image à travers toutes les échelles [.1,.] : - D abord, les valeurs du déterminant DoH au voisinage des extrema X opt = (x, y; σ) subissent un seuillage supérieur. Cependant, l augmentation (resp. diminution) du seuil provoque une diminution (resp. augmentation) du nombre de points détectés, d où la nécessité d un choix judicieux du seuil selon notre application. - Ensuite, une étape de suppression non-maximale (Figure.3) est effectuée. Chaque pixel dont la réponse est supérieure au seuil est comparé à ses 8 voisins dans l échelle où il a été détecté ainsi qu à ses 9 + 9 = 18 voisins aux échelles qui lui sont immédiatement inférieures et supérieures. Au final, si le pixel est plus grand que les 8 voisins qu ils l entourent alors il sera sélectionné comme un maxima local. Figure.3 : Etape de Suppression non-maximale [.1,.] - Enfin, la précision de détection est améliorée par une interpolation polynomiale quadratique 3D des extrema locaux du DoH dans l espace image et échelle selon la méthode proposée dans [.]. Le développement de Taylor à l ordre du déterminant de la fonction Hessienne H(X) centré autour des points d intérêt candidats est exprimé par : H X = H + HT X X + 1 H T XT X (. 5) X Comme l extremum local doit maximiser cette fonction, la solution du problème d interpolation est donc obtenue en annulant la première dérivée de la fonction, ce qui donne l incrément de position et d échelle par rapport au point d intérêt candidat considéré : X opt = H 1 H X X. 6 17

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Où : H X = L x (x, y; σ) L y (x, y; σ) L σ (x, y; σ) (. 7) H X = L xx x, y; σ L yx x, y; σ L σx x, y; σ L xy x, y; σ L yy x, y; σ L σy x, y; σ L xσ x, y; σ L yσ x, y; σ L σσ x, y; σ (. 8) A chaque fois que le pas X opt est supérieur à 0.5 dans au moins une des trois directions x, y, σ, et tant que le nombre d interpolations fixé comme un second critère d arrêt n a pas été atteint, la localisation du point candidat est ajustée et le processus d interpolation est réitéré au voisinage du nouveau point [.1,.]. A la fin de tout ce processus, les points candidats qui divergent seront exclus parmi l ensemble des points d intérêt les plus stables détectés. II..1.3) Résultats du détecteur SURF : Le détecteur SURF a été testé sur des images naturelles de dimension 640 480. La Figure.4 montre les résultats de détection des points d intérêt situés aux centres des cercles dont les rayons représentent leurs échelles respectives. En fixant le seuil du DoH à la valeur 500, le nombre de points d intérêt détectés est de 1509 sur l objet fortement texturé (Figure.4 (a)), tandis que seulement 09 points sont détectés sur la scène qui contient moins de textures (Figure.4 (b)). (a) Objet (b) Scène Figure.4 : Résultats du détecteur SURF 18

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II II..) Description : II...1) Etat de l art : Cette étape s intéressera à la question suivante : Comment décrire le contenu visuel? Il s agira donc de trouver un moyen pour remplacer les images par un ensemble de signatures ou descripteurs qui représentent les informations visuelles. Les différentes méthodes existantes sont classées en trois grandes approches : l approche globale qui décrit l image dans son intégralité, l approche par régions qui caractérise les régions segmentées de l image et l approche locale qui décrit les régions d intérêt des images associées aux points d intérêts détectés et que nous allons donc retenir. Les travaux effectués sur cette dernière approche dite aussi représentation par sacs de mots visuels visent à représenter les images par leurs contenus les plus pertinents. La mise en œuvre de ces descripteurs locaux pour la reconnaissance doit assurer les propriétés essentielles d invariance aux différentes transformations géométriques, et de robustesse face à des situations aussi complexes que les occlusions, les troncatures, les changements de textures, les changements de couleurs, les variations de lumière etc. Les principales techniques développées sont basées sur : les dérivées Gaussiennes [.13], les invariants algébriques obtenus à partir des moments calculés sur l image [.14,.15,.16], les invariants par transformation intégrale obtenus à partir de transformations de l image [.17,.18,.19], les histogrammes de gradients orientés (HOG) [.1,.0,.1,.,.] de contrastes, de couleurs etc. La comparaison entre ces différentes techniques dans [.3] montre que l utilisation des HOG donne de bons résultats. Cette classe de descripteurs qui a été introduite par David G. Lowe [.] pour le descripteur SIFT, a connu un très grand succès en offrant des robustesses à l échelle et la rotation, au changement de points de vue, aux conditions d éclairage et aux erreurs de détection. L auteur construit des HOG dans les régions rectangulaires qui entourent chaque point détecté, ces régions sont divisées en 4 4 sous-régions d intérêt dont chacune est associé un histogramme discret de 8 orientations principales associant au final un vecteur (descripteur) de taille 18 à chaque point d intérêt détecté. Ce schéma a été repris par Ku et Sukhankar [.0] qui proposèrent d appliquer la transformation mathématique PCA sur le Gradient de l image pour donner le descripteur combiné PCA-SIFT dans le but d accélérer la mise en correspondance avec un descripteur de taille plus réduite (36 composantes). Alors que Mikolajczyk et Schmid [.1] prouvèrent que le descripteur PCA-SIFT offre moins de distinction que le SIFT et que le temps nécessaire à l extraction des composantes du descripteur ralenti la mise en correspondance. Les auteurs présentèrent aussi une seconde version du SIFT appelée GLOH (Gradient Location Orientation Histogram) qui caractérise quant à elle des régions d intérêts circulaires. Le 19

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II descripteur GLOH présente l avantage d être plus distinctif que le SIFT avec un vecteur de même taille que le SIFT, mais en revanche il requiert plus de temps d extraction. II...) Descripteur SURF : Les performances du descripteur SIFT ont conduit H. Bay [.1] à élaborer un descripteur SURF qui maintient des propriétés similaires en étant plus robuste et plus rapide. De ce fait, le descripteur SURF construit des vecteurs de taille 64 qui décrivent la distribution des pixels dans les régions d intérêts orientées de tailles proportionnelles aux échelles des points détectés, ce qui permet un robustesse à l échelle. Pour accélérer les calculs, le descripteur SURF utilise la représentation de l intégrale des images associée aux filtres d ondelettes de Haar (Figure.5) connus pour leur simplicité dans le calcul de gradients. 1-1 - 1 1 (a) Selon la direction x (b) Selon la direction y Figure.5 : Ondelettes de Haar utilisées par le descripteur SURF La procédure d extraction est décrite par les deux étapes suivantes selon [.1] : II...1) Calcul de l orientation principale : L objectif de cette étape est de doter le descripteur d une robustesse la rotation de l image. L idée proposée par H. Bay [.1] est de déterminer pour chaque région d intérêt une orientation principale pour en tenir compte lors du calcul des composantes du descripteur. Le descripteur SURF effectue la recherche de l orientation la plus fréquente des pixels appartenant à chaque zone d intérêt choisie de forme circulaire dont le rayon est égal à 6 fois l échelle associée au point central détecté. Le Gradient de l image peut être définit en tout point par les deux paramètres magnitude et orientation donnés par : m x, y = I x x, y + I y x, y θ x, y = tan 1 I y x, y I x x, y (. 9) 0

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Cependant, pour le calcul de l orientation, le descripteur SURF remplace l évaluation des dérivées de l image par différences successives des intensités en utilisant la décomposition en ondelettes de Haar de taille 4 σ sur les séries de pixels échantillonnés à une cadence σ dans chaque direction x et y des régions d intérêt. Aux échelles élevées, la largeur de l ondelette de Haar devient importante, le filtrage est encore accéléré en utilisant la représentation de l intégrale de l image, où le calcul du filtre se réduit à 6 opération indépendamment de l échelle de détection. En vue de donner plus d importance aux pixels centraux des différentes régions, les réponses du filtre de Haar sont pondérées par une Gaussienne circulaire centrée sur chaque région d intérêt d écart type.5 σ. Pour chaque zone d intérêt, les pixels sont positionnés à l intérieur d un cercle en étant cette fois-ci repérés par les réponses pondérées du filtre de Haar dans les directions x et y (Figure.6). Ce cercle est partagé en portions parcourues à l aide d une fenêtre glissante couvrant un angle de 60 o. Dans chaque portion du cercle, l orientation dominante est estimée par les deux composantes d un vecteur déterminées en sommant les réponses pondérées en x et y des pixels qu elle renferme. L orientation principale est alors obtenue par la direction du vecteur inscrivant le plus grand score parmi ceux déterminés à partir des 6 portions du cercle et sera donc associée au point d intérêt traité. Figure.6 : Détermination de l orientation principale [.1] II...) Calcul des composantes du descripteur : Le descripteur SURF construit d abord une fenêtre rectangulaire de taille 0 σ centrée sur chaque point d intérêt. Cette fenêtre est ensuite orientée selon la direction associée au point d intérêt calculée dans l étape précédente. L extraction des composantes du descripteur s effectuera le long de cette direction. 1

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II La fenêtre est divisée en 4 4 sous-régions contenant chacune 5 5 pixels pris régulièrement à une période σ. Le filtre de Haar est réappliqué à cette nouvelle série de pixels et sera pondéré par une Gaussienne cette fois-ci d écart type 3.3 σ pour augmenter la robustesse aux transformations géométriques et aux erreurs de détection [.1]. Les réponses pondérées du filtre selon les axes x et y notées : d x et d y permettent d associer à chaque sous-région un vecteur formé par les 4 composantes suivantes : v sous région = Σd x Σd y Σ d x Σ d y T (. 10) En concaténant les vecteurs issus des 16 sous-régions d intérêt, on obtient le descripteur SURF de taille 4 4 4 = 64 associé à la région intérêt. Une seconde alternative pour le calcul du descripteur SURF proposée dans [.1] consiste à doubler la taille du descripteur en calculant les termes Σd x et Σ d x pour d y < 0 et d y 0 ainsi que Σd y et Σ d y pour d x < 0 et d x 0 de manière séparée. On obtient ainsi le descripteur SURF-18 qui améliore la capacité de distinction mais qui ralenti la mise en correspondance. d x d y Figure.7 : Extraction des composantes du descripteur [.1] Le descripteur SURF obtenu est rapide et robuste à la rotation de l image, au changement d échelle et aux variations de lumière (Figure.8). Cette même figure montre bien les modèles de base des effets de variations de la lumière sur les composantes du descripteur dans les sous-régions d intérêt. En effet, Dans le cas d une sous-région homogène, les 4 composantes du descripteur ont des valeurs relativement faibles. Lors de l apparition de fréquences dans la direction x, la composante Σ d x est élevée alors que les autres composantes restent faibles. Alors que si l intensité lumineuse augmente progressivement, les deux composantes Σd x et Σ d x augmentent.

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Figure.8 : Correspondances entre les modèles de bases de variation de lumière (en haut) avec les composantes du descripteur SURF (en bas) [.1] II...3) Résultats du descripteur SURF : La Figure.9 montre bien les régions d intérêt rectangulaires avant ((a) et (b)) et après ((c) et (d)) calcul de l orientation principale de tailles proportionnelles aux échelles de détection : (a) Objet avant calcul de l orientation (b) Scène avant calcul de l orientation (a) Objet après calcul de l orientation (b) Scène après calcul de l orientation Figure.9 : Résultats du descripteur SURF-18 3

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Les résultats de détection et description sont résumés dans le tableau suivant : Nombre de points détectés Objet Scène 1509 03 Temps 185.19 ms 97.05 ms II..3) Mise en correspondance : II..3.1) Etat de l art : Tableau.1 : Résultats de Détection-Description Une fois les images codées par leur contenu, nous nous intéresserons ici à la mesure ou l estimation de la ressemblance entre les images. Il s agira d effectuer une mesure de similarité ou plutôt une estimation de la similarité sensorielle dans le but de pouvoir reconnaitre à partir d une image provenant d une scène perçue de l environnement, des objets stockés dans une base de données d images. En général, la mesure de similarité doit vérifier les propriétés de perception, de scalabilité (invariance à l augmentation de la taille de la base d images) et de robustesse aux variations de conditions d acquisition des images et de transformations de l image (échelle, homothétie, translation et rotation etc). Les méthodes de reconnaissance sont répertoriées en deux grandes catégories : - La reconnaissance par corrélation, qui effectue une comparaison globale en considérant directement les motifs recherchés dans l image au moyen d une mesure de similarité entre les deux motifs. Cette approche devient rapidement difficile à gérer lorsque le motif subit des déformations dans toutes les déformations possibles et nécessite donc des simplifications du motif et/ou de l environnement. De plus, le calcul de la corrélation sur l ensemble du motif rend la méthode très sensible aux occultations et aux variations de lumière sur le motif. - La reconnaissance par primitives, qui effectue une comparaison locale entre les signatures visuelles (en général de type points) extraites des images. La reconnaissance consiste donc à apparier des descripteurs extraits d une image avec des descripteurs extraits d objets contenus dans une base de données d images. Un objet est alors considéré présent dans une image lorsqu un nombre suffisant d appariements entre l image et l objet est fait. Dans la communauté de la vision par ordinateur, ce problème de mise en correspondance des descripteurs est souvent résolu par la recherche du plus proche voisin (PPV) ou encore 4

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II parfois par la recherche des K plus proches voisins (k-ppv) et effectuer par la suite un vote majoritaire. Une première solution consisterait donc à comparer naïvement chaque descripteur de l image à tous ceux de la base de données [.9]. Cependant, une telle méthode s avère parfois trop coûteuse en temps calcul lors de la mesure de distance pour des descripteurs de dimension élevée, et surtout pendant la recherche du plus proche voisin pour des bases de données contenant un grand nombre d objets. Pour palier à ces inconvénients majeurs, les travaux sur la reconnaissance d objets utilisent des structures de données particulières issues de l indexation d images pou classifier les descripteurs de la base de données en vue d accélérer la recherche du plus proche voisin. Les structures les plus utilisées sont de topologie arborescente, on cite notamment : les tables de hachage anciennement utilisées dans [.4,.5,.6,.7,.8,.9,.30], la structure k-d tree (k dimensional tree) utilisée dans [.31,.3] et la structure k-moyen (k-mean) utilisée par Sivic et Zisserman [.33] pour l indexation de vidéos en utilisant les descripteurs SIFT. II..3.) Appariement des descripteurs locaux : II..3..1) Mesure de similarité : Le choix d une mesure de similarité n est pas souvent facile en vue des contraintes de temps de calcul et de la taille de la base de données à parcourir. Les méthodes de comparaison les plus utilisées sont basées sur le calcul de corrélation et de distance entre deux descripteurs X et Y (Annexe B). II..3..) Elimination des faux appariements : Les descripteurs locaux calculés ne sont pas totalement discriminants. De ce fait, la prise en compte du meilleur score de similarité donne un ensemble de couples de régions les plus similaires mais pas nécessairement cohérents, d où la nécessité d utiliser des méthodes qui permettent d éliminer les faux appariements. Parmi les approches existantes : - La vérification croisée : Cette méthode consiste à apparier les descripteurs issus de deux images en effectuant une mise en correspondance dans les deux sens (Figure.10) par la méthode du plus proche voisin. L appariement d un couple de descripteurs est considéré comme valide si la paire a été sélectionnée mutuellement. Il est à noter que l utilisation de la vérification croisée peut fournir des ambigüités dans le cas où les objets recherchés sont présents plusieurs dans la même scène, certains descripteurs peuvent alors être rejetés à tort. 5

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Figure.10 : Mise en correspondance par vérification croisée - Plus proche voisin avec rapport des distances : La méthode PPVRD très utilisée donne souvent de bons résultats en pratique, elle a été introduite par David G. Lowe [.9] et consiste à tester naïvement chaque descripteur à tous ceux de la base de données et comparer le rapport R entre le premier et le second plus proche voisin à un certain seuil de détection r. Si ce rapport est inférieur au seuil de détection, alors l appariement avec le plus proche voisin est considéré comme valide. Cette méthode dite «critère NN» évalue simplement la non-ambigüité d un appariement, la restriction du critère au plus proche voisin permet d éviter les faux appariements. Un avantage intéressant de la méthode par rapport à la vérification croisée est la robustesse face aux scènes contenant des objets redondants, puisque l appariement se fait dans un seul sens. La qualité de cette méthode dépend essentiellement du seuil de détection r choisi par l utilisateur selon l expérimentation et de la mesure de distance entre les descripteurs. II..3..3) Cas du descripteur SURF : Le signe du Laplacien au voisinage des points d intérêts calculé par la trace de la matrice Hessienne lors de l étape de détection permet de distinguer les zones les plus brillantes des zones les plus sombres (Figure.11). Figure.11 : Distinction entre les zones brillantes et sombres 6

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Une nouvelle approche de mise en correspondance dans [.1] tient en compte de cette information qui permet d accélérer le processus d appariement en ne comparant que les descripteurs ayant le même type de contraste (le même signe du Laplacien). II..3.3) Résultats de mise en correspondance : La mise en correspondance est effectuée en utilisant la méthode PPVRD pour les descripteurs SURF-18. Le choix de la distance Euclidienne comme métrique permet d éviter le parcours de la totalité des composantes des descripteurs (décomposés en sous-région) par le calcul de distance cumulative tant que celle-ci reste inférieure au second plus proche voisin. On enregistre les résultats suivants en fonction du seuil de détection r : (a) r = 0.6 (b) r = 0.7 (c) r = 0.8 Figure.1 : Résultats de mise en correspondance Pour un seuil de détection r = 0.6, le critère NN ne fourni aucune (ou presque) fausse détection pour seulement 54 points appariés. Lorsqu on augmente le seuil, le nombre de points détectés augmente (10 pour r = 0.7 et 166 pour r = 0.8) au prix d un accroissement du nombre de fausses détections. Il est a noté que grâce à la prise en compte du type de contraste (signe du Laplacien), la durée d appariement est très satisfaisante en étant moyennement autour de 35 ms pour la reconnaissance d un seul objet. 7

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Les résultats de la mise en correspondance sont résumés dans le tableau suivant : Seuil de détection r = 0.6 r = 0.7 r = 0.8 Nombre de points détectés 54 10 166 Temps 36.61 ms 37.19 ms 38.13 ms II.3) Localisation d objets : II.3.1) Objectifs : Tableau. : Résultats de mise en correspondance Dans cette partie, nous allons exploiter les points physiques associés aux descripteurs appariés issus du processus de reconnaissance pour l estimation du mouvement d objets inconnus en utilisant la géométrie Epipolaire ou Projective (Figure.13). Ceci nous permettra ensuite, la reconstruction monoculaire des paramètres de pose D (au niveau de l image) et 3D à intégrer dans les lois de commande des asservissements visuels D et 3D pour calculer le déplacement optimal de la caméra nécessaire à l accomplissement de la tâche de suivi. P u 1 I 1 I v 1 v o u o Plan épipolaire u m 1 m u o y 1 x 1 x y Z 1 Z v l 1 l v o R 1 e 1 e R X Y 1 X 1 Figure.13 : Géométrie Epipolaire Y 8

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II II.3.) Estimation du mouvement et reconstruction de pose d objets : On distinguera essentiellement deux cas selon la forme des objets à suivre (structure planaire et non-planaire). Cependant, afin de simplifier le processus et pouvoir effectuer des applications tournant à la cadence vidéo, on ne considèrera que les objets planaire. Les détails concernant les résultats de la géométrie Epipolaire ou Projective pour le cas non-planaire sont présentés en Annexe B. II.3..1) Transformation D : La transformation des points 3D exprimés dans le repère désiré de la caméra R 1 vers le repère actuel de la caméra est donnée par la matrice de rotation R 1 et le vecteur de translation t 1 : P = R 1 P 1 + t 1 (. 11) Ou encore lorsque l objet à suivre est planaire (Figure.14) en fonction de la normale n 1 du plan de référence et de la distance signée d 1 = n 1 T P 1 du plan par rapport à l origine du repère de référence exprimés dans le repère de référence R 1 : P = R 1 T n 1 + t 1 P d 1 (. 1) 1 Le passage en coordonnées homogènes métriques D des points 3D permet d écrire : T Z n 1 p Z = R 1 + t 1 p 1 d 1 (. 13) 1 Ce qui se met sous la forme suivante : α p = H 1 p 1 (. 14) En coordonnées pixelliques, on obtient : α m = A H 1 A 1 m 1 = G 1 m 1 (. 15) Les relations (. 14) et (. 15) montrent bien que la transformation entre deux images prises de deux points de vues différents d une même surface plane est représentée par une transformation projective linéaire ou Homographie à travers la matrice G 1 appelée : matrice d Homographie (dans l espace du capteur) et sa version calibrée H 1 appelée : matrice d Homographie Euclidienne (calculées à facteur d échelle prés α). 9

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II P o Z c P 1 R c X c Y c d n P 3 P Figure.14 : Paramètres géométriques de la transformation D d une structure planaire II.3..) Contrainte épipolaire : En utilisant le vecteur e 3 = [0 0 1] T de la base canonique dans R 3, on a l identité : e 3 T p = 1 (. 16) En multipliant les deux membres de l équation par p et en exploitant la relation d homographie (.14), on obtient : T α p e 3 H 1 p 1 = α H 1 p 1 (. 17) La factorisation de (.17) donne l équation vectorielle : T I 3 p e 3 H 1 p 1 = 0 (. 18) L équation exprimée dans l espace du capteur donne : I 3 A 1 T m e 3 A 1 G 1 m 1 = 0 (. 19) L équation linéaire homogène (.19) est l équation de la matrice fondamentale qui définit la contrainte épipolaire dans le cas planaire. La résolution de cette équation (en utilisant au minimum 4 points) permet d obtenir la matrice d Homographie ou matrice Fondamentale dans le cas planaire. 30

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II II.3..3) Estimation de l Homographie : Pour estimer la matrice d Homographie, on utilise la relation (.15) réécrite sous la forme générale suivante en fonction des composantes de la matrice d Homographie G 1 : α u α v α = G 11 G 1 G 13 G 1 G G 1 G 31 G 3 G 33 u v 1 (. 0) Sans perte de généralité, on impose une contrainte unitaire sur l une des composantes à estimer. On fixe alors : G 33 = 1 pour aboutir après réarrangement au système d équations normalisé sous la forme matricielle : u 1 v 1 0 0 1 0 0 0 0 u 1 v 1 1 u u 1 u v 1 v u 1 v v 1 g = u v (. 1) Qui est de la forme : A g = b (. ) Où : g = [ G 11 G 1 G 13 G 1 G G 3 G 31 G 3 ] T Les équations (.1) sont linéaires en fonction des paramètres à estimer, ce qui permet de résoudre le système par un algorithme linéaire. Chaque point de correspondance fourni équations, on doit donc utiliser au minimum 4 points. La solution en utilisant la méthode des moindres carrés pour N points de calibrage est : g = A + b (. 3) Où : A = A 1 A A N T b = b 1 b b N T v 1i A i = u 1i 0 0 1 0 0 0 0 u 1i 1 v 1i u i u 1i u i v 1i v i u 1i v i v b i = u i 1i v i En pratique, on utilisera l algorithme d estimation robuste RANSAC (RANdon SAmple Consensus) [.35] pour éliminer l effet des erreurs de détection et de mise en correspondance sur l estimation. L algorithme RANSAC consiste à tirer aléatoirement p ensembles composés de 4 points de correspondances puis en estimer la matrice d Homographie associée par les moindres carrés. Le sous-ensemble qui fourni la meilleure erreur d estimation (.4) est utilisé pour initialiser 31

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II la matrice d Homographie qui sera finalement calculée par l algorithme itératif de minimisation de Levenberg-Marquardt (LM) après élimination des points aberrants par rapport à un seuil à spécifier. N E = u i G 11 u 1i + G 1 v 1i + G 13 G 31 u 1i + G 3 v 1i + G 33 i=1 N + v i G 1 u 1i + G y 1i + G 3 G 31 u 1i + G 3 v 1i + G 33 i=1 (. 4) Lorsque les paramètres intrinsèques de la caméra sont connus (matrice A connue), l Homographie Euclidienne peut être estimée par : H 1 = A 1 G 1 A (. 5) II.3..4) Estimation des paramètres de pose pour le déplacement de la caméra : II.3..4.1) Pose D : Lorsque la région de l image dans laquelle est calculée l Homographie est petite, la relation d Homographie (.14) peut être modélisée par la transformation affine (.6) appelée : Homographie affine (obtenue en fixant h 31 = h 3 = 0 et h 33 = 1) composée d une rotation d angle θ, d une translation de vecteur [t x t y ] T et d un changement d échelle de facteur s. x y = s cos θ sin θ sin θ cos θ x y + t x t y (. 6) Une fois la matrice d Homographie estimée, on peut aisément identifier les paramètres de rotation θ, de translation (t x, t y ) et d échelle s qui définissent la pose D des objets. Le calcul du déplacement optimal de la caméra lors d une approche d asservissement D, nécessite la connaissance des coordonnées actuelles des points de références attachés à l objet au niveau de l image. Connaissant ces coordonnées (x 1, y 1 ) dans l image de référence, ceuxci peuvent être estimés à l aide de l Homographie par : x = H 11 x 1 + H 1 y 1 + H 13 H 31 x 1 + H 3 y 1 + H 33 y = H 1 x 1 + H y 1 + H 3 H 31 y 1 + H 3 y 1 + H 33 (. 7) II.3..4.) Pose 3D : La profondeur des points de références attachés à l objet dans le repère de la caméra requise dans le cas d un asservissement D est calculée selon (.1) connaissant leurs coordonnées 3D dans le repère de référence : 3

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II Z = H 31 H 3 H 33 P 1 (. 8) Dans le cas d un asservissement 3D, les paramètres extrinsèques (t, R) définissant la pose 3D des objets et de la caméra utilisés dans le calcul du déplacement optimal de la caméra peuvent être reconstruits en décomposant la matrice d Homographie : H 1 = R 1 T n 1 + t 1 d 1 (. 9) La décomposition de l Homographie en utilisant une des méthodes numériques généralement basées sur la décomposition en valeurs singulières (SVD) de la matrice d Homographie donne 8 solutions mathématiques [.36,.37,.38]. Deux contraintes physiques successives (Annexe B) permettent de réduire à chaque fois le nombre de solutions résiduelles de moitié pour finalement passer de 8 à solutions. Les solutions notées : (S 1, S ) peuvent être obtenues pour une matrice réelle 3 3 contenant 8 paramètres purs (h 33 = 1) et de décomposition SVD (.30) selon [.36] par : H 1 = U W V T (. 30) Avec : W = λ 1 0 0 0 λ 0 (λ 1 > λ > λ 3 ) 0 0 λ 3 t 1 R 1 = U α 0 β 0 1 0 s β 0 s α V T = w 1 β U 1 + λ 3 s α U λ 3 a 1 n = b = w δ V 1 + V 3 c (. 31) Où : δ = ± λ 1 λ λ λ 3 1 α = λ 1 + s λ 3 δ λ (1 + δ ) β = ± (1 α ) s = det U det(v) sgn β = sgn δ w = 1 (Paramètre d échelle fixé) Afin de résoudre cette dernière ambigüité, Faugeras et Lustman proposèrent dans [.37] trois solutions utilisant des informations additionnelles : la visualisation d un plan de référence, l utilisation d une image de référence et l utilisation de la relation entre les points 33

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II caractéristiques du plan. Ces informations additionnelles fournissent paires de solutions (S 1, S ) et (S 1, S ) relatives à la décomposition des homographies induites respectivement par l objet et le plan ou l image de référence. En général, il n y a qu une seule paire compatible (S i, S j ) représentant un mouvement commun (t, R) et le problème possède alors une solution unique [.37]. L avantage en asservissement visuel est que ce choix n est effectué qu une seule fois lors de l initialisation car le vecteur normal n 1 reste invariant pendant l asservissement [1.18]. En pratique, la paire de solutions compatibles correspond à la paire de vecteurs normaux qui réalise le minimum de la valeur absolue des 4 produits scalaires calculés entre les 4 vecteurs normaux obtenus. II.3.3) Résultats de localisation : Le déplacement des points d intérêts appariés permet de définir un mouvement d ensemble utilisé pour estimer les coordonnées des points de références attachés à l objet (Figure.15 (a) et (b)) qui serviront de mesure pour la commande. Cette même figure montre que l utilisation des descripteurs locaux permet aussi d estimer le mouvement des objets en présence d occultations (Figure.15 (b)). Dans notre cas, le mouvement d ensemble est spécifié par l Homographie associée : G 1 = 0.0634 0.7437 379.987 0.7381 0.0014 60.3840 0.0001 0.0001 1 G 1 = 0.0646 1.1387 518.177 1.1951 0.068 5.113 0.0001 0 1 (a) Objet non-occulté (b) Objet occulté Figure.15 : Estimation du mouvement des objets 34

Reconnaissance et Localisation d'objets en Utilisant les Descripteurs Locaux SURF Chapitre II La Figure.16 (a) et (b) représente la reconstruction de la pose de l objet inconnu en utilisant images de l objet définissant sa transformation entre l image de référence et celle de la caméra dans sa position actuelle. La profondeur de l objet par rapport à la caméra servira également de mesure pour la commande. (a) Objet non-occulté (b) Objet occulté II.4) Conclusion : Figure.16 : Reconstruction de la pose des objets La méthodologie issue de ce chapitre nous a permis de développer une solution complète en utilisant la vision artificielle pour la reconnaissance d objets inconnus présents dans des scènes complexes et d arriver à récupérer les mesures de pose nécessaires dans les lois de commande des asservissements visuels avec un temps le moins onéreux possible. Les résultats visualisés dans cette partie visuelle ont été obtenus en utilisant la bibliothèque OpenCV (Open source Computer Vision) [.47] développée par la société Intel en langage C/C++ et spécialisée dans le traitement d images en temps réel. 35

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III Chapitre III Modélisation et Commande de HOAP-3 dans l Espace Dual III.1) Introduction : La loi de commande issue du contrôleur visuel de haut niveau fourni une situation optimale à atteindre par la caméra dans l espace pour accomplir la tâche de suivi. La conception d une stratégie de commande efficace du système de positionnement de la tête du robot humanoïde HOAP-3 est alors nécessaire pour amener la caméra vers la situation de consigne. Nous utiliseront dans cette étude, une manière compacte de représenter la situation ou pose des objets et de spécifier des tâches robotiques dans l espace opérationnel en utilisant une entité appelée : le quaternion dual qui définit l espace Dual. Nous verrons par la suite, que cette représentation offre aussi certains avantages de simplicité, de rapidité tout en évitant les singularités de la représentation. Le but du chapitre est d abord de montrer l utilisation des quaternions duaux en robotique ainsi que les avantages qu ils procurent, on abordera ensuite la modélisation Géométrique et Cinématique des robots manipulateurs dans l espace Dual, puis on terminera par intégrer ces modèles pour la mise en œuvre de schémas de commande en position dans cet espace. Les modèles et la commande ont été validés sur la plateforme expérimentale HOAP-3. III.) Utilisation des quaternions duaux en robotique : III..1) Description de la situation des objets dans l espace dual : La description de la situation ou pose d un objet dans l espace opérationnel nécessite la connaissance de sa position et son orientation : - Description de la position : Pour décrire la position, trois systèmes de coordonnées sont couramment utilisés : les coordonnées cartésiennes, cylindriques et sphériques. Les coordonnées cartésiennes sont les plus utilisées pour leur simplicité. - Description de l orientation : Pour décrire l orientation, plusieurs représentations existent [3.1] : la représentation par un ensemble de 3 angles de rotation (Angles de Bryant et d Euler) minimale mais qui présente des problèmes de singularités, la représentation par une matrice de rotation ou cosinus directeurs représentant chaque rotation de manière unique avec 9 composantes qui est donc non minimale, la représentation avec 4 composantes (angle plus vecteur et quaternion [3., 3.3] (Annexe C)) sans les problèmes de singularités [3.4]. Cependant, l utilisation de ces représentations nous oblige à définir deux boucles de commande séparées pour contrôler la position et l orientation. Pour cela, on utilisera les quaternions duaux [3.5] (Annexe C) permettant de représenter de manière compacte la position et l orientation et d éviter les singularités de la rotation de la manière suivante : q = q + ε q = q + ε 1 t q (3. 1) 36

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III Avec le quaternion pure t et unitaire q décrivant respectivement la position et la rotation donnés par : t = (0, t ) q = (cos θ/, n sin θ/ ) (3. ) Les parties duales et non duales q et q peuvent être compactée dans un seul vecteur à 8 composantes pour représenter de manière unique la position et l orientation : q = q 1 q q 3 q 4 q 5 q 6 q 7 q 8 T 3. 3 III..) Transformations entre repères dans l espace dual : La transformation quelconque de translation et/ou de rotation amenant le repère R i au repère R j généralement représentée par une matrice de transformation homogène de dimension 4 4 [3.6], peut être décrite plus simplement par un vecteur à 8 composantes en 1 utilisant un quaternion dual unitaire à l aide du quaternion pure de translation t suivi d une 1 rotation q : 1 q 1 = q + ε 1 1 t 1 q (3. 4) 1 q 1 t 1 = (0, t ) = (cos θ/, n sin θ/ ) (3. 5) On déduit les transformations de translation et de rotation pures : q trans t = 1 + ε 1 t q rot n, θ = q rot = (cos θ/, n sin θ/ ) (3. 6) Le passage d une représentation matricielle 4 4 vers une représentation vectorielle à 8 composantes permet de réduire l espace de stockage et le nombre de calculs, ce qui augmente donc la rapidité. III.3) Modélisation des robots dans l espace Dual : III.3.1) Modèle Géométrique Direct dans l espace Dual : Le Modèle Géométrique Direct (MGD) d un robot dans l espace dual [3.7] détermine les coordonnées opérationnelles correspondant à la pose de l effecteur dans l espace Dual en fonction des coordonnées articulaires correspondant aux angles des articulations : q = f θ (3. 7) Afin de déterminer le MGD du système de positionnement de caméra du robot humanoïde HOAP-3, on utilise la convention de Denavit-Hartenberg (D-H) modifiée décrite dans [3.8] 37

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III utilisée pour modéliser les robots polyarticulés à structures ouvertes simples et complexes de manières unique avec un minimum de paramètres. La représentation associe un repère à chaque articulation, où la transformation entre deux repères successifs R n 1 et R n est obtenue par le produit des quaternions duaux relatifs à chacune des 4 transformations pures : n 1 q n = q rot X n 1, α n q trans X n 1, α n q rot Z n, α n q trans Z n, α n (3. 8) D où la transformation finale pour un robot à n articulations : o q n o = q 1 1 q n 1 q n (3. 9) III.3.) Modèle Cinématique Direct dans l espace Dual : Le Modèle Cinématique Direct (MCD) d un robot dans l espace Dual détermine le torseur cinématique de l effecteur dans l espace Dual en fonction des vitesses articulaires : q = J A θ θ (3. 10) Où la Jacobienne J A peut être déterminée analytiquement par : J A θ q = θ (3. 11) III.4) Commande des robots dans l espace Dual : L utilisation des quaternions duaux permet de contrôler la position et l orientation de l effecteur en utilisant une seule boucle de commande en évitant les singularités de la rotation. L objectif du contrôleur est d atteindre la consigne dans l espace Dual de manière à annuler l erreur statique de position Duale : q e = q d q (3. 1) La consigne dans l espace Dual est récupérée en convertissant le torseur cinématique issu du contrôleur visuel de l espace Euclidien vers l espace Dual à l aide de la matrice généralisée [3.9, 3.10] (Annexe C) : CHEST q c = J + CHEST V c (3. 13) Pour cela, il existe deux schémas de commande [3.7] : III.4.1) Schéma de commande utilisant la pseudo-inverse de la Jacobienne : La dérive de l erreur au cours du temps s écrit : q e = q d q (3. 14) 38

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III En utilisant la relation (3.10) dans le cas de faibles variations de consignes : D où la loi de commande : q e = J A θ θ θ = J A + K q e (3. 15) 3. 16 Ce qui permet d assurer une convergence asymptotique de l erreur : q e = K q e (K > 0) (3. 17) Générateur de Trajectoires V c J + q q d + q e K J A + θ θ d θ Robot - q MGD Figure 3.1 : Schéma de commande dans l espace Dual utilisant la pseudo-inverse de la Jacobienne III.4.) Schéma de commande utilisant la transposée de la Jacobienne : En choisissant la fonction candidate de Lyapunov : V = 1 q e T K q e > 0 (K > 0) (3. 18) La variation de la fonction de Lyapunov au cours du temps donne : V = 1 q e T K q e + 1 q e T K q e (3. 19) En utilisant la relation (3.10) : V = 1 θ T J A T K q e 1 q e T K J A θ (3. 0) D où la loi de commande : θ = J A T K q e (3. 1) 39

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III Ce qui permet d assurer la décroissance de la fonction de Lyapunov : V = q e T K J A J A T K q e < 0 (3. ) Générateur de Trajectoires V c J + q q d + q e K J A T θ θ d θ Robot - q MGD Figure 3. : Schéma de commande dans l espace Dual utilisant la transposée de la Jacobienne III.5) Résultats et validation expérimentale : Les modèles et la commande ont été validés sur la plateforme expérimentale HOAP-3 pour la commande du système de positionnement de la caméra placée sur la tête du robot humanoïde HOAP-3 (Figure 3.3). - Modélisation : On donne les paramètres géométriques de D-H pour le système de positionnement de la caméra placée sur la tête de HOAP-3 et le placement des repères associés (Figure 3.3) : j σ j α j d j θ j r j HEAD_JOINT[1] 1 0 0 0 θ 1 HEAD_LINK1 HEAD_JOINT[] 0 π HEAD_LINK θ 0 Tableau 3.1 : Paramètres géométriques de D-H pour le système de positionnement de la caméra placée sur la tête HOAP-3 40

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III Z 1 HEAD_JOINT[1] Z c HEAD X 1 R 1 Y 1 R c X c Y c R Z CHEST Z o R o Y o X Z HEAD_JOINT[] X o Figure 3.3 : Placement des repères de la tête du robot HOAP-3 - Commande : On définit la tâche de positionnement suivante dans l espace Dual : q init = [ 0.7071, 0.7071, 0, 0, 0.0053, 0.0053, 0.0364, 0.0364] T q d = [ 0.5000, 0.5000, 0.5000, 0.5000, 0.00,0.095, 0.00, 0.095] T Qui correspond aux situations de poses initiales et finales de l effecteur suivantes: t init = 0.0150 0 0.1030 T θ int = + π, n init = 1 0 0 T t init = 0 0.0150 0.1030 T θ int = + π 3, n init = 0.5774 0.5774 0.5774 T En utilisant le schéma de commande de la Figure 3.1, avec la matrice de gain : K = 100 0 0 0 100 0 0 0 100 41

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III On enregistre les résultats suivants : Figure 3.4 : Dynamique des composantes de l erreur du quaternion dual de l effecteur Figure 3.5 : Trajectoire de l effecteur Figure 3.6 : Evolution de la translation de l effecteur (a) Angle de rotation (b) Vecteur de rotation Figure 3.7 : Evolution de la rotation de l effecteur 4

Modélisation et Commande du Robot HOAP-3 dans l'espace Dual Chapitre III (a) Position initiale (b) Position finale Figure 3.8 : Robot humanoïde HOAP-3 avant et après la tâche de positionnement Les résultats obtenus en appliquant la loi de commande en position Duale de la Figure 3.1 sont exactement ceux envisagés en théorie. En effet, le choix d une matrice de gain de contrôle de la position duale K symétrique définie positive permet d assurer la convergence du système en imposant une dynamique du premier ordre pour l erreur d asservissement (Figure 3.4). De plus, la valeur du gain fixée à 100 permet de régler le temps de réponse du système à t r = 5 /K = 50 ms (Figure 3.4). On voit bien après le mappage entre l espace Dual et Euclidien la convergence de la translation (Figure 3.7 (a)) et la rotation (Figure 3.7 (b)) de l effecteur, qui produisent une trajectoire lisse et réalisable de l effecteur. L organe de commande mis en œuvre est donc prêt pour réaliser les consignes de positions duales issues du contrôleur visuel. III.6) Conclusion: Ce chapitre nous a permis la modélisation et la mise en mettre en œuvre d une stratégie de commande du système de positionnement de la caméra pour réaliser les consignes issues du contrôleur visuel de haut niveau. L utilisation des quaternions duaux constitue une manière élégante pour décrire la position et l orientation dans l espace et permet des schémas de commande en position avec une boucle de contrôle unique de la position et l orientation. Les modèles et la commande ont été validés sur la plateforme expérimentale HOAP-3. Les résultats visualisés ont été obtenus en utilisant l outil Matlab. 43

Conclusion et Perspectives Conclusion Ce stage traite l utilisation de la vision pour la commande des robots. L application de reconnaissance et du maintient de la visibilité d objets dans le champ de vision du robot HOAP-3 nous à conduit à construire une solution complète, réalisable et vérifiant les contraintes de la robotique de service. Pour chacune des étapes, nous avons focalisé sur la rapidité de manière à développer une application tournant à la cadence vidéo : Commande : Les contraintes purement cinématiques de la robotique de service nous ont permis de simplifier les architectures de commande visuelles (de haut niveau) et en position (de bas niveau) dont les lois de commande assurent la stabilité et une convergence asymptotique de l erreur d asservissement. De plus, l utilisation de mesures hybrides D-3D permet de s affranchir de la géométrie de la cible. Reconnaissance d objets : La simplicité des lois de commande nous à amené à plus de développements concernant la partie visuelle avec l utilisation des méthodes de reconnaissances robustes par le biais d une description locale de l image mais coûteuses en temps de calcul. Les descripteurs locaux SURF ont été préférés en vue de leur élaboration qui a pour objet d extraire les points d intérêt et de décrire leur voisinage le plus rapidement possible tout en maintenant les performances requise pour une description robuste. Le traitement d une seule image se fait environ en 00 ms lorsqu on parcourt toute l image sans tenir en compte des hypothèses sur le déplacement de la cible entre deux images successives. Localisation d objets : La reconstruction Projective et Euclidienne de pose qui fourni les paramètres intervenant dans les lois de commande en utilisant les résultats de la géométrie Epipolaire ou Projective a été simplifiée en prenant des cibles planaires pour faciliter une mise en œuvre tournant à la cadence vidéo. Modélisation et Commande du système de positionnement : L utilisation des quaternions duaux pour représenter la pose fourni une manière élégante pour représenter de manière compacte la position et l orientation en utilisant un seul vecteur à 8 composantes, ce qui à également permis un gain de temps par rapport à la manipulation des matrices de transformation homogènes usuellement utilisées. Expérimentations : La commande cinématique en position duale mise en œuvre et validée sur le robot HOAP-3 est donc prête pour réaliser les consignes de positions duales issues du contrôleur visuel de haut niveau. Puisque nous avons développé les soussystèmes de vision (reconnaissance et localisation d objets) et de commande (commande visuelle et modélisation - commande cinématique duales) séparément, un certain travail doit encore être effectué afin d'intégrer complètement la commande visuelle dans le robot HOAP-3. 44

Conclusion et Perspectives Perspectives Parmi ces développements, certains problèmes sont encore ouverts pour améliorer le processus et permettre au robot une plus grande réactivité aux consignes visuelles : Commande : Il serait très intéressant de prendre en compte dans les lois de commande les mouvements quelconques des objets par une modélisation plus réaliste de leur déplacement en introduisant des techniques de filtrage avancées dans le processus basées sur la notion d apprentissage et/ou des probabilités. Reconnaissance d objets : Bien qu une description locale de l image procure des avantages de robustesse aux transformations et aux occlusions, le temps d extraction des primitives et de description reste encore une limitation principale de ces techniques. Il serait vraiment intéressant d introduire une description globale de l image peu coûteuse en temps de calcul qui décrit l image dans son ensemble et pouvant être introduite dans les lois de commande d asservissements visuels. Une telle initiative devrait être suivie par l étude et le choix des descripteurs globaux adéquats pour assurer de bonnes propriétés du processus de commande, ainsi que la détermination de la relation liant la variation de ces descripteurs à la variation du déplacement de la caméra. 45

Annexe A Annexe A A.1) Calcul de la Jacobienne image pour des primitives ponctuelles : Sans perte de généralité, on suppose une distance focale égale à l unité, de telle sorte que tout point P de l espace de coordonnées P c = [X c Y c Z c ] T dans le repère de la caméra se projette sur l image en coordonnées homogènes ou projectives p = [x y 1] T selon : P c = p Z (A. 1) u I P v u o v o m Z c y x R c Y c En différenciant l équation (A.1) : X c Figure A.1 : Modèle de la caméra x = (X c x Z c)/z c y = (Yc y Z c)/z c (A. ) En supposant que l objet est fixe et que la caméra se déplace avec une vitesse linéaire v c et angulaire w c, le mouvement du point P attaché à l objet dans le repère de la caméra R c est donné en fonction du torseur cinématique de la caméra V c = [v c w c ] T par : P c = v c w c P c (A. 3) Où : X c = v cx w cy Z c + v cz Y c Yc = v cy w cz X c + v cz Z c (A. 4) Z c = v cz w cx Y c + v cz X c A.1

Annexe A La combinaison des équations (A.) et (A.3) donne la variation du déplacement de la primitive ponctuelle m en fonction du torseur cinématique de la caméra V c : s = L s V c (A. 5) D où la matrice d interaction ou Jacobienne image L s associée à la primitive ponctuelle m : L s = 1/Z 0 x/z 0 1/Z y/z xy 1 + x y 1 + x xy x (A. 6) A.

Annexe B Annexe B B.1) Représentation de l intégrale de l image : La représentation de l intégrale de l image fût introduite par F. C. Crow [.11] dans le monde de l infographie pour des applications de MIP mapping (technique d amélioration de la qualité d affichage des textures en fonction de leur distance par rapport à la position de la caméra). Viola et Jones [.1] ont été les premiers utilisateurs de cette technique dans la communauté de la vision par ordinateur, dans une application de détection robuste d objets. L intégrale de l image ii(x, y) au point de coordonnées (x, y) est la somme des pixels de la région rectangulaire formée par les pixels situés entre le point et l origine (Figure B.1 (a)) : ii x, y = x y i=0 j =0 ii x, y (B. 1) La représentation de l intégrale de l image est un algorithme rapide permettant de calculer la valeur de cette intégrale progressivement tout au long de l image par : s x, y = s x, y 1 + i x, y ii x, y = ii x 1, y + s(x, y) (B. ) Une fois l intégrale calculée en chaque point, l évaluation de toute région rectangulaire S quelconque (Figure B.1 (b)) de l image nécessite seulement 4 opérations (B.3) et s effectue donc en temps constant indépendamment de la position et la taille de la région. S = ii A + ii C ii B + ii D (B. 3) O x O x A B ii(x, y) S D C y y (a) Intégrale de l image (b) Evaluation de régions rectangulaires Figure B.1 : Représentation de l intégrale de l image B.1

Annexe B B.) Construction de la pyramide échelle-espace : L analyse échelle-espace fournit une fonction continue qui permet de détecter les maxima à travers toutes les échelles. Usuellement, cette fonction est construite par la convolution de l image avec une succession de Gaussiennes suivi d un sous-échantillonnage d un facteur de de l image filtrée. L espace des échelles est divisé en un certain nombre d octaves, divisés à leur tour en intervalles formant plusieurs couches. En exploitant les propriétés d associativité du produit de convolution et la convolution entre Gaussiennes (B.4), la pyramide peut être construite autrement en convoluant itérativement l image avec l image filtrée et sous-échantillonnée de la couche précédente, ce procédé utilisé par David G. Lowe [.] a eu un grand succès. I x, y G x, y; σ 1 G x, y; σ = I x, y G x, y; σ 1 + σ (B. 4) Les deux méthodes citées souffrent du fait d utiliser des noyaux de même taille, ce qui peut entrainer une redondance lors de la construction de ces filtres, et aussi du redimensionnement de l image sous-échantillonnée pour réduire les informations de haute fréquence, alors que la seconde méthode présente l inconvénient majeur de dépendance entre deux couches successives. Pour remédier à tout cela, le détecteur SURF ne construit pas de pyramide échelle-espace (Figure B.) mais l approxime grossièrement. L image originale n a plus besoin d être redimensionnée, elle est convoluée avec une succession de masques d approximation (boîtes de filtres) des dérivées partielles secondes de Gaussiennes dont la taille augmente progressivement en fonction de l échelle. Le calcul du produit de convolution est accéléré en utilisant l astuce de l intégrale de l image à qui revient la plus grande partie des performances du détecteur SURF, notamment en permettant un temps de calcul indépendant de la taille des masques de convolution utilisés. (a) Méthode traditionnelle (b) Approche SURF Figure B. : Construction de la pyramide échelle-espace [.1] B.

Annexe B Pour chaque niveau d échelle, la taille des filtres d approximation est calculée par (B.5) de manière à préserver la même structure des filtres de base (Figure.) avec la présence des pixels centraux dans chacune des 3 régions des filtres (Figure B.3), ce qui nous oblige donc à progresser par un pas de 6 entre deux filtres successifs. Taille σ = 3 octave intervalle + 1 (B. 5) Le niveau d échelle (B.6) de la pyramide est choisi de telle sorte à assurer un rapport échelle-taille constant entre les filtres des différents niveaux d échelles. σ approx = Taille σ σ base = Taille 1. Taille σ σbase 9 B. 6 Figure B.3 : Exemple de structuration des filtres d approximation [.1] B.3) Mesure de similarité : Les méthodes de mesure de similarité les plus utilisées entre deux descripteurs X et Y sont : - Corrélation : Plusieurs formules de corrélation existent, les plus utilisées sont : La mesure de corrélation donnée par : CC X, Y = X. Y (B. 7) La version centrée de la corrélation pour éviter des faux maxima dans le cas des signaux de dynamiques différentes : ZCC X, Y = X m X. Y m Y (B. 8) B.3