Drones et vision par ordinateur embarquée un survol Samuel Foucher 1 Kevin Heffner 2 Tom Landry 1 1 Équipe vision et imagerie Centre de recherche informatique de Montréal samuel.foucher@crim.ca 2 Pegasus Research & Technologies k.heffner@peretec.com 29 octobre 2015 Atelier sur les drones, AQT 2015 1 / 17
Sommaire 1 Contexte Contexte technologique Vision par ordinateur Traitements par GPU 2 Besoins 3 Librairies ROS OpenCV 4 SLAM Principe SLAM visuel 5 Détection de points-clés Principe SIFT Applications 6 Exemples Navigation visuelle pour vol sans GPS Évitement d obstacles Recherche et sauvetage 7 Tendances futures Objectifs de la présentation 1 Vision par ordinateur embarquée 2 Principes généraux de ces techniques (introduction) 3 contraintes, défis, potentiel 4 Exemples 5 Futures tendances Atelier sur les drones, AQT 2015 2 / 17
Contexte technologique Contexte technologique SWaP++ : Size (Taille) Weight (Poids) Power (Besoins énergetiques) Performance Price (Coût) Atelier sur les drones, AQT 2015 3 / 17
Vision par ordinateur Vision par ordinateur La vision par ordinateur a pour but principal de permettre à une machine d analyser, traiter et comprendre une ou plusieurs images prises par un système d acquisition (caméras, etc.). Essor important avec l avénément des caméras numériques à haute résolution, des capacités de calcul accrues (e.g. GPU) et de l intelligence artificielle (Machine Learning) Applications nombreuses : Reconnaissance dobjets ou de lieux Navigation visuelle Reconstruction 3D Suivi de cibles Détection d anomalies Librairies dans le domaine publique : OpenCV ROS PCL ArrayFire Atelier sur les drones, AQT 2015 4 / 17
Traitements par GPU Traitements par GPU General-Purpose computing on Graphics Processing Units (GPGPU) Avantages Puissance de calcul : x10 en terme de GFLOPS Calcul parallèle massif Nouveaux GPU : Tegra, SnapDragon Nombreuses librairies : CUDA, ArrayFire, OpenCL OpenCV supporte CUDA Inconvénients Transferts CPU-GPU coûteux Hautement parrallèle, codage complexe Atelier sur les drones, AQT 2015 5 / 17
Pourquoi la vision par ordinateur embarquée? Aspects critiques pour la mission Navigation : Planification de trajectoires Localisation Geofencing Environnement : GPS-denied Évitement dobstacles Collaboration Multi-robots Décollage et atterrissage automatique Vers une autonomie complète Tâches reliées aux applications Cartographie de l environnement Détection d objets Détection d anomalies Amélioration des vidéos : De-hazing Stabilization d images Super résolution Amélioration du contraste Compression de données La vision par ordinateur combinée avec les données de l IMU (attitude, accélérations,...) peut améliorer la précision et la robustesse de la navigation Une solution par vision par ordinateur est intéressante pour les petits drones (< 2.0 kg) pour certaines problématiques (navigation intérieure, etc.) Atelier sur les drones, AQT 2015 6 / 17
ROS Robotic Operating System Framework pour le développement de logiciels en robotique Collections d outils et de logiciels Communications Multi-languages Outils de diagnostic Outils de simulation Abstraction du matériel (hardware) Atelier sur les drones, AQT 2015 7 / 17
OpenCV Open Computer Vision (OpenCV) Librairie en traitement d image Techniques de base : Filtres, contours, transformation, segmentation Analyse : Détection de points clés, suivi de cible, matching Imagerie 3D Apprentissage par ordinateur Peut utiliser CUDA ou Intel IPP Atelier sur les drones, AQT 2015 8 / 17
Principe Simultaneous Localization and Mapping (SLAM) Exemple d algorithme en vision pour des systèmes embarqués Problèmes à résoudre localisation du drone : Où est le drone? Cartographier l environnement autour du drone Peut utiliser du sonar, un laser ou une caméra Atelier sur les drones, AQT 2015 9 / 17
SLAM visuel SLAM visuel Caméra + SLAM = SLAM visuel (VSLAM) monoculaire utilise linformation visuelle (points-clés) RGB-D ou caméra stéréo minimise directement l erreur photométrique Atelier sur les drones, AQT 2015 10 / 17
Principe Détection de points-clés (keypoints) Les point-clés (keypoints) sont des points saillants de l image Propriétés recherchées : Robustesse : apparence (illumination, occlusion, etc.) changements de point de vue Description locale Description propre et distincte Quantitié Rapidité de calcul Beaucoup de techniques différentes Harris, SURF, SIFT, ORBE, FAST, etc. Atelier sur les drones, AQT 2015 11 / 17
SIFT Scale-Invariant Feature Transform (SIFT) Un des algorithmes les plus populaires Étapes : 1 Détection de points d intérêts (coins) 2 Analyse multi-échelles des gradients locaux 3 Formation d une signature David G. Lowe, Object recognition from local scale-invariant features, Proceedings of the International Conference on Computer Vision, vol. 2, 1999, p. 11501157. Atelier sur les drones, AQT 2015 12 / 17
Applications Applications des points-clés Nombreuses applications en vision : Suivi dobjets automatiques Calcul de cartes de disparité Calibration stéréo Estimation de la matrice fondamentale Segmentation du mouvement Reconnaissance dobjets 3D Navigation robotique Indexation et recherche dimages Atelier sur les drones, AQT 2015 13 / 17
Navigation visuelle pour vol sans GPS Navigation visuelle pour vol sans GPS Utilisation d une technique vslam embarquée Limitations de la navigation avec GPS : Précision de ± 2.5m Pas de navigation intelligente Bruité ou peu fiable en milieu urbain dense Impossible à lintérieur de bâtiments Solutions possibles : Navigation inertielle de haute précision (coûteux et lourds) Laser range finders (coûteux et lourds) Caméras (odométrie visuelle) K Ok, D Gamage, T Drummond, F Dellaert, N Roy, Monocular Image Space Tracking on a Computationally Limited MAV, ICAR, 2015. lien vidéo lien vidéo Atelier sur les drones, AQT 2015 14 / 17
Évitement d obstacles Évitement d obstacles L évitement d obstacles est critique pour l utilisation sécuritaire des drones La détection d obstacles par caméra est intéressante pour les petits drones Différentes approches Flot optique Vision monoculaire : Perspective Taille relative Vision stéréo Capteurs actifs Sonar LIDAR RADAR T. Mori and S. Scherer, First Results in Detecting and Avoiding Frontal Obstacles from a Monocular Camera for Micro Unmanned Aerial Vehicles, ICRA, 2013. lien vidéo Atelier sur les drones, AQT 2015 15 / 17
Recherche et sauvetage Recherche et sauvetage localisée Projet mené actuellement par Pegasus Déploiement rapide Utilisation de caméras FLIR et optique Recherche de points chauds Trajectoire de recherche optimale Atelier sur les drones, AQT 2015 16 / 17
Contexte Besoins Librairies SLAM Détection de points-clés Exemples Tendances futures Tendances futures Traitements nuagiques (Cloud computing) : CloudCV, BrainOS Traitements spécialisés par GPU embarqué Capteurs intelligents évolués Collaboration multi-robots (e.g. swarm) Interfaces homme-machine intelligentes Intelligence artificielle : Délibaration (planification, exécution, monitoring, etc.) Deep Learning Atelier sur les drones, AQT 2015 17 / 17