[go: up one dir, main page]

FR3159032A1 - Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé. - Google Patents

Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé.

Info

Publication number
FR3159032A1
FR3159032A1 FR2401071A FR2401071A FR3159032A1 FR 3159032 A1 FR3159032 A1 FR 3159032A1 FR 2401071 A FR2401071 A FR 2401071A FR 2401071 A FR2401071 A FR 2401071A FR 3159032 A1 FR3159032 A1 FR 3159032A1
Authority
FR
France
Prior art keywords
image
images
pixel
depth
determined
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.)
Pending
Application number
FR2401071A
Other languages
English (en)
Inventor
Hai Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stellantis Auto SAS
Original Assignee
Stellantis Auto SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Stellantis Auto SAS filed Critical Stellantis Auto SAS
Priority to FR2401071A priority Critical patent/FR3159032A1/fr
Publication of FR3159032A1 publication Critical patent/FR3159032A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

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)

Abstract

Procédé et dispositif de détermination de profondeur d’un pixel d’une image par un réseau de neurones convolutif associé à un système de vision comprenant une caméra embarquée dans un véhicule. Le réseau de neurones est appris dans une phase d’apprentissage comprenant la réception (21) de données représentatives d’une première et deuxième images acquises par la caméra à deux instants temporels avec une première définition, la prédiction (23) par le réseau de neurones de cartes de profondeurs associées à chaque image, les cartes de profondeurs étant déterminées avec une deuxième définition inférieure à la première définition, la génération (24) d’images ayant une définition égale à la deuxième définition et la génération (25) d’images à partir des cartes de profondeurs. Le réseau de neurones est appris (26) par minimisation d’une erreur de perte déterminée à partir d’erreurs déterminées par comparaison des images générées. Figure pour l’abrégé : Figure 2

Description

Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé.
La présente invention concerne les procédés et dispositifs de détermination d’une profondeur par système de vision embarqué dans un véhicule, par exemple dans un véhicule automobile. La présente invention concerne également un procédé et un dispositif de mesurage d’une distance séparant un objet d’un véhicule embarquant le système de vision.
Arrière-plan technologique
De nombreux véhicules modernes sont équipés de systèmes d’aide à la conduite dits ADAS (de l’anglais « Advanced Driver-Assistance System » ou en français « Système d’aide à la conduite avancé »). De tels systèmes ADAS sont des systèmes de sécurité passifs et actifs conçus pour éliminer la part d'erreur humaine dans la conduite de véhicules de tous types. Les ADAS utilisent des technologies avancées pour assister le conducteur pendant la conduite et améliorer ainsi ses performances. Les ADAS utilisent une combinaison de technologies de capteurs pour percevoir l’environnement autour d’un véhicule, puis fournissent des informations au conducteur ou agissent sur certains systèmes du véhicule.
Il existe plusieurs niveaux d’ADAS, tels que les caméras de recul et les capteurs d'angle mort, les systèmes d'alerte de franchissement de ligne, les régulateurs de vitesse adaptatifs ou encore les systèmes de stationnement automatique.
Les ADAS embarqués dans un véhicule sont alimentés par des données obtenues d’un ou plusieurs capteurs embarqués tels que, par exemple, des caméras. Ces caméras permettent notamment de détecter et de situer d’autres usagers de la route ou d’éventuels obstacles présents autour d’un véhicule afin, par exemple :
- d’adapter l’éclairage du véhicule en fonction de la présence d’autres usagers ;
- de réguler de façon automatique la vitesse du véhicule ;
- d’agir sur le système de freinage en cas de risque d’impact avec un objet.
Les systèmes de vision comprenant une ou plusieurs caméras peuvent rencontrer des difficultés lorsqu'ils sont confrontés à des images présentant des zones non texturées, c’est-à-dire dépourvues de motifs réguliers ou de caractéristiques distinctes. En effet, l'absence de texture rend difficile l'extraction de caractéristiques. De nombreux algorithmes associés à un système de vision s'appuient souvent sur la détection de motifs, de contours ou de textures pour identifier des objets. En l'absence de ces indices visuels, la tâche devient ardue, car les méthodes classiques peuvent manquer de points de référence pour effectuer une reconnaissance précise.
De plus, les images non texturées peuvent présenter un manque de contrastes et de gradients significatifs. Cela complique la détection des contours et la segmentation des objets dans l'image.
Un autre défi majeur réside dans l'ambiguïté des données. Les images non texturées peuvent souvent être sujettes à une interprétation multiple, car l'absence de détails peut rendre difficile la distinction entre différentes classes d'objets. Un système de vision doit donc être capable de gérer cette incertitude et de prendre des décisions malgré le manque d'informations détaillées.
En outre, les conditions d'éclairage peuvent avoir un impact significatif sur la perception des images non texturées. Les variations d'éclairage peuvent créer des ombres indistinctes et altérer la qualité de l'image, compliquant ainsi la tâche des algorithmes de vision par ordinateur.
En conclusion, la principale difficulté rencontrée par un système de vision face à des images non texturées réside dans la complexité de l'extraction d'informations significatives en l'absence de motifs réguliers.
De la qualité des données émises par un système de vision dépend donc le bon fonctionnement des périphériques d’aides à la conduite utilisant ces données.
Résumé de la présente invention
Un objet de la présente invention est de résoudre au moins l’un des problèmes de l’arrière-plan technologique décrit précédemment.
Un autre objet de la présente invention est d’améliorer la qualité des données issues d’un système de vision faisant l’acquisition d’images présentant des zones dépourvues de texture.
Un autre objet de la présente invention est d’améliorer la sécurité routière, notamment par l’amélioration de la sûreté de fonctionnement des système ADAS alimentés par des données obtenues d’au moins une caméra.
Selon un premier aspect, la présente invention concerne un procédé de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutif associé à un système de vision embarqué dans un véhicule, le système de vision comprenant au moins une caméra disposée de manière à acquérir une image d’une scène tridimensionnelle selon un point de vue déterminé,
le procédé étant mis en œuvre par au moins un processeur, et étant caractérisé en ce que le réseau de neurones convolutif est appris dans une phase d’apprentissage comprenant les étapes suivantes :
- réception de données représentatives d’une première et deuxième images acquises par la caméra à deux instants temporels d’acquisition distincts, les première et deuxième images ayant une première définition ;
- prédiction d’un mouvement de la caméra entre les deux instants temporels d’acquisition à partir des première et deuxième images ;
- prédiction d’une première carte de profondeurs associée à la première image et d’une deuxième carte de profondeurs associée à la deuxième image par le réseau de neurones convolutif à partir des première et deuxième images, les première et deuxième cartes de profondeurs étant déterminées avec une deuxième définition inférieure à la première définition ;
- génération d’une troisième image à partir de la première image et d’une quatrième image à partir de la deuxième image par réduction de définition, les troisième et quatrième images ayant une définition égale à la deuxième définition ;
- génération d’une cinquième image à partir de la troisième image, de la première carte de profondeur et du mouvement et génération d’une sixième image à partir de la quatrième image, de la deuxième carte de profondeur et du mouvement ;
- apprentissage du réseau de neurones convolutif par minimisation d’une erreur de perte, l’erreur de perte étant déterminée à partir de premières erreurs déterminées par comparaison de pixels des sixième et troisième images et de deuxièmes erreurs déterminées par comparaison de pixels des cinquième et quatrième images.
Un tel procédé permet ainsi de travailler sur des images dont la définition est réduite et égale à la définition d’une carte de profondeurs associée à cette image. Le changement de définition permet notamment de réduire la sensibilité du modèle de prédiction de profondeurs aux zones non texturées présentes dans des images acquises par le système de vision.
Selon une variante du procédé, les cinquième et sixième images sont générées à l’aide de la fonction suivante :

Avec :
un pixel d’une image générée,
une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur,
une matrice intrinsèque de la caméra,
le mouvement de la caméra entre les deux instants temporels d’acquisition,
une fonction de projection dans la scène tridimensionnelle d’un pixel en fonction de sa profondeur,
une matrice intrinsèque de la caméra, et
est une profondeur du pixel déterminée par le réseau de neurones convolutif.
Selon une autre variante du procédé, une détermination des premières et deuxièmes erreurs comprend une détermination d’une erreur photométrique déterminée par la fonction suivante :

Avec :
- une première erreur pour un pixel p de la troisième image, respectivement une deuxième erreur pour un pixel p de la quatrième image ;
- une valeur du pixel p dans la troisième image, respectivement la quatrième image ;
- une valeur du pixel p dans la sixième image, respectivement la cinquième image ;
- SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») une fonction qui prend en compte une structure locale ; et
- un facteur de pondération dépendant notamment du type d’environnement.
Selon une variante supplémentaire du procédé, l’erreur de perte est déterminée par la fonction suivante :

Avec :
l’erreur de perte,
une valeur minimale d’un argument,
un pixel associé à une position dans une image,
une première erreur pour un pixel p de la quatrième image comparée à la cinquième image,
une deuxième erreur pour un pixel p de la troisième image comparée à la sixième image.
Selon encore une variante, le procédé comprend en outre la prédiction de N couples de cartes de profondeurs, N étant un entier strictement positif, chaque couple de cartes de profondeurs comprenant une carte de profondeurs associée à la première image et une carte de profondeurs associée à la deuxième image, les cartes de profondeurs de chaque couple de cartes de profondeurs ayant une même troisième définition inférieure à la première définition,
les étapes de génération des troisième et quatrième images et de génération des cinquième et sixième images étant répétées pour chaque couple de cartes de profondeurs et l’erreur de perte étant déterminée à partir de N premières erreurs chacune déterminée par comparaison des troisième et sixième images générées pour chaque couple de cartes de profondeurs et N deuxièmes erreurs chacune déterminée par comparaison des quatrième et cinquième images générées pour chaque couple de cartes de profondeurs.
Selon encore une autre variante du procédé, l’erreur de perte est déterminée par la fonction suivante :

Avec :
l’erreur de perte,
le nombre de couples de cartes de profondeurs,
un indice associé à un couple de profondeurs variant de 1 à N,
un pixel associé à une position dans une image,
une valeur minimale d’un argument,
une première erreur pour un pixel p d’une quatrième image associée à un couple de cartes de profondeurs comparée à une cinquième image associée au couple de cartes de profondeurs,
une deuxième erreur pour un pixel p de la troisième image associée au couple de cartes de profondeurs comparée à la sixième image associée au couple de cartes de profondeurs.
Selon une variante supplémentaire du procédé, les données reçues sont représentatives de M images acquises par la caméra, M étant un entier strictement supérieur à deux, chaque image étant acquise à un instant temporel d’acquisition distinct, une des images de la pluralité d’images correspondant à la première image et les autres images de la pluralité d’images correspondant chacune à la deuxième image et formant un ensemble de deuxièmes images, les étapes de génération des troisième et quatrième images et de génération des cinquième et sixième images étant répétées pour chaque couple d’images comprenant la première image et une deuxième image différente de l’ensemble de deuxièmes images, et l’erreur de perte étant déterminée à partir de M-1 premières erreurs chacune déterminée par comparaison des troisième et sixième images générées pour chaque couple d’images et M-1 deuxièmes erreurs chacune déterminée par comparaison des quatrième et cinquième images générées pour chaque couple d’images.
Selon une autre variante du procédé, l’erreur de perte est déterminée par la fonction suivante :

Avec :
l’erreur de perte,
le nombre de couples d’images comprenant la première image et une deuxième image,
un indice associé à un couple d’images variant de 1 à M-1,
un indice associé à un couple de profondeurs variant de 1 à N,
un pixel associé à une position dans une image,
une valeur minimale d’un argument,
une première erreur pour un pixel p d’une quatrième image associée à un couple d’images comprenant la première image et une deuxième image comparée à une cinquième image associée au couple d’images comprenant la première image et une deuxième image,
une deuxième erreur pour un pixel p de la troisième image associée au couple d’images comprenant la première image et une deuxième image comparée à la sixième image associée au couple d’images comprenant la première image et une deuxième image.
Selon un deuxième aspect, la présente invention concerne un dispositif de détermination d’une profondeur par un système de vision embarqué dans un véhicule, le dispositif comprenant une mémoire associée à au moins un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de la présente invention.
Selon un troisième aspect, la présente invention concerne un véhicule, par exemple de type automobile, comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de la présente invention.
Selon un quatrième aspect, la présente invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de la présente invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un cinquième aspect, la présente invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de la présente invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon la présente invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des figures
D’autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation particuliers et non limitatifs de la présente invention ci-après, en référence aux figures 1 à 3 annexées, sur lesquelles :
FIG. 1illustre schématiquement un système de vision équipant un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention ;
FIG. 2illustre un organigramme des différentes étapes d’un procédé d’apprentissage d’un réseau de neurones convolutif associé au système de vision embarqué dans le véhicule de laFIG. 1, selon un exemple de réalisation particulier et non limitatif de la présente invention ;
FIG. 3illustre schématiquement un dispositif configuré pour la détermination d’une profondeur par un réseau de neurones convolutif associé à un système de vision embarqué dans le véhicule de laFIG. 1, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Description des exemples de réalisation
Un procédé et un dispositif de détermination d’une profondeur par système de vision embarqué dans un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 3. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.
Les termes « premier(s) », « deuxième(s) » (ou « première(s) », « deuxième(s) »), etc. sont utilisés dans ce document par convention arbitraire pour permettre d’identifier et de distinguer différents éléments (tels que des opérations, des moyens, etc.) mis en œuvre dans les modes de réalisation décrits ci-après. De tels éléments peuvent être distincts ou correspondre à un seul et unique élément, selon le mode de réalisation.
Selon un exemple particulier et non limitatif de réalisation de la présente invention, un procédé de détermination d’une profondeur par un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutif associé à un système de vision embarqué dans un véhicule est par exemple mis en œuvre par un calculateur du système embarqué du véhicule contrôlant ce système de vision.
Le système de vision comprend au moins une caméra disposée de manière à acquérir une image d’une scène selon un point de vue défini.
A cet effet, le réseau de neurones convolutif est appris dans une phase d’apprentissage comprenant la réception de données représentatives d’une première et deuxième images acquises par la caméra à deux instants temporels d’acquisition distincts, les première et deuxième images ayant une première définition et la prédiction d’un mouvement de la caméra entre les deux instants temporels d’acquisition.
Une première carte de profondeurs associée à la première image et une deuxième carte de profondeurs associée à la deuxième image sont alors prédites par le réseau de neurones convolutif à partir des première et deuxième images, les première et deuxième cartes de profondeurs étant déterminées avec une deuxième définition inférieure à la première définition.
Une troisième image est générée à partir de la première image et une quatrième image est générée à partir de la deuxième image par réduction de leur définition, les troisième et quatrième images ayant une définition égale à la deuxième définition.
Une cinquième image est alors générée à partir de la troisième image, de la première carte de profondeur et du mouvement et une sixième image est également générée à partir de la quatrième image, de la deuxième carte de profondeur et du mouvement.
Le réseau de neurones convolutif est enfin appris par minimisation d’une erreur de perte déterminée à partir de premières erreurs déterminées par comparaison de pixels des sixième et troisième images et de deuxièmes erreurs déterminées par comparaison de pixels des cinquième et quatrième images.
Le réseau de neurones convolutif est alors appris par minimisation d’erreurs déterminées par comparaison des images générées et les prédictions de cartes de profondeurs par le réseau de neurones convolutif associé au système de vision monoscopique sont alors améliorées par ajustement des paramètres de ce réseau de neurones convolutif.
De plus, dans une zone sans texture de la première image, un pixel de la deuxième image correspondant à un pixel de la première image peut se situer n’importe où dans la zone sans texture de la deuxième image correspondant à la zone sans texture de la première image. La prédiction d’une disparité, par exemple, est alors chaotique, par exemple la disparité prédite est supérieure à la vraie disparité ce qui amène une prédiction de profondeur inférieure à une profondeur réelle. La réduction de la résolution d’image a ainsi pour objectif de réduire la taille des zones sans textures, améliorant ainsi la précision d’un extracteur de caractéristiques (en anglais « edge aware smoothness loss ») dans une zone dépourvue de texture.
LaFIG. 1illustre schématiquement un système de vision équipant un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Un tel environnement 1 correspond, par exemple, à un environnement routier formé d’un réseau de routes accessibles pour le véhicule 10.
Dans cet exemple, le véhicule 10 correspond à un véhicule à moteur thermique, à moteur(s) électrique(s) ou encore un véhicule hybride avec un moteur thermique et un ou plusieurs moteurs électriques. Le véhicule 10 correspond ainsi, par exemple, à un véhicule terrestre tel une automobile, un camion, un car, une moto. Enfin, le véhicule 10 correspond à un véhicule autonome ou non, c’est-à-dire un véhicule circulant selon un niveau d’autonomie déterminé ou sous la supervision totale du conducteur.
Le véhicule 10 comprend avantageusement au moins une caméra 11 embarquée, configurée pour acquérir des images d’une scène tridimensionnelle se déroulant dans l’environnement du véhicule 10 depuis une position d’observation courante. La caméra 11 forme un système de vision monoscopique si elle est utilisée seule comme illustré dans laFIG. 1. La présente invention ne se limite cependant pas à un système de vision monoscopique comprenant une unique caméra mais s’étend à tout système de vision comprenant au moins une caméra, par exemple 1, 2, 3 ou 5 caméras.
La caméra 11 dispose de paramètres intrinsèques, notamment :
- une distance focale,
- des distorsions qui sont dues aux imperfections du système optique de la caméra 11,
- une direction de l’axe optique de la caméra 11,
- un angle α du champ de vision,
- une matrice intrinsèque K, et
- une résolution.
Les paramètres intrinsèques caractérisent la transformation qui associe, pour un point image, par la suite appelé « point », ses coordonnées tridimensionnelles dans le référentiel de la caméra 11 aux coordonnées pixel dans une image acquise par la caméra 11. Ces paramètres ne changent pas si l'on déplace la caméra.
Les distorsions, qui sont dues aux imperfections du système optique telles que des défauts de forme et de positionnement des lentilles des caméras, vont dévier les faisceaux lumineux et donc induire un écart de positionnement pour le point projeté par rapport à un modèle idéal. Il est possible alors de compléter le modèle de caméra en y introduisant les trois distorsions qui génèrent le plus d’effets, à savoir les distorsions radiales, de décentrage et prismatiques, induites par des défauts de courbure, de parallélisme des lentilles et de coaxialité des axes optiques. Dans cet exemple, les caméras sont supposées parfaites, c’est-à-dire que les distorsions ne sont pas prises en compte, que leur correction est traitée au moment de l’acquisition d’une image ou au moment de la calibration.
La caméra 11 est disposée de manière à acquérir une image d’une scène tridimensionnelle selon un point de vue défini, le point de vue est par exemple localisé sur ou dans le rétroviseur gauche du véhicule 10 ou en haut du pare-brise du véhicule 10 comme illustré dans laFIG. 1.
La caméra 11 fait par exemple l’acquisition d’images d’une scène tridimensionnelle se situant devant le véhicule 10, la première caméra 11 couvrant un champ d’acquisition 12. Un objet 13 est placé dans le champ d’acquisition 12 de la caméra 11, définissant un champ d’occlusion 14 pour le système de vision, un objet présent dans le champ d’occlusion 14 n’étant pas observable par la caméra 11 depuis sa position d’observation courante.
Il est évident qu’il est possible d’utiliser un tel système de vision pour prendre des images de scènes situées sur les côtés ou derrière le véhicule 10 en l’équipant de caméras placées et orientées différemment, l’invention ne se limitant pas à l’observation d’une scène tridimensionnelle se déroulant devant le véhicule 10 embarquant la caméra 11.
Une image acquise par la caméra 11 à un instant temporel d’acquisition se présente sous la forme de données représentant des pixels caractérisés par :
- des coordonnées dans l’image ; et
- des données relatives aux couleurs et luminosité des objets de la scène observée sous forme par exemple de coordonnées colorimétriques RGB (de l’anglais « Red Green Blue », en français « Rouge Vert Bleu ») ou TSL (Ton, Saturation, Luminosité).
Chaque pixel de l’image acquise est représentatif d’un objet de la scène tridimensionnelle présent dans le champ de vision de la caméra 11. En effet, un pixel de l’image acquise est la plus petite unité visible et correspond à un point lumineux résultant de l'émission ou de la réflexion de la lumière par un objet physique présent dans la scène tridimensionnelle. Lorsque la lumière frappe cet objet, des photons sont émis ou réfléchis, captés par un capteur photosensible de la caméra 11 après passage à travers son objectif. Ce capteur divise la scène tridimensionnelle en une grille de pixels. Chaque pixel enregistre l'intensité lumineuse à un emplacement spécifique, capturant ainsi des détails visuels. La combinaison de millions de pixels crée une image représentant fidèlement l'objet physique observé par la caméra 11. Un point image précédemment présenté est ainsi un point d’une surface d’un objet de la scène tridimensionnelle.
Lorsque le véhicule 10 est en mouvement, alors deux images acquises par la caméra 11 à deux instant temporels distincts représentent des vues d’une même scène tridimensionnelle prises à des points de vue ou positions d’observation différents, les positions d’observations de la caméra 11 étant distinctes. Sur cette scène tridimensionnelle se trouvent par exemple :
- des bâtiments ;
- des infrastructures routières ;
- d’autres usagers immobiles, par exemple un véhicule stationné ; et/ou
- d’autres usagers mobiles, par exemple un autre véhicule, un cycliste ou un piéton en mouvement.
Chaque image est par exemple envoyée à un calculateur d’un dispositif équipant le véhicule 10 ou stockée dans une mémoire d’un dispositif accessible à un calculateur d’un dispositif équipant le véhicule 10.
Un procédé de détermination d’une profondeur par un système de vision embarqué dans le véhicule 10 est avantageusement mis en œuvre par le véhicule 10, c’est-à-dire par un processeur, un calculateur ou une combinaison de calculateurs du système embarqué du véhicule 10, par exemple par le ou les calculateurs en charge du système de vision du véhicule 10.
Un procédé de détermination d’une profondeur par un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutif associé à un système de vision embarqué dans le véhicule 10 est avantageusement mis en œuvre par le véhicule 10, c’est-à-dire par un calculateur ou une combinaison de calculateurs du système embarqué du véhicule 10, par exemple par le ou les calculateurs en charge du système de vision monoscopique du véhicule 10.
Un tel réseau de neurones convolutif est connu de l’homme du métier, et est par exemple décrit dans les documents suivants :
- « Digging Into Self-Supervised Monocular Depth Estimation » de Clément Godard, Oisin Mac Aodha, Michael Firman et Gabriel Brostow publié en aout 2019, et
- « HR-Depth: High Resolution Self-Supervised Monocular Depth Estimation » de Xiaoyang Lyu, Liang Liu, Mengmeng Wang, Xin Kong, Lina Liu, Yong Liu et Xinxin Chen, Yi Yuan publié en décembre 2020.
De tels réseaux de neurones doivent être entraînés durant une phase d’apprentissage pour prédire des profondeurs justes et adaptées au système de vision embarqué par le véhicule 10. Une telle phase d’apprentissage est ainsi décrite en référence avec laFIG. 2.
LaFIG. 2illustre un organigramme des différentes étapes d’un procédé 2 d’apprentissage d’un réseau de neurones convolutif associé à un système de vision embarqué dans un véhicule, par exemple au système de vision embarqué dans le véhicule 10 de laFIG. 1, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Dans une étape 21, des données représentatives d’une première et deuxième images acquises par la caméra 11 à deux instants temporels d’acquisition distincts sont reçues. Les première et deuxième images ont une même première définition, c’est-à-dire qu’elles disposent d’un même nombre de lignes horizontales et verticales de pixels.
Les deux images reçues correspondent à deux vues d’une même scène tridimensionnelle se déroulant aux alentours du véhicule 10 à deux instants temporel d’acquisition distincts. Si le véhicule 10 est en mouvement, alors les première et deuxième images sont acquises depuis deux points de vue distincts de la scène tridimensionnelle, celui défini par la première position de la caméra 11 au premier instant temporel d’acquisition et celui défini par la deuxième position de la caméra 11 au deuxième instant temporel d’acquisition.
Le déplacement entre la première position et la deuxième position est défini par le déplacement du véhicule 10 entre les premier et deuxième instants temporels d’acquisition. Ce déplacement de la première caméra 11 est donc lié à la vitesse et à la direction de déplacement du véhicule 10 pendant la durée séparant les premier et deuxième instants temporels d’acquisition.
La caméra 11, dans les deux positions définies aux premier et deuxième instants temporels d’acquisition, forme un système de vision monoscopique. Les paramètres intrinsèques de ce système restent ceux définis précédemment liés à la caméra 11. Les paramètres extrinsèques de ce système de vision monoscopique sont les paramètres suivants :
- 3 translations dans les directions x, y et z : Tx’, Ty’ et Tz’ constituant le vecteur translation T’ ; et
- 3 rotations autour des axes x, y et z : Rx’, Ry’ et Rz’, constituant la matrice de rotation R’.
Dans une étape 22, le mouvement de la caméra 11 entre les deux instants temporels d’acquisition est prédit à partir des première et deuxième images. Les paramètres extrinsèques du système de vision monoscopique sont, par exemple, déterminés par un calculateur associé à ce même système de vision monoscopique. La détermination des paramètres extrinsèques du système de vision monoscopique est connue de l’homme du métier et présentée, par exemple, dans le document « Unsupervised Learning of Depth and Ego-Motion from Video » de Tinghui Zhou, Matthew Brown, Noah Snavely et David G. Lowe paru le 1eraoût 2017.
Dans une étape 23, une première carte de profondeurs associée à la première image et une deuxième carte de profondeurs associée à la deuxième image sont prédites par le réseau de neurones convolutif à partir des première et deuxième images, les première et deuxième cartes de profondeurs étant déterminées avec une deuxième définition inférieure à la première définition.
De telles cartes de profondeurs sont connues de l’homme du métier et présentées par exemple dans les documents précédemment cités ainsi que dans le document « 3D Packing for Self-Supervised Monocular Depth Estimation » de Vitor Guizilini, Rares Ambrus, Sudeep Pillai, Allan Raventos et Adrien Gaidon publié en mars 2020.
Les cartes de profondeurs sont prédites pour chaque image acquise par le système de vision, mais leur définition étant inférieure à celle des images acquises, il n’est pas possible d’attribuer une profondeur à chaque pixel de l’image acquise.
Dans une étape 24, une troisième image est générée à partir de la première image et une quatrième image est générée à partir de la deuxième image par réduction de définition, les troisième et quatrième images ayant une définition égale à la deuxième définition, donc inférieure à la première définition.
Selon un exemple de réalisation particulier, la valeur d’un pixel d’une image générée par diminution de la définition est définie suivant un modèle bilinéaire. La valeur de chaque pixel de l’image générée est la valeur moyenne pondéré des i pixels les plus proches, par exemple avec i = 4, respectivement dans la direction horizontale et la direction verticale ; le coefficient de pondération de chaque valeur est fonction de l’inverse de la distance des pixels voisins du pixel de l’image générée.
Dans une étape 25, une cinquième image est générée à partir de la troisième image, de la première carte de profondeur et du mouvement et une sixième image est générée à partir de la quatrième image, de la deuxième carte de profondeur et du mouvement.
Selon un exemple de réalisation particulier, les cinquième et sixième images sont générées à l’aide de la fonction suivante :
Avec :
un pixel d’une image générée, la cinquième image, respectivement la sixième image ,
une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur,
une matrice intrinsèque de la caméra 11,
le mouvement de la caméra 11 entre les deux instants temporels d’acquisition,
une fonction de projection dans la scène tridimensionnelle d’un pixel de la troisième image, respectivement la quatrième image, en fonction de sa profondeur obtenue de la première carte de profondeurs, respectivement la deuxième carte de profondeurs, et
est une profondeur du pixel déterminée par le réseau de neurones convolutif dans la première carte de profondeurs, respectivement dans la deuxième carte de profondeurs.
Le principe de la génération d’image consiste à projeter un pixel d’une image générée par diminution de la définition d’une image acquise par la première caméra 11, la troisième image (générée depuis la première image), respectivement la quatrième image (générée depuis la deuxième image), vers un point dans la scène tridimensionnelle en fonction de sa profondeur obtenue à partir de la première carte de profondeur, respectivement deuxième carte de profondeur, puis à reprojeter ce point dans une image telle qu’elle serait acquise depuis l’autre point de vue de la première caméra 11 avant ou après son mouvement. Ainsi, si la valeur de profondeur associée à un pixel d’une image est correcte, alors le point de la scène est bien défini et l’autre image devrait avoir, à l’emplacement de ce point de la scène projeté, un pixel de même valeur.
Dans une étape 26, le réseau de neurones convolutif est appris par minimisation d’une erreur de perte, l’erreur de perte étant déterminée à partir de premières erreurs déterminées par comparaison de pixels des sixième et troisième images et de deuxièmes erreurs déterminées par comparaison de pixels des cinquième et quatrième images.
Selon un premier exemple de réalisation particulier, les premières et deuxièmes erreurs comprennent une détermination d’une erreur photométrique déterminée par la fonction suivante :
Avec :
- une première erreur pour un pixel p de la troisième image, respectivement une deuxième erreur pour un pixel p de la quatrième image ;
- une valeur du pixel p dans la troisième image, respectivement la quatrième image ;
- une valeur du pixel p dans la sixième image, respectivement la cinquième image ;
- SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») une fonction qui prend en compte une structure locale ; et
- un facteur de pondération dépendant notamment du type d’environnement.
Cette fonction est basée sur l’erreur photométrique. Une fois une image générée, celle-ci est comparée à l’image générée par réduction de définition de l’image acquise par le système de vision monoscopique.
Selon un deuxième exemple de réalisation particulier, les premières et deuxièmes erreurs comprennent une détermination d’une erreur de reconstruction d’une image générée déterminée, en outre, par la fonction suivante :
Avec :
une première erreur pour un pixel p de la troisième image, respectivement une deuxième erreur pour un pixel p de la quatrième image ,
est une profondeur obtenue de la première carte de profondeur, respectivement obtenue de la deuxième carte de profondeur ;
est une matrice de paramètres ;
est l’ordre d’un gradient de lissage ;
• une norme L1 des gradients de profondeur du second ordre est calculée avec =1 , et =2 ;
et sont les dimensions de la troisième image, respectivement quatrième image ;
est un hyperparamètre dépendant de l’environnement ; et
est la valeur du pixel dans la sixième image, respectivement cinquième image.
Cette deuxième fonction est généralement utilisée pour traiter la discontinuité à la bordure des objets (en anglais « edge aware smoothness »).
L’erreur de reconstruction est ainsi définie, par exemple, à partir des erreurs photométriques et erreurs de reconstruction précédemment définies.
Selon un exemple de réalisation particulier, l’erreur de perte est déterminée par la fonction suivante :
Avec :
l’erreur de perte,
une valeur minimale d’un argument,
une première erreur pour un pixel p de la quatrième image comparée à la cinquième image,
une deuxième erreur pour un pixel p de la troisième image comparée à la sixième image.
L’utilisation de la valeur minimale des erreurs permet ainsi de ne pas être sensible à l’occlusion. En effet, un pixel associé à un objet de la scène tridimensionnelle apparaît dans au moins l’une des deux images acquises et à différentes positions dans les deux images.
Selon un premier mode de réalisation particulier, le procédé comprend en outre une prédiction de N couples de cartes de profondeurs, N étant un entier strictement positif. Chaque couple de cartes de profondeurs comprend une carte de profondeurs associée à la première image et une carte de profondeurs associée à la deuxième image, les cartes de profondeurs de chaque couple de cartes de profondeurs ayant une même troisième définition inférieure à la première définition.
les étapes de génération 24 des troisième et quatrième images et de génération 25 des cinquième et sixième images sont alors répétées dans ce premier mode de réalisation particulier pour chaque couple de cartes de profondeurs et l’erreur de perte est déterminée à partir de :
- N premières erreurs chacune déterminée par comparaison des troisième et sixième images générées pour chaque couple de cartes de profondeurs, et
- N deuxièmes erreurs chacune déterminée par comparaison des quatrième et cinquième images générées pour chaque couple de cartes de profondeurs. Le nombre N est, par exemple, égal à 4.
Selon un exemple de réalisation particulier, dans ce premier mode de réalisation particulier, l’erreur de perte est déterminée par la fonction suivante :
Avec :
l’erreur de perte,
le nombre de couples de cartes de profondeurs,
une valeur minimale d’un argument,
une première erreur pour un pixel p d’une quatrième image associée à un couple de cartes de profondeurs comparée à une cinquième image associée au couple de cartes de profondeurs,
une deuxième erreur pour un pixel p de la troisième image associée au couple de cartes de profondeurs comparée à la sixième image associée au couple de cartes de profondeurs.
Selon un deuxième mode de réalisation particulier, les données reçues sont représentatives de M images acquises par la caméra 11, M étant un entier strictement supérieur à deux. Chaque image étant acquise à un instant temporel d’acquisition distinct, une des images de la pluralité d’images correspond à la première image et les autres images de la pluralité d’images correspondent chacune à la deuxième image et forment un ensemble de deuxièmes images. En d’autres termes, la pluralité d’images comprend la première image et d’autres images acquises à d’autres instants temporels, antérieurs et/ou postérieurs à l’instant temporel d’acquisition de la première image. Les autres images correspondent ainsi chacun à un deuxième image. Par exemple, les données sont représentatives d’une première image acquise à un premier instant temporel d’acquisition, de deux images acquises à deux instants temporels d’acquisition antérieurs au premier instant temporel d’acquisition et de deux images acquises à deux instants temporels d’acquisition postérieurs au premier instant temporel d’acquisition.
Dans ce deuxième mode de réalisation particulier, les étapes de génération 24 des troisième et quatrième images et de génération 25 des cinquième et sixième images sont répétées pour chaque couple d’images comprenant la première image et une deuxième image différente de l’ensemble de deuxièmes images, et l’erreur de perte est déterminée à partir de :
- M-1 premières erreurs chacune déterminée par comparaison des troisième et sixième images générées pour chaque couple d’images, et
- M-1 deuxièmes erreurs chacune déterminée par comparaison des quatrième et cinquième images générées pour chaque couple d’images
Selon un exemple de réalisation particulier, dans ce deuxième mode de réalisation particulier, l’erreur de perte est déterminée par la fonction suivante :
Avec :
l’erreur de perte,
le nombre de couples d’images comprenant la première image et une deuxième image,
une valeur minimale d’un argument,
une première erreur pour un pixel p d’une quatrième image associée à un couple d’images comprenant la première image et une deuxième image comparée à une cinquième image associée au couple d’images comprenant la première image et une deuxième image,
une deuxième erreur pour un pixel p de la troisième image associée au couple d’images comprenant la première image et une deuxième image comparée à la sixième image associée au couple d’images comprenant la première image et une deuxième image.
Les premier et deuxième modes de réalisation particuliers sont également combinables. Ainsi, un jeu de donnée d’apprentissage comprend plusieurs images permettant d’obtenir plusieurs paires d’images comprenant toujours une même première image et plusieurs cartes de profondeurs déterminées pour chaque paire d’images. L’erreur de perte est alors, selon un exemple de réalisation particulier, déterminée par la fonction suivante :
Avec :
l’erreur de perte,
le nombre de couples d’images comprenant la première image et une deuxième image,
un indice associé à un couple d’images variant de 1 à M-1,
un indice associé à un couple de profondeurs variant de 1 à N,
un pixel associé à une position dans une image,
une valeur minimale d’un argument,
une première erreur pour un pixel p d’une quatrième image associée à un couple d’images comprenant la première image et une deuxième image comparée à une cinquième image associée au couple d’images comprenant la première image et une deuxième image,
une deuxième erreur pour un pixel p de la troisième image associée au couple d’images comprenant la première image et une deuxième image comparée à la sixième image associée au couple d’images comprenant la première image et une deuxième image.
Il est à noter que cette fonction correspond à une moyenne des différentes erreurs déterminées. Selon d’autres variantes, l’erreur de perte correspond à un somme des erreurs ou à une combinaison de sommes et de moyennes. Par exemple, l’erreur de perte correspond à une somme et est alors obtenus par la fonction suivante :
Avec :
l’erreur de perte,
le nombre de couples d’images comprenant la première image et une deuxième image,
un indice associé à un couple d’images variant de 1 à M-1,
un indice associé à un couple de profondeurs variant de 1 à N,
un pixel associé à une position dans une image,
une valeur minimale d’un argument,
une première erreur pour un pixel p d’une quatrième image associée à un couple d’images comprenant la première image et une deuxième image comparée à une cinquième image associée au couple d’images comprenant la première image et une deuxième image,
une deuxième erreur pour un pixel p de la troisième image associée au couple d’images comprenant la première image et une deuxième image comparée à la sixième image associée au couple d’images comprenant la première image et une deuxième image.
Cet apprentissage permet, en outre, de trouver ou d’affiner les bonnes valeurs des paramètres (appelés « weights » en anglais) d’un réseau de neurones convolutif choisi pour ainsi fiabiliser les profondeurs prédites par ce réseau de neurones convolutif. Le réseau de neurones convolutif associé au système de vision embarqué dans le véhicule 10 prédit ainsi des profondeurs fiables et en adéquation avec des images acquises par la caméra 11 du système de vision.
Si l’ADAS utilise une profondeur prédite par ce réseau de neurones convolutif comme donnée d’entrée pour déterminer la distance entre une partie du véhicule 10, par exemple le pare-chocs avant, et un autre usager présent sur la route, l’ADAS est alors en mesure de déterminer précisément cette distance. Par exemple, si l’ADAS a pour fonction d’agir sur un système de freinage du véhicule 10 en cas de risque de collision avec un autre usager de la route et que la distance séparant le véhicule 10 de ce même usager de la route diminue fortement, alors l’ADAS est en mesure de détecter ce rapprochement soudain et d’agir sur le système de freinage du véhicule 10 pour éviter un éventuel accident, y compris si l’autre usager n’est vu que par une seule caméra.
LaFIG. 3illustre schématiquement un dispositif 3 configuré pour la détermination d’une profondeur par un réseau de neurones convolutif associé à un système de vision embarqué dans un véhicule, par exemple dans le véhicule 10 de laFIG. 1, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 3 correspond par exemple à un dispositif embarqué dans le premier véhicule 10, par exemple un calculateur.
Le dispositif 3 est par exemple configuré pour la mise en œuvre des étapes décrites en regard de laFIG. 1ou de laFIG. 2. Des exemples d’un tel dispositif 3 comprennent, sans y être limités, un équipement électronique embarqué tel qu’un ordinateur de bord d’un véhicule, un calculateur électronique tel qu’une UCE (« Unité de Commande Electronique »), un téléphone intelligent, une tablette, un ordinateur portable. Les éléments du dispositif 3, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 3 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels.
Le dispositif 3 comprend un (ou plusieurs) processeur(s) 30 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 3. Le processeur 30 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 3 comprend en outre au moins une mémoire 31 correspondant par exemple à une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique.
Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 31.
Selon différents exemples de réalisation particuliers et non limitatifs, le dispositif 3 est couplé en communication avec d’autres dispositifs ou systèmes similaires (par exemple d’autres calculateurs) et/ou avec des dispositifs de communication, par exemple une TCU (de l’anglais « Telematic Control Unit » ou en français « Unité de Contrôle Télématique »), par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.
Selon un exemple de réalisation particulier et non limitatif, le dispositif 3 comprend un bloc 32 d’éléments d’interface pour communiquer avec des dispositifs externes. Les éléments d’interface du bloc 32 comprennent une ou plusieurs des interfaces suivantes :
- interface radiofréquence RF, par exemple de type Wi-Fi® (selon IEEE 802.11), par exemple dans les bandes de fréquence à 2,4 ou 5 GHz, ou de type Bluetooth® (selon IEEE 802.15.1), dans la bande de fréquence à 2,4 GHz, ou de type Sigfox utilisant une technologie radio UBN (de l’anglais Ultra Narrow Band, en français bande ultra étroite), ou LoRa dans la bande de fréquence 868 MHz, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;
interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ;
- interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).
Selon un autre exemple de réalisation particulier et non limitatif, le dispositif 3 comprend une interface de communication 33 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs du système embarqué) via un canal de communication 330. L’interface de communication 33 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 330. L’interface de communication 33 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458) ou Ethernet (standardisé par la norme ISO/IEC 802-3).
Selon un exemple de réalisation particulier et non limitatif, le dispositif 3 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage 340, tactile ou non, un ou des haut-parleurs 350 et/ou d’autres périphériques 360 (système de projection) via respectivement les interfaces de sortie 34, 35, 36. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au dispositif 3.
Bien entendu, la présente invention ne se limite pas aux exemples de réalisation décrits ci-avant mais s’étend à un procédé de détermination d’une profondeur et de mesurage d’une telle grandeur par système de vision embarqué dans un véhicule, qui inclurait des étapes secondaires sans pour cela sortir de la portée de la présente invention. Il en serait de même d’un dispositif configuré pour la mise en œuvre d’un tel procédé.
La présente invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule autonome à moteur terrestre, comprenant le dispositif 3 de laFIG. 3.

Claims (10)

  1. Procédé de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutif associé à un système de vision embarqué dans un véhicule (10), le système de vision comprenant au moins une caméra (11) disposée de manière à acquérir une image d’une scène tridimensionnelle selon un point de vue déterminé,
    ledit procédé étant mis en œuvre par au moins un processeur, et étant caractérisé en ce que le réseau de neurones convolutif est appris dans une phase d’apprentissage comprenant les étapes suivantes :
    - réception (21) de données représentatives d’une première et deuxième images acquises par la caméra (11) à deux instants temporels d’acquisition distincts, les première et deuxième images ayant une première définition ;
    - prédiction (22) d’un mouvement de la caméra (11) entre les deux instants temporels d’acquisition à partir des première et deuxième images ;
    - prédiction (23) d’une première carte de profondeurs associée à la première image et d’une deuxième carte de profondeurs associée à la deuxième image par ledit réseau de neurones convolutif à partir des première et deuxième images, lesdites première et deuxième cartes de profondeurs étant déterminées avec une deuxième définition inférieure à la première définition ;
    - génération (24) d’une troisième image à partir de la première image et d’une quatrième image à partir de la deuxième image par réduction de définition, les troisième et quatrième images ayant une définition égale à la deuxième définition ;
    - génération (25) d’une cinquième image à partir de la troisième image, de la première carte de profondeur et du mouvement de la caméra (11) et génération d’une sixième image à partir de la quatrième image, de la deuxième carte de profondeur et du mouvement ;
    - apprentissage (26) du réseau de neurones convolutif par minimisation d’une erreur de perte, l’erreur de perte étant déterminée à partir de premières erreurs déterminées par comparaison de pixels des sixième et troisième images et de deuxièmes erreurs déterminées par comparaison de pixels des cinquième et quatrième images.
  2. Procédé selon la revendication 1, pour lequel les cinquième et sixième images sont générées à l’aide de la fonction suivante :

    Avec :
    un pixel d’une image générée,
    une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur,
    une matrice intrinsèque de la caméra (11),
    le mouvement de la caméra (11) entre les deux instants temporels d’acquisition,
    une fonction de projection dans la scène tridimensionnelle d’un pixel en fonction de sa profondeur, et
    est une profondeur du pixel déterminée par le réseau de neurones convolutif.
  3. Procédé selon la revendication 1 ou 2, pour lequel une détermination des premières et deuxièmes erreurs comprend une détermination d’une erreur photométrique déterminée par la fonction suivante :

    Avec :
    - une première erreur pour un pixel p de la troisième image, respectivement une deuxième erreur pour un pixel p de la quatrième image ;
    - une valeur du pixel p dans la troisième image, respectivement la quatrième image ;
    - une valeur du pixel p dans la sixième image, respectivement la cinquième image ;
    - SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») une fonction qui prend en compte une structure locale ; et
    - un facteur de pondération dépendant notamment du type d’environnement.
  4. Procédé selon l’une des revendications 1 à 3, pour lequel l’erreur de perte est déterminée par la fonction suivante :

    Avec :
    l’erreur de perte,
    un pixel associé à une position dans une image,
    une valeur minimale d’un argument,
    une première erreur pour un pixel p de la quatrième image comparée à la cinquième image,
    une deuxième erreur pour un pixel p de la troisième image comparée à la sixième image.
  5. Procédé selon l’une des revendications 1 à 4, comprenant en outre une prédiction de N couples de cartes de profondeurs, N étant un entier strictement positif, chaque couple de cartes de profondeurs comprenant une carte de profondeurs associée à la première image et une carte de profondeurs associée à la deuxième image, les cartes de profondeurs de chaque couple de cartes de profondeurs ayant une même troisième définition inférieure à la première définition,
    les étapes de génération (24) des troisième et quatrième images et de génération (25) des cinquième et sixième images étant répétées pour chaque couple de cartes de profondeurs et l’erreur de perte étant déterminée à partir de N premières erreurs chacune déterminée par comparaison des troisième et sixième images générées pour chaque couple de cartes de profondeurs et N deuxièmes erreurs chacune déterminée par comparaison des quatrième et cinquième images générées pour chaque couple de cartes de profondeurs.
  6. Procédé selon la revendication 5, pour lequel l’erreur de perte est déterminée par la fonction suivante :

    Avec :
    l’erreur de perte,
    le nombre de couples de cartes de profondeurs,
    une valeur minimale d’un argument,
    un indice associé à un couple de profondeurs variant de 1 à N,
    un pixel associé à une position dans une image,• une première erreur pour un pixel p d’une quatrième image associée à un couple de cartes de profondeurs comparée à une cinquième image associée au couple de cartes de profondeurs,
    une deuxième erreur pour un pixel p de la troisième image associée au couple de cartes de profondeurs comparée à la sixième image associée au couple de cartes de profondeurs.
  7. Procédé selon la revendication 6, pour lequel les données reçues sont représentatives de M images acquises par la caméra (11), M étant un entier strictement supérieur à deux, chaque image étant acquise à un instant temporel d’acquisition distinct, une des images de la pluralité d’images correspondant à la première image et les autres images de la pluralité d’images correspondant chacune à la deuxième image et formant un ensemble de deuxièmes images, les étapes de génération (24) des troisième et quatrième images et de génération (25) des cinquième et sixième images étant répétées pour chaque couple d’images comprenant la première image et une deuxième image différente dudit ensemble de deuxièmes images, et l’erreur de perte étant déterminée à partir de M-1 premières erreurs chacune déterminée par comparaison des troisième et sixième images générées pour chaque couple d’images et M-1 deuxièmes erreurs chacune déterminée par comparaison des quatrième et cinquième images générées pour chaque couple d’images.
  8. Procédé selon la revendication 7, pour lequel l’erreur de perte est déterminée par la fonction suivante :

    Avec :
    l’erreur de perte,
    le nombre de couples d’images comprenant la première image et une deuxième image,
    un indice associé à un couple d’images variant de 1 à M-1,
    un indice associé à un couple de profondeurs variant de 1 à N,
    un pixel associé à une position dans une image,
    une valeur minimale d’un argument,
    une première erreur pour un pixel p d’une quatrième image associée à un couple d’images comprenant la première image et une deuxième image comparée à une cinquième image associée au couple d’images comprenant la première image et une deuxième image,
    une deuxième erreur pour un pixel p de la troisième image associée au couple d’images comprenant la première image et une deuxième image comparée à la sixième image associée au couple d’images comprenant la première image et une deuxième image.
  9. Dispositif (3) de détermination d’une profondeur par un système de vision embarqué dans un véhicule (10), ledit dispositif (3) comprenant une mémoire (31) associée à au moins un processeur (30) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 8.
  10. Véhicule (10) comprenant le dispositif (3) selon la revendication 9
FR2401071A 2024-02-05 2024-02-05 Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé. Pending FR3159032A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2401071A FR3159032A1 (fr) 2024-02-05 2024-02-05 Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2401071A FR3159032A1 (fr) 2024-02-05 2024-02-05 Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé.
FR2401071 2024-02-05

Publications (1)

Publication Number Publication Date
FR3159032A1 true FR3159032A1 (fr) 2025-08-08

Family

ID=90458364

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2401071A Pending FR3159032A1 (fr) 2024-02-05 2024-02-05 Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé.

Country Status (1)

Country Link
FR (1) FR3159032A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019099684A1 (fr) * 2017-11-15 2019-05-23 Google Llc Apprentissage non supervisé de réseaux neuronaux de prédiction de profondeur d'image et de mouvement propre
WO2022187753A1 (fr) * 2021-03-18 2022-09-09 Innopeak Technology, Inc. Système d'affinement de profondeur monoculaire guidé par slam à l'aide d'un apprentissage en ligne auto-supervisé
US20220300766A1 (en) * 2021-03-16 2022-09-22 Toyota Research Institute, Inc. Shared median-scaling metric for multi-camera self-supervised depth evaluation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019099684A1 (fr) * 2017-11-15 2019-05-23 Google Llc Apprentissage non supervisé de réseaux neuronaux de prédiction de profondeur d'image et de mouvement propre
US20220300766A1 (en) * 2021-03-16 2022-09-22 Toyota Research Institute, Inc. Shared median-scaling metric for multi-camera self-supervised depth evaluation
WO2022187753A1 (fr) * 2021-03-18 2022-09-09 Innopeak Technology, Inc. Système d'affinement de profondeur monoculaire guidé par slam à l'aide d'un apprentissage en ligne auto-supervisé

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE CLÉMENT GODARDOISIN MAC AODHAMICHAEL FIRMANGABRIEL BROSTOW, DIGGING INTO SELF-SUPERVISED MONOCULAR DEPTH ESTIMATION, 2019
DE TINGHUI ZHOUMATTHEW BROWNNOAH SNAVELYDAVID G. LOWE, UNSUPERVISED LEARNING OF DEPTH AND EGO-MOTION FROM VIDEO, 1 April 2017 (2017-04-01)
DE XIAOYANG LYULIANG LIUMENGMENG WANGXIN KONGLINA LIUYONG LIUXINXIN CHEN, YI YUAN, HR-DEPTH: HIGH RESOLUTION SELF-SUPERVISED MONOCULAR DEPTH ESTIMATION, December 2020 (2020-12-01)

Similar Documents

Publication Publication Date Title
FR3148485A1 (fr) Procédé et dispositif de détermination d’un masque de visibilité pour un système de vision embarqué dans un véhicule.
FR3159032A1 (fr) Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé.
FR3161784A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur à partir de bandes verticales d’images.
FR3160493A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision stéréoscopique et insensible à l’occlusion.
FR3160798A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur insensible à la présence d’objets dynamiques dans des images d’apprentissage.
FR3160494A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur pour réduire la perte de consistance d’un système de vision stéréoscopique.
FR3161785A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur à partir d’images filtrées par bandes verticales.
FR3158381A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un réseau de neurones associé à un système de vision embarqué dans un véhicule
FR3158575A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un réseau de neurones associé à un système de vision embarqué dans un véhicule
FR3147650A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision auto-supervisé.
FR3160789A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision stéréoscopique par comparaison de positions de points dans une scène tridimensionnelle.
FR3163194A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur à partir de cartes de caractéristiques de différentes résolutions
FR3162893A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision multi résolution
FR3153675A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision monoscopique avec une précision métrique
FR3161302A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur à partir de séquences d’images triées.
FR3161049A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur pour prédire une profondeur pour toute distance parcourue entre l’acquisition de deux images.
FR3162895A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision sténopé embarqué dans un véhicule
FR3147649A1 (fr) Procédé et dispositif de détermination de données représentatives d’au moins un objet dynamique dans une scène par un système de vision monoscopique.
FR3162896A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision générant des images pouvant être distordues
FR3154837A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique auto-supervisé.
FR3153676A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision auto-supervisé.
FR3163760A1 (fr) Procédé et dispositif de génération d’images d’apprentissage d’un modèle de prédiction de profondeur pour un système de vision avec caméras hétérogènes.
FR3163480A1 (fr) Procédé et dispositif de détermination d’une distance séparant un objet d’un véhicule par utilisation de boîte englobante et de modèle local de prédiction de profondeur.
FR3155341A1 (fr) Procédé et dispositif d’acquisition de données d’apprentissage d’un système de vision.
FR3153677A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique auto-supervisé.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20250808