Brevet FR3148311A1 — publié le 20241101

L’invention concerne un dispositif d’estimation de profondeurs à partir d’au moins deux images (img1, img2) captées par au moins une caméra, le dispositif comportant un réseau de neurones récurrent implémenté sur un ordinateur et comprenant : – un module (10a-10c) d’extraction de caractéristiques des images (img1, img2) ; – une unité de correspondance (11) configurée pour déterminer des évolutions possibles de position et de déplacements (M1, M2, Mn) entre les caractéristiques des images (img1, img2) ; – une unité récurrente (13) permettant de déterminer une correction (Δp-1) d’une matrice d’inverse de profondeur (P-1) en fonction des évolutions possibles de position et de déplacements entre les caractéristiques des images issues de l’unité de correspondance et d’éléments de contexte ; et – une unité optique (16), intégrant les propriétés optiques (Opt1, Opt2, Pos), configurée pour transmettre, à ladite unité récurrente, les évolutions possibles de position et de déplacements en intégrant lesdites propriétés optiques. Figure pour l’abrégé : Fig.4. DISPOSITIF D’ESTIMATION DE PROFONDEURS ADAPTATIF ET ROBOT MOBILE AUTONOME ASSOCIE Domaine de l’invention L’invention concerne le domaine de la vision par ordinateur, et plus particulièrement, un dispositif permettant d’estimer les profondeurs d’une image au moyen d’au moins deux images d’une scène. Ces images peuvent être issues d’une ou plusieurs caméras, par exemple les caméras d’un robot mobile autonome. Ces robots mobiles autonomes sont utilisés dans un grand nombre de domaines, typiquement les engins terrestres, les engins aériens ou encore les engins marins ou sous-marins. Ainsi, l’invention peut trouver une application dans chacun de ces domaines. L’invention concerne plus particulièrement l’amélioration de la compréhension de l’environnement pour la détection et le contournement d’obstacles pour des applications de navigation autonome. En outre, l’invention vise spécifiquement un dispositif d’estimation de profondeurs « adaptatif », c’est-à-dire pouvant s’adapter à une grande variétés de robots mobiles autonomes, notamment avec des moyens de vision divers et variés. Etat de la technique Pour analyser l’environnement d’un robot mobile autonome, les caméras stéréo ou les caméras temps de vol font partie des solutions couramment utilisées pour estimer la distance des éléments proches du robot en déterminant les profondeurs de ces éléments sur les images captées par le robot. Cependant, ces solutions imposent de nombreuses contraintes géométriques sur la position et le type de caméra utilisé. En outre, les approches stéréoscopiques sont par construction limitées pour la détection de surface transparente, réfléchissante ou sans texture visible. D’autre part, en robotique mobile, la nécessité de percevoir le monde à 360° couplé aux formes et contraintes variables des robots limite l’utilisation des caméras soumises à une contrainte géométrique de position. Pour détecter la distance des objets proches d’un robot, les caméras lidars 2D ou 3D sont typiquement une alternative fréquemment utilisée mais reste plus coûteuse au nombre de point au mètre carré. Ils peuvent aussi, dans certains cas, manquer des obstacles fins ou certaines surfaces. En utilisant des caméras classiques, il est également possible d’estimer les profondeurs des éléments d’une image à partir de plusieurs images, prises par deux caméras ou à deux instants consécutifs par une seule caméra. Pour ce faire, la publication « RAFT: Recurrent All-Pairs Field Transforms for Optical Flow », Zachary Teed et Jia Deng (2020) propose un dispositif d’estimation de flow optique tel qu’illustré sur la de l’état de la technique, c’est-à-dire un dispositif permettant d’estimer le déplacement entre les pixels d’une image à une autre. Ce dispositif utilise deux images img1 , img2 introduites dans un réseau de neurones récurrent. Ce réseau de neurones comporte deux modules 10a - 10b d’extraction des caractéristiques de la première et de la seconde image img1 , img2 ainsi qu’un module 10c d’extraction des éléments de contexte de la première image img1 . A partir des éléments extraits des modules 10a - 10b , une unité de correspondance 11 0 détermine une matrice de correspondances. Dans l’exemple de cette publication, l’unité de correspondance 11 0 calcule des matrices M1 , M2 , Mn à quatre dimensions pour intégrer les possibles évolutions de position et les déplacements en ligne et en colonne induits. Dans une variante de cette publication, la publication « RAFT- Stereo : Multilevel Recurrent Field Transforms for Stereo Matching », Lahav Lipson & all (2021) propose d’utiliser une seule caméra à deux instants distincts ainsi qu’une matrice à trois dimensions pour intégrer les possibles évolutions de position et les déplacements en ligne uniquement afin d’estimer la disparité entre les images. Dans ces deux publications, à partir de cette matrice de correspondances, une unité récurrente 13 0 est mise en œuvre pour déterminer une matrice de disparités D contenant des estimations de distances entre chaque pixel des deux images img1 , img2 . Pour ce faire, l’unité récurrente 13 0 calcule, à chaque occurrence, un différentiel de disparité Δd à appliquer à la prochaine occurrence pour obtenir la matrice de disparités D la plus cohérente possible en fonction des déplacements mesurés entre les deux images img1 , img2 . Pour ce faire, l’état interne Ei des réflexions de l’unité récurrente 130 peut être propagé à chaque occurrence. Ainsi, le différentiel de disparité Δd est introduit dans un sommateur 14 faisant évoluer, à chaque occurrence, la matrice de disparités D initialement fixé à une première valeur, typiquement 0. Pour chaque occurrence, un générateur d’hypothèses 120 utilise la matrice de disparités D précédemment fixée pour rechercher, dans l’unité de correspondance 110 , les possibles évolutions de position et de déplacements correspondants dans les matrices M1 , M2 , Mn . Plus précisément, tel qu’illustré sur la , le générateur d’hypothèses comporte un premier module 120a qui détermine un ensemble d’hypothèses de déplacements entre les deux images img1 , img2 . Sur la base de ces hypothèses, un second module 120b extrait les possibles évolutions correspondantes, des matrices M1 , M2 , Mn calculées par l’unité de correspondance 110 , afin de les transmettre à l’unité récurrente 130 . Ainsi, à la fin des différentes occurrences, il est possible d’obtenir la matrice de disparités D la plus pertinente si bien que la première image img1 peut être représentée en fonction des variations de profondeurs estimées à partir de cette la matrice de disparités D . Outre ces éléments illustrés dans ces publications, les images img1 , img2 introduites en entrée du réseau de neurones récurrent subissent également une rectification, dans les modules 15a , 15b , pour normaliser ces images par rapport à des matrices intrinsèques Opt1 , Opt2 et extrinsèques Pos des caméras. Les matrices intrinsèques Opt1 , Opt2 illustrent les paramètres physiques de chaque caméra : la longueur focale, la distorsion… La matrice extrinsèque Pos illustre la position relative entre ces caméras. Ainsi, les images img1 , img2 rectifiées sont normalisées en entrée de l’unité de correspondance 11 0 et du module 10c . L’apprentissage du réseau de neurones récurrent est donc réalisé sur la base de cette architecture spécifique avec des images normalisées. Cependant, les rectifications réalisées par les modules 15a , 15b sont efficaces uniquement pour des caméras dont les optiques présentent des correspondances uniformes entre les pixels et la variation de profondeur possible. Typiquement, tel qu’illustré sur la , la rectification est classiquement utilisée avec deux caméras sténopé 17a , ou « pinhole » dans la littérature anglo-saxonne, configurées pour capter la même scène Sc avec un décalage latéral entre les deux caméras 17a . Ainsi, cette configuration permet d’estimer la profondeur dans la zone de recouvrement Zr entre les deux caméras 17a . Cependant, cette zone de recouvrement Zr peut être réduite et, avec les rectifications réalisées, il n’est pas possible d’utiliser des caméras avec des projections variables spatialement, tels que les caméras de type hypergone, ou « fisheye » dans la littérature anglo-saxonne, ou omnidirectionnel. Par ailleurs, il n’est pas non plus possible d’utiliser des caméras qui sont décalées l’une par rapport à l’autre avec des variations autres qu’un décalage latéral. Il s’ensuit que ce dispositif d’estimation ne peut pas s’adapter à tous les types de systèmes de vision. Compte tenu de l’état de la technique, le problème technique de l’invention est donc de fournir un dispositif d’estimation de profondeurs permettant de s’adapter à tous les types de systèmes de vision afin qu’il puisse être implémenté dans diverses robots mobiles autonomes, indépendamment du système de vision utilisé. Pour répondre à ce problème technique, l’invention propose d’utiliser une unité optique intégrant les propriétés optique du système de vision de sorte à transmettre à l’unité récurrente les évolutions possibles de position et de déplacements issues de l’unité de correspondance en intégrant lesdites propriétés optiques. Pour ce faire, le générateur d’hypothèses de distance est calculé sur la base de l’inverse de la profondeur et l’unité récurrente est adaptée pour déterminer une correction d’une matrice d’inverse de profondeur. A partir de cette matrice d’inverse de profondeur, il est possible d’obtenir, après les différentes occurrences, la profondeur d’une image au moyen d’au moins deux images d’une scène. Ainsi, selon un premier aspect, l’invention concerne un dispositif d’estimation de profondeurs à partir d’au moins deux images captées par au moins une caméra, le dispositif comportant un réseau de neurones récurrent implémenté sur un ordinateur et comprenant : – un module d’extraction de caractéristiques d’une première image ; – un module d’extraction de caractéristiques d’une seconde image ; – un module d’extraction d’éléments de contexte d’une des images ; et – une unité de correspondance configurée pour déterminer des évolutions possibles de position et de déplacements entre les caractéristiques des images. L’invention se caractérise en ce que ledit réseau de neurones récurrent intègre également : – une unité récurrente permettant de déterminer une correction d’une matrice d’inverse de profondeur en fonction des évolutions possibles de position et de déplacements entre les caractéristiques des images issues de l’unité de correspondance et des éléments de contexte issus du module d’extraction d’éléments de contexte ; à chaque occurrence de l’unité récurrente, ladite matrice d’inverse de profondeur étant modifiée dans un sommateur ; – un générateur d’hypothèses d’inverses de profondeur configuré pour transmettre, à ladite unité récurrente, les évolutions possibles de position et de déplacements issues de l’unité de correspondance en fonction d’hypothèses générées sur la base de ladite matrice d’inverse de profondeur ; et – une unité optique, intégrant les propriétés optiques de l’au moins une caméra utilisée pour capter les images, configurée pour transmettre, à ladite unité récurrente, les évolutions possibles de position et de déplacements issues de l’unité de correspondance en intégrant lesdites propriétés optiques ; ledit réseau de neurones récurrent étant entrainé en fonction desdites propriétés optiques de l’unité optique. L’invention permet ainsi de fournir un dispositif d’estimation de profondeurs qui peut être implémenté pour tous les types de système de vision. Ainsi, l’architecture du dispositif d’estimation de profondeur n’a pas besoin d’être adaptée pour un robot mobile autonome intégrant des caméras avec des projections variables spatialement, tels que les caméras de type fisheye ou omnidirectionnel. Contrairement aux publications « RAFT: Recurrent All-Pairs Field Transforms for Optical Flow », Zachary Teed et Jia Deng (2020) et « RAFT- Stereo : Multilevel Recurrent Field Transforms for Stereo Matching », Lahav Lipson & all (2021) dans lesquelles le générateur d’hypothèses génère plusieurs matrices de disparités possibles entre les pixels des images, l’utilisation d’une unité optique dans la boucle de récurrence ne permet pas d’utiliser cette notion de disparité puisque les images ne sont pas rectifiées. Pour répondre à cette problématique, le générateur d’hypothèses de distance et l’unité récurrente utilisent l’inverse de la profondeur. L’invention est issue d’une observation selon laquelle cette notion d’inverse de la profondeur est efficace avec la structure des publications « RAFT: Recurrent All-Pairs Field Transforms for Optical Flow », Zachary Teed et Jia Deng (2020) et « RAFT- Stereo : Multilevel Recurrent Field Transforms for Stereo Matching », Lahav Lipson & all (2021) pour intégrer une unité optique en amont de l’unité récurrente. Plusieurs méthodes sont possibles pour intégrer cette unité optique. Dans un premier mode de réalisation, ladite unité optique est placée dans ladite unité de correspondance de sorte que les évolutions possibles de position et de déplacement soient calculées en fonction desdites propriétés optiques. Dans ce mode de réalisation, le générateur d’hypothèses d’inverse de profondeur peut donc récupérer les évolutions possibles de position et de déplacement à transmettre à l’unité des récurrentes en intégrant les propriétés optiques car les évolutions possibles sont calculées en intégrant ces propriétés optiques. Ainsi, lorsque les évolutions possibles sont calculées et que l’unité récurrente est utilisée en fonction des diverses hypothèses d’inverse de profondeur, il n’est plus nécessaire de recalculer l’influence des propriétés optiques lors des différentes occurrences, limitant ainsi le temps de traitement de ces propriétés optiques lors des occurrences de l’unité récurrente. Ce mode de réalisation nécessite une augmentation des calculs avant l’utilisation de l’unité récurrente mais simplifie ces calculs lors des différentes occurrences. En fonction du nombre d’occurrences et du nombre d’hypothèses d’inverse de profondeur utilisées, cette option peut donc s’avérer intéressante. Dans un second mode de réalisation, l’unité optique peut être placée dans le générateur d’hypothèses d’inverse de profondeur entre un premier module qui détermine un ensemble d’hypothèses de déplacement entre les images et un second module qui extrait les possibles évolutions correspondantes aux hypothèses du premier module. Dans ce mode de réalisation, les possibles évolutions sont recherchées dans l’unité de correspondance en fonction des propriétés optiques. Ainsi, le calcul de l’unité de correspondance nécessite un coût de calcul similaire à celui de l’état de la technique et chaque occurrence requiert un coût d’analyse supplémentaire car il convient de calculer l’évolution des hypothèses de déplacement entre les images en fonction des propriétés optiques. Ce mode de réalisation peut néanmoins être intéressant lorsque le coûts de calcul des propriétés optiques est limité. Dans un autre mode de réalisation, l’unité de correspondance est placée dans l’unité optique entre le premier module et le second module du générateur d’inverse de profondeur. Dans ce mode de réalisation, les évolutions possibles sont recherchées dans l’unité optique par l’unité de correspondance en fonction des propriétés optiques. Plus précisément, au lieu de calculer l’ensemble des évolutions possibles de position et de déplacement avant de mettre en œuvre les différentes boucles d’occurrences, ce mode de réalisation propose de les calculer à chaque occurrence et en fonction des différentes hypothèses de déplacement entre les images. Lors du calcul de ces évolutions, les propriétés optiques sont prises en considération. Ainsi, ce mode de réalisation permet de mettre en œuvre directement les différentes boucles d’occurrences mais le temps de traitement de chaque boucle d’occurrences est plus important que dans les autres modes de réalisation car il est nécessaire de calculer les évolutions possibles de position et de déplacement pour chaque hypothèse. Encore une fois, en fonction du nombre d’hypothèses et d’occurrences, cette solution peut être intéressante en termes de coûts de calcul. Outre ces différentes implémentations possibles de l’unité optique, il est à noter que les deux images peuvent être captées par une seule caméra à deux instants consécutifs ou par plusieurs caméras, typiquement deux caméras séparées par une distance fixe. Par ailleurs, avec l’invention, l’orientation entre les différentes caméras peut être variable et il n’est plus nécessaire que celles-ci soient orientées parallèlement pour mettre en œuvre l’invention. Bien que l’invention puisse être mise en œuvre avec au moins deux images, il est également possible d’utiliser plus de deux images pour augmenter la zone de recouvrement dans laquelle il est possible d’estimer la profondeur. Ainsi, lorsque trois images sont captées par trois caméras, un module d’extraction de caractéristiques d’une troisième image permet de transmettre à l’unité de correspondance ou à l’unité optique les caractéristiques de la troisième image. En outre, le dispositif d’estimation de profondeur peut également intégrer un module de fusion permettant de déterminer quelles images doivent être utilisées pour estimer la profondeur en cas de recouvrement entre plusieurs images possibles. Selon un second aspect, l’invention concerne également un robot mobile autonome comportant des moyens de déplacement, un système de vision intégrant au moins une caméra, et un dispositif d’estimation de profondeur à partir d’au moins deux images captées par la dit au moins une caméra du système de vision selon le premier aspect de l’invention. Brève description des figures L’invention sera bien comprise à la lecture de la description qui suit dont les détails sont donnés à titre d’exemple, et développés en relation avec les figures annexées, dans lesquelles des références identiques se rapportent à des éléments identiques : la est une représentation schématique d’un dispositif d’estimation de profondeur à partir de deux images de l’état de la technique ; la est une représentation schématique détaillée du dispositif d’estimation de profondeur de l’état de la technique de la ; la est une représentation schématique en coupe d’un système de vision de l’état de la technique dans lequel peut être mis en œuvre un dispositif d’estimation de profondeur correspondant aux figures 1 et 2 ; la est une représentation schématique d’un dispositif d’estimation de profondeur à partir de deux images selon un premier mode de réalisation de l’invention ; la est une représentation schématique d’un dispositif d’estimation de profondeur à partir de deux images selon un second mode de réalisation de l’invention ; la est une représentation schématique d’un dispositif d’estimation de profondeur partir de deux images selon troisième de réalisation de l’invention ; la est une représentation schématique d’un système de vision selon un premier mode de réalisation de l’invention permettant de mettre en œuvre un dispositif d’estimation de profondeur selon l’une des figures 4 à 6 ; la est un système de vision selon un second mode de réalisation de l’invention permettant de mettre en œuvre un dispositif d’estimation de profondeur selon l’une des figures 4 à 6 ; la est une représentation schématique d’un système de vision selon un mode de réalisation de l’invention avec trois caméras ; et la est une représentation schématique d’un dispositif d’estimation de profondeur à partir de trois images selon un mode de réalisation de l’invention. Description détaillée de l’invention La illustre un dispositif d’estimation de profondeur à partir de deux images img 1 et img 2 introduites dans un réseau de neurones récurrent. Ce réseau de neurones récurrent comporte deux modules 10 a et 10 b d’extraction des caractéristiques de la première et de la seconde image img 1 img 2 ainsi qu’un module 10 c d’extraction des éléments de contexte de la première image img 1 . Ces modules 10a - 10c peuvent correspondre à ceux de l’état de la technique et, par exemple, les modules 10 a - 10 c peuvent être réalisés par des réseaux de type Resnet 50. À partir des caractéristiques extraites des modules 10 a et 10 b , une unité de correspondance 11 détermine une matrice de correspondance. Plus précisément, l’unité de correspondance 11 détermine dans cette matrice de correspondance un ensemble d’évolutions possibles de position et de déplacement M 1 , M 2 , M n entre les caractéristiques des images img 1 et img 2 . Dans le mode de réalisation de la , ces évolutions possibles de position et de déplacement M1 , M2 , Mn calculées en fonction des propriétés optiques car l’unité optique 16 est intégrée dans l’unité de correspondance 11 . Ainsi, pour chaque évolution possible de position ou de déplacement, les caractéristiques des images img1 et img2 sont transformées en fonction des propriétés optiques O pt1 , O pt 2 , P os transmises à l’unité optique 16 . Plus précisément, les propriétés optiques intègrent les matrices intrinsèques Opt1 , Opt2 qui illustrent les paramètres physiques de chaque caméra tels que la longueur focale ou la distorsion, ainsi que la matrice extrinsèque Pos qui illustre la position relative entre ces caméras. Il est à noter que la position relative entre les caméras peut intégrer plusieurs dimensions si bien qu’il est possible, dans la matrice extrinsèque Pos , d’intégrer à la fois des décalages en distance et en orientation. Lorsque les évolutions possibles de position et de déplacement M1 , M2 , Mn sont calculées en intégrant les propriétés optiques, le réseau de neurones récurrent peut mettre en œuvre une unité récurrente 13 permettant de déterminer une correction Δp -1 d’une matrice d’inverse de profondeur P-1 . Pour ce faire, l’unité récurrente 13 calcule à chaque occurrence un différentiel d’inverse de profondeur Δp-1 à appliquer à la prochaine occurrence pour obtenir la matrice d’inverse de profondeur P-1 la plus cohérente possible en fonction du déplacement mesuré entre les deux images img 1 et img 2 . Pour ce faire, l’état interne E i des réflexions de l’unité récurrente 13 peut être propagé à chaque occurrence. Ainsi, le différentiel d’inverse de profondeur Δp-1 est introduit dans un sommateur 14 faisant évoluer, à chaque occurrence, la matrice d’inverse de profondeur P-1 initialement fixée à une première valeur, par exemple 0 dans le cas de la . Il est à noter que l’unité récurrente 13 diffère structurellement de l’unité récurrente 130 de l’état de la technique car le calcul d’une matrice d’inverse de profondeur P-1 est différent du calcul d’une matrice de disparité D . L’unité récurrente 13 peut correspondre à celle décrite dans les publications « RAFT: Recurrent All-Pairs Field Transforms for Optical Flow », Zachary Teed et Jia Deng (2020) et « RAFT- Stereo : Multilevel Recurrent Field Transforms for Stereo Matching », Lahav Lipson & all (2021). Ainsi, l’unité récurrente 13 peut intégrer une GRU, pour « Gated Recurrent Unit » dans la littérature anglo-saxonne, convolutionnelle en concaténant les entrées. Une telle unité récurrente 13 combine les avantages des réseaux de neurones de type GRU et de type CNN, pour « Convolutional Neural Network » dans la littérature anglo-saxonne. En variante, la structure de la GRU et du CNN peut être adapté au besoin spécifique de génération de la matrice d’inverse de profondeur P-1 . Par ailleurs, pour chaque occurrence, un générateur d’hypothèses 12 utilise la matrice d’inverse de profondeur P-1 précédemment calculé pour rechercher, dans l’unité de correspondance 11 , les évolutions possibles de position et de déplacement correspondant dans les matrices M1 , M2 , Mn . Plus précisément, le générateur d’hypothèses 12 correspond à un générateur d’hypothèses d’inverse de profondeur et il intègre préférentiellement un premier module 12 a qui détermine un ensemble d’hypothèses de déplacements entre les images img 1 e t img 2 et un second module 12 b qui extrait les possibles évolutions correspondantes aux hypothèses du premier module 12 a . Ainsi, le premier module 12 a peut être configuré pour générer, à chaque occurrence, un nombre d’hypothèses comprises entre 60 et 100, par exemple 80. Ces hypothèses peuvent être générées de manière non uniforme autour de la matrice d’inverse de profondeur P-1 précédemment calculée. Lorsque l’ensemble de ces hypothèses sont générées, le second module 12b extrait les possibles évolutions correspondantes aux hypothèses afin de les transmettre à l’unité récurrente 13 . Avec cette structure particulière de réseaux de neurones récurrent, il est possible de réaliser l’apprentissage du réseau de neurones récurrent en fonction des propriétés optiques intégrées dans l’unité optique 16 . À l’issue de cette phase d’apprentissage, il est possible d’estimer la profondeur entre deux images pour peu que ces deux images img 1 img 2 présentent une zone de recouvrement Zr . Tel qu’illustré sur la , en utilisant deux caméras 17 a de type sténopé, il est possible d’améliorer la zone de recouvrement par rapport à l’état de la technique puisqu’une des deux caméras peut désormais être orientée angulairement. Par ailleurs, tel qu’illustré sur la , il est également possible d’utiliser d’autres types de caméras, telles qu’une caméra 17 b omnidirectionnelle. Le mode de réalisation de la illustre une variante d’implémentation de l’invention dans laquelle l’unité optique 16 est placée dans le générateur d’hypothèses d’inverse de profondeur 12 . Plus précisément, l’unité optique 16 est placée entre le premier module 12 a et le second module 12 b de sorte que les évolutions possibles recherchées dans l’unité de correspondance 11 ne prennent pas en compte les propriétés optiques mais que celles-ci soient prise en compte à chaque occurrence dans le générateur d’hypothèses d’inverse de profondeur 12 . Ainsi, l’unité optique 16 reçoit également les propriétés optiques Opt1 , Opt2 , Pos et elle est mise en œuvre à chaque occurrence de sorte à transmettre les hypothèses du premier module 12a au second module 12 b en intégrant les modifications optiques. Le mode de réalisation de la diffère des modes de réalisation des figures 4 et 5 en ce que l’unité de correspondance 11 est placée dans l’unité optique 16 , elle-même placée entre le premier module 12 a et le second module 12 b . Dans ce mode de réalisation, les matrices M1 , M2 , Mn ne sont pas calculées avant de mettre en œuvre les différentes occurrences mais à chaque occurrence en fonction des hypothèses de déplacement générées par le premier module 12 a . Les évolutions possibles correspondantes à ces hypothèses sont ainsi calculées par l’unité de correspondance 11 en intégrant les propriétés optiques Opt1 , Opt2 , Pos . Quel que soit l’implémentation sélectionnée, l’invention peut être mise en œuvre pour des caméras de type sténopé, fisheye ou encore des caméras omnidirectionnelles. Par ailleurs, les images img 1 et img 2 peuvent être captées par une seule caméra à deux instants consécutifs ou par deux caméras distinctes séparées par une distance fixe et une orientation potentiellement variable. Le mode de réalisation de la illustre également qu’au moins trois caméras 17 a peuvent être utilisées pour capter trois images img 1 , img 2 et img 3 d’une même scène, par exemple pour augmenter la surface de détection. Pour prendre en compte plus de deux images, il est possible d’intégrer les propriétés optiques et les caractéristiques de la troisième image img 3 , tel qu’illustré sur la . Pour ce faire, un autre module 10d d’extraction de caractéristiques de la nouvelle image img3 est utilisé afin de transmettre à l’unité de correspondance 11 ou à l’unité optique 16 les caractéristiques de la nouvelle image img3 . La correspond au mode de réalisation de la en intégrant une troisième image img 3 . Ainsi, dans ce mode de réalisation de la , la troisième image img 3 est intégrée dans l’unité optique 16 . En variante, la troisième image img 3 pourrait être intégrée dans la matrice de correspondance 11 en utilisant les modes de réalisation des figures 4 ou 5. Outre l’intégration des caractéristiques de la troisième image img 3 , les propriétés optiques doivent également intégrer la matrice intrinsèque O pt3 de la troisième caméra et la matrice extrinsèque doit illustrer la position relative entre la première caméra et la deuxième caméra Pos1-2 et la position relative entre la première caméra et la troisième caméra Pos1-3 . En variante, il est également possible d’intégrer une matrice extrinsèque de la position relative entre la deuxième et la troisième caméra. Cependant, plus le nombre d’images augmente plus la complexité des matrices calculées par unité de correspondance 11 ou les caractéristiques recherchées par l’unité optique 16 sont complexes. Par ailleurs, avec plus de deux images à analyser, il existe également des phénomènes de recouvrement possible. Tel qu’illustré sur la , plusieurs zones de recouvrement sont issues des trois caméras 17a : une zone de recouvrement Zr1 dans laquelle les images des trois caméras sont utilisables et deux zones de recouvrement Z r 2 et Z r 3 dans lesquelles seules deux caméras peuvent être utilisées pour estimer la profondeur. Lorsque plusieurs images peuvent être utilisées pour estimer la profondeur, il est possible d’utiliser un module de fusion permettant de déterminer quelles images doivent être utilisées. Ainsi, de multiples implémentations sont possibles pour mettre en œuvre l’invention et estimer la profondeur au moyen d’un réseau de neurones récurrent dans lequel les propriétés optiques sont intégrées. Le réseau de neurones récurrent peut utiliser en entrée des images qui ne sont pas rectifiées et des systèmes de vision variables pour peu que l’entraînement du réseau de neurones récurrent soit réalisé sur la base des propriétés optiques de l’unité optique 16 . L’invention permet ainsi de s’intégrer très efficacement dans un robot mobile autonome dont les propriétés techniques ne sont pas standard. Ce robot mobile autonome intègre classiquement des moyens de déplacement et un système de vision intégrant au moins une caméra. Selon l’invention, ce robot mobile autonome peut-être contrôlé en utilisant un dispositif d’estimation de profondeur à partir de deux images captées par au moins une caméra du système de vision tel que précédemment décrit. Dispositif d’estimation de profondeurs à partir d’au moins deux images (img1, img2, img3) captées par au moins une caméra (17a-17b), le dispositif comportant un réseau de neurones récurrent implémenté sur un ordinateur et comprenant : – un module (10a) d’extraction de caractéristiques d’une première image (img1) ; – un module (10b) d’extraction de caractéristiques d’une seconde image (img2) ; – un module (10c) d’extraction d’éléments de contexte d’une des images (img1, img2) ; et – une unité de correspondance (11) configurée pour déterminer des évolutions possibles de position et de déplacements (M1, M2, Mn) entre les caractéristiques des images (img1, img2, img3) ; caractérisé en ce que ledit réseau de neurones récurrent intègre également : – une unité récurrente (13) permettant de déterminer une correction (Δp-1) d’une matrice d’inverse de profondeur (P-1) en fonction des évolutions possibles de position et de déplacements (M1, M2, Mn) entre les caractéristiques des images (img1, img2, img3) issues de l’unité de correspondance (11) et des éléments de contexte issus du module (10c) d’extraction d’éléments de contexte ; à chaque occurrence de l’unité récurrente (13), ladite matrice d’inverse de profondeur (P-1) étant modifiée dans un sommateur (14) ; – un générateur d’hypothèses d’inverses de profondeur (12) configuré pour transmettre, à ladite unité récurrente (13), les évolutions possibles de position et de déplacements (M1, M2, Mn) issues de l’unité de correspondance (11) en fonction d’hypothèses générées sur la base de ladite matrice d’inverse de profondeur (P-1) ; et – une unité optique (16), intégrant les propriétés optiques (Opt1, Opt2, Opt3, Pos, Pos1-3, Pos1-2) de l’au moins une caméra utilisée pour capter les images (img1, img2, img3), configurée pour transmettre, à ladite unité récurrente (13), les évolutions possibles de position et de déplacements (M1, M2, Mn) issues de l’unité de correspondance (11) en intégrant lesdites propriétés optiques (Opt1, Opt2, Opt3, Pos, Pos1-3, Pos1-2) ; ledit réseau de neurones récurrent étant entrainé en fonction desdites propriétés optiques (Opt1, Opt2, Opt3, Pos, Pos1-3, Pos1-2) de l’unité optique (16). Dispositif d’estimation de profondeurs selon la revendication 1, dans lequel ladite unité optique (16) est placée dans ladite unité de correspondance (11) de sorte que les évolutions possibles de position et de déplacements (M1, M2, Mn) soient calculées en fonction desdites propriétés optiques (Opt1, Opt2, Opt3, Pos, Pos1-3, Pos1-2). Dispositif d’estimation de profondeurs selon la revendication 1, dans lequel ladite unité optique (16) est placée dans ledit générateur d’hypothèses d’inverses de profondeur (12) entre un premier module (12a), qui détermine un ensemble d’hypothèses de déplacements entre les images (img1, img2, img3), et un second module (12b), qui extrait les possibles évolutions correspondantes aux hypothèses du premier module (12a), les possibles évolutions étant recherchées dans l’unité de correspondance (11) en fonction desdites propriétés optiques (Opt1, Opt2, Opt3, Pos, Pos1-3, Pos1-2). Dispositif d’estimation de profondeurs selon la revendication 1, dans lequel ladite unité de correspondance (11) est placée dans ladite unité optique (16) entre un premier module (12a) du générateur d’hypothèses d’inverses de profondeur (12), qui détermine un ensemble d’hypothèses de déplacements entre les images (img1, img2, img3), et un second module (12b) du générateur d’hypothèses d’inverses de profondeur (12), qui extrait les possibles évolutions correspondantes aux hypothèses du premier module (12a), les possibles évolutions étant recherchées dans ladite unité optique (16) par ladite unité de correspondance (11) en fonction desdites propriétés optiques (Opt1, Opt2, Opt3, Pos, Pos1-3, Pos1-2). Dispositif d’estimation de profondeurs selon l’une des revendications 1 à 4, dans lequel ladite au moins une caméra (17a-17b) correspond à une caméra de type fisheye ou omnidirectionnel. Dispositif d’estimation de profondeurs selon l’une des revendications 1 à 5, dans lequel lesdites au moins deux images (img1, img2, img3) sont captées par une seule caméra (17a-17b) à au moins deux instants consécutifs. Dispositif d’estimation de profondeurs selon l’une des revendications 1 à 5, dans lequel lesdites au moins deux images (img1, img2, img3) sont captées par au moins deux caméras (17a-17b) distinctes, les deux caméras étant séparées par une distance fixe et une orientation potentiellement variable. Dispositif d’estimation de profondeurs selon l’une des revendications 1 à 5, dans lequel le dispositif d’estimation de profondeurs utilise au moins trois images (img1, img2, img3) captées par au moins trois caméras (17a-17b), un module (10d) d’extraction de caractéristiques d’une troisième image (img3) permettant de transmettre, à ladite unité de correspondance (11) ou à ladite unité optique (16), les caractéristiques de ladite troisième image (img3). Dispositif d’estimation de profondeurs selon la revendication 8, dans lequel le dispositif d’estimation de profondeurs intègre un module de fusion permettant de déterminer quelles images (img1, img2, img3) doivent être utilisées pour estimer la profondeur en cas de recouvrement. Robot mobile autonome comportant : – des moyens de déplacement ; – un système de vision intégrant au moins une caméra (17a-17b) ; et – un dispositif d’estimation de profondeurs à partir d’au moins deux images (img1, img2, img3) captées par ladite au moins une caméra (17a-17b) du système de vision selon l’une des revendications 1 à 9.