FR3146534A1 - Procede d’estimation d’une carte de profondeur d’une image monoculaire et dispositifs associes - Google Patents
Procede d’estimation d’une carte de profondeur d’une image monoculaire et dispositifs associes Download PDFInfo
- Publication number
- FR3146534A1 FR3146534A1 FR2302116A FR2302116A FR3146534A1 FR 3146534 A1 FR3146534 A1 FR 3146534A1 FR 2302116 A FR2302116 A FR 2302116A FR 2302116 A FR2302116 A FR 2302116A FR 3146534 A1 FR3146534 A1 FR 3146534A1
- Authority
- FR
- France
- Prior art keywords
- image
- monocular
- color
- depth map
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Spectrometry And Color Measurement (AREA)
Abstract
Procédé (E100) d’estimation d’une carte de profondeur d’une image monoculaire (I0), comprenant les étapes suivantes :
a) fournir (E0) une image monoculaire en couleurs (I0) acquise par un dispositif de captation optique monoculaire (0) dans des conditions d’observations réelles ;
b) réaliser une correction colorimétrique (E1) de l’image monoculaire (I0) à partir d’un modèle d’apparence couleur inversible (1a), de manière à fournir une image corrigée en couleurs (I1) dans des conditions d’observation de référence, de sorte que la perception des couleurs dans l’image corrigée en couleurs (I1) soit identique à la perception des couleurs de l’image monoculaire en couleurs (I0) acquise dans les conditions d’observations réelles; et
c) traiter (E4 ; E4.1) l’image corrigée en couleurs (I1) en appliquant un réseau de neurones convolutif (4 ; 4.1 ; 4.1, 4.2) de manière à générer une carte de profondeur (I4.1 ; I5) de l’image monoculaire en couleurs (I0).
Figure pour l’abrégé : figure 1
Description
La présente invention concerne l’estimation de la profondeur d’une image monoculaire, i.e. une image acquise par un dispositif de captation optique ne disposant que d’un seul oculaire, telle qu’une caméra ou une lunette de vision monoculaire.
L’invention concerne plus particulièrement un procédé d’estimation d’une carte de profondeur d’une image monoculaire en couleurs et un dispositif pour la mise en œuvre du procédé d’estimation.
L’invention trouve une application privilégiée dans le domaine de la vision par ordinateur dite « vision artificielle », notamment dans le cadre de la navigation d’engins de mobilité autonomes, tels que des aéronefs, drones, véhicules ou robots.
L’invention trouve également une application pour la reconstruction d’une scène en trois dimensions, à partir d’images monoculaires en deux dimensions.
L'estimation de la profondeur d’une image monoculaire, à partir d'une seule image en couleurs, est une tâche difficile de vision par ordinateur pour permettre aux ordinateurs de comprendre des scènes réelles.
Pour chaque image monoculaire captée, la profondeur désigne la distance séparant le dispositif de captation (e.g. une caméra) d’un objet identifié sur cette image. Pour simplifier, la profondeur d’une image monoculaire sera désignée ci-après par l’expression « profondeur monoculaire » (de l’anglais « monocular depth »). Une carte de profondeur de l’image monoculaire représente les différents niveaux de profondeur présents dans l’image.
De nombreuses techniques d’intelligence artificielle, notamment par apprentissage profond (de l’anglais « deep learning ») mis en œuvre par un réseau de neurones convolutif (CNN : « Convolutive Neural Network » en anglais) ont été proposées pour estimer automatiquement des cartes de profondeur monoculaire. De manière générale, ces techniques peuvent être regroupées en deux catégories principales : celles basées sur de l’apprentissage supervisé et celles basées sur de l’apprentissage auto-supervisé (i.e. non supervisé par un être humain).
Pour l’apprentissage supervisé, des données de profondeur dites « vérité terrain » (de l’anglais « ground truth ») sont requises en entrée du réseau de neurones pour l’entraîner afin qu’il soit configuré pour estimer automatiquement la profondeur monoculaire. Ces données d’entraînement sont fournies par des capteurs optoélectroniques coûteux, par exemple de type LiDAR (« Laser imaging Detection And Ranging » en anglais). Par conséquent, l’obtention de données significatives par de tels capteurs est une opération généralement coûteuse et difficile. Par ailleurs, ces données sont souvent creuses comparées à celles de l'image d'origine au niveau pixelique. Par exemple, dans les zones à faible luminosité, la capacité du LiDAR à fournir des données exploitables est largement affectée. Par conséquent, les performances obtenues par le réseau de neurones entraîné avec ces données sont insuffisantes. Enfin, lorsque le modèle du réseau de neurones ainsi entraîné est appliqué à des images provenant d’une autre caméra monoculaire ou lorsque ce modèle est utilisé pour prédire la profondeur d'une nouvelle scène dans des conditions d’observations différentes, la fiabilité de l’estimation de la profondeur fournie par ce réseau de neurones n’est pas garantie et peut être fortement réduite.
Un exemple de méthode d’apprentissage supervisé pour prédire la profondeur monoculaire est décrite dans l’article de D. Eigen, C. Puhrsch, et R. Fergus, intitulé « Depth map prediction from a single image using a multi-scale deep network » et publié dansProceedings of the Advances in N eural I nformation P rocessing S ystems 27,2014, pp. 2366-2374. Cet article décrit l’utilisation d’un réseau de neurones convolutif comprenant un sous-réseau à grande échelle configuré pour effectuer une première estimation de la profondeur de la scène à un niveau global en utilisant l’intégralité de l’image et un sous-réseau à petite échelle configuré pour effectuer une deuxième estimation permettant d’affiner l’estimation globale de la profondeur en utilisant des informations locales en se limitant à des régions de l’image. Toutefois, en tant que méthode supervisée, ce réseau de neurones requiert pour son entraînement des jeux de données annotées, ce qui est coûteux et contraignant.
Pour s’affranchir de ces inconvénients, les méthodes d’apprentissage auto-supervisé ont été proposées pour estimer la profondeur monoculaire. Ces méthodes utilisent généralement des contraintes géométriques de paires d’images stéréoscopiques (ou de séquences d’images monoculaires) comme unique source de supervision des méthodes d’apprentissage. De telles méthodes d’apprentissage nécessitent l’obtention de paires d’images stéréoscopiques, par exemple par deux caméras observant la scène selon des angles de prise différents ou une caméra stéréoscopique (e.g. caméra RGB-D). En cas d’utilisation d’une seule caméra monoculaire, l’algorithme d’apprentissage auto-supervisé est configuré pour générer, à partir d’une seule image monoculaire acquise par la caméra, une image sous un autre angle de vue que l’image d’entrée, par un procédé de synthèse de vue, de manière à fournir une paire d’images stéréoscopiques.
Un exemple de méthode auto-supervisée est décrit dans l’article de R. Garg, B.G.V. Kumar, G. Carneiro et I.D. Reid, intitulé « Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue », publié dansProceedings of the 14th European Conference Computer Vision–ECCV 2016, Volume 9912, pp. 740–756. Cette méthode utilise un réseau de neurones auto-encodeur configuré pour prédire la profondeur de l’image gauche d’une paire d’images stéréoscopiques.
L’apprentissage auto-supervisé du réseau pour l’estimation de la profondeur se fait sur la base de paires d’images stéréoscopiques en minimisant une fonction d’erreur. Une image gauche reconstruite est synthétisée, par exemple par une contrainte géométrique épipolaire (de l’anglais « epipolar geometry constraint »), en utilisant l’image droite de la paire d’images stéréoscopiques. L’erreur photométrique entre l’image gauche et l’image gauche synthétisée est utilisée comme une fonction d’erreur pour entraîner le réseau auto-encodeur. Ainsi, l’estimation de la profondeur monoculaire revient à un problème d’appariement stéréoscopique de vue gauche-droite avec une perte photométrique gauche-droite à minimiser.
Pour améliorer l’estimation de la profondeur monoculaire, la méthode de Godardet al.présentée ci-dessus a été modifiée en introduisant une fonction d’erreur de cohérence de profondeur entre les images gauche et droite de la paire d’images stéréoscopiques, ainsi qu’une fonction de perte de lissage des disparités entre les images gauche et droite, en tant que contraintes pour effectuer la reconstruction de l’image gauche. Cette amélioration est décrite dans l’article de C. Godard, O.M. Aodha et G.J. Brostow, intitulé « Unsupervised Monocular Depth Estimation with Left-Right Consistency », publié dansProceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, 21–26 July 2017; pp. 6602–6611.
Pour optimiser la qualité de l’estimation de la profondeur monoculaire, d’autres approches ont été développées, telle que la génération de vues virtuelles à trois dimensions à partir de paires d’images stéréoscopiques, comme décrite dans l’article de M. Poggi, F. Tosi et S. Mattoccia, intitulé « Learning monocular depth estimation with unsupervised trinocular assumptions », publié dansProceedings of the 2018 International Conference on 3D Vision (3DV), Verona, Italy, 5–8 September 2018; pp. 324–333. Appl. Sci. 2021, 11, 5383 15 of 15.
Cette approche peut être combinée à l’utilisation de différents types de réseaux de neurones tels que :
- des réseaux de contradiction générative (de l’anglais « Generative Adversarial Networks ») tels que décrits dans l’article de A. Pilzer, D. Xu, M. Puscas, E. Ricci, N. Sebe, intitulé « Unsupervised adversarial depth estimation using cycled generative networks », publié dansProceedings of the 2018 International Conference on 3D Vision (3DV), Verona, Italy, 5–8 September 2018; pp. 587–595 ;
- des réseaux sensibles au contexte, tels que décrit dans l’article de M. Zhai, X. Xiang, N. Lv, X. Kong, A. El Saddik, intitulé « An object context integrated network for joint learning of depth and optical flow », publié dansIEEE Trans. Image Process.2020, 29, 7807–7818.
Certes, les méthodes d’apprentissage auto-supervisé sont plus simples et moins coûteuses à mettre en œuvre que les méthodes d’apprentissage supervisé étant donné qu’elle ne nécessitent pas de marquage de données (« data labelling » en anglais). Elles présentent l’avantage de bénéficier d’une plus forte capacité de généralisation par rapport à différentes caméras et/ou différentes conditions d’observations (e.g. angle de prise de vue, luminosité ambiante, etc).
Toutefois, en dépit des améliorations décrites ci-dessus, la précision et la fiabilité de la profondeur monoculaire estimée par les méthodes d’apprentissage auto-supervisé restent réduites par rapport à celles fournies par les méthodes d’apprentissage supervisé.
Il est connu que cette perte de fiabilité et/ou précision réside dans une faible supervision de la cohérence photométrique (« photometric consistency » en anglais) des pixels entre l’image monoculaire d’entrée, acquise sous un angle de prise de vue donné, et l’image synthétisée à partir de l’image d’entrée par le procédé de synthèse sous un autre angle de prise de vue, de manière à générer la paire d’images stéréoscopiques en tant que signal de supervision.
La plupart des méthodes d’estimation de profondeur monoculaire par apprentissage auto-supervisé reposent sur l’hypothèse de la constance des couleurs, selon laquelle les variations des couleurs perçues restent inchangées quelques soient les conditions d’observations, telles que l’angle de prise de vue de la caméra.
Une telle hypothèse suppose que l’image d’entrée et l’image synthétisée (construite à partir de l’image d’entrée) sont identiques et ont les mêmes valeurs colorimétriques (e.g. RBG ou XYZ) à chaque pixel, si bien que l’erreur photométrique entre ces images est nulle. Or, il est connu qu’en réalité des fluctuations de couleurs de l’image peuvent être induites en raison de nombreux facteurs, tels que l’intensité lumineuse ambiante, le bruit et la réflexion de la lumière, ce qui peut provoquer des erreurs dans l’estimation automatique de la profondeur monoculaire. Sachant que ces facteurs ne sont pas nécessairement les mêmes pour deux angles de prise de vue différents, les couleurs perçues dans une même région de l’image peuvent fluctuer en fonction de la prise de vue.
Par conséquent, la disparité des couleurs perçues qui peut exister dans une même zone d’image pour une paire d’images stéréoscopiques (ou de manière équivalente pour deux images monoculaires prises dans des conditions d’observations différentes) est source d’erreur dans l’estimation de la profondeur monoculaire.
Pour tenir compte de l’incohérence photométrique due à des changements de luminosité, il a été proposé d’intégrer dans la fonction de perte, le paramètre SAD (de l’anglais « Sum of Absolute Difference ») ou le paramètre SSIM (de l’anglais « Structural Similarity Index Measure »). En général, le paramètre SSIM est privilégié dans la mesure où il prend en compte une plus grande quantité d’informations locales de l’image que le paramètre SAD, ce qui permet des performances de prédiction de la profondeur monoculaire accrues.
Dans l’article de E. Guo, Z. Chen, Y. Zhou, D. O. Wu, intitulé « Unsupervised Learning of Depth and Camera Pose with Feature Map Warping », publié dansSensors 2021, 21(3), 923,une fonction de perte pyramidale dite FPML (de l’anglais « Feature Pyramid Matching Loss ») est proposée pour répondre au problème d’incohérence photométrique causé par des changements de luminosité. La fonction FPML est plus robuste que les fonctions d’erreurs basées sur les paramètres SAD ou SSIM, dans la mesure où elle exploite des informations locales et globales des images. Toutefois, le problème principal de cette méthode est que la perte est calculée en combinant un réseau d'estimation de profondeur avec un réseau d'estimation de pose de la caméra, ce qui conduit à une perte de l'information sur l'échelle absolue dans les prédictions.
Une autre raison de dégradation des performances de l’estimation monoculaire effectuée par les réseaux de neurones convolutifs à apprentissage auto-supervisé provient du fait que les images traitées ont une faible résolution et/ou une faible qualité (e.g. image bruitée et/ou faiblement texturée).
Les caméras RGB monoculaires commercialement disponibles peuvent générer du bruit de compression ayant pour effet d’augmenter le rapport signal sur bruit et par conséquent de réduire la qualité de l’image fournie. Par ailleurs, pour des raisons d’optimisation des ressources et/ou de coût, la résolution de la caméra peut être volontairement réduite.
Certaines régions de l’image acquise par la caméra peuvent être faiblement texturées. Ceci peut être dû à une faible résolution de la caméra et/ou aux conditions d’observations. Par exemple, dans des conditions de luminosité particulières (e.g. faible ou fort ensoleillement), la texture de certaines régions de l’image peut être très affaiblie voire quasiment invisible, même en utilisant des caméras de haute résolution. Dans ce cas, il est quasiment impossible pour les réseaux de neurones convolutifs auto-supervisés de l’art antérieur de prédire correctement la valeur de la disparité des pixels (e.g. estimation de la fonction d’erreur) en raison du nombre réduit de caractéristiques qu’ils peuvent extraire à partir de ces régions.
L’article de N. Yang, L.V. Stumberg, R. Wang, D. Cremers, intitulé “D3vo: Deep depth, deep pose and deep uncertainty for monocular visual odometry”, publié dansProceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020, pp. 1281-1292, décrit une procédé d’estimation automatique d’une profondeur d’une image monoculaire en niveaux de gris.
Ce document décrit un ajustement de la luminosité globale de l’image dû à des changements d’exposition de la caméra pour permettre un apprentissage auto-supervisé basé sur l’hypothèse de la constance de luminosité décrite ci-avant.
Cet ajustement est effectué par un modèle de transformation linéaire, selon lequel la luminosité ambiante I de l’image est ajustée selon une fonction affine Lab, telle que Lab(I)= a.I + b. Toutefois, cette transformation porte uniquement sur la luminosité ambiante de l’image, i.e. une intensité lumineuse globale qui ne tient pas compte de variations locales de l’intensité lumineuse, ce qui a pour effet de limiter les performance de prédiction de la profondeur monoculaire.
Ce procédé n’est pas adapté pour estimer la profondeur d’une image monoculaire en couleurs.
Il peut ainsi être souhaité de prévoir un procédé d’estimation d’une profondeur d’une image monoculaire en couleurs qui permette de s’affranchir d’au moins une partie des problèmes et contraintes précités.
Il est donc proposé un procédé d’estimation d’une carte de profondeur d’une image monoculaire, ledit procédé comprend les étapes suivantes :
- fournir une image monoculaire en couleurs acquise par un dispositif de captation optique monoculaire dans des conditions d’observations réelles ;
- réaliser une correction colorimétrique de l’image monoculaire à partir d’un modèle d’apparence couleur inversible, de manière à fournir une image corrigée en couleurs dans des conditions d’observation de référence, de sorte que la perception des couleurs dans l’image corrigée en couleurs soit identique à la perception des couleurs de l’image monoculaire en couleurs acquise dans les conditions d’observations réelles; et
- traiter l’image corrigée en couleurs en appliquant un réseau de neurones convolutif de manière à générer une carte de profondeur de l’image monoculaire en couleurs.
La correction colorimétrique de l’image monoculaire en couleurs a pour effet que la perception des couleurs de l’image reste inchangée quelles que soient les conditions d’observations réelles, telles que les conditions d’éclairage (e.g luminosité ambiante de la scène, nature lumineuse de l’environnement, intensité de fond), les caractéristiques photométriques de la caméra (e.g. coordonnées chromatiques du système RGB de la caméra) et les paramètres de prise de vue, tels que l’angle de prise de vue.
Il s’ensuit que la fiabilité de la carte de profondeur est accrue par rapport à celles des méthodes auto-supervisées de l’art antérieur qui ne procèdent à aucune correction colorimétrique de l’image monoculaire.
Ainsi, le procédé d’estimation de la profondeur monoculaire selon l’invention est plus robuste que ceux de l’art antérieur, dans le sens où la carte de profondeur n’est pas affectée par les conditions particulières dans lesquelles la scène est observée.
L’invention peut en outre comporter l’une ou plusieurs des caractéristiques optionnelles suivantes, selon toute combinaison techniquement possible.
L’image monoculaire en couleurs comprend une pluralité de pixels et la correction colorimétrique comprenant les étapes suivantes :
- appliquer le modèle d’apparence couleur inversible à chaque pixel de l’image monoculaire en couleurs, de manière à déterminer au moins un attribut perceptuel du pixel sélectionné parmi : clarté, chromaticité, angle de teinte, brillance, saturation, composition de teinte ;
- inverser le modèle d’apparence couleur inversible de manière à fournir un modèle d’apparence couleur inverse ; et
- pour chaque pixel, appliquer ledit au moins un attribut perceptuel au modèle d’apparence couleur inverse configuré avec les conditions d’observation de référence, de manière à fournir des valeurs trichromatiques corrigées dudit pixel.
La correction colorimétrique comprend en outre une estimation fréquentielle, lors de laquelle une fréquence spatiale de chaque pixel de l’image monoculaire en couleurs est estimée, la fréquence estimée étant fournie en entrée du modèle d’apparence couleur inverse pour obtenir les valeurs trichromatiques corrigées dudit pixel.
L’estimation fréquentielle comprend une décomposition de l’image monoculaire en couleurs en une pluralité de domaines fréquentiels et une décomposition de l’image monoculaire en couleurs selon plusieurs orientations spatiales, la fréquence étant estimée en tenant compte de l’influence des domaines fréquentiels adjacents au domaine fréquentiel auquel appartient ledit pixel de manière à obtenir une carte spatio-fréquentielle des pixels.
Le modèle d’apparence couleur inversible est le modèle CIECAM2 configuré avec selon au moins l’un des paramètres suivants : coordonnées chromatiques d’un blanc de référence, luminosité ambiante, intensité lumineuse de fond, indicateur d’environnement.
Le procédé comprend en outre les étapes suivantes :
- filtrer l’image monoculaire en couleurs en appliquant un filtre quaternionique linéaire guidé par une image de référence, de manière à fournir une image quaternionique filtrée comprenant des données de textures de l’image monoculaire; et
- soustraire l’image filtrée de l’image corrigée en couleurs, de manière à obtenir une carte de textures.
Le précédé comprend en outre les étapes suivantes :
- sur-échantillonner la carte de profondeur, de résolution réduite, par application d’un réseau hiérarchique de manière à fournir des caractéristiques de profondeur sur-échantillonnées ; et
concaténer la carte des textures et les caractéristiques de profondeur sur-échantillonnées pour fournir une carte de profondeur résiduelle ;additionner la carte de profondeur résiduelle et la carte de profondeur réduite, de manière à obtenir une carte de profondeur finale d’une résolution au moins égale à celle de l’image monoculaire. Une originalité de la présente invention est l’utilisation d’un modèle colorimétrique de référence, de préférence CIECAM2, pour assurer une invariance des couleurs perçues, couplée au filtrage quaternionique pour renforcer les textures de l’image monoculaire, permettant d’extraire à la fois la couleur illuminant chaque pixel et les textures dans les régions faiblement texturées ou bruitées.
Le filtrage quaternionique a pour avantage d’améliorer la précision sur les couleurs de l’image filtrée, tout en optimisant le traitement d’image réalisé lors du filtrage en termes de ressources de mémoire et de capacité de calcul.
Le procédé selon l’invention permet d’estimer la profondeur des images compressées de faible qualité (i.e. avec des niveaux de bruit élevée) et peu texturées. La carte de texture obtenue en soustrayant l’image corrigée en couleurs de l’image filtrée contient des hautes fréquences spatiales permettant de faciliter la localisation des limites de profondeur dans l’image monoculaire.
L’invention vise aussi, dans au moins un mode de réalisation, un dispositif pour mettre en œuvre le procédé d’estimation tel que décrit ci-avant.
Ce dispositif comprenant :
- un dispositif de captation optique monoculaire pour obtenir une image monoculaire en couleurs dans des conditions d’observations réelles ;
- un module de correction colorimétrique de l’image monoculaire en couleurs basé sur un modèle d’apparence couleur inversible, de manière à fournir une image corrigée en couleurs dans des conditions d’observation de référence, de sorte que la perception des couleurs dans l’image corrigée en couleurs soit identique à la perception des couleurs dans l’image monoculaire en couleurs acquise dans les conditions d’observations réelles; et
- un module de génération d’une carte de profondeur configuré pour appliquer un réseau de neurone convolutif à l’image corrigée en couleurs.
Le dispositif selon l’invention peut en outre comporter l’une ou plusieurs des caractéristiques optionnelles suivantes, selon toute combinaison techniquement possible :
- un module de filtrage quaternionique linéaire guidé par une image de référence configuré pour filtrer l’image monoculaire en couleurs de manière à obtenir une image filtrée comprenant des données de texture de l’image monoculaire en couleurs ; et
- un module de soustraction configuré pour soustraire l’image filtrée de l’image corrigée en couleurs.
L’invention vise aussi, dans au moins un mode de réalisation, un engin de mobilité autonome comprenant un dispositif selon l’invention tel que décrit ci-avant.
L’invention vise aussi un programme d’ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur, caractérisé en ce qu’il comprend des instructions pour l’exécution des étapes d’un procédé d’estimation de profondeur d’une image monoculaire tel que décrit ci-avant, lorsque ledit programme est exécuté sur un ordinateur.
L’invention vise également un moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé d’estimation de profondeur d’une image monoculaire selon l’invention comme décrit ci-dessus.
L’invention sera mieux comprise à l’aide de la description qui va suivre, donnée uniquement à titre d’exemple et faite en se référant aux dessins annexés dans lesquels :
-
illustre schématiquement un procédé d’estimation selon un mode de réalisation de l’invention ; -
illustre schématiquement un exemple de dispositif pour mettre en œuvre le procédé selon la ; -
illustre schématiquement un exemple de réalisation de l’étape de correction colorimétrique mise en œuvre dans le procédé d’estimation selon la ; -
illustre schématiquement un exemple de réalisation de l’étape de filtrage mise en œuvre dans le procédé d’estimation selon la ; -
illustre schématiquement un exemple de réalisation d’un dispositif pour mettre en œuvre le procédé selon l’invention ; -
illustre un exemple d’architecture d’un dispositif adapté à mettre en œuvre le procédé selon un mode de réalisation de l’invention ; -
illustre schématiquement un robot terrestre dans lequel le dispositif selon l’invention est mis en œuvre ; et -
illustre schématiquement un drone dans lequel le dispositif selon l’invention est mis en œuvre.
En référence à la , un procédé E100 d’estimation de la profondeur d’une image monoculaire va être à présent décrit selon un mode de réalisation de l’invention.
Le procédé E100 comprend une étape d’obtention E0 d’une image monoculaire I0 en couleurs, par exemple selon le format RGB (de l’anglais « Red Green Blue »). Cette image monoculaire I0 est acquise dans des conditions d’observations dites réelles, par exemple au moyen d’une caméra monoculaire ou de tout autre dispositif optique monoculaire, tel qu’une lunette de vision monoculaire. Dans d’autres modes de réalisation (non illustrés), la caméra 0 sera configurée pour fournir une séquences d’images monoculaires.
Le procédé E100 comprend en outre une étape de correction colorimétrique E1, lors de laquelle l’image monoculaire I0 est corrigée de manière à fournir une image corrigée en couleurs I1. Cette correction est telle que la perception des couleurs dans l’image corrigée I1 dans des conditions d’observations de référence soit identique à la perception des couleurs de l’image monoculaire I0 dans les conditions d’observations réelles. Cette étape de correction colorimétrique E1 sera décrite plus en détails en référence à la .
Lors d’une étape de génération E4 et plus particulièrement lors d’une sous-étape E4.1, une carte de profondeur réduite I4.1 est générée à partir de l’image corrigée en couleurs I1. Cette carte de profondeur est qualifiée de réduite étant donné qu’elle dispose d’une résolution inférieure à celle de l’image monoculaire I0 ou de l’image corrigée en couleurs I1.
Grâce à l’ajustement de colorimétrie opéré lors de l’étape de correction colorimétrique E1, la profondeur monoculaire estimée dans la carte de profondeur réduite I4.1 ne dépend pas des conditions d’observations réelles. Cette correction est particulièrement avantageuse pour assurer la cohérence des couleurs d’une paire d’images stéréoscopiques obtenue à partir de l’image monoculaire I0 pour l’apprentissage auto-supervisé de réseaux neuronaux.
Le procédé E100 peut être complété par les étapes optionnelles suivantes regroupées sur la par un cadre en traits pontillés.
Lors d’une étape de filtrage E2, l’image monoculaire I0 est filtrée de manière à fournir une image filtrée I2 qui correspond à l’image monoculaire I0. Un des objectifs du filtrage est d’obtenir une image I2 en haute fréquence, dite image « passe haut », dans laquelle les textures et/ou les bordures de l’objet sont bien définies, i.e. mieux définies que dans l’image monoculaire d’origine I0. Une fois que les textures et éventuellement les bordures des différents objets constitutifs de l’image sont obtenues, une meilleure estimation de la profondeur monoculaire peut être obtenue pour chaque objet dans l’image. Cette étape de filtrage E2 sera décrite plus en détails en référence à la .
Lors d’une étape de soustraction E3, l’image corrigée en couleurs I1 est soustraite à l’image filtrée I2, de manière à obtenir une carte de textures I3 de l’image monoculaire I0. La carte de textures I3 est une image corrigée en couleurs dans laquelle les textures de l’image monoculaire I0 sont mises en évidence.
Le procédé E100 comprend en outre une étape de génération E4 lors de laquelle au moins une carte de profondeur améliorée est déterminée. Plus particulièrement, cette étape E4 comprend une sous-étape E4.2 lors de laquelle une carte de profondeur résiduelle I4.2 est générée sur la base de la carte de profondeur réduite I4.1 et de la carte de textures I3. L’étape de génération E4 sera décrite plus en détails en référence à la .
Le procédé E100 comprend en outre une étape d’addition E5, lors de laquelle la carte de profondeur réduite I4.1 est ajoutée à la carte de profondeur résiduelle I4.2, de manière à fournir une carte de profondeur finale I5 d’une résolution au moins égale à celle de l’image monoculaire I0 fournie lors de l’étape E0.
En référence à la , un exemple de dispositif 100 pour mettre en œuvre le procédé selon la tel que décrit ci-avant va être à présent décrit.
Dans le présent exemple, le dispositif 100 selon l’invention comprend une caméra monoculaire 0 configurée pour acquérir l’image monoculaire I0. Comme indiqué précédemment, tout autre dispositif de captation monoculaire adapté à capter des images monoculaires pourra être utilisé à la place de la caméra. Dans le présent exemple, la caméra 0 fait partie du dispositif 100. Toutefois, dans d’autres variantes de réalisation (non illustrées), la caméra 0 ou tout autre dispositif de captation monoculaire pourra être extérieur au dispositif 100, auquel cas le dispositif 100 comprendra un moyen d’obtention de l’image monoculaire I0 préalablement acquise par la caméra 0.
Le dispositif 100 comprend en outre un module de correction colorimétrique 1 de l’image monoculaire I0. Ce module 1 est configuré pour fournir une image corrigée en couleurs I1, de sorte que la perception des couleurs dans l’image corrigée en couleurs I1 dans des conditions d’observation de référence soit identique à la perception des couleurs de l’image monoculaire I0 dans les conditions d’observations réelles. Ce module de correction colorimétrique 1 sera décrit plus en détails en référence à la .
Le dispositif 100 comprend en outre un module de filtrage 2 pour filtrer l’image monoculaire I0, de manière à fournir l’image filtrée I2. De préférence, le module de filtrage 2 est configuré pour mettre en œuvre un filtre quaternionique guidé qui sera décrit plus en détails en référence à la .
Le module de correction colorimétrique 1 et le module de filtrage 2 sont reliés à une même sortie de la caméra monoculaire 0, de manière à recevoir et traiter simultanément la même image monoculaire I0.
Le dispositif 100 comprend en outre un module de soustraction 3 relié en sortie du module de correction colorimétrique 1 et du module de filtrage 2. Le module de soustraction 3 est configuré pour soustraire l’image corrigée en couleurs I1 et l’image filtrée I2, de manière à fournir la carte de textures I3, telle que I3=I2-I1. Un exemple de carte de textures I3 est illustré sur la , dans laquelle des textures et éventuellement des bordures de l’image monoculaire I0 ont été mises en évidence.
La carte de textures I3 ainsi obtenue est une image filtrée, telle que les basses fréquences ont été supprimées, si bien que la carte de textures I3 comprend uniquement des composantes à hautes fréquences utiles pour estimer la profondeur de champ de l’image.
Le dispositif 100 comprend en outre un réseau de neurones convolutif 4 comprenant un premier sous-réseau 4.1 pour estimer la profondeur de l’image monoculaire I0 et un deuxième sous-réseau 4.2 pour améliorer la profondeur estimée par le premier sous-réseau 4.1. Le premier sous-réseau 4.1 est configuré pour fournir la carte de profondeur réduite I4.1. Le deuxième sous-réseau 4.2 est configuré pour fournir la carte de profondeur résiduelle I4.2.
Le premier sous-réseau 4.1 est relié en sortie du module de correction colorimétrique 1 de manière à recevoir en entrée l’image corrigée en couleurs I1. Le deuxième sous-réseau 4.2 est relié en sortie du module de soustraction 3, de manière à recevoir en entrée la carte de textures I3. Le deuxième sous-réseau 4.2 est relié au premier sous-réseau 4.1 de sorte que le premier sous-réseau 4.1 fournisse la carte de profondeur réduite I4.1 au deuxième sous-réseau 4.2.
La mise en œuvre du réseau de neurones convolutif 4, et plus particulièrement du premier sous-réseau 4.1 et du deuxième sous-réseau 4.2 sera décrite plus en détails en référence à la .
Le dispositif 100 comprend en outre un module d’addition 5 relié en sortie des premier et deuxième sous-réseau 4.1, 4.2. Le module d’addition 5 est configuré pour obtenir la carte de profondeur finale I5 en ajoutant la carte de profondeur réduite I4.1 à la carte de profondeur résiduelle I4.2.
En référence à la , un exemple de mise en œuvre de l’étape de correction colorimétrique E1 par le module de correction colorimétrique 1 va être à présent décrit.
Dans cet exemple, on suppose que l’image monoculaire I0 fournie par la caméra monoculaire 0 est encodée dans l’espace colorimétrique RGB.
Lors d’une sous-étape de conversion E10, l’image monoculaire I0 est convertie dans l’espace colorimétrique XYZ, de manière à fournir une image convertie I1.1 comprenant une pluralité de pixels Pij en coordonnées XYZ.
Cette conversion est effectuée à partir des coordonnées chromatiques du système RGB de la caméra 0 respectivement pour les composantes R, G et B : (xR, yR), (xG, yG), (xB, yB) et à partir des cordonnées chromatiques du niveau de blanc de référence (XW, YW, ZW), selon les normes de la Commission Internationale de l’Eclairage (CIE). Cette conversion n’est bien évidemment pas requise si l’image monoculaire I0 est déjà fournie dans l’espace colorimétrique XYZ.
Lors d’une sous-étape E11, des attributs perceptuels, tels que la clarté J, la chromaticité C, l’angle de teinte h, la brillance Q, la saturation s, la composition de teinte H sont déterminés en appliquant à l’image convertie I1.1, un modèle d’apparence couleur réversible (CAM : « Color Appearance Modelling » en anglais).
De préférence, ce modèle est le modèle CIECAM02, tel que publié en 2022 par le comité technique 8-01 (« Color Appearance Modelling for Color Management Systems ») de la commission internationale de l’éclairage (CIE). Le modèle CIECAM02 est particulièrement adapté pour prendre en compte de manière fiable l’environnement d’un objet coloré afin de compenser l’influence de son environnement sur la perception de la couleur. Parmi les avantages du modèle CIECAM02 par rapport au modèle CIECAM97, on peut noter une transformée d’adaptation chromatique linéaire qui permet d’inverser le modèle plus facilement, et un facteur d’adaptation D simplifié.
Les attributs perceptuels précités peuvent être calculés selon les standards CIE, e.g. selon le modèle CIECAM2, mais ne seront pas détaillés ici par souci de concision.
Dans le présent exemple, le modèle CIECAM2 est configuré en utilisant au moins l’un des paramètres de configuration suivants : les cordonnées chromatiques du niveau de blanc de référence XW, YW, ZW, la luminosité (ou intensité lumineuse) ambiante Lade l’image exprimée en lux ou cd/m², une intensité lumineuse de l’arrière-plan Ybde l’image, un indicateur d’éclairage moyen de l’environnement d’observation E (e.g. clair, sombre, moyen, lumière de jour standard).
De préférence, tous ces paramètres sont pris en compte pour configurer le modèle dans la mesure où ils influencent la vision de la couleur (perception colorimétrique). Certains de ces paramètres de configuration sont fixés par l’utilisateur, tels que ceux relatifs à l’environnement d’observation E, la luminosité ambiante La, le blanc de référence XW, YW, ZW. Pour fixer les paramètres d’observation E, on pourra définir trois paramètres supplémentaires, tels que l’impact de l’environnement c, le facteur d’induction chromatique Nc, le facteur pour le degré d’adaptation F, en suivant les recommandations classique des modèles CIECAM97 et/ou CIECAM02. Tous ces paramètres peuvent être préalablement fixés lors de la sous-étape E11.
D’autres paramètres de configuration du modèle peuvent être déterminés lors de la sous-étape E11 par le module de correction de colorimétrie 1, tels que la luminosité de l’arrière-plan de l’image Yb. Pour chaque pixel Pij, la valeur Ybde ce paramètre est déterminée, en sélectionnant une fenêtre Wij formée par un ensemble de pixels au voisinage du pixel Pij, et en calculant E110 la moyenne des intensités des pixels appartenant à la fenêtre Wij. De manière alternative, l’intensité Ybest déterminée en utilisant une moyenne pondérée par une gaussienne. De préférence, la valeur de Ybcalculée est inférieure à 100, e.g. Yb=2 pour le noir, Yb=20 pour un gris moyen, Yb=90 pour un blanc quasiment pur.
Selon une particularité de l’invention, le modèle CIECAM2 référencé 1a est appliqué à chaque pixel Pij de l’image I1.1. Ainsi, pour chaque pixel Pij, les attributs perceptuels sont déterminés et fournis à l’issue de l’étape E11.
De manière générale, les attributs perceptuels peuvent être sélectionnés parmi : la clarté J, la chromaticité C, la composition de teinte H (ou teinte en quadrature), l’angle de teinte ou teinte angulaire h (hueen anglais), la brillance G, la saturation s.
Dans le présent exemple, les attributs perceptuels considérés pour chaque pixel Pij sont la clarté Jij, la chromaticité Cij, l’angle de teinte hij. Dans d’autres variantes de réalisation, d’autres attributs perceptuels pourront être considérés en substitution ou en complément de ces paramètres.
Lors d’une étape inverse E12, le modèle CIECAM2 1a est inversé. Cette opération est facilitée compte-tenu que le modèle utilise une transformation d’adaptation linéaire qui est elle-même facile à inverser. Le modèle inverse 1b est noté CIECAM2-1.
Lors de l’étape inverse E12, les attributs perceptuels Jij, Cij, hij précédemment calculés lors de l’étape E11 sont ensuite fournis en entrée du modèle inverse 1b, noté CIECAM2-1, de manière à déterminer des valeurs trichromatiques X’ij, Y’ij, Z’ij corrigées du pixel Pij. Le modèle inverse 1b est configuré en appliquant des paramètres d’environnement E’, de luminosité ambiante La’, de niveau de blanc X’w, Y’W, Z’w. Ces paramètres sont ajustés selon des conditions d’observations de référence.
Lors d’une étape de conversion inverse E14, les valeurs trichromatiques X’ij, Y’ij, Z’ij fournies par le modèle inverse CIECAM2-1sont converties dans l’espace colorimétrique RGB, de manière à fournir l’image corrigée I1 au format RGB, i.e. dans le même domaine colorimétrique que celui de la caméra 0.
De manière optionnelle, l’étape de correction colorimétrique E1 comprend en outre une estimation fréquentielle E13, lors de laquelle une fréquence spatiale Fij de chaque pixel Pij de l’image monoculaire I0, ici l’image monoculaire convertie I1.1 au format RGB, est estimée. La fréquence estimée Fij à l’issue de l’étape E13 est fournie en entrée du modèle d’apparence couleur inverse CIECAM2-1référencé 1b pour obtenir les valeurs trichromatiques corrigées X’ij, Y’ij, Z’ij du pixel Pij.
Un exemple d’estimation fréquentielle E13 va être à présent décrit plus en détails toujours en référence à la .
Lors d’une décomposition spectrale E13.1, l’image monoculaire I1.1 au format colorimétrique XYZ est transformée par application d’une transformée de Fourier en deux dimensions (2D-Fourier Transformen anglais) de manière à obtenir un spectre I1.2 de l’image monoculaire I1.1. Le spectre I1.2 comprend les composantes fréquentielles spatiales de l’image I1.1 dans l’espace de Fourier.
Lors d’une étape de répartition spatio-fréquentielle E13.2, ces composantes fréquentielles sont réparties dans différents domaines spectraux et selon différentes orientations spatiales, de manière à former une pluralité de secteurs, fournissant ainsi un spectre ordonné en fréquences et dans l’espace I1.3.
Dans le présent exemple, le spectre ordonné I1.3 comprend trois domaines spectraux : un domaine à fréquence nulle D0contenant les composantes continues (i.e. de fréquence nulle), un domaine à basses fréquences DBFcontenant des composantes fréquentielles inférieures à un seuil prédéterminé, et un domaine à hautes fréquences DHFcontenant des composantes fréquentielles supérieures audit seuil. Par exemple, le seuil est fixé comme étant égal à la fréquence moyenne de l’ensemble de fréquences (i.e. fréquence médiane d’un histogramme des fréquences du spectre I1.3).
Comme illustré, le domaine à fréquence nulle D0est délimité par un cercle central C0. Le domaine à basses fréquences DBFest compris entre le cercle central C0 et un cercle intermédiaire Ci concentrique avec le cercle central C0. Le domaine à hautes fréquences DHFest compris entre les bordures de l’image I1.3 et le cercle intermédiaire Ci. Pour chaque domaine de fréquences DBF, DHF, une fréquence moyenne est calculée et notée FBF, FHFrespectivement pour les domaines à basses fréquences et à hautes fréquences. Pour chaque domaine, la fréquence moyenne FBF, FHF est calculée en fonction de la taille de l’image monoculaire originale I0.
Dans des variantes de réalisation non décrites, plusieurs seuils fréquentiels pourront être définis de manière à répartir les composantes fréquentielles à travers un plus grand nombre de domaines fréquentiels. Par exemple, en définissant deux seuils fréquentiels, trois domaines fréquentiels (en dehors du domaine de fréquences nulles) pourront être définis (e.g. basses fréquences, moyennes fréquences, hautes fréquences) avec une fréquence moyenne associée à chaque domaine.
Lors de l’étape E13.2, les fréquences spatiales sont réparties dans l’espace géométrique de l’image en deux dimensions (X,Y).
Pour cela, l’image est découpée en plusieurs secteurs centrés suivant différentes orientations principales, de manière à former une pluralité de secteurs {sk}. Ainsi, chaque secteur sk(k étant un entier naturel, variant par exemple de 0 à 16) regroupe des fréquences spatiales dans l’espace de Fourier qui correspondent à une zone de l’image originale dans l’espace géométrique, le passage entre un secteur sket la zone d’image associée s’effectuant par une transformée de Fourier inverse. Dans le présent exemple, le nombre de secteurs de fréquences non nulle est égal à 16 (avec k variant de 1 à 16). Toutefois, dans d’autres modes de réalisation, ce nombre pourra être ajusté, par exemple à des valeurs supérieures à 16 pour un échantillonnage plus fin permettant d’améliorer encore les résultats d’estimation de la profondeur monoculaire.
La décomposition spatiale de l’image en plusieurs secteurs est relativement simple à mettre en œuvre et ne nécessite pas d’autres paramètres que la fréquence spatiale, contrairement à d’autres modèles de l’art antérieur (e.g. modèle de Daly), qui nécessitent une pluralité de paramètres, tels que la fréquence radiale, l’orientation, la luminance, la surface, la distance d’observation (i.e. distance entre la caméra et les objets de l’image), l’excentricité. Cette simplicité est particulièrement avantageuse pour permettre une détermination de la profondeur de champ en temps réel, notamment dans le cadre de la navigation d’un véhicule autonome.
Dans le présent exemple, on considère les orientations principales suivantes : 0°, +45°, -45°, +90°, -90°, 135°, -135°, 180°. Ainsi, les fréquences nulles se répartissent dans le secteur s0. Les fréquences basses se répartissent dans les secteurs numérotés s1, s2, s3, s4, s5, s6, s7, s8. Les fréquences hautes se répartissent dans les secteurs numérotés s9, s10, s11, s12, s13, s14, s15, s16.
Dès lors que le spectre ordonné I1.3 est obtenu à l’issue de l’étape E13.2, la fréquence de chaque pixel Pijest déterminée lors de l’étape E13.3. Pour cela, il s’agit de déterminer, pour chaque secteur sk, la valeur que possède le pixel Pij considéré (sachant qu’un pixel peut contribuer fréquentiellement à plusieurs secteurs simultanément).
La fréquence de la composante colorimétrique X du pixel Pij, notée Fx(i,j), est obtenue en moyennant les contributions du pixel Pijsur la zone d’image associée à chacun des secteurs sk. Chaque pixel Pijde l’image originale se retrouve dans une des domaines fréquentiels prédéfinis et il s’agit de déterminer précisément la fréquence de ce pixel.
Par exemple, la fréquence Fx(i,j) est calculée en moyennant les influences de chaque zone associée au secteur sksur le pixel Pij, selon l’équation 1 suivante : [Math 1] où désigne la valeur colorimétrique X du pixel Pijsur la zone d’image associée au secteur sk.
La fréquence Fx(i,j) ainsi obtenue correspond à la somme de la moyenne des domaines basses fréquences et hautes fréquences respectivement pondérées par la sommes des valeurs colorimétriques des pixels dans les secteurs associés. Cette fréquence est normalisée dans le sens où elle comprend au dénominateur la somme des sur l’ensemble des secteurs sk.
Par exemple, si le pixel Pijest fortement représenté dans le secteur s1, il présentera une forte corrélation avec les composantes de basses fréquences horizontales, i.e. selon une direction sensiblement horizontale selon l’axe X.
Les mêmes opérations sont réalisées pour les composantes colorimétrique Y et Z, de manière à obtenir les composantes fréquentielles de chaque pixel Pijselon les équations suivantes : [Math 2] ; [Math 3] où désignent respectivement les valeurs colorimétriques Y, Z du pixel Pijsur la zone d’image associée au secteur sk.
Finalement, la fréquence F(i,j) du pixel Pijest déterminée en calculant la moyenne des fréquences précédemment calculées pour chacune des trois composantes colorimétriques X, Y, Z, selon l’équation suivante : [Math 4]
Ainsi, la répartition des fréquences spatiales en différents secteurs spatiaux constitue une décomposition grossière de l’espace de Fourier permettant d’extraire par transformée de Fourier inverse les zones de l’image originale. Une telle décomposition permet de calculer de manière fiable la fréquence de chaque pixel de l’image originale tout en optimisant le temps de calcul et les ressources de mémoire. En effet, le regroupement des composantes spectrales en différents domaines fréquentiels est plus avantageux qu’une approche conventionnelle consistant à considérer l’influence de chacun des points du spectre I1.3 sur le pixel considéré Pij. Cette astuce de calcul est d’autant plus avantageuse qu’il est nécessaire de réitérer les calculs pour chacune des trois composantes colorimétriques X, Y, Z du pixel Pij.
La fréquence Fijcalculée pour chaque pixel Pijest appliquée en entrée du modèle inverse CIECAM2 -1lors de l’étape inverse E12 pour déterminer les attributs perceptuels du pixel Pij, en tenant compte de sa fréquence Fij. Ainsi, à l’issue de l’étape de conversion E14, les coordonnées colorimétriques corrigées X’ij, Y’ij, Z’ijdu pixel Pijconverties au format RGB tiennent compte de la fréquence de chaque pixel Pij.
La prise en compte de la fréquence Fijpour chaque pixel Pijpermet avantageusement d’ajuster la correction de couleurs d’une façon adaptative qui préserve au mieux les détails de couleurs de l’image.
Les étapes E10, E11, E12, E13, E14 sont effectuées pour chacun des pixels Pijde l’image d’origine I0 ou I1.1.
En référence à la , un exemple de réalisation de l’étape de filtrage E2 mise en œuvre dans le procédé d’estimation selon la va être à présent décrit en détails.
L’étape de filtrage E2 est configurée pour filtrer l’image monoculaire I0 de manière à obtenir une image filtrée I2, comprenant au moins des données de textures et éventuellement des données de bordures de l’image monoculaire I0.
Lors d’une étape de codage quaternionique E20, chaque pixel Pijde l’image originale I0 en couleurs au format RGB est converti en un quaternion pur codant les trois composantes colorimétriques R, G, B selon l’équation suivante : [Math 5] , où , et sont les composantes rouge, verte et bleue respectivement.
Par définition, un quaternion q est un nombre hypercomplexe comprenant une partie réelle et trois parties imaginaires, comme exprimé selon l’expression suivante : [Math 6] , où est la partie réelle, , et sont les trois parties imaginaires et sont trois opérateurs complexes suivant les règles suivantes : [Math 7] et
Si le quaternion q a une norme unitaire, i.e. , on dit queqest un quaternion unitaire. Si la partie réelle deqest nulle, i.e. , on dit queqest un quaternion pur. Le module et le conjugué du quaternionqsont définis respectivement selon les expressions suivantes :[Math 8] ; [Math 9] .
L’utilisation d’une représentation quaternionique de l’image monoculaire pour effectuer le filtrage est avantageuse car le traitement quaternionique est particulièrement efficace pour optimiser les ressources en mémoire et en capacité de calcul, et avec une meilleure précision sur les informations de couleurs que les approches conventionnelles, car chaque pixel Pijest présenté par un vecteur dans un espace à trois dimensions (RGB) qui est traité comme une seule entité.
De préférence, le filtrage est un filtrage quaternionique guidé.
Ce filtre est configuré lors d’une étape de configuration E02 préalable selon un modèle prédéfini. De préférence, le filtre quaternionique guidé est un modèle linéaire et local entre une image guideIet la réponse du filtreqqui est une transformée linéaire dans une fenêtre de pixels centrée autour d’un pixelkselon l’équation suivante : [Math 10] ; où sont des coefficients linéaires et des quaternions purs dans la fenêtre .
Dans le présent exemple, pour chaque pixel pià filtrer, lors d’une étape E21, le filtre quaternionique est appliqué localement à une pluralité de fenêtres de pixels comprenant le pixel pi. L’image guide I dite image de référence pour guider le filtrage est l’image I1 obtenue après application de la correction couleur.
Les coefficients linéaires sont déterminés en minimisant la différence entre la réponse du filtreq i =a k p i +b k et son entréep i .
Lors d’une étape E22, une fonction de coût quaternionique EQexprimant cette différence est calculée dans , par exemple, selon l’équation suivante : [Math 11] , où les coefficients ak, bkdu filtre quaternionique guidé, les pixels Iide l’image de guide et le pixel pide l’image originale à filtrer sont exprimés respectivement sous une forme quaternionique comme suit : [Math 12] ; [Math 13] ; [Math 14] ; [Math 15] ; oùIm(),Re()désignent respectivement la partie imaginaire et la partie réelle ; et λ et ε sont des paramètres permettant d’ajuster le résultat du filtrage de telle sorte à ce qu’il soit constant dans la fenêtre Wk ; ε étant en outre un paramètre de régularisation pour éviter que soit trop grand.
Lors d’une étape de minimisation E23, la fonction de coût quaternionique EQest minimisée par rapport aux composantes quaternioniques des coefficients (ak, bk), i.e. en résolvant l’ensemble des équations suivantes : [Math 16] , , , , ,
Ainsi, les coefficients ak, bkminimisant la fonction de coût quaternionique EQsont déterminés par les coefficients quaternioniques , , , , .
Lors d’une étape E24, le pixel filtré qien sortie du filtre quaternionique guidé est déterminé à partir des coefficients ak, bkpréalablement obtenus lors de l’étape E23, tel que qi=ak.Ii+bk. En tant qu’élément d’image quaternionique, ce pixel filtré qis’exprime sous la forme quaternionique suivante [Math 17] :
Lors d’une étape E25, les coefficients quaternioniques ak, bket le pixel filtré qisont stockés en association avec la fenêtre Wk.
Les étapes E21, E22, E23, E24, E25 sont réitérées pour chaque fenêtre Wk.
Cependant, pour les différentes fenêtres couvrant un même pixel Pij, notép i pour simplifier,les valeurs de calculées précédemment ne sont pas identiques. Par conséquent, le procédé comprend en outre une étape E26 configurée pour calculer la moyenne de ces différentes valeurs obtenues de obtenues pour différentes fenêtres
Par exemple, l’étape E26 fournit pour chaque pixel pide l’image originale I0, un pixel filtré et moyenné selon l’expression suivante : [Math 18]
Lors du calcul de la fonction de coût quaternionique EQlors de l’étape E22, le paramètres λ peut être ajusté de sorte que la partie réelle de se rapproche de 0 sans être nulle. Par exemple, lorsque le coefficient λ est relativement grand, de préférence compris entre 0,1 et 0,5, les détails de l’image dans la partie réelle de sont quasiment nuls. Par conséquent, l’énergie de l’image en couleurs est en grande partie portée par la partie imaginaire des pixels qiaprès filtrage. Dans ce cas, le pixel filtré peut être considéré comme un quaternion pur de forme suivante : , où : [Math 19] ; avec ; ; ; et ; ;
Ainsi, le filtre quaternionique permet de fournir une image passe-bas dans laquelle les détails sont préservés.
En référence à la , un exemple de réalisation détaillé d’un dispositif pour mettre en œuvre le procédé selon l’invention va être à présent décrit en détails.
Ce dispositif est un exemple de mise en œuvre du dispositif 100 préalablement décrit de manière générique en référence à la . L’architecture générale et le principe de fonctionnement restent identiques. En référence à la , on se concentre principalement sur la mise en œuvre du réseau de neurones 4, plus particulièrement du premier sous-réseau 4.1 et du deuxième sous-réseau 4.2 dans le même contexte que précédemment.
Le premier sous-réseau 4.1 comprend une première couche de convolution 4.10 prenant en entrée l’image corrigée en couleurs I1 issue du module de correction colorimétrique 1. Par exemple, la première couche de convolution 4.10 a un noyau de convolution de taille 7x7 pixels permettant de fournir un bloc de données I410 de taille réduite par un facteur 2 par rapport à celle de l’image I1.
En sortie de la première couche de convolution 4.10, le premier sous-réseau 4.1 comprend une couche de « pooling » 4.11 configurée pour réduire la taille des données de l’image d’un facteur par exemple égale à 2. Ainsi, la couche de « pooling » 4.11 produit un bloc de données I411 d’une taille réduite d’un facteur égale à 4 par rapport à celle de l’image I1.
En sortie de la couche de pooling 4.11, le premier sous-réseau 4.1 comprend une deuxième couche de convolution 4.12. Par exemple, cette couche est configurée avec un noyau de convolution d’une taille égale à 3x3 pixels, pour réduire le volume de données d’un facteur égal à 2. Ainsi, la deuxième couche de convolution 4.12 produit un bloc de données I412 d’une taille réduite d’un facteur 8 par rapport à celle de l’image I1.
En sortie de la deuxième couche de convolution 4.12, le premier sous-réseau 4.1 comprend deux couches de convolution dilatée 4.13, 4.14, fournies en série à l’une à la suite de l’autre. Ces convolutions dilatées permettent de fournir deux dernières couches de sous-échantillonnages, en s’affranchissant des opérateurs de « stride » utilisés pour translater le noyau de convolution des couches de convolution conventionnelles.
Par définition, une convolution dilatée est une technique de convolution selon laquelle le noyau de convolution (« kernel » en anglais) est élargi en insérant des trous entre ses éléments consécutifs. Autrement dit, il s’agit d’une convolution impliquant un saut de pixels, de manière à couvrir une plus grande surface de l'image d’entrée.
Les deux couches de convolution dilatée 4.13, 4.14 ont pour effet de maintenir constante la taille des blocs de données en sortie de ces couches I413, I414 respectivement, ce qui permet avantageusement de limiter la réduction de la résolution de la carte de profondeur réduite I4.1 fournie en sortie du premier sous-réseau 4.1. Dans le présent exemple, la résolution de l’image en sortie des deux couches 4.13, 4.14 est maintenue à 1/8 de celle de l’image I1 fournie en entrée du réseau neuronal 4. En sortie des deux couches de convolution dilatée 4.13, 4.14, le premier sous-réseau 4.1 comprend en parallèle une pluralité, de préférence quatre, couches de convolution dilatée 4.15a, 4.15b, 4.15c, 4.15d. De manière avantageuse, les couches de convolution dilatée ont des facteurs de dilatation fixés à des valeurs distinctes. Par exemple, les quatre couches de convolution dilatée 4.15a, 4.15b, 4.15c, 4.15d ont des facteurs de dilatation égaux à 6, 12, 18 et 24 respectivement.
Les couches de convolution dilatées 4.15a, 4.15b, 4.15c, 4.15d forment une structure pyramidale permettant d’extraire quatre cartes de caractéristiques de profondeur sous-échantillonnées I415a, I415b, I415c, I415d respectivement, avec différents champs réceptifs (« receptive field » en anglais). Par champ « réceptif », on comprend un champ de capteur destiné à capturer des caractéristiques d’image plus ou moins globales (ou locales). Par exemple, on peut considérer des champs réceptifs correspondant respectivement à différents niveaux de détails d’images, i.e. plus ou moins fins ou grossiers.
L’ensemble de ces couches 4.15a, 4.15b, 4.15c, 4.15d constitue un schéma « multi-échelle » qui permet avantageusement de garantir que les régions d’image à une échelle arbitraire peuvent être récupérées avec précision. En effet, la prédiction d’une carte de profondeurs à partir d'une caméra fixe ne peut pas exploiter des objets captés à différentes échelles, contrairement à une caméra mobile. Pour surmonter cet inconvénient, une solution consiste à utiliser les mêmes architectures de réseaux de neurones convolutifs sur différentes versions redimensionnées des mêmes ensembles de données, puis à concaténer les cartes de caractéristiques de différents réseaux de neurones convolutifs pour obtenir un résultat final.
Cet ensemble de couches permet en outre de s’affranchir de couches entièrement connectées (fully-connecteden anglais) qui constituent les couches terminales d’un réseau de neurones convolutif classique. Ainsi, cet ensemble de couches 4.15a, 4.15b, 4.15c, 4.15d permet avantageusement de simplifier la structure du réseau neuronal et par conséquent de faciliter sa mise en œuvre, notamment dans le cadre d’applications embarquées, telles que la navigation de véhicules autonomes avec la détection d’obstacles en temps réel.
En sortie des couches de convolution dilatée, le premier sous-réseau 4.1 comprend un module de fusion 4.16 configuré pour fusionner les quatre cartes de profondeur I415a, I415b, I415c, I415d, de manière à fournir la carte de profondeur réduite I4.1.
En raison de l’agrégation des caractéristiques de profondeur sous-échantillonnées obtenue par le module de fusion 4.16, la résolution de la carte de profondeur réduite I4.1 est égale à seulement 1/8 de la résolution de l’image I1 fournie en entrée du premier sous-réseau 4.1.
Pour augmenter la résolution de la carte de profondeur réduite I4.1, le premier sous-réseau 4.1 est relié en sortie du module de fusion 4.16 au deuxième sous-réseau 4.2. De préférence, le deuxième sous-réseau 4.2 est un réseau hiérarchique plutôt qu’une interpolation bicubique pour reconstruire progressivement une carte de profondeur à la même taille que celle de l’image couleurs d’entrée I1.
Le terme « hiérarchique » fait référence à la structure hiérarchique ou pyramidale du sous-réseau 4.2, i.e. présentant plusieurs niveaux de résolution augmentant progressivement avec les couches neuronales constitutives du sous-réseau de manière à atteindre une résolution au moins égale à celle de l’image corrigée en couleurs I1.
Par exemple, le deuxième sous-réseau 4.2 comprend successivement trois couches de sur-échantillonnage 4.20, 4.21, 4.22 pour sur-échantillonner progressivement en trois niveaux la carte de profondeur réduite I4.1 issue du premier sous-réseau 4.1. De préférence, chacune de ces trois couches de sur-échantillonnage comprend une couche de convolution suivie d’une couche de convolution transposée. Chaque couche de sur-échantillonnage 4.20, 4.21, 4.22 est configurée de telle sorte qu’elle agrandisse la taille de la carte de profondeur ou de manière équivalente, la résolution d’un facteur, de préférence égal à 2.
Ainsi, la carte de profondeur réduite I4.1 fournie en entrée du deuxième sous-réseau 4.2 est constituée par un bloc de données I420 d’une résolution égale à 1/8 de celle de l’image I1 fournie en entrée du premier sous-réseau 4.1. Le bloc de données I421 fourni en sortie de la couche 4.20 a une taille (ou résolution) égale à ¼ de celle de l’image d’entrée I1. Le bloc de données I422 fourni en sortie de la couche 4.21 a une taille (ou résolution) égale à 1/2 de celle de l’image d’entrée I1. Ainsi, le deuxième sous-réseau 4.2 permet de sur-échantillonner progressivement la carte de profondeur intermédiaire I4.1 fournie par le premier sous-réseau 4.1 pour accroître la taille, et par conséquent la résolution de la carte de profondeur.
Le deuxième sous-réseau 4.2 comprend en outre une couche de convolution 4.23 reliée à la sortie du module de soustraction 3, de manière à fournir une carte intermédiaire I’3. Par exemple, cette couche de convolution 4.23 présente un noyau de convolution de taille égale à 3x3.
Le deuxième sous-réseau 4.2 comprend en outre un module de concaténation 4.24 relié au module de convolution 4.23 et à la couche de sur-échantillonnage 4.22. A partir des caractéristiques sur-échantillonnées I424 fournies par la couche 4.22, le module de concaténation 4.24 est configuré pour augmenter la résolution de la carte de profondeur, de sorte qu’elle ait une résolution égale à celle de la carte de l’image corrigée en couleurs I1 (ou de l’image monoculaire d’origine I0). Le module de concaténation 4.24 fournit en sortie un bloc de données I425.
En sortie du module de concaténation 4.24, le deuxième sous-réseau 4.2 comprend en outre, plusieurs (de préférence deux) couches de convolution 4.25, 4.26, de manière à fournir la carte de profondeur résiduelle I4.2. Par exemple, chacune de ces couches 4.25, 4.26 a un noyau de convolution de taille égale à 3x3 pixels.
En sortie du premier sous-réseau 4.1 et du deuxième sous-réseau 4.2 est relié le module d’addition 5, de manière à fournir la carte de profondeur finale I5 en ajoutant la carte de profondeur résiduelle I4.2 à la carte de profondeur réduite I4.1.
Ainsi, le deuxième sous-réseau 4.2 permet d’améliorer l’estimation de la profondeur réalisée par le premier sous-réseau 4.1. En particulier, le deuxième sous-réseau 4.2 fournit un apprentissage résiduel permettant un entraînement rapide et stable qui contribue à obtenir des résultats d’estimation de la profondeur améliorés.
Entraînement
Le réseau neuronal 4 dans son ensemble est entraîné en utilisant un outil d’apprentissage automatique, tel queTensorFlowdéveloppé parGoogle.
Le premier sous-réseau 4.1 est initialisé en utilisant un réseau de neurones profond résiduel (ResNet), par exemple le réseau ResNet-101. Ce réseau est ensuite entraîné en utilisant une première fonction de perte E1 de norme L2 appliquée entre des images de profondeur sous-échantillonnées et les sorties de profondeurs sous-échantillonnées par un facteur égal à 8 correspondantes. Par exemple, la base de données d’entraînement KITTI est utilisée pour fournir des images et les cartes de profondeurs correspondantes qui ont été sous-échantillonnées.
Le deuxième sous-réseau 4.2 est initialisé au hasard et entraîné en utilisant une deuxième fonction de perte E2 de norme L2 appliquée entre les paires de profondeur de basse résolution (1/8) correspondant à la carte de profondeur réduite I4.1 et de profondeur de haute résolution correspondant à la carte de profondeur résiduelle I4.2. Comme pour le premier sous-réseau 4.1, la base de données d’entraînement KITTI est utilisée pour obtenir ces paires de profondeur à haute résolution (HR) et à basse résolution (LR).
Les premier 4.1 et deuxième 4.2 sous-réseaux sont ajustés conjointement en utilisant une seule fonction de perte, commune aux deux sous-réseaux 4.1, 4.2. De préférence, cette fonction de perte, désignée L, est définie comme suit [Math 20] : où désigne la carte de profondeur de vérité terrain sous-échantillonnée d’un facteur (par exemple à 8) ; désigne la carte de profondeur en sortie du réseau ; désigne la carte de profondeur de la vérité terrain ; désigne la carte de profondeur obtenue par une fonction de mappage (de l’anglais « mapping function »)g, telle que ressemble à la carte de profondeur de la vérité terrainden fonction de l’image d’entréec(au format RGB) et de l’ensemble des paramètres θ du réseau à optimiser ; est un paramètre de balance entre les deux termes de perte et ; est le nombre d’échantillons d’apprentissage.
Le but de l’entraînement est d’apprendre la fonction de mappage pour générer la carte de profondeur avec un degré de ressemblance optimum à la carte de profondeur de la vérité terrain.
Un des avantages de la stratégie dite « à double perte » telle que proposée selon l’équation [Math 20] ci-dessus est qu’elle permet une supervision de couches intermédiaires, c'est-à-dire une supervision simultanément des deux sous-réseaux 4.1, 4.2. En plus, tous les filtres convolutifs utilisés pour l'extraction de caractéristiques, l'échantillonnage et le schéma multi-échelle sont entraînés conjointement d’une façon de bout-en-bout (de l’anglais « end-to-end »).
L’architecture complète est entraînée en utilisant par exemple la plateforme (ou framework)TensorFlow. Chaque sous-réseau 4.1, 4.2 est tout d’abord entraîné séparément.
Concernant le premier sous-réseau 4.1 de prédiction de la profondeur, le réseau « ResNet 101 » est utilisé pour initialiser ce sous-réseau réseau 4.1. Le modèle de ce sous-réseau est ensuite affiné avec une perte de norme L2 calculée entre les images de profondeur sous-échantillonnées et les sorties de profondeur 1/8 correspondantes.
Concernant le deuxième sous-réseau 4.2 d'amélioration de la profondeur, le modèle de ce sous-réseau 4.2 est initialisé aléatoirement. Ce sous-réseau 4.2 est ensuite entraîné avec une fonction de perte de norme L2 calculée entre les paires de profondeur dite LR-HR, i.e. à basse-résolution (LR) - haute résolution (HR).
Ensuite, les deux sous-réseaux 4.1, 4.2 sont ajustés conjointement à l'aide de la fonction de perte L proposée avec une double supervision.
De préférence, le paramètre d’inertie (momentumen anglais) est fixé à 0,9 et le taux d’apprentissage est initialisé à 10-4pour toutes les couches des deux sous-réseaux 4.1, 4.2 puis diminué de 0,90 à chaque époque ou itération (epochen anglais).
Résultats et performances
Le réseau neuronal 4, plus particulièrement les deux sous-réseaux 4.1, 4.2 sont entraînés en utilisant une base de données d’entraînement connue, telle que la base KITTI.
Les résultats du réseau neuronal 4 selon l’invention sont comparés avec ceux de trois méthodes de l’état de l’art désignées ci-après A, B et C et respectivement décrites dans les articles suivants :
- [A] : H. Fu, M. Gong, C. Wang, K. Batmanghelich, and D. Tao, “Deep ordinal regression network for monocular depth estimation,” inProc. IEEE/CVF Conf. Comput er Vis ion Pattern Recognit ion, Jun. 2018, pp. 2002–2011.
- [B] : J. H. Lee, M.-K. Han, D. W. Ko, and I. H. Suh, “From big to small: Multi-scale local planar guidance for monocular depth estimation” 2019, arXiv:1907.10326.
- [C] : Z. Hao, Y. Li, S. You, and F. Lu, “Detail preserving depth estimation from a single image using attention guided networks,” inProc. Int. Conf. 3D Vis. (DV),Sep. 2018, pp. 304–313.
Six métriques d’évaluation telles que décrites ci-dessous sont utilisées pour comparer les résultats de la présente invention avec ceux obtenus par les trois méthodes de l’état de l’art A, B, C :
- L’erreur relative absolue (« Absolute Relative Error » en anglais) :
, où T désigne un ensemble de pixels de référence pour lesquels des valeurs de vérité terrain de profondeur sont connues, |T| désigne le nombre des pixels valides de la « vérité terrain » et désigne la « vérité terrain » de profondeur. - L’erreur relative absolue au carré (« Squared Absolute Relative Error » en anglais) : Sq
. - La racine de l’erreur quadratique moyenne (« Root Mean Square Error » en anglais) :
. - La racine de l’erreur logarithmique quadratique moyenne :
. - L’écart logarithmique moyen :
. - La précision (accuracyen anglais) δ est un rapport, pouvant être exprimé par un pourcentage de
sous la condition , où Th désigne un seuil prédéterminé. Typiquement, le seuil Th est fixé à 1,25, ce qui correspond à une précision de prédiction de {±0,25, ±0,5625, ±0,9531} comparé à la vérité terrain.
Les performances de l’invention sont comparées à celles des trois méthodes A, B, C pour les paramètres δ, Abs Rel, Log10 et RMSE comme indiqué dans le tableau 1 ci-dessous. En particulier, le paramètre de précision δ est estimé pour trois seuils distincts : Th=1,25 ; Th=1,25²=1,5623 ; Th=1,253=1,95.
[Table 1] Tableau 1:Performances
| Méthode | | | | Abs Rel | log10 | RMSE |
| A | 0,828 | 0,965 | 0,992 | 0,115 | 0,051 | 0,509 |
| B | 0,882 | 0,979 | 0,995 | 0,112 | 0,047 | 0,352 |
| C | 0,841 | 0,966 | 0,991 | 0,127 | 0,053 | 0,555 |
| Invention | 0,885 | 0,979 | 0,995 | 0,110 | 0,047 | 0,393 |
Au vu de ces résultats, la présente invention fournit de meilleures performances que celles obtenues par les méthodes de l’état de l’art A, B et C. En particulier, les valeurs de précision δ sont maximales pour chacune des trois conditions testées, i.e. δ<Th ; δ<Th² ; δ<Th3. Par exemple, l’invention permet d’obtenir des valeurs égales à celles obtenues avec les méthode B et C respectivement pour δ<Th² et δ<Th3. Plus les valeurs de δ sont proches de 1, plus la méthode est précise. En ce qui concerne les trois autres critères, plus leurs valeurs sont faibles, plus la méthode est fiable dans le sens où les estimations présentent peu de dispersion par rapport aux données de « vérité terrain ». Ainsi, les valeurs 0,110 ; 0,047 ; 0,393 obtenues respectivement pour les critères Abs Rel, Log10 et tout particulièrement RMSE sont inférieures à celles obtenues avec les méthodes A, B et C, montrant ainsi une fiabilité et une précision accrue de la profondeur monoculaire de l’invention par rapport à l’art antérieur.
Selon un mode de réalisation de l’invention, le dispositif 100 tel que décrit en référence à la , est au moins en partie mise en œuvre par un système informatique ou ordinateur 6 qui va à présent être décrit plus en détails en référence à la .
Ce système informatique 600 comporte une unité de traitement 6.1 de données (e.g. un microprocesseur noté CPU, de l’anglais « Central Processing Unit ») et une mémoire principale 6.2 (e.g. RAM de l’anglais « Random Access Memory ») et une mémoire morte 6.3 (e.g. ROM de l’anglais « Read Only Memory »), accessibles par l’unité de traitement 6.1. Le système informatique 6 comporte en outre, par exemple une interface réseau 6.4, et/ou un support lisible par ordinateur, comme par exemple un support local, tel qu’un disque dur local 6.6 ou bien un support distant (tel qu’un disque dur distant et accessible via l’interface réseau 6.4 au travers d’un réseau de communication) ou bien encore un support amovible (tel qu’une clé USB, de l’anglais « Universal Serial Bus », ou bien un CD, de l’anglais « Compact Disc » ou bien un DVD, de l’anglais « Digital Versatile Disc ») lisible au moyen d’un lecteur approprié du système informatique 6 (tel qu’un port USB ou bien un lecteur de disque CD et/ou DVD).
Un programme d'ordinateur Q contenant des instructions pour l’unité de traitement 6.1 est enregistré sur le support 6.6 et/ou téléchargeable via l’interface réseau 6.4. Ce programme d’ordinateur Q est, par exemple, destiné à être chargé dans la mémoire principale 6.2, afin que l’unité de traitement 6.1 exécute ses instructions. Ces instructions peuvent être organisées en modules logiciels, tels que décrits précédemment en référence aux figures 2 et 5, en particulier, le module de correction colorimétrique 1, le module de filtrage 2, le réseau de neurones 4 y compris le premier sous-réseau 4.1 et le deuxième sous-réseau 4.2, le module de soustraction 3, le module d’addition 5, pour mettre en œuvre les étapes E1, E2, E3, E4, E5 du procédé E100 tel que décrit en référence à la . Ainsi, les étapes E1, E2, E3, E4, E5 du procédé E100 sont mises en œuvre par ordinateur.
Cependant, cette présentation ne préjuge pas de la forme du programme d’ordinateur, qui peut être quelconque. Alternativement, tout ou partie de ces modules pourrait être implémenté sous forme de modules matériels, c'est-à-dire sous forme d'un circuit électronique, par exemple micro-câblé, ne faisant pas intervenir de programme d'ordinateur.
En référence à la , un robot terrestre 700 dans lequel l’invention est mise en œuvre va être à présent décrit.
Le robot terrestre 700 est adapté à se déplacer sur le sol, de manière autonome.
Par exemple, il comprend le dispositif 100 selon la pour déterminer la profondeur de champ des images captées par la caméra 0. Il est adapté à détecter des obstacles, estimer sa distance par rapport aux différents obstacles détectés et ajuster sa trajectoire en conséquence de manière à éviter toute collision avec un des obstacles détectés.
En référence à la , un drone 800 dans lequel le dispositif selon l’invention est mis en œuvre va être à présent décrit.
Le drone 800 est adapté à se déplacer dans l’air, de manière autonome.
Par exemple, il comprend le dispositif 100 selon la pour déterminer la profondeur de champ des images captées par la caméra 0. Il est en outre adapté à détecter des obstacles fixes ou mobiles, estimer sa distance par rapport aux différents obstacles détectés et ajuster sa trajectoire en conséquence de manière à éviter toute collision avec un obstacle.
On notera par ailleurs que l’invention n’est pas limitée aux modes de réalisation décrits précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées aux modes de réalisation décrits ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué.
Selon une première application industrielle, le procédé d’estimation de la profondeur monoculaire selon l’invention pourra être mis en œuvre pour la navigation d’un engin de mobilité en trois dimensions, par exemple, basée sur la réception de signaux satellitaires (e.g. GPS : « Global Positioning System » en anglais).
Le dispositif selon l’invention pourra être intégré dans un système de vision artificielle embarqué dans l’engin de mobilité et configuré pour détecter la présence d’obstacles à partir d’une image monoculaire en couleurs captée par une caméra monoculaire et estimer la distance entre le dispositif et l’obstacle détecté en fonction de la profondeur monoculaire estimée selon le procédé de l’invention.
Le dispositif et le procédé selon l’invention trouvent une application privilégiée pour les engins de mobilité (e.g. aéronefs, drones, robots) dits autonomes, i.e. adaptés à se déplacer de manière autonome.
Dès lors qu’un obstacle potentiel est identifié, l’engin de mobilité autonome doit être capable d’estimer avec une fiabilité accrue la profondeur monoculaire pour en déduire la distance séparant l’obstacle de l’engin de mobilité, afin d’ajuster sa trajectoire en temps réel et éviter toute collision.
Selon une deuxième application industrielle, le procédé d’estimation de la profondeur monoculaire selon l’invention pourra être mis en œuvre pour la reconstruction automatique d’une scène en trois dimensions à partir d’une ou plusieurs images en deux dimensions captées par une caméra monoculaire (i.e. un flux d’images monoculaires).
Dans la présentation détaillée de l’invention qui est faite précédemment, les termes utilisés ne doivent pas être interprétés comme limitant l’invention aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement qui vient de lui être divulgué.
Claims (10)
- Procédé (E100) d’estimation d’une carte de profondeur d’une image monoculaire (I0), ledit procédé étant caractérisé en ce qu’il comprenant les étapes suivantes :
- fournir (E0) une image monoculaire en couleurs (I0) acquise par un dispositif de captation optique monoculaire (0) dans des conditions d’observations réelles ;
- réaliser une correction colorimétrique (E1) de l’image monoculaire (I0) à partir d’un modèle d’apparence couleur inversible (1a), de manière à fournir une image corrigée en couleurs (I1) dans des conditions d’observation de référence, de sorte que la perception des couleurs dans l’image corrigée en couleurs (I1) soit identique à la perception des couleurs de l’image monoculaire en couleurs (I0) acquise dans les conditions d’observations réelles; et
- traiter (E4 ; E4.1) l’image corrigée en couleurs (I1) en appliquant un réseau de neurones convolutif (4 ; 4.1 ; 4.1, 4.2) de manière à générer une carte de profondeur (I4.1 ; I5) de l’image monoculaire en couleurs (I0).
- Procédé selon la revendication 1, dans lequel l’image monoculaire en couleurs (I0) comprend une pluralité de pixels (Pij) et la correction colorimétrique (E1) comprenant les étapes suivantes :
- appliquer (E11) le modèle d’apparence couleur inversible (1a) à chaque pixel (Pij) de l’image monoculaire en couleurs (I0 ; I1.1), de manière à déterminer au moins un attribut perceptuel du pixel (Jij, Cij, hij) sélectionné parmi : clarté (J), chromaticité (C), angle de teinte (h), brillance (Q), saturation (s), composition de teinte (H) ;
- inverser (E12) le modèle d’apparence couleur inversible (1a) de manière à fournir un modèle d’apparence couleur inverse (1b) ; et
- pour chaque pixel (Pij), appliquer (E12) ledit au moins un attribut perceptuel (Jij, Cij, hij) au modèle d’apparence couleur inverse (1b) configuré avec les conditions d’observation de référence, de manière à fournir des valeurs trichromatiques corrigées (X’ij, Y’ij, Z’ij) dudit pixel (Pij).
- Procédé selon la revendication 2, dans lequel la correction colorimétrique (E1) comprend en outre une estimation fréquentielle (E13), lors de laquelle une fréquence spatiale (Fij) de chaque pixel (Pij) de l’image monoculaire en couleurs (I0 ; I1.1) est estimée, la fréquence estimée (Fij) étant fournie en entrée du modèle d’apparence couleur inverse (1b) pour obtenir les valeurs trichromatiques corrigées (X’ij, Y’ij, Z’ij) dudit pixel (Pi j).
- Procédé selon la revendication 3, dans lequel l’estimation fréquentielle (E13 ; E13.1, E13.2) comprend une décomposition (E13.1) de l’image monoculaire en couleurs (I0 ; I1.1) en une pluralité de domaines fréquentiels (s0-s16 ; sk) et une décomposition (E13.2) de l’image monoculaire en couleurs (I0 ; I1.1) selon plusieurs orientations spatiales (E13.2), la fréquence (Fij) étant estimée en tenant compte de l’influence des domaines fréquentiels adjacents au domaine fréquentiel auquel appartient ledit pixel (Pij) de manière à obtenir une carte spatio-fréquentielle des pixels (I1.3).
- Procédé selon l’une quelconque des revendications 1 à 4, dans lequel le modèle d’apparence couleur inversible (1a) est le modèle CIECAM2 configuré avec selon au moins l’un des paramètres suivants : coordonnées chromatiques d’un blanc de référence (Xw, Yw, Zw), luminosité ambiante (La), intensité lumineuse de fond (Yb), indicateur d’environnement (E).
- Procédé selon l’une quelconque des revendications 1 à 5, comprenant en outre les étapes suivantes :
- filtrer (E2) l’image monoculaire en couleurs (I0) en appliquant un filtre quaternionique linéaire guidé par une image de référence (I), de manière à fournir une image quaternionique filtrée (q ; I2) comprenant des données de textures de l’image monoculaire (I0) ; et
- soustraire (E3) l’image filtrée (I2) de l’image corrigée en couleurs (I1), de manière à obtenir une carte de textures (I3).
- Procédé selon la revendication 6, comprenant en outre les étapes suivantes :
- sur-échantillonner (E ; E4.2) la carte de profondeur, de résolution réduite, (I4.1) par application d’un réseau hiérarchique (4.2) de manière à fournir des caractéristiques de profondeur sur-échantillonnées (I424) ;
- concaténer (E4.24) la carte des textures (I3 ; I’3) et les caractéristiques de profondeur sur-échantillonnées (I413) pour fournir une carte de profondeur résiduelle (I4.2) ; et
- additionner (E5) la carte de profondeur résiduelle (I4.2) et la carte de profondeur réduite (I4.1), de manière à obtenir une carte de profondeur finale (I5) d’une résolution au moins égale à celle de l’image monoculaire (I0).
- Dispositif (100 ; 600) pour la mise en œuvre du procédé d’estimation selon l’une quelconque des revendications 1 à 7, comprenant :
- un dispositif de captation optique monoculaire (0) pour obtenir une image monoculaire en couleurs (I0) dans des conditions d’observations réelles ;
- un module de correction colorimétrique (1) de l’image monoculaire en couleurs (I0) basé sur un modèle d’apparence couleur inversible (1a), de manière à fournir une image corrigée en couleurs (I1) dans des conditions d’observation de référence, de sorte que la perception des couleurs dans l’image corrigée en couleurs (I1) soit identique à la perception des couleurs dans l’image monoculaire en couleurs (I0) acquise dans les conditions d’observations réelles ; et
- un module de génération (4) d’une carte de profondeur (I4.1 ; I5) configuré pour appliquer un réseau de neurone convolutif (4 ; 4.1, 4.2) à l’image corrigée en couleurs (I1).
- Dispositif (100 ; 600) selon la revendication 8, comprenant en outre :
- un module de filtrage (2) quaternionique linéaire guidé par une image de référence (I) configuré pour filtrer l’image monoculaire en couleurs (I0) de manière à obtenir une image filtrée (q ; I2) comprenant des données de texture de l’image monoculaire en couleurs (I0) ; et
- un module de soustraction (3) configuré pour soustraire l’image filtrée (I2) de l’image corrigée en couleurs (I1).
- Engin de mobilité autonome (700 ; 800) comprenant un dispositif (100 ; 600) selon la revendication 8 ou 9.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2302116A FR3146534B1 (fr) | 2023-03-07 | 2023-03-07 | Procede d’estimation d’une carte de profondeur d’une image monoculaire et dispositifs associes |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2302116 | 2023-03-07 | ||
| FR2302116A FR3146534B1 (fr) | 2023-03-07 | 2023-03-07 | Procede d’estimation d’une carte de profondeur d’une image monoculaire et dispositifs associes |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR3146534A1 true FR3146534A1 (fr) | 2024-09-13 |
| FR3146534B1 FR3146534B1 (fr) | 2025-02-28 |
Family
ID=87036134
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR2302116A Active FR3146534B1 (fr) | 2023-03-07 | 2023-03-07 | Procede d’estimation d’une carte de profondeur d’une image monoculaire et dispositifs associes |
Country Status (1)
| Country | Link |
|---|---|
| FR (1) | FR3146534B1 (fr) |
-
2023
- 2023-03-07 FR FR2302116A patent/FR3146534B1/fr active Active
Non-Patent Citations (15)
| Title |
|---|
| "Depth map prédiction from a single image using a multi-scale deep network", PROCEEDINGS OF THE ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, vol. 27, 2014, pages 2366 - 2374 |
| A. PILZERD. XUM. PUSCASE. RICCIN. SEBE: "Unsupervised adversarial depth estimation using cycled generative networks", PROCEEDINGS OF THE 2018 INTERNATIONAL CONFÉRENCE ON 3D VISION (3DV), VERONA, ITALY, 5-8 SEPTEMBER 2018, pages 587 - 595 |
| APPL. SCI., vol. 11, 2021, pages 5383 |
| C. GODARDO.M. AODHAG.J. BROSTOW: "Unsupervised Monocular Depth Estimation with Left-Right Consistency", PROCEEDINGS OF THE 2017 IEEE CONFÉRENCE ON COMPUTER VISION AND PATTERN RECOGNITION, CVPR 2017, HONOLULU, HI, USA, 21-26 JULY 2017, pages 6602 - 6611 |
| DENIS ET AL: "Spatial and spectral quaternionic approaches for colour images", COMPUTER VISION AND IMAGE UNDERSTANDING, ACADEMIC PRESS, US, vol. 107, no. 1-2, 1 June 2007 (2007-06-01), pages 74 - 87, XP022103081, ISSN: 1077-3142, DOI: 10.1016/J.CVIU.2006.11.019 * |
| E. GUOZ. CHENY. ZHOUD. O. WU: "Unsupervised Learning of Depth and Camera Pose with Feature Map Warping", SENSORS, vol. 21, no. 3, 2021, pages 923 |
| H. FUM. GONGC. WANGK. BATMANGHELICHD. TAO: "Deep ordinal regression network for monocular depth estimation", PROC. IEEEI CVF CONF. COMPUTER VISION PATTERN RECOGNITION, June 2018 (2018-06-01), pages 2002 - 2011 |
| J. H. LEE, M.-K. HAN, D. W. KO, I. H. SUH: "From big to small: Multi-scale local planar guidance for monocular depth estimation", ARXIV: 1907.10326, 2019 |
| M. POGGIF. TOSIS. MATTOCCIA: "Learning monocular depth estimation with unsupervised trinocular assumptions", PROCEEDINGS OF THE 2018 INTERNATIONAL CONFÉRENCE ON 3D VISION (3DV), VERONA, ITALY, 5-8 SEPTEMBER 2018, pages 324 - 333 |
| N. YANGL.V. STUMBERGR. WANGD. CREMERS: "D3vo: Deep depth, deep pose and deep uncertainty for monocular visual odometry", PROCEEDINGS OF THE IEEEICVF CONFÉRENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 2020, pages 1281 - 1292 |
| NAN YANG ET AL: "D3VO: Deep Depth, Deep Pose and Deep Uncertainty for Monocular Visual Odometry", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 2 March 2020 (2020-03-02), XP081612497 * |
| R. GARGB.G.V. KUMARG. CARNEIROI.D. REID: "Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue", PROCEEDINGS OF THE 14TH EUROPEAN CONFÉRENCE COMPUTER VISION-ECCV, vol. 9912, 2016, pages 740 - 756 |
| XIANG, N. LVX. KONGA. EL SADDIK: "An object context integrated network for joint learning of depth and optical flow", IEEE TRANS. IMAGE PROCESS, vol. 29, 2020, pages 7807 - 7818, XP011799680, DOI: 10.1109/TIP.2020.3007843 |
| YIN LING ET AL: "Stereoscopic chroma key matting using statistical analysis in CIECAM02 color space", 2015 IEEE INTERNATIONAL SYMPOSIUM ON HAPTIC, AUDIO AND VISUAL ENVIRONMENTS AND GAMES (HAVE), IEEE, 11 October 2015 (2015-10-11), pages 1 - 5, XP032835295, DOI: 10.1109/HAVE.2015.7359452 * |
| Z. HAOY. LIS. YOUF. LU: "Detail preserving depth estimation from a single image using attention guided networks", PROC. INT. CONF. 3D VIS. (DV), September 2018 (2018-09-01), pages 304 - 313 |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3146534B1 (fr) | 2025-02-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Zhang et al. | Multi-scale single image dehazing using perceptual pyramid deep network | |
| EP3707676B1 (fr) | Procédé d'estimation de pose d'une caméra dans le référentiel d'une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d'ordinateur associé | |
| Alsakar et al. | Underwater image restoration and enhancement: a comprehensive review of recent trends, challenges, and applications | |
| Zhang et al. | Hyperspectral image reconstruction using deep external and internal learning | |
| Raihan A et al. | Review of underwater image restoration algorithms | |
| Sahu et al. | Trends and prospects of techniques for haze removal from degraded images: A survey | |
| CN114746895B (zh) | 用于图像去噪的噪声重构 | |
| Fayaz et al. | Underwater image restoration: A state‐of‐the‐art review | |
| Parihar et al. | A comparative study of image dehazing algorithms | |
| US20190114747A1 (en) | Image dehazing and restoration | |
| Saleem et al. | A non-reference evaluation of underwater image enhancement methods using a new underwater image dataset | |
| EP3221841B1 (fr) | Procede et dispositif de filtrage adaptatif temps reel d'images de disparite ou de profondeur bruitees | |
| Gu et al. | A single image dehazing method using average saturation prior | |
| Xiong et al. | From pixels to physics: Probabilistic color de-rendering | |
| FR3011368A1 (fr) | Procede et dispositif pour le renforcement de la forme des bords pour l'amelioration visuelle du rendu base sur des images de profondeur d'un flux video en trois dimensions | |
| WO2022207110A1 (fr) | Reconstruction de bruit pour débruitage d'image | |
| Swami et al. | Candy: Conditional adversarial networks based fully end-to-end system for single image haze removal | |
| CN116452469A (zh) | 一种基于深度学习的图像去雾处理方法及装置 | |
| Sato et al. | Unsupervised intrinsic image decomposition with lidar intensity | |
| Wang et al. | Multiscale single image dehazing based on adaptive wavelet fusion | |
| Fazlali et al. | Aerial image dehazing using a deep convolutional autoencoder | |
| Guodong et al. | Underwater image enhancement and detection based on convolutional DCP and YOLOv5 | |
| Xu et al. | Learning‐Based Dark and Blurred Underwater Image Restoration | |
| Kis et al. | Night-time image dehazing using deep hierarchical network trained on day-time hazy images | |
| FR3096499A1 (fr) | Dispositif de traitement de prise de vue |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment |
Year of fee payment: 2 |
|
| PLSC | Publication of the preliminary search report |
Effective date: 20240913 |
|
| PLFP | Fee payment |
Year of fee payment: 3 |
|
| PLFP | Fee payment |
Year of fee payment: 4 |