FR3167233A1 - Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision. - Google Patents

Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision.

Info

Publication number
FR3167233A1
FR3167233A1 FR2410854A FR2410854A FR3167233A1 FR 3167233 A1 FR3167233 A1 FR 3167233A1 FR 2410854 A FR2410854 A FR 2410854A FR 2410854 A FR2410854 A FR 2410854A FR 3167233 A1 FR3167233 A1 FR 3167233A1
Authority
FR
France
Prior art keywords
image
pixel
depth
camera
point cloud
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
FR2410854A
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 FR2410854A priority Critical patent/FR3167233A1/fr
Publication of FR3167233A1 publication Critical patent/FR3167233A1/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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

Procédé ou dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision embarqué dans un véhicule et comprenant une caméra. En effet, des images acquises par la caméra à différents instants temporels sont reçues (21) et des profondeurs associées à des pixels sont prédites (22) par un modèle de prédiction de profondeur. Des premiers nuages de points tridimensionnels sont générés (23) à partir des images en fonction de leurs coordonnées et des profondeurs prédites et le modèle de prédiction de positions de points tridimensionnels génère (24) des deuxièmes nuages de points tridimensionnels passés ou futurs à partir des premiers nuages de points. Des images sont alors générées (25) à partir des deuxièmes nuages de points et comparées (26) aux images acquises pour apprendre (27) le modèle de prédiction de positions de points tridimensionnels par minimisation d’une erreur de perte. Figure pour l’abrégé : Figure 2

Description

Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision.
La présente invention concerne les procédés et dispositifs d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associés à un 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é de détermination d’une profondeur par système de vision embarqué dans un véhicule.
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.
L’apprentissage d’un modèle de prédiction de profondeur associé à ces caméras est fastidieux et nécessite à la fois de nombreuses données d’apprentissage de bonne qualité et du temps. Afin d’apprendre le modèle de prédiction de profondeur à partir de données acquises par le système de vision lui-même, il convient d’optimiser la phase d’apprentissage afin d’en réduire sa durée tout en améliorant sa fiabilité.
Afin de gagner en précision quant à la connaissance de l’environnement du véhicule, il est préférable d’exploiter directement des points disposés dans l’espace pour alimenter les ADAS, ce qui est fait par exemple à l’aide de données obtenues par un capteur d’environnement tridimensionnel tel un LiDAR®. Néanmoins ce type de capteur est particulièrement onéreux, son implémentation dans un véhicule est complexe et le temps d’acquisition et de traitement des données reçues du LiDAR® est nettement supérieur au temps de traitement d’images, la vitesse de rotation d’un capteur LiDAR® étant de l’ordre de 10Hz (dix Hertz) générant un temps d’exposition d’une scène tridimensionnelle de l’ordre de 30 à 100ms (trente à cent millisecondes) tandis que cette même scène doit être exposée devant la caméra pendant 1ms (une milliseconde) .
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 du traitement d’une image acquise par un système de vision, notamment par un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones associé à un système de vision stéréoscopique.
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’un système de vision.
Selon un premier aspect, la présente invention concerne un procédé d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels 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 une caméra disposée de manière à acquérir une image d’une scène tridimensionnelle se déroulant à proximité du véhicule,
le procédé étant mis en œuvre par au moins un processeur, et étant caractérisé en ce qu’il comprend les étapes suivantes :
- réception de données représentatives d’une première image acquises par la caméra à un premier instant temporel d’acquisition et d’une deuxième image acquise par la caméra à un deuxième instant temporel d’acquisition distinct du premier instant temporel d’acquisition ;
- prédiction de premières profondeurs associées à des pixels de la première image et de deuxièmes profondeurs associées à des pixels de la deuxième image, les première et deuxième profondeurs étant prédites par un modèle de prédiction de profondeur ;
- génération d’un premier et d’un deuxième nuages de points tridimensionnels à partir des première et deuxième images, une position spatiale d’un point du premier nuage de points étant fonction de coordonnées d’un pixel de la première image et d’une profondeur associée au pixel de la première image et une position spatiale d’un point du deuxième nuage de points étant fonction de coordonnées d’un pixel de la deuxième image et d’une profondeur associée au pixel de la deuxième image ;
- prédiction, par le modèle de prédiction de positions de points tridimensionnels,
• d’un troisième nuage de points tridimensionnels à partir du premier nuage de points tridimensionnel et d’un mouvement du véhicule entre les premier et deuxième instants temporels, et
• d’un quatrième nuage de points tridimensionnels à partir du deuxième nuage de points tridimensionnel et du mouvement du véhicule entre les premier et deuxième instants temporels ;
- génération :
• d’une troisième image par projection de points du troisième nuage de points dans un plan image associé à la caméra et défini au deuxième instant temporel d’acquisition, et
• d’une quatrième image par projection de points du quatrième nuage de points dans un plan image associé à la caméra et défini au premier instant temporel d’acquisition ;
- détermination d’une première erreur par comparaison de la première image à la quatrième image et d’une deuxième erreur par comparaison de la quatrième image à la deuxième image ;
- apprentissage du modèle de prédiction de positions de points tridimensionnels par minimisation d’une erreur de perte déterminée à partir des première et deuxième erreurs.
Un tel procédé permet ainsi d’utiliser le modèle de prédiction de positions de points tridimensionnels pour prévoir la future position d’objets dans une scène tridimensionnelle observée afin d’alimenter un système d’aide à la conduite avec des données précises et rapidement déterminées. Un tel modèle de prédiction de positions de points tridimensionnels est ainsi plus rapide qu’un dispositif comprenant un LiDAR® et permet d’anticiper davantage le comportement des objets environnants en anticipant leur future position. Les ADAS utilisant des données en provenance de ce modèle de prédiction de positions de points tridimensionnels sont ainsi plus précis et plus réactifs.
Selon une variante du procédé, une position spatiale d’un point des premier et deuxième nuages de points est déterminée par la fonction suivante :

Avec :
la position spatiale d’un point du premier nuage de points, respectivement du deuxième nuage de points,
un modèle de prédiction de direction associé à la caméra, et
une fonction de projection dans une scène tridimensionnelle d’un pixel en fonction de ses coordonnées dans la première image, respectivement dans la deuxième image, et de la première, respectivement deuxième, profondeur qui lui est associée.
Selon une autre variante du procédé, des coordonnées d’un pixel dans la troisième image, respectivement quatrième image, sont déterminées par la fonction suivante :

Avec :
des coordonnées d’un pixel dans la troisième image, respectivement quatrième image,
un modèle de prédiction de direction associé à la caméra,
une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur, et
la position spatiale d’un point du troisième nuage de points, respectivement du quatrième nuage de points.
Selon encore une variante du procédé, une première profondeur associée à un pixel de la première image ou une deuxième profondeur associée à un pixel de la deuxième image est déterminée à partir de candidats de profondeur, une probabilité étant déterminée pour chaque candidat de profondeur par le modèle de prédiction de profondeurs, la première ou deuxième profondeur étant égale à une somme de produits des probabilités et des candidats de profondeur associées audit pixel de la première image ou de la deuxième image.
Selon une variante supplémentaire du procédé, les première et deuxième erreurs comprennent une erreur photométrique déterminée par la fonction suivante :

Avec :
l’erreur photométrique associée à un pixel défini par ses coordonnées dans la première image, respectivement deuxième image,
une valeur du pixel dans la première image, respectivement deuxième image,
une valeur du pixel dans la quatrième image, respectivement troisième image,
• SSIM une fonction qui prend en compte une structure locale, et
un facteur de pondération dépendant notamment d’un type d’environnement routier.
Selon encore une autre variante du procédé, les première et deuxième erreurs comprennent une erreur de reconstruction déterminée par la fonction suivante :

Avec :
une erreur de reconstruction pour un pixel de la troisième image, respectivement quatrième image,
une profondeur associée au pixel ,
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 des dimensions de la troisième image, respectivement quatrième image,
est un hyperparamètre dépendant de l’environnement routier dans lequel circule le véhicule 10, et
est une valeur du pixel dans la troisième image, respectivement quatrième image.
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,
la première erreur pour un pixel de la première image, et
la deuxième erreur pour un pixel de la deuxième image correspondant au pixel de la première image.
Selon un deuxième aspect, la présente invention concerne un dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à 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 modèle de prédiction de positions de points tridimensionnels 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 ; et
FIG. 3illustre schématiquement un dispositif configuré pour déterminer une profondeur d’un pixel d’une image acquise par 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 d’un pixel d’une image par un réseau de neurones associé à un 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.
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.
Le véhicule 10 se situe dans un environnement 1 correspondant, 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 à proximité du véhicule 10, c’est-à-dire dans l’environnement proche du véhicule 10, depuis une position d’observation courante. La caméra 11 forme un système de vision monoculaire 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 monoculaire 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, 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.
Selon un exemple de réalisation particulier, la caméra 11 est calibrée, par exemple, en suivant une méthode d’étalonnage connue de l’homme du métier telle que celle présentée dans le document « Single View Point Omnidirectional Camera Calibration from Planar Grids », rédigé par Christopher Mei et Patrick Rives et publié en avril 2007, par la suite appelé modèle de Mei, les paramètres intrinsèques de la caméra 11 étant alors connus.
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 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.
Selon un exemple de réalisation particulier, la caméra 11 est de type « grand angle », une caméra grand angle étant par exemple équipée d’un objectif conçu pour faire l’acquisition d’une image représentative d’une scène tridimensionnelle perçue selon un champ de vision plus large que celui d'une caméra standard, aussi appelé parfois objectif panoramique. En d'autres termes, un objectif grand angle permet de saisir une plus grande portion de la scène tridimensionnelle se déroulant devant ou autour de la caméra, ce qui est particulièrement utile dans des situations où il est nécessaire d'inclure davantage d'éléments dans le cadre de l’image acquise par cette caméra. L’angle α du champ de vision de la caméra 11 est par exemple égal à 120°, 145°, 180° ou 360°, alors qu’une caméra standard propose, par exemple, un champ de vision ouvert suivant un angle de 45° ou moins. Une telle caméra 11 correspond par exemple à une caméra équipée de miroirs ou encore à une caméra « fisheye » (en français « œil de poisson »). Les objectifs grand angle ont une distance focale plus courte par rapport aux objectifs standard, ce qui les rend adaptés pour faire l’acquisition d’images de paysages, d'architectures, de croisements de routes ou de tout autre sujet nécessitant une perspective étendue. Les caméras grand angle sont, par exemple, utilisées pour capturer des images immersives et dynamiques avec une profondeur de champ étendue.
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 valeurs 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 ou objets immobiles, par exemple un véhicule stationné ; et/ou
- d’autres usagers ou objets mobiles, par exemple un autre véhicule, un cycliste ou un piéton en mouvement.
Selon un exemple de réalisation particulier, une image acquise par la caméra 11 comprend une distorsion égale à 0,5%, 0,8% ou supérieure à 1%. La mesure d’une telle distorsion correspond à la détermination d’un rapport entre :
- l'écartement maximal d’un pixel de l'image d’une ligne droite de la première scène tridimensionnelle dont l’image est une ligne touchant le bord le plus long de la première image, soit au centre du bord de l’image, soit au niveau des angles du bord de l’image, et
- la longueur de ce bord.
Couramment, une distorsion est considérée, dans le monde de la photographie, comme :
• négligeable si elle est inférieure à 0,3%,
• peu sensible si elle est comprise entre 0,3% ou 0,4%,
• sensible si elle est comprise entre 0,5% et 0,6%,
• très sensible si elle est comprise entre 0,7% et 0,9%, et
• gênante si elle est supérieure ou égale à 1%.
Une distorsion en barillet est caractérisée par un pourcentage positif, tandis qu’une distorsion en croissant est caractérisée par un pourcentage négatif.
Chaque image acquise par la caméra 11 est par exemple envoyée à un processeur, par exemple 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. Elle est alors utilisée lors de la mise en œuvre d’un des procédés suivants :
• un procédé de détermination d’une profondeur d’au moins un de ses pixels, et/ou
• d’un procédé d’apprentissage d’un modèle de prédiction de profondeur associé à cette caméra du système de vision, et/ou
• d’un procédé de prédiction de positions de points tridimensionnels, et/ou
• d’un procédé d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels.
LaFIG. 2illustre un organigramme des différentes étapes d’un procédé d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels selon un exemple de réalisation particulier et non limitatif de la présente invention.
Un procédé d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels 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 du véhicule 10 ou par le dispositif 3 de laFIG. 3.
Le modèle de prédiction de positions de points tridimensionnels est mis en œuvre par un réseau de neurones convolutif associé au système de vision embarqué dans le véhicule 10 précédemment exposé. Ainsi, le modèle de prédiction de positions de points tridimensionnels est associé au système de vision comprenant une caméra 11 disposée de manière à acquérir une image d’une scène tridimensionnelle se déroulant aux alentours du véhicule 10.
Dans une première étape 21, une première image acquises par la caméra 11 à un premier instant temporel d’acquisition et une deuxième image acquise par la caméra 11 à un deuxième instant temporel d’acquisition distinct du premier instant temporel d’acquisition sont reçues. La réception d’images consiste en la réception de données représentatives d’images, lesquelles sont par exemple enregistrées dans un dispositif embarqué dans le véhicule 10 et comprenant une mémoire accessible par un calculateur mettant en œuvre le processus. Les premier et deuxième instants temporels d’acquisition sont suffisamment proches dans le temps pour que la scène tridimensionnelle observée soit la même mais observée depuis deux points de vue différents lorsque le véhicule 10 est en mouvement. Les première et deuxième images sont acquises à des intervalles de temps de l’ordre d’une ou plusieurs millisecondes.
Selon un exemple de réalisation particulier, les positions des pixels dans les première et deuxième images ne sont pas exprimées en coordonnées cartésiennes mais sont encodées dans un autre référentiel associé à ces images.
Le codage de position se fait par la transformation de la position à une fonction combinée par une courbe sinusoïdale et une courbe cosinusoïdale en suivant les sous-opérations ci-dessous :
• Dans une première opération, l’abscisse x dans le sens horizontal ainsi que l’ordonnée y dans le sens vertical en coordonnées pixels (0,1,2,3,4,5,6…) sont normalisées dans une plage 0 à 2 .
• Dans une deuxième opération, un dénominateur qui augmente en paire est calculé, le dénominateur décrit ainsi la série suivante : 1, 1, 2, 2, 3, 3… avec les grandeurs plus hautes que 1 pour diminuer la grandeur de la valeur de coordonnée, et de préférence avec une augmentation exponentielle.
• Dans une troisième opération, les valeurs des abscisses x et ordonnées y sont divisées par le dénominateur.
• Dans une quatrième opération, une fonction sinus est appliquée aux chiffres aux positions impaires et une fonction cosinus aux chiffres aux positions paires de l’abscisse x ainsi que de l’ordonnée y. Le résultat forme deux matrices avec la hauteur et la largeur de la carte de caractéristique respectivement pour x, et y.
• Dans une cinquième opération, les deux matrices de codage de position sont additionnées à tous les canaux des deux cartes de caractéristiques.
Un tel codage de position permet, par la suite, de conserver la position des pixels dans l’image originale et d’évaluer un niveau de distorsion associé à ces derniers, ce qui est important surtout quand les images présentent une forte distorsion, comme lorsque les images sont acquises par une caméra grand angle.
Dans une deuxième étape 22, des premières profondeurs associées à des pixels de la première image et de deuxièmes profondeurs associées à des pixels de la deuxième image sont prédites par un modèle de prédiction de profondeur associé au système de vision embarqué dans le véhicule 10. Un tel modèle de prédiction de profondeur 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.
Selon un exemple de réalisation particulier, une première profondeur associée à un pixel de la première image ou une deuxième profondeur associée à un pixel de la deuxième image est déterminée à partir de candidats de profondeur, une probabilité étant déterminée par le modèle de prédiction de profondeurs pour chaque candidat de profondeur, la première ou deuxième profondeur étant égale à une somme de produits des probabilités et des candidats de profondeur associées audit pixel de la première image ou de la deuxième image. La détermination des candidats de profondeur et des probabilités est par exemple utilisée dans le modèle Unimatch® présenté dans le document « Unifying Flow, Stereo and Depth Estimation » rédigé par Haofei Xu, Jing Zhang, Jianfei Cai, Hamid Rezatofighi, Fisher Yu, Dacheng Tao et Andreas Geiger, publié en juillet 2023. Une série de candidats de profondeur couvre par exemple toute la plage de mesure déterminée pour la caméra 11, par exemple de 10 à 100m (de dix à cent mètres), avec un intervalle de 1m (un mètre) par exemple.
Dans une troisième étape 23, un premier et d’un deuxième nuages de points tridimensionnels sont générés à partir des première et deuxième images. Une position spatiale d’un point du premier nuage de points est alors fonction de coordonnées d’un pixel de la première image et d’une profondeur associée à ce pixel de la première image et, de manière similaire, une position spatiale d’un point du deuxième nuage de points est fonction de coordonnées d’un pixel de la deuxième image et d’une profondeur associée à ce pixel de la deuxième image.
Selon un exemple de réalisation particulier, une position spatiale d’un point des premier et deuxième nuages de points est déterminée par la fonction suivante :
Avec :
la position spatiale d’un point du premier nuage de points, respectivement du deuxième nuage de points,
un modèle de prédiction de direction associé à la caméra 11, et
une fonction de projection dans une scène tridimensionnelle d’un pixel en fonction de ses coordonnées dans la première image, respectivement dans la deuxième image, et de la première, respectivement deuxième, profondeur qui lui est associée.
Le modèle de prédiction de direction associé à la caméra 11 est également connu de l’homme du métier, un tel modèle de prédiction étant notamment présenté dans le document « Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion » rédigé par Igor Vasiljevic, Vitor Guizilini, Rares Ambrus, Sudeep Pillai, Wolfram Burgard, Greg Shakhnarovich et Adrien Gaidon publié en aout 2020.
A noter que pour un caméra 11 à objectif sténopé, le modèle de prédiction de direction est défini par une fonction analytique et correspond ainsi à la matrice intrinsèque de la caméra 11, aussi appelée matrice de projection de la caméra 11 et comprenant quatre paramètres représentatifs de longueurs focales horizontale (fx) et verticale (fy) en pixels et de la position (cx,cy) en pixels du centre optique dans l'ensemble du plan de l'image.
Chaque pixel d’une image acquise par la caméra 11 correspond à un point objet de la scène tridimensionnelle. Un nuage de points généré à partir d’une image reconstitue, en théorie, les points objets de la scène tridimensionnelle observée. La justesse de leur position est cependant fonction de la qualité des modèles de prédiction de profondeur et de prédiction de direction.
Il est à noter que le premier nuage de points est défini dans le repère associé à la caméra 11 dans sa position au premier instant temporel d’acquisition et que le deuxième nuage de points est défini dans le repère associé à la caméra 11 dans sa position au deuxième instant temporel d’acquisition. Le lien entre ces repères est défini par le mouvement du véhicule 10 entre ces deux instants temporels d’acquisition, lequel est connu par analyse des images ou par analyse de données télémétriques obtenues de capteurs embarqués dans le véhicule 10.
Dans une quatrième étape 24, le modèle de prédiction de positions de points tridimensionnels prédit un troisième nuage de points tridimensionnels à partir du premier nuage de points tridimensionnel et du mouvement du véhicule 10 entre les premier et deuxième instants temporels d’acquisition, et un quatrième nuage de points tridimensionnels à partir du deuxième nuage de points tridimensionnel et du mouvement du véhicule 10 entre les premier et deuxième instants temporels d’acquisition.
Un tel modèle de prédiction de positions de points tridimensionnels est connu de l’homme du métier, et est présenté dans le document « Visual Point Cloud Forecasting enables Scalable Autonomous Driving » rédigé par Zetong Yang, Li Chen, Yanan Sun et Hongyang Li et publié en décembre 2023.
Le troisième nuage de points correspond ainsi à une position théorique du premier nuage de points dans le référentiel associé à la caméra 11 au deuxième instant temporel d’acquisition, et certains points associés à des objets dynamiques voient également leur position modifiée en fonction du déplacement propre de l’objet dynamique prédit entre les deux instants temporels d’acquisition. De manière similaire, le quatrième nuage de points correspond à une position théorique du deuxième nuage de points dans le référentiel associé à la caméra 11 au premier instant temporel d’acquisition, et comme précédemment, certains points associés à des objets dynamiques voient également leur position modifiée en fonction du déplacement propre de l’objet dynamique prédit entre les deux instants temporels d’acquisition.
A noter que si les modèles de prédiction de profondeur, de prédiction de direction et de prédiction de positions de points tridimensionnels étaient parfaits, les premier et quatrième nuages de points seraient confondus et les deuxième et troisième nuages de points seraient également confondus, ce qui n’est pas le cas du fait de l’imprécision de chacun des modèles. Ainsi, les premier et quatrième nuages de points sont comparables et les deuxième et troisième nuages de points sont également comparables.
Dans une cinquième étape 25, une troisième image et une quatrième image sont générées. La troisième image est générée par projection de points du troisième nuage de points dans un plan image associé à la caméra 11 et défini au deuxième instant temporel d’acquisition, et la quatrième image est générée par projection de points du quatrième nuage de points dans un plan image associé à la caméra 11 et défini au premier instant temporel d’acquisition.
Selon un exemple de réalisation particulier, des coordonnées d’un pixel dans la troisième image, respectivement quatrième image, sont déterminées par la fonction suivante :
Avec :
des coordonnées d’un pixel dans la troisième image, respectivement quatrième image,
un modèle de prédiction de direction associé à la caméra 11,
une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur, et
la position spatiale d’un point du troisième nuage de points, respectivement du quatrième nuage de points.
Comme précédemment expliqué, les premier et quatrième nuages de points, tout comme les deuxième et troisième nuages de points, étant comparables, la quatrième image est comparable à la première image et la troisième image est comparable à la deuxième image.
Dans une sixième étape 26, une première erreur est déterminée par comparaison de la première image à la quatrième image et une deuxième erreur est déterminée par comparaison de la quatrième image à la deuxième image.
Selon un exemple de réalisation particulier, les première et deuxième erreurs comprennent des erreurs photométriques telles que présentées dans le document « Digging Into Self-Supervised Monocular Depth Estimation » de Clément Godard, Oisin Mac Aodha, Michael Firman et Gabriel Brostow publié en août 2019 et sont déterminées par la fonction suivante :
Avec :
l’erreur photométrique associée à un pixel défini par ses coordonnées dans la première image, respectivement deuxième image,
une valeur du pixel dans la première image, respectivement deuxième image,
une valeur du pixel dans la quatrième image, respectivement troisième image,
• SSIM une fonction qui prend en compte une structure locale, et
un facteur de pondération dépendant notamment d’un type d’environnement routier.
Selon un autre exemple de réalisation particulier, les premières et deuxièmes erreurs comprennent une erreur de reconstruction d’une image générée déterminée par la fonction suivante :
Avec :
une erreur de reconstruction pour un pixel de la troisième image, respectivement quatrième image,
une profondeur associée au pixel ,
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 des dimensions de la troisième image, respectivement quatrième image,
est un hyperparamètre dépendant de l’environnement routier dans lequel circule le véhicule 10, et
est une valeur du pixel dans la troisième image, respectivement quatrième image.
Cette fonction est généralement utilisée pour traiter la discontinuité à la bordure des objets.
Les première et deuxième erreurs sont ainsi définies, par exemple, à partir des erreurs photométriques et erreurs de reconstruction précédemment définies. A noter qu’une erreur photométrique est déterminée pour la première, respectivement deuxième image tandis qu’une erreur de reconstruction est déterminée pour la quatrième, respectivement troisième image. Elles sont néanmoins combinables, par exemple additionnables, ces quatre images ayant la même définition et les erreurs étant déterminées en coordonnées pixels, lesquelles sont homogènes pour les quatre images.
Dans une septième étape 27, le modèle de prédiction de positions de points tridimensionnels est appris par minimisation d’une erreur de perte déterminée à partir des première et deuxième erreurs.
Selon un exemple de réalisation particulier, l’erreur de perte est déterminée par la fonction suivante :
Avec :
l’erreur de perte,
la première erreur pour un pixel de la première image, et
la deuxième erreur pour un pixel de la deuxième image correspondant au pixel de la première image.
L’utilisation de la fonction minimum (min) est ici préférée à une fonction somme ou moyenne afin d’éviter de prendre en compte des erreurs dues à des occlusions pour les images acquises. Selon d’autres variantes, ces fonctions somme ou moyenne restent cependant envisageables pour déterminer l’erreur de perte.
L’apprentissage du modèle de prédiction de positions de points tridimensionnels consiste en l’ajustement de paramètres d’entrée du réseau de neurones convolutif afin de minimiser l’erreur de perte précédemment calculée.
Ainsi, le modèle de prédiction de positions de points tridimensionnels est fiabilisé grâce à ce procédé d’apprentissage. Il est ainsi en mesure de prédire précisément la position future des objets de la scène tridimensionnelle associés à des points tridimensionnels, que l’objet soit statique ou dynamique et peu importe le mouvement du véhicule. De plus, les données permettant cet apprentissage sont obtenues du système de vision lui-même, elles correspondent alors à des données parfaitement représentatives de l’utilisation du système de vision embarqué sur le véhicule 10 et donc aux environnements réels dans lesquels le véhicule 10 évolue.
Il est à noter qu’il est également possible d’apprendre le modèle de prédiction de profondeur en ajustant en outre les paramètres du réseau de neurones convolutif utilisé par le modèle de prédiction de profondeur.
Les profondeurs prédites et/ou les positions des points des nuages de points prédits permettent alors de déterminer une distance séparant le véhicule d’un objet auquel correspond un pixel ou un point tridimensionnel.
Si l’ADAS utilise les profondeurs prédites et/ou les nuages de points prédits comme données 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.
LaFIG. 3illustre schématiquement un dispositif 3 configuré pour la prédiction de positions de points tridimensionnels et/ou pour l’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision embarqué dans un véhicule 10, 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 associé au système de vision stéréoscopique.
Le dispositif 3 est par exemple configuré pour la mise en œuvre des opérations décrites en regard des figures 1 et 4 et/ou étapes décrites en regard des figures 2 et 3. 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 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 d’un pixel d’une image à l’aide du modèle de prédiction de profondeur ou à un procédé de mesurage d’une distance séparant un objet d’un véhicule embarquant un système de vision qui inclurait des étapes secondaires sans pour autant 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é d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels 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 une caméra (11) disposée de manière à acquérir une image d’une scène tridimensionnelle se déroulant à proximité du véhicule (10),
    ledit procédé étant mis en œuvre par au moins un processeur, et étant caractérisé en ce qu’il comprend les étapes suivantes :
    - réception (21) de données représentatives d’une première image acquises par la caméra (11) à un premier instant temporel d’acquisition et d’une deuxième image acquise par la caméra (11) à un deuxième instant temporel d’acquisition distinct dudit premier instant temporel ;
    - prédiction (22) de premières profondeurs associées à des pixels de la première image et de deuxièmes profondeurs associées à des pixels de la deuxième image, les première et deuxième profondeurs étant prédites par un modèle de prédiction de profondeur ;
    - génération (23) d’un premier et d’un deuxième nuages de points tridimensionnels à partir des première et deuxième images, une position spatiale d’un point du premier nuage de points étant fonction de coordonnées d’un pixel de la première image et d’une profondeur associée audit pixel de la première image et une position spatiale d’un point du deuxième nuage de points étant fonction de coordonnées d’un pixel de la deuxième image et d’une profondeur associée audit pixel de la deuxième image ;
    - prédiction (24), par ledit modèle de prédiction de positions de points tridimensionnels,
    • d’un troisième nuage de points tridimensionnels à partir du premier nuage de points tridimensionnel et d’un mouvement du véhicule (10) entre lesdits premier et deuxième instants temporels, et
    • d’un quatrième nuage de points tridimensionnels à partir du deuxième nuage de points tridimensionnel et dudit mouvement ;
    - génération (25) :
    • d’une troisième image par projection de points du troisième nuage de points dans un plan image associé à la caméra (11) et défini audit deuxième instant temporel, et
    • d’une quatrième image par projection de points du quatrième nuage de points dans un plan image associé à la caméra (11) et défini audit premier instant temporel ;
    - détermination (26) d’une première erreur par comparaison de la première image à la quatrième image et d’une deuxième erreur par comparaison de la quatrième image à la deuxième image ;
    - apprentissage (27) du modèle de prédiction de positions de points tridimensionnels par minimisation d’une erreur de perte déterminée à partir des première et deuxième erreurs.
  2. Procédé selon la revendication 1, pour lequel une position spatiale d’un point des premier et deuxième nuages de points est déterminée par la fonction suivante :

    Avec :
    la position spatiale d’un point du premier nuage de points, respectivement du deuxième nuage de points,
    un modèle de prédiction de direction associé à la caméra (11), et
    une fonction de projection dans une scène tridimensionnelle d’un pixel en fonction de ses coordonnées dans la première image, respectivement dans la deuxième image, et de la première, respectivement deuxième, profondeur qui lui est associée.
  3. Procédé selon la revendication 1 ou 2, pour lequel des coordonnées d’un pixel dans la troisième image, respectivement quatrième image, sont déterminées par la fonction suivante :

    Avec :
    des coordonnées d’un pixel dans la troisième image, respectivement quatrième image,
    un modèle de prédiction de direction associé à la caméra (11),
    une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur, et
    la position spatiale d’un point du troisième nuage de points, respectivement du quatrième nuage de points.
  4. Procédé selon l’une des revendications 1 à 3, pour lequel une première profondeur associée à un pixel de la première image ou une deuxième profondeur associée à un pixel de la deuxième image est déterminée à partir de candidats de profondeur, une probabilité étant déterminée par le modèle de prédiction de profondeurs pour chaque candidat de profondeur, la première ou deuxième profondeur étant égale à une somme de produits des probabilités et des candidats de profondeur associées audit pixel de la première image ou de la deuxième image.
  5. Procédé selon l’une des revendications 1 à 4, pour lequel lesdites première et deuxième erreurs comprennent une erreur photométrique déterminée par la fonction suivante :

    Avec :
    l’erreur photométrique associée à un pixel défini par ses coordonnées dans la première image, respectivement deuxième image,
    une valeur du pixel dans la première image, respectivement deuxième image,
    une valeur du pixel dans la quatrième image, respectivement troisième image,
    • SSIM une fonction qui prend en compte une structure locale, et
    un facteur de pondération dépendant notamment d’un type d’environnement routier.
  6. Procédé selon l’une des revendications 1 à 5, pour lequel lesdites première et deuxième erreurs comprennent une erreur de reconstruction déterminée par la fonction suivante :

    Avec :
    une erreur de reconstruction pour un pixel de la troisième image, respectivement quatrième image,
    une profondeur associée au pixel ,
    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 des dimensions de la troisième image, respectivement quatrième image,
    est un hyperparamètre dépendant de l’environnement routier dans lequel circule le véhicule (10), et
    est une valeur du pixel dans la troisième image, respectivement quatrième image.
  7. Procédé selon l’une des revendications 1 à 6, pour lequel l’erreur de perte est déterminée par la fonction suivante :

    Avec :
    l’erreur de perte,
    la première erreur pour un pixel de la première image, et
    la deuxième erreur pour un pixel de la deuxième image correspondant au pixel de la première image.
  8. Programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé selon l’une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un processeur.
  9. Dispositif (3) d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels pour 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 à 7.
  10. Véhicule (10) comprenant le dispositif (3) selon la revendication 9.
FR2410854A 2024-10-08 2024-10-08 Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision. Pending FR3167233A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2410854A FR3167233A1 (fr) 2024-10-08 2024-10-08 Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2410854A FR3167233A1 (fr) 2024-10-08 2024-10-08 Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision.
FR2410854 2024-10-08

Publications (1)

Publication Number Publication Date
FR3167233A1 true FR3167233A1 (fr) 2026-04-10

Family

ID=93563110

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2410854A Pending FR3167233A1 (fr) 2024-10-08 2024-10-08 Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision.

Country Status (1)

Country Link
FR (1) FR3167233A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810752B2 (en) * 2017-11-15 2020-10-20 Google Llc Unsupervised learning of image depth and ego-motion prediction neural networks
US20220156882A1 (en) * 2020-11-13 2022-05-19 NavInfo Europe B.V. Computer-implemented method to improve scale consistency and/or scale awareness in a model of self-supervised depth and ego-motion prediction neural networks
US20220351398A1 (en) * 2021-09-29 2022-11-03 Beijing Baidu Netcom Science Technology Co., Ltd. Depth detection method, method for training depth estimation branch network, electronic device, and storage medium
US20230394690A1 (en) * 2022-06-07 2023-12-07 Hon Hai Precision Industry Co., Ltd. Method for obtaining depth images for improved driving safety and electronic device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810752B2 (en) * 2017-11-15 2020-10-20 Google Llc Unsupervised learning of image depth and ego-motion prediction neural networks
US20220156882A1 (en) * 2020-11-13 2022-05-19 NavInfo Europe B.V. Computer-implemented method to improve scale consistency and/or scale awareness in a model of self-supervised depth and ego-motion prediction neural networks
US20220351398A1 (en) * 2021-09-29 2022-11-03 Beijing Baidu Netcom Science Technology Co., Ltd. Depth detection method, method for training depth estimation branch network, electronic device, and storage medium
US20230394690A1 (en) * 2022-06-07 2023-12-07 Hon Hai Precision Industry Co., Ltd. Method for obtaining depth images for improved driving safety and electronic device

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER MEIPATRICK RIVES: "Single View Point Omnidirectional Camera Calibration from Planar Grids", April 2007
CLÉMENT GODARDOISIN MAC AODHAMICHAEL FIRMANGABRIEL BROSTOW: "Digging Into Self-Supervised Monocular Depth Estimation", August 2019
HAOFEI XUJING ZHANGJIANFEI CAIHAMID REZATOFIGHIFISHER YUDACHENG TAOANDREAS GEIGER: "Unifying Flow, Stereo and Depth Estimation", July 2023
IGOR VASILJEVICVITOR GUIZILINIRARES AMBRUSSUDEEP PILLAIWOLFRAM BURGARDGREG SHAKHNAROVICHADRIEN GAIDON: "Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion", August 2020
XIAOYANG LYULIANG LIUMENGMENG WANGXIN KONGLINA LIUYONG LIUXINXIN CHENYI YUAN: "HR-Depth: High Resolution Self-Supervised Monocular Depth Estimation", December 2020
YANG ZETONG ET AL: "Visual Point Cloud Forecasting Enables Scalable Autonomous Driving", 2024 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 16 June 2024 (2024-06-16), pages 14673 - 14684, XP034695707, [retrieved on 20240916], DOI: 10.1109/CVPR52733.2024.01390 *
ZETONG YANGLI CHENYANAN SUNHONGYANG LI: "Visual Point Cloud Forecasting enables Scalable Autonomous Driving", December 2023

Similar Documents

Publication Publication Date Title
FR3167233A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de positions de points tridimensionnels associé à un système de vision.
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.
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
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
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
FR3167468A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur assisté par un modèle de flux de scène.
FR3167467A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur capable de traiter des objets dynamiques présents dans une scène.
FR3163759A1 (fr) Procédé et dispositif de détermination d’une distance séparant un objet d’un véhicule par un modèle de prédiction de profondeur appris localement.
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.
FR3162894A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision monoscopique appris par supervision d’un système de vision stéréoscopique
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
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.
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.
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
FR3160031A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur appris à partir d’images hétérogènes
FR3161784A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur à partir de bandes verticales d’images.
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.
FR3164307A1 (fr) Procédé et dispositif de détermination rapide d’une distance séparant un objet d’un véhicule par utilisation de boîte englobante.
FR3160797A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur d’un ensemble de pixels d’une image associé à un système de vision stéréoscopique embarqué dans un véhicule.
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.
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.
FR3159463A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur associé à un système de vision embarqué dans un véhicule
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.
FR3160032A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur associé à 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é.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20260410