FR3161049A1 - Method and device for training a depth prediction model to predict a depth for any distance traveled between the acquisition of two images. - Google Patents
Method and device for training a depth prediction model to predict a depth for any distance traveled between the acquisition of two images.Info
- Publication number
- FR3161049A1 FR3161049A1 FR2403628A FR2403628A FR3161049A1 FR 3161049 A1 FR3161049 A1 FR 3161049A1 FR 2403628 A FR2403628 A FR 2403628A FR 2403628 A FR2403628 A FR 2403628A FR 3161049 A1 FR3161049 A1 FR 3161049A1
- Authority
- FR
- France
- Prior art keywords
- images
- image
- vehicle
- prediction model
- pair
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
Procédé ou dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision monoculaire. En effet, le procédé comprend un premier apprentissage (32) du modèle de prédiction de profondeur à partir de premiers couples d’images, chaque premier couple d’images étant formé à partir d’images d’une même séquence d’images acquises à par une caméra embarquée dans un véhicule et se déplaçant à une vitesse inférieure à une vitesse seuil dans une scène tridimensionnelle, et un deuxième apprentissage (33) du modèle de prédiction de profondeur à partir de deuxièmes couples d’images, chaque deuxième couple d’images étant formé à partir d’images d’une même séquence d’images acquises à par la caméra embarquée dans la véhicule et se déplaçant à une vitesse supérieure à la vitesse seuil dans la scène tridimensionnelle. Figure pour l’abrégé : Figure 3 A method or device for learning a depth prediction model associated with a monocular vision system. The method comprises a first learning process (32) of the depth prediction model from first pairs of images, each first pair of images being formed from images of the same sequence of images acquired by a camera mounted in a vehicle and moving at a speed lower than a threshold speed in a three-dimensional scene, and a second learning process (33) of the depth prediction model from second pairs of images, each second pair of images being formed from images of the same sequence of images acquired by the camera mounted in the vehicle and moving at a speed higher than the threshold speed in the three-dimensional scene. Abstract: Figure 3
Description
La présente invention concerne les procédés et dispositifs d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision embarqué dans un véhicule, par exemple dans un véhicule automobile. La présente invention concerne également un procédé et un dispositif de détermination d’une profondeur et/ou 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 learning a depth prediction model associated with 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 determining a depth and/or measuring a distance separating an object from a vehicle carrying a vision system.
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.
Une position d’un autre usager ou d’un obstacle est, par exemple, déterminée par un système de vision comprenant un modèle de prédiction d’une profondeur associée à un pixel ou d’une distance séparant le système de vision d’un objet d’une scène tridimensionnelle. Un tel modèle est par exemple mis en œuvre par un réseau de neurones convolutif et appris à l’aide d’images, ces images étant obtenues d’une base de données universelle, par exemple Kitti® ou Sceneflow®. Kitti® par exemple fournit des images d’un environnement routier en centre-ville, mais une telle base de données ne comprend cependant pas l’intégralité des environnements routiers dans lequel peut évoluer un véhicule. Surtout, les séquences d’images acquises par une même caméra en mouvement, une séquence d’images constituant notamment une vidéo, sont obtenues lorsque cette caméra effectue des mouvements de faible amplitude, notamment de l’ordre de quelques centimètres. En effet, les séquences d’images disponibles dans Kitti® sont par exemple représentatives d’images acquises par une caméra en mouvement, chaque image étant acquise depuis un point de vue distant d’environ 15cm (quinze centimètres) du point de vue de l’image précédemment acquise, ce qui correspond à un véhicule se déplaçant à une vitesse proche de 18km/h (dix-huit kilomètres par heure), le véhicule embarquant la caméra faisant l’acquisition des images de la séquence d’images à une fréquence 30Hz (trente hertz) De telles images sont utiles pour faire un apprentissage d’un modèle de prédiction pour un véhicule se déplaçant à une vitesse faible en milieu urbain, mais ne sont pas adaptées pour un véhicule se déplaçant dans un autre type d’environnement tel une voie rapide ou une autoroute, la vitesse de déplacement du véhicule étant nettement supérieure, par exemple de l’ordre de 110 (cent dix) ou 130 km/h (cent trente kilomètres par heure), et l’autre environnement du véhicule étant également différent. Les données d’apprentissage sont alors inadaptées pour entraîner le modèle de prédiction pour un véhicule circulant dans cet autre type d’environnement routier.A position of another user or an obstacle is, for example, determined by a vision system comprising a model for predicting a depth associated with a pixel or a distance separating the vision system from an object in a three-dimensional scene. Such a model is for example implemented by a convolutional neural network and learned using images, these images being obtained from a universal database, for example Kitti® or Sceneflow®. Kitti® for example provides images of a road environment in a city center, but such a database does not, however, include all the road environments in which a vehicle can move. Above all, the sequences of images acquired by the same moving camera, a sequence of images constituting in particular a video, are obtained when this camera makes movements of small amplitude, in particular of the order of a few centimeters. Indeed, the image sequences available in Kitti® are for example representative of images acquired by a moving camera, each image being acquired from a viewpoint approximately 15cm (fifteen centimeters) from the viewpoint of the previously acquired image, which corresponds to a vehicle moving at a speed close to 18km/h (eighteen kilometers per hour), the vehicle carrying the camera acquiring the images of the image sequence at a frequency of 30Hz (thirty hertz). Such images are useful for training a prediction model for a vehicle moving at a low speed in an urban environment, but are not suitable for a vehicle moving in another type of environment such as a fast lane or a motorway, the speed of the vehicle being significantly higher, for example of the order of 110 (one hundred and ten) or 130 km/h (one hundred and thirty kilometers per hour), and the other environment of the vehicle being also different. The training data is then unsuitable for training the prediction model for a vehicle traveling in this other type of road environment.
Or, la qualité de l’entraînement du modèle de prédiction de profondeur ou distance est très importante, les profondeurs ou distances prédites par le modèle de prédiction de profondeur représentant des distances auxquelles se situent les autres usagers ou obstacles présents dans l’environnement routier du véhicule embarquant le système de vision et des ADAS. En effet, de la qualité des données émises par le système de vision dépend le bon fonctionnement des périphériques d’aides à la conduite utilisant ces données.However, the quality of the training of the depth or distance prediction model is very important, the depths or distances predicted by the depth prediction model representing distances to which other users or obstacles present in the road environment of the vehicle carrying the vision system and ADAS are located. Indeed, the proper functioning of the driving assistance devices using this data depends on the quality of the data emitted by the vision system.
Un système de vision comprenant une unique caméra, par la suite appelé système de vision monoculaire, utilise plusieurs images consécutives pour prédire des profondeurs associées à des pixels d’une des images acquises par la caméra à l’aide du modèle de prédiction de profondeur. Il est alors important d’entraîner ce modèle de prédiction de profondeur avec des images ou des séquences d’images acquises dans des conditions similaires à celles rencontrées lorsque le véhicule se déplace, notamment sur le réseau routier et à différentes vitesses de déplacement du véhicule embarquant le système de vision.A vision system comprising a single camera, hereinafter called a monocular vision system, uses several consecutive images to predict depths associated with pixels of one of the images acquired by the camera using the depth prediction model. It is then important to train this depth prediction model with images or sequences of images acquired in conditions similar to those encountered when the vehicle is moving, in particular on the road network and at different speeds of movement of the vehicle carrying the vision system.
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 phase d’apprentissage d’un modèle de prédiction de profondeur à partir de séquences d’images acquises par une caméra depuis des points de vue situés à différentes distances les uns des autres.Another object of the present invention is to improve the learning phase of a depth prediction model from sequences of images acquired by a camera from viewpoints located at different distances from each other.
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 d’un système de vision.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 of a vision system.
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 embarqué dans un véhicule, le système de vision comprenant une caméra disposée de manière à acquérir une image d’une scène tridimensionnelle d’un environnement extérieur du véhicule,
le procédé étant mis en œuvre par au moins un processeur, et étant caractérisé en ce qu’il comprend les étapes suivantes :
- réception de séquences d’images, chaque séquence d’images comprenant un ensemble d’images acquises par la caméra à différents instants temporels d’acquisition consécutifs séparés d’un même intervalle de temps, chaque séquence d’images étant classée en fonction d’une vitesse du véhicule lors de l’acquisition des images de la séquence dans une première classe lorsque la vitesse du véhicule est inférieure à une vitesse seuil et dans une deuxième classe lorsque la vitesse du véhicule est supérieure à la vitesse seuil ;
- pour chaque séquence d’images comprise dans la première classe, premier apprentissage du modèle de prédiction de profondeur à partir de premiers couples d’images, chaque premier couple d’images comprenant une première image et une deuxième image sélectionnées dans la chaque séquence d’images comprise dans la première classe ;
- pour chaque séquence d’images comprise dans la deuxième classe, deuxième apprentissage du modèle de prédiction de profondeur à partir de deuxièmes couples d’images, chaque deuxième couple d’images comprenant une troisième image et une quatrième image sélectionnées dans la chaque séquence d’images comprise dans la deuxième classe.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 vision system embedded in a vehicle, the vision system comprising a camera arranged so as to acquire an image of a three-dimensional scene of an environment outside the vehicle,
the method being implemented by at least one processor, and being characterized in that it comprises the following steps:
- reception of image sequences, each image sequence comprising a set of images acquired by the camera at different consecutive acquisition time instants separated by the same time interval, each image sequence being classified according to a speed of the vehicle during the acquisition of the images of the sequence in a first class when the speed of the vehicle is lower than a threshold speed and in a second class when the speed of the vehicle is higher than the threshold speed;
- for each sequence of images included in the first class, first training of the depth prediction model from first pairs of images, each first pair of images comprising a first image and a second image selected from each sequence of images included in the first class;
- for each sequence of images included in the second class, second training of the depth prediction model from second pairs of images, each second pair of images comprising a third image and a fourth image selected from each sequence of images included in the second class.
Le procédé permet avantageusement d’apprendre le modèle de prédiction de profondeur en deux temps. Dans un premier temps le modèle de prédiction de profondeur est appris à partir de séquences d’images dont les images sont acquises depuis une caméra embarquée dans un véhicule se déplaçant à une vitesse inférieure à la vitesse seuil, c’est-à-dire à une vitesse réduite. Dans un second temps le modèle de prédiction de profondeur est appris à partir de séquences d’images dont les images sont acquises depuis une caméra embarquée dans un véhicule se déplaçant à une vitesse supérieure à la vitesse seuil, c’est-à-dire à une vitesse élevée. Ainsi, le modèle de prédiction est appris à partir de séquences d’images représentatives de différentes vitesses de déplacement du véhicule, il est alors en mesure de prédire précisément des profondeurs ou distances lorsque le véhicule se déplace à une vitesse qu’elle soit faible ou élevée. De plus, les séquences d’images utilisées lors de l’apprentissage sont, par exemple, acquises par le véhicule lui-même et sont donc parfaitement représentatives de conditions de roulage réelles du véhicule, et donc de scènes tridimensionnelles réellement observées par la caméra embarquée dans le véhicule.The method advantageously makes it possible to learn the depth prediction model in two stages. Firstly, the depth prediction model is learned from image sequences whose images are acquired from a camera on board a vehicle moving at a speed lower than the threshold speed, i.e. at a reduced speed. Secondly, the depth prediction model is learned from image sequences whose images are acquired from a camera on board a vehicle moving at a speed higher than the threshold speed, i.e. at a high speed. Thus, the prediction model is learned from image sequences representative of different vehicle movement speeds; it is then able to accurately predict depths or distances when the vehicle is moving at a speed whether low or high. In addition, the image sequences used during learning are, for example, acquired by the vehicle itself and are therefore perfectly representative of real driving conditions of the vehicle, and therefore of three-dimensional scenes actually observed by the camera on board the vehicle.
Selon une variante du procédé, l’image la plus récente dans la chaque séquence d’images est assignée dans chaque premier couple d’images comme étant la première image et chaque image acquise antérieurement à la première image est assignée dans un premier couple d’images comme étant la deuxième image, chaque deuxième image étant différente dans chaque premier couple d’images.According to a variant of the method, the most recent image in each sequence of images is assigned in each first pair of images as being the first image and each image acquired prior to the first image is assigned in a first pair of images as being the second image, each second image being different in each first pair of images.
Les premiers couples d’images ainsi obtenus comprennent des images acquises par une caméra positionnée à des points de vue positionnés à une distance différente pour chaque premier couple d’images obtenus depuis une même séquence d’images. Le modèle de prédiction est alors appris à partir de couples d’images acquises depuis des points de vue positionnés à une distance variable.The first pairs of images thus obtained comprise images acquired by a camera positioned at viewpoints positioned at a different distance for each first pair of images obtained from the same image sequence. The prediction model is then learned from pairs of images acquired from viewpoints positioned at a variable distance.
Selon une autre variante du procédé, le premier apprentissage comprend plusieurs itérations, chaque itération utilisant un premier couple d’images différent correspondant au premier couple d’images pour lequel un intervalle de temps séparant l’acquisition de la première image et de la deuxième image est le plus faible parmi les premiers couples non utilisés lors d’une itération antérieure, le modèle de prédiction de profondeur étant appris à partir du premier couple d’images utilisé.According to another variant of the method, the first learning comprises several iterations, each iteration using a different first pair of images corresponding to the first pair of images for which a time interval separating the acquisition of the first image and the second image is the smallest among the first pairs not used during a previous iteration, the depth prediction model being learned from the first pair of images used.
A chaque itération, la distance séparant les points de vue d’acquisition des images d’un premier couple d’images est croissante, le modèle de prédiction est ainsi d’abord appris pour une distance faible séparant les points de vue d’acquisition d’images puis pour des distances de plus en plus grandes, jusqu’à être capable de prédire des profondeurs fiables pour une grande distance, cette grande distance étant de l’ordre, par exemple, d’un multiple de la distance faible, le multiple étant égal au nombre d’itérations.At each iteration, the distance separating the image acquisition viewpoints of a first pair of images is increasing, the prediction model is thus first learned for a small distance separating the image acquisition viewpoints then for increasingly large distances, until it is capable of predicting reliable depths for a large distance, this large distance being of the order, for example, of a multiple of the small distance, the multiple being equal to the number of iterations.
Selon une variante supplémentaire du procédé, les premiers couples sont générés en sélectionnant la première image comme correspondant à l’image la plus récente dans la chaque séquence d’images et la deuxième image comme correspondant à une image antérieure à la première image dans la chaque séquence d’images, la deuxième image étant sélectionnée en fonction d’un nombre d’intervalles de temps séparant l’acquisition de la première image de l’acquisition de la deuxième image, le nombre d’intervalles étant déterminé selon une loi de probabilité déterminée.According to a further variant of the method, the first pairs are generated by selecting the first image as corresponding to the most recent image in each sequence of images and the second image as corresponding to an image prior to the first image in each sequence of images, the second image being selected according to a number of time intervals separating the acquisition of the first image from the acquisition of the second image, the number of intervals being determined according to a determined probability law.
La loi de probabilité permet ainsi de contrôler une occurrence d’utilisation des premiers couples d’images, notamment en fonction du nombre d’intervalles de temps entre les temps d’acquisition des images du premier couples d’images. Il est alors possible de favoriser ou non les premiers couples d’images comprenant des images acquises à peu d’intervalles de temps ou au contraire à de nombreuses intervalles de temps. La sensibilité du modèle de prédiction de profondeur au nombre d’intervalles de temps et donc à la distance séparant des points de vue d’acquisition des images de premiers couples d’images est ainsi ajustée.The probability law thus makes it possible to control an occurrence of use of the first pairs of images, in particular according to the number of time intervals between the acquisition times of the images of the first pair of images. It is then possible to favor or not the first pairs of images comprising images acquired at few time intervals or on the contrary at many time intervals. The sensitivity of the depth prediction model to the number of time intervals and therefore to the distance separating the acquisition viewpoints of the images of the first pairs of images is thus adjusted.
Selon encore une variante du procédé, la loi de probabilité est obtenue par la fonction suivante :
avec :
•
•
with :
•
•
Une telle loi de probabilité est représentative d’une loi normale dont la moyenne est nulle. Cette loi de probabilité favorise l’utilisation de premiers couples d’images comprenant des images acquises à peu d’intervalles de temps. La variation de l’écart type permet également un réglage. En effet, l’augmentation de l’écart type permet alors de diminuer l’occurrence des premiers couples d’images comprenant des images acquises à de faibles intervalles de temps et à l’inverse d’augmenter l’occurrence des premiers couples d’images comprenant des images acquises à de grands intervalles de temps.Such a probability distribution is representative of a normal distribution whose mean is zero. This probability distribution favors the use of first pairs of images comprising images acquired at short time intervals. The variation of the standard deviation also allows for adjustment. Indeed, increasing the standard deviation then makes it possible to reduce the occurrence of the first pairs of images comprising images acquired at short time intervals and, conversely, to increase the occurrence of the first pairs of images comprising images acquired at long time intervals.
Selon encore une autre variante du procédé, la vitesse seuil est déterminée en fonction d’une distance cible et d’une fréquence d’acquisition d’images par la caméra. Cette distance cible permet par exemple de distinguer des séquences d’images comprenant des images acquises lorsque le véhicule se déplace à faible vitesse, par exemple en milieu urbain, et des séquences d’images comprenant des images acquises lorsque le véhicule se déplace à plus grande vitesse, par exemple en milieu extra urbain, sur route à accès réglementé et sur autoroute.According to yet another variant of the method, the threshold speed is determined as a function of a target distance and a frequency of image acquisition by the camera. This target distance makes it possible, for example, to distinguish between image sequences comprising images acquired when the vehicle is moving at low speed, for example in an urban environment, and image sequences comprising images acquired when the vehicle is moving at higher speed, for example in an extra-urban environment, on a road with restricted access and on a motorway.
Selon une variante supplémentaire du procédé, le modèle de prédiction de profondeur est appris par minimisation d’une erreur de perte déterminée à partir de chaque couple d’images d’une pluralité de couples d’images par comparaison des images du chaque couple d’images à des images reconstruites à partir des images du chaque couple d’images et de profondeurs prédites par le modèle de prédiction de profondeur et associées à des pixels des images dudit chaque couple d’image, la pluralité de couples d’images correspondant aux premiers couples d’images lors du premier apprentissage et aux deuxièmes couples d’images lors du deuxième apprentissage.According to an additional variant of the method, the depth prediction model is learned by minimizing a loss error determined from each pair of images of a plurality of pairs of images by comparing the images of each pair of images to images reconstructed from the images of each pair of images and depths predicted by the depth prediction model and associated with pixels of the images of said each pair of images, the plurality of pairs of images corresponding to the first pairs of images during the first learning and to the second pairs of images during the second learning.
La détermination de cette erreur de perte permet un entrainement auto supervisé, c’est-à-dire uniquement à partir d’images acquises par la caméra embarquée et sans nécessiter l’utilisation de données annotées provenant, par exemple, d’un autre système embarqué tel un LiDAR®. La reconstruction des deux images est appelée reconstruction bilatérale. Elle permet à la fois d’entraîner le modèle de prédiction de profondeur, mais également le cas échéant un modèle de prédiction du déplacement de la caméra dans la scène tridimensionnelle entre les deux instants temporels d’acquisition des images du premier couple d’images.Determining this loss error allows self-supervised training, i.e., using only images acquired by the on-board camera and without requiring the use of annotated data coming, for example, from another on-board system such as a LiDAR®. The reconstruction of the two images is called bilateral reconstruction. It allows both the depth prediction model to be trained, but also, if necessary, a model for predicting the movement of the camera in the three-dimensional scene between the two time instants of image acquisition of the first pair of images.
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.
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 à 7 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 7, in which:
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 embarqué dans un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 7. 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 an on-board vision system in a vehicle will now be described in what follows with joint reference to figures 1 to 7. 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 ou d’une séquence d’images la réception de données représentatives d’une image ou respectivement d’une séquence d’images. De même pour la détermination d’une profondeur ou d’une erreur, on entend la détermination de données représentatives d’une profondeur ou d’une erreur. Ces raccourcis ont uniquement pour but de simplifier la description, néanmoins, les procédés décrits ci-dessous é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é sont des données informatiques.For the entire description, reception of an image or a sequence of images means the reception of data representative of an image or respectively a sequence of images. Similarly, for the determination of a depth or an error, we mean the determination of data representative of a depth or an error. These shortcuts are only intended to simplify the description, however, since the methods described below are implemented by one or more processors, it is obvious that the input and output data of the different steps of a method are computer data.
Selon un exemple particulier et non limitatif de réalisation de la présente invention, le modèle de prédiction de profondeur est appris dans une phase d’apprentissage comprenant un premier et un deuxième apprentissages.According to a particular and non-limiting example of embodiment of the present invention, the depth prediction model is learned in a learning phase comprising a first and a second learning phase.
Le premier apprentissage du modèle de prédiction de profondeur est réalisé à partir de premiers couples d’images, chaque premier couple d’images étant formé à partir d’images d’une même séquence d’images acquises à par une caméra embarquée dans un véhicule et se déplaçant à une vitesse inférieure à une vitesse seuil dans une scène tridimensionnelle.The first training of the depth prediction model is carried out from first pairs of images, each first pair of images being formed from images of the same sequence of images acquired by a camera on board a vehicle and moving at a speed lower than a threshold speed in a three-dimensional scene.
Le deuxième apprentissage du modèle de prédiction de profondeur est réalisé à partir de deuxièmes couples d’images, chaque deuxième couple d’images étant formé à partir d’images d’une même séquence d’images acquises à par la caméra embarquée dans la véhicule et se déplaçant à une vitesse supérieure à la vitesse seuil dans la scène tridimensionnelle.The second training of the depth prediction model is carried out from second pairs of images, each second pair of images being formed from images of the same sequence of images acquired by the camera on board the vehicle and moving at a speed greater than the threshold speed in the three-dimensional scene.
La
Le véhicule 10 se situe dans un environnement 1 correspondant, par exemple, à un environnement routier formé d’un réseau de routes accessibles pour le véhicule 10.The vehicle 10 is located in an environment 1 corresponding, 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 une caméra 11 embarquée, configurée pour acquérir des images d’une scène tridimensionnelle se déroulant dans l’environnement du véhicule 10 depuis une position d’observation courante. La caméra 11 forme un système de vision monoculaire si elle est utilisée seule comme illustré dans la
La caméra 11 dispose de paramètres intrinsèques, notamment :
- une distance focale,
- des distorsions qui sont dues aux imperfections du système optique de la caméra 11,
- une direction de l’axe optique de la caméra 11, et
- une résolution.Camera 11 has intrinsic parameters, including:
- a focal length,
- distortions which are due to imperfections in the optical system of the camera 11,
- a direction of the optical axis of the camera 11, and
- a resolution.
Les paramètres intrinsèques caractérisent la transformation qui associe, pour un point image, par la suite appelé « point », ses coordonnées tridimensionnelles dans le référentiel de la caméra 11 aux coordonnées pixel dans une image acquise par la caméra 11. Ces paramètres ne changent pas si l'on déplace la caméra.The intrinsic parameters characterize the transformation which associates, for an image point, subsequently called a “point”, its three-dimensional coordinates in the frame of reference of the camera 11 with the pixel coordinates in an image acquired by the camera 11. These parameters do not change if the camera is moved.
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.
La caméra 11 est disposée de manière à acquérir une image d’une scène tridimensionnelle selon un point de vue défini, le point de vue est par exemple localisé sur ou dans le rétroviseur gauche du véhicule 10 ou en haut du pare-brise du véhicule 10 comme illustré dans la
La caméra 11 fait par exemple l’acquisition d’images d’une scène tridimensionnelle se situant devant le véhicule 10, la première caméra 11 couvrant un champ d’acquisition 12. Un objet 13 est placé dans le champ d’acquisition 12 de la caméra 11, définissant un champ d’occlusion 14 pour le système de vision, un objet présent dans le champ d’occlusion 14 n’étant pas observable par la caméra 11 depuis sa position d’observation courante.The camera 11 for example acquires images of a three-dimensional scene located in front of the vehicle 10, the first camera 11 covering an acquisition field 12. An object 13 is placed in the acquisition field 12 of the camera 11, defining an occlusion field 14 for the vision system, an object present in the occlusion field 14 not being observable by the camera 11 from its current observation position.
Il est évident qu’il est possible d’utiliser un tel système de vision pour prendre des images de scènes situées sur les côtés ou derrière le véhicule 10 en l’équipant de caméras placées et orientées différemment, l’invention ne se limitant pas à l’observation d’une scène tridimensionnelle se déroulant devant le véhicule 10 embarquant la caméra 11.It is obvious that it is possible to use such a vision system to take images of scenes located on the sides or behind the vehicle 10 by equipping it with cameras placed and oriented differently, the invention not being limited to the observation of a three-dimensional scene taking place in front of the vehicle 10 carrying the camera 11.
Selon un exemple de réalisation particulier, la caméra 11 est de type « grand angle », une caméra grand angle étant par exemple équipée d’un objectif conçu pour faire l’acquisition d’une image représentative d’une scène tridimensionnelle perçue selon un champ de vision plus large que celui d'une caméra standard, aussi appelé parfois objectif panoramique. En d'autres termes, un objectif grand angle permet de saisir une plus grande portion de la scène tridimensionnelle se déroulant devant ou autour de la caméra, ce qui est particulièrement utile dans des situations où il est nécessaire d'inclure davantage d'éléments dans le cadre de l’image acquise par cette caméra. L’angle α du champ de vision de la caméra 11 est par exemple égal à 120°, 145°, 180° ou 360°, alors qu’une caméra standard propose, par exemple, un champ de vision ouvert suivant un angle de 45° ou moins. Une telle caméra 11 correspond par exemple à une caméra équipée de miroirs ou encore à une caméra « fisheye » (en français « œil de poisson »). Les objectifs grand angle ont une distance focale plus courte par rapport aux objectifs standard, ce qui les rend adaptés pour faire l’acquisition d’images de paysages, d'architectures, de croisements de routes ou de tout autre sujet nécessitant une perspective étendue. Les caméras grand angle sont, par exemple, utilisées pour capturer des images immersives et dynamiques avec une profondeur de champ étendue.According to a particular embodiment, the camera 11 is of the “wide-angle” type, a wide-angle camera being, for example, equipped with a lens designed to acquire an image representative of a three-dimensional scene perceived according to a wider field of vision than that of a standard camera, also sometimes called a panoramic lens. In other words, a wide-angle lens makes it possible to capture a larger portion of the three-dimensional scene taking place in front of or around the camera, which is particularly useful in situations where it is necessary to include more elements in the frame of the image acquired by this camera. The angle α of the field of vision of the camera 11 is, for example, equal to 120°, 145°, 180° or 360°, whereas a standard camera offers, for example, an open field of vision following an angle of 45° or less. Such a camera 11 corresponds, for example, to a camera equipped with mirrors or to a “fisheye” camera (in French “fish eye”). Wide-angle lenses have a shorter focal length than standard lenses, making them suitable for capturing images of landscapes, architecture, road intersections, or any other subject requiring a broad perspective. Wide-angle cameras are, for example, used to capture immersive and dynamic images with an extended depth of field.
Une image acquise par la caméra 11 à un instant temporel d’acquisition se présente sous la forme de données représentant des pixels caractérisés par :
- des coordonnées dans l’image ; et
- des données relatives aux couleurs et luminosité des objets de la scène observée sous forme par exemple de valeurs colorimétriques RGB (de l’anglais « Red Green Blue », en français « Rouge Vert Bleu ») ou TSL (Ton, Saturation, Luminosité).An image acquired by the camera 11 at an acquisition time instant is presented in the form of data representing pixels characterized by:
- coordinates in the image; and
- data relating to the colors and brightness of objects in the observed scene in the form, for example, of RGB colorimetric values (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 11. En effet, un pixel de l’image acquise est la plus petite unité visible et correspond à un point lumineux résultant de l'émission ou de la réflexion de la lumière par un objet physique présent dans la scène tridimensionnelle. Lorsque la lumière frappe cet objet, des photons sont émis ou réfléchis, captés par un capteur photosensible de la caméra 11 après passage à travers son objectif. Ce capteur divise la scène tridimensionnelle en une grille de pixels. Chaque pixel enregistre l'intensité lumineuse à un emplacement spécifique, capturant ainsi des détails visuels. La combinaison de millions de pixels crée une image représentant fidèlement l'objet physique observé par la caméra 11. Un point image précédemment présenté est ainsi un point d’une surface d’un objet de la scène tridimensionnelle.Each pixel of the acquired image is representative of an object in the three-dimensional scene present in the field of vision of the camera 11. Indeed, a pixel of 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 the light strikes this object, photons are emitted or reflected, captured by a photosensitive sensor of the camera 11 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 11. An image point previously presented is thus a point on a surface of an object in the three-dimensional scene.
Lorsque le véhicule 10 est en mouvement, alors deux images acquises par la caméra 11 à deux instant temporels distincts représentent des vues d’une même scène tridimensionnelle prises à des points de vue ou positions d’observation différents, les positions d’observations de la caméra 11 étant distinctes. Sur cette scène tridimensionnelle se trouvent par exemple :
- des bâtiments ;
- des infrastructures routières ;
- d’autres usagers ou objets immobiles, par exemple un véhicule stationné ; et/ou
- d’autres usagers ou objets mobiles, par exemple un autre véhicule, un cycliste ou un piéton en mouvement.When the vehicle 10 is in motion, then two images acquired by the camera 11 at two distinct time instants represent views of the same three-dimensional scene taken from different viewpoints or observation positions, the observation positions of the camera 11 being distinct. On this three-dimensional scene are for example:
- buildings;
- road infrastructure;
- other users or stationary objects, for example a parked vehicle; and/or
- other users or moving objects, for example another vehicle, a cyclist or a moving pedestrian.
La distance séparant les différents points de vue d’acquisition dépend notamment de la vitesse du véhicule 10 et de la fréquence d’acquisition d’images par la caméra 11. A noter que si le véhicule se déplace à une vitesse constante et que la caméra 11 fait l’acquisition régulière d’images, c’est-à-dire à une fréquence constante, alors la distance séparant des points de vue associés à des images acquises consécutivement est constante. Si la vitesse du véhicule varie, cette distance varie également de manière proportionnelle. Ainsi, lorsque le véhicule 10 se déplace à faible vitesse, alors la distance séparant les points de vue lors d’acquisition de deux images consécutives par la caméra 11 est faible, et à l’inverse, lorsque le véhicule 10 se déplace à grande vitesse ou vitesse élevée, alors la distance séparant les points de vue d’acquisition de deux images consécutives par la caméra 11 est élevée.The distance separating the different acquisition viewpoints depends in particular on the speed of the vehicle 10 and the frequency of image acquisition by the camera 11. Note that if the vehicle moves at a constant speed and the camera 11 regularly acquires images, that is to say at a constant frequency, then the distance separating viewpoints associated with consecutively acquired images is constant. If the speed of the vehicle varies, this distance also varies proportionally. Thus, when the vehicle 10 moves at low speed, then the distance separating the viewpoints during acquisition of two consecutive images by the camera 11 is small, and conversely, when the vehicle 10 moves at high speed or high speed, then the distance separating the viewpoints for acquisition of two consecutive images by the camera 11 is high.
Selon un exemple de réalisation particulier, une image acquise par la caméra 11 comprend une distorsion égale à 0,5%, 0,8% ou supérieure à 1%. La mesure d’une telle distorsion correspond à la détermination d’un rapport entre :
- l'écartement maximal d’un pixel de l'image d’une ligne droite de la première scène tridimensionnelle dont l’image est une ligne touchant le bord le plus long de la première image, soit au centre du bord de l’image, soit au niveau des angles du bord de l’image, et
- la longueur de ce bord.According to a particular exemplary embodiment, an image acquired by the camera 11 comprises a distortion equal to 0.5%, 0.8% or greater than 1%. The measurement of such a distortion corresponds to the determination of a ratio between:
- the maximum spacing of a pixel of the image from a straight line of the first three-dimensional scene whose image is a line touching the longest edge of the first image, either at the center of the edge of the image, or at the corners of the edge of the image, and
- the length of this edge.
Couramment, une distorsion est considérée, dans le monde de la photographie, comme :
• négligeable si elle est inférieure à 0,3%,
• peu sensible si elle est comprise entre 0,3% ou 0,4%,
• sensible si elle est comprise entre 0,5% et 0,6%,
• très sensible si elle est comprise entre 0,7% et 0,9%, et
• gênante si elle est supérieure ou égale à 1% ou plus.Commonly, distortion is considered, in the world of photography, as:
• negligible if it is less than 0.3%,
• not very sensitive if it is between 0.3% or 0.4%,
• sensitive if it is between 0.5% and 0.6%,
• very sensitive if it is between 0.7% and 0.9%, and
• annoying if it is greater than or equal to 1% or more.
Une distorsion en barillet est caractérisée par un pourcentage positif, tandis qu’une distorsion en croissant est caractérisée par un pourcentage négatif.A barrel distortion is characterized by a positive percentage, while a crescent distortion is characterized by a negative percentage.
Chaque image acquise par la caméra 11 est par exemple envoyée à un processeur, par exemple un calculateur d’un dispositif équipant le véhicule 10, ou stockée dans une mémoire d’un dispositif accessible à un calculateur d’un dispositif équipant le véhicule 10. Elle est alors utilisée lors de la mise en œuvre d’un procédé de détermination d’une profondeur d’un de ses pixels et/ou lors de la mise en œuvre d’un procédé d’apprentissage d’un modèle de prédiction de profondeur associé à cette caméra du système de vision.Each image acquired by the camera 11 is for example sent to a processor, for example 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. It is then used during the implementation of a method for determining a depth of one of its pixels and/or during the implementation of a method for learning a depth prediction model associated with this camera of the vision system.
La
Dans une étape 21, deux images acquises par la caméra 11 sont reçues.In a step 21, two images acquired by the camera 11 are received.
Dans une étape 22, des profondeurs associées à un ensemble de pixels d’une des deux 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 two 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.
La
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 pour le système de vision embarqué dans un véhicule 10 ou par le dispositif 4 de la
Dans une étape 31, des séquences d’images sont reçues. Chaque séquence d’images comprenant un ensemble d’images acquises par la caméra 11 à différents instants temporels d’acquisition consécutifs séparés d’un même intervalle de temps. Par exemple, chaque séquence d’images reçue comprend six images acquises par la caméra 11.In a step 31, image sequences are received. Each image sequence comprises a set of images acquired by the camera 11 at different consecutive acquisition time instants separated by the same time interval. For example, each received image sequence comprises six images acquired by the camera 11.
Selon un exemple de réalisation particulier, les images acquises sont filtrées au préalable de manière qu’aucune image ne comprenne de pixel correspondant à un objet dynamique, c’est-à-dire à un objet en mouvement dans la scène tridimensionnelle observée par la caméra à l’instant temporel d’acquisition d’une image. En effet, la présence de pixels correspondants à un objet dynamique dans la scène tridimensionnelle détériore l’apprentissage, un système de vision monoculaire présentant des difficultés à estimer une profondeur pour un tel pixel car une disparité ou un flux optique déterminé entre des pixels de deux images associés à ce même objet comprend alors deux composantes, une première composante résultant d’un déplacement de la caméra 11 dans la scène tridimensionnelle, c’est-à-dire du véhicule 10, et une deuxième composante résultant d’un déplacement propre de l’objet dynamique dans la scène tridimensionnelle observée.According to a particular embodiment, the acquired images are filtered beforehand so that no image includes a pixel corresponding to a dynamic object, i.e. to an object in motion in the three-dimensional scene observed by the camera at the time instant of acquisition of an image. Indeed, the presence of pixels corresponding to a dynamic object in the three-dimensional scene deteriorates the learning, a monocular vision system having difficulty estimating a depth for such a pixel because a disparity or a determined optical flow between pixels of two images associated with this same object then includes two components, a first component resulting from a movement of the camera 11 in the three-dimensional scene, i.e. of the vehicle 10, and a second component resulting from a specific movement of the dynamic object in the observed three-dimensional scene.
Selon un autre exemple, la caméra est toujours en mouvement entre deux images acquises consécutives. En effet, pour prédire des profondeurs, le système de vision monoculaire nécessite d’être en mouvement de manière à observer la scène tridimensionnelle depuis des points de vue différents.In another example, the camera is always moving between two consecutive acquired images. Indeed, to predict depths, the monocular vision system needs to be moving in order to observe the three-dimensional scene from different points of view.
A noter que dans le cas où une séquence comprend des images comprenant des pixels liés à des objets dynamiques ou des images acquises depuis un même point de vue, il est possible de les filtrer avec un procédé de filtrage ou avec l’aide d’un technicien. En effet, le tri d’une telle séquence ne requiert pas une analyse de chaque image de la séquence d’images mais une analyse de la séquence d’images elle-même, une séquence d’images correspondant à une vidéo.Note that in the case where a sequence includes images comprising pixels linked to dynamic objects or images acquired from the same point of view, it is possible to filter them with a filtering process or with the help of a technician. Indeed, sorting such a sequence does not require an analysis of each image in the image sequence but an analysis of the image sequence itself, a sequence of images corresponding to a video.
Pour la suite de la description, les images acquises sont considérées de même définition. En effet, étant acquises par la même caméra 11, leur définition n’a pas lieu d’être différente. Cependant, dans le cas où la définition d’images d’une même séquence serait différente, il est possible d’ajouter une étape additionnelle consistant alors à redimensionner ou à rogner certaines images pour obtenir un séquence d’images comprenant uniquement des images de même définition, c’est-à-dire comprenant un même nombre de pixels selon leur hauteur et selon leur largeur.For the remainder of the description, the acquired images are considered to be of the same definition. Indeed, being acquired by the same camera 11, their definition does not have to be different. However, in the case where the definition of images in the same sequence is different, it is possible to add an additional step consisting of resizing or cropping certain images to obtain a sequence of images comprising only images of the same definition, that is to say comprising the same number of pixels according to their height and according to their width.
Chaque séquence d’images est classée en fonction d’une vitesse du véhicule 10 lors de l’acquisition des images de la séquence :
• dans une première classe lorsque ladite vitesse du véhicule 10 est inférieure à une vitesse seuil, et
• dans une deuxième classe lorsque ladite vitesse du véhicule 10 est supérieure à la vitesse seuil.Each image sequence is classified according to a vehicle speed 10 during the acquisition of the images of the sequence:
• in a first class when said speed of vehicle 10 is lower than a threshold speed, and
• in a second class when said speed of vehicle 10 is higher than the threshold speed.
La vitesse du véhicule 10 est par exemple associée à chaque image ou à chaque séquence d’images, la vitesse étant par exemple obtenue de systèmes embarqués dans le véhicule 10, par exemple d’un odomètre ou d’un système de géolocalisation.The speed of the vehicle 10 is for example associated with each image or each sequence of images, the speed being for example obtained from systems embedded in the vehicle 10, for example from an odometer or a geolocation system.
Selon un exemple de réalisation particulier, la vitesse seuil est déterminée en fonction d’une distance cible et d’une fréquence d’acquisition d’images par la caméra 11. La vitesse seuil est alors déterminée, par exemple, par la fonction suivante :
vseuil= dcible/ facquisition, avec :
• vseuilla vitesse seuil,
• dciblela distance cible, et
• facquisitionla fréquence d’acquisition d’images par la caméra 11.According to a particular exemplary embodiment, the threshold speed is determined as a function of a target distance and an image acquisition frequency by the camera 11. The threshold speed is then determined, for example, by the following function:
v threshold = d target / f acquisition , with:
• v threshold the threshold speed,
• d targets the target distance, and
• f acquisition the frequency of image acquisition by the camera 11.
Les séquences d’images classées dans la première classe correspondent ainsi à des séquences d’images acquises à vitesse faible, tandis que les séquences d’images classées dans la deuxième classe correspondent à des séquences d’images acquises à vitesse élevée.The image sequences classified in the first class thus correspond to image sequences acquired at low speed, while the image sequences classified in the second class correspond to image sequences acquired at high speed.
Le but de ce procédé d’apprentissage 3 est alors d’apprendre le modèle de prédiction de profondeur à partir de séquences d’images acquises à faible vitesse, c’est-à-dire d’images acquises depuis des points de vue peu distants, puis progressivement d’apprendre le modèle de prédiction de profondeur à partir de séquences d’images acquises à plus grande vitesse, c’est-à-dire d’images acquises depuis des points de vue plus distants. Le procédé d’apprentissage 3 est ainsi divisé en un premier apprentissage, puis en un deuxième apprentissage.The aim of this learning method 3 is then to learn the depth prediction model from image sequences acquired at low speed, i.e. images acquired from viewpoints that are not very distant, then progressively to learn the depth prediction model from image sequences acquired at higher speed, i.e. images acquired from more distant viewpoints. Learning method 3 is thus divided into a first learning process, then into a second learning process.
Pour chaque séquence d’images comprise dans la première classe, dans une étape 32, le modèle de prédiction de profondeur est appris dans un premier apprentissage à partir de premiers couples d’images, chaque premier couple d’images comprenant une première image et une deuxième image sélectionnées dans chaque séquence d’images.For each sequence of images included in the first class, in a step 32, the depth prediction model is learned in a first training from first pairs of images, each first pair of images comprising a first image and a second image selected in each sequence of images.
L’apprentissage d’un modèle de prédiction de profondeur à partir d’images est connu de l’homme du métier. Un exemple de procédé d’apprentissage 6 du modèle de prédiction de profondeur à partir d’un couple d’images est notamment décrit ci-après en regard de la
Selon une première variante du procédé d’apprentissage 3, l’image la plus récente dans chaque séquence d’images est assignée dans chaque premier couple d’images comme étant la première image et chaque image acquise antérieurement à la première image est assignée dans un premier couple d’images comme étant la deuxième image, chaque deuxième image étant différente dans chaque premier couple d’images.According to a first variant of the learning method 3, the most recent image in each sequence of images is assigned in each first pair of images as being the first image and each image acquired prior to the first image is assigned in a first pair of images as being the second image, each second image being different in each first pair of images.
Selon un exemple de réalisation particulier de la première variante, le premier apprentissage comprend plusieurs itérations, chaque itération utilisant un premier couple d’images différent correspondant au premier couple d’images pour lequel un intervalle de temps séparant l’acquisition de la première image et de la deuxième image est le plus faible parmi les premiers couples non utilisés lors d’une itération antérieure, le modèle de prédiction de profondeur étant appris à partir du premier couple d’images utilisé.According to a particular embodiment of the first variant, the first learning comprises several iterations, each iteration using a different first pair of images corresponding to the first pair of images for which a time interval separating the acquisition of the first image and the second image is the smallest among the first pairs not used during a previous iteration, the depth prediction model being learned from the first pair of images used.
La
Une séquence d’images 500 comprend, selon cet exemple de réalisation particulier, sept images acquises temporellement dans un ordre précis, la caméra 11 ayant acquis chacune des images de la séquence d’images 500 dans l’ordre suivant : l’image 51, l’image 52, l’image 53, l’image 54, l’image 55, l’image 56 et en dernier l’image 57. L’image 57 est donc l’image la plus récente de la séquence d’images 500, c’est-à-dire la dernière image acquise temporellement dans la séquence d’images 500, tandis que l’image 51 est la plus ancienne image acquise de la séquence d’images 500, c’est-à-dire la première image acquise temporellement dans la séquence d’images 500.An image sequence 500 comprises, according to this particular embodiment, seven images acquired temporally in a specific order, the camera 11 having acquired each of the images of the image sequence 500 in the following order: image 51, image 52, image 53, image 54, image 55, image 56 and lastly image 57. Image 57 is therefore the most recent image of the image sequence 500, i.e. the last image acquired temporally in the image sequence 500, while image 51 is the oldest image acquired in the image sequence 500, i.e. the first image acquired temporally in the image sequence 500.
Lors des différentes itérations, le modèle de prédiction est appris à partir de premiers couples d’images.
• Lors de la première itération, le premier couple d’image 510 comprend pour première image l’image la plus récente correspondant à l’image 57 et la deuxième image pour laquelle un seul intervalle de temps sépare son acquisition de l’acquisition de la première image, ici l’image 57, la deuxième image correspondant alors à l’image 56.
• Lors de la deuxième itération, le premier couple d’image 520 comprend pour première image l’image la plus récente correspondant toujours à l’image 57 et la deuxième image pour laquelle l’intervalle de temps le plus faible ou minimal sépare son acquisition de l’acquisition de la première image parmi les images de la séquence d’images 500 non utilisées précédemment, la deuxième image correspondant alors à l’image 55. En effet, deux intervalles de temps séparent l’instant d’acquisition de l’image 57 de l’instant d’acquisition de l’image 55 et l’image 56 a été utilisée lors de la précédente itération.
• Lors de la troisième itération, un premier couple d’images 530 est formé et comprend l’image 57 comme première image et l’image 54 comme deuxième image.
• Lors de la quatrième itération, un premier couple d’images 540 est formé et comprend l’image 57 comme première image et l’image 53 comme deuxième image.
• Lors de la cinquième itération, un premier couple d’images 550 est formé et comprend l’image 57 comme première image et l’image 52 comme deuxième image.
• Lors de la sixième et dernière itération, un premier couple d’images 560 est formé et comprend l’image 57 comme première image et l’image 51 comme deuxième image.During the different iterations, the prediction model is learned from first pairs of images.
• During the first iteration, the first image pair 510 comprises as first image the most recent image corresponding to image 57 and the second image for which a single time interval separates its acquisition from the acquisition of the first image, here image 57, the second image then corresponding to image 56.
• During the second iteration, the first pair of images 520 comprises as first image the most recent image still corresponding to image 57 and the second image for which the smallest or minimum time interval separates its acquisition from the acquisition of the first image among the images of the sequence of images 500 not previously used, the second image then corresponding to image 55. Indeed, two time intervals separate the instant of acquisition of image 57 from the instant of acquisition of image 55 and image 56 was used during the previous iteration.
• During the third iteration, a first pair of images 530 is formed and includes image 57 as the first image and image 54 as the second image.
• During the fourth iteration, a first pair of images 540 is formed and includes image 57 as the first image and image 53 as the second image.
• During the fifth iteration, a first pair of images 550 is formed and includes image 57 as the first image and image 52 as the second image.
• During the sixth and final iteration, a first pair of images 560 is formed and includes image 57 as the first image and image 51 as the second image.
Le véhicule 10 circulant à une certaine vitesse au moment de l’acquisition des images d’une séquence d’images, celui-ci et donc la caméra 11 embarquée dans le véhicule 10, a parcouru une distance déterminée entre chaque point de vue d’acquisition d’une image d’une même séquence d’images.The vehicle 10 traveling at a certain speed at the time of acquisition of the images of a sequence of images, the latter and therefore the camera 11 on board the vehicle 10, has traveled a determined distance between each point of view of acquisition of an image of the same sequence of images.
La
Selon l’exemple illustré, la caméra 11 fait l’acquisition d’images à une fréquence de 30Hz (trente Hertz), soit trente images par seconde. Lorsque le véhicule 10 circule à une vitesse de 15km/h (quinze kilomètres par heure), soit à une vitesse de 4,2m/s (quatre virgule deux mètres par seconde), il parcourt alors 14cm (quatorze centimètres) entre le point de vue d’acquisition d’une image et le point de vue d’acquisition d’une image suivante consécutive. De même, il parcourt 14cm entre le point de vue d’acquisition de deux autre images. Le véhicule a donc parcouru 28cm (vingt huit centimètres) entre les point de vue d’acquisition de trois images consécutives, soit pendant deux intervalles de temps. L’apprentissage du modèle de prédiction de profondeur à partir d’images séparées de deux intervalles de temps revient à apprendre le modèle de prédiction de profondeur à partir d’images acquises consécutivement, c’est-à-dire à un intervalle de temps, alors que le véhicule 10 circule deux fois plus vite.According to the example illustrated, the camera 11 acquires images at a frequency of 30Hz (thirty Hertz), or thirty images per second. When the vehicle 10 travels at a speed of 15km/h (fifteen kilometers per hour), or at a speed of 4.2m/s (four point two meters per second), it then travels 14cm (fourteen centimeters) between the point of view of acquisition of one image and the point of view of acquisition of a subsequent consecutive image. Similarly, it travels 14cm between the point of view of acquisition of two other images. The vehicle has therefore traveled 28cm (twenty-eight centimeters) between the points of view of acquisition of three consecutive images, or during two time intervals. Learning the depth prediction model from images separated by two time intervals is equivalent to learning the depth prediction model from images acquired consecutively, i.e. at one time interval, while vehicle 10 is traveling twice as fast.
Avec un raisonnement similaire, le véhicule parcourt 42cm (quarante deux centimètres) entre les points de vue d’acquisition d’images acquises à trois intervalles de temps. Cette distance de 42cm est proche d’une distance parcourue égale à 46cm (quarante-six centimètres) entre deux points de vue d’acquisition de deux images consécutives à une vitesse de 50km/h (cinquante kilomètres par heure). Le fait d’apprendre le modèle de prédiction de profondeur avec ces images distantes temporellement de trois intervalles de temps revient à apprendre le modèle de prédiction de profondeur pour un véhicule 10 circulant trois fois plus vite, soit 50km/h simulés contre 15km/h dans les faits.Using a similar reasoning, the vehicle travels 42cm (forty-two centimeters) between the acquisition viewpoints of images acquired at three time intervals. This distance of 42cm is close to a distance traveled equal to 46cm (forty-six centimeters) between two acquisition viewpoints of two consecutive images at a speed of 50km/h (fifty kilometers per hour). Learning the depth prediction model with these images temporally separated by three time intervals is equivalent to learning the depth prediction model for a vehicle traveling three times faster, i.e. 50km/h simulated versus 15km/h in reality.
De manière similaire, le distance parcourue par le véhicule 10 entre l’acquisition d’images acquises à deux intervalles de temps à une vitesse de 50km/h est proche d’une distance parcourue par le véhicule 10 entre l’acquisition de deux images consécutives à une vitesse de 100km/h. Une vitesse de 100km/h est alors simulée à partir d’images acquises à une vitesse de 50km/h.Similarly, the distance traveled by the vehicle 10 between the acquisition of images acquired at two time intervals at a speed of 50 km/h is close to a distance traveled by the vehicle 10 between the acquisition of two consecutive images at a speed of 100 km/h. A speed of 100 km/h is then simulated from images acquired at a speed of 50 km/h.
Ainsi, lors de chaque itération, le modèle de prédiction de profondeur est appris avec une distance séparant les points de vue d’acquisition des images du premier couple d’images qui augmente. Le modèle de prédiction de profondeur est ainsi appris pour une faible distance séparant les points de vue d’acquisition des images acquises, puis, quand le modèle de prédiction de profondeur est suffisamment précis, une nouvelle itération est implémentée et le modèle de prédiction de profondeur précédemment appris continue son apprentissage avec une distance séparant les points de vue d’acquisition des images plus grande. Le fait d’augmenter cette distance revient alors à simuler une plus grande vitesse du véhicule 10. En effet, la distance parcourue entre les points de vue d’acquisition des images est doublée entre la première itération et la deuxième itération, puis triplée entre la première itération et la troisième itération, et ainsi de suite. Il est alors possible d’apprendre le modèle de prédiction de profondeur par marches successives de distances et ainsi de réaliser un apprentissage progressif avec une vitesse simulée qui augmente. De cette manière l’apprentissage du modèle de prédiction de profondeur est maîtrisé et consistant pour des grandes plages de vitesses du véhicule 10.Thus, during each iteration, the depth prediction model is learned with a distance separating the image acquisition viewpoints of the first pair of images that increases. The depth prediction model is thus learned for a small distance separating the acquisition viewpoints from the acquired images, then, when the depth prediction model is sufficiently accurate, a new iteration is implemented and the previously learned depth prediction model continues its learning with a greater distance separating the image acquisition viewpoints. Increasing this distance then amounts to simulating a greater speed of the vehicle 10. Indeed, the distance traveled between the image acquisition viewpoints is doubled between the first iteration and the second iteration, then tripled between the first iteration and the third iteration, and so on. It is then possible to learn the depth prediction model by successive distance steps and thus to carry out progressive learning with an increasing simulated speed. In this way, the learning of the depth prediction model is controlled and consistent for large speed ranges of the vehicle 10.
Selon une deuxième variante du procédé d’apprentissage 3, les premiers couples sont générés en sélectionnant la première image comme correspondant à l’image la plus récente dans chaque séquence d’images et la deuxième image comme correspondant à une image antérieure à la première image dans chaque séquence d’images, la deuxième image étant sélectionnée en fonction d’un nombre d’intervalles de temps séparant l’acquisition de la première image de l’acquisition de la deuxième image, le nombre d’intervalles étant déterminé selon une loi de probabilité déterminée.According to a second variant of the learning method 3, the first pairs are generated by selecting the first image as corresponding to the most recent image in each sequence of images and the second image as corresponding to an image prior to the first image in each sequence of images, the second image being selected according to a number of time intervals separating the acquisition of the first image from the acquisition of the second image, the number of intervals being determined according to a determined probability law.
La loi de probabilité est, par exemple, obtenue par la fonction suivante :
Avec :
•
•
•
•
L’écart type
Une fonction générant un résultat aléatoire selon la loi de probabilité est par exemple définie en langage Python® par la fonction numpy.random.normal, le langage Python® étant particulièrement utilisé dans le domaine du traitement d’image.A function generating a random result according to the probability law is for example defined in Python® language by the numpy.random.normal function, the Python® language being particularly used in the field of image processing.
En fonction d’un résultat de cette fonction, un premier couple d’images est sélectionné en fonction du nombre d’intervalles de temps séparant les temps d’acquisition des première et deuxième images du premier couple d’images, cette sélection étant déterminée par la fonction suivante :
Avec :
•
•
•
•
La fonction présentée ci-dessus est évidemment adaptée à une séquence comprenant sept images, et donc jusqu’à six intervalles de temps.The function presented above is obviously suitable for a sequence comprising seven images, and therefore up to six time intervals.
Une telle loi de probabilité correspond à une loi normale centrée sur une valeur nulle qui permet d’obtenir une plus grande probabilité d’utiliser un premier couple d’images lorsque les première et deuxième images du premier couple d’images sont acquises à un nombre d’intervalles de temps faible, et une plus faible probabilité d’utiliser un premier couple d’images lorsque les première et deuxième images du premier couple d’images sont acquises à un nombre d’intervalles de temps important. Ainsi, par rapport aux couples illustrés dans la
Contrairement à la première variante, dans cette deuxième variante tous les couples possibles d’images ne sont pas exploités et l’augmentation de la distance séparant les points de vue d’acquisition des images d’un deuxième couple d’images n’est pas progressive.Unlike the first variant, in this second variant not all possible pairs of images are used and the increase in the distance separating the acquisition viewpoints of the images of a second pair of images is not progressive.
Le premier apprentissage prend fin lorsque le modèle de prédiction de profondeur est suffisamment fiable. Cette étape 32 se termine quand le modèle de prédiction de profondeur atteint, par exemple, la même performance que dans la publication « Digging Into Self-Supervised Monocular Depth Estimation » de Clément Godard, Oisin Mac Aodha, Michael Firman et Gabriel Brostow, publiée en auout 2019. La performance est à évaluer par un moyen qualitatif comme par une comparaison de cartes de profondeurs générées pour la même image, une erreur relative étant par exemple inférieure à 25%.The first training ends when the depth prediction model is sufficiently reliable. This step 32 ends when the depth prediction model reaches, for example, the same performance as in the publication “Digging Into Self-Supervised Monocular Depth Estimation” by Clément Godard, Oisin Mac Aodha, Michael Firman and Gabriel Brostow, published in August 2019. The performance is to be evaluated by a qualitative means such as by a comparison of depth maps generated for the same image, a relative error being for example less than 25%.
Pour chaque séquence d’images comprise dans la deuxième classe, dans une étape 33, le modèle de prédiction de profondeur est appris dans un deuxième apprentissage à partir de deuxièmes couples d’images, chaque deuxième couple d’images comprenant une troisième image et une quatrième image sélectionnées dans chaque séquence d’images.For each sequence of images included in the second class, in a step 33, the depth prediction model is learned in a second learning from second pairs of images, each second pair of images comprising a third image and a fourth image selected in each sequence of images.
Le deuxième apprentissage est ainsi similaire au premier apprentissage mais avec pour données d’entrée des deuxièmes couples d’images correspondant à des images acquises à plus grande vitesse. La grande vitesse n’est donc plus simulée comme précédemment, le modèle de prédiction de profondeur continue ainsi son apprentissage avec des données réelles et représentatives, par exemple d’environnements extra urbains où le véhicule 10 circule réellement rapidement. En effet, lors du premier apprentissage, les images sont par exemple représentatives d’un centre-ville mais la vitesse simulée est supérieure à 100km/h, ce qui ne correspond pas à une situation de conduite réellement observable.The second learning is thus similar to the first learning but with as input data second pairs of images corresponding to images acquired at higher speed. High speed is therefore no longer simulated as previously, the depth prediction model thus continues its learning with real and representative data, for example from extra-urban environments where the vehicle 10 actually travels quickly. Indeed, during the first learning, the images are for example representative of a city center but the simulated speed is greater than 100 km/h, which does not correspond to a truly observable driving situation.
Les premier et deuxième apprentissages correspondent à la détermination de paramètres d’entrée du réseau de neurones convolutif mettant en œuvre le modèle de prédiction de profondeur. La
Selon l’exemple de réalisation particulier illustré dans la
Dans une étape 61, un couple d’images comprenant une cinquième et une sixième images est reçu. La cinquième image correspond alors à une première image lors d’un premier apprentissage ou à une troisième image lors d’un deuxième apprentissage, la sixième image correspond à une deuxième image lors d’un premier apprentissage ou à une quatrième image lors d’un deuxième apprentissage.In a step 61, a pair of images comprising a fifth and a sixth image is received. The fifth image then corresponds to a first image during a first learning or to a third image during a second learning, the sixth image corresponds to a second image during a first learning or to a fourth image during a second learning.
Dans une étape 62, des profondeurs sont prédites par le modèle de prédiction de profondeurs pour des pixels des cinquième et sixième images à partir des cinquième et sixième images.In a step 62, depths are predicted by the depth prediction model for pixels of the fifth and sixth images from the fifth and sixth images.
La détermination d’une profondeur d’un pixel d’une image acquise par une caméra en mouvement à partir d’un modèle de prédiction de profondeur mis en œuvre par un réseau de neurones convolutifs est connue de l’homme du métier, par exemple avec monodepth2® décrit dans le document « Digging Into Self-Supervised Monocular Depth Estimation » écrit par Clément Godard, Oisin Mac Aodha, Michael Firman et Gabriel Brostow et publié en aout 2019 ou avec un algorithme appelé NRS décrit dans le document « Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion » rédigé par Igor Vasiljevic, Vitor Guizilini, Rares Ambrus, Sudeep Pillai, Wolfram Burgard, Greg Shakhnarovich et Adrien Gaidon, publié en aout 2020.Determining the depth of a pixel of an image acquired by a moving camera from a depth prediction model implemented by a convolutional neural network is known to those skilled in the art, for example with monodepth2® described in the document “Digging Into Self-Supervised Monocular Depth Estimation” written by Clément Godard, Oisin Mac Aodha, Michael Firman and Gabriel Brostow and published in August 2019 or with an algorithm called NRS described in the document “Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion” written by Igor Vasiljevic, Vitor Guizilini, Rares Ambrus, Sudeep Pillai, Wolfram Burgard, Greg Shakhnarovich and Adrien Gaidon, published in August 2020.
Dans une étape 63, des septième et huitième images sont générées. La septième image est générée à partir de la cinquième image, des profondeurs associées aux pixels de la cinquième image et de paramètres extrinsèques du système de vision monoculaire en mouvement tandis que la huitième image est générée à partir de la sixième image, des profondeurs associées aux pixels de la sixième image et des paramètres extrinsèques du système de vision monoculaire en mouvement. Cette étape 63 est couramment appelée reconstruction bilatérale des images.In a step 63, seventh and eighth images are generated. The seventh image is generated from the fifth image, depths associated with the pixels of the fifth image and extrinsic parameters of the moving monocular vision system while the eighth image is generated from the sixth image, depths associated with the pixels of the sixth image and extrinsic parameters of the moving monocular vision system. This step 63 is commonly referred to as bilateral image reconstruction.
La génération d’une septième image à partir d’une cinquième image acquise par la caméra 11 consiste en la reprojection d’un pixel de la cinquième image acquise depuis un premier point de vue à l’instant temporel d’acquisition de la cinquième image sous forme d’un point, puis à projeter ce point dans le plan image de la caméra 11 à sa position correspondant à un deuxième point de vue à l’instant temporel d’acquisition de la sixième image, de manière à obtenir une image correspondant à une vue de la scène tridimensionnelle depuis le deuxième point de vue de la caméra 11. Le plan image de la caméra 11 correspond à un plan défini dans le référentiel de la caméra 11, normal à l’axe optique de la caméra 11 et situé à la distance focale de la caméra 11. Ainsi, la septième image générée à partir de la cinquième image est comparable à la sixième image. De manière similaire, la huitième image générée à partir de la sixième image est comparable à la cinquième image.The generation of a seventh image from a fifth image acquired by the camera 11 consists of reprojecting a pixel of the fifth image acquired from a first viewpoint at the time instant of acquisition of the fifth image in the form of a point, then projecting this point into the image plane of the camera 11 at its position corresponding to a second viewpoint at the time instant of acquisition of the sixth image, so as to obtain an image corresponding to a view of the three-dimensional scene from the second viewpoint of the camera 11. The image plane of the camera 11 corresponds to a plane defined in the frame of reference of the camera 11, normal to the optical axis of the camera 11 and located at the focal length of the camera 11. Thus, the seventh image generated from the fifth image is comparable to the sixth image. Similarly, the eighth image generated from the sixth image is comparable to the fifth image.
Les première et deuxième positions de la caméra 11 aux instants temporels d’acquisition des respectivement cinquième et sixième images n’étant pas confondues lorsque le véhicule 10 est en mouvement et des objets pouvant masquer d’autres objets de la scène, les images générées ne sont pas identiques aux images acquises par la caméra 11. De plus, la prédiction des profondeurs et/ou la prédiction d’un mouvement de la caméra 11 entre le premier et le deuxième points de vue ne sont pas exempts d’erreurs. Ainsi, la comparaison d’une image générée à une image acquise permet d’évaluer la précision des différents modèles employés : le modèle de prédiction de profondeur et/ou le modèle de prédiction de mouvement de la caméra 11.The first and second positions of the camera 11 at the time instants of acquisition of the fifth and sixth images respectively not being confused when the vehicle 10 is in motion and objects being able to mask other objects in the scene, the generated images are not identical to the images acquired by the camera 11. In addition, the prediction of depths and/or the prediction of a movement of the camera 11 between the first and second points of view are not free from errors. Thus, the comparison of a generated image with an acquired image makes it possible to evaluate the accuracy of the different models used: the depth prediction model and/or the movement prediction model of the camera 11.
Selon un exemple de réalisation particulier, les septième et huitième images sont respectivement générées par la fonction suivante :According to a particular embodiment, the seventh and eighth images are respectively generated by the following function:
Avec :
•
•
•
•
•
•
•
•
•
•
Selon une variante, le modèle de prédiction de direction correspond à une matrice intrinsèque de la caméra 11. Cette variante est notamment applicable aux caméras sténopé et calibrées.According to one variant, the direction prediction model corresponds to an intrinsic matrix of the camera 11. This variant is particularly applicable to pinhole and calibrated cameras.
Selon une autre variante, le modèle de prédiction de direction correspond à un modèle appris mettant en œuvre un second réseau de neurones. Un tel modèle de prédiction de direction est connu de l’homme du métier, il est notamment présenté dans le document « Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion ». Cette autre variante est adaptée aux caméras grand angle ou de type « œil de poisson » ou encore aux caméras non calibrées. Selon cette autre variante, une étape de prédiction de direction associée aux pixels de la cinquième image et aux pixels de la sixième image est nécessaire.According to another variant, the direction prediction model corresponds to a learned model implementing a second neural network. Such a direction prediction model is known to those skilled in the art; it is notably presented in the document “Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion”. This other variant is suitable for wide-angle or “fish-eye” type cameras or even for uncalibrated cameras. According to this other variant, a direction prediction step associated with the pixels of the fifth image and the pixels of the sixth image is necessary.
La matrice comprenant les paramètres extrinsèques de la caméra 11 en mouvement peut être obtenue de plusieurs manières. Par exemple à partir de données émises par un système d’aide à la conduite du véhicule 10, appelé système ADAS, ou à partir de capteurs embarqués dans le véhicule 10. Selon un autre exemple, les paramètres extrinsèques correspondant au mouvement de la caméra 11 entre les instants temporels d’acquisition des cinquième et sixième images et sont déterminés dans une étape additionnelle par un modèle de prédiction de mouvement, par exemple par celui présenté dans le document « Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion ».The matrix comprising the extrinsic parameters of the moving camera 11 can be obtained in several ways. For example, from data emitted by a driving assistance system of the vehicle 10, called an ADAS system, or from sensors embedded in the vehicle 10. According to another example, the extrinsic parameters corresponding to the movement of the camera 11 between the time instants of acquisition of the fifth and sixth images are determined in an additional step by a motion prediction model, for example by that presented in the document “Neural Ray Surfaces for Self-Supervised Learning of Depth and Ego-motion”.
Dans une étape 64, le modèle de prédiction de profondeur est appris par minimisation d’une erreur de perte.In a step 64, the depth prediction model is learned by minimizing a loss error.
L’erreur de perte comprend par exemple une première erreur photométrique déterminée par comparaison des cinquième et huitième images et une deuxième erreur photométrique déterminée par comparaison des sixième et septième images.The loss error includes, for example, a first photometric error determined by comparing the fifth and eighth images and a second photometric error determined by comparing the sixth and seventh images.
Si le modèle de prédiction de profondeurs est précis, alors une première ou une deuxième erreur photométrique est faible. A l’inverse, si le modèle de prédiction de profondeur manque de précision, par exemple parce que son entraînement n’est pas abouti, alors une première et/ou une deuxième erreur photométrique est non négligeable.If the depth prediction model is accurate, then a first or second photometric error is small. Conversely, if the depth prediction model is inaccurate, for example because its training is not complete, then a first and/or second photometric error is not negligible.
Selon un premier mode de réalisation particulier, les première et deuxième erreurs photométriques sont respectivement déterminées par la fonction suivante :
Avec :
•
•
•
• SSIM une fonction qui prend en compte une structure locale, et
•
•
•
•
• SSIM a function that takes into account a local structure, and
•
Selon un deuxième mode de réalisation particulier, les premières et deuxièmes erreurs photométriques comprennent une détermination d’une erreur de reconstruction d’une image générée déterminée par la fonction suivante :
Avec :
•
•
•
•
• une norme L1 des gradients de profondeur du second ordre est calculée avec
•
•
•
•
•
•
•
• an L1 norm of second-order depth gradients is calculated with
•
•
•
Cette deuxième fonction est généralement utilisée pour traiter la discontinuité à la bordure des objets (en anglais « edge aware smoothness »).This second function is generally used to deal with discontinuity at the edge of objects (in English “edge aware smoothness”).
L’erreur photométrique est ainsi définie, par exemple, à partir des erreurs photométriques et erreurs de reconstruction précédemment définies.The photometric error is thus defined, for example, from the previously defined photometric errors and reconstruction errors.
Selon le premier mode de réalisation particulier, l’erreur photométrique associée à chaque premier couple de blocs est déterminée par la fonction suivante :
Avec :
•
•
•
•
•
•
Selon le deuxième mode de réalisation particulier, l’erreur photométrique associée à chaque premier couple de blocs est déterminée par la fonction suivante :
Avec :
•
•
•
•
•
•
•
•
•
•
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.
Un objet visible dans le champ de vision de la caméra 11 à l’instant temporel d’acquisition de la cinquième image et masqué dans le champ de vision de la caméra 11 à l’instant temporel d’acquisition de la sixième image ou inversement n’impacte pas l’erreur de perte grâce à la fonction min, ce procédé est donc insensible aux occlusions.An object visible in the field of vision of the camera 11 at the time instant of acquisition of the fifth image and masked in the field of vision of the camera 11 at the time instant of acquisition of the sixth image or vice versa does not impact the loss error thanks to the min function, this method is therefore insensitive to 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 la caméra 11 est fiabilisé grâce à ce procédé d’apprentissage.Thus, the depth prediction model used for the depth prediction of a pixel of an image acquired by the camera 11 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 monoculaire, 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 learning data is representative of the data received when the system is in operation or in production, in fact the learning data is representative of real environments in which the vehicle carrying the monocular vision system evolves or moves, this learning data is therefore particularly relevant.
La
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 la
Claims (10)
ledit procédé étant mis en œuvre par au moins un processeur, et étant caractérisé en ce qu’il comprend les étapes suivantes :
- réception (31) de séquences d’images, chaque séquence d’images comprenant un ensemble d’images acquises par la caméra (11) à différents instants temporels d’acquisition consécutifs séparés d’un même intervalle de temps, chaque séquence d’images étant classée en fonction d’une vitesse du véhicule (10) lors de l’acquisition des images de ladite séquence dans une première classe lorsque ladite vitesse du véhicule (10) est inférieure à une vitesse seuil et dans une deuxième classe lorsque ladite vitesse du véhicule (10) est supérieure à la vitesse seuil ;
- pour chaque séquence d’images comprise dans la première classe, premier apprentissage (32) du modèle de prédiction de profondeur à partir de premiers couples d’images, chaque premier couple d’images comprenant une première image et une deuxième image sélectionnées dans ladite chaque séquence d’images ;
- pour chaque séquence d’images comprise dans la deuxième classe, deuxième apprentissage (33) du modèle de prédiction de profondeur à partir de deuxièmes couples d’images, chaque deuxième couple d’images comprenant une troisième image et une quatrième image sélectionnées dans ladite chaque séquence d’images.Method for learning a depth prediction model implemented by a convolutional neural network associated with a vision system embedded in a vehicle (10), the vision system comprising a camera (11) arranged so as to acquire an image of a three-dimensional scene of an environment outside the vehicle (10),
said method being implemented by at least one processor, and being characterized in that it comprises the following steps:
- reception (31) of image sequences, each image sequence comprising a set of images acquired by the camera (11) at different consecutive acquisition time instants separated by the same time interval, each image sequence being classified according to a speed of the vehicle (10) during the acquisition of the images of said sequence in a first class when said speed of the vehicle (10) is lower than a threshold speed and in a second class when said speed of the vehicle (10) is higher than the threshold speed;
- for each sequence of images included in the first class, first training (32) of the depth prediction model from first pairs of images, each first pair of images comprising a first image and a second image selected in said each sequence of images;
- for each sequence of images included in the second class, second training (33) of the depth prediction model from second pairs of images, each second pair of images comprising a third image and a fourth image selected in said each sequence of images.
avec :
•
•
with :
•
•
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2403628A FR3161049A1 (en) | 2024-04-09 | 2024-04-09 | Method and device for training a depth prediction model to predict a depth for any distance traveled between the acquisition of two images. |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2403628 | 2024-04-09 | ||
| FR2403628A FR3161049A1 (en) | 2024-04-09 | 2024-04-09 | Method and device for training a depth prediction model to predict a depth for any distance traveled between the acquisition of two images. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| FR3161049A1 true FR3161049A1 (en) | 2025-10-10 |
Family
ID=91247641
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR2403628A Pending FR3161049A1 (en) | 2024-04-09 | 2024-04-09 | Method and device for training a depth prediction model to predict a depth for any distance traveled between the acquisition of two images. |
Country Status (1)
| Country | Link |
|---|---|
| FR (1) | FR3161049A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022123452A1 (en) * | 2020-12-12 | 2022-06-16 | Niantic, Inc. | Self-supervised multi-frame monocular depth estimation model |
-
2024
- 2024-04-09 FR FR2403628A patent/FR3161049A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022123452A1 (en) * | 2020-12-12 | 2022-06-16 | Niantic, Inc. | Self-supervised multi-frame monocular depth estimation model |
Non-Patent Citations (3)
| Title |
|---|
| CLÉMENT GODARDOISIN MAC AODHAMICHAEL FIRMANGABRIEL BROSTOW, DIGGING INTO SELF-SUPERVISED MONOCULAR DEPTH ESTIMATION, August 2019 (2019-08-01) |
| RARES VITOR GUIZILINI ET AL: "3D Packing for Self-Supervised Monocular Depth Estimation", 28 March 2020 (2020-03-28), pages 1 - 13, XP093198145, Retrieved from the Internet <URL:https://arxiv.org/pdf/1905.02693> * |
| ZHOU HANG HANG ZHOU@UEA AC UK ET AL: "Constant Velocity Constraints for Self-Supervised Monocular Depth Estimation", PROCEEDINGS OF THE ACM/SPEC INTERNATIONAL CONFERENCE ON PERFORMANCE ENGINEERING, ACMPUB27, NEW YORK, NY, USA, 7 December 2020 (2020-12-07), pages 1 - 8, XP058562941, ISBN: 978-1-4503-8198-7, DOI: 10.1145/3429341.3429355 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FR3161049A1 (en) | Method and device for training a depth prediction model to predict a depth for any distance traveled between the acquisition of two images. | |
| FR3148485A1 (en) | Method and device for determining a visibility mask for a vision system on board a vehicle. | |
| FR3161785A1 (en) | Method and device for learning a depth prediction model from images filtered by vertical bands. | |
| FR3161302A1 (en) | Method and device for learning a depth prediction model from sorted image sequences. | |
| FR3161784A1 (en) | Method and device for learning a depth prediction model from vertical image strips. | |
| FR3160798A1 (en) | Method and device for learning a depth prediction model insensitive to the presence of dynamic objects in training images. | |
| 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 | |
| FR3162893A1 (en) | Method and device for learning a depth prediction model associated with a multi-resolution 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. | |
| FR3162896A1 (en) | Method and device for learning a depth prediction model associated with a vision system generating images that can be distorted | |
| FR3160796A1 (en) | Method and device for processing images from a training database of a depth prediction model associated with a vision system. | |
| FR3159032A1 (en) | Method and device for determining a depth by a convolutional neural network associated with a self-supervised vision system. | |
| FR3160493A1 (en) | Method and device for learning a depth prediction model associated with a stereoscopic vision system and insensitive to occlusion. | |
| FR3163194A1 (en) | Method and device for learning a depth prediction model from feature maps of different resolutions | |
| 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 | |
| FR3160031A1 (en) | Method and device for determining the depth of a pixel of an image using a depth prediction model learned from heterogeneous images | |
| 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. | |
| FR3163760A1 (en) | Method and device for generating training images of a depth prediction model for a vision system with heterogeneous cameras. | |
| 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 | |
| FR3160494A1 (en) | Method and device for learning a depth prediction model to reduce the loss of consistency of a stereoscopic vision system. | |
| FR3162894A1 (en) | Method and device for determining depth using a monoscopic vision system learned by supervision of a stereoscopic vision system | |
| FR3163480A1 (en) | Method and device for determining the distance between an object and a vehicle by using a bounding box and a local depth prediction model. | |
| FR3158382A1 (en) | Method and device for determining a depth using a stereoscopic vision system on board a vehicle | |
| FR3163759A1 (en) | Method and device for determining the distance between an object and a vehicle using a locally learned depth prediction model. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment |
Year of fee payment: 2 |
|
| PLSC | Publication of the preliminary search report |
Effective date: 20251010 |