FR3146006A1 - 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. - Google Patents

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. Download PDF

Info

Publication number
FR3146006A1
FR3146006A1 FR2301446A FR2301446A FR3146006A1 FR 3146006 A1 FR3146006 A1 FR 3146006A1 FR 2301446 A FR2301446 A FR 2301446A FR 2301446 A FR2301446 A FR 2301446A FR 3146006 A1 FR3146006 A1 FR 3146006A1
Authority
FR
France
Prior art keywords
image
pixels
pixel
representative
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
FR2301446A
Other languages
English (en)
Other versions
FR3146006B1 (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 FR2301446A priority Critical patent/FR3146006B1/fr
Priority to PCT/FR2024/050052 priority patent/WO2024170837A1/fr
Publication of FR3146006A1 publication Critical patent/FR3146006A1/fr
Application granted granted Critical
Publication of FR3146006B1 publication Critical patent/FR3146006B1/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
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of 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/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
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

L’invention concerne un procédé de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique embarqué dans un véhicule (10), le système de vision stéréoscopique comprenant un ensemble de caméras d’au moins deux caméras (11, 12) disposées de manière à acquérir chacune une image d’une scène selon un point de vue différent, les axes optiques représentatifs d’une orientation du champ de vision de chaque caméra étant orientés de façon non parallèle. Le procédé comprend une étape de détermination d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique en fonction d’une moyenne de ratios entre une distance d’une composante d’un flux optique calculée pour chaque pixel d’une première image suivant une direction déterminée et une norme du flux optique calculé pour chaque pixel. Figure pour l’abrégé : Figure 1

Description

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.
La présente invention concerne les procédés et dispositifs de détection d’un défaut d’étalonnage d’un système de vision stéréo non parallèle embarqué dans un véhicule, par exemple dans un véhicule automobile.
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.
Du bon étalonnage des caméras dépend donc la fiabilité des données issues de ces caméras et le bon fonctionnement des périphériques d’aides à la conduite utilisant ces données.
Résumé de la présente invention
Un objet de la présente invention est de résoudre au moins l’un des problèmes de l’arrière-plan technologique décrit précédemment.
Un autre objet de la présente invention est d’améliorer la fiabilité des données issues de ces caméras.
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étection d’un défaut d’étalonnage d’un système de vision stéréoscopique embarqué dans un véhicule, le système de vision stéréoscopique comprenant un ensemble de caméras d’au moins deux caméras disposées de manière à acquérir chacune une image d’une scène selon un point de vue différent, les axes optiques représentatifs d’une orientation du champ de vision de chaque caméra étant orientés de façon non parallèle, 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 par respectivement une première et deuxième caméras de l’ensemble de caméras à un même premier instant temporel t1 d’acquisition ;
- détection d’au moins un objet dans la scène par analyse de la première image, un ensemble de premiers pixels de la première image étant associé à au moins un objet ;
- détermination d’un ensemble de deuxièmes pixels dans la deuxième image correspondant à l’ensemble de premiers pixels, par mise en œuvre d’une méthode de calcul par flux optique en fonction de l’ensemble de premiers pixels, un flux optique étant représentatif d’un vecteur de déplacement entre chaque premier pixel de l’ensemble de premiers pixels et le deuxième pixel correspondant à chaque premier pixel ;
- détermination d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique en fonction d’une moyenne de ratios entre une distance d’une composante du flux optique calculée pour chaque pixel suivant une direction déterminée et une norme du flux optique calculé pour chaque pixel.
La détermination de la première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique permet de détecter une mauvaise calibration du système de vision stéréoscopique ou un changement de paramètres extrinsèques de ce système.
Par la suite, la comparaison de cette première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique à une première valeur seuil permet d’alerter l’utilisateur sur le fait que la fiabilité du système n’est plus assurée et qu’un nouvel étalonnage de ce système est nécessaire.
Selon une variante de procédé, la détermination d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique est obtenue par la formule suivante :
où :
- ‘LN’ est ladite valeur représentative du défaut d’étalonnage,
- ‘N’ est un nombre de pixels dans ladite première image avec chaque pixel énuméré par ses coordonnées (i,j),
- ‘Fi,j’ est le flux optique correspondant à un pixel de coordonnées (i,j) dans la première image,
- ‘e1’ est un vecteur unitaire définissant la direction déterminée.
Selon une autre variante, le procédé comprend en outre une étape de rectification des première et deuxième images en fonction de paramètres extrinsèques du système de vision stéréoscopique, les paramètres extrinsèques comprenant un paramètre représentatif d’une rotation et un paramètre représentatif d’une translation en trois dimensions entre la première caméra et la deuxième caméra, de manière à rendre les lignes épipolaires horizontales dans les première et deuxième images rectifiées.
La rectification des images rend ainsi l’analyse plus aisée, la rectification simplifie la mise en correspondance des pixels des images stéréo. En effet, le pixel correspondant dans la deuxième image à un pixel de la première image (et réciproquement), est positionné sur une même ligne horizontale.
Selon encore une variante, le procédé comprend en outre une étape de détermination d’un premier masque de visibilité associé à la première image et représentatif d’un ensemble de pixels de la première image ayant au moins un pixel correspondant dans la deuxième image, le premier masque de visibilité étant déterminé par la méthode de calcul par flux optique,
la première valeur représentative d’un défaut d’étalonnage étant en outre déterminée en fonction du premier masque de visibilité.
L’utilisation du premier masque de visibilité pour la détermination d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique permet ainsi d’exclure des valeurs aberrantes de flux optique.
Selon une autre variante, le procédé comprend en outre les étapes suivantes :
- calcul d’une première profondeur associée à au moins un objet à partir de coordonnées des ensembles de premiers et deuxièmes pixels, de distances focales des première et deuxième caméras et d’une distance entre la première caméra et la deuxième caméra ;
- réception de troisièmes données représentatives d’une troisième image acquise par la première caméra à un deuxième instant temporel t2 antérieur au premier instant temporel t1 d’acquisition de la première image ;
- détermination d’un ensemble de troisièmes pixels dans la troisième image correspondants à l’ensemble de premiers pixels déterminé par la méthode de calcul par flux optique ;
- calcul d’une deuxième profondeur associée à au moins un objet à partir de coordonnées des ensembles de premiers et troisièmes pixels, de la distance focale de la première caméra, de la translation et de la rotation de la première caméra entre le premier instant temporel t1 d’acquisition et le deuxième instant temporel d’acquisition ;
- détermination d’une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique par comparaison des première et deuxième profondeurs des premiers pixels calculées.
La détermination de la deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique permet de détecter une mauvaise calibration du système de vision stéréoscopique ou un changement de paramètres extrinsèques de ce système.
Par la suite, la comparaison de cette deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique à une deuxième valeur seuil permet d’alerter l’utilisateur sur le fait que la fiabilité du système n’est plus assurée et qu’un nouvel étalonnage de ce système est nécessaire.
Selon une variante supplémentaire, la détermination d’une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique est obtenue par la formule suivante :
, où :
- ‘LD’ est la deuxième valeur représentative d’un défaut d’étalonnage ;
- ‘N’ est un nombre de pixels dans la première image avec chaque pixel énuméré par ses coordonnées (i,j) ;
- ‘ ’ est la première profondeur calculée pour un pixel de coordonnées (i,j) associé à le au moins un objet dans la première image ; et
- ‘ ’ est la deuxième profondeur calculée pour un pixel de coordonnées (i,j) associé à le au moins un objet dans la première image.
Selon une autre variante, le procédé comprend en outre une étape de détermination d’un deuxième masque de visibilité associé à la première image et représentatif d’un ensemble de pixels de la première image ayant au moins un pixel correspondant dans la troisième image, le deuxième masque de visibilité étant déterminé par la méthode de calcul par flux optique,
la deuxième valeur représentative d’un défaut d’étalonnage étant en outre déterminée en fonction du deuxième masque de visibilité.
L’utilisation du deuxième masque de visibilité pour la détermination d’une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique permet ainsi d’exclure des valeurs aberrantes de flux optique.
Selon encore une variante, le procédé comprend en outre une étape de détermination d’un masque d’objets dynamiques associé à la première image et représentatif d’un ensemble de pixels de la première image associé à au moins un objet en mouvement dans la scène,
la deuxième valeur représentative d’un défaut d’étalonnage étant en outre déterminée en fonction du masque d’objets dynamiques.
L’utilisation du masque d’objets dynamiques pour la détermination d’une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique permet ainsi d’exclure des valeurs de flux optique faussées par le déplacement propre d’un objet dans la scène.
Selon un deuxième aspect, la présente invention concerne un dispositif de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique embarqué dans un véhicule, le dispositif comprenant une mémoire associée à 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 stéréoscopique non parallèle é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étection d’un défaut d’étalonnage d’un système de vision stéréoscopique 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 opérations d’un processus de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique non parallèle 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étection d’un défaut d’étalonnage d’un système de vision stéréoscopique non parallèle 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étection d’un défaut d’étalonnage d’un système de vision stéréoscopique embarqué dans un véhicule vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 4. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.
Selon un exemple particulier et non limitatif de réalisation de la présente invention, un procédé de détection d’un défaut d’étalonnage d’un système de vision stéréoscopique embarqué dans un véhicule, dit système stéréo, est par exemple mis en œuvre par un calculateur du système embarqué du véhicule contrôlant ce système stéréo.
Le système stéréo comprend un ensemble de caméras d’au moins deux caméras disposées de manière à acquérir chacune une image d’une scène selon un point de vue différent, les axes optiques représentatifs d’une orientation du champ de vision de chaque caméra étant orientés de façon non parallèle. Le système de vision stéréoscopique est ainsi dit non parallèle.
A cet effet, le procédé comprend la réception de premières et deuxièmes données respectivement représentatives d’une première et deuxième images acquises par respectivement une première et deuxième caméras à un même instant temporel t1 d’acquisition, la détection d’au moins un objet dans la scène par analyse de la première image, un ensemble de premiers pixels de la première image étant associé à au moins un objet, la détermination d’un ensemble de deuxièmes pixels dans la deuxième image correspondant à l’ensemble de premiers pixels, par mise en œuvre d’une méthode de calcul par flux optique en fonction de l’ensemble de premiers pixels, un flux optique étant représentatif d’un vecteur de déplacement entre chaque premier pixel de l’ensemble de premiers pixels et le deuxième pixel correspondant à chaque premier pixel et la détermination d’une première valeur représentative d’un défaut d’étalonnage du système stéréo en fonction d’une moyenne de ratios entre une distance d’une composante du flux optique calculée pour chaque pixel suivant une direction déterminée et une norme du flux optique calculé pour chaque pixel.
La illustre schématiquement un système stéréo non parallèle équipant un véhicule 10 évoluant dans un environnement 1, 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.
Il est à noter que le véhicule 10 est soit en mouvement, soit à l’arrêt dans l’environnement 1.
Le véhicule 10 comprend avantageusement plusieurs caméras 11, 12 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, 12 forme le système de vision stéréoscopique. Deux caméras 11 et 12 sont illustrées sur la . L’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 stéréoscopique comprenant 2 ou plus caméras, par exemple 2, 3, 4 ou 5 caméras.
Les deux caméras 11, 12 disposent de paramètres intrinsèques connus. Ces paramètres se composent notamment de :
- la distance focale f1 de la première caméra 11 ;
- la distance focale f2 de la deuxième caméra 12 ;
- les distorsions qui sont dues aux imperfections du système optique de chaque caméra ;
- la direction C1 de l’axe optique de la première caméra 11 ;
- la direction C2 de l’axe optique de la deuxième caméra 12 ; et
- les résolutions respectives des caméras 11, 12.
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 deux caméras 11, 12 sont disposées de manière à acquérir chacune une image d’une scène selon un point de vue différent, le premier point de vue est par exemple localisé sur ou dans le rétroviseur gauche du véhicule 10 ou en haut du pare-brise du véhicule 10, le deuxième point de vue est par exemple localisé sur ou dans le rétroviseur droit du véhicule 10 ou en haut du pare-brise du véhicule 10. Dans le cas où les deux caméras sont situées en haut du pare-brise du véhicule, celles-ci sont alors placées à une certaine distance. Dans cet exemple, la première caméra 11 est située en haut du pare-brise du véhicule 10, la deuxième caméra 12 est située dans le rétroviseur droit du véhicule 10.
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 12, de manière à placer la deuxième caméra 12 sur l’axe y de la première caméra 11. La distance B séparant les deux caméras 11, 12 est appelée base de référence (en anglais « baseline ») et la direction séparant les deux caméras 11, 12 est 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, 12 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.
Déterminer les paramètres extrinsèques constitue le problème de la calibration d'un système de vision stéréoscopique.
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, 12 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, 12 couvrant toutes deux un troisième champ d’acquisition 15. Les premier et troisième champs d’acquisition 13, 15 permettent ainsi une vision monoscopique de la scène par la première caméra 11, les deuxième et troisième champs d’acquisition 14, 15 permettent une vision monoscopique de la scène par la deuxième caméra 12 et le troisième champ d’acquisition 15 permet une vision stéréoscopique de la scène par le système stéréo composé des deux caméras 11, 12.
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 stéréo 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, 12 à un premier instant temporel 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, 12 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étection d’un défaut d’étalonnage d’un système de vision stéréoscopique 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, 3 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 opérations d’un processus de détection d’un défaut d’étalonnage d’un système stéréo non parallèle embarqué dans le véhicule de la , selon un exemple de réalisation particulier et non limitatif de la présente invention.
Le processus 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 stéréo.
Dans une première opération 21, le calculateur reçoit des premières données représentatives d’une première image acquise par une première caméra 11 de l’ensemble de caméras à un premier instant temporel t1 d’acquisition.
Dans une deuxième opération 22, le calculateur reçoit des deuxièmes données représentatives d’une deuxième image acquise par une deuxième caméra 12 de l’ensemble de caméras au même premier instant temporel t1 d’acquisition.
Les deux images reçues correspondent à deux vues d’une même scène se déroulant aux alentours du véhicule 10 à même premier instant temporel t1 donné.
Afin de faciliter l’analyse des deux images reçues, ces images sont rectifiées dans une troisième opération 26, 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 stéréo de départ;
- Ajuster l'échelle dans les deux repères caméras.
Il est à noter que cette opération 26 est optionnelle, en effet la rectification simplifie la mise en correspondance des pixels des images stéréo. 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.
L’opération suivante 23 consiste à détecter au moins un objet dans la scène par analyse de la première image, un ensemble de premiers pixels de la première image étant associé à au moins un objet. Cette opération revient à extraire les éléments caractéristiques (en anglais « feature extraction ») de la première image.
Une méthode d’extraction des caractéristiques est connue de l’homme du métier, comme la méthode SIFT (de l’anglais « Scale Invariant Feature Transform », en français « Transformation de caractéristique invariante à l'échelle ») ou la méthode « Corner Detection » (en français « Détection d’Angle »).
L’opération suivante consiste à la détermination 24 d’un ensemble de deuxièmes pixels dans la deuxième image correspondant à l’ensemble de premiers pixels, cette opération 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 horizontale dans l'autre image.
L’opération 24 d’appariement stéréo se fait par mise en œuvre d’une méthode de calcul par flux optique (en anglais « optical flow ») en fonction de l’ensemble de premiers pixels. 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 exemple, 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 24 est un flux optique représentatif d’un vecteur de déplacement entre chaque premier pixel de l’ensemble de premiers pixels de la première image et le deuxième pixel correspondant à chaque premier pixel dans la deuxième image.
Ce flux optique est utilisé dans l’opération de détermination 25 d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique.
Cette première valeur est définie en fonction d’une moyenne de ratios entre une distance d’une composante du flux optique calculée pour chaque pixel suivant une direction déterminée et une norme du flux optique calculé pour chaque pixel. Elle est obtenue par la formule suivante :
avec :
- ‘LN’ est la première valeur représentative d’un défaut d’étalonnage ;
- ‘N’ est un nombre de pixels dans la première image avec chaque pixel énuméré par ses coordonnées (i,j) ;
- ‘Fi,j’ est le vecteur de flux optique correspondant à un pixel de coordonnées (i,j) dans la première image ; et
- ‘e1’ est un vecteur unitaire définissant une direction déterminée : celle de l’axe y ramenée dans la première image.
Il est à noter que dans le cas où les images ont été rectifiées, le vecteur unitaire ‘e1’ est le vecteur horizontal d’unité et a pour coordonnées (1,0).
Il est possible qu’un pixel de la première image ne trouve pas de pixel correspondant dans la deuxième image. Ce phénomène s’explique par le fait que des zones de la première image peuvent être occluses dans la deuxième image. En effet, la différence de point de vue des deux caméras 11, 12 ne permet pas aux deux caméras 11, 12 de voir tous les éléments de la scène. Un objet présent dans la scène peut masquer un second objet de la scène, le second objet étant visible du point de vue de la première caméra 11 mais étant masqué par le premier objet du point de vue de la deuxième caméra 12.
Une opération de détermination 27 des zones occluses de la première image consiste à déterminer un premier masque de visibilité associé à la première image et représentatif d’un ensemble de pixels de la première image ayant au moins un pixel correspondant dans la deuxième image, le premier masque de visibilité étant déterminé par la méthode de calcul par flux optique précédemment exposée.
Le masque de visibilité est, par exemple, défini par la formule suivante :
Avec :
- est une fonction qui donne 1 ou 0 selon l’opérateur logique ;
- l’indice indique le pixel « source » qui est dans la deuxième image ;
- l’indice indique le pixel « target » (en français « cible ») qui est dans la première image ;
- est le flux optique ;
- est un opérateur de sommation.
La détermination du masque de visibilité permet de ne pas prendre en compte d’éventuelles valeurs aberrantes de flux optique pour des pixels de la première image qui n’ont pas de correspondance dans la deuxième image. En utilisant le masque de visibilité dans l’opération de détermination 25 d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique, la formule devient alors :
.
Ainsi, la détermination 25 d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique est fiabilisée.
Selon la résolution des images rectifiées, il est possible de ne prendre en considération uniquement qu’une partie des pixels autour la valeur moyenne de flux optique pour la détermination de l’erreur d’étalonnage. Cette discrimination permet d’éviter de prendre en compte des valeurs aberrantes qui peuvent résulter d’un défaut du réseau de neurones convolutif. On pourrait par exemple calculer une moyenne M et un écart type σ des normes des flux optiques obtenus pour l’ensemble des pixels de la première image et se limiter aux pixels dont la norme du flux optique est telle que :
M-1,96*σ < < M+1,96* σ.
La présente invention consiste donc à utiliser le flux optique pour vérifier l’étalonnage d’un système stéréo, notamment pour vérifier les paramètres extrinsèques qui sont Ry et Rz correspondant respectivement aux rotations autour des axes y et z et Tx et Tz correspondant respectivement aux translations suivant les axes x et z.
Dans le cas où les première et deuxième images sont rectifiées, le flux optique est normalement horizontal. L’erreur de l’étalonnage résultant de la rotation des pixels est décrit par la moyenne déviation de la ligne horizontale calculée.
Cette définition est plus facilement interprétable que la contrainte épipolaire couramment utilisée. Pour une certaine déviation angulaire, l’effet du bruit sur les projections des objets de différents distances est similaire parce que la disparité et la projection du flux optique suivant e1sont toutes les deux proportionnelles à la distance séparant la première caméra 11 de l’objet détecté.
On peut ainsi définir plus facilement une valeur seuil selon la performance du réseau de neurones convolutif et la qualité du système stéréo à partir de laquelle il convient de recalibrer le système stéréo.
La détermination 25 d’une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique permet de vérifier quatre des six paramètres extrinsèques du système stéréo. Afin de déterminer un éventuel défaut d’étalonnage des deux autres paramètres extrinsèques du système stéréo, Ty et Rx, le processus comprend des opérations suivantes.
Dans une opération 28, une première profondeur associée à au moins un objet est calculée à partir de coordonnées des ensembles de premiers et deuxièmes pixels, de la distance focale f1 de la première caméra 11 et de la distance B entre la première caméra 11 et la deuxième caméra 12.
La première profondeur (« depth » en anglais) associée à au moins un objet est calculée, par exemple, suivant une formule connue de l’homme du métier :
Avec :
- est la profondeur du pixel de la première image ;
- l’indice s signifie « stéréo » car la profondeur est calculée ici pour le système stéréo ;
- l’indice t signifie « target » (« cible » en français) ;
- f est la distance focale f1 en unité pixel ;
- B est la distance entre les deux caméras du système stéréo ;
- d est la disparité du pixel en unité pixel, définie comme le déplacement d’un pixel de la première image à la deuxième image, ce déplacement est horizontal quand les images sont rectifiées.
Ce calcul est d’une précision métrique, c’est-à-dire que la profondeur mesurée ici est absolue et non relative. Dans le cas où les paramètres extrinsèques du système restent inchangés, ce calcul de profondeur est très précis.
A l’inverse, si la distance B entre les caméras 11, 12 a été modifiée après calibration du système stéréo, le calculateur reste en mesure de calculer une profondeur pour les pixels de la première image mais cette profondeur calculée est fausse. Cette profondeur étant inversement proportionnelle à la distance B, les profondeurs calculées seront inversement proportionnelles au décalage de la distance B. Il en résulte un défaut d’échelle, les profondeurs calculées entre divers objets sont relativement correctes, c’est-à-dire qu’un premier objet détecté plus près du véhicule 10 qu’un second objet par le système stéréo est en effet plus proche du véhicule 10. Néanmoins, la profondeur du premier objet, donc la distance séparant le véhicule du premier objet n’est pas correcte. Il en résulte une mauvaise information communiquée à d’éventuels systèmes ADAS et donc une mauvaise action ou information en sortie du système ADAS recevant ces données de profondeur.
Dans une opération 31, le calculateur reçoit des troisièmes données représentatives d’une troisième image acquise par la première caméra 11 à un deuxième instant temporel t2 d’acquisition.
Cet instant t2 est antérieur au premier instant temporel t1 d’acquisition.
Les troisièmes données ont par exemple, été sauvegardées dans une mémoire associée au calculateur ou dans une mémoire d’un dispositif embarqué dans le véhicule 10 et accessible au calculateur mettant en œuvre le processus.
Si le véhicule 10 est en mouvement, alors la troisième image correspond à une troisième vue de la scène prise depuis un troisième point de vue, celui de la première caméra 11 à sa position au deuxième instant temporel t2.
Cette position de la première caméra 11 au deuxième instant t2 est définie par le déplacement du véhicule 10 entre les premier et deuxième instants t1 et t2. Ce déplacement est donc lié à la vitesse du véhicule 10 pendant la durée séparant les premier et deuxième instants t1 et t2.
La première caméra dans les deux positions définies aux premier et deuxième instants temporels t1 et t2 forme un système de vision monoscopique. Les paramètres intrinsèques de ce système restent les mêmes que ceux définis précédemment liés à la première caméra 11 pour le système de vision stéréoscopique. Les paramètres extrinsèques de ce système de vision monoscopique sont les paramètres suivants :
- 3 translations dans les directions x, y et z : Tx’, Ty’ et Tz’ constituant le vecteur translation T’ ; et
- 3 rotations autour des axes x, y et z : Rx’, Ry’ et Rz’, constituant la matrice de rotation R’.
Selon un premier mode de réalisation, ces paramètres extrinsèques du système de vision monoscopique sont, par exemple, reçus d’un calculateur traitant des données liées au déplacement du véhicule 10. La vitesse du véhicule 10 peut être définies par la vitesse absolue de déplacement du véhicule, la vitesse de rotation d’une roue ou la vitesse de rotation d’un arbre lié au système de propulsion du véhicule 10. Le pivotement du véhicule peut être déterminé par l’angle du volant ou des roues par exemple.
Selon un deuxième mode de réalisation, ces paramètres sont obtenus à l’aide d’un capteur de type accéléromètre embarqué dans le véhicule 10 et/ou directement lié à la première caméra 11 ou au système de vision monoscopique.
Afin de faciliter l’analyse des première et troisième images reçues, ces images sont, par exemple, rectifiées en fonction des paramètres extrinsèques du système de vision monoscopique dans une opération supplémentaire, suivant une méthode connue de l’homme du métier telle que précisée précédemment.
L’opération suivante 32 consiste à déterminer un ensemble de troisièmes pixels dans la troisième image correspondant à l’ensemble de premiers pixels déterminé par la méthode de calcul par flux optique lors de l’opération 23.
Suivant un autre mode de réalisation, un nouvel ensemble de premiers pixels est déterminé dans la première image qui est rectifiée en fonction des paramètres extrinsèques du système monoscopique. Il est toutefois possible d’associer ce nouvel ensemble de premiers pixels à l’ensemble de premiers pixels définis lors de l’opération 23, les deux rectifications de la première image étant liées géométriquement. Par la suite, ces deux ensembles possibles de premiers pixels sont considérés comme un seul et même ensemble, les caractéristiques géométriques les reliant étant connues il est facile d’identifier ce même ensemble dans chaque première image.
Dans une étape 33, une deuxième profondeur associée à au moins un objet est calculée à partir de coordonnées des ensembles de premiers et troisièmes pixels, de la distance focale f1 de la première caméra 11, de la translation T’ et de la rotation R’ de la première caméra 11 entre le premier instant temporel t1 d’acquisition et le deuxième instant temporel t2 d’acquisition.
La deuxième profondeur (« depth » en anglais) associée à au moins un objet est calculée, par exemple, suivant une formule connue de l’homme du métier :
Avec :
- est la profondeur du pixel de la première image ;
- l’indice m signifie « mono » car la profondeur est calculée ici pour le système de vision monoscopique ;
- l’indice t signifie « target » (« cible » en français) ;
- f est la distance focale f1 en unité pixel ;
- D est la distance entre les deux positions de la première caméra 11 entre les premier et deuxième instants temporels t1 et t2 ;
- d est la disparité du pixel en unité pixel, définie comme le déplacement d’un pixel de la première image à la troisième image, ce déplacement est horizontal quand les images sont rectifiées.
Afin de vérifier l’étalonnage du système stéréo, il convient de déterminer dans une opération 29 une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique par comparaison desdites première et deuxième profondeurs des premiers pixels calculées lors d’opérations précédentes 28, 33.
Ainsi, il est possible, pour des mêmes pixels de la première image, de comparer les profondeurs calculées par les systèmes de vision monoscopique et stéréoscopique, suivant, par exemple, la formule :
avec :
- ‘LD’ est la deuxième valeur représentative d’un défaut d’étalonnage ;
- ‘N’ est un nombre de pixels dans ladite première image avec chaque pixel énuméré par ses coordonnées (i,j) ;
- ‘ ’ est ladite première profondeur calculée lors de l’opération 28 pour un pixel de coordonnées (i,j) dans ladite première image ; et
- ‘ ’ est ladite deuxième profondeur calculée lors de l’opération 33 pour un pixel de coordonnées (i,j) dans ladite première image.
Afin de fiabiliser le calcul de la deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique, il est ici approprié d’ajouter des filtres afin de ne prendre en compte que les pixels pertinents lors du calcul de la deuxième valeur.
Une opération de détermination 34 des zones occluses de la première image consiste à déterminer un deuxième masque de visibilité associé à la première image et représentatif d’un ensemble de pixels de la première image ayant au moins un pixel correspondant dans la troisième image, le deuxième masque de visibilité étant déterminé par la méthode de calcul par flux optique précédemment exposée.
La détermination du masque de visibilité .pour un pixel de coordonnées (i,j) permet de ne pas prendre en compte d’éventuelles valeurs aberrantes de flux optique pour des pixels de la première image qui n’ont pas de correspondance dans la troisième image. L’utilisation du masque de visibilité dans l’opération de détermination 29 d’une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique fiabilise ainsi cette opération.
Une opération de détermination 35 des zones statiques de la première image consiste à déterminer un masque des objets dynamiques associé à la première image et représentatif d’un ensemble de pixels de la première image associés à un objet en mouvement dans la scène.
En effet, les systèmes de vision monoscopique ne sont pas capables de déterminer la profondeur d’un objet en mouvement dans une scène. Afin de ne pas prendre en compte des valeurs non pertinentes, il convient de ne prendre en compte que les pixels de la première image associés à des objets immobiles dans la scène. L’utilisation du masque des objets dynamiques pour un pixel de coordonnées (i,j) dans l’opération de détermination 29 d’une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique fiabilise grandement cette opération.
En combinant le calcul de la deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique avec les masques de visibilité et d’objets dynamiques, la formule de calcul de cette deuxième valeur devient alors :
Avec :
- ‘LD’ est la deuxième valeur représentative d’un défaut d’étalonnage,
- ‘N’ est un nombre de pixels dans ladite première image avec chaque pixel énuméré par ses coordonnées (i,j),
- ‘ ’ est ladite première profondeur calculée lors de l’opération 28 pour un pixel de coordonnées (i,j) dans ladite première image,
- ‘ ’ est ladite deuxième profondeur calculée lors de l’opération 33 pour un pixel de coordonnées (i,j) dans ladite première image,
- ‖ ‖ indique la valeur absolue ;
- est le masque de visibilité du système stéréo défini lors de l’opération 27 ;
- est le masque de visibilité du système de vision monoculaire défini lors de l’opération 34 ; et
- est le masque des objets dynamiques défini lors de l’opération 35.
La détermination 29 d’une deuxième valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique permet de vérifier deux des six paramètres extrinsèques du système stéréo : Ty, incluant la distance B du « baseline », et Rx.
Cette définition est également plus interprétable que la contrainte épipolaire évoquée précédemment.
A partir du calcul des première et deuxième valeurs représentatives d’un défaut d’étalonnage du système stéréo, il est possible de définir une ou plusieurs valeurs seuil à partir desquelles divers scénarios peuvent être déclenchés. Par exemple, il est possible d’afficher dans le véhicule 10, sur un écran ou via l’allumage d’un voyant, une information destinée à prévenir le conducteur que le système de vision stéréo et/ou les ADAS utilisant des données issues de ce système stéréo ne sont pas en mesure d’assurer la totalité de leur(s) fonction(s).
Le conducteur du véhicule 10 est alors en mesure de déceler la nécessité d’un nouvel étalonnage du système stéréo. Le conducteur peut ainsi stationner le véhicule 10 et lancer une procédure d’auto-étalonnage du système stéréo par exemple. Une telle procédure est connue de l’homme du métier et est décrite dans le document « High-Precision Online Markerless Stereo Extrinsic Calibration » de Yonggen Ling et Shaojie Shen du 26 mars 2019.
Après une telle procédure d’auto-étalonnage, il est possible que la deuxième valeur représentative d’un défaut d’étalonnage du système stéréo reste non-nulle. La persistance de cette erreur est dans ce cas due à un défaut de calibration de la distance B du « baseline », suite par exemple à une déformation de la structure du véhicule 10. Une intervention d’un spécialiste est alors nécessaire dans ce cas pour recalibrer le système stéréo.
En résumé, cette invention propose deux manières complémentaires pour détecter un défaut d’étalonnage du système stéréo. Les deux opérations de calcul de ces valeurs permettent ainsi de détecter un défaut d’étalonnage lié à l’ensemble des paramètres extrinsèques du système stéréo.
La illustre un organigramme des différentes étapes d’un procédé de détection d’un défaut d’étalonnage d’un système stéréo non parallèle embarqué dans le véhicule de la , 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 dispositif embarqué dans le premier véhicule 10 ou par le dispositif 4 de la .
Dans une première étape 21, des premières données représentatives d’une première image acquise par une première caméra 11 dudit ensemble de caméras à un premier instant temporel t1 d’acquisition sont reçues.
Dans une deuxième étape 22, des deuxièmes données représentatives d’une deuxième image acquise par une deuxième caméra 12 dudit ensemble de caméras au même premier instant temporel t1 d’acquisition sont reçues.
Dans une troisième étape 23, au moins un objet est détecté dans la scène par analyse de la première image, un ensemble de premiers pixels de la première image étant associé à au moins un objet.
Dans une quatrième étape 24, un ensemble de deuxièmes pixels correspondant à l’ensemble de premiers pixels est déterminé dans la deuxième image, par mise en œuvre d’une méthode de calcul par flux optique en fonction de l’ensemble de premiers pixels, un flux optique étant représentatif d’un vecteur de déplacement entre chaque premier pixel de l’ensemble de premiers pixels et le deuxième pixel correspondant à chaque premier pixel.
Dans une étape 25, une première valeur représentative d’un défaut d’étalonnage du système de vision stéréoscopique est déterminée en fonction d’une moyenne de ratios entre une distance d’une composante du flux optique calculée pour chaque pixel suivant une direction déterminée et une norme du flux optique calculé pour chaque pixel.
Selon une variante, les variantes et exemples des opérations décrits en relation avec les figures 1 et 3 s’appliquent aux étapes du procédé de la .
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étection d’un défaut d’étalonnage d’un système de vision stéréoscopique 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étection d’un défaut d’étalonnage d’un système de vision stéréoscopique embarqué dans un véhicule (10), le système de vision stéréoscopique comprenant un ensemble de caméras d’au moins deux caméras (11, 12) disposées de manière à acquérir chacune une image d’une scène selon un point de vue différent, les axes optiques représentatifs d’une orientation du champ de vision de chaque caméra étant orientés de façon non parallèle,
    ledit procédé étant caractérisé en ce qu’il comprend les étapes suivantes :
    - réception (21, 22) de premières et deuxièmes données respectivement représentatives d’une première et deuxième images acquises par respectivement une première et deuxième caméras (11, 12) dudit ensemble de caméras à un même premier instant temporel d’acquisition ;
    - détection (23) d’au moins un objet dans la scène par analyse de ladite première image, un ensemble de premiers pixels de la première image étant associé audit au moins un objet ;
    - détermination (24) d’un ensemble de deuxièmes pixels dans ladite deuxième image correspondant audit ensemble de premiers pixels, par mise en œuvre d’une méthode de calcul par flux optique en fonction de l’ensemble de premiers pixels, un flux optique étant représentatif d’un vecteur de déplacement entre chaque premier pixel dudit ensemble de premiers pixels et le deuxième pixel correspondant audit chaque premier pixel ;
    - détermination (25) d’une première valeur représentative d’un défaut d’étalonnage dudit système de vision stéréoscopique en fonction d’une moyenne de ratios entre une distance d’une composante dudit flux optique calculée pour chaque pixel suivant une direction déterminée et une norme dudit flux optique calculé pour chaque pixel.
  2. Procédé selon la revendication 1, pour lequel ladite détermination (25) d’une première valeur représentative d’un défaut d’étalonnage dudit système de vision stéréoscopique est obtenue par la formule suivante :
    , où :
    - ‘LN’ est ladite première valeur représentative d’un défaut d’étalonnage ;
    - ‘N’ est un nombre de pixels dans ladite première image avec chaque pixel énuméré par ses coordonnées (i,j) ;
    - ‘Fi,j’ est vecteur dudit flux optique correspondant à un pixel de coordonnées (i,j) dans ladite première image ; et
    - ‘e1’ est un vecteur unitaire définissant ladite direction déterminée.
  3. Procédé selon la revendication 1 ou 2, comprenant en outre une étape de rectification (26) des première et deuxième images en fonction de paramètres extrinsèques du système de vision stéréoscopique, lesdits paramètres extrinsèques comprenant un paramètre représentatif d’une rotation et un paramètre représentatif d’une translation en trois dimensions entre la première caméra (11) et la deuxième caméra (12), de manière à rendre les lignes épipolaires horizontales dans les première et deuxième images rectifiées.
  4. Procédé selon l’une des revendications 1 à 3, comprenant en outre une étape de détermination (27) d’un premier masque de visibilité associé à ladite première image et représentatif d’un ensemble de pixels de ladite première image ayant au moins un pixel correspondant dans ladite deuxième image, ledit premier masque de visibilité étant déterminé par la méthode de calcul par flux optique,
    ladite première valeur représentative d’un défaut d’étalonnage étant en outre déterminée en fonction dudit premier masque de visibilité.
  5. Procédé selon l’une des revendications 1 à 4, comprenant en outre les étapes suivantes :
    - calcul (28) d’une première profondeur associée audit au moins un objet à partir de coordonnées desdits ensembles de premiers et deuxièmes pixels, de distances focales des première et deuxième caméras (11, 12) et d’une distance entre la première caméra (11) et la deuxième caméra (12) ;
    - réception (31) de troisièmes données représentatives d’une troisième image acquise par ladite première caméra (11) à un deuxième instant temporel antérieur audit premier instant temporel d’acquisition de ladite première image ;
    - détermination (32) d’un ensemble de troisièmes pixels dans ladite troisième image correspondants audit ensemble de premiers pixels déterminé par ladite méthode de calcul par flux optique ;
    - calcul (33) d’une deuxième profondeur associée audit au moins un objet à partir de coordonnées desdits ensembles de premiers et troisièmes pixels, de ladite distance focale de la première caméra (11), d’un déplacement de ladite première caméra (11) entre ledit premier instant temporel et ledit deuxième instant temporel;
    - détermination (29) d’une deuxième valeur représentative d’un défaut d’étalonnage dudit système de vision stéréoscopique par comparaison desdites première et deuxième profondeurs .
  6. Procédé selon la revendication 5, pour lequel ladite détermination (29) d’une deuxième valeur représentative d’un défaut d’étalonnage dudit système de vision stéréoscopique est obtenue par la formule suivante :
    , où :
    - ‘LD’ est ladite deuxième valeur représentative d’un défaut d’étalonnage ;
    - ‘N’ est un nombre de pixels dans ladite première image avec chaque pixel énuméré par ses coordonnées (i,j) ;
    - ‘ ’ est ladite première profondeur calculée (28) pour un pixel de coordonnées (i,j) associé audit au moins un objet dans ladite première image ; et
    - ‘ ’ est ladite deuxième profondeur calculée (33) pour un pixel de coordonnées (i,j) associé audit au moins un objet dans ladite première image.
  7. Procédé selon la revendication 5 ou 6, comprenant en outre une étape de détermination (34) d’un deuxième masque de visibilité associé à ladite première image et représentatif d’un ensemble de pixels de ladite première image ayant au moins un pixel correspondant dans ladite troisième image, ledit deuxième masque de visibilité étant déterminé par la méthode de calcul par flux optique,
    ladite deuxième valeur représentative d’un défaut d’étalonnage étant en outre déterminée en fonction dudit deuxième masque de visibilité.
  8. Procédé selon l’une des revendications 5 à 7, comprenant en outre une étape de détermination (35) d’un masque d’objets dynamiques associé à ladite première image et représentatif d’un ensemble de pixels de ladite première image associé à au moins un objet en mouvement dans ladite scène,
    ladite deuxième valeur représentative d’un défaut d’étalonnage étant en outre déterminée en fonction dudit masque d’objets dynamiques.
  9. Dispositif (4) de détection d’un défaut d’étalonnage d’un système de vision stéréo 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.
  10. Véhicule (10) comprenant le dispositif (4) selon la revendication 9.
FR2301446A 2023-02-16 2023-02-16 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. Active FR3146006B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2301446A FR3146006B1 (fr) 2023-02-16 2023-02-16 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.
PCT/FR2024/050052 WO2024170837A1 (fr) 2023-02-16 2024-01-12 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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2301446 2023-02-16
FR2301446A FR3146006B1 (fr) 2023-02-16 2023-02-16 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.

Publications (2)

Publication Number Publication Date
FR3146006A1 true FR3146006A1 (fr) 2024-08-23
FR3146006B1 FR3146006B1 (fr) 2025-04-18

Family

ID=86851840

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2301446A Active FR3146006B1 (fr) 2023-02-16 2023-02-16 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.

Country Status (2)

Country Link
FR (1) FR3146006B1 (fr)
WO (1) WO2024170837A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3627448A1 (fr) * 2018-09-24 2020-03-25 Veoneer Sweden AB Système et procédé de vision pour véhicule à moteur
US20210225035A1 (en) * 2020-01-21 2021-07-22 Compound Eye Inc. System and method for camera calibration
US20220172390A1 (en) * 2019-03-21 2022-06-02 Five AI Limited Perception uncertainty
US20220383530A1 (en) * 2019-10-27 2022-12-01 Ramot At Tel-Aviv University Ltd. Method and system for generating a depth map

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2507030B2 (de) 1975-02-19 1977-10-06 Wolff Walsrode Ag, 3030 Walsrode Standbeutel

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3627448A1 (fr) * 2018-09-24 2020-03-25 Veoneer Sweden AB Système et procédé de vision pour véhicule à moteur
US20220172390A1 (en) * 2019-03-21 2022-06-02 Five AI Limited Perception uncertainty
US20220383530A1 (en) * 2019-10-27 2022-12-01 Ramot At Tel-Aviv University Ltd. Method and system for generating a depth map
US20210225035A1 (en) * 2020-01-21 2021-07-22 Compound Eye Inc. System and method for camera calibration

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE BENOIT DUCAROUGETHIERRY SENTENACFLORIAN BUGARINMICHEL DEVY, RECTIFICATION PROJECTIVE D'IMAGES STÉRÉO NON CALIBRÉES INFRAROUGES AVEC PRISE EN COMPTE GLOBALE DE LA MINIMISATION DES DISTORSIONS, 16 July 2009 (2009-07-16)
DE YANG WANGPENG WANGZHENHENG YANGCHENXU LUOYI YANGWEI XU, UNOS: UNIFIED UNSU-PERVISED OPTICAL-FLOW AND STEREO-DEPTH ESTIMATION BY WATCHING VIDEOS, June 2019 (2019-06-01)
DE YONGGEN LINGSHAOJIE SHEN, HIGH-PRECISION ONLINE MARKERLESS STÉRÉO EXTRINSIC CALIBRATION, 26 March 2019 (2019-03-26)

Also Published As

Publication number Publication date
WO2024170837A1 (fr) 2024-08-22
FR3146006B1 (fr) 2025-04-18

Similar Documents

Publication Publication Date Title
WO2024231616A1 (fr) Procédé et dispositif de détermination d&#39;un masque de visibilité pour un système de vision embarqué dans un véhicule
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.
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.
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.
WO2024209138A1 (fr) Procédé et dispositif d&#39;étalonnage d&#39;un système de vision stéréoscopique non parallèle embarqué dans un véhicule
FR3148662A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision pseudo-stéréoscopique.
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.
FR3147650A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision auto-supervisé.
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
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
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
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
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.
FR3160493A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision stéréoscopique et insensible à l’occlusion.
FR3159463A1 (fr) Procédé et dispositif de détermination d’une profondeur d’un pixel d’une image par un modèle de prédiction de profondeur associé à un système de vision embarqué dans un véhicule
FR3160789A1 (fr) Procédé et dispositif d’apprentissage d’un modèle de prédiction de profondeur associé à un système de vision stéréoscopique par comparaison de positions de points dans une scène tridimensionnelle.
FR3153677A1 (fr) Procédé et dispositif de détermination d’une profondeur par un système de vision stéréoscopique auto-supervisé.
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.
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.
FR3159032A1 (fr) Procédé et dispositif de détermination d’une profondeur par un réseau de neurones convolutif associé à système de vision auto-supervisé.
FR3163480A1 (fr) Procédé et dispositif de détermination d’une distance séparant un objet d’un véhicule par utilisation de boîte englobante et de modèle local de prédiction de profondeur.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240823

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4