FR3083352A1 - Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere - Google Patents

Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere Download PDF

Info

Publication number
FR3083352A1
FR3083352A1 FR1855947A FR1855947A FR3083352A1 FR 3083352 A1 FR3083352 A1 FR 3083352A1 FR 1855947 A FR1855947 A FR 1855947A FR 1855947 A FR1855947 A FR 1855947A FR 3083352 A1 FR3083352 A1 FR 3083352A1
Authority
FR
France
Prior art keywords
image
point
instant
images
sequence
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
FR1855947A
Other languages
English (en)
Other versions
FR3083352B1 (fr
Inventor
Boris Lugez
Lucien Garcia
Arnaud Faure
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.)
Continental Autonomous Mobility Germany GmbH
Continental Automotive France SAS
Original Assignee
Continental Automotive GmbH
Continental Automotive France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Automotive GmbH, Continental Automotive France SAS filed Critical Continental Automotive GmbH
Priority to FR1855947A priority Critical patent/FR3083352B1/fr
Priority to DE102019209473.2A priority patent/DE102019209473A1/de
Priority to US16/455,928 priority patent/US10982967B2/en
Publication of FR3083352A1 publication Critical patent/FR3083352A1/fr
Application granted granted Critical
Publication of FR3083352B1 publication Critical patent/FR3083352B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)

Abstract

La présente invention a pour objet un procédé de traitement d'images permettant l'identification d'au moins un même point apparaissant sur chaque image d'une séquence d'images, ladite séquence d'images comprenant une première image, une deuxième image et une troisième image générées respectivement à un premier instant, à un deuxième instant, postérieur au premier instant, et à un troisième instant, postérieur au deuxième instant, par une caméra montée dans un véhicule automobile. Le procédé comprend les étapes de détection d'une pluralité de points identiques dans chaque image de la séquence d'images relative à une pluralité de motifs répétitifs dans chaque image de la séquence d'images et d'identification (E19), dans la deuxième image et dans la troisième image, des points identiques correspondants aux points de l'espace pour lesquels la profondeur calculée est identique, ces points de l'espace représentant respectivement dans la deuxième image et dans la troisième image un même et unique point réel.

Description

L’invention se rapporte au domaine de l’assistance à la conduite d’un véhicule automobile et concerne plus particulièrement un procédé et un dispositif de traitement d’images acquises par une caméra d’un véhicule automobile ainsi qu’un véhicule automobile comprenant un tel dispositif.
De nos jours, il est connu d’équiper un véhicule automobile d’un système d’assistance à la conduite appelé communément ADAS (Advanced Driver Assistance System en langue anglaise). Un tel système comprend de manière connue une caméra vidéo, par exemple montée sur le pare-brise avant du véhicule, qui permet de générer un flux d’images représentant l’environnement dudit véhicule. Ces images sont exploitées par un dispositif de traitement d’images dans le but d’assister le conducteur, par exemple en détectant un obstacle ou bien le franchissement d’une ligne blanche. Les informations fournies par les images acquises par la caméra doivent donc être suffisamment précises et pertinentes pour permettre au système d’assister le conducteur de manière fiable.
En particulier, pour exploiter ces images, il est nécessaire de suivre le flot optique (« optical flow » en langue anglaise) d’un certain nombre de points dans la série d’images. Plus précisément, il s’agit de suivre la trajectoire de ces points dans une séquence d’images, c’est-à-dire dans une pluralité d’images successives, et de déterminer leur localisation dans l’espace.
Afin de suivre un point représenté par un pixel d’une première image dans une deuxième image consécutive, une solution connue consiste à analyser une zone de pixels autour dudit pixel dans la deuxième image afin de déterminer dans quelle direction le point se déplace entre la première image et la deuxième image.
Cependant, ce procédé de traitement d’images présente un inconvénient majeur. En effet, pour un point donné d’un motif identique qui se répète plusieurs fois sur chaque image d’une séquence d’images, le procédé détecte une pluralité de signatures similaires sur un même segment dit « épipolaire » selon lequel sont disposés les objets correspondant à ces motifs, par exemple une pluralité de poteaux d’une glissière de sécurité installée le long d’une route. Autrement dit, ce procédé de traitement d’images propose plusieurs solutions possibles d’emplacement d’un même point d’un motif répétitif dans chaque image de la séquence d’images. Ce faisant, les informations données au conducteur concernant la distance entre l’objet et le véhicule peuvent s’avérer fausses, ce qui peut présenter un risque pour la sécurité des occupants du véhicule.
Il existe donc le besoin d’une solution permettant de remédier au moins en partie à ces inconvénients en résolvant ce type d’ambiguïté.
A cette fin, l’invention a pour objet un procédé de traitement d’images permettant l’identification d’au moins un même point apparaissant sur chaque image d’une séquence d’images, ladite séquence d’images comprenant une première image, une deuxième image et une troisième image générées respectivement à un premier instant, à un deuxième instant, postérieur au premier instant, et à un troisième instant, postérieur au deuxième instant, par une caméra montée dans un véhicule automobile, ledit procédé étant remarquable en ce qu’il comprend les étapes de :
• détection d’une pluralité de points identiques dans chaque image de la séquence d’images relative à une pluralité de motifs répétitifs dans chaque image de la séquence d’images, • pour chaque point identique détecté dans la deuxième image de la séquence d’images, calcul de la profondeur au premier instant du point de l’espace correspondant au dit point identique de la deuxième image, • pour chaque point identique détecté dans la troisième image de la séquence d’images, calcul de la profondeur au premier instant du point de l’espace correspondant au dit point identique de la troisième image, • identification, dans la deuxième image et dans la troisième image, des points identiques correspondants aux points de l’espace pour lesquels la profondeur calculée est identique, ces points de l’espace représentant respectivement dans la deuxième image et dans la troisième image un même et unique point réel.
Le procédé selon l’invention permet avantageusement de distinguer efficacement et de manière rapide des motifs répétitifs apparaissant dans chaque image d’une séquence d’images afin notamment de permettre une assistance fiable au conducteur du véhicule.
De préférence, la profondeur au premier instant du point de l’espace correspondant au dit point identique de la deuxième image est calculée à partir de la matrice de rotation et du vecteur de translation entre la première image et la deuxième image.
De préférence encore, la profondeur au premier instant du point de l’espace correspondant au dit point identique de la troisième image est calculée à partir de la matrice de rotation et du vecteur de translation entre la première image et la troisième image.
Avantageusement, le procédé comprend une étape de mémorisation, après l’étape de calcul, de la profondeur pour chaque point identique détecté dans la deuxième image de la séquence d’images.
Avantageusement encore, le procédé comprend une étape de mémorisation, après l’étape de calcul, de la profondeur pour chaque point identique détecté dans la troisième image de la séquence d’images.
De telles mémorisations permettent de sauvegarder les résultats obtenus par les calculs de profondeur.
L’invention concerne également un module de traitement d’images permettant l’identification d’au moins un même point apparaissant sur chaque image d’une séquence d’images, ladite séquence d’images comprenant une première image, une deuxième image et une troisième image générées respectivement à un premier instant, à un deuxième instant, postérieur au premier instant, et à un troisième instant, postérieur au deuxième instant, par une caméra montée dans un véhicule automobile, ledit module de traitement d’images étant caractérisé en ce qu’il est configuré pour:
• détecter une pluralité de points identiques dans chaque image de la séquence d’images relative à une pluralité de motifs répétitifs dans chaque image de la séquence d’images, • calculer de la profondeur au premier instant du point de l’espace correspondant au dit point identique de la deuxième image pour chaque point identique détecté dans la deuxième image de la séquence d’images, • calculer la profondeur au premier instant du point de l’espace correspondant au dit point identique de la troisième image, pour chaque point identique détecté dans la troisième image de la séquence d’images, • identifier dans la deuxième image et dans la troisième image, des points identiques correspondants aux points de l’espace pour lesquels la distance calculée est identique, ces points de l’espace représentant respectivement dans la deuxième image et dans la troisième image un même et unique point réel.
De préférence, le module de traitement d’images est configuré pour calculer la profondeur au premier instant du point de l’espace correspondant au dit point identique de la deuxième image à partir de la matrice de rotation et du vecteur de translation entre la première image et la deuxième image.
De préférence encore, le module de traitement d’images est configuré pour calculer la profondeur au premier instant du point de l’espace correspondant au dit point identique de la troisième image à partir de la matrice de rotation et du vecteur de translation entre la première image et la troisième image.
Avantageusement, le module de traitement d’images est configuré pour mémoriser la profondeur pour chaque point identique détecté dans la deuxième image de la séquence d’images et la profondeur pour chaque point identique détecté dans la troisième image de la séquence d’images.
L’invention concerne aussi un véhicule automobile comprenant un module de traitement d’images tel que présenté précédemment.
D’autres caractéristiques et avantages de l’invention apparaîtront lors de la description qui suit faite en regard des figures annexées données à titre d’exemples non limitatifs et dans lesquelles des références identiques sont données à des objets semblables.
- La figure 1 illustre schématiquement un véhicule selon l’invention.
- La figure 2 illustre schématiquement une première image et une deuxième image, consécutive à la première image, acquises par la caméra.
- La figure 3 illustre schématiquement deux projections d’une zone de pixels d’une première image dans une deuxième image par homographie sur un plan de projection situé respectivement à une distance minimum et à une distance maximum prédéterminées.
- La figure 4 illustre schématiquement une projection par homographie, sur un plan de projection situé à une distance prédéterminée, d’un ensemble de points d’une première image dans une deuxième image, la correspondance entre les deux images étant réalisée via une matrice de rotation et un vecteur de translation de la caméra.
- La figure 5 illustre schématiquement un segment épipolaire obtenu dans une deuxième image par la projection d’un ensemble de pixels d’une première image sur un plan situé consécutivement à une pluralité de distances prédéterminées comprises entre une distance minimum prédéterminée et à une distance maximum prédéterminée.
- La figure 6 illustre schématiquement le déplacement d’un véhicule par rapport à une pluralité de structures répétitives.
- La figure 7 représente le modèle sténopé, utilisé ici pour décrire le processus de formation des images par une caméra.
- La figure 8 illustre un mode de réalisation de l’étape de détection du procédé de traitement d’images selon l’invention.
- La figure 9 illustre un mode de réalisation du procédé de traitement d’images selon l’invention.
Le dispositif de traitement d’images selon l’invention va maintenant être décrit en référence aux figures 1 à 8.
En référence à la figure 1, le dispositif 10 de traitement d’images est monté dans un véhicule 1 automobile. Par les termes « véhicule automobile », on entend de manière standard un véhicule routier mû par un moteur à explosion, à combustion interne, électrique ou par turbine à gaz ou un moteur hybride tel que, par exemple, une voiture, une camionnette, un camion, etc.
Le dispositif 10 comprend une caméra 100 vidéo et un module de traitement d’images 200, par exemple mis en oeuvre par un calculateur (non représenté) embarqué dans le véhicule 1. De manière préférée, la caméra 100 est montée au niveau de la partie supérieure centrale du pare-brise avant (non représenté) du véhicule 1. On notera toutefois que la caméra 100 pourrait être montée à tout autre endroit adapté du véhicule 1 (côté, arrière, etc.). La caméra 100 est configurée pour générer une pluralité d’images de l’environnement 2 du véhicule 1, par exemple la route 2A et ses accotements, afin que le module de traitement d’images 200 les exploite.
Le module de traitement d’images 200 traite les images générées par la caméra 100 afin de fournir une assistance à la conduite au conducteur du véhicule 1. A titre d’exemple, un tel traitement d’images peut consister à détecter des objets dans les images, tels que par exemple des panneaux, des bordures de route, des obstacles (piétons ou autre...), afin d’informer le conducteur respectivement d’une vitesse limite, d’un risque de sortie de route ou d’un risque de collision. Un tel traitement d’images peut aussi permettre de mesurer la hauteur d’un pont ou la position d’un obstacle afin d’en avertir le conducteur ou de procéder à un freinage d’urgence.
Dans le cas où des motifs répétitifs apparaissent sur les images successives générées par la caméra 100 (i.e. des pixels identiques apparaissant à plusieurs endroits des images), il peut être utile de les distinguer d’une image à la suivante pour éviter de provoquer des erreurs d’interprétation qui pourraient présenter un risque pour la conduite du véhicule 1. Ces motifs répétitifs peuvent par exemple correspondre à des poteaux d’une glissière d’autoroute défilant le long de la trajectoire du véhicule 1 de sorte que plusieurs d’entre eux apparaissent sur des images successives générées par la caméra 100.
Avant de pouvoir distinguer des groupes de pixels représentant des motifs répétitifs (donc identiques mais apparaissant à plusieurs endroits sur chaque image de la séquence d’images successives), il est tout d’abord nécessaire de détecter les points ou groupes de pixels correspondant à ces motifs répétitifs dans la séquence d’images.
Une forme de réalisation préférée permettant de détecter les points ou groupes de pixels correspondant à des motifs répétitifs dans la séquence d’images va maintenant être décrite. On notera toutefois que toute autre méthode de détection adaptée pourrait être utilisée sans que cela ne limite la portée de la présente invention.
Dans la forme de réalisation décrite à titre d’exemple, en référence à la figure 2, le module de traitement d’images 200 est configuré pour réaliser une première série de tâches. A titre d’exemple, cette première série de tâches est décrite ci-après en référence à trois images successives d’une séquence d’images : une première image 11, une deuxième image I2, postérieure à la première image 11, et une troisième image I3 (non représentée), postérieure à la deuxième image I2, ces images ayant été acquises par la caméra 100 respectivement à un premier instant t1, un deuxième instant t2 et un troisième instant t3, de préférence consécutifs.
Tout d’abord, le module de traitement d’images 200 est configuré pour déterminer, pour chaque pixel de la première image 11, pour chaque pixel de la deuxième image I2 et pour chaque pixel de la troisième image I3 (non représentée), une signature caractéristique dudit pixel.
Par ailleurs, en référence à la figure 3, le module de traitement d’images 200 est configuré pour déterminer une matrice de rotation R et un vecteur de translation T de la caméra 100 entre deux images consécutives, ici entre la première image 11 et la deuxième image I2, ainsi qu’entre la deuxième image I2 et la troisième image I3 (non représentée). La matrice de rotation R et le vecteur de translation T correspondent respectivement à la rotation et à la translation de la caméra 100 dans un référentiel lié à l’objet.
La détermination de la matrice de rotation R et du vecteur de translation T peut, par exemple, être réalisée en utilisant un objet statique représenté sur les trois images, par exemple la route ou un pont, ou bien un objet dynamique se déplaçant par rapport à la caméra 100, par exemple un autre véhicule.
Dans ce dernier cas, il faut savoir où se situe l’objet dans l’image (par exemple en utilisant une méthode de classification connue en soi) et déterminer alors la matrice de rotation R et le vecteur de translation T de la caméra 100 dans le référentiel lié à l’objet, le vecteur de translation T étant dans ce cas pondérée d’un coefficient a qui peut être déterminé de manière connue par traitement d’images en connaissant la taille de l’objet.
La détermination de la matrice de rotation R et du vecteur de translation T entre la première image 11 et la deuxième image I2 peut être réalisée par un algorithme de traitement d’images ou par l’utilisation d’un ou plusieurs capteurs inertiels et/ou de position géographique (par exemple GPS) de manière connue en soi.
Ensuite, en référence à la figure 2, le module de traitement d’images 200 est configuré pour sélectionner un pixel PA(1) dans la première image 11 pour lequel on cherche un pixel correspondant dans la deuxième image I2. Par les termes « pixel correspondant », on entend un pixel représentant une même zone spatiale de l’environnement 2 du véhicule 1.
Toujours en référence à la figure 2, le module de traitement d’images 200 est également configuré pour déterminer dans la première image 11 un ensemble initial de pixels comprenant le pixel sélectionné PA(1) et une pluralité de pixels PA(2), PA(5), localisés au voisinage du pixel sélectionné PA(1).
Par le terme voisinage, on entend de manière connue une pluralité de pixels PA(2), PA(5) adjacents au pixel sélectionné PA(1) dans la première image 11. Le nombre de pixels du voisinage est de quatre dans cet exemple à des fins de clarté mais il va de soi que le voisinage du pixel sélectionné PA(1) peut comprend plus ou moins de quatre pixels (plus généralement « n >> pixels, « n >> étant un entier naturel supérieur ou égal à 2).
Un tel ensemble initial de pixels PA(1), PA(2), ..., PA(5) peut être une fenêtre ou une portion de la première image 11, par exemple une fenêtre de 10 x 10 pixels. On notera ici que le nombre n de pixels et la forme de la fenêtre ou de la portion d’image peuvent varier à dessein. On notera aussi que l’on a représenté cinq pixels dans l’ensemble à titre d’exemple mais que le nombre de pixels de l’ensemble pourrait bien entendu être inférieur ou supérieur à cinq.
Le module de traitement d’images 200 est aussi configuré pour déterminer, dans la deuxième image I2, une pluralité d’ensembles de pixels PB(1), ..., PB(5) par projection, à partir de la matrice de rotation R et du vecteur de translation T déterminés, de l’ensemble initial de pixels PA(1), ..., PA(5) déterminé. Chaque ensemble de cette pluralité d’ensembles de pixels PB(1), ..., PB(5) comprend un premier pixel PB(1) correspondant au pixel sélectionné PA(1) dans la première image 11.
En référence aux figures 3 et 4, cette projection est réalisée sur un plan W prédéterminé situé à différentes distances D prédéterminées du centre optique C1 de la caméra 100 pour la première image 11.
Plus précisément, en référence à la figure 3, le module de traitement d’images 200 est tout d’abord configuré pour déterminer, dans la deuxième image I2, un premier ensemble de pixels PBmin(1), ..., PBmin(5) par projection, à partir de la matrice de rotation R et du vecteur de translation T déterminés, de l’ensemble initial de pixels PA(1), ..., PA(5) déterminé sur un plan W de projection prédéterminé situé à une distance minimale Dmin prédéterminée. Ce premier ensemble PBmin(1), ..., PBmin(5) comprend un premier pixel PBmin(1) correspondant au pixel sélectionné PA(1) dans la première image 11.
Similairement, toujours en référence à la figure 3, le module de traitement d’images 200 est configuré pour déterminer, dans la deuxième image I2, un deuxième ensemble de pixels PBmax(1), ..., PBmax(5) par projection, à partir de la matrice de rotation R et du vecteur de translation T déterminées, de l’ensemble initial déterminé PA(1), ..., PA(5) sur le plan W situé à une distance maximale prédéterminée Dmax. Ce deuxième ensemble PBmax(1), PBmax(5) comprend un deuxième pixel PBmax(1) correspondant au pixel sélectionné PA(1) dans la première image 11.
En référence maintenant à la figure 4, la détermination de la projection d’un pixel de la première image 11 dans la deuxième image I2 via un plan W de projection correspond à une homographie du pixel dans un premier repère, qui a pour origine le centre optique C1 de la caméra 100 lors de l’acquisition de la première image 11, à un deuxième repère qui a pour origine le centre optique C2 de la caméra 100 lors de l’acquisition de la deuxième image I2, via le plan W de projection situé à l’une des distances déterminées. Une telle projection par homographie est réalisée à partir de la matrice de rotation R et du vecteur de translation T, d’un vecteur n2 normal au plan W de projection et de la distance D du plan W par rapport au centre optique C1 de la manière suivante : H = R Une telle homographie étant connue en soi, elle ne sera donc pas davantage détaillée ici.
En théorie, la distance minimale Dmin est nulle et la distance maximale Dmax correspond à l’infini. En pratique, on peut choisir une distance minimale Dmin de quelques mètres, par exemple 5 mètres, et une distance maximale Dmax de quelques dizaines de mètres, par exemple 50 ou 100 mètres, notamment lorsque le pixel sélectionné PA(1) dans la première image 11 représente un objet identifié dont on connaît l’éloignement par rapport à la caméra 100, par exemple la route défilant dans la partie inférieure des images acquises par la caméra 100.
Le plan W de projection peut être déterminé selon la nature du pixel sélectionné PA(1). Par exemple, lorsque le pixel sélectionné PA(1) représente une zone de la route 2A sur laquelle circule le véhicule 1, un plan W correspondant au plan de la route 2A peut être utilisé comme illustré schématiquement sur la figure 2. Ce plan W est un plan de projection virtuel qui va permettre d’estimer par homographie, c’est-à-dire de manière géométrique, la position correspondante d’un pixel de la première image 11 dans la deuxième image I2.
Une fois le premier pixel PBmin(1) et le deuxième pixel PBmax(1) sélectionnés, le module de traitement d’images 200 est configuré pour déterminer un segment U reliant le premier pixel PBmin(1) et le deuxième pixel PBmax(1), appelé segment épipolaire.
En référence à la figure 5, le module de traitement d’images 200 est ensuite configuré pour sélectionner une pluralité de points PB2(1), PB5(1) le long du segment
U déterminé. De manière avantageuse, les points PB2(1), PB5(1 ) peuvent être répartis le long du segment U en partant du premier pixel PBmin(1) en étant espacés d’un pas « step >> de largeur prédéterminée, par exemple tous les 0,1 pixels. Le nombre de points
PB2(1), ..., PB5(1) sélectionnés sur le segment U est de quatre dans cet exemple mais il va de soi qu’il pourrait être supérieur ou inférieur à quatre.
Le module de traitement d’images 200 est configuré pour associer chaque point PB2(1), PB5(1) sélectionné à un pixel de la deuxième image I2. En pratique, on considère qu’un point est associé lorsque ses coordonnées dans l’image correspondent aux coordonnées d’un pixel, c’est-à-dire que le point sélectionné se trouve dans la zone de l’image couverte (ou représentée) par ledit pixel.
Le module de traitement d’images 200 est configuré pour comparer la signature de chaque pixel correspondant à un point PB2(1), ..., PB5(1) sélectionné avec la signature du pixel sélectionné dans la première image 11.
Le module de traitement d’images 200 est configuré pour détecter un motif répétitif entre la première image 11 et la deuxième image I2 lorsqu’une pluralité de signatures de pixels associés aux points PB2(1), ..., PB5(1) sélectionnés sur le segment U correspondent à la signature du pixel sélectionné dans la première image 11.
Le module de traitement d’images 200 est également configuré pour réaliser les tâches décrites ci-avant entre la deuxième image I2 et la troisième image I3 (non représentée) et plus généralement entre deux images successives d’une séquence d’images de manière à détecter des motifs répétitifs dans sur chaque image de la séquence d’images 11, I2, I3.
Ensuite, afin d’identifier un point ou un groupe de pixel correspondant à un même motif sur deux images successives, parmi une pluralité de motifs successifs, le module de traitement d’images 200 est configuré pour réaliser une deuxième série de tâches.
Tout d’abord, le module de traitement d’images 200 est configuré pour détecter une pluralité de points identiques dans chaque image de la séquence d’images 11, I2, I3 relative à une pluralité de motifs répétitifs dans chaque image de la séquence d’images 11, I2, I3.
Le module de traitement d’images 200 est configuré, pour chaque point identique détecté dans la deuxième image I2 de la séquence d’images 11, I2, I3, pour calculer la profondeur au premier instant t1 du point de l’espace correspondant au dit point identique de la deuxième image I2.
Le module de traitement d’images 200 est configuré, pour chaque point identique détecté dans la troisième image I3 de la séquence d’images 11, I2, I3, pour calculer la profondeur au premier instant t1 du point de l’espace correspondant au dit point identique de la troisième image I3 (non représentée).
Le module de traitement d’images 200 est configuré pour identifier, dans la deuxième image I2 et dans la troisième image I3 (non représentée), des points identiques correspondants aux points de l’espace pour lesquels la profondeur calculée est identique, ces points de l’espace représentant respectivement dans la deuxième image I2 et dans la troisième image I3 (non représentée) un même et unique point réel.
L’invention va maintenant être décrite dans sa mise en oeuvre en référence aux figures 8 et 9.
Tout d’abord, dans une étape EO, en référence notamment aux figures 2 et 8, la caméra 100 acquiert une première image 11 et une deuxième image I2, de préférence consécutives. On notera que le procédé peut être mis en oeuvre en prenant comme première image 11 l’image dont l’acquisition est temporellement la première (image antérieure ou précédente dans le flot d’images acquises par la caméra) et comme deuxième image I2, l’image successive dans le flot d’images. A contrario, le procédé peut être mis en oeuvre en prenant comme première image 11 l’image dont l’acquisition est temporellement postérieure (image suivante dans le flot d’images acquises par la caméra) à la deuxième image I2 et comme deuxième image I2, l’image précédente dans le flot d’images. Dans l’exemple qui suit, on choisit l’image antérieure comme première image 11 et l’image postérieure (i.e. successive dans le flot d’images) comme deuxième image I2.
Dans une étape E1, le module de traitement d’images 200 détermine, pour chaque pixel de la première image 11 et pour chaque pixel de la deuxième image I2, une signature caractéristique dudit pixel.
Une telle signature peut être déterminée à partir de l’analyse locale d’une image et caractérise ainsi le contenu de cette image. Il existe plusieurs façons de créer une signature basée sur des descripteurs. Ces descripteurs peuvent avoir certaines propriétés comme l’invariance par rotation, par grossissement ou changement de luminosité. Le cas d’utilisation définit en général les propriétés nécessaires aux descripteurs et permet de déterminer la méthode la plus avantageuse. Par exemple, la transformation de Census donne une signature basée sur les différences relatives d’intensité (Zabih, R., Woodfill, J.I.: Non-parametric Local Transforms for Computing Visual Correspondence. In: Eklundh, J.-O. (ed.) ECCV 1994. LNCS, vol. 801, pp. 151 — 158. Springer, Heidelberg (1994)). Un autre exemple est la transformation de caractéristiques visuelles invariante à l'échelle (SIFT : Scale-Invariant Feature Transform en langue anglaise).
En vision par ordinateur, l'extraction de caractéristiques visuelles (ou visual features extraction en anglais) consiste en des transformations mathématiques calculées sur les pixels d'une image numérique. Les caractéristiques visuelles permettent généralement de mieux rendre compte de certaines propriétés visuelles de l'image, utilisées pour des traitements ultérieurs entrant dans le cadre d'applications telles que la détection d'objets ou la recherche d'images par le contenu.
La caractérisation d'une image peut être calculée en un nombre restreint de pixel. Il faut pour cela d'abord détecter les zones d'intérêt de l'image puis calculer en chacune de ces zones un vecteur caractéristique. Ces zones d'intérêt sont par exemple les arêtes ou les points saillants de l'image (zones de fort contraste). Il peut aussi s'agir de points pris aléatoirement ou régulièrement dans l'image (échantillonnage dit dense).
Le vecteur caractéristique contient parfois des données provenant de la détection, telles que l'orientation de l'arête ou la magnitude du gradient dans la zone d'intérêt. Généralement, le vecteur caractéristique en un pixel est calculé sur un voisinage de ce pixel, c'est-à-dire à partir d'une imagette centrée sur ce pixel. Il peut être calculé à différentes échelles de manière à s'affranchir du facteur de zoom. Parmi les caractéristiques locales couramment calculées, on retrouve des motifs préalablement utilisés globalement, tels que des histogrammes de couleur ou des vecteurs rendant compte de l'orientation des gradients des niveaux de gris. Trois exemples de voisinages utilisés pour définir une texture et calculer un motif binaire local (LBP). Certaines méthodes telles SIFT ou SURF incluent à la fois la détection de zone d'intérêt et le calcul d'un vecteur caractéristique en chacune de ces zones. Concernant le vecteur caractéristique, les SIFT sont grossièrement un histogramme des orientations du gradient et les SURF consistent en le calcul d'approximation d'ondelettes de Haar. Dans une veine similaire, les motifs binaires locaux sont un calcul de cooccurrence des niveaux de gris locaux d'une image et les HOG des histogrammes de gradients orientés, assez similaires aux SIFT, calculés selon un échantillonnage dense.
En référence à la figure 3, le module de traitement d’images 200 détermine ensuite, dans une étape E2, la matrice de rotation R et le vecteur de translation T entre la première image 11 et la deuxième image I2.
Le module de traitement d’images 200 sélectionne, dans une étape E3, un pixel sélectionné PA(1) dans la première image 11 pour lequel un pixel correspondant dans la deuxième image I2 doit être déterminé.
De manière avantageuse, le module de traitement d’images 200 peut tout d’abord sélectionner un pixel, qui n’a pas de flot optique dans la deuxième image I2, dans une zone d’intérêt de la première image 11, par exemple un côté de l’image représentant le bord de la route lorsqu’on souhaite prévenir le conducteur d’un risque de sortie de route, le dessus de l’image représentant le ciel lorsqu’on souhaite détecter un pont pour en évaluer la hauteur etc.
Ensuite, en référence à la figure 2, pour le pixel sélectionné PA(1), le module de traitement d’images 200 détermine dans la première image 11, dans une étape E4, un ensemble initial de pixels PA(1), ..., PA(5) comprenant le pixel sélectionné PA(1) et une pluralité de pixels PA(2), ..., PA(5) localisés au voisinage du pixel sélectionné PA(1).
Dans l’exemple de la figure 2, par souci de clarté, seuls quatre pixels PA(2), PA(3), PA(4) et PA(5) du voisinage du pixel sélectionné PA(1) ont été sélectionnés.
En référence à la figure 3, le module de traitement d’images 200 détermine ou sélectionne (par exemple dans une liste stockée dans une zone mémoire (non représentée) du dispositif 10) dans une étape E5 une distance minimale Dmin et une distance maximale Dmax entre lesquelles se situe le point spatial représenté par le pixel sélectionné PA(1). Ces valeurs Dmin et Dmax peuvent être déterminées comme décrit ciavant ou bien en utilisant l’historique des images précédentes ou une connaissance géométrique de la scène, comme par exemple une route plane.
Dans une étape E6, le module de traitement d’images 200 détermine un plan W de projection, du pixel sélectionné PA(1 ), dans la deuxième image I2, par exemple un plan vertical situé face à l’avant du véhicule 1. On notera que les étapes E5 et E6 peuvent être inversées.
En référence aux figures 2 et 3, dans une étape E7, le module de traitement d’images 200 détermine, dans la deuxième image I2, un premier ensemble de pixels PBmin(1), ..., PBmin(5) par projection homographique de l’ensemble initial de pixels PA(1), ..., PA(5) déterminé sur le plan W, en considérant que ce dernier est placé à la distance minimale déterminée Dmin. Ce premier ensemble PBmin(1), ..., PBmin(5) comprend un premier pixel PBmin(1) correspondant, par projection homographique sur le plan W à la distance minimale Dmin, au pixel sélectionné PA(1) dans la première image 11.
Similairement, dans une étape E8, le module de traitement d’images 200 détermine, dans la deuxième image I2, un deuxième ensemble de pixels PBmax(1), ..., PBmax(5) par projection homographique de l’ensemble initial PA(1 ), ..., PA(5) déterminé sur le plan W prédéterminé situé à la distance maximale Dmax prédéterminée. Ce deuxième ensemble PBmax(1), ..., PBmax(5) comprend un deuxième pixel PBmax(1) correspondant, par projection homographique du plan W à la distance maximale Dmax, au pixel sélectionné PA(1) dans la première image 11. Il va de soi que les étapes E7 et E8 peuvent être inversées.
En référence aux figures 3 à 5, le module de traitement d’images 200 détermine ensuite, dans une étape E9, le segment U reliant le premier pixel PBmin(1) et le deuxième pixel PBmax(1) dans la deuxième image I2 puis sélectionne, dans une étape E10, une pluralité de points PB2(1), ..., PB5(1) sur le segment U ainsi déterminé, par exemple tous les 0,1 pixels.
Au lieu d’un unique segment, on pourrait également considérer un cylindre épipolaire qui se définit comme étant un segment épipolaire d’une épaisseur supérieure à un pixel (de préférence une épaisseur d’un nombre impair de pixels, ainsi la dilatation du segment se fait de part et d’autre du segment d’épaisseur 1).
Le module de traitement d’images 200 associe ensuite dans une étape E11 chaque point PB2(1), ..., PB5(1) sélectionné sur le segment U à un pixel de la deuxième image I2.
Le module de traitement d’images 200 compare alors dans une étape E12 la signature de chaque pixel associé à un point PB2(1),..., PB5(1) sélectionné avec la signature du pixel sélectionné dans la première image 11.
Enfin, dans une étape E13, le module de traitement d’images 200 détecte un point d’un motif répétitif entre la première image 11 et la deuxième image I2 lorsqu’une pluralité de signatures de pixels associés à la pluralité de points PB2(1 ),..., PB5(1) sélectionnés sur le segment U correspondent à la signature du pixel sélectionné dans la première image 11.
Dans l’exemple non limitatif qui a été décrit ci-avant, un unique segment épipolaire était utilisé mais on notera qu’en variante, une pluralité de segments épipolaires, par exemple parallèles, pourrait être utilisée, chaque segment étant défini par une pluralité de points associés à des pixels de la deuxième image I2 de sorte que la signature de chaque point soit comparée à la signature du pixel associé dans la première image 11 afin de détecter de manière encore plus précise des motifs répétitifs dans les images. De même, on pourrait définir, plutôt qu’un segment ou une pluralité de segments, un cylindre épipolaire comprenant le segment U et une pluralité de points associés à des pixels de la deuxième image I2 et dont on pourrait comparer les signatures avec les pixels correspondant de la première image 11 afin de détecter de manière encore plus précise des motifs répétitifs dans les images.
On notera par ailleurs que pour les objets dynamiques, la rotation et translation entre les images sont de préférence exprimés par rapport à un repère monde qui est lié à l’objet dynamique.
Ensuite, le module de traitement d’images 200 va identifier les points ou groupes de pixels correspondants à des motifs répétitifs afin de les distinguer entre eux sur une même image. Autrement dit, le module de traitement d’images 200 va calculer la profondeur des points de l’espace représentés dans les motifs répétitifs sur chaque image de la séquence d’images 11, I2 et I3 consécutives.
On notera tout d’abord qu’à ce stade, la matrice de rotation R et le vecteur de translation T subies par la caméra 100 entre le premier instant t1 et le deuxième instant t2 ont été déterminés lors de l’étape E1 avec la méthode décrite ci-avant et sont connus. De même, la matrice de rotation R et le vecteur de translation T subies par la caméra 100 entre le deuxième instant t2 et le troisième instant t3 ont été déterminés lors de la détection des motifs répétitifs décrite ci-avant et sont connus.
En référence à la figure 6, il est représenté l’exemple d’un motif répétitif généré par deux points de l’espace A et B qui ont la même signature dans chaque image de la séquence d’images 11, I2 et I3 consécutives, cet exemple pouvant être généralisé à autant de points que le motif répétitif en comprend. Par ailleurs, il est aussi représenté le mouvement de la caméra 100 en fonction de ces points de l’espace A et B. En effet, les trois flèches verticales représentent l’emplacement de la caméra 100, et donc du véhicule, ainsi que le sens et la direction de déplacement dudit véhicule, aux trois instants consécutifs t1, t2, t3.
Tout d’abord, en référence à la figure 7, il est représenté le modèle sténopé, utilisé ici pour décrire le processus de formation des images par la caméra 100. Autrement dit, le modèle sténopé permet de décrire comment projeter au moins un objet 3D (en trois dimensions) sur une image 2D (en deux dimensions).
La caméra 100 possède les paramètres intrinsèques suivants :
• un centre optique O, • une distance focale f, • un point principal F.
Le modèle dit « du sténopé », connu en soi, est ici représenté dans un repère orthonormé (O, î, J, k) en trois dimensions, où le centre optique O est l’origine du repère. Dans ce repère orthonormé (O, î, f, k), le point principal F possède les coordonnées (0, 0, f).
Chaque image formée par la caméra 100 se situe dans un plan appelée « plan de l’image » xOy d’origine O. Le point de l’espace A est un point 3D ayant pour coordonnées cartésiennes (Xa(î2), YA(t2), ZA(t2)) dans le repère orthonormé (O, î, J, k) au deuxième instant t2. Le point P2 en deux dimensions appartient à la deuxième image I2 et représente la projection du point de l’espace A de l’objet réel dans le plan de l’image xOy dans lequel se situe ladite deuxième image I2. Ledit point P2 possède pour coordonnées (xb2(t2), yb2(t2), f) au deuxième instant t2 dans le repère orthonormé (O, î, J, k) avec :
XA(t2) x-(t2)=fxàiO [1]
YA(t2) ^(t2)=fx^i [2]
Le modèle du sténopé permet ensuite de déterminer la profondeur des points de l’espace A et B puisqu’on connaît la position de la projection dans chaque image de la séquence d’image 11, I2, I3 des points de l’espace A et B des motifs répétitifs.
En référence à la figure 9, lors d’un premier calcul, appelé « Calcul 1 » (étape E14), le module de traitement d’images 200 calcule la profondeur du point de l’espace A dans le repère caméra au premier instant t1 à partir de la deuxième image I2.
Tout d’abord, le module de traitement d’images 200 associe la projection dans la première image 11 du point de l’espace A et la projection dans la deuxième image I2 du point de l’espace A.
Un premier calcul entre un premier instant t1 et un deuxième instant t2 permet de déterminer la profondeur ZA(t1 ) dans le repère caméra, du point de l’espace A (point en trois dimensions) au premier instant t1 à partir des coordonnées 2D du point P1 (Xbi(t1); ybi(t1 ); f) qui correspond à la projection du point de l’espace A dans l’image au premier instant t1, des coordonnées 2D du point P2 de la projection du point A au deuxième instant t2 et de la connaissance de la matrice de rotation R et du vecteur de translation T de la caméra entre le premier instant t1 et le deuxième instant t2.
Précédemment, la matrice de rotation R et le vecteur de translation T ont été déterminés et permettent ainsi de calculer pour tout point de l’espace A au premier instant t1, noté A(t1 ), le point de l’espace A correspondant au deuxième instant t2, noté A(t2), selon la formule suivante :
A(t2) = R X A(tl) + T [3]
Sachant que :
/T \ / \ Ru R12 R13-
T= Ty | etR = R 21 R22 ^23
W -R3I R32 R33-
L’étape E13 a permis la détection d’une pluralité de points identiques, définie comme une pluralité de points représentant le même point de l’espace dans chaque image de la séquence d’images 11, I2, I3, relative à une pluralité de motifs répétitifs dans chaque image de la séquence d’images 11, I2, I3. Ensuite, on sélectionne un point P2 au deuxième instant t2, de coordonnées (xb2(t2); yb2(t2); f) dans la deuxième image I2. Ledit point P2 correspond à un des points identiques détectés dans la deuxième image I2 de la séquence d’images 11, I2, I3. Il s’en suit le calcul de la profondeur entre la caméra 100 et le point de l’espace correspondant au dit point P2 identique de la deuxième image I2 au premier instant t1.
Grâce à la matrice de rotation R et au vecteur de translation T on peut déterminer la position dudit point de l’espace A dans la première image 11 au premier instant t1, c’est-à-dire à l’instant précédent le deuxième instant t2. Ainsi, pour déterminer la position dudit point de l’espace A, il faut calculer ZA(t1), profondeur du point de l’espace A, pour en déduire la distance entre le centre optique O de la caméra 100 et le point de l’espace A.
Pour cela, l’équation [3] est développée et on isole les termes XA(t2), YA(t2), ZA(t2), ce qui permet d’obtenir les expressions deXA(t2), YA(t2) et ZA(t2) en fonction de XA(t1), YA(t1), ZA(t1) :
XA(t2) = Ru x XA(tl) + Ri2 x YA(tl) + Ris x ZA(tl) + Tx
YA(t2) = R21 x XA(tl) + R21 x YA(tl) + R23 x ZA(tl) + Ty
ZA(t2) = R31 x XA(tl) + R32 x YA(tl) + R33 x ZA(tl) + Tz
A partir du résultat précédent et des équations [1] et [2] et en factorisant ZA(t1 ) dans le membre de droite, on obtient :
xb2(t2) x ZA(t2) f yb2(t2) x ZA(t2) f
Figure FR3083352A1_D0001
x Xbi(tl) f
R12 x Ybl(tl)
-------7--Γ K13
R22 x Ybi(tl) f Γ K23
X ZA(tl) + Tx
X ZA(tl) + Ty /R31 x xbl(tl) ZA(t2)= . J +
R32 x Ybi(tl) r K33 x ZA(tl) + Tz [4] [5] [6]
En injectant l’équation [6] dans les équations [4] et [5], on obtient :
xb2(t2) x [a3 x ZA(tl) + Tz] = ai X ZA(tl) + Tx
Yb2(tZ) X [a3 x ZA(tl) + Tz] f [4bis] [5bis] a2 x ZA(tl) + Ty avec :
Ru x xbl(tl) R12 x ybl(tl) al = ------j-----+ ------j-----+R13
R21 X Xbi(tl) , R22 X Ybi(tl) , a2 = ------j-----+ ------j-----+R23
R31 x xbi(tl) R32 x Ybi(tl) a3 = ------j-----+ ------j-----+R33
On obtient deux solutions pour ZA(t1 ) : _ Tz xxb2(t2) XXf
ZA1(tl) = ---1----xb2(t2)xa3 f T _ Tz xyb2(t2) Zai^I) - yb2(t2) xa3 f
La profondeur ZA1(tl) correspond à une première possibilité de profondeur pour le point de l’espace A au premier instant t1. Notons qu’en théorie, ces deux différentes formules de profondeur ZA1(tl) donnent un résultat identique ou sensiblement identique. Ce résultat est mémorisé dans une étape E15.
Ensuite, le module de traitement d’images 200 associe la projection dans la première image 11 du point de l’espace A et la projection dans la deuxième image I2 du point de l’espace B. Plus précisément, en référence à la figure 6, pour confirmer la profondeur du point de l’espace A, il faut faire un deuxième calcul de profondeur. En effet, on observe alors la projection du point de l’espace B au deuxième instant t2. Par ce calcul, on obtiendra une profondeur ZA2(t1 ) étant une deuxième possibilité de profondeur pour le point de l’espace A au premier instant t1.
La méthode étant identique à celle utilisée pour la profondeur ZAi(t1 ) du point P1, les formules de profondeur ZAi(t1) et ZA2(t1) sont identiques aussi. Ainsi, on obtient les résultats suivants :
Τχ_ Tz xxb2(t2) _ xb2(t2) xa3 f di T _ Tz xyb2(t2) zA2(tl) - yb2(t2) xa3 f a2
Cependant, xb2 et yb2 sont différents dans les formules des profondeurs ZA1(tl)et ZA2(tl). En effet, la projection de A2 dans l’image 12 n’est pas la même que celle de A1 dans l’image I2. Par ailleurs, lesdites deux valeurs de profondeur ZA1(tl) et ZA2(tl) sont sauvegardées. Ici, on se retrouve donc avec deux possibilités de profondeur, ZA1(tl) et ZA2(tl), ce qui signifie qu’on a plusieurs solutions concernant la profondeur du point de l’espace A. A ce stade, il n’est pas encore possible de faire l’association entre le point de l’espace A et sa projection dans chaque image, c'est-à-dire qu’on ne connaît pas quelle projection correspond au point de l’espace A ou au point de l’espace B.
Lors d’une deuxième phase de calcul, appelé « Calcul 2 >> (étape E16), le module de traitement d’images 200 calcule la profondeur du point de l’espace A dans le repère caméra au premier instant t1 à partir de la troisième image I3 (non représentée).
Le but de cette étape est de résoudre l’ambiguïté présente à l’étape précédente, c'est-à-dire pouvoir savoir quelle projection dans chaque image de la séquence d’images 11, I2, I3 correspond au point de l’espace A et quelle projection dans chaque image de la séquence d’images 11, I2, I3 correspond au point de l’espace B.
On réalise les mêmes calculs que précédemment mais entre le premier instant t1 et le troisième instant t3. De la même façon, on se retrouve donc avec deux possibilités de profondeur, ZA3(tl) et ZA4(tl), ce qui signifie qu’on a plusieurs distances possibles entre la caméra 100 et l’objet réel.
Puisque le premier instant t1 et le troisième instant t3 ne sont pas des instants directement consécutifs, il faut réaliser une étape intermédiaire. En effet, on connaît la matrice de rotation R et la matrice de translation T entre deux instants consécutifs, c’està-dire entre le premier instant t1 et le deuxième instant t2 et entre le deuxième instant t2 et le troisième instant t3. Ainsi, afin de connaître A(t3), il faut cumuler les opérations de rotation et de translation successives, avec R2/3 et T2/3 étant respectivement la matrice de rotation entre le deuxième instant t2 et le troisième instant t3, la matrice de translation entre le deuxième instant t2 et le troisième instant t3.
On a tout d’abord :
A(t2) = R X A(tl) + T [7] A(t3) = R2/3 X A(t2) + T2/3 [8]
Ainsi, si on remplace [7] dans [8], on obtient :
A(t3) = R2/3 x (R x A(tl) + T) + T2/3 A(t3) = R2/3 x R x A(tl) + R2/3T + T2/3
Par ailleurs, lesdites deux valeurs de profondeur ZA3(tl) et ZA4(tl) sont mémorisées dans une étape E17.
Le module de traitement d’images 200 réalise la comparaison, dans en une étape E18, de tous les résultats de valeurs potentielles de profondeur obtenues lors du « calcul 1 >> et du « calcul 2 >>, deux valeurs de profondeurs parmi Zai(î1)> ZA2 (tl), ZA3(tl) et ZA4(tl) étant identiques. Ces deux profondeurs de même valeur correspondent à un même et unique point réel, correspondant au point réel de l’espace A. Ainsi, le module de traitement d’images 200 identifie le point réel recherché (étape E19).
Dans l’exemple illustré en référence à la figure 6, ZA1(tl) et ZA4(tl) sont des valeurs de profondeurs identiques et correspondent donc à la profondeur du point réel de l’espace A. ZA2(tl) et ZA3(tl) correspondent respectivement à A2 et A3, des points fictifs de l’espace dont la valeur de profondeur est différente de la valeur de profondeur du point réel de l’espace A. Autrement dit : les points fictifs de l’espace A2 et A3 ne correspondent à aucun point réel (points de l’espace A ou B).
L’invention permet donc avantageusement de distinguer des motifs identiques se répétant dans les images successives d’une séquence d’images 11, I2, I3 afin d’assister efficacement le conducteur dans sa conduite.

Claims (10)

  1. REVENDICATIONS
    1. Procédé de traitement d’images permettant l’identification d’au moins un même point apparaissant sur chaque image d’une séquence d’images (11, I2), ladite séquence d’images (11, I2, I3) comprenant une première image (11), une deuxième image (I2) et une troisième image (I3) générées respectivement à un premier instant (t1), à un deuxième instant (t2), postérieur au premier instant (t1), et à un troisième instant (t3), postérieur au deuxième instant (t2), par une caméra (100) montée dans un véhicule (1) automobile, ledit procédé étant caractérisé en ce qu’il comprend les étapes de :
    • détection (E1-E13) d’une pluralité de points identiques dans chaque image de la séquence d’images (11, I2, I3) relative à une pluralité de motifs répétitifs dans chaque image de la séquence d’images (11, I2, I3), • pour chaque point identique détecté dans la deuxième image (I2) de la séquence d’images (11, I2, I3), calcul (E14) de la profondeur (ZA1(tl), ZA2(tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la deuxième image (I2), • pour chaque point identique détecté dans la troisième image de la séquence d’images (11, I2, I3), calcul (E16) de la profondeur (ZA3(tl), ZA4(tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la troisième image (I3), • identification (E19), dans la deuxième image (I2) et dans la troisième image (I3), des points identiques correspondants aux points de l’espace pour lesquels la profondeur calculée est identique, ces points de l’espace représentant respectivement dans la deuxième image (I2) et dans la troisième image (I3) un même et unique point réel.
  2. 2. Procédé selon la revendication 1, dans lequel la profondeur (ZA1(tl), ZA2 (tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la deuxième image (I2) est calculée à partir de la matrice de rotation (R) et du vecteur de translation (T) entre la première image (11) et la deuxième image (I2).
  3. 3. Procédé selon l’une des revendications précédentes, dans lequel la profondeur (ZA3(tl), ZA4(tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la troisième image (I3) est calculée à partir de la matrice de rotation et du vecteur de translation entre la première image (11) et la troisième image (I2).
  4. 4. Procédé selon l’une des revendications précédentes, comprenant une étape (E15) de mémorisation, après l’étape de calcul, de la profondeur (ZA1(tl), ZA2(tl)) pour chaque point identique détecté dans la deuxième image (I2) de la séquence d’images (11, I2, I3).
  5. 5. Procédé selon l’une des revendications précédentes, comprenant une étape (E17) de mémorisation, après l’étape de calcul, de la profondeur (ZA3(tl), Za4(î1)) pour chaque point identique détecté dans la troisième image (I3) de la séquence d’images (11, I2, I3).
  6. 6. Module de traitement d’images (200) permettant l’identification d’au moins un même point apparaissant sur chaque image d’une séquence d’images (11, I2, I3), ladite séquence d’images (11, I2, I3) comprenant une première image (11), une deuxième image (I2) et une troisième image (I3) générées respectivement à un premier instant (t1), à un deuxième instant (t2), postérieur au premier instant (t1), et à un troisième instant (t3), postérieur au deuxième instant (t2), par une caméra (100) montée dans un véhicule (1) automobile, ledit module de traitement d’images (200) étant caractérisé en ce qu’il est configuré pour:
    • détecter une pluralité de points identiques dans chaque image de la séquence d’images (11, I2, I3) relative à une pluralité de motifs répétitifs dans chaque image de la séquence d’images (11, I2, I3), • calculer de la profondeur (ZA1(tl), ZA2(tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la deuxième image (I2) pour chaque point identique détecté dans la deuxième image (I2) de la séquence d’images (11, I2, I3), • calculer la profondeur (ZA3(tl), ZA4(tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la troisième image (I3), pour chaque point identique détecté dans la troisième image (I3) de la séquence d’images (11, I2, I3), • identifier dans la deuxième image (I2) et dans la troisième image (I3), des points identiques correspondants aux points de l’espace pour lesquels la distance calculée est identique, ces points de l’espace représentant respectivement dans la deuxième image (I2) et dans la troisième image (I3) un même et unique point réel.
  7. 7. Module de traitement d’images (200) selon la revendication précédente, ledit module de traitement d’images (200) étant configuré pour calculer la profondeur (ZA1(tl), ZA2(tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la deuxième image (I2) à partir de la matrice de rotation et du vecteur de translation entre la première image (11) et la deuxième image (I2).
  8. 8. Module de traitement d’images (200) selon l’une des revendications 6 et 7, ledit module de traitement d’images (200) étant configuré pour calculer la
    5 profondeur (ZA3(tl), ZA4(tl)) au premier instant (t1) du point de l’espace correspondant au dit point identique de la troisième image (I3) à partir de la matrice de rotation (R) et du vecteur de translation (T) entre la première image (11) et la troisième image (I2).
  9. 9. Module de traitement d’images (200) selon l’une des revendications 6 à 8, ledit module de traitement d’images (200) étant configuré pour mémoriser la
  10. 10 profondeur (ZA1(tl), ZA2(tl)) pour chaque point identique détecté dans la deuxième image (I2) de la séquence d’images (11, I2, I3) et la profondeur (ZA3(tl), ZA4(tl)) pour chaque point identique détecté dans la troisième image (I3) de la séquence d’images (11, I2, I3).
    10. Véhicule automobile comprenant un module de traitement d’images (200) 15 selon l’une des revendications 6 à 9.
FR1855947A 2018-06-29 2018-06-29 Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere Active FR3083352B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1855947A FR3083352B1 (fr) 2018-06-29 2018-06-29 Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere
DE102019209473.2A DE102019209473A1 (de) 2018-06-29 2019-06-28 Verfahren und Vorrichtung zur schnellen Erfassung von sich wiederholenden Strukturen in dem Bild einer Straßenszene
US16/455,928 US10982967B2 (en) 2018-06-29 2019-06-28 Method and device for fast detection of repetitive structures in the image of a road scene

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1855947 2018-06-29
FR1855947A FR3083352B1 (fr) 2018-06-29 2018-06-29 Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere

Publications (2)

Publication Number Publication Date
FR3083352A1 true FR3083352A1 (fr) 2020-01-03
FR3083352B1 FR3083352B1 (fr) 2020-06-05

Family

ID=63963150

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1855947A Active FR3083352B1 (fr) 2018-06-29 2018-06-29 Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere

Country Status (3)

Country Link
US (1) US10982967B2 (fr)
DE (1) DE102019209473A1 (fr)
FR (1) FR3083352B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023280745A1 (fr) * 2021-07-08 2023-01-12 Continental Automotive Gmbh Procede d'etiquetage d'une image 3d sur base de projection épipolaire

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3083352B1 (fr) * 2018-06-29 2020-06-05 Continental Automotive France Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2431917A1 (fr) * 2010-09-21 2012-03-21 Mobileye Technologies Limited Détection de barrière et de glissière de sécurité utilisant une caméra unique

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504569B1 (en) * 1998-04-22 2003-01-07 Grass Valley (U.S.), Inc. 2-D extended image generation from 3-D data extracted from a video sequence
US6614429B1 (en) * 1999-05-05 2003-09-02 Microsoft Corporation System and method for determining structure and motion from two-dimensional images for multi-resolution object modeling
US7286689B2 (en) * 2003-06-07 2007-10-23 Hewlett-Packard Development Company, L.P. Motion estimation for compression of calibrated multi-view image sequences
US8401276B1 (en) * 2008-05-20 2013-03-19 University Of Southern California 3-D reconstruction and registration
US8837811B2 (en) * 2010-06-17 2014-09-16 Microsoft Corporation Multi-stage linear structure from motion
US9646201B1 (en) * 2014-06-05 2017-05-09 Leap Motion, Inc. Three dimensional (3D) modeling of a complex control object
US10341633B2 (en) * 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information
US10430994B1 (en) * 2016-11-07 2019-10-01 Henry Harlyn Baker Techniques for determining a three-dimensional textured representation of a surface of an object from a set of images with varying formats
FR3083352B1 (fr) * 2018-06-29 2020-06-05 Continental Automotive France Procede et dispositif de detection rapide de structures repetitives dans l'image d'une scene routiere

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2431917A1 (fr) * 2010-09-21 2012-03-21 Mobileye Technologies Limited Détection de barrière et de glissière de sécurité utilisant une caméra unique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FRÉDÉRIC SUR ET AL: "Image point correspondences and repeated patterns", HAL ID: INRIA-00609998, 20 July 2011 (2011-07-20), XP055556303, Retrieved from the Internet <URL:https://hal.inria.fr/inria-00609998/document> [retrieved on 20190213] *
MARIA KUSHNIR ET AL: "Epipolar Geometry Estimation for Urban Scenes with Repetitive Structures", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 36, no. 12, 16 July 2014 (2014-07-16), USA, pages 2381 - 2395, XP055556297, ISSN: 0162-8828, DOI: 10.1109/TPAMI.2014.2339862 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023280745A1 (fr) * 2021-07-08 2023-01-12 Continental Automotive Gmbh Procede d'etiquetage d'une image 3d sur base de projection épipolaire
FR3125150A1 (fr) * 2021-07-08 2023-01-13 Continental Automotive Procédé d’étiquetage d’une image 3D

Also Published As

Publication number Publication date
US10982967B2 (en) 2021-04-20
FR3083352B1 (fr) 2020-06-05
DE102019209473A1 (de) 2020-01-02
US20200003574A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
EP2275971B1 (fr) Procédé de détection d&#39;un obstacle pour véhicule automobile
FR2914761A1 (fr) Dispositif pour reconnaitre un objet sur une image
EP3707676A1 (fr) Procédé d&#39;estimation de pose d&#39;une caméra dans le référentiel d&#39;une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d&#39;ordinateur associé
FR3009635A1 (fr) Procede de recherche d&#39;une image similaire dans une banque d&#39;images a partir d&#39;une image de reference
EP2275970A1 (fr) Procédé de détection d&#39;un obstacle pour véhicule automobile
WO2009141378A1 (fr) Procede et systeme d&#39;indexation et de recherche de documents video
EP3614306B1 (fr) Procédé de localisation et d&#39;identification de visage et de détermination de pose, à partir d&#39;une vue tridimensionnelle
WO2012007382A1 (fr) Procédé de détection d&#39;une cible dans des images stéréoscopiques par apprentissage et classification statistique à partir d&#39;une loi de probabilité
FR2858447A1 (fr) Procede et dispositif automatise de perception avec determination et caracterisation de bords et de frontieres d&#39;objets d&#39;un espace, construction de contours et applications
FR3083352A1 (fr) Procede et dispositif de detection rapide de structures repetitives dans l&#39;image d&#39;une scene routiere
WO2018138064A1 (fr) Detection d&#39;obstacles dans l&#39;environnement d&#39;un vehicule automobile par traitement d&#39;images
CN108292441B (zh) 用于机动车辆的视觉系统和控制视觉系统的方法
WO2010133785A1 (fr) Procede et dispositif pour etendre une zone de visibilite
FR2899363A1 (fr) Procede et dispositif de detection de mouvement d&#39;objets sur des images d&#39;une scene
JP5715784B2 (ja) 画像の輪郭点検出方法
WO2017005930A1 (fr) Détection d&#39;objets par traitement d&#39;images
CN108256510A (zh) 一种道路边缘线检测方法、装置及终端
FR3064785A1 (fr) Procede et dispositif de traitement d&#39;images acquises par une camera d&#39;un vehicule automobile
EP2769360B1 (fr) Procédé de localisation d&#39;objets par résolution dans l&#39;espace tridimensionnel de la scène
WO2017216465A1 (fr) Procédé et dispositif de traitement d&#39;images acquises par une caméra d&#39;un véhicule automobile
FR3058247B1 (fr) Detection d&#39;obstacles autour d&#39;un vehicule automobile
EP4078522A1 (fr) Procede de selection de points de surface a partir d&#39;un modele cao pour la localisation d&#39;objets 3d industriels, application de ce procede a la localisation d&#39;objets 3d industriels, et systeme de realite augmentee exploitant des objets 3d ainsi localises
KR101894731B1 (ko) 차량의 충돌방지시스템 및 그 방법
FR3138951A1 (fr) Système et procédé d&#39;aide à la navigation d&#39;un système mobile au moyen d&#39;un modèle de prédiction de traversabilité d&#39;un terrain par le système mobile
WO2024194539A1 (fr) Procede et dispositif d&#39;enrichissement d&#39;une image d&#39;une scene, au sein d&#39;un vehicule

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200103

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

TQ Partial transmission of property

Owner name: CONTINENTAL AUTONOMOUS MOBILITY GERMANY GMBH, DE

Effective date: 20230424

Owner name: CONTINENTAL AUTOMOTIVE FRANCE, FR

Effective date: 20230424

PLFP Fee payment

Year of fee payment: 7