FR3147647A1 - Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule. - Google Patents

Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule. Download PDF

Info

Publication number
FR3147647A1
FR3147647A1 FR2303337A FR2303337A FR3147647A1 FR 3147647 A1 FR3147647 A1 FR 3147647A1 FR 2303337 A FR2303337 A FR 2303337A FR 2303337 A FR2303337 A FR 2303337A FR 3147647 A1 FR3147647 A1 FR 3147647A1
Authority
FR
France
Prior art keywords
image
pixels
pixel
vision system
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2303337A
Other languages
English (en)
Other versions
FR3147647B1 (fr
Inventor
Hai Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PSA Automobiles SA
Original Assignee
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PSA Automobiles SA filed Critical PSA Automobiles SA
Priority to FR2303337A priority Critical patent/FR3147647B1/fr
Priority to PCT/FR2024/050268 priority patent/WO2024209139A1/fr
Publication of FR3147647A1 publication Critical patent/FR3147647A1/fr
Application granted granted Critical
Publication of FR3147647B1 publication Critical patent/FR3147647B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)

Abstract

Procédé ou dispositif mettant en œuvre un procédé de détermination d’un masque de visibilité par système de vision embarqué dans un véhicule (10), le système de vision comprenant au moins une caméra (11) disposée de manière à acquérir une image d’une scène selon un point de vue déterminé, le procédé étant caractérisé en ce qu’il comprend les étapes de réception de première et deuxième images, des étapes de détermination de caractéristiques géométriques associant les pixels des première et deuxième images, la reconstruction d’images à partir des images reçues et des caractéristiques géométriques déterminées et la détermination d’erreurs de reconstruction par comparaison aux images reçues. Un masque de visibilité associé aux pixels de la première image est déterminé à partir des erreurs de reconstruction déterminées par comparaison des erreurs à des valeurs seuil prédéfinies. Figure pour l’abrégé : Figure 1

Description

Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule.
La présente invention concerne les procédés et dispositifs de détermination d’un masque de visibilité par système de vision embarqué dans un véhicule, par exemple dans un véhicule automobile. La présente invention concerne également un procédé et un dispositif de contrôle d’un ou plusieurs systèmes ADAS embarqués dans un véhicule à partir d’un masque de visibilité déterminé.
Arrière-plan technologique
De nombreux véhicules modernes sont équipés de systèmes d’aide à la conduite dits ADAS (de l’anglais « Advanced Driver-Assistance System » ou en français « Système d’aide à la conduite avancé »). De tels systèmes ADAS sont des systèmes de sécurité passifs et actifs conçus pour éliminer la part d'erreur humaine dans la conduite de véhicules de tous types. Les ADAS utilisent des technologies avancées pour assister le conducteur pendant la conduite et améliorer ainsi ses performances. Les ADAS utilisent une combinaison de technologies de capteurs pour percevoir l’environnement autour d’un véhicule, puis fournissent des informations au conducteur ou agissent sur certains systèmes du véhicule.
Il existe plusieurs niveaux d’ADAS, tels que les caméras de recul et les capteurs d'angle mort, les systèmes d'alerte de franchissement de ligne, les régulateurs de vitesse adaptatifs ou encore les systèmes de stationnement automatique.
Les ADAS embarqués dans un véhicule sont alimentés par des données obtenues d’un ou plusieurs capteurs embarqués tels que, par exemple, des caméras. Ces caméras permettent notamment de détecter et de situer d’autres usagers de la route ou d’éventuels obstacles présents autour d’un véhicule afin, par exemple :
- d’adapter l’éclairage du véhicule en fonction de la présence d’autres usagers ;
- de réguler de façon automatique la vitesse du véhicule ;
- d’agir sur le système de freinage en cas de risque d’impact avec un objet.
De la qualité des données émises par un système de vision dépend donc le bon fonctionnement des périphériques d’aides à la conduite utilisant ces données.
De nombreux systèmes de vision perçoivent un environnement autour d’un véhicule à partir de plusieurs images acquises par une ou plusieurs caméras. Lors de l’exploitation des images, des zones occluses des images qui correspondent à des zones de l’environnement qui ne sont pas présentes sur l’ensemble des images acquises sont définies. Un masque de visibilité associé à une image définit alors par exemple un filtre permettant de déterminer des pixels associés à des zones ne se retrouvant pas dans les autres images.
Des solutions pour détecter une occlusion, c’est-à-dire pour déterminer un masque de visibilité existent.
Une première solution, décrite dans « Dense point trajectories by gpu-accelerated large displacement optical flow » de Narayanan Sundaram, Thomas Brox, et Kurt Keutzer, consiste en la vérification de la cohérence entre des flux optiques d’une première image vers une deuxième image et inversement. Un flux optique indique le déplacement de la position d’un pixel dans une première image vers un pixel correspondant dans une deuxième image. Ce pixel dans la deuxième image doit avoir le flux optique inverse pour revenir à la position du pixel initial dans la première image. La somme des deux flux optiques est un indicateur de l’occlusion. Cette solution est utilisée dans un algorithme du flux optique et elle peut être aussi directement utilisée pour un système de vision stéréoscopique avec au moins deux caméras. Cette solution n’est pas utilisée pour un système de vision monoscopique.
Une deuxième solution présentée par « Occlusion Aware Unsupervised Learning of Optical Flow » de Yang Wang, Yi Yang, Zhenheng Yang, Liang Zhao, Peng Wang et Wei Xu parue le 4 avril 2018 se base sur le flux optique inverse. Pour chaque pixel d’une première image représenté par ses coordonnées, l’algorithme vérifie si un pixel d’une deuxième image arrive à ce pixel de la première image avec le flux optique inverse en balayant tous les pixels de la deuxième image. Cette méthode peut être utilisée pour les deux sens du flux d’optique pour identifier les zones occluses des deux images. Comme précédemment, cette méthode n’est pas utilisée pour les systèmes de vision monoscopique.
Une troisième solution décrite dans « Digging Into Self-Supervised Monocular Depth Estimation » de Clément Godard, Oisin Mac, Michael Firman et Gabriel Brostow utilise une fonction de perte avec un algorithme évitant les zones occluses sans les identifier explicitement. Deux reconstructions d’une première image acquise à un instant temporel donné se font sur des instants de prise de vue directement antérieur et postérieur à l’instant temporel de l’acquisition de la première image et sont comparées à deux autres images acquises à l’instant temporel directement antérieur et à l’instant temporel directement postérieur. Les zones occluses dans une image peuvent être présentes dans une autre image à reconstruire. Une fonction de perte est calculée pour les image et l’erreur la plus faible pour chaque pixel est additionnée à une erreur totale. Cette solution nécessite l’utilisation de trois images.
Résumé de la présente invention
Un objet de la présente invention est de résoudre au moins l’un des problèmes de l’arrière-plan technologique décrit précédemment.
Un autre objet de la présente invention est de proposer une solution pour déterminer un masque de visibilité pour tout système de vision afin d’améliorer la qualité des données issues de la ou les caméras du système de vision.
Un autre objet de la présente invention est d’améliorer la sécurité routière.
Selon un premier aspect, la présente invention concerne un procédé de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule, le système de vision comprenant au moins une caméra disposée de manière à acquérir une image d’une scène selon un point de vue déterminé,
le procédé étant caractérisé en ce qu’il comprend les étapes suivantes :
- réception de premières et deuxièmes données respectivement représentatives d’une première et deuxième images acquises selon un point de vue différent par ladite au moins une caméra ;
- détermination d’un deuxième ensemble de pixels de la deuxième image correspondant à un premier ensemble de pixels de la première image et obtention de premières données géométriques associant les pixels du premier ensemble de pixels aux pixels du deuxième ensemble de pixels par mise en œuvre d’un réseau de neurones convolutif ;
- reconstruction d’une troisième image à partir de la première image et des premières données géométriques ;
- détermination d’une première erreur de reconstruction par comparaison des troisième et deuxième images ;
- détermination d’un quatrième ensemble de pixels de la première image correspondant à un troisième ensemble de pixels de la deuxième image et obtention de deuxièmes données géométriques associant les pixels du troisième ensemble de pixels aux pixels du quatrième ensemble de pixels par mise en œuvre du réseau de neurones convolutif ;
- reconstruction d’une quatrième image à partir de la deuxième image et des deuxièmes données géométriques ;
- détermination d’une deuxième erreur de reconstruction par comparaison des quatrième et première images ;
- détermination d’une troisième erreur à partir des première et deuxième erreurs et ajustement de paramètres d’entrée du réseau de neurones convolutif par minimisation de la troisième erreur ;
- détermination d’un masque de visibilité associé au premier ensemble de pixels de la première image à partir des première et deuxième erreurs par comparaison respective des première et deuxième erreurs à des valeurs seuil prédéfinies.
Selon une variante de procédé, les première et respectivement deuxième erreurs sont obtenues par la fonction de perte suivante :
Avec :
- une valeur du pixel dans la deuxième image, respectivement la première image ;
- une valeur du pixel dans l’image reconstruite : la troisième image, respectivement la quatrième image ;
- SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») une fonction qui prend en compte une structure locale ; et
- un facteur de pondération dépendant notamment du type d’environnement.
Selon une autre variante de procédé, la troisième erreur est obtenue par la fonction de perte suivante :
avec :
- la première erreur de reconstruction pour un pixel de la deuxième image ;
- la deuxième erreur de reconstruction pour un pixel de la première image.
Selon encore une variante de procédé le masque de visibilité est déterminé par la fonction suivante :
avec :
- une fonction rendant 0 ou 1 ;
- l’union des pixels ;
- la première erreur de reconstruction pour un pixel de la deuxième image ;
- la deuxième erreur de reconstruction pour un pixel de la première image ;
- un opérateur ET ; et
- , et des paramètres déterminés.
Selon une variante supplémentaire de procédé, le système de vision est un système de vision monoscopique formé d’une unique caméra en mouvement, la première image étant acquise à un premier instant temporel et la deuxième image étant acquise à un deuxième instant temporel antérieur au premier instant temporel.
Selon encore une variante de procédé les premières et deuxièmes données géométriques sont chacune représentatives d’un déplacement de la caméra entre les deuxième et premier instants temporels,
la reconstruction des troisième et respectivement quatrième images étant obtenues par la formule suivante :
avec :
- une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur ;
- une matrice intrinsèque de la caméra associée à la projection d’un point de l’espace aux coordonnées en 3 dimensions dans l’image aux coordonnées en 2 dimensions ;
- une matrice de déplacement entre les positions de la caméra au premier instant temporel d’acquisition et au deuxième instant temporel d’acquisition ;
- une fonction de rétroprojection dans la scène d’un pixel en fonction de sa profondeur ;
- est une profondeur du pixel prédite par le système de vision monoscopique.
Selon une autre variante de procédé, le système de vision est un système de vision stéréoscopique comprenant deux caméras disposées de manière à acquérir chacune une image d’une scène à un même instant temporel selon un point de vue différent, des axes optiques représentatifs d’une orientation du champ de vision de chaque caméra étant orientés de façon non parallèle, les première et deuxième images étant acquises par respectivement une première et une deuxième caméra.
Selon une variante supplémentaire de procédé, les premières et deuxièmes données géométriques sont chacune représentatives d’un flux optique déterminé à partir des première et deuxième images par une méthode de calcul par flux optique,
la reconstruction des troisième et respectivement quatrième images étant obtenues par la formule suivante :
,
avec :
- un pixel de la troisième image, respectivement quatrième image ;
- le flux optique associé à un pixel source de la première image, respectivement deuxième image.
Selon encore une autre variante de procédé, les premières et deuxièmes données géométriques sont chacune représentatives de disparités déterminées à partir des première et deuxième images,
la reconstruction des troisième et respectivement quatrième images étant obtenues par la formule suivante :
avec :
- l’abscisse d’un pixel de la troisième image, respectivement quatrième image ;
- l’abscisse d’un pixel de la première image, respectivement deuxième image ; et
- une disparité déterminée pour un pixel de la première image, respectivement deuxième image.
Selon un deuxième aspect, la présente invention concerne un dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule, le dispositif comprenant une mémoire associée à au moins un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de la présente invention.
Selon un troisième aspect, la présente invention concerne un véhicule, par exemple de type automobile, comprenant un dispositif tel que décrit ci-dessus selon le deuxième aspect de la présente invention.
Selon un quatrième aspect, la présente invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de la présente invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un cinquième aspect, la présente invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de la présente invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon la présente invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des figures
D’autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation particuliers et non limitatifs de la présente invention ci-après, en référence aux figures 1 à 4 annexées, sur lesquelles :
illustre schématiquement un système de vision monoscopique équipant un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention ;
illustre schématiquement un système de vision stéréoscopique équipant un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention ;
illustre schématiquement un dispositif configuré pour la détermination d’un masque de visibilité par système de vision embarqué dans le véhicule de la , selon un exemple de réalisation particulier et non limitatif de la présente invention ;
illustre un organigramme des différentes étapes d’un procédé de détermination d’un masque de visibilité par système de vision embarqué dans le véhicule de la , selon un exemple de réalisation particulier et non limitatif de la présente invention.
Description des exemples de réalisation
Un procédé et un dispositif de détermination d’un masque de visibilité par système de vision embarqué dans un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 4. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.
Selon un exemple particulier et non limitatif de réalisation de la présente invention, un procédé de détermination d’un masque de visibilité par système de vision embarqué dans un véhicule est par exemple mis en œuvre par un calculateur du système embarqué du véhicule contrôlant ce système de vision.
Le système de vision comprend au moins une caméra disposée de manière à acquérir une image d’une scène selon un point déterminé.
A cet effet, le procédé de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule comprend la réception de premières et deuxièmes données respectivement représentatives d’une première et deuxième images acquises selon un point de vue différent par la au moins une caméra.
Le procédé comprend également la détermination d’un deuxième ensemble de pixels de la deuxième image correspondant à un premier ensemble de pixels de la première image et l’obtention de premières données géométriques associant les pixels du premier ensemble de pixels aux pixels du deuxième ensemble de pixels par mise en œuvre d’un réseau de neurones convolutif. Une troisième image est reconstruite à partir de la première image et des premières données géométriques et une première erreur de reconstruction est déterminée par comparaison des troisième et deuxième images.
Le procédé comprend aussi la détermination d’un quatrième ensemble de pixels de la première image correspondant à un troisième ensemble de pixels de la deuxième image et l’obtention de deuxièmes données géométriques associant les pixels du troisième ensemble de pixels aux pixels du quatrième ensemble de pixels par mise en œuvre du réseau de neurones convolutif. Une quatrième image est reconstruite à partir de la deuxième image et des deuxièmes données géométriques et une deuxième erreur de reconstruction est déterminée par comparaison des quatrième et première images.
Le procédé détermine ensuite une troisième erreur à partir des première et deuxième erreurs et ajuste des paramètres d’entrée du réseau de neurones convolutif par minimisation de la troisième erreur.
Enfin, un masque de visibilité associé au premier ensemble de pixels de la première image est déterminé à partir des première et deuxième erreurs par comparaison respective des première et deuxième erreurs à des valeurs seuil prédéfinies.
La illustre schématiquement un système de vision monoscopique équipant un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Un tel environnement 1 correspond, par exemple, à un environnement routier formé d’un réseau de routes accessibles pour le véhicule 10.
Dans cet exemple, le véhicule 10 correspond à un véhicule à moteur thermique, à moteur(s) électrique(s) ou encore un véhicule hybride avec un moteur thermique et un ou plusieurs moteurs électriques. Le véhicule 10 correspond ainsi, par exemple, à un véhicule terrestre tel une automobile, un camion, un car, une moto. Enfin, le véhicule 10 correspond à un véhicule autonome ou non, c’est-à-dire un véhicule circulant selon un niveau d’autonomie déterminé ou sous la supervision totale du conducteur.
Le véhicule 10 comprend avantageusement au moins une caméra 11 embarquée configurée pour acquérir des images d’une scène dans l’environnement du véhicule 10. Cette caméra 11 forme le système de vision monoscopique. Une caméra 11 est illustrée sur la . La présente invention ne se limite cependant pas à un système de vision monoscopique comprenant une seule caméra mais s’étend à tout système de vision comprenant 1, caméra ou plus, par exemple 1, 2, 3, 4 ou 5 caméras.
La caméra 11 dispose de paramètres intrinsèques connus. Ces paramètres se composent notamment de :
- la distance focale f de la caméra 11 ;
- les distorsions qui sont dues aux imperfections du système optique de la caméra ;
- la direction C1 de l’axe optique de la caméra 11 ;
- la résolution de la caméra 11.
Les paramètres intrinsèques caractérisent la transformation qui associe, pour un point image, les coordonnées caméra aux coordonnées pixel, dans chaque caméra. Ces paramètres ne changent pas si l'on déplace la caméra.
Les distorsions, qui sont dues aux imperfections du système optique telles que des défauts de forme et de positionnement des lentilles des caméras, vont dévier les faisceaux lumineux et donc induire un écart de positionnement pour le point projeté par rapport à un modèle idéal. Il est possible alors de compléter le modèle de caméra en y introduisant les trois distorsions qui génèrent le plus d’effets, à savoir les distorsions radiales, de décentrage et prismatiques, induites par des défauts de courbure, de parallélisme des lentilles et de coaxialité des axes optiques. Dans cet exemple, la caméra 11 est supposée parfaite, c’est-à-dire que les distorsions ne sont pas prises en compte ou que leur correction est traitée au moment de l’acquisition d’une image.
Cette caméra 11 est disposée de manière à acquérir une image d’une scène 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.
Un repère est associé à la première caméra 11 :
- la direction de l’axe x est définie comme étant l’axe longitudinal du véhicule 10 ;
- la direction de l’axe y est définie comme étant l’axe transversal du véhicule 10, donc orthonormale à l’axe x ;
- la direction de l’axe z est définie orthogonale aux directions des axes x et y.
Les trois axes x, y et z forment ainsi un repère orthonormé.
La caméra 11 fait l’acquisition d’images d’une scène se situant devant le véhicule 10, la caméra 11 couvre un premier champ d’acquisition 13.
Un obstacle 18 est placé dans le champ d’acquisition 13 de la caméra. La présence de l’obstacle 18 définit un champ d’occlusion pour le système de vision monoscopique composé ici du champ 16.
La directions C1 de l’axe optique représentatif d’une orientation du champ de vision de la caméra 11 est orientée de manière à obtenir le champ d’acquisition 13 de l’environnement 1 le plus large possible.
Il est évident qu’il est possible d’utiliser un tel système de vision monoscopique 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.
Une image acquise par la caméra 11 à un instant temporel d’acquisition donné se présente sous la forme de données représentant des pixels caractérisés par :
- des coordonnées dans l’image ; et
- des données relatives aux couleurs et luminosité des objets de la scène observée sous forme par exemple de coordonnées colorimétriques RGB (de l’anglais « Red Green Blue », en français « Rouge Vert Bleu ») ou TSL (Ton, Saturation, Luminosité).
Lorsque le véhicule 10 est en mouvement, c’est-à-dire lorsque la caméra 11 est en mouvement, les images acquises par la caméra 11 à différents instants temporels représentent des vues d’une même scène prises à des points de vue différents, les positions de la caméra 11 étant distinctes. Sur cette scène se trouvent par exemple :
- des bâtiments ;
- des infrastructures routières ;
- d’autres usagers immobiles, par exemple un véhicule stationné ; et/ou
- d’autres usagers mobiles, par exemple un autre véhicule, un cycliste ou un piéton en mouvement.
Ces images sont envoyées à un calculateur d’un dispositif équipant le véhicule 10 ou stockées dans une mémoire d’un dispositif accessible à un calculateur d’un dispositif équipant le véhicule 10.
La illustre schématiquement un système de vision stéréoscopique équipant un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Dans cet exemple, le véhicule 10 correspond à un véhicule à moteur thermique, à moteur(s) électrique(s) ou encore un véhicule hybride avec un moteur thermique et un ou plusieurs moteurs électriques. Le véhicule 10 correspond ainsi, par exemple, à un véhicule terrestre tel une automobile, un camion, un car, une moto. Enfin, le véhicule 10 correspond à un véhicule autonome ou non, c’est-à-dire un véhicule circulant selon un niveau d’autonomie déterminé ou sous la supervision totale du conducteur.
Le véhicule 10 comprend avantageusement plusieurs caméras 11 embarquées, chacune configurée pour acquérir des images d’une scène dans l’environnement du véhicule 10. Cet ensemble de caméras 11 forme le système de vision stéréoscopique. Deux caméras 11 sont illustrées sur la . La présente invention ne se limite cependant pas à un système de vision stéréoscopique comprenant deux caméras mais s’étend à tout système de vision comprenant 1 ou plus caméras, par exemple 1, 2, ou 5 caméras. Un système comprenant une unique caméra 11 forme alors un système de vision monoscopique.
Les caméras 11 disposent de paramètres intrinsèques connus. Ces paramètres se composent notamment de :
- distance focale f de la caméra 11 ;
- distorsions qui sont dues aux imperfections du système optique de chaque caméra ;
- direction C de l’axe optique de la caméra 11 ;
- résolutions respectives des caméras 11.
Les paramètres intrinsèques caractérisent la transformation qui associe, pour un point image, les coordonnées caméra aux coordonnées pixel, dans chaque caméra. Ces paramètres ne changent pas si l'on déplace la caméra.
Les distorsions, qui sont dues aux imperfections du système optique telles que des défauts de forme et de positionnement des lentilles des caméras, vont dévier les faisceaux lumineux et donc induire un écart de positionnement pour le point projeté par rapport à un modèle idéal. Il est possible alors de compléter le modèle de caméra en y introduisant les trois distorsions qui génèrent le plus d’effets, à savoir les distorsions radiales, de décentrage et prismatiques, induites par des défauts de courbure, de parallélisme des lentilles et de coaxialité des axes optiques. Dans cet exemple, les caméras sont supposées parfaites, c’est-à-dire que les distorsions ne sont pas prises en compte ou que leur correction est traitée au moment de l’acquisition d’une image.
Ces caméras 11 sont disposées de manière à acquérir chacune une image d’une scène selon un point de vue différent, le premier point de vue est par exemple localisé sur ou dans le rétroviseur gauche du véhicule 10 ou en haut du pare-brise du véhicule 10, le deuxième point de vue est par exemple localisé sur ou dans le rétroviseur droit du véhicule 10 ou en haut du pare-brise du véhicule 10. Dans le cas où deux caméras sont situées en haut du pare-brise du véhicule, celles-ci sont alors placées à une certaine distance. Dans cet exemple, la première caméra 11 est située en haut du pare-brise du véhicule 10, la deuxième caméra 11 est située dans le rétroviseur droit du véhicule 10.
Un premier repère est associé à la première caméra 11 :
- la direction de l’axe y est définie par la position de la deuxième caméra 11, de manière à placer la deuxième caméra 11 sur l’axe y de la première caméra 11. La distance B séparant les deux caméras 11 est appelée base de référence (en anglais « baseline ») et la direction séparant les deux caméras 11 est celle de l’axe y ;
- la direction de l’axe x est définie orthogonale à celle de l’axe y et orthogonale à celle de l’axe optique C1 de la première caméra 11 ;
- la direction de l’axe z est définie orthogonale aux directions des axes x et y.
Les trois axes x, y et z forment ainsi un repère orthonormé.
Les paramètres extrinsèques liés à la position des caméras 11 sont les paramètres suivants :
- 3 translations dans les directions x, y et z : Tx, Ty et Tz constituant le vecteur translation T ; et
- 3 rotations autour des axes x, y et z : Rx, Ry et Rz, constituant la matrice de rotation R.
Une contrainte principale du système de vision stéréoscopique utilisé dans l’automobile est, par exemple, la grande distance entre les deux caméras. En effet, pour pouvoir couvrir une plage de mesure de 200 mètres, le « baseline » doit atteindre 60cm pour les caméras couramment utilisées dans ce domaine.
Les deux caméras 11 font l’acquisition d’images d’une scène se situant devant le véhicule 10, la première caméra couvrant seule un premier champ d’acquisition 13, la deuxième caméra couvrant seule un deuxième champ d’acquisition 14 et les deux caméras 11 couvrant toutes deux un troisième champ d’acquisition 15. Les premier et troisième champs d’acquisition 13, 15 permettent ainsi une vision monoscopique de la scène par la première caméra 11, les deuxième et troisième champs d’acquisition 14, 15 permettent une vision monoscopique de la scène par la deuxième caméra 11 et le troisième champ d’acquisition 15 permet une vision stéréoscopique de la scène par le système de vision stéréoscopique composé des deux caméras 11.
Un obstacle 18 est placé dans le champ d’acquisition des caméras, par exemple dans le troisième champ d’acquisition 15. La présence de l’obstacle 18 définit un champ d’occlusion pour le système de vision stéréoscopique composé ici des trois champs 16, 17 et 19.
Parmi ces trois champs, le champ 16 est visible depuis la deuxième caméra 11. La partie de la scène présente dans ce champ 16 est donc observable à l’aide du système de vision monoscopique composé de la deuxième caméra 11.
Le champ 17 est quant à lui visible depuis la première caméra 11. La partie de la scène présente dans ce champ 17 est donc observable à l’aide du système de vision monoscopique composé de la deuxième caméra 11.
Enfin, le champ 19 n’est visible depuis aucune des caméras. La partie de la scène présente dans ce champ 19 n’est donc pas observable.
Les directions C1, C2 des axes optiques représentatifs d’une orientation du champ de vision de chaque caméra sont orientées non parallèlement de manière à obtenir le troisième champ d’acquisition 15 de l’environnement 1 le plus large possible.
Il est évident qu’il est possible d’utiliser un tel système de vision stéréoscopique pour prendre des images de scènes situées sur les côtés ou derrière le véhicule 10 en l’équipant de caméras placées et orientées différemment.
Les images acquises par les caméras 11 à un instant temporel d’acquisition t1 donné se présentent sous la forme de données représentant des pixels caractérisés par :
- des coordonnées dans chaque image ; et
- des données relatives aux couleurs et luminosité des objets de la scène observée sous forme par exemple de coordonnées colorimétriques RGB (de l’anglais « Red Green Blue », en français « Rouge Vert Bleu ») ou TSL (Ton, Saturation, Luminosité).
Les images acquises par les caméras 11 représentent des vues d’une même scène prises à des points de vue différents, les position des caméras étant distinctes. Sur cette scène se trouvent par exemple :
- des bâtiments ;
- des infrastructures routières ;
- d’autres usagers immobiles, par exemple un véhicule stationné ; et/ou
- d’autres usagers mobiles, par exemple un autre véhicule, un cycliste ou un piéton en mouvement.
Ces images sont envoyées à un calculateur d’un dispositif équipant le véhicule 10 ou stockées dans une mémoire d’un dispositif accessible à un calculateur d’un dispositif équipant le véhicule 10.
La illustre schématiquement un dispositif 4 configuré pour la détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule 10, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le dispositif 4 correspond par exemple à un dispositif embarqué dans le premier véhicule 10, par exemple un calculateur.
Le dispositif 4 est par exemple configuré pour la mise en œuvre des opérations et/ou étapes décrites en regard des figures 1, 2 et 4. 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.
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.
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.
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.
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 »).
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).
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 (système de projection) 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.
La illustre un organigramme des différentes étapes d’un procédé 2 de détermination d’un masque de visibilité par un système de vision embarqué dans le véhicule de la , le système de vision comprenant au moins une caméra 11 disposée de manière à acquérir une image d’une scène selon un point de vue déterminé, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Le procédé est par exemple mis en œuvre par un ou plusieurs processeurs d’un ou plusieurs calculateurs embarqués dans le véhicule 10, par exemple par un calculateur contrôlant le système de vision.
Dans une première étape 21, le calculateur reçoit des premières données représentatives d’une première image acquise par une caméra 11 à un premier instant temporel d’acquisition t1.
Dans une deuxième étape 31, le calculateur reçoit des deuxièmes données représentatives d’une deuxième image acquise par une caméra 11 à un deuxième instant temporel d’acquisition t2.
Les deux images reçues correspondent à deux vues d’une même scène se déroulant aux alentours du véhicule 10.
Trois modes de réalisation de ce procédé sont ensuite définis. Ces différents modes peuvent être mis en œuvre indépendamment selon le type de système de vision mais peuvent également être combinés. Une combinaison des différents modes de réalisation peut par exemple permettre une supervision d’un système de vision utilisant un mode de réalisation par un autre système de vision utilisant un autre mode de réalisation.
Selon un premier mode de réalisation, les première et deuxième images sont prises par une même caméra 11 en mouvement, le véhicule 10 étant lui-même en mouvement. Les première et deuxième images sont prises à deux instants temporels distincts t1, t2, le deuxième instant temporel t2 étant antérieur à t1. Le système de vision est alors un système de vision monoscopique tel que présenté dans la .
Dans une étape 22, un deuxième ensemble de pixels de la deuxième image correspondant à un premier ensemble de pixels de la première image est déterminé et des premières données géométriques associant les pixels du premier ensemble de pixels aux pixels du deuxième ensemble de pixels sont obtenues par mise en œuvre d’un réseau de neurones convolutif.
Selon ce premier mode de réalisation, les premières données géométriques correspondent à l’obtention du déplacement de la caméra 11 entre les deux instants temporels t1 et t2 ainsi que la prédiction de profondeurs associées aux pixels de la première image.
Dans ce premier mode de réalisation, les paramètres extrinsèques du système de vision monoscopique sont, par exemple, déterminés par un calculateur associé à ce même système de vision monoscopique. La détermination des paramètres extrinsèques du système de vision monoscopique, dont le déplacement de la caméra 11 entre les deux instants temporels t1 et t2, est connue de l’homme du métier et présentée, par exemple, dans le document Unsupervised Learning of Depth and Ego-Motion from Video de Tinghui Zhou, Matthew Brown, Noah Snavely et David G. Lowe paru le 1eraoût 2017.
Des profondeurs associées aux premiers pixels de la première image sont prédites par le système de vision monoscopique à partir d’un modèle de prédiction de profondeur, appris lors d’une phase d’apprentissage, appliqué à la première image. Une telle méthode est décrite dans le document : HR-Depth : High Resolution Self-Supervised Monocular Depth Estimation de Xiaoyang Lyu, Liang Liu, Mengmeng Wang, Xin Kong,Lina Liu, Yong Liu, Xinxin Chen, et Yi Yuan paru le 14 décembre 2020.
Dans une étape 32, un quatrième ensemble de pixels de la première image correspondant à un troisième ensemble de pixels de la deuxième image est déterminé et des deuxièmes données géométriques associant les pixels du troisième ensemble de pixels aux pixels du quatrième ensemble de pixels sont obtenues par mise en œuvre du réseau de neurones convolutif.
Dans ce premier mode de réalisation, les deuxièmes données géométriques correspondent à l’obtention du déplacement de la caméra 11 entre les deux instants temporels t2 et t1 ainsi que la prédiction de profondeurs associées aux pixels de la deuxième image. Le déplacement de la caméra 11 entre les instants t2 et t1 est l’opposé du déplacement obtenu lors de l’étape 22. Les profondeurs associées aux pixels de la deuxième image sont quant à elles obtenues suivant la même méthode que celle utilisée dans l’étape 22.
Dans une étape 23, une troisième image est reconstruite à partir de la première image et des premières données géométriques.
Dans une étape 33, une quatrième image est reconstruite à partir de la deuxième image et des deuxièmes données géométriques.
Les troisième et respectivement quatrième images sont reconstruites à l’aide de la formule suivante :
[Math 1]
avec :
- une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur ;
- une matrice intrinsèque de la caméra 11 associée à la projection d’un point de l’espace aux coordonnées en 3 dimensions dans l’image aux coordonnées en 2 dimensions ;
- une matrice de déplacement entre les positions de la caméra 11 au deuxième instant temporel d’acquisition t2 et au premier instant temporel d’acquisition t1 pour la reconstruction de la troisième image, respectivement une matrice de déplacement entre les positions de la caméra 11 au premier instant temporel d’acquisition t1 et au deuxième instant temporel d’acquisition t2 pour la reconstruction de la quatrième image ;
- une fonction de rétroprojection dans la scène d’un pixel en fonction de sa profondeur ;
- est une profondeur du pixel de la première image prédite par le système de vision monoscopique pour la reconstruction de la troisième image, respectivement une profondeur du pixel de la deuxième image prédite par le système de vision monoscopique pour la reconstruction de la quatrième image.
Dans une étape 24, une première erreur de reconstruction est déterminée pour chaque pixel de la deuxième image en comparant la deuxième image à la troisième image.
De la même manière, dans une étape 34, une deuxième erreur de reconstruction est déterminée pour chaque pixel de la première image en comparant la première image à la quatrième image.
Les première et respectivement deuxième erreurs sont déterminées par la fonction de perte suivante :
[Math 2]
Avec :
- est une valeur du pixel dans la deuxième image, respectivement la première image ;
- est une valeur du pixel dans l’image reconstruite : la troisième image, respectivement la quatrième image ;
- SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») est une fonction qui prend en compte une structure locale ; et
- est un facteur de pondération dépendant notamment du type d’environnement.
Dans une étape 25, une troisième erreur est déterminée à partir des première et deuxième erreurs. Cette troisième erreur est définie par la fonction de perte suivante :
[Math 3]
avec :
- la première erreur de reconstruction pour un pixel pour un système de vision monoscopique ;
- la deuxième erreur de reconstruction pour un pixel pour un système de vision monoscopique.
Les paramètres d’entrée du réseau de neurones convolutif sont alors ajustés en minimisant la troisième erreur. Le réseau de neurones convolutif est alors dit auto-supervisé car il est en mesure d’ajuster de façon autonome ses paramètres d’entrée afin d’améliorer les données de sortie, ici les premiers et deuxièmes paramètres géométriques.
Dans une étape 26, un masque de visibilité associé au premier ensemble de pixels de la première image est déterminé. Ce masque de visibilité est obtenu par comparaison respective des première et deuxième erreurs à des valeurs seuil prédéfinies et est obtenu par exemple par la fonction suivante :
[Math 4]
avec :
- une fonction rendant 0 ou 1 ;
- l’union des pixels ;
- la première erreur de reconstruction pour un pixel de la deuxième image pour un système de vision monoscopique ;
- la deuxième erreur de reconstruction pour un pixel de la première image pour un système de vision monoscopique ;
- un opérateur ET ; et
- , et des paramètres déterminés.
L’erreur du pixel non visible dans l’image cible, mais visible dans l’image source, doit dépasser un certain niveau défini par la valeur , lorsque l’erreur de la reconstruction de l’autre sens doit être inférieure à un certain niveau défini par la valeur . La différence notable entre et est liée à la maturité de l’entrainement du modèle d’apprentissage.
Le symbole ⋃ signifie l’union des pixels, sous condition que le nombre de pixels de cet union soit plus grand que le critère . Par expérience la valeur de est, par exemple, supérieure à 4 pixels. Le symbole l indique le masque de visibilité résulte d’un opérateur logique, soit 1 ou 0.
Selon un deuxième mode de réalisation, les première et deuxième images sont prises par deux caméras 11 distinctes à un même instant temporel t1. Le système de vision est alors un système de vision stéréoscopique tel que présenté dans la .
Dans une étape 22, un deuxième ensemble de pixels de la deuxième image correspondant à un premier ensemble de pixels de la première image est déterminé et des premières données géométriques associant les pixels du premier ensemble de pixels aux pixels du deuxième ensemble de pixels sont obtenues par mise en œuvre d’un réseau de neurones convolutif.
Selon ce deuxième mode de réalisation, les premières données géométriques correspondent à un flux optique.
L’étape 22 se fait par mise en œuvre d’une méthode dite de calcul par flux optique (en anglais « optical flow »). Une telle méthode est notamment décrite dans « UnOS: Unified Unsupervised Optical-flow and Stereo-depth Estimation by Watching Videos » de Yang Wang, Peng Wang, Zhenheng Yang, Chenxu Luo, Yi Yang et Wei Xu de juin 2019.
La méthode de calcul par flux optique est réalisée par un réseau de neurones convolutif (en anglais « Convolutional Neural Networks », CNN). Ce type d’outil est couramment utilisé dans le cadre du traitement d’images.
La donnée de sortie de cette opération 22 est un flux optique représentatif d’un déplacement entre chaque pixel du premier ensemble de pixels de la première image et le deuxième pixel correspondant à chaque premier pixel dans la deuxième image.
De même, dans une étape 32, un quatrième ensemble de pixels de la première image correspondant à un troisième ensemble de pixels de la deuxième image est déterminé et des deuxièmes données géométriques associant les pixels du troisième ensemble de pixels aux pixels du quatrième ensemble de pixels sont obtenues par mise en œuvre du réseau de neurones convolutif.
La donnée de sortie de cette opération 32 est un flux optique représentatif d’un déplacement entre chaque pixel du troisième ensemble de pixels de la deuxième image et le quatrième pixel correspondant à chaque troisième pixel dans la première image.
Dans une étape 23, une troisième image est reconstruite à partir de la première image et des premières données géométriques.
Dans une étape 33, une quatrième image est reconstruite à partir de la deuxième image et des deuxièmes données géométriques.
Les troisième et respectivement quatrième images sont reconstruites à l’aide de la formule suivante :
[Math 5]
,
avec :
- un pixel de la troisième image, respectivement quatrième image ;
- le flux optique associé à un pixel source de la première image, respectivement deuxième image.
Dans une étape 24, une première erreur de reconstruction est déterminée pour chaque pixel de la deuxième image en comparant la deuxième image à la troisième image.
De la même manière, dans une étape 34, une deuxième erreur de reconstruction est déterminée pour chaque pixel de la première image en comparant la première image à la quatrième image.
Les première et respectivement deuxième erreurs sont déterminées par la fonction de perte suivante :
[Math 6]
Avec :
- est une valeur du pixel dans la deuxième image, respectivement la première image ;
- est une valeur du pixel dans l’image reconstruite : la troisième image, respectivement la quatrième image ;
- SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») est une fonction qui prend en compte une structure locale ; et
- est un facteur de pondération dépendant notamment du type d’environnement.
Dans une étape 25, une troisième erreur est déterminée à partir des première et deuxième erreurs. Cette troisième erreur est définie par la fonction de perte suivante :
[Math 7]
avec :
- la première erreur de reconstruction pour un pixel pour un système de vision stéréoscopique utilisant une méthode de calcul par flux optique ;
- la deuxième erreur de reconstruction pour un pixel pour un système de vision stéréoscopique utilisant une méthode de calcul par flux optique.
Les paramètres d’entrée du réseau de neurones convolutif sont alors ajustés en minimisant la troisième erreur. Le réseau de neurones convolutif est alors dit auto-supervisé car il est en mesure d’ajuster de façon autonome ses paramètres d’entrée afin d’améliorer les données de sortie, ici les premiers et deuxièmes paramètres géométriques.
Dans une étape 26, un masque de visibilité associé au premier ensemble de pixels de la première image est déterminé. Ce masque de visibilité est obtenu par comparaison respective des première et deuxième erreurs à des valeurs seuil prédéfinies et est obtenu par exemple par la fonction suivante :
[Math 8]
avec :
- une fonction rendant 0 ou 1 ;
- l’union des pixels ;
- la première erreur de reconstruction pour un pixel de la deuxième image pour un système de vision stéréoscopique utilisant une méthode de calcul par flux optique ;
- la deuxième erreur de reconstruction pour un pixel de la première image pour un système de vision stéréoscopique utilisant une méthode de calcul par flux optique ;
- un opérateur ET ; et
- , et des paramètres déterminés.
L’erreur du pixel non visible dans l’image cible, mais visible dans l’image source, doit dépasser un certain niveau défini par la valeur , lorsque l’erreur de la reconstruction de l’autre sens doit être inférieure à un certain niveau défini par la valeur . La différence notable entre et est liée à la maturité de l’entrainement du modèle d’apprentissage.
Le symbole ⋃ signifie l’union des pixels, sous condition que le nombre de pixels de cet union soit plus grand que le critère . Par expérience la valeur de est, par exemple, supérieure à 4 pixels. Le symbole l indique le masque de visibilité résulte d’un opérateur logique, soit 1 ou 0.
Selon un troisième mode de réalisation, les première et deuxième images sont prises par deux caméras 11 distinctes à un même instant temporel t1. Le système de vision est alors un système de vision stéréoscopique tel que présenté dans la .
Selon ce deuxième mode de réalisation, les premières données géométriques correspondent à des disparités.
Afin de faciliter l’analyse des deux images reçues, les première et deuxième images sont rectifiées suivant une méthode connue de l’homme du métier. Une telle méthode est décrite, par exemple, dans « Rectification Projective d’Images Stéréo non Calibrées Infrarouges avec prise en compte globale de la minimisation des distorsions » de Benoit Ducarouge, Thierry Sentenac, Florian Bugarin et Michel Devy du 16 juillet 2009.
La méthode de rectification consiste à réorienter les lignes épipolaires pour qu’elles soient parallèles avec l’axe horizontal de l’image. Cette méthode est décrite par une transformation qui projette les épipoles à l’infini et dont les points correspondants sont nécessairement sur une même ordonnée.
Un algorithme de rectification consiste, par exemple, en 4 étapes :
- Faire pivoter (virtuellement) la première caméra 11 pour que l'épipole aille à l'infini le long de l'axe horizontal du repère qui lui est associé;
- Appliquer la même rotation à la deuxième caméra pour se retrouver dans la configuration géométrique initiale;
- Faire pivoter la deuxième caméra de la rotation associée à la matrice de rotation ‘R’, correspondant au paramètre extrinsèque du système de vision stéréoscopique de départ;
- Ajuster l'échelle dans les deux repères caméras.
Il est à noter que la rectification simplifie la mise en correspondance des pixels des images stéréo, c’est-à-dire obtenues par un système de vision stéréoscopique. Le pixel correspondant dans la deuxième image à un pixel de la première image (et réciproquement) est positionné sur la même ligne. A partir de la connaissance de la géométrie épipolaire et donc d’une matrice fondamentale du système stéréo, l’objectif est alors de déterminer une paire de transformations projectives, appelée homographies, qui réorientent les projections épipolaires parallèlement aux lignes des images, donc à l’axe horizontal des caméras rectifiées.
Dans une étape 22, un deuxième ensemble de pixels de la deuxième image correspondant à un premier ensemble de pixels de la première image est déterminé et des premières données géométriques associant les pixels du premier ensemble de pixels aux pixels du deuxième ensemble de pixels sont obtenues par mise en œuvre d’un réseau de neurones convolutif, cette étape est appelée « appariement stéréo » (en anglais « feature matching »).
L'appariement stéréo ou l'estimation de la disparité est le processus de recherche des pixels dans les vues stéréoscopiques qui correspondent au même point 3D dans la scène. La géométrie épipolaire rectifiée simplifie ce processus de recherche de correspondances sur une même ligne épipolaire. Il n'est pas nécessaire de calculer les coordonnées du point 3D pour trouver le pixel correspondant sur la même ligne de l'autre image. La disparité est la distance d entre un pixel et sa correspondance dans l'autre image. Cette disparité est horizontale lorsque les images sont rectifiées, l’horizontalité étant définie suivant la direction x de la première image.
La donnée de sortie de cette opération 22 est une disparité représentative d’un déplacement entre chaque pixel du premier ensemble de pixels de la première image et le deuxième pixel correspondant à chaque premier pixel dans la deuxième image.
De même, dans une étape 32, un quatrième ensemble de pixels de la première image correspondant à un troisième ensemble de pixels de la deuxième image est déterminé et des deuxièmes données géométriques associant les pixels du troisième ensemble de pixels aux pixels du quatrième ensemble de pixels sont obtenues par mise en œuvre du réseau de neurones convolutif.
La donnée de sortie de cette opération 32 est une disparité représentative d’un déplacement entre chaque pixel du troisième ensemble de pixels de la deuxième image et le quatrième pixel correspondant à chaque troisième pixel dans la première image.
Dans une étape 23, une troisième image est reconstruite à partir de la première image et des premières données géométriques.
Dans une étape 33, une quatrième image est reconstruite à partir de la deuxième image et des deuxièmes données géométriques.
Les troisième et respectivement quatrième images sont reconstruites à l’aide de la formule suivante :
[Math 9]
avec :
- l’abscisse d’un pixel de la troisième image, respectivement quatrième image ;
- l’abscisse d’un pixel de la première image, respectivement deuxième image ; et
- une disparité déterminée pour un pixel de la première image, respectivement deuxième image.
Dans une étape 24, une première erreur de reconstruction est déterminée pour chaque pixel de la deuxième image en comparant la deuxième image à la troisième image.
De la même manière, dans une étape 34, une deuxième erreur de reconstruction est déterminée pour chaque pixel de la première image en comparant la première image à la quatrième image.
Les première et respectivement deuxième erreurs sont déterminées par la fonction de perte suivante :
[Math 10]
Avec :
- est une valeur du pixel dans la deuxième image, respectivement la première image ;
- est une valeur du pixel dans l’image reconstruite : la troisième image, respectivement la quatrième image ;
- SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») est une fonction qui prend en compte une structure locale ; et
- est un facteur de pondération dépendant notamment du type d’environnement.
Dans une étape 25, une troisième erreur est déterminée à partir des première et deuxième erreurs. Cette troisième erreur est définie par la fonction de perte suivante :
[Math 11]
avec :
- la première erreur de reconstruction pour un pixel pour un système de vision stéréoscopique utilisant une méthode de calcul de disparité ;
- la deuxième erreur de reconstruction pour un pixel pour un système de vision stéréoscopique utilisant une méthode de calcul de disparité.
Les paramètres d’entrée du réseau de neurones convolutif sont alors ajustés en minimisant la troisième erreur. Le réseau de neurones convolutif est alors dit auto-supervisé car il est en mesure d’ajuster de façon autonome ses paramètres d’entrée afin d’améliorer les données de sortie, ici les premiers et deuxièmes paramètres géométriques.
Dans une étape 26, un masque de visibilité associé au premier ensemble de pixels de la première image est déterminé. Ce masque de visibilité est obtenu par comparaison respective des première et deuxième erreurs à des valeurs seuil prédéfinies et est obtenu par exemple par la fonction suivante :
[Math 12]
avec :
- une fonction rendant 0 ou 1 ;
- l’union des pixels ;
- la première erreur de reconstruction pour un pixel de la deuxième image pour un système de vision stéréoscopique utilisant une méthode de calcul de disparité ;
- la deuxième erreur de reconstruction pour un pixel de la première image pour un système de vision stéréoscopique utilisant une méthode de calcul de disparité ;
- un opérateur ET ; et
- , et des paramètres déterminés.
L’erreur du pixel non visible dans l’image cible, mais visible dans l’image source, doit dépasser un certain niveau défini par la valeur , lorsque l’erreur de la reconstruction de l’autre sens doit être inférieure à un certain niveau défini par la valeur . La différence notable entre et est liée à la maturité de l’entrainement du modèle d’apprentissage.
Le symbole ⋃ signifie l’union des pixels, sous condition que le nombre de pixels de cet union soit plus grand que le critère . Par expérience la valeur de est, par exemple, supérieure à 4 pixels. Le symbole l indique le masque de visibilité résulte d’un opérateur logique, soit 1 ou 0.
Ainsi, la définition d’un masque de visibilité permet d’identifier les pixels visibles dans la première image et non visibles dans la seconde image via l’un des modes de réalisations présentés.
Si l’ADAS utilise des donnée d’entrée telles que les profondeurs déterminées par le système de vision monoscopique 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 si la profondeur prédite est fiable lorsque le pixel est bien visible dans les première et deuxième images.
Bien entendu, la présente invention ne se limite pas aux exemples de réalisation décrits ci-avant mais s’étend à un procédé de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule, qui inclurait des étapes secondaires sans pour cela sortir de la portée de la présente invention. Il en serait de même d’un dispositif configuré pour la mise en œuvre d’un tel procédé.
La présente invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule autonome à moteur terrestre, comprenant le dispositif 4 de la .

Claims (10)

  1. Procédé de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule (10), le système de vision comprenant au moins une caméra (11) disposée de manière à acquérir une image d’une scène selon un point de vue déterminé,
    ledit procédé étant caractérisé en ce qu’il comprend les étapes suivantes :
    - réception (21, 31) de premières et deuxièmes données respectivement représentatives d’une première et deuxième images acquises selon un point de vue différent par ladite au moins une caméra (11) ;
    - détermination (22) d’un deuxième ensemble de pixels de ladite deuxième image correspondant à un premier ensemble de pixels de ladite première image et obtention de premières données géométriques associant les pixels dudit premier ensemble de pixels aux pixels dudit deuxième ensemble de pixels par mise en œuvre d’un réseau de neurones convolutif ;
    - reconstruction (23) d’une troisième image à partir de ladite première image et desdites premières données géométriques ;
    - détermination (24) d’une première erreur de reconstruction par comparaison desdites troisième et deuxième images ;
    - détermination (32) d’un quatrième ensemble de pixels de ladite première image correspondant à un troisième ensemble de pixels de ladite deuxième image et obtention de deuxièmes données géométriques associant les pixels dudit troisième ensemble de pixels aux pixels dudit quatrième ensemble de pixels par mise en œuvre dudit réseau de neurones convolutif ;
    - reconstruction (33) d’une quatrième image à partir de ladite deuxième image et desdites deuxièmes données géométriques ;
    - détermination (34) d’une deuxième erreur de reconstruction par comparaison desdites quatrième et première images ;
    - détermination (25) d’une troisième erreur à partir desdites première et deuxième erreurs et ajustement de paramètres d’entrée dudit réseau de neurones convolutif par minimisation de ladite troisième erreur ;
    - détermination (26) d’un masque de visibilité associé audit premier ensemble de pixels de ladite première image à partir desdites première et deuxième erreurs par comparaison respective desdites première et deuxième erreurs à des valeurs seuil prédéfinies.
  2. Procédé selon la revendication 1, pour lequel lesdites première et respectivement deuxième erreurs sont obtenues par la fonction de perte suivante :
    Avec :
    - une valeur du pixel dans la deuxième image, respectivement la première image ;
    - une valeur du pixel dans l’image reconstruite : la troisième image, respectivement la quatrième image ;
    - SSIM (de l’anglais « structural similarity index measure », en français « mesure de l'indice de similarité structurelle ») une fonction qui prend en compte une structure locale ; et
    - un facteur de pondération dépendant notamment du type d’environnement.
  3. Procédé selon la revendication 2, pour lequel ladite troisième erreur est obtenue par la fonction de perte suivante :
    avec :
    - ladite première erreur de reconstruction pour un pixel de la deuxième image ;
    - ladite deuxième erreur de reconstruction pour un pixel de la première image.
  4. Procédé selon la revendication 2 ou 3, pour lequel le masque de visibilité est déterminé par la fonction suivante :
    avec :
    - une fonction rendant 0 ou 1 ;
    - l’union des pixels ;
    - ladite première erreur de reconstruction pour un pixel de la deuxième image ;
    - ladite deuxième erreur de reconstruction pour un pixel de la première image ;
    - un opérateur ET ; et
    - , et des paramètres déterminés.
  5. Procédé selon l’une des revendications 1 à 4, pour lequel ledit système de vision est un système de vision monoscopique formé d’une unique caméra (11) en mouvement, ladite première image étant acquise à un premier instant temporel et ladite deuxième image étant acquise à un deuxième instant temporel antérieur audit premier instant temporel.
  6. Procédé selon la revendication 5, pour lequel lesdites premières et deuxièmes données géométriques sont chacune représentatives d’un déplacement de ladite caméra (11) entre les deuxième et premier instants temporels,
    la reconstruction desdites troisième et respectivement quatrième images étant obtenues par la formule suivante :
    avec :
    - une fonction pour passer de coordonnées homogènes à des coordonnées pixels en supprimant une dimension d’un vecteur ;
    - une matrice intrinsèque de la caméra (11) associée à la projection d’un point de l’espace aux coordonnées en 3 dimensions dans l’image aux coordonnées en 2 dimensions ;
    - une matrice de déplacement entre les positions de la caméra (11) au premier instant temporel d’acquisition et au deuxième instant temporel d’acquisition ;
    - une fonction de rétroprojection dans la scène d’un pixel en fonction de sa profondeur ;
    - est une profondeur du pixel prédite par le système de vision monoscopique.
  7. Procédé selon l’une des revendications 1 à 4, pour lequel ledit système de vision est un système de vision stéréoscopique comprenant deux caméras (11) disposées de manière à acquérir chacune une image d’une scène à un même instant temporel selon un point de vue différent, des axes optiques représentatifs d’une orientation du champ de vision de chaque caméra étant orientés de façon non parallèle, lesdites première et deuxième images étant acquises par respectivement une première et une deuxième caméra (11).
  8. Procédé selon la revendication 7, pour lequel lesdites premières et deuxièmes données géométriques sont chacune représentatives d’un flux optique déterminé à partir des première et deuxième images par une méthode de calcul par flux optique,
    la reconstruction desdites troisième et respectivement quatrième images étant obtenues par la formule suivante :
    ,
    avec :
    - un pixel de la troisième image, respectivement quatrième image ;
    - le flux optique associé à un pixel source de la première image, respectivement deuxième image.
  9. Procédé selon la revendication 7, pour lequel lesdites premières et deuxièmes données géométriques sont chacune représentatives de disparités déterminées à partir des première et deuxième images,
    la reconstruction desdites troisième et respectivement quatrième images étant obtenues par la formule suivante :
    avec :
    - l’abscisse d’un pixel de la troisième image, respectivement quatrième image ;
    - l’abscisse d’un pixel de la première image, respectivement deuxième image ; et
    - une disparité déterminée pour un pixel de la première image, respectivement deuxième image.
  10. Dispositif (4) de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule (10), ledit dispositif (4) comprenant une mémoire (41) associée à au moins un processeur (40) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 8.
FR2303337A 2023-04-04 2023-04-04 Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule. Active FR3147647B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2303337A FR3147647B1 (fr) 2023-04-04 2023-04-04 Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule.
PCT/FR2024/050268 WO2024209139A1 (fr) 2023-04-04 2024-03-04 Procédé et dispositif de détermination d'un masque de visibilité par un système de vision embarqué dans un véhicule

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2303337 2023-04-04
FR2303337A FR3147647B1 (fr) 2023-04-04 2023-04-04 Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule.

Publications (2)

Publication Number Publication Date
FR3147647A1 true FR3147647A1 (fr) 2024-10-11
FR3147647B1 FR3147647B1 (fr) 2025-09-26

Family

ID=86851223

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2303337A Active FR3147647B1 (fr) 2023-04-04 2023-04-04 Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule.

Country Status (2)

Country Link
FR (1) FR3147647B1 (fr)
WO (1) WO2024209139A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140321712A1 (en) * 2012-08-21 2014-10-30 Pelican Imaging Corporation Systems and Methods for Performing Depth Estimation using Image Data from Multiple Spectral Channels
CN113450410A (zh) * 2021-06-29 2021-09-28 浙江大学 一种基于对极几何的单目深度和位姿联合估计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2303337A1 (fr) 1975-03-05 1976-10-01 Lurne Pierre Perfectionnements aux bras de lecture phonographique a pivot et procede d'equilibrage et de reglage de la force d'appui de tels bras

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140321712A1 (en) * 2012-08-21 2014-10-30 Pelican Imaging Corporation Systems and Methods for Performing Depth Estimation using Image Data from Multiple Spectral Channels
CN113450410A (zh) * 2021-06-29 2021-09-28 浙江大学 一种基于对极几何的单目深度和位姿联合估计方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JAN FISCHER ET AL: "Detecting dynamic occlusion in front of static backgrounds for AR scenes", VIRTUAL ENVIRONMENTS 2003, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 22 May 2003 (2003-05-22), pages 153 - 161, XP058356789, ISBN: 978-1-58113-686-9, DOI: 10.1145/769953.769971 *
LI XIANGYU ET AL: "DVONet: Unsupervised Monocular Depth Estimation and Visual Odometry", 2019 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP), IEEE, 1 December 2019 (2019-12-01), pages 1 - 4, XP033693910, DOI: 10.1109/VCIP47243.2019.8965952 *
LUO CHENXU ET AL: "Every Pixel Counts ++: Joint Learning of Geometry and Motion with 3D Holistic Understanding", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, IEEE COMPUTER SOCIETY, USA, vol. 42, no. 10, 22 July 2019 (2019-07-22), pages 2624 - 2641, XP011807119, ISSN: 0162-8828, [retrieved on 20200902], DOI: 10.1109/TPAMI.2019.2930258 *
SIMON MEISTER ET AL: "UnFlow: Unsupervised Learning of Optical Flow with a Bidirectional Census Loss", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 21 November 2017 (2017-11-21), XP081300942 *

Also Published As

Publication number Publication date
WO2024209139A1 (fr) 2024-10-10
FR3147647B1 (fr) 2025-09-26

Similar Documents

Publication Publication Date Title
WO2024231616A1 (fr) Procédé et dispositif de détermination d'un masque de visibilité pour un système de vision embarqué dans un véhicule
FR3147647A1 (fr) Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule.
FR3153681A1 (fr) Procédé et dispositif de détermination d’un masque de visibilité par un système de vision embarqué dans un véhicule.
FR3147648A1 (fr) Procédé et dispositif de détermination de masques de visibilité pour un système de vision embarqué dans un véhicule.
FR3153682A1 (fr) Procédé et dispositif de détermination d’un masque de visibilité par un système de vision stéréoscopique embarqué dans un véhicule.
FR3152906A1 (fr) Procédé et dispositif de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique.
FR3147651A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique non parallèle.
FR3148662A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision pseudo-stéréoscopique.
FR3146005A1 (fr) Procédé et dispositif de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique non parallèle embarqué dans un véhicule.
FR3153675A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision monoscopique avec une précision métrique
FR3146006A1 (fr) Procédé et dispositif de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique non parallèle.
FR3153678A1 (fr) Procédé et dispositif de génération de données représentatives d’images pour fiabiliser la détermination de profondeur par un système de vision embarqué dans un véhicule
FR3147650A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision auto-supervisé.
FR3160494A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur pour réduire la perte de consistance d’un système de vision stéréoscopique.
FR3158575A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un réseau de neurones associé à un système de vision embarqué dans un véhicule
WO2024209138A1 (fr) Procédé et dispositif d'étalonnage d'un système de vision stéréoscopique non parallèle embarqué dans un véhicule
FR3147649A1 (fr) Procédé et dispositif de détermination de données représentatives d’au moins un objet dynamique dans une scène par un système de vision monoscopique.
FR3160032A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur associé à un système de vision embarqué dans un véhicule
FR3153677A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique auto-supervisé.
FR3160493A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision stéréoscopique et insensible à l’occlusion.
FR3154837A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique auto-supervisé.
FR3155610A1 (fr) Procédé et dispositif de génération d’images pour véhicule comprenant un système de vision stéréoscopique.
FR3155340A1 (fr) Procédé et dispositif de détermination rapide d’une profondeur par un système de vision stéréoscopique embarqué dans un véhicule.
FR3158382A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique embarqué dans un véhicule
FR3159463A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur associé à un système de vision embarqué dans un véhicule

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20241011

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4