Les Newsletters Interstices
© Interstices
    Niveau intermédiaire
    Niveau 2 : Intermédiaire

    La grenouille et le robot

    Intelligence artificielle
    Médecine & Sciences du vivant Robotique
    Comment, grâce à la vue, réussir à s'orienter dans un espace en trois dimensions, à éviter des obstacles, à détecter un mouvement, à suivre un objet, à se guider sur une trajectoire, ou simplement à rester en place ? Autant de tâches que les animaux, comme les grenouilles par exemple, accomplissent tous les jours de façon complètement automatique… mais qu'il est extrêmement difficile de faire réaliser à des systèmes dotés de vision artificielle, comme les robots.
    Comment l'étude de tels systèmes biologiques peut-elle inspirer la conception de mécanismes de vision artificiels ?

    1. Pourquoi s’inspirer de la vision biologique ?

    Pourtant, dans le petit cerveau des grenouilles, ce n’est sûrement pas un processus très complexe qui permet de traiter toutes ces informations visuelles ; on peut même dire qu’une grenouille gobant une mouche utilise son système visuel sans vraiment « comprendre » le monde qui l’entoure. Elle pourrait tout aussi bien gober un petit caillou qui serait projeté devant elle !

    Visionner la vidéo (Durée : 2 minutes).

    Une « intelligence limitée »

    Alors que la partie du cerveau que la grenouille mobilise pour cette tâche ne comprend que quelques milliers de neurones, elle détecte sans faute, parmi tous les objets qui l’entourent, celui qui « ressemble » à une mouche. Encore mieux : non seulement elle localise l’insecte, mais elle sait aussi prédire où il se trouvera quelques secondes plus tard, lorsqu’elle le gobera.

    Ainsi, la grenouille a « modélisé » quelques attributs géométriques de la mouche (sa position dans l’espace, sa taille peut-être) mais elle a également « calculé » la cinématique de sa trajectoire. Et puis elle s’est aussi « modélisée » elle-même : elle a évalué le délai qu’il lui fallait pour se mettre en mouvement et estimé la « vitesse » de ce mouvement.

    Aussi complexe que ce procédé puisse paraître, il relève en réalité d’une « intelligence limitée ». Une observation scientifique montre même que la seule prise en compte des attributs géométriques (position, orientation, taille des objets, etc.) et cinématiques (détection et mesure des trajectoires d’un objet) suffit à accomplir cette tâche. En somme, la modélisation mathématique d’un tel mécanisme est à notre portée.

    Détecter n’est pas comprendre

    détection de contours

    Le mouvement se calcule surtout sur les contours de l’image, là où il y a du contraste.
    Dans le cerveau de la grenouille, tout comme dans l’ordinateur, le calcul de mouvement pour une scène comme celle de gauche se fera essentiellement sur les zones de contours représentés à droite.

    Cette approche géométrique et cinématique, à la base de modèles de vision biologique et robotique, ne nous permet pas de déchiffrer la scène, mais d’y détecter un objet en mouvement pour réagir si besoin, d’évaluer sa distance relative ou sa taille pour le saisir, d’éviter des obstacles lors de déplacements, de poursuivre visuellement un objet mobile, comme une proie, ou de percevoir un prédateur qui s’approche, pour l’observer. Elle permet également de se localiser par rapport à des objets prédéfinis ou de combiner plusieurs vues d’un même objet pour calculer des aspects de sa forme tridimensionnelle ou le reconnaître.

    On est, certes, encore bien loin de la compréhension d’une scène par la vision humaine, puisqu’on ne sait pour l’instant qu’effectuer un nombre limité de tâches visuomotrices. La vision est ici un processus « actif » (voir c’est agir avec les yeux) et « intentionnel » ; on regarde dans un but précis.

    Comment implémenter cette forme de perception visuelle sur des robots ? Il s’agit de développer chez eux des mécanismes similaires à ceux que l’on rencontre chez les animaux en les équipant de caméras. Ils seraient alors dotés de véritables comportements perceptifs, certes rudimentaires, mais tout de même autonomes.

    Le problème clé de cette vision dynamique est alors l’analyse du mouvement. Car comme nous allons le voir, elle permet également de recueillir des informations purement géométriques ; en un mot, la perception de la cinématique engendre la perception de la géométrie.

    2. Une vision basée sur l’analyse des mouvements

    Classiquement, on peut distinguer le mouvement « propre » (c’est-à-dire celui de l’observateur, en l’occurrence, la grenouille) et les mouvements des objets regardés (la mouche ou le caillou). Les deux induisent des variations dans l’image observée, que ce soit sur la rétine de l’œil ou sur les capteurs d’une caméra.

    Les trois types de mouvements

    Il est possible de décomposer tous les mouvements selon trois grandes catégories : les mouvements de translation, les mouvements en profondeur et les mouvements angulaires. Ce sont les briques de base qui se combinent pour décrire tous les mouvements possibles dans un espace en trois dimensions.

    les différents types de mouvements

    Effet produit sur l’image par les différents types de mouvement.

    Pour « voir » ce qui bouge dans le monde, il faut faire quelques hypothèses.

    D’abord, on suppose que le monde est essentiellement fait d’objets rigides, c’est à dire qui ne se déforment pas. C’est le cas du sol, des bâtiments, d’un véhicule, et de tous les objets immobiles. C’est aussi presque le cas d’un corps humain : il est « rigide par morceaux », autrement dit fait d’objets reliés entre eux de façon rigide. Ce n’est pas le cas d’un arbre sous le vent, ou d’une rivière …sauf si on regarde d’assez loin, en négligeant les déformations, ce que nous ferons ici.

    Une scène est vue comme un ensemble d’objets rigides. La localisation d’un objet dans l’espace est définie par 3 valeurs de position et 3 angles pour son orientation. Pour un objet rigide, son mouvement se décompose en :

    1. une translation, notée t et définie dans les 3 directions de l’espace, quand sa position bouge ;
    2. une rotation (de l’objet autour de lui-même), notée r, à 3 paramètres, quand son orientation bouge.

    Comment calculer un mouvement rigide ?

    Prenons sur cet objet un point M = (X,Y,Z) repéré par ses positions le long des axes X, Y et Z.
    On voit bien qu’au cours d’une translation t = (tx,ty,tz), M bouge justement de t.
    Que se passe-t-il pour une rotation ? C’est un peu plus compliqué. Pour une rotation rz autour de l’axe des Z, il y a une « action croisée », un « bras de levier » :

    • un point sur l’axe Y va se décaler le long de l’axe des X, ceci proportionnellement à rz et à l’éloignement Y
    • un point sur l’axe X va se déplacer le long de l’axe des Y, au signe près, de la même façon.

    En rassemblant ces calculs pour les 3 axes, on obtient :

    • le déplacement en X est tx + rz Y – ry Z
    • le déplacement en Y est ty + rx Z – rz X
    • le déplacement en Z est tz + ry X – rx Y

    Pour le déplacement de M, on utilise aussi la notation globale : formule; on parle ici de torseur de vitesse.

    Mouvement de translation

    Les composantes du mouvement liées à une translation pure correspondent à un déplacement uniquement horizontal ou vertical de la caméra ou de l’objet observé, abstraction faite de tout mouvement en profondeur. Ces composantes de translation permettent de mesurer la profondeur relative des points d’une scène, en utilisant le fait que les objets proches bougent en valeur relative plus que les objets lointains. C’est l’effet de parallaxe.

    Mouvement en profondeur

    Les composantes concernant la profondeur du mouvement décrivent les translations de l’objet ou de la caméra sur l’axe du « regard ». Elles permettent de détecter une cible qui s’éloigne (par exemple une « proie ») ou qui se rapproche (par exemple un « prédateur ») et de mesurer le « temps de collision ».

    Mouvement angulaire

    Enfin, les composantes angulaires du mouvement sont liées à des rotations de l’objet ou de la caméra. Elles se distinguent mieux en vision périphérique, c’est-à-dire avec un large champ de vue. Ces mouvements angulaires permettent de « suivre des yeux » un objet en mouvement, de le maintenir au centre de la rétine ou du capteur visuel. Ils servent donc à stabiliser l’image sur la rétine, et jouent aussi un rôle fondamental que l’on comprend depuis peu : ils permettent au système de s’auto-calibrer. Ce point, absolument décisif, mérite une explication détaillée.

    3. Biologique ou artificiel, un capteur visuel se calibre lui-même

    Lors des mouvements de pure rotation effectués par l’œil, la vue de la scène n’est pas déformée sur la rétine ; on la regarde simplement depuis un autre point de vue, c’est un simple « déplacement angulaire ».

    Dans le cas d’une caméra, si elle est mal calibrée, essayer de faire une telle rotation peut en revanche générer une déformation : les paramètres géométriques ou optiques du capteur étant erronés, la rotation effectuée n’est pas pure. Concrètement, une caméra mal calibrée donne l’impression que le monde observé n’est plus rigide mais se déforme lors du mouvement.

    On peut faire de ce problème un outil clé de la réflexion sur la vision artificielle : si au cours d’un déplacement angulaire, une déformation inattendue de l’image apparaît, on en déduit que les paramètres sont erronés. En les modifiant de façon à réduire la déformation observée, on se rapproche alors d’une situation où la caméra est mieux calibrée. En corrigeant complètement cette erreur, à l’aide de mouvements actifs et intentionnels du capteur, on peut donc parvenir à calibrer automatiquement la caméra.

    Ce procédé s’applique lors de l’observation de n’importe quelle scène comportant suffisamment d’éléments immobiles à observer (car si les objets de la scène bougent, cela risque évidemment de perturber les calculs).

    Nous avons là un exemple crucial de processus adaptatif, inspiré de la biologie et utilisé désormais en robotique. Il est sûrement présent dans les systèmes biologiques : en effet, la grenouille ne peut estimer correctement le mouvement de la mouche que si elle peut se calibrer.

    Pour le dictionnaire, adapter veut dire changer un « comportement » pour lui permettre de réagir dans de nouvelles « circonstances ». Plus précisément, il y a deux acteurs : le premier est l’objet, c’est à dire ce qui est adapté (c’est souvent un mécanisme, un instrument, un dispositif, un réflexe ou un comportement) ; le second est le sujet, c’est à dire le mécanisme qui adapte.

    Mais une telle définition n’est pas suffisante. Prenons, par exemple, le cas d’un animal qui change de conditions de vie. Il est clair qu’il doit « adapter » son comportement au nouvel environnement dans lequel il est plongé. C’est ce qu’il fera, mais à partir de ce qu’il savait déjà faire avant, c’est à dire d’un modèle de référence. Bien sûr, ceci a lieu seulement s’il y est obligé par une variation de son environnement. D’autre part, il le fera dans un but précis, sa survie en l’occurrence.

    Dans un processus d’adaptation, il y a donc en plus d’un objet et d’un sujet : un modèle de référence qui permet de passer d’un fonctionnement habituel à un nouveau fonctionnement et une tâche à accomplir qui motive le passage d’un comportement à un autre. Tout ceci a lieu dans un environnement dont une modification suscite le processus d’adaptation.

    Il y a finalement cinq éléments en jeu et il semble raisonnable d’énoncer : l’adaptation correspond à un processus par lequel un sujet, lorsqu’il enregistre une variation de l’environnement, modifie les paramètres d’un objet, à partir d’un modèle de référence, dans le but d’accomplir une tâche perceptive spécifique.

    En pratique, beaucoup d’algorithmes d’« autocalibration » mettent en œuvre les principes précédents pour estimer ou corriger les paramètres de calibration géométriques et optiques du capteur. Introduits depuis une décennie, ces procédés peuvent être utilisés avec plusieurs types de déplacements, implémentés de différentes manières selon l’application considérée.

    Quand les oreilles permettent de mieux voir

    Si les mouvements angulaires jouent un rôle précieux dans le processus d’autocalibration, il reste qu’il faut ensuite les compenser, si l’on veut observer la scène visuelle de manière « stabilisée ».

    Puisque ces rotations ne créent pas de déformation de l’image, mais reviennent seulement à regarder la scène sous un autre angle, elles peuvent très facilement être compensées : il suffit de décaler l’image elle-même de la valeur angulaire correspondante. En vision biologique, ce mécanisme de compensation s’appelle le « réflexe optocinétique ».

    Ce dernier est en outre souvent associé à un autre réflexe, qui lui, repose sur les capteurs de force dits « inertiels » situés dans l’oreille interne des animaux et des humains et qui forment le système vestibulaire. C’est le « réflexe vestibulo-oculaire » qui mesure les vitesses angulaires afin de stabiliser le regard.

    Ce système vestibulaire mesure également les accélérations angulaires et linéaires de la tête, pour nous permettre de percevoir notre mouvement propre et donc de ne pas perdre l’équilibre.

    Serait-ce la raison pour laquelle l’œil est rond ?

    Mais abandonnons un peu les algorithmes et les considérations théoriques pour en revenir à notre grenouille : il n’est pas impossible que le fait que celle-ci ait les yeux parfaitement ronds soit intimement lié à cette propriété géométrique des rotations.

    schéma de rotation de l'oeil

    Lors d’une rotation de l’œil, la vue d’un objet subit un simple déplacement sur la rétine, sans déformation.

    En effet, chose étonnante, alors que tous les autres organes moteurs changent plus ou moins de forme d’un animal à l’autre, l’œil est lui presque universellement rond ! Une explication satisfaisante à ce phénomène consisterait à dire que les systèmes biologiques doivent être capables de réaliser des rotations oculaires parfaites pour pouvoir « recoller » les deux vues (sans tenir compte de la profondeur des objets, de leur éventuelle occlusion, etc.) afin de les faire coïncider par un simple « glissement angulaire » de l’image. En accomplissant des rotations pures, l’œil se construit véritablement une vue panoramique de son environnement.

    On utilise ce même procédé en vision artificielle pour construire de grandes vues composites (on parle de mosaïques) à partir de plusieurs photos.

    L’avantage d’avoir deux yeux devant ou sur les côtés

    Avec un œil de chaque côté de la tête, la grenouille est manifestement désavantagée par rapport aux mammifères supérieurs : elle perçoit en effet deux images totalement distinctes l’une de l’autre. Impossible de combiner les éléments de cette paire d’images… Mais elle y gagne par ailleurs puisque son champ visuel plus large lui permet de mieux détecter les mouvements, linéaires ou angulaires, des proies ou des prédateurs potentiels : un atout précieux pour survivre ! Et puis, de cette manière, le traitement des informations est considérablement plus simple à réaliser : encore un avantage non négligeable quand on est pourvu d’un système neuronal rudimentaire, qui utilise ici le mouvement pour calculer les aspects géométriques de la scène.

    En revanche, avec deux yeux frontaux, la combinaison des images telle que nous l’avons décrite précédemment peut se faire, non plus par la succession d’images proches, mais par leur superposition instantanée : le déplacement est donc spatial et non plus temporel.

    Vision et orientation spatiale : des points de fuite à la perception de la verticale

    Quant aux mouvements de translation, ils servent aussi à la perception de la verticale et à l’identification de l’horizon. En un mot, ils permettent de détecter l’orientation spatiale. Essayons de comprendre pourquoi.

    détection de la verticale

    Détection de l’horizon et de la verticale dans une image.

    Les lois élémentaires de l’optique nous enseignent que, dans le cas d’une translation pure, les points infiniment lointains, à l’horizon, restent toujours immobiles. Ces points correspondent à des « points de fuite », c’est-à-dire des directions de l’espace. Visuellement, ils sont très faciles à détecter, puisqu’ils sont stationnaires. Leur perception est donc immédiate, presque automatique.

    L’un des plus fondamentaux de ces points de fuite est celui qui indique la direction verticale. Son identification permet à la grenouille et au robot de stabiliser leur « regard » et leur « corps » afin d’éviter tout « roulis » ou « tangage ». La direction verticale se détecte à partir d’une combinaison d’informations visuelles (par exemple l’orientation verticale des arbres et des bâtiments) et d’informations inertielles. Là encore, c’est en bougeant que l’on perçoit la géométrie de la scène.

    À un niveau plus théorique, la géométrie nous enseigne que les points de fuite à l’horizon sont situés sur un plan, dit à l’infini, où les « parallèles se coupent ». Localiser ce plan permet de s’orienter dans la scène tridimensionnelle dont l’image est issue.

    4. Utiliser la vision en robotique autonome

    Une fois achevé son travail d’analyse visuelle, la grenouille peut entreprendre de planifier le mouvement qui va lui permettre de gober sa mouche.

    De la perception visuelle aux tâches robotiques

    De la même manière, en robotique, c’est notamment à partir de mesures visuelles que des tâches motrices peuvent être accomplies de façon autonome et maîtrisée.

    Caméras utilisées pour la vision en robotique

    Caméras utilisées pour la vision en robotique.
    © Inria / Photo A. Eidelman

    Là encore, l’analogie avec les mouvements oculaires ou le contrôle de la posture chez les animaux est importante.

    Par exemple, les saccades oculaires sont utilisées aussi bien en robotique que chez l’animal et les informations inertielles sont elles aussi combinées de façon analogue.

    Les limites de la vision robotique

    Les avancées réalisées grâce à l’approche géométrique ont beau être spectaculaires, elles n’ont pas pour autant résolu tous les problèmes de la vision par ordinateur. Imaginons, pour prendre un exemple simple, qu’un système robotique soit amené à s’orienter dans un environnement naturel comme une forêt. Un tel lieu se prête évidemment très mal à la modélisation géométrique, et il y a fort à parier que les techniques décrites précédemment seront difficiles à appliquer, laissant notre pauvre robot complètement désemparé…

    Et pourtant un insecte aussi peu évolué que la mouche n’éprouve aucune difficulté à s’orienter dans ce genre d’environnement, et ce malgré le fait que son « ordinateur embarqué » – son petit cerveau – soit extrêmement rudimentaire, puisque limité à quelques milliers de neurones.

    Il semble donc que l’on soit passé à côté d’un ou plusieurs aspects absolument essentiels de la vision biologique. L’un d’eux est l’adaptation. En vision, cela signifie d’abord l’attention, c’est-à-dire la faculté de concentrer dynamiquement la perception visuelle sur une partie de la scène à observer et, avant tout, sur les attributs de cette scène (couleur, forme…) qui paraissent opportuns pour la tâche perceptive en cours, afin de réagir rapidement et efficacement. Cela concerne en second lieu la mémoire, c’est-à-dire la capacité à mobiliser des informations a priori pour décrypter la scène observée, afin de se concentrer sur l’analyse de ses seuls aspects inattendus. Enfin, la perception visuelle a cette capacité de regrouper instantanément plusieurs éléments disparates pour « halluciner » un objet déjà connu à partir d’une vue partielle de celui-ci.

    Conclusion : richesse et limites de l’analogie entre la vision artificielle et la vision biologique

    Robot mobile expérimental

    Robot mobile expérimental, muni d’une caméra sur bras, capable d’évoluer dans des environnements structurés en s’asservissant au moyen de la vision.
    © Inria / Photo A. Eidelman

    Vision artificielle et vision biologique ne peuvent donc être confondues : les modèles de connaissance des mécanismes étudiés en neurosciences diffèrent des modèles de fonctionnement utilisés en robotique, et les deux types de systèmes sont si différents qu’ils sont bien entendu irréductibles l’un à l’autre. De même, s’obstiner à développer une robotique plus ou moins anthropomorphique n’aurait aucun sens ; dans bien des cas, le résultat est même au contraire plus satisfaisant pour peu qu’on se libère des contraintes biologiques.

    En revanche, qu’ils soient artificiels ou animaux, les deux types de systèmes sont amenés à accomplir des tâches comparables, et l’un comme l’autre doivent émettre des hypothèses sur les caractéristiques de l’environnement qu’ils perçoivent à partir des informations sensorielles. Et nul doute que cette synergie stimulante entre sciences de la vie et mathématiques appliquées permettra de mieux comprendre les phénomènes de perception biologiques comme d’améliorer, en retour, les algorithmes de vision robotique.

    Pour en savoir plus sur les liens entre vision robotique et vision biologique, nous vous proposons quelques références.

    Nous vous proposons de consulter :

    Newsletter

    Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité

    Niveau de lecture

    Aidez-nous à évaluer le niveau de lecture de ce document.

    Si vous souhaitez expliquer votre choix, vous pouvez ajouter un commentaire (Il ne sera pas publié).

    Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !

    Thierry Viéville

    Directeur de recherche Inria dans l'équipe MNEMOSYNE.

    Voir le profil

    Odile Lausecker

    Conceptrice-réalisatrice au sein de l'équipe multimédia d'Inria.

    Voir le profil

    Découvrez le(s) dossier(s) associé(s) à cet article :

    DossierRobotique
    Intelligence artificielleInteraction Humain/Machine

    La robotique : une discipline aux facettes multiples

    DossierCulture & Société

    Mathématiques et Mouvement