[go: up one dir, main page]

FR3160493A1 - Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion. - Google Patents

Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion.

Info

Publication number
FR3160493A1
FR3160493A1 FR2402901A FR2402901A FR3160493A1 FR 3160493 A1 FR3160493 A1 FR 3160493A1 FR 2402901 A FR2402901 A FR 2402901A FR 2402901 A FR2402901 A FR 2402901A FR 3160493 A1 FR3160493 A1 FR 3160493A1
Authority
FR
France
Prior art keywords
image
pixel
depth
error
camera
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
FR2402901A
Other languages
French (fr)
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 FR2402901A priority Critical patent/FR3160493A1/en
Publication of FR3160493A1 publication Critical patent/FR3160493A1/en
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/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Procédé ou dispositif d’apprentissage d’un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones associé à un système de vision. En effet, le procédé comprend la génération (32) de cartes de profondeurs associées à des images acquises par chaque caméra du système de vision et la génération (33) d’autres images et d’autres cartes de profondeurs à partir des images reçues et des cartes de profondeurs par changement de référentiel. Un masque de visibilité est déterminé (34) à partir des images générées et une valeur nulle est assignée (35) aux pixels des troisième et quatrième images non compris dans le masque de visibilité. Le modèle de prédiction de profondeur est alors appris (36) par minimisation d’une erreur de perte déterminée par comparaison des cartes de profondeurs aux autres cartes de profondeurs et par comparaison des images reçues aux images générées. Figure pour l’abrégé : Figure 3 A method or device for learning a depth prediction model implemented by a neural network associated with a vision system. The method comprises generating (32) depth maps associated with images acquired by each camera of the vision system and generating (33) other images and other depth maps from the received images and the depth maps by changing the reference frame. A visibility mask is determined (34) from the generated images, and a zero value is assigned (35) to the pixels of the third and fourth images not included in the visibility mask. The depth prediction model is then learned (36) by minimizing a loss error determined by comparing the depth maps to the other depth maps and by comparing the received images to the generated images. Abstract: Figure 3

Description

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.Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion.

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 un système de vision.The present invention relates to methods and devices for determining a depth by a vision system on board a vehicle, for example in a motor vehicle. The present invention also relates to a method and a device for measuring a distance separating an object from a vehicle carrying a vision system.

Arrière-plan technologiqueTechnological background

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.Many modern vehicles are equipped with so-called ADAS (Advanced Driver Assistance System). ADAS are passive and active safety systems designed to eliminate human error in the operation of all types of vehicles. ADAS uses advanced technologies to assist the driver while driving and thus improve their performance. ADAS uses a combination of sensor technologies to perceive the environment around a vehicle, then provides information to the driver or influences certain vehicle systems.

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.There are several levels of ADAS, such as rearview cameras and blind spot sensors, lane departure warning systems, adaptive cruise control, and automatic parking systems.

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.
ADAS systems embedded in a vehicle are powered by data obtained from one or more on-board sensors such as, for example, cameras. These cameras are used to detect and locate other road users or possible obstacles around a vehicle in order to, for example:
• to adapt the vehicle's lighting according to the presence of other users;
• to automatically regulate the vehicle speed;
• to act on the braking system in the event of a risk of impact with an object.

La prédiction d’une distance séparant un objet d’un véhicule, c’est-à-dire de la profondeur associée à un pixel d’une image acquise par une caméra, le pixel représentant l’objet, requiert une grande précision afin d’alimenter les ADAS. La prédiction d’une profondeur associée à un pixel fait notamment appel à un modèle de prédiction de profondeur, le modèle de prédiction de profondeur étant adapté au système de vision embarqué par le véhicule. Un tel modèle de prédiction est couramment mis en œuvre par un réseau de neurones, lequel est notamment appris dans une phase d’apprentissage afin de prédire des profondeurs justes par rapport au système de vision embarqué et au type d’environnement dans lequel évolue le véhicule. Une phase d’apprentissage requiert alors des données, par exemple des données annotées en provenance de bibliothèques ou annotées via d’autres systèmes embarqués plus précis comme un LIDAR®. Néanmoins, ce type d’apprentissage requiert une accumulation massive de données ou la présence de cet autre système embarqué dont le véhicule ne dispose pas toujours. Il est alors possible de réaliser une phase d’apprentissage du modèle de prédiction de profondeur à partir de données acquises par le système de vision embarqué mais les solutions existantes ne sont pas adaptées à la configuration de tout système de vision embarqué dans un véhicule.Predicting the distance between an object and a vehicle, i.e. the depth associated with a pixel in an image acquired by a camera, the pixel representing the object, requires high precision in order to feed ADAS. Predicting the depth associated with a pixel notably calls upon a depth prediction model, the depth prediction model being adapted to the vehicle's onboard vision system. Such a prediction model is commonly implemented by a neural network, which is notably learned in a training phase in order to predict accurate depths in relation to the onboard vision system and the type of environment in which the vehicle operates. A training phase then requires data, for example annotated data from libraries or annotated via other more precise onboard systems such as a LIDAR®. However, this type of learning requires a massive accumulation of data or the presence of this other onboard system which the vehicle does not always have. It is then possible to carry out a learning phase of the depth prediction model from data acquired by the on-board vision system, but existing solutions are not suitable for the configuration of any on-board vision system in a vehicle.

De plus, des objets présents dans une scène tridimensionnelle observée par un système de vision stéréoscopique, c’est-à-dire un système de vision comprenant au moins deux caméras, peuvent ne pas être visibles sur certaines images acquises par le système de vision stéréoscopique, ces objets étant alors occlus du point de vue d’une caméra du système de vision stéréoscopique. La présence d’objets occlus est alors susceptible de générer des erreurs et de fausser l’apprentissage d’un modèle de prédiction de profondeurs.Furthermore, objects present in a three-dimensional scene observed by a stereoscopic vision system, i.e. a vision system comprising at least two cameras, may not be visible on certain images acquired by the stereoscopic vision system, these objects then being occluded from the point of view of a camera of the stereoscopic vision system. The presence of occluded objects is then likely to generate errors and distort the learning of a depth prediction model.

Résumé de la présente inventionSummary of the present 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.An object of the present invention is to solve at least one of the problems of the technological background described above.

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.Another object of the present invention is to improve the quality of the data resulting from the processing of an image acquired by a vision system, in particular by a depth prediction model implemented by a neural network associated with a stereoscopic vision system.

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’une caméra, notamment d’une caméra grand angle.Another object of the present invention is to improve road safety, in particular by improving the operational safety of ADAS systems supplied by data obtained from a camera, in particular a wide-angle camera.

Selon un premier aspect, la présente invention concerne un procédé d’apprentissage d’un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutif associé à un système de vision stéréoscopique embarqué dans un véhicule, le système de vision stéréoscopique comprenant une première caméra et une deuxième caméra disposées de manière à acquérir chacune une image d’une scène tridimensionnelle selon un point de vue différent,
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 d’une première image et d’une deuxième image acquises par respectivement la première caméra et la deuxième caméra à un même instant temporel d’acquisition ;
- génération d’une première carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la première image et d’une deuxième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la deuxième image, les profondeurs étant prédites avec le modèle de prédiction de profondeur à partir des première et deuxième images ;
- génération d’une troisième image et d’une troisième carte de profondeurs à partir de la première image, de la première carte de profondeurs et de paramètres extrinsèques du système de vision stéréoscopique, la troisième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la troisième image, et génération d’une quatrième image et d’une quatrième carte de profondeurs à partir de la deuxième image, de la deuxième carte de profondeurs et des paramètres extrinsèques du système de vision stéréoscopique, la quatrième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la quatrième image ;
- détermination d’un masque de visibilité comme l’union d’un premier masque de visibilité et d’un deuxième masque de visibilité, chaque pixel de la troisième image résultant d’au moins un pixel de la première image appartenant au premier masque de visibilité et chaque pixel de la quatrième image résultant d’au moins un pixel de la deuxième image appartenant au deuxième masque de visibilité ;
- assignation d’une valeur nulle aux pixels des troisième et quatrième images non compris dans le masque de visibilité ;
- apprentissage du modèle de prédiction de profondeur par minimisation d’une erreur de perte, l’erreur de perte étant déterminée à partir de :
• une première erreur de consistance déterminée par comparaison des première et quatrième cartes de profondeurs,
• une deuxième erreur de consistance déterminée par comparaison des deuxième et troisième cartes de profondeurs, et
• une erreur photométrique déterminée par comparaison des première et quatrième images et par comparaison des deuxième et troisième images.
According to a first aspect, the present invention relates to a method for learning a depth prediction model implemented by a convolutional neural network associated with a stereoscopic vision system on board a vehicle, the stereoscopic vision system comprising a first camera and a second camera arranged so as to each acquire an image of a three-dimensional scene from a different point of view,
said method being implemented by at least one processor, and being characterized in that it comprises the following steps:
- reception of a first image and a second image acquired by the first camera and the second camera respectively at the same acquisition time instant;
- generating a first depth map comprising depths associated with a set of pixels of the first image and a second depth map comprising depths associated with a set of pixels of the second image, the depths being predicted with the depth prediction model from the first and second images;
- generating a third image and a third depth map from the first image, the first depth map and extrinsic parameters of the stereoscopic vision system, the third depth map comprising depths associated with a set of pixels of the third image, and generating a fourth image and a fourth depth map from the second image, the second depth map and extrinsic parameters of the stereoscopic vision system, the fourth depth map comprising depths associated with a set of pixels of the fourth image;
- determining a visibility mask as the union of a first visibility mask and a second visibility mask, each pixel of the third image resulting from at least one pixel of the first image belonging to the first visibility mask and each pixel of the fourth image resulting from at least one pixel of the second image belonging to the second visibility mask;
- assigning a zero value to the pixels of the third and fourth images not included in the visibility mask;
- learning the depth prediction model by minimizing a loss error, the loss error being determined from:
• a first consistency error determined by comparing the first and fourth depth maps,
• a second consistency error determined by comparing the second and third depth maps, and
• a photometric error determined by comparing the first and fourth images and by comparing the second and third images.

Selon une variante, la première erreur de consistance et la deuxième erreur de consistance sont déterminées respectivement par la fonction suivante :

Avec :
correspondant à la première erreur de consistance , respectivement la deuxième erreur de consistance ,
une profondeur d’un pixel obtenue de la première carte de profondeurs, respectivement de la deuxième carte de profondeurs, pour un pixel , et
une profondeur d’un pixel obtenue de la quatrième carte de profondeurs, respectivement de la troisième carte de profondeurs, pour le pixel .
According to a variant, the first consistency error and the second consistency error are determined respectively by the following function:

With :
corresponding to the first consistency error , respectively the second consistency error ,
a depth of one pixel obtained from the first depth map, respectively from the second depth map, for a pixel , And
a depth of one pixel obtained from the fourth depth map, respectively from the third depth map, for the pixel .

Selon une autre variante, l’erreur photométrique est déterminée par la fonction suivante :

Avec :
la première erreur photométrique notée , respectivement la deuxième erreur photométrique notée , étant un pixel défini par ses coordonnées dans une 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 du type d’environnement.
According to another variant, the photometric error is determined by the following function:

With :
the first photometric error noted , respectively the second photometric error noted , being a pixel defined by its coordinates in an image,
a pixel value in the first image, respectively second image,
a pixel value in the fourth image, respectively third image,
• SSIM a function that takes into account a local structure, and
a weighting factor depending in particular on the type of environment.

Selon encore une variante, l’erreur de perte est déterminée en outre à partir d’une erreur de construction déterminée par la fonction suivante :

Avec :
l’erreur de construction pour un pixel p de la troisième image, respectivement l’erreur de construction pour un pixel p de la quatrième image ,
est une profondeur d’un pixel obtenue de la troisième carte de profondeurs, respectivement obtenue de la quatriè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 des images ;
est un hyperparamètre dépendant de l’environnement dans lequel évolue le véhicule ; et
est une valeur du pixel dans la troisième image, respectivement quatrième image.
According to a further variant, the loss error is further determined from a construction error determined by the following function:

With :
the construction error for a pixel p of the third image, respectively the construction error for a pixel p of the fourth image,
is a depth of one pixel obtained from the third depth map, respectively obtained from the fourth depth map;
is a parameter matrix;
is the order of a smoothing gradient;
• an L1 norm of second-order depth gradients is calculated with =1, and =2 ;
And are the dimensions of the images;
is a hyperparameter dependent on the environment in which the vehicle operates; and
is a pixel value in the third image, respectively fourth image.

Selon une variante supplémentaire, l’erreur de perte est déterminée par la fonction suivante :

Avec :
l’erreur de perte,
la première erreur photométrique pour un pixel , étant un pixel défini par ses coordonnées dans une image,
la deuxième erreur photométrique pour le pixel ,
la première erreur de consistance pour le pixel ,
la deuxième erreur de consistance pour le pixel ,
l’erreur de construction pour un pixel de la troisième image, et
l’erreur de construction pour un pixel de la quatrième image.
According to a further variant, the loss error is determined by the following function:

With :
the loss error,
the first photometric error for a pixel , being a pixel defined by its coordinates in an image,
the second photometric error for the pixel ,
the first consistency error for the pixel ,
the second consistency error for the pixel ,
the construction error for a pixel of the third image, and
the construction error for a pixel of the fourth image.

Selon encore une variante, les troisième et quatrième cartes de profondeurs sont générées par la fonction suivante :

Avec :
les coordonnées d’un pixel de la troisième carte de profondeurs, respectivement de la quatrième carte de profondeurs,
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 première caméra, respectivement à la deuxième caméra,
une matrice intrinsèque de la deuxième caméra, respectivement à la première caméra,
une matrice extrinsèque du système de vision stéréoscopique, et
une fonction de projection dans la scène tridimensionnelle d’un pixel en fonction de ses coordonnées dans la première image, respectivement deuxième image, et de la profondeur qui lui est associée dans la première carte de profondeurs, respectivement deuxième carte de profondeurs.
Alternatively, the third and fourth depth maps are generated by the following function:

With :
the coordinates of a pixel of the third depth map, respectively of the fourth depth map,
a function to convert from homogeneous coordinates to pixel coordinates by removing one dimension from a vector,
an intrinsic matrix of the first camera, respectively to the second camera,
an intrinsic matrix of the second camera, respectively to the first camera,
an extrinsic matrix of the stereoscopic vision system, and
a projection function into the three-dimensional scene of a pixel depending on its coordinates in the first image, respectively second image, and the depth which is associated with it in the first depth map, respectively second depth map.

Selon une encore autre variante, des axes optiques des première et deuxième caméras ne sont pas coplanaires.According to yet another variant, optical axes of the first and second cameras are not coplanar.

Selon un deuxième aspect, la présente invention concerne un dispositif configuré pour apprendre un modèle de prédiction de 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.According to a second aspect, the present invention relates to a device configured to learn a depth prediction model by a vision system on board a vehicle, the device comprising a memory associated with at least one processor configured to implement the steps of the method according to the first aspect of the present 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.According to a third aspect, the present invention relates to a vehicle, for example of the automobile type, comprising a device as described above according to the second aspect of the present 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.According to a fourth aspect, the present invention relates to a computer program which comprises instructions adapted for executing the steps of the method according to the first aspect of the present invention, in particular when the computer program is executed by at least one processor.

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.Such a computer program may use any programming language and be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.

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.According to a fifth aspect, the present invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for carrying out the steps of the method according to the first aspect of the present 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.On the one hand, the recording medium can be any entity or device capable of storing the program. For example, the medium may include a storage medium, such as a ROM memory, a CD-ROM or a microelectronic circuit type ROM memory, or a magnetic recording medium or a hard disk.

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.Furthermore, this recording medium may also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or hertzian radio or by self-directed laser beam or by other means. The computer program according to the present invention may in particular be downloaded from a network such as the 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.Alternatively, the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to perform or to be used in performing the method in question.

Brève description des figuresBrief description of the 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 à 4 annexées, sur lesquelles :Other characteristics and advantages of the present invention will emerge from the description of the particular and non-limiting exemplary embodiments of the present invention below, with reference to the appended figures 1 to 4, in which:

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. 1 schematically illustrates a vision system equipping a vehicle, according to a particular and non-limiting exemplary embodiment of the present invention;

FIG. 2illustre un organigramme des différentes étapes d’un procédé 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 le véhicule de laFIG. 1, selon un exemple de réalisation particulier et non limitatif de la présente invention ; FIG. 2 illustrates a flowchart of the different steps of a method for determining the depth of a pixel in an image using a depth prediction model associated with a vision system embedded in the vehicle of the FIG. 1 , according to a particular and non-limiting embodiment of the present invention;

FIG. 3illustre un organigramme des différentes étapes d’un procédé d’apprentissage du modèle de prédiction de profondeur utilisé dans le procédé de laFIG. 2, selon un exemple de réalisation particulier et non limitatif de la présente invention ; et FIG. 3 illustrates a flowchart of the different steps of a process for learning the depth prediction model used in the process of the FIG. 2 , according to a particular and non-limiting embodiment of the present invention; and

FIG. 4illustre schématiquement un dispositif configuré pour apprendre un modèle de prédiction de profondeur 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. FIG. 4 schematically illustrates a device configured to learn a depth prediction model by an on-board vision system in the vehicle of the FIG. 1 , according to a particular and non-limiting embodiment of the present invention.

Description des exemples de réalisationDescription of examples of implementation

Un procédé et un dispositif d’apprentissage d’un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutif associé à un système de vision stéréoscopique embarqué dans un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 4. 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.A method and a device for learning a depth prediction model implemented by a convolutional neural network associated with a stereoscopic vision system on board a vehicle will now be described in what follows with joint reference to figures 1 to 4. The same elements are identified with the same reference signs throughout the description which follows.

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.The terms “first(s)”, “second(s)” (or “first(s)”, “second(s)”), etc. are used in this document by arbitrary convention to identify and distinguish different elements (such as operations, means, etc.) implemented in the embodiments described below. Such elements may be distinct or correspond to a single element, depending on the embodiment.

Pour l’ensemble de la description, on entend par réception d’une image la réception de données représentatives d’une image. De même pour la génération d’une image, on entend la génération de données représentatives d’une image et pour la génération d’une carte de profondeurs la génération de données représentatives d’une carte de profondeurs. Ces raccourcis ont uniquement pour but de simplifier la description, néanmoins, les procédés étant mis en œuvre par un ou plusieurs processeurs, il est évident que les données d’entrée et de sortie des différentes étapes d’un procédé soient des données informatiques.For the entire description, reception of an image means the reception of data representative of an image. Similarly, generation of an image means the generation of data representative of an image and generation of a depth map means the generation of data representative of a depth map. These shortcuts are only intended to simplify the description; however, since the processes are implemented by one or more processors, it is obvious that the input and output data of the different stages of a process are computer data.

Selon un exemple particulier et non limitatif de réalisation de la présente invention, un modèle de prédiction de profondeur associé à un système de vision stéréoscopique comprenant deux caméras est appris dans une phase d’apprentissage.According to a particular and non-limiting example of embodiment of the present invention, a depth prediction model associated with a stereoscopic vision system comprising two cameras is learned in a learning phase.

En effet, le procédé relatif à la phase d’apprentissage comprend la génération de cartes de profondeurs associées à des images acquises par chaque caméra du système de vision et la génération d’autres images et d’autres cartes de profondeurs à partir des images reçues et des cartes de profondeurs par changement de référentiel.Indeed, the method relating to the learning phase includes the generation of depth maps associated with images acquired by each camera of the vision system and the generation of other images and other depth maps from the received images and the depth maps by changing the reference frame.

Un masque de visibilité est ensuite déterminé à partir des images générées et une valeur nulle est assignée aux pixels des troisième et quatrième images non compris dans le masque de visibilité.A visibility mask is then determined from the generated images and a zero value is assigned to the pixels in the third and fourth images not included in the visibility mask.

Le modèle de prédiction de profondeur est alors appris par minimisation d’une erreur de perte déterminée par comparaison des cartes de profondeurs aux autres cartes de profondeurs et par comparaison des images reçues aux images générées.The depth prediction model is then learned by minimizing a loss error determined by comparing the depth maps to other depth maps and by comparing the received images to the generated images.

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.There FIG. 1 schematically illustrates a vision system equipping a vehicle, according to a particular and non-limiting exemplary embodiment of the present invention.

Un tel environnement 1 correspond, par exemple, à un environnement routier formé d’un réseau de routes accessibles pour le véhicule 10.Such an environment 1 corresponds, for example, to a road environment formed of a network of roads accessible to the vehicle 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.In this example, the vehicle 10 corresponds to a vehicle with a thermal engine, an electric motor(s) or a hybrid vehicle with a thermal engine and one or more electric motors. The vehicle 10 thus corresponds, for example, to a land vehicle such as a car, a truck, a bus, a motorcycle. Finally, the vehicle 10 corresponds to an autonomous vehicle or not, that is to say a vehicle traveling according to a determined level of autonomy or under the total supervision of the driver.

Le véhicule 10 comprend avantageusement au moins deux caméras embarquées, une première caméra 11 et une deuxième caméra 12, configurées pour acquérir des images d’une scène tridimensionnelle se déroulant dans l’environnement du véhicule 10 depuis des positions d’observation distinctes. La première caméra 11 et la deuxième caméra 12 forment un système de vision stéréoscopique lorsqu’elles sont utilisées ensemble comme illustré dans laFIG. 1. La première caméra 11 forme un système de vision monoscopique lorsqu’elle est utilisée seule, de même la deuxième caméra 12 forme un autre système de vision monoscopique lorsqu’elle est utilisée seule. La présente invention s’étend cependant à tout système de vision comprenant au moins deux caméras, par exemple 2, 3 ou 5 caméras.The vehicle 10 advantageously comprises at least two on-board cameras, a first camera 11 and a second camera 12, configured to acquire images of a three-dimensional scene taking place in the environment of the vehicle 10 from distinct observation positions. The first camera 11 and the second camera 12 form a stereoscopic vision system when used together as illustrated in the FIG. 1 . The first camera 11 forms a monoscopic vision system when used alone, likewise the second camera 12 forms another monoscopic vision system when used alone. The present invention however extends to any vision system comprising at least two cameras, for example 2, 3 or 5 cameras.

Les paramètres intrinsèques de la première caméra 11 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 première caméra 11 aux coordonnées pixel dans une image acquise par la première caméra 11. Ces paramètres ne changent pas si l'on déplace la première caméra 11. Les paramètres intrinsèques de la première caméra 11 comprennent notamment une première distance focale f1 associée à la première caméra 11.The intrinsic parameters of the first camera 11 characterize the transformation which associates, for an image point, subsequently called a “point”, its three-dimensional coordinates in the reference frame of the first camera 11 with the pixel coordinates in an image acquired by the first camera 11. These parameters do not change if the first camera 11 is moved. The intrinsic parameters of the first camera 11 include in particular a first focal length f1 associated with the first camera 11.

Les paramètres intrinsèques de la deuxième caméra 12 caractérisent, quant à eux, la transformation qui associe, pour un point image, ses coordonnées tridimensionnelles dans le référentiel de la deuxième caméra 12 aux coordonnées pixel dans une image acquise par la deuxième caméra 12. Ces paramètres ne changent pas si l'on déplace la deuxième caméra 12. Les paramètres intrinsèques de la deuxième caméra 12 comprennent notamment une deuxième distance focale f2 associée à la deuxième caméra 12.The intrinsic parameters of the second camera 12 characterize, for their part, the transformation which associates, for an image point, its three-dimensional coordinates in the reference frame of the second camera 12 with the pixel coordinates in an image acquired by the second camera 12. These parameters do not change if the second camera 12 is moved. The intrinsic parameters of the second camera 12 include in particular a second focal length f2 associated with the second camera 12.

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.Distortions, which are due to imperfections in the optical system such as defects in the shape and positioning of camera lenses, will deflect the light beams and therefore induce a positioning deviation for the projected point compared to an ideal model. It is then possible to complete the camera model by introducing the three distortions that generate the most effects, namely radial, decentering and prismatic distortions, induced by defects in curvature, parallelism of the lenses and coaxiality of the optical axes. In this example, the cameras are assumed to be perfect, that is to say that the distortions are not taken into account, that their correction is processed at the time of image acquisition or at the time of calibration.

Ces deux caméras 11, 12 sont disposées de manière à acquérir chacune une image d’une scène selon un point de vue différent, le premier 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, le deuxième point de vue est par exemple localisé sur ou dans le rétroviseur droit du véhicule 10 ou en haut du pare-brise du véhicule 10. Dans le cas où les deux caméras sont situées en haut du pare-brise du véhicule, celles-ci sont alors placées à une certaine distance. Dans cet exemple, la première caméra 11 est située en haut du pare-brise du véhicule 10, la deuxième caméra 12 est située dans le rétroviseur droit du véhicule 10.These two cameras 11, 12 are arranged so as to each acquire an image of a scene from a different point of view, the first point of view is for example located on or in the left rearview mirror of the vehicle 10 or at the top of the windshield of the vehicle 10, the second point of view is for example located on or in the right rearview mirror of the vehicle 10 or at the top of the windshield of the vehicle 10. In the case where the two cameras are located at the top of the windshield of the vehicle, they are then placed at a certain distance. In this example, the first camera 11 is located at the top of the windshield of the vehicle 10, the second camera 12 is located in the right rearview mirror of the vehicle 10.

Un premier repère est associé à la première caméra 11 :
- la direction de l’axe x est définie horizontale et normale à l’axe optique C1 de la première caméra 11. La distance B séparant le centre optique de la première caméra 11 de la projection du centre optique de la deuxième caméra 12 sur le plan horizontal passant par le centre optique de la première caméra 11 est appelée base de référence (en anglais « baseline ») ;
- la direction de l’axe y est définie verticale et normale à l’axe optique C1 de la première caméra 11 ;
- la direction de l’axe z est définie orthogonale aux directions des axes x et y.
Les trois axes x, y et z forment ainsi un repère orthonormé.
A first marker is associated with the first camera 11:
- the direction of the x axis is defined horizontal and normal to the optical axis C1 of the first camera 11. The distance B separating the optical center of the first camera 11 from the projection of the optical center of the second camera 12 on the horizontal plane passing through the optical center of the first camera 11 is called the reference base (in English “baseline”);
- the direction of the y axis is defined vertical and normal to the optical axis C1 of the first camera 11;
- the direction of the z axis is defined orthogonal to the directions of the x and y axes.
The three axes x, y and z thus form an orthonormal reference frame.

L’axe optique C1 de la première caméra 11 et l’axe optique C2 de la deuxième caméra 12 ne sont pas nécessairement parallèles ni même compris dans un même plan.The optical axis C1 of the first camera 11 and the optical axis C2 of the second camera 12 are not necessarily parallel or even included in the same plane.

Selon une variante, des axes optiques des première et deuxième caméras ne sont pas coplanairesAccording to a variant, optical axes of the first and second cameras are not coplanar.

Les paramètres extrinsèques liés à la position des caméras 11, 12 sont les paramètres suivants :
- trois translations dans les directions x, y et z : Tx, Ty et Tz constituant le vecteur translation T ; et
- trois rotations dans les directions x, y et z : θx, θy et θz.
The extrinsic parameters related to the position of cameras 11, 12 are the following parameters:
- three translations in the x, y and z directions: Tx, Ty and Tz constituting the translation vector T; and
- three rotations in the x, y and z directions: θx, θy and θz.

Une matrice extrinsèque du système de vision comprend alors les paramètres extrinsèques précédemment définis.An extrinsic matrix of the vision system then includes the previously defined extrinsic parameters.

Les paramètres extrinsèques sont déterminés, par exemple, lors d’une phase de calibration du système de vision stéréoscopique comprenant la première caméra 11 et la deuxième caméra 12.The extrinsic parameters are determined, for example, during a calibration phase of the stereoscopic vision system comprising the first camera 11 and the second camera 12.

Une contrainte principale du système de vision stéréoscopique utilisé dans l’automobile est, par exemple, la grande distance entre les deux caméras. En effet, pour pouvoir couvrir une plage de mesure de 200 mètres, la base de référence doit atteindre 60cm pour les caméras couramment utilisées dans ce domaine.A major constraint of the stereoscopic vision system used in automobiles is, for example, the large distance between the two cameras. Indeed, to be able to cover a measuring range of 200 meters, the reference base must reach 60 cm for the cameras commonly used in this field.

Les deux caméras 11, 12 font l’acquisition d’images d’une scène se situant devant le véhicule 10, la première caméra 11 couvrant seule un premier champ d’acquisition 13, la deuxième caméra 12 couvrant seule un deuxième champ d’acquisition 14 et les deux caméras 11, 12 couvrant toutes deux un troisième champ d’acquisition 15. Les premier et troisième champs d’acquisition 13, 15 permettent ainsi une vision monoscopique de la scène par la première caméra 11, les deuxième et troisième champs d’acquisition 14, 15 permettent une vision monoscopique de la scène par la deuxième caméra 12 et le troisième champ d’acquisition 15 permet une vision stéréoscopique de la scène par le système de vision stéréoscopique composé des deux caméras 11, 12.The two cameras 11, 12 acquire images of a scene located in front of the vehicle 10, the first camera 11 covering only a first acquisition field 13, the second camera 12 covering only a second acquisition field 14 and the two cameras 11, 12 both covering a third acquisition field 15. The first and third acquisition fields 13, 15 thus allow a monoscopic view of the scene by the first camera 11, the second and third acquisition fields 14, 15 allow a monoscopic view of the scene by the second camera 12 and the third acquisition field 15 allows a stereoscopic view of the scene by the stereoscopic vision system composed of the two cameras 11, 12.

Un obstacle 18 est placé dans le champ d’acquisition des caméras, par exemple dans le troisième champ d’acquisition 15. La présence de l’obstacle 18 définit un champ d’occlusion pour le système de vision stéréoscopique composé ici des trois champs 16, 17 et 19.An obstacle 18 is placed in the acquisition field of the cameras, for example in the third acquisition field 15. The presence of the obstacle 18 defines an occlusion field for the stereoscopic vision system composed here of the three fields 16, 17 and 19.

Parmi ces trois champs, le champ 16 est visible depuis la deuxième caméra 12. La partie de la scène présente dans ce champ 16 est donc observable à l’aide du système de vision monoscopique comprenant la deuxième caméra 12.Among these three fields, field 16 is visible from the second camera 12. The part of the scene present in this field 16 is therefore observable using the monoscopic vision system comprising the second camera 12.

Le champ 17 est quant à lui visible depuis la première caméra 11. La partie de la scène présente dans ce champ 17 est donc observable à l’aide du système de vision monoscopique comprenant la première caméra 11.Field 17 is visible from the first camera 11. The part of the scene present in this field 17 is therefore observable using the monoscopic vision system comprising the first camera 11.

Enfin, le champ 19 n’est visible par aucune des caméras. La partie de la scène présente dans ce champ 19 n’est donc pas observable.Finally, field 19 is not visible to any of the cameras. The part of the scene present in this field 19 is therefore not observable.

Selon un exemple de réalisation particulier, le champ de vision de la deuxième caméra 12 couvre au moins la moitié du champ de vision de la première caméra 11.According to a particular exemplary embodiment, the field of vision of the second camera 12 covers at least half of the field of vision of the first camera 11.

Il est évident qu’il est possible d’utiliser un tel système de vision stéréoscopique 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.It is obvious that it is possible to use such a stereoscopic vision system to take images of scenes located on the sides or behind the vehicle 10 by equipping it with differently placed and oriented cameras.

Les images acquises par les caméras 11, 12 à un instant temporel d’acquisition se présentent sous la forme de données représentant des pixels caractérisés par :
- des coordonnées dans chaque 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é).
The images acquired by the cameras 11, 12 at an acquisition time instant are presented in the form of data representing pixels characterized by:
- coordinates in each image; and
- data relating to the colors and brightness of objects in the observed scene in the form, for example, of RGB colorimetric coordinates (from the English “Red Green Blue”) or TSL (Tone, Saturation, Brightness).

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. 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 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. Un point image précédemment présenté est ainsi un point d’une surface d’un objet de la scène tridimensionnelle.Each pixel in the acquired image represents an object in the three-dimensional scene present in the camera's field of vision. In fact, a pixel in the acquired image is the smallest visible unit and corresponds to a luminous point resulting from the emission or reflection of light by a physical object present in the three-dimensional scene. When light strikes this object, photons are emitted or reflected, captured by a photosensitive sensor in the camera after passing through its lens. This sensor divides the three-dimensional scene into a grid of pixels. Each pixel records the light intensity at a specific location, thus capturing visual details. The combination of millions of pixels creates an image faithfully representing the physical object observed by the camera. An image point previously presented is thus a point on a surface of an object in the three-dimensional scene.

Les images acquises par les caméras 11, 12 représentent des vues d’une même scène prises à des points de vue différents, les positions des caméras étant distinctes. Sur cette scène 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.
The images acquired by cameras 11, 12 represent views of the same scene taken from different viewpoints, the positions of the cameras being distinct. On this scene are for example:
- buildings;
- road infrastructure;
- other stationary users, for example a parked vehicle; and/or
- other mobile users, for example another vehicle, a cyclist or a moving pedestrian.

Selon un exemple de réalisation particulier, un champ de vision de la première caméra 11 couvre au moins la moitié d’un champ de vision de la deuxième caméra 12 et un champ de vision de la deuxième caméra 12 couvre au moins la moitié d’un champ de vision de la première caméra 11. En d’autres termes, plus de la moitié des pixels d’une image acquise par la première caméra 11 correspondent à un objet de la scène tridimensionnelle vu par la deuxième caméra 12, des pixels d’une image acquise par la deuxième caméra 12 correspondant également à cet objet de la scène tridimensionnelle. De même, plus de la moitié des pixels d’une image acquise par la deuxième caméra 12 correspondent à un objet de la scène tridimensionnelle vu par la première caméra 11, des pixels d’une image acquise par la première caméra 11 correspondant également à cet objet de la scène tridimensionnelle.According to a particular exemplary embodiment, a field of view of the first camera 11 covers at least half of a field of view of the second camera 12 and a field of view of the second camera 12 covers at least half of a field of view of the first camera 11. In other words, more than half of the pixels of an image acquired by the first camera 11 correspond to an object of the three-dimensional scene seen by the second camera 12, pixels of an image acquired by the second camera 12 also corresponding to this object of the three-dimensional scene. Similarly, more than half of the pixels of an image acquired by the second camera 12 correspond to an object of the three-dimensional scene seen by the first camera 11, pixels of an image acquired by the first camera 11 also corresponding to this object of the three-dimensional scene.

Les images acquises par la première caméra 11 et par la deuxième caméra 12 sont envoyées à un calculateur d’un dispositif équipant le véhicule 10 ou stockées dans une mémoire d’un dispositif accessible à un calculateur d’un dispositif équipant le véhicule 10.The images acquired by the first camera 11 and by the second camera 12 are sent to a computer of a device equipping the vehicle 10 or stored in a memory of a device accessible to a computer of a device equipping the vehicle 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.A method for determining a depth by a vision system on board the vehicle 10 is advantageously implemented by the vehicle 10, that is to say by a processor, a computer or a combination of computers of the on-board system of the vehicle 10, for example by the computer(s) in charge of the vision system of the vehicle 10.

LaFIG. 2illustre un organigramme des différentes étapes d’un procédé 2 de détermination d’une profondeur d’un pixel d’une image par 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, 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 procédé 2 est par exemple mis en œuvre par un dispositif du système de vision embarqué dans le véhicule 10 ou par le dispositif 4 de laFIG. 4.There FIG. 2 illustrates a flowchart of the different steps of a method 2 for determining the depth of a pixel of an image by depth prediction model implemented by a convolutional neural network associated with a vision system embedded in a vehicle, for example in the vehicle 10 of the FIG. 1 , according to a particular and non-limiting embodiment of the present invention. The method 2 is for example implemented by a device of the vision system on board the vehicle 10 or by the device 4 of the FIG. 4 .

Dans une étape 21, des données représentatives d’une image acquise par la première caméra 11 et d’une image acquise par la deuxième caméra 12 sont reçues.In a step 21, data representative of an image acquired by the first camera 11 and of an image acquired by the second camera 12 are received.

Dans une étape 22, des profondeurs associées à un ensemble de pixels d’une des images reçues sont déterminées par le modèle de prédiction de profondeur à partir des deux images reçues.In a step 22, depths associated with a set of pixels of one of the received images are determined by the depth prediction model from the two received images.

Chaque profondeur déterminée correspond alors à une distance séparant le véhicule 10 ou une partie du véhicule 10 d’un objet de la scène tridimensionnelle auquel est associé un pixel, la détermination d’une profondeur d’un pixel correspondant alors à un mesurage d’une distance séparant un objet du véhicule embarquant le système de vision.Each determined depth then corresponds to a distance separating the vehicle 10 or a part of the vehicle 10 from an object of the three-dimensional scene with which a pixel is associated, the determination of a depth of a pixel then corresponding to a measurement of a distance separating an object from the vehicle carrying the vision system.

Si l’ADAS utilise ces profondeurs ou distances 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.If the ADAS uses these depths or distances as input data to determine the distance between a part of the vehicle 10, for example the front bumper, and another user present on the road, the ADAS is then able to determine this distance precisely. For example, if the ADAS has the function of acting on a braking system of the vehicle 10 in the event of a risk of collision with another road user and the distance separating the vehicle 10 from this same road user decreases significantly, then the ADAS is able to detect this sudden approach and act on the braking system of the vehicle 10 to avoid a possible accident.

LaFIG. 3illustre un organigramme des différentes étapes d’un procédé d’apprentissage du modèle de prédiction de profondeurs utilisé dans un procédé de détermination d’une profondeur d’un pixel d’une image, par exemple dans le procédé 2 de laFIG. 2, selon un exemple de réalisation particulier et non limitatif de la présente invention.There FIG. 3 illustrates a flowchart of the different steps of a method for learning the depth prediction model used in a method for determining the depth of a pixel of an image, for example in method 2 of the FIG. 2 , according to a particular and non-limiting embodiment of the present invention.

Le procédé d’apprentissage 3 est par exemple mis en œuvre par le dispositif embarqué dans le véhicule 10 mettant en œuvre le procédé de détermination d’une profondeur par le système de vision embarqué dans un véhicule ou par le dispositif 4 de laFIG. 4.The learning method 3 is for example implemented by the device on board the vehicle 10 implementing the method for determining a depth by the vision system on board a vehicle or by the device 4 of the FIG. 4 .

Dans une étape 31, une première image et une deuxième image sont reçues, la première image étant acquise par la première caméra 11 à un instant temporel d’acquisition et la deuxième image étant acquise par la deuxième caméra au même instant temporel d’acquisition.In a step 31, a first image and a second image are received, the first image being acquired by the first camera 11 at an acquisition time instant and the second image being acquired by the second camera at the same acquisition time instant.

Selon un exemple de réalisation particulier, les première image et deuxième image sont de même définition, c’est-à-dire qu’elles comportent un même nombre de pixels, ont un même nombre de pixels selon leur hauteur et un même nombre de pixels selon leur largeur.According to a particular exemplary embodiment, the first image and second image have the same definition, that is to say they comprise the same number of pixels, have the same number of pixels according to their height and the same number of pixels according to their width.

Selon un autre exemple de réalisation particulier, les première image et deuxième image ne sont pas de même définition. Une étape additionnelle consiste alors à les redimensionner ou à les rogner pour obtenir une première image et une deuxième image de même définition.According to another particular embodiment, the first image and second image do not have the same definition. An additional step then consists of resizing or cropping them to obtain a first image and a second image of the same definition.

Dans une étape 32, une première carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la première image est déterminée. Les profondeurs associées aux pixels de la première image sont prédites avec le modèle de prédiction de profondeur à partir des première et deuxième images.In a step 32, a first depth map comprising depths associated with a set of pixels of the first image is determined. The depths associated with the pixels of the first image are predicted with the depth prediction model from the first and second images.

De manière similaire, une deuxième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la deuxième image est déterminée. Les profondeurs associées aux pixels de la deuxième image sont aussi prédites avec le modèle de prédiction de profondeur à partir des première et deuxième images.Similarly, a second depth map comprising depths associated with a set of pixels of the second image is determined. The depths associated with the pixels of the second image are also predicted with the depth prediction model from the first and second images.

Le modèle de prédiction de profondeur, mis en œuvre par un réseau de neurones convolutif, est connu de l’homme du métier et est par exemple présenté dans le document 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 adapté pour tout système de vision stéréoscopique y compris ceux comprenant des caméras dont les axes optiques ne sont pas compris dans un même plan.The depth prediction model, implemented by a convolutional neural network, is known to those skilled in the art and is for example presented in the document “Unifying Flow, Stereo and Depth Estimation” written by Haofei Xu, Jing Zhang, Jianfei Cai, Hamid Rezatofighi, Fisher Yu, Dacheng Tao and Andreas Geiger, published in July 2023, suitable for any stereoscopic vision system including those comprising cameras whose optical axes are not included in the same plane.

Ainsi, une profondeur prédite est associée à chaque pixel d’un ensemble de pixels de la première image, la première carte de profondeurs comprenant les coordonnées de chaque pixel de l’ensemble de pixels de la première image et une profondeur associée à ce chaque pixel enregistrées par exemple dans une table de correspondance, par exemple dans une mémoire accessible au processeur mettant en œuvre ce procédé d’apprentissage 3. Cette table de correspondance contient alors des couples (coordonnées d’un pixel de l’image 1 ; profondeur prédite pour ce pixel).Thus, a predicted depth is associated with each pixel of a set of pixels of the first image, the first depth map comprising the coordinates of each pixel of the set of pixels of the first image and a depth associated with each pixel recorded for example in a correspondence table, for example in a memory accessible to the processor implementing this learning method 3. This correspondence table then contains pairs (coordinates of a pixel of image 1; predicted depth for this pixel).

De manière similaire, une profondeur prédite est associée à chaque pixel d’un ensemble de pixels de la deuxième image, la deuxième carte de profondeurs comprenant les coordonnées de chaque pixel de l’ensemble de pixels de la deuxième image et une profondeur associée à ce chaque pixel enregistrées par exemple dans une table de correspondance, par exemple dans une mémoire accessible au processeur mettant en œuvre ce procédé d’apprentissage 3. Cette table de correspondance contient alors des couples (coordonnées d’un pixel de l’image 2 ; profondeur prédite pour ce pixel).Similarly, a predicted depth is associated with each pixel of a set of pixels of the second image, the second depth map comprising the coordinates of each pixel of the set of pixels of the second image and a depth associated with each pixel recorded for example in a correspondence table, for example in a memory accessible to the processor implementing this learning method 3. This correspondence table then contains pairs (coordinates of a pixel of image 2; predicted depth for this pixel).

Dans une étape 33, une troisième image et une troisième carte de profondeurs sont générées à partir de la première image, de la première carte de profondeurs et de paramètres extrinsèques du système de vision stéréoscopique, la troisième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la troisième image.In a step 33, a third image and a third depth map are generated from the first image, the first depth map and extrinsic parameters of the stereoscopic vision system, the third depth map comprising depths associated with a set of pixels of the third image.

La génération de la troisième carte de profondeurs à partir de la première image, de la première carte de profondeurs et de paramètres extrinsèques du système de vision stéréoscopique consiste en :
• la détermination de coordonnées spatiales dans la scène tridimensionnelle, dans un référentiel associé à la première caméra 11, d’un point associé à un premier pixel de la première carte de profondeurs à partir des coordonnées du premier pixel dans la première image et de la profondeur qui est associée à ce premier pixel, ses coordonnées et profondeur étant enregistrées dans la première carte de profondeurs. Il est à noter que les coordonnées du premier pixel dans la première image comprenant deux composantes tandis que les coordonnées spatiales du point associé au premier pixel comprennent trois composantes ;
• la détermination de coordonnées spatiales dans la scène tridimensionnelle du point associé au premier pixel dans un référentiel associé à la deuxième caméra 12, en d’autres termes un changement de référentiel depuis celui associé à la première caméra 11 vers celui associé à la deuxième caméra 12, en utilisant les paramètres extrinsèques du système de vision stéréoscopique ; et
• la projection du point associé au pixel dans le plan image de la deuxième caméra 12, ce plan image correspondant à celui de la deuxième image, permettant de déterminer des coordonnées d’arrivée du premier pixel de la première image dans une image telle que la deuxième caméra 12 l’aurait acquise. Le plan image d’une caméra correspond à un plan défini dans le référentiel de la caméra, normal à l’axe optique de la caméra et situé à la première distance focale de la caméra.
La troisième carte de profondeurs comprend alors les coordonnées d’arrivée des premiers pixels et la profondeur associée au premier pixel.
The generation of the third depth map from the first image, the first depth map and extrinsic parameters of the stereoscopic vision system consists of:
• determining spatial coordinates in the three-dimensional scene, in a reference system associated with the first camera 11, of a point associated with a first pixel of the first depth map from the coordinates of the first pixel in the first image and the depth which is associated with this first pixel, its coordinates and depth being recorded in the first depth map. It should be noted that the coordinates of the first pixel in the first image comprise two components while the spatial coordinates of the point associated with the first pixel comprise three components;
• the determination of spatial coordinates in the three-dimensional scene of the point associated with the first pixel in a reference frame associated with the second camera 12, in other words a change of reference frame from that associated with the first camera 11 to that associated with the second camera 12, using the extrinsic parameters of the stereoscopic vision system; and
• the projection of the point associated with the pixel in the image plane of the second camera 12, this image plane corresponding to that of the second image, making it possible to determine the arrival coordinates of the first pixel of the first image in an image such as the second camera 12 would have acquired it. The image plane of a camera corresponds to a plane defined in the frame of reference of the camera, normal to the optical axis of the camera and located at the first focal length of the camera.
The third depth map then includes the arrival coordinates of the first pixels and the depth associated with the first pixel.

Les coordonnées d’arrivée d’un pixel dans la troisième carte de profondeurs sont ainsi déterminées et sont les mêmes que les coordonnées d’arrivée d’un pixel dans la troisième image. Dans la troisième carte de profondeurs, la profondeur d’un pixel correspond à une profondeur déterminée à partir de profondeurs de pixels de la première carte de profondeurs, tandis que dans la troisième image, la valeur d’un pixel correspond à une valeur déterminée à partir de valeurs de pixels de la première image.The arrival coordinates of a pixel in the third depth map are thus determined and are the same as the arrival coordinates of a pixel in the third image. In the third depth map, the depth of a pixel corresponds to a depth determined from pixel depths in the first depth map, while in the third image, the value of a pixel corresponds to a value determined from pixel values in the first image.

De manière similaire, une quatrième image et une quatrième carte de profondeurs sont générées à partir de la deuxième image, de la deuxième carte de profondeurs et des paramètres extrinsèques du système de vision stéréoscopique, la quatrième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la quatrième image.Similarly, a fourth image and a fourth depth map are generated from the second image, the second depth map, and extrinsic parameters of the stereoscopic vision system, the fourth depth map comprising depths associated with a set of pixels of the fourth image.

Selon un exemple de réalisation particulier, la troisième carte de profondeurs est générée par la fonction suivante : According to a particular exemplary embodiment, the third depth map is generated by the following function:

Avec :
les coordonnées d’un pixel de la troisième carte de profondeurs,
une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur,
la matrice intrinsèque de la première caméra 11,
la matrice intrinsèque de la deuxième caméra 12,
une matrice extrinsèque du système de vision stéréoscopique, et
une fonction de projection dans la scène tridimensionnelle d’un premier pixel en fonction de ses coordonnées dans la première image et de la profondeur qui lui est associée dans la première carte de profondeurs.
Cette fonction détermine ainsi les coordonnées d’arrivée d’un pixel d’une image acquise par la première caméra 11 dans une image telle qu’elle serait acquise par la deuxième caméra 12.
With :
the coordinates of a pixel of the third depth map,
a function to convert from homogeneous coordinates to pixel coordinates by removing one dimension from a vector,
the intrinsic matrix of the first camera 11,
the intrinsic matrix of the second camera 12,
an extrinsic matrix of the stereoscopic vision system, and
a projection function into the three-dimensional scene of a first pixel depending on its coordinates in the first image and the depth which is associated with it in the first depth map.
This function thus determines the arrival coordinates of a pixel of an image acquired by the first camera 11 in an image as it would be acquired by the second camera 12.

La détermination de la quatrième carte de profondeurs est similaire à la détermination de la troisième carte de profondeurs, les caméras étant notamment inversées. Les coordonnées d’arrivée d’un pixel dans la quatrième carte de profondeurs sont ainsi déterminées et sont les mêmes que les coordonnées d’arrivée d’un pixel dans la quatrième image. Dans la quatrième carte de profondeurs, la profondeur d’un pixel correspond à une profondeur déterminée à partir de profondeurs de pixels de la deuxième carte de profondeurs, tandis que dans la quatrième image, la valeur d’un pixel correspond à une valeur d’un pixel déterminée à partir de valeurs de pixels de la deuxième image.The determination of the fourth depth map is similar to the determination of the third depth map, in particular the cameras are reversed. The arrival coordinates of a pixel in the fourth depth map are thus determined and are the same as the arrival coordinates of a pixel in the fourth image. In the fourth depth map, the depth of a pixel corresponds to a depth determined from pixel depths in the second depth map, while in the fourth image, the value of a pixel corresponds to a value of a pixel determined from pixel values in the second image.

Ainsi, la fonction précédente permettant de déterminer les coordonnées d’arrivée d’un premier pixel de la première carte de profondeurs est applicable pour déterminer les coordonnées d’arrivée d’un deuxième pixel de la deuxième carte de profondeurs, la fonction étant adaptée comme suit : Thus, the previous function for determining the arrival coordinates of a first pixel of the first depth map is applicable for determining the arrival coordinates of a second pixel of the second depth map, the function being adapted as follows:

Avec :
les coordonnées d’un pixel de la quatrième carte de profondeurs,
une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur,
la matrice intrinsèque de la deuxième caméra 12,
la matrice intrinsèque de la première caméra 11,
une matrice extrinsèque du système de vision stéréoscopique, et
une fonction de projection dans la scène tridimensionnelle d’un deuxième pixel en fonction de ses coordonnées dans la deuxième image et de de la profondeur qui lui est associée dans la deuxième carte de profondeurs.
Cette fonction détermine ainsi les coordonnées d’arrivée d’un pixel d’une image acquise par la deuxième caméra 12 dans une image telle qu’elle serait acquise par la première caméra 11.
With :
the coordinates of a pixel of the fourth depth map,
a function to convert from homogeneous coordinates to pixel coordinates by removing one dimension from a vector,
the intrinsic matrix of the second camera 12,
the intrinsic matrix of the first camera 11,
an extrinsic matrix of the stereoscopic vision system, and
a projection function into the three-dimensional scene of a second pixel depending on its coordinates in the second image and the depth which is associated with it in the second depth map.
This function thus determines the arrival coordinates of a pixel of an image acquired by the second camera 12 in an image as it would be acquired by the first camera 11.

Selon une variante de réalisation, des valeurs associées à des pixels de la troisième et de la quatrième images, c’est-à-dire des valeurs colorimétriques des pixels des troisième et quatrième images, sont obtenues par interpolation des valeurs des pixels de la première image et respectivement de la deuxième image à l’aide d’une fonction telle que torch.nn.functional.grid_sample() en langage Python® qui requiert pour arguments les coordonnées d’arrivée des pixels des troisième et quatrième images et les valeurs des pixels antécédents dans la première image, respectivement deuxième image.According to an alternative embodiment, values associated with pixels of the third and fourth images, that is to say colorimetric values of the pixels of the third and fourth images, are obtained by interpolation of the values of the pixels of the first image and respectively of the second image using a function such as torch.nn.functional.grid_sample() in Python® language which requires as arguments the arrival coordinates of the pixels of the third and fourth images and the values of the preceding pixels in the first image, respectively second image.

Dans une étape 34, un masque de visibilité est déterminé. Ce masque de visibilité est comme l’union d’un premier masque de visibilité et d’un deuxième masque de visibilité, chaque pixel de la troisième image résultant d’au moins un pixel de la première image appartenant au premier masque de visibilité et chaque pixel de la quatrième image résultant d’au moins un pixel de la deuxième image appartenant au deuxième masque de visibilité. En d’autres termes, le premier masque de visibilité inclue l’ensemble des pixels de la troisième image qui ont un antécédant dans la première image lors de l’étape de génération de la troisième image, c’est-à-dire l’ensemble de pixels de la troisième image dont les coordonnées sont des coordonnées d’arrivée d’un pixel de la première image. De même, le deuxième masque de visibilité inclue l’ensemble des pixels de la quatrième image qui ont un antécédant dans la deuxième image lors de l’étape de génération de la quatrième image, c’est-à-dire l’ensemble de pixels de la quatrième image dont les coordonnées sont des coordonnées d’arrivée d’un pixel de la deuxième image.In a step 34, a visibility mask is determined. This visibility mask is like the union of a first visibility mask and a second visibility mask, each pixel of the third image resulting from at least one pixel of the first image belonging to the first visibility mask and each pixel of the fourth image resulting from at least one pixel of the second image belonging to the second visibility mask. In other words, the first visibility mask includes the set of pixels of the third image which have an antecedent in the first image during the step of generating the third image, that is to say the set of pixels of the third image whose coordinates are arrival coordinates of a pixel of the first image. Similarly, the second visibility mask includes the set of pixels of the fourth image which have an antecedent in the second image during the step of generating the fourth image, that is to say the set of pixels of the fourth image whose coordinates are arrival coordinates of a pixel of the second image.

A l’inverse, les pixels non compris dans le premier masque de visibilité sont des pixels qui n’ont pas d’antécédent dans la première image acquise par la première caméra 11, ils correspondent alors à des objets occlus du point de vue de la deuxième caméra 12 et les pixels non compris dans le deuxième masque de visibilité sont des pixels qui n’ont pas d’antécédent dans la deuxième image acquise par la deuxième caméra 12, ils correspondent alors à des objets occlus du point de vue de la première caméra 11.Conversely, the pixels not included in the first visibility mask are pixels which have no antecedent in the first image acquired by the first camera 11, they then correspond to objects occluded from the point of view of the second camera 12 and the pixels not included in the second visibility mask are pixels which have no antecedent in the second image acquired by the second camera 12, they then correspond to objects occluded from the point of view of the first camera 11.

La détermination du masque de visibilité est alors l’union des premier et deuxième masques de visibilité, c’est-à-dire que des coordonnées correspondant à celles d’un pixel de la troisième image qui n’a pas d’antécédent dans la première image et correspondant aussi à celles d’un pixel de la quatrième image qui n’a pas d’antécédent dans la deuxième image définissent des coordonnées d’un pixel non inclus dans le masque de visibilité. A l’inverse, si des coordonnées correspondent à celles d’un pixel de la troisième image qui a un antécédent dans la première image et/ou à celles d’un pixel de la quatrième image qui a un antécédent dans la deuxième image alors ces coordonnées définissent des coordonnées d’un pixel inclus dans le masque de visibilité.The determination of the visibility mask is then the union of the first and second visibility masks, that is to say that coordinates corresponding to those of a pixel of the third image which has no antecedent in the first image and also corresponding to those of a pixel of the fourth image which has no antecedent in the second image define coordinates of a pixel not included in the visibility mask. Conversely, if coordinates correspond to those of a pixel of the third image which has a antecedent in the first image and/or to those of a pixel of the fourth image which has a antecedent in the second image then these coordinates define coordinates of a pixel included in the visibility mask.

La détermination du masque de visibilité est par exemple obtenue en utilisant la fonction torch.nn.functional.grid_sample() en langage Python® qui requiert pour arguments les coordonnées des pixels des troisième et quatrième cartes de profondeurs et les profondeurs déterminées dans les deuxième et première cartes de profondeurs.The visibility mask is determined, for example, by using the torch.nn.functional.grid_sample() function in Python®, which requires as arguments the pixel coordinates of the third and fourth depth maps and the depths determined in the second and first depth maps.

Dans une étape 35, une valeur nulle est assignée aux pixels des troisième et quatrième images non compris dans le masque de visibilité. Ces pixels des troisième et quatrième images n’ont pas d’antécédent dans la première image, respectivement dans la deuxième image. Un pixel de valeur nulle correspond, par exemple, à un pixel noir. Dans le cas de plusieurs canaux, chaque canal associé au pixel se voit assigner une valeur nulle.In a step 35, a zero value is assigned to the pixels of the third and fourth images not included in the visibility mask. These pixels of the third and fourth images have no antecedent in the first image, respectively in the second image. A pixel with a zero value corresponds, for example, to a black pixel. In the case of several channels, each channel associated with the pixel is assigned a zero value.

Dans une étape 36, le modèle de prédiction de profondeur est appris par minimisation d’une erreur de perte, l’erreur de perte étant déterminée à partir de :
• une première erreur de consistance déterminée par comparaison des première et quatrième cartes de profondeurs,
• une deuxième erreur de consistance déterminée par comparaison des deuxième et troisième cartes de profondeurs, et
• une erreur photométrique déterminée par comparaison des première et quatrième images et par comparaison des deuxième et troisième images.
In a step 36, the depth prediction model is learned by minimizing a loss error, the loss error being determined from:
• a first consistency error determined by comparing the first and fourth depth maps,
• a second consistency error determined by comparing the second and third depth maps, and
• a photometric error determined by comparing the first and fourth images and by comparing the second and third images.

Selon un exemple de réalisation particulier, la première erreur de consistance et la deuxième erreur de consistance sont déterminées respectivement par la fonction suivante : According to a particular exemplary embodiment, the first consistency error and the second consistency error are determined respectively by the following function:

Avec :
correspondant à la première erreur de consistance , respectivement la deuxième erreur de consistance , pour un pixel ,
une profondeur d’un pixel obtenue de la première carte de profondeurs, respectivement de la deuxième carte de profondeurs, pour un pixel , et
une profondeur d’un pixel obtenue de la quatrième carte de profondeurs, respectivement de la troisième carte de profondeurs, pour le pixel .
With :
corresponding to the first consistency error , respectively the second consistency error , for a pixel ,
a depth of one pixel obtained from the first depth map, respectively from the second depth map, for a pixel , And
a depth of one pixel obtained from the fourth depth map, respectively from the third depth map, for the pixel .

D’autres fonctions sont utilisables pour effectuer cette comparaison, par exemple en prenant la valeur absolue de la différence des profondeurs. En effet, il est important que le résultat de la comparaison des profondeurs soit, pour chaque pixel, une valeur positive.Other functions can be used to perform this comparison, for example by taking the absolute value of the difference in depths. Indeed, it is important that the result of the depth comparison is, for each pixel, a positive value.

Selon un premier exemple de réalisation particulier, l’erreur photométrique est déterminée à partir d’une première erreur photométrique par comparaison de valeurs des pixels des première et quatrième images et à partir d’une deuxième erreur photométrique déterminée par comparaison de valeurs des pixels des deuxième et troisième images, l’erreur de perte étant déterminée à partir des première et deuxième erreurs photométriques.According to a first particular exemplary embodiment, the photometric error is determined from a first photometric error by comparing pixel values of the first and fourth images and from a second photometric error determined by comparing pixel values of the second and third images, the loss error being determined from the first and second photometric errors.

Une erreur photométrique (en anglais « photometric error ») est, par exemple, présentée 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 est déterminée par la fonction suivante :A photometric error is, for example, presented in the paper "Digging Into Self-Supervised Monocular Depth Estimation" by Clément Godard, Oisin Mac Aodha, Michael Firman and Gabriel Brostow published in August 2019 and is determined by the following function:

Avec :
la première erreur photométrique notée , respectivement la deuxième erreur photométrique notée , étant un pixel défini par ses coordonnées dans une 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 du type d’environnement.
With :
the first photometric error noted , respectively the second photometric error noted , being a pixel defined by its coordinates in an image,
a pixel value in the first image, respectively second image,
a pixel value in the fourth image, respectively third image,
• SSIM a function that takes into account a local structure, and
a weighting factor depending in particular on the type of environment.

Selon cet exemple de réalisation particulier, l’erreur de perte est déterminée par la fonction suivante : According to this particular embodiment, the loss error is determined by the following function:

Avec :
l’erreur de perte,
la première erreur photométrique pour un pixel , étant un pixel défini par ses coordonnées dans une image,
la deuxième erreur photométrique pour le pixel ,
la première erreur de consistance pour le pixel , et
la deuxième erreur de consistance pour le pixel .
With :
the loss error,
the first photometric error for a pixel , being a pixel defined by its coordinates in an image,
the second photometric error for the pixel ,
the first consistency error for the pixel , And
the second consistency error for the pixel .

Selon un deuxième exemple de réalisation particulier, l’erreur de perte comprend en outre une erreur de construction dont chacune des composantes est déterminée par la fonction suivante : According to a second particular exemplary embodiment, the loss error further comprises a construction error, each of the components of which is determined by the following function:

Avec :
la composante pour un pixel p de la troisième image, respectivement la composante pour un pixel p de la quatrième image ,
est une profondeur d’un pixel obtenue de la troisième carte de profondeurs, respectivement obtenue de la quatriè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 des images ;
est un hyperparamètre dépendant de l’environnement dans lequel évolue le véhicule ; et
est une valeur du pixel dans la troisième image, respectivement quatrième image.
With :
the component for a pixel p of the third image, respectively the component for a pixel p of the fourth image,
is a depth of one pixel obtained from the third depth map, respectively obtained from the fourth depth map;
is a parameter matrix;
is the order of a smoothing gradient;
• an L1 norm of second-order depth gradients is calculated with =1, and =2 ;
And are the dimensions of the images;
is a hyperparameter dependent on the environment in which the vehicle operates; and
is a pixel value in the third image, respectively fourth image.

Cette fonction est généralement utilisée pour traiter la discontinuité à la bordure des objets (en anglais « edge aware smoothness »).This function is generally used to deal with discontinuity at the edge of objects (in English "edge aware smoothness").

L’erreur de perte comprend, par exemple, les erreurs de consistance, les erreurs photométriques et l’erreur de construction ci-dessus déterminées : The loss error includes, for example, the consistency errors, photometric errors and the construction error determined above:

Avec :
l’erreur de perte,
la première erreur photométrique pour un pixel , étant un pixel défini par ses coordonnées dans une image,
la deuxième erreur photométrique pour le pixel ,
la première erreur de consistance pour le pixel ,
la deuxième erreur de consistance pour le pixel ,
la composante dans la troisième image pour le pixel ,
la composante dans la quatrième image pour le pixel .
With :
the loss error,
the first photometric error for a pixel , being a pixel defined by its coordinates in an image,
the second photometric error for the pixel ,
the first consistency error for the pixel ,
the second consistency error for the pixel ,
the component in the third image for the pixel ,
the component in the fourth image for the pixel .

Il est à noter que les pixels comparés sont ceux de coordonnées similaires ou égales dans les images acquises comme dans les images générées.It should be noted that the pixels compared are those with similar or equal coordinates in both the acquired and generated images.

L’apprentissage du modèle de prédiction de profondeur 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.Training the depth prediction model consists of adjusting input parameters of the convolutional neural network to minimize the previously calculated loss error.

De plus, un objet occlus ou non visible dans le champ de vision d’une caméra et masqué dans le champ de vision de l’autre caméra n’impacte pas l’erreur de perte, l’utilisation d’un masque de visibilité rendant ce procédé d’apprentissage insensible aux occlusions. Ainsi, le modèle de prédiction de profondeur utilisé pour la prédiction de profondeur d’un pixel d’une image acquise par l’une des caméras du système de vision stéréoscopique est fiabilisé grâce à ce procédé d’apprentissage.Furthermore, an occluded or non-visible object in the field of view of one camera and masked in the field of view of the other camera does not impact the loss error, the use of a visibility mask making this learning process insensitive to occlusions. Thus, the depth prediction model used for the depth prediction of a pixel of an image acquired by one of the cameras of the stereoscopic vision system is made reliable thanks to this learning process.

Cet apprentissage est réalisé à partir de données acquises par le système de vision embarqué et ne nécessite donc pas de données annotées par un autre système embarqué ou de stockage d’une bibliothèque d’images d’apprentissage. De plus, les données d’apprentissage sont représentatives des données reçues lorsque le système est en fonctionnement ou en production, en effet les données d’apprentissage sont représentatives d’environnements réels dans lesquels évolue ou se déplace le véhicule embarquant le système de vision stéréoscopique, ces données d’apprentissage sont donc particulièrement pertinentes.This learning is carried out from data acquired by the on-board vision system and therefore does not require data annotated by another on-board system or storage of a library of training images. In addition, the training data is representative of the data received when the system is in operation or in production, in fact the training data is representative of real environments in which the vehicle carrying the stereoscopic vision system evolves or moves, this training data is therefore particularly relevant.

LaFIG. 4illustre schématiquement un dispositif 4 configuré pour apprendre un modèle de prédiction de profondeur par un système de vision embarqué dans un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 4 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.ThereFIG. 4schematically illustrates a device 4 configured to learn a depth prediction model by a vision system embedded in a vehicle, according to a particular and non-limiting exemplary embodiment of the present invention. The device 4 corresponds for example to a device embedded in the first vehicle 10, for example a computer associated with the stereoscopic vision system.

Le dispositif 4 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 4 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 4, 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 4 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.The device 4 is for example configured for the implementation of the operations described with regard to figures 1 and 4 and/or steps described with regard to figures 2 and 3. Examples of such a device 4 include, but are not limited to, on-board electronic equipment such as an on-board computer of a vehicle, an electronic calculator such as an ECU (“Electronic Control Unit”), a smartphone, a tablet, a laptop. The elements of the device 4, individually or in combination, can be integrated in a single integrated circuit, in several integrated circuits, and/or in discrete components. The device 4 can be produced in the form of electronic circuits or software (or computer) modules or even a combination of electronic circuits and software modules.

Le dispositif 4 comprend un (ou plusieurs) processeur(s) 40 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 4. Le processeur 40 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 4 comprend en outre au moins une mémoire 41 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.The device 4 comprises one (or more) processor(s) 40 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software(s) embedded in the device 4. The processor 40 may include integrated memory, an input/output interface, and various circuits known to those skilled in the art. The device 4 further comprises at least one memory 41 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which may comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.

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 41.The computer code of the embedded software(s) including the instructions to be loaded and executed by the processor is for example stored in memory 41.

Selon différents exemples de réalisation particuliers et non limitatifs, le dispositif 4 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.According to various particular and non-limiting embodiments, the device 4 is coupled in communication with other similar devices or systems (for example other computers) and/or with communication devices, for example a TCU (from the English “Telematic Control Unit” or in French “Telematic Control Unit”), for example via a communication bus or through dedicated input/output ports.

Selon un exemple de réalisation particulier et non limitatif, le dispositif 4 comprend un bloc 42 d’éléments d’interface pour communiquer avec des dispositifs externes. Les éléments d’interface du bloc 42 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 »).
According to a particular and non-limiting exemplary embodiment, the device 4 comprises a block 42 of interface elements for communicating with external devices. The interface elements of the block 42 comprise one or more of the following interfaces:
- RF radio frequency interface, for example Wi-Fi® type (according to IEEE 802.11), for example in the 2.4 or 5 GHz frequency bands, or Bluetooth® type (according to IEEE 802.15.1), in the 2.4 GHz frequency band, or Sigfox type using UBN (Ultra Narrow Band) radio technology, or LoRa in the 868 MHz frequency band, LTE (Long-Term Evolution), LTE-Advanced;
- USB interface (from the English “Universal Serial Bus” or “Universal Serial Bus” in French);
HDMI interface (from the English “High Definition Multimedia Interface” or “High Definition Multimedia Interface” in French);
- LIN interface (from the English “Local Interconnect Network”).

Selon un autre exemple de réalisation particulier et non limitatif, le dispositif 4 comprend une interface de communication 43 qui permet d’établir une communication avec d’autres dispositifs (tels que d’autres calculateurs du système embarqué) via un canal de communication 430. L’interface de communication 43 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 430. L’interface de communication 43 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).According to another particular and non-limiting exemplary embodiment, the device 4 comprises a communication interface 43 which makes it possible to establish communication with other devices (such as other computers of the on-board system) via a communication channel 430. The communication interface 43 corresponds for example to a transmitter configured to transmit and receive information and/or data via the communication channel 430. The communication interface 43 corresponds for example to a wired network of the CAN (Controller Area Network) type, CAN FD (Controller Area Network Flexible Data-Rate), FlexRay (standardized by the ISO 17458 standard) or Ethernet (standardized by the ISO/IEC 802-3 standard).

Selon un exemple de réalisation particulier et non limitatif, le dispositif 4 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage 440, tactile ou non, un ou des haut-parleurs 450 et/ou d’autres périphériques 460 via respectivement les interfaces de sortie 44, 45, 46. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au dispositif 4.According to a particular and non-limiting exemplary embodiment, the device 4 can provide output signals to one or more external devices, such as a display screen 440, touch-sensitive or not, one or more speakers 450 and/or other peripherals 460 via the output interfaces 44, 45, 46 respectively. According to a variant, one or other of the external devices is integrated into the device 4.

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 de profondeur d’un pixel d’une image acquise par un système de vision, et/ou de mesurage d’une distance séparant un objet d’un véhicule embarquant un système de vision, la profondeur et/ou la distance étant prédite et/ou mesurée via un modèle de prédiction de profondeur appris selon le procédé d’apprentissage décrit ci-dessus, 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é.Of course, the present invention is not limited to the exemplary embodiments described above but extends to a method for determining the depth of a pixel of an image acquired by a vision system, and/or for measuring a distance separating an object from a vehicle carrying a vision system, the depth and/or the distance being predicted and/or measured via a depth prediction model learned according to the learning method described above, which would include secondary steps without departing from the scope of the present invention. The same would apply to a device configured for implementing such a method.

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 4 de laFIG. 4.The present invention also relates to a vehicle, for example an automobile or more generally an autonomous land-based motor vehicle, comprising the device 4 of the FIG. 4 .

Claims (10)

Procédé d’apprentissage d’un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutif associé à un système de vision stéréoscopique embarqué dans un véhicule (10), le système de vision stéréoscopique comprenant une première caméra (11) et une deuxième caméra (12) disposées de manière à acquérir chacune une image d’une scène tridimensionnelle selon un point de vue différent,
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 (31) d’une première image et d’une deuxième image acquises par respectivement la première caméra (11) et la deuxième caméra (12) à un même instant temporel d’acquisition ;
- génération (32) d’une première carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la première image et d’une deuxième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la deuxième image, les profondeurs étant prédites avec le modèle de prédiction de profondeur à partir des première et deuxième images ;
- génération (33) d’une troisième image et d’une troisième carte de profondeurs à partir de la première image, de la première carte de profondeurs et de paramètres extrinsèques du système de vision stéréoscopique, la troisième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la troisième image, et génération d’une quatrième image et d’une quatrième carte de profondeurs à partir de la deuxième image, de la deuxième carte de profondeurs et des paramètres extrinsèques du système de vision stéréoscopique, la quatrième carte de profondeurs comprenant des profondeurs associées à un ensemble de pixels de la quatrième image ;
- détermination (34) d’un masque de visibilité comme l’union d’un premier masque de visibilité et d’un deuxième masque de visibilité, chaque pixel de la troisième image résultant d’au moins un pixel de la première image appartenant au premier masque de visibilité et chaque pixel de la quatrième image résultant d’au moins un pixel de la deuxième image appartenant au deuxième masque de visibilité ;
- assignation (35) d’une valeur nulle aux pixels des troisième et quatrième images non compris dans le masque de visibilité ;
- apprentissage (36) du modèle de prédiction de profondeur par minimisation d’une erreur de perte, l’erreur de perte étant déterminée à partir de :
• une première erreur de consistance déterminée par comparaison des première et quatrième cartes de profondeurs,
• une deuxième erreur de consistance déterminée par comparaison des deuxième et troisième cartes de profondeurs, et
• une erreur photométrique déterminée par comparaison des première et quatrième images et par comparaison des deuxième et troisième images.
Method for learning a depth prediction model implemented by a convolutional neural network associated with a stereoscopic vision system on board a vehicle (10), the stereoscopic vision system comprising a first camera (11) and a second camera (12) arranged so as to each acquire an image of a three-dimensional scene from a different point of view,
said method being implemented by at least one processor, and being characterized in that it comprises the following steps:
- reception (31) of a first image and a second image acquired by the first camera (11) and the second camera (12) respectively at the same acquisition time instant;
- generating (32) a first depth map comprising depths associated with a set of pixels of the first image and a second depth map comprising depths associated with a set of pixels of the second image, the depths being predicted with the depth prediction model from the first and second images;
- generation (33) of a third image and a third depth map from the first image, the first depth map and extrinsic parameters of the stereoscopic vision system, the third depth map comprising depths associated with a set of pixels of the third image, and generation of a fourth image and a fourth depth map from the second image, the second depth map and extrinsic parameters of the stereoscopic vision system, the fourth depth map comprising depths associated with a set of pixels of the fourth image;
- determining (34) a visibility mask as the union of a first visibility mask and a second visibility mask, each pixel of the third image resulting from at least one pixel of the first image belonging to the first visibility mask and each pixel of the fourth image resulting from at least one pixel of the second image belonging to the second visibility mask;
- assignment (35) of a zero value to the pixels of the third and fourth images not included in the visibility mask;
- learning (36) the depth prediction model by minimizing a loss error, the loss error being determined from:
• a first consistency error determined by comparing the first and fourth depth maps,
• a second consistency error determined by comparing the second and third depth maps, and
• a photometric error determined by comparing the first and fourth images and by comparing the second and third images.
Procédé selon la revendication 1, pour lequel la première erreur de consistance et la deuxième erreur de consistance sont déterminées respectivement par la fonction suivante :

Avec :
correspondant à la première erreur de consistance , respectivement la deuxième erreur de consistance ,
une profondeur d’un pixel obtenue de la première carte de profondeurs, respectivement de la deuxième carte de profondeurs, pour un pixel , et
une profondeur d’un pixel obtenue de la quatrième carte de profondeurs, respectivement de la troisième carte de profondeurs, pour le pixel .
Method according to claim 1, wherein the first consistency error and the second consistency error are determined respectively by the following function:

With :
corresponding to the first consistency error , respectively the second consistency error ,
a depth of one pixel obtained from the first depth map, respectively from the second depth map, for a pixel , And
a depth of one pixel obtained from the fourth depth map, respectively from the third depth map, for the pixel .
Procédé selon la revendication 1 ou 2, pour lequel l’erreur photométrique est déterminée par la fonction suivante :

Avec :
la première erreur photométrique notée , respectivement la deuxième erreur photométrique notée , étant un pixel défini par ses coordonnées dans une 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 du type d’environnement.
Method according to claim 1 or 2, for which the photometric error is determined by the following function:

With :
the first photometric error noted , respectively the second photometric error noted , being a pixel defined by its coordinates in an image,
a pixel value in the first image, respectively second image,
a pixel value in the fourth image, respectively third image,
• SSIM a function that takes into account a local structure, and
a weighting factor depending in particular on the type of environment.
Procédé selon l’une des revendications 1 à 3, pour lequel l’erreur de perte est déterminée en outre à partir d’une erreur de construction déterminée par la fonction suivante :

Avec :
l’erreur de construction pour un pixel p de la troisième image, respectivement l’erreur de construction pour un pixel p de la quatrième image ,
est une profondeur d’un pixel obtenue de la troisième carte de profondeurs, respectivement obtenue de la quatriè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 des images ;
est un hyperparamètre dépendant de l’environnement dans lequel évolue le véhicule ; et
est une valeur du pixel dans la troisième image, respectivement quatrième image.
Method according to one of claims 1 to 3, for which the loss error is further determined from a construction error determined by the following function:

With :
the construction error for a pixel p of the third image, respectively the construction error for a pixel p of the fourth image,
is a depth of one pixel obtained from the third depth map, respectively obtained from the fourth depth map;
is a parameter matrix;
is the order of a smoothing gradient;
• an L1 norm of second-order depth gradients is calculated with =1, and =2 ;
And are the dimensions of the images;
is a hyperparameter dependent on the environment in which the vehicle operates; and
is a pixel value in the third image, respectively fourth image.
Procédé selon la revendication 4, pour lequel l’erreur de perte est déterminée par la fonction suivante :

Avec :
l’erreur de perte,
la première erreur photométrique pour un pixel , étant un pixel défini par ses coordonnées dans une image,
la deuxième erreur photométrique pour le pixel ,
la première erreur de consistance pour le pixel ,
la deuxième erreur de consistance pour le pixel ,
l’erreur de construction pour un pixel de la troisième image, et
l’erreur de construction pour un pixel de la quatrième image.
The method of claim 4, wherein the loss error is determined by the following function:

With :
the loss error,
the first photometric error for a pixel , being a pixel defined by its coordinates in an image,
the second photometric error for the pixel ,
the first consistency error for the pixel ,
the second consistency error for the pixel ,
the construction error for a pixel of the third image, and
the construction error for a pixel of the fourth image.
Procédé selon l’une des revendications 1 à 5, pour lequel les troisième et quatrième cartes de profondeurs sont générées par la fonction suivante :

Avec :
les coordonnées d’un pixel de la troisième carte de profondeurs, respectivement de la quatrième carte de profondeurs,
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 première caméra (11), respectivement à la deuxième caméra (12),
une matrice intrinsèque de la deuxième caméra (12), respectivement à la première caméra (11),
une matrice extrinsèque du système de vision stéréoscopique, et
une fonction de projection dans la scène tridimensionnelle d’un pixel en fonction de ses coordonnées dans la première image, respectivement deuxième image, et de la profondeur qui lui est associée dans la première carte de profondeurs, respectivement deuxième carte de profondeurs.
Method according to one of claims 1 to 5, for which the third and fourth depth maps are generated by the following function:

With :
the coordinates of a pixel of the third depth map, respectively of the fourth depth map,
a function to convert from homogeneous coordinates to pixel coordinates by removing one dimension from a vector,
an intrinsic matrix of the first camera (11), respectively to the second camera (12),
an intrinsic matrix of the second camera (12), respectively to the first camera (11),
an extrinsic matrix of the stereoscopic vision system, and
a projection function into the three-dimensional scene of a pixel depending on its coordinates in the first image, respectively second image, and the depth which is associated with it in the first depth map, respectively second depth map.
Procédé selon l’une des revendications 1 à 6, pour lequel des axes optiques des première et deuxième caméras ne sont pas coplanaires.Method according to one of claims 1 to 6, for which optical axes of the first and second cameras are not coplanar. 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.Computer program comprising instructions for implementing the method according to any one of the preceding claims, when these instructions are executed by a processor. Dispositif (4) configuré pour apprendre un modèle de prédiction de profondeur par un système de vision embarqué dans un véhicule (10), ledit dispositif (4) comprenant une mémoire (41) associée à au moins un processeur (40) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 7.Device (4) configured to learn a depth prediction model by a vision system on board a vehicle (10), said device (4) comprising a memory (41) associated with at least one processor (40) configured to implement the steps of the method according to any one of claims 1 to 7. Véhicule (10) comprenant le dispositif (4) selon la revendication 9.Vehicle (10) comprising the device (4) according to claim 9.
FR2402901A 2024-03-22 2024-03-22 Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion. Pending FR3160493A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2402901A FR3160493A1 (en) 2024-03-22 2024-03-22 Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2402901 2024-03-22
FR2402901A FR3160493A1 (en) 2024-03-22 2024-03-22 Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion.

Publications (1)

Publication Number Publication Date
FR3160493A1 true FR3160493A1 (en) 2025-09-26

Family

ID=91247192

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2402901A Pending FR3160493A1 (en) 2024-03-22 2024-03-22 Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion.

Country Status (1)

Country Link
FR (1) FR3160493A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220301212A1 (en) * 2021-03-16 2022-09-22 Toyota Research Institute, Inc. Self-occlusion masks to improve self-supervised monocular depth estimation in multi-camera settings
US20220383530A1 (en) * 2019-10-27 2022-12-01 Ramot At Tel-Aviv University Ltd. Method and system for generating a depth map

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220383530A1 (en) * 2019-10-27 2022-12-01 Ramot At Tel-Aviv University Ltd. Method and system for generating a depth map
US20220301212A1 (en) * 2021-03-16 2022-09-22 Toyota Research Institute, Inc. Self-occlusion masks to improve self-supervised monocular depth estimation in multi-camera settings

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CLÉMENT GODARDOISIN MAC AODHAMICHAEL FIRMANGABRIEL BROSTOW, DIGGING INTO SELF-SUPERVISED MONOCULAR DEPTH ESTIMATION, August 2019 (2019-08-01)
GODARD CLEMENT ET AL: "Digging Into Self-Supervised Monocular Depth Estimation", 2019 IEEE/CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), IEEE, 27 October 2019 (2019-10-27), pages 3827 - 3837, XP033723565, DOI: 10.1109/ICCV.2019.00393 *
HAOFEI XUJING ZHANGJIANFEI CAIHAMID REZATOFIGHIFISHER YUDACHENG TAOANDREAS GEIGER, UNIFYING FLOW, STEREO AND DEPTH ESTIMATION, July 2023 (2023-07-01)
MARTINS DIOGO ET AL: "Fusion of Stereo and Still Monocular Depth Estimates in a Self-Supervised Learning Context", 2018 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 21 May 2018 (2018-05-21), pages 849 - 856, XP033403535, DOI: 10.1109/ICRA.2018.8461116 *
XU HAOFEI ET AL: "Unifying Flow, Stereo and Depth Estimation", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 45, no. 11, 1 November 2023 (2023-11-01), USA, pages 13941 - 13958, XP093199810, ISSN: 0162-8828, Retrieved from the Internet <URL:https://www.cvlibs.net/publications/Xu2023PAMI.pdf> [retrieved on 20240831], DOI: 10.1109/TPAMI.2023.3298645 *

Similar Documents

Publication Publication Date Title
WO2024231616A1 (en) Method and device for determining a visibility mask for a vision system on board a vehicle
FR3160493A1 (en) Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion.
FR3160494A1 (en) Method and device for learning a depth prediction model to reduce the loss of consistency of a stereoscopic vision system.
FR3160789A1 (en) Method and device for learning a depth prediction model associated with a stereoscopic vision system by comparing positions of points in a three-dimensional scene.
FR3160032A1 (en) Method and device for determining the depth of a pixel of an image by a depth prediction model associated with a vision system on board a vehicle
FR3162895A1 (en) Method and device for learning a depth prediction model associated with a pinhole vision system embedded in a vehicle
FR3159463A1 (en) Method and device for determining the depth of a pixel of an image by a depth prediction model associated with a vision system on board a vehicle
FR3153677A1 (en) Method and device for determining depth by a self-supervised stereoscopic vision system.
FR3162896A1 (en) Method and device for learning a depth prediction model associated with a vision system generating images that can be distorted
FR3158575A1 (en) Method and device for determining the depth of a pixel of an image by a neural network associated with a vision system on board a vehicle
FR3162893A1 (en) Method and device for learning a depth prediction model associated with a multi-resolution vision system
FR3162894A1 (en) Method and device for determining depth using a monoscopic vision system learned by supervision of a stereoscopic vision system
FR3160797A1 (en) Method and device for learning a depth prediction model of a set of pixels of an image associated with a stereoscopic vision system on board a vehicle.
FR3154837A1 (en) Method and device for determining depth by a self-supervised stereoscopic vision system.
FR3160031A1 (en) Method and device for determining the depth of a pixel of an image using a depth prediction model learned from heterogeneous images
FR3160798A1 (en) Method and device for learning a depth prediction model insensitive to the presence of dynamic objects in training images.
FR3153676A1 (en) Method and device for determining a depth by a self-supervised vision system.
FR3159032A1 (en) Method and device for determining a depth by a convolutional neural network associated with a self-supervised vision system.
FR3158381A1 (en) Method and device for determining the depth of a pixel of an image by a neural network associated with a vision system on board a vehicle
FR3153675A1 (en) Method and device for determining a depth by a monoscopic vision system with metric precision
FR3161784A1 (en) Method and device for learning a depth prediction model from vertical image strips.
FR3158382A1 (en) Method and device for determining a depth using a stereoscopic vision system on board a vehicle
FR3158576A1 (en) Method and device for determining a calibration fault in a vision system on board a vehicle
FR3155610A1 (en) Method and device for generating images for a vehicle comprising a stereoscopic vision system.
FR3155341A1 (en) Method and device for acquiring training data from a vision system.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20250926