Présentation
RÉSUMÉ
La vision par ordinateur met en œuvre des caméras conventionnelles à champ de vue large ou des systèmes permettant d’acquérir des images tridimensionnelles. Elle décrit la géométrie et le traitement de ces images qui rendent possible l’utilisation de la vision dans de nombreuses applications, parmi lesquelles figure l’augmentation de l’autonomie perceptive des robots. Cet article propose une introduction à cette thématique, avec des exemples d’applications montrant l’intérêt de l’utilisation de la vision par ordinateur en robotique.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Guillaume CARON : Maître de conférences à l'université de Picardie Jules Verne, Amiens
-
El Mustapha MOUADDIB : Professeur à l'université de Picardie Jules Verne, Amiens - Laboratoire MIS (modélisation, information et systèmes), université de Picardie Jules Verne, Amiens
INTRODUCTION
La vision par ordinateur est la science de l’extraction d’informations d’images provenant d’une caméra, allant de points dans l’image à la reconstruction tridimensionnelle de la scène observée. La richesse des informations apportées par une caméra en fait un capteur de choix pour les applications de robotique autonome.
Cependant, contrairement à d’autres capteurs dont la mesure donne, par exemple, directement une distance, l’image, quant à elle, doit être traitée. Ce traitement se conçoit pour réaliser des mesures géométriques utiles pour l’application. Ces mesures géométriques dans l’image conduisant à des mesures dans l’espaces sont au cœur de la vision par ordinateur. Les méthodes reposent sur un socle commun mais se déclinent différemment suivant le type de caméra employé, conventionnel ou non.
L’objectif de l’article est de faire un tour d’horizon des caméras mono, bi et tridimensionnelles et de présenter comment les images de ces caméras sont géométriquement modélisées et traitées dans le cadre d’applications de robotique. Les éléments classiques des caméras sont d’abord rappelés pour mieux expliquer le caractère non conventionnel d’autres caméras de typologie différente, à fort potentiel en robotique. Ensuite, la géométrie d’une partie de ces caméras est expliquée et formalisée avant d’aborder la notion de primitive visuelle via l’extraction et la mise en correspondance de points d’intérêt. Les caméras, leur géométrie et les primitives visuelles sont ensuite appliquées à la robotique, avec une large mise en avant des caméras non-conventionnelles et de la robotique mobile.
L’article, même s’il mentionne quelques outils classiques de vision industrielle, parfois associée à la robotique, se place plutôt à la pointe des technologies de vision pour la robotique en plein essor. En effet, la vision tridimensionnelle ou panoramique et la robotique mobile représentent les deux grands axes d’innovation du secteur. La robotique mobile est clairement au cœur de l’innovation technologique via les robots compagnons, les robots d’aide à la personne ou encore les systèmes robotiques de transport.
L’industrie est bien entendu le secteur traditionnel dans lequel la vision et la robotique se retrouvent car l’environnement peut être maîtrisé. Mais les robots ont aussi montré leur potentiel dans des utilisations terrestres, aériennes, marines, sous-marines, et sont maintenant exploités dans les vastes domaines que sont la sécurité, le secourisme, l’assistance à la personne ou l’exploration.
Même si cet article se focalise sur les techniques innovantes de vision pour la robotique, il est construit de manière à les comprendre et commence donc par la découverte de la caméra classique. Au travers d'exemples, le lecteur est amené à appréhender entièrement plusieurs techniques qui peuvent clairement être détournées vers d’autres champs d’applications.
L’importante quantité de méthodes et d’applications de la vision pour la robotique industrielle et mobile empêche une présentation exhaustive du domaine, tant technique que méthodologique. Les quelques références fournies pourront conduire le lecteur vers des documents plus précis sur certains aspects ou vers des sujets connexes.
VERSIONS
- Version courante de juin 2022 par Guillaume CARON, El Mustapha MOUADDIB
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Robotique
(60 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
4. Applications
Quand un objet vu par la caméra calibrée est connu, il est possible d’en calculer sa pose, c’est-à-dire sa position et son orientation dans l’espace, à partir de mesures faites dans l’image. On appelle cela le calcul de pose basé image. Dans ce contexte, « connaître un objet » signifie que des primitives visuelles remarquables ont leurs coordonnées, exprimées dans le repère de l’objet, connues. Les primitives visuelles remarquables sont généralement des points, des segments, des cercles ou d’autres motifs géométriques, voire les intensités de l’objet directement. Elles doivent être « remarquables » pour en permettre la mesure dans l’image, et ainsi réaliser une correspondance 2D-3D, c’est-à-dire entre l’image 2D et le modèle de l’objet 3D.
4.1 Position relative caméra-objet
4.1.1 Calcul de pose basé points
Quatre points sont nécessaires au minimum pour calculer une pose en évitant les ambiguïtés. Les primitives visuelles remarquables d’un objet servant au calcul de pose les plus simples peuvent alors être quatre points, centres des cercles d’un objet à quatre disques blancs sur fond noir (figure 18 a). Ce type d’objet a l’avantage d’être simple à détecter dans les images, qu’elles soient en perspective ou en grand angle (figure 18 b).
La pose de la caméra calculée par rapport à l’objet peut être utilisée pour calculer l’angle que forme l’axe optique de la caméra avec une surface plane, telle un convoyeur dans les applications classiques de contrôle industriel par vision. Dans ce cas, la sélection manuelle des disques par la souris permet d’initialiser un algorithme de traitement d’image de type segmentation qui affine...
Cet article fait partie de l’offre
Robotique
(60 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Applications
BIBLIOGRAPHIE
-
(1) - FOFI (D.), SALVI (J.), MOUADDIB (E.) - Uncalibrated reconstruction : an adaptation to structured light vision - Elsevier Pattern Recognition, vol. 36, n° 7, pp. 1631-1644 (2003).
-
(2) - NAYAR (S.) - Catadioptric Omnidirectional Camera - IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 482-488 (1997).
-
(3) - SHIGANG (L.I.) - Full-View Spherical Image Camera - IAPR International Conference on Pattern Recognition (ICPR), vol. 4, pp. 386-390 (2006).
-
(4) - BOUTHEMY (P.) - A Maximum Likelihood Framework for Determining Moving Edges - IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), vol. 11, n° 5, pp. 499-511 (1989).
-
(5) - AMELLER (M.A.), QUAN (L.), TRIGGS (B.) - Le calcul de pose : de nouvelles méthodes matricielles - Congrès national sur la Reconnaissance de Formes et l'Intelligence Artificielle (RFIA) (2002).
-
...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
Fonctions MATLAB® pour la vision et le traitement d’images
OpenCV, Open source Computer Vision library (Windows, Linux, Mac OS, Android, iOS), librairie de traitement d’image et de vision par ordinateur 2D et 3D pour langages de programmation C/C++, Python, Java, Matlab, C#
ViSP, Visual Servoing Platform (Linux, Windows, Mac OS), librairie de commande de robots directement référencée vision 2D et 3D pour langage de programmation C++
http://www.irisa.fr/lagadic/visp/visp.html
ROS, Robotics Operating System middleware (Ubuntu Linux et expérimentalement pour les autres systèmes d’exploitation), intergiciel orienté robotique, principalement mobile pour langages de programmation C++, Python, Lisp. ROS intègre OpenCV et ViSP pour les faire interagir avec les robots
RoboticsToolbox, boîte à outils pour Matlab et Simulink permettant la simulation et le contrôle de robots réels. Elle est complétée par la Machine Vision Toolbox, pour l’interaction entre la vision et la robotique.
http://www.petercorke.com/Robotics_Toolbox.html
et
http://www.petercorke.com/Machine_Vision_Toolbox.html
Insight, logiciel de vision industrielle, principalement 2D ou 3D active, de la marque Cognex, qui s’interface avec quelques robots industriels
Cet article fait partie de l’offre
Robotique
(60 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive