UPJV, Département EEA Master 2 EEAII Parcours ViRob Fabio MORBIDI Laboratoire MIS ! Équipe Perception et Robotique! E-mail: [email protected]! Mardi 9h30-12h30 et 15h00-17h30 Salle TP101 Semestre 9, A.U. 2015-2016 Plan du cours Partie I : Perception Avancée Chapitre 1: Perception pour la robotique [F. Morbidi] 1. Introduction 2. Classification des capteurs 3. Typologies de capteur Chapitre 2: Modélisation d’incertitudes [D. Kachi] 1. Introduction 2. Représentation de l’incertitude 3. Représentation statistique 4. Propagation de l’erreur: fusion des mesures de l’incertitude Chapitre 3: Traitement des mesures [D. Kachi] 1. Réseau multi-capteurs 2. Fusion des mesures 2 Télémètres laser LIDAR («Light Detection And Ranging») En réalité portmanteau de «light» et «radar» Rayons émis/reçus coaxiaux Longueur d’onde: typiquement 780-900 nm Spectre de la lumière visible (390 nm – 750 nm) LIDAR 400 450 500 550 600 650 700 750 Longueur d’onde [nm] Jamais pure réflexion: toujours de la diffusion sur le cible rayon émis rayon reçu Diffusion sur le cible 3 Télémètres laser Deux méthodes de mesure: 1. Laser pulsé (ex. SICK) • Mesure directe du temps de vol • Besoin d’une mesure à la picoseconde (10-12 s) (En fait, 3 m correspondent à 10 ns) 2. Mesure de déphasage (ex. Hokuyo) • Émission d’onde modulée à fréquence connue • Mesure du déphasage entre les signaux émis et reçus • Techniquement plus simple 4 Télémètres laser: fonctionnement SICK Faisceau laser Miroir rotatif SICK SICK LIDAR LIDAR Obstacle Obstacle Obstacle LIDAR LIDAR LIDAR LIDAR Mesures de distance (bleu) à des intervalles angulaires réguliers 5 Télémètres laser: exemples Voitures autonomes: Stanley (Stanford University – Volkswagen), gagnant de la DARPA Grand Challenge en 2005 5 lasers SICK pour couvrir tout l’espace devant le véhicule Robots mobiles: Adept Pioneer 3AT Laser SICK 6 Télémètres laser: exemples Modélisation 3D: numérisation de bâtiments, formations rocheuses, etc. Faro Focus3D X 330 Nuage de points 3D d’un bâtiment numérisé Leica ScanStation C10 7 Télémètres laser: mesure de déphasage émetteur rayon émis mesure de phase cible rayon reçu rayon émis rayon reçu θ 8 Télémètres laser: mesure de déphasage λ rayon émis θ La distance totale avec ◦ θ : ◦ c : ◦ f : ◦ λ : rayon reçu D� parcourue par la lumière émise (dans un milieu uniforme): θ c � D = 2D = λ , λ= 2π f différence de phase vitesse de la lumière (3 x 108 m/s) fréquence de modulation longueur d’onde La confiance dans la distance estimée est proportionnelle à l’amplitude du signal reçu: ◦ Objets sombres et/ou lointains: mauvaises estimations ◦ Objets proches et/ou clairs: bonnes estimations 9 Télémètres laser commerciaux RoboPeak RPLIDAR (Chine) 1 laser x 360°, 6 m de portée 1.15 W, 170 g, 5.5 Hz Prix: 400 € Hokuyo URG-04LX (Japon) ◦ 1 laser x 240°, 5.6 m de portée ◦ 2.5 W, 160 g, 10 Hz ◦ Prix: 3.5 k€ SICK LMS200 (Allemagne) ◦ 1 laser x 180°, 80 m de portée ◦ 20 W, 9 kg, 75 Hz ◦ Prix: environ 10 k€ IBEO LUX HD, app. automobiles (Allemagne) ◦ 4 lasers x 110°, 90 m de portée (4° vertical) ◦ 10 W max, 1 kg, 12.5-50 Hz ◦ Prix: environ 22 k€ Velodyne HDL-64E (USA) ◦ 64 lasers x 360° (27° vertical), 120 m de portée ◦ 20 W, 13 kg, 5-15 Hz, 1.3 millions de points/s ◦ Prix: environ 75 k$ Émetteurs laser (4 groupes de 16) Récepteurs laser (2 groupes de 32) Moteur 10 Télémètres laser: résultats Laser 2 lasers SICK combinés: 180o + 180o (salle) Laser 4 lasers Hokuyo combinés (couloir) 11 Télémètres laser: résultats 360o, fréquence de rotation jusqu’à 15 Hz Données brutes du Velodyne HDL-64E 12 Capteurs temps-de-vol 3D Caméra temps-de-vol (ToF) ◦ Projection de lumière infrarouge modulée ◦ Système compact ◦ Possible perturbation due à d’autres sources lumineuses SwissRanger Exemples Mesa Imaging, SwissRanger 4000 ◦ ◦ ◦ ◦ Longueur d’onde: 850 nm 50 FPS, 176 x 155 pixels Champ de vision: 43.6o (h) x 34.6o (v) Prix: 4.295 k$ Microsoft (XBOX), Kinect v.2 (2014) ◦ ◦ ◦ ◦ ◦ Kinect v.2 Fréquence: 30 Hz 512 x 424 pixels (caméra de profondeur) 1920 x 1080 pixels (caméra RGB) Champ de vision: 84.1o (h) x 53.8o (v) Prix: 150 € FPS = « frames per second » (images par seconde) Caméra ToF LIDAR 13 objet Capteurs de triangulation rayon émis rayon reçu Triangulation optique (capteur 1D) ◦ IR/Laser Émission Réflexion Mesure de distance fd z = , p + f tan θ z θ φ x x = z tan θ lentille f récepteur Source de lumière (laser) avec f : distance focale du récepteur d p (plan image) d : distance source-récepteur (connue) ◦ Proximètres IR sur le robot Koala (K-team) 80 cm de portée maximale Bon marché 6 proximètres IR 14 Capteurs de triangulation Projecteur de lumière Caméra Lumière structurée – LS (capteur 2D) ◦ Caméra CCD/CMOS ◦ Projecteur de motif connu Vision active Écran Bande de lumière H ◦ Source lumineuse modulée dans l’espace, le temps, l’intensité et/ou la couleur α ◦ Calcul de profondeur simplifié par rapport à la stéréovision classique (Stéréo)vision passive : corrélation entre images/environnement Vision active : mesure directe, fonctionne dans le noir, pas besoin de texture Exemple: Microsoft Kinect v.1 (2011) Motif projecté par le Kinect v.1 15 LS – Définitions (D. Fofi) Caméra (Plan image) Projecteur 1 - Point de surbrillance : • Pas de problème de mise en correspondance. 2 - Plan de lumière : • Correspondance entre points de la ligne projetée ? • Balayage suivant un axe • Balayage suivant les deux axes 3 - Multi-plans : 4 - Motif structurant : • Correspondance entre les plans ? • Problème de mise en correspondance • Pas de balayage • Pas de balayage 16 LS – Classification 3 critères liées à la: • Dépendance temporelle (statique ou dynamique) • Nature de la lumière émise (binaire, niveaux de gris ou couleurs) • Dépendance aux discontinuités (périodique ou absolu) Classification proposée dans l’article: « Recent progress in coded structured light as a technique to solve the correspondence problem: a survey », J. Batlle, E. Mouaddib, J. Salvi, Pattern Recognition, vol. 31, n. 7, pp. 963-982, 1998 17 LS – Exemples de codage Posdamer et Altschuler • Statique • Binaire • Absolu 18 LS – Exemples de codage Le Moigne et Waxman • Dynamique • Binaire • Absolu 19 LS – Exemples de codage Carrihill et Hummel • Statique • Niveaux de gris • Absolu 20 LS – Exemples de codage Vuylsteke et Oosterlinck • Dynamique • Binaire • Absolu 21 LS – Exemples de codage Boyer et Kak • Dynamique • Couleurs • Périodique 22 LS – Exemples de codage Tajima et Iwakawa • Statique • Couleurs • Absolu 23 LS – Exemples de codage Griffin, Narasimhan et Yee • Dynamique • Couleurs • Absolu 24 LS – Exemples de codage Fofi, Mouaddib et Salvi Codage couleurs 25 LS – Applications: métrologie Laser Caméra linéaire Profilométrie pour des plaques métalliques. Une caméra linéaire observe un point de surbrillance projeté sur la surface d’une plaque métallique Plaque métallique Caméra Projecteur Garcia, Garcia, Obeso et Fernandez Verre dépoli Profilométrie pour des plaques de verre Le verre est illuminé par un motif binaire: la déformation du motif se projette sur du verre dépoli observé par la caméra. Profil analysé Mouaddib, Brassart et Fofi 26 LS – Applications: anthropométrie Plan de base Plan de référence Mesure des déformations pathologiques du dos • Une grille codée est projetée sur le dos des patients • La calibration consiste à projeter cette grille sur un plan de référence et sur un plan de base Diapositive Plan image Sotoca, Buendia, Iñesta • Par des calculs, basés sur la similarité des triangles, une image de profondeur est obtenue à partir des données de l’image 27 LS – Applications: robotique Robotique sous-marine Caméra • Le capteur est enfermé dans un caisson en plexiglass Air Ligne de base effective Ligne de base Plexiglass Rayon laser Miroir Eau • La ligne de vue est diffractée deux fois (plexiglass et eau) • La ligne de base n’est plus constante Laser Chantier, Clark et Umasuthan Robotique extra-terrestre: rover Sojourner (sur Mars en 1997) Deux lasers sont diffractés en quinze faisceaux coplanaires et observés par deux caméras Caméra Caméra Laser Matthies, Balch et Wilcox 28 Capteurs de vision Matrice de photorécepteurs (CCD) Caméra CCD Matrice de Bayer Matrice de Bayer: matrice de filtres de couleur placée entre l’objectif et le CCD d’une caméra afin de pouvoir enregistrer des images en couleur 29 Caméras Caméra = objectif + capteur photosensible Capteur photosensible Objectif Objectif ◦ Optique Pour changer la mise à point, l’amplitude du champ de vue, etc. ◦ Diaphragme Ouverture: elle laisse passer/bloque la lumière vers le CCD Objectif Diaphragme 30 Vision passive ◦ Une image: uniquement information 2D sur la scène Manque d’information sur la structure 3D de l’environnement Besoin d’information supplémentaire: ◦ Taille réelle des objets observés dans la scène • Mise en correspondance 2D-3D ◦ Mouvement des objets est connu: SfM («Structure-from-Motion») ◦ Position d’une source lumineuse est connue • On peut utiliser les ombres pour percevoir la profondeur («Shape-from-shading») Même objet, illumination variable 31 Vision passive Besoin d’information supplémentaire: ◦ Estimation de la profondeur à partir de la mise au point («Shape-from-Focus») Il faut quantifier la netteté locale d’une image Lien direct entre longueur focale et profondeur 3D Image 1 Image 2 32 Vision passive ◦ Une paire d’images Deux caméras: stéréovision Caméra 2 Caméra 1 • Mise en correspondance • Triangulation Image Caméra 1 Image Caméra 2 Information 3D sur la scène 33 Vision omnidirectionnelle Systèmes multi-caméras ◦ Google Streetview Image 360o x 360o, bonne résolution Difficulté d’assembler les images (aberrations) Dodeca 2360 (12 caméras, 30 FPS, 100 Mpixels, 360o x 360o) Panomo (36 cameras, 100 Mpixels, 360o x 360o) Point Grey Ladybug (0.8 Mpixels x 6 caméras) 34 35 Vision omnidirectionnelle Systèmes catadioptriques (caméra + miroir + lentille) ◦ Vision panoramique • Appariement d’une part importante d’une scène avec l’image Miroir Lentille Caméra conventionnelle • Une même primitive (ex. une «droite») est perçue longtemps Département EEA (image panoramique) 35 Vision omnidirectionnelle Caméras à optique « fisheye » ◦ Très grand angle (180°) ◦ Problème: distorsions provoquées par la lentille fisheye Nikon 1 V1 avec lentille fisheye Caméra classique Caméra avec lentille fisheye 36 Vision omnidirectionnelle Caméra à optique « fisheye » Centre de Perth, Australie “Chapter House Room”, Cathédrale de Wells, Royaume-Uni 37 Encodeurs rotatifs Un encodeur rotatif est un dispositif qui convertit la position angulaire d’un axe ou d’un arbre en code analogique ou binaire • Encodeurs mecaniques et optiques (les plus utilisés en robotique, ex. pour l’odométrie) • Deux types d’encodeurs: • Absolus: la sortie de l’encodeur indique la position courante de l’axe (transducteur d’angle). L’information n’est pas perdue lorsque l'alimentation est coupée: elle est disponible à nouveau lorsque l’alimentation est rétablie • Incrémentaux (ou relatifs): la sortie de l’encodeur nous informe du mouvement de l’axe. Cette information est typiquement traitée ultérieurement pour obtenir des mesures de vitesse, distance ou position Encodeur optique incrémental 38 Encodeurs rotatifs: exemples • • Encodeur optique absolu avec codage binaire (3 bits; noir 1, blanc 0) • Une paire émetteur/récepteur par bit 0 0 0 Encodeur optique absolu avec codage Gray (3 bits; noir 1, blanc 0) 39 Encodeurs rotatifs: exemples • Encodeur optique absolu avec codage binaire (8 bits; codage mixte sur 4 + 4 bits) • Encodeur optique incrémental 40