WO2017216465A1 - Method and device for processing images acquired by a camera of a motor vehicle - Google Patents

Method and device for processing images acquired by a camera of a motor vehicle Download PDF

Info

Publication number
WO2017216465A1
WO2017216465A1 PCT/FR2017/051510 FR2017051510W WO2017216465A1 WO 2017216465 A1 WO2017216465 A1 WO 2017216465A1 FR 2017051510 W FR2017051510 W FR 2017051510W WO 2017216465 A1 WO2017216465 A1 WO 2017216465A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
pixel
pbmax
pixels
pbmin
Prior art date
Application number
PCT/FR2017/051510
Other languages
French (fr)
Inventor
Lucien Garcia
Arnaud FAURE
Original Assignee
Continental Automotive France
Continental Automotive Gmbh
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 France, Continental Automotive Gmbh filed Critical Continental Automotive France
Publication of WO2017216465A1 publication Critical patent/WO2017216465A1/en

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
    • 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/30244Camera pose
    • 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

Definitions

  • the invention relates to the field of assistance for driving a motor vehicle and more particularly relates to a method and a device for processing images acquired by a camera of a motor vehicle and a motor vehicle comprising a such device.
  • ADAS Advanced Driver Assistance System
  • ADAS Advanced Driver Assistance System
  • Such a system comprises in known manner a video camera, for example mounted on the front windshield of the vehicle, which generates a flow of images representing the environment of said vehicle. These images are used by an image processing device for the purpose of assisting the driver, for example by detecting an obstacle or crossing a white line.
  • the information given by the images acquired by the camera must therefore be sufficiently precise and relevant to allow the system to assist the driver reliably.
  • a known solution is to analyze an area of pixels around said pixel in the second image to determine in which direction the point is moving between the first image. picture and the second picture.
  • Such a solution may require the use of a pixel area comprising more than 2500 pixels, which requires significant processing capabilities and therefore has a major disadvantage for an embedded system in a motor vehicle.
  • the invention therefore aims to remedy at least in part these disadvantages by providing a simple, reliable and effective solution for detecting objects in a video stream captured by the camera of a motor vehicle.
  • the subject of the invention is a method of processing images acquired by a camera of a motor vehicle, said method comprising the steps of:
  • the use of an epipolar segment makes it possible to improve the determination of the optical flow of a pixel between two consecutive images.
  • This method makes it possible to obtain optical flows for a number of pixels that can reach at least 10% of the total number of pixels present in an image, which makes it possible to detect a large number of notable objects such as bridges, panels, poles, etc.
  • the method according to the invention can advantageously be used on pixels representing both static and dynamic objects.
  • the method further comprises a step of determining the minimum distance and the maximum distance.
  • the method further comprises a step of determining the projection plane.
  • the correlation score of a set of pixels associated with a point of the determined segment is calculated from the sum of the absolute differences between the gray levels of the pixels of said set and the gray levels of the initial set determined. such a calculation being easy to perform.
  • the invention also relates to an image processing device for a motor vehicle, said device comprising a camera capable of acquiring a first image and a second image and an image processing module configured for:
  • the image processing module is configured to determine the minimum distance and the maximum distance.
  • the image processing module is configured to determine the projection plane.
  • the image processing module is configured to calculate the correlation score of a set of pixels associated with a point of the segment determined from the sum of the absolute differences between the gray levels of the pixels of said set and the gray levels of the initial set determined.
  • the invention also relates to a motor vehicle comprising a device as presented above.
  • FIG. 1 schematically illustrates a vehicle according to the invention.
  • FIG. 2 schematically illustrates a first image and a second image, consecutive to the first image, acquired by the camera.
  • FIG. 3 schematically illustrates two projections of an area of pixels of a first image in a second image by homography on a projection plane located respectively at a predetermined minimum distance and at a maximum distance.
  • FIG. 4 schematically illustrates schematically a projection by homography, on a projection plane situated at a predetermined distance, of a set of points of a first image in a second image, the correspondence between the two images being realized via a rotation matrix and a translation matrix.
  • FIG. 5 schematically illustrates an epipolar segment obtained in a second image by projecting a set of pixels of a first image onto a plane consecutively at a predetermined plurality of distances between a predetermined minimum distance and a maximum distance predetermined.
  • FIG. 6 schematically illustrates a graph of correlation scores obtained for a pixel and its neighborhood projected along the segment of FIG. 5.
  • FIG. 7 diagrammatically illustrates an embodiment of the method according to the invention.
  • the image processing device 10 is mounted in a motor vehicle 1.
  • motor vehicle is meant, in a standard manner, a road vehicle driven by an internal combustion engine, electric or gas turbine engine or a hybrid engine such as, for example, a car, a van, a truck, etc.
  • the device 10 comprises a camera 100 and an image processing module 200.
  • the camera 100 is mounted at the upper central part of the front windshield (not shown) of the vehicle 1. Note however that the camera 100 could be mounted at any other suitable place of the vehicle 1 (side, rear etc.).
  • the camera 100 is configured to acquire a plurality of images of the environment 2 of the vehicle 1, for example the road 2A, so that the image processing module 200 exploits them.
  • the image processing module 200 processes the images acquired by the camera 100 to provide driving assistance to the driver of the vehicle 1.
  • image processing may consist of detecting objects in the images, such as, for example, panels, road borders, obstacles (pedestrians or other ...), in order to inform the driver respectively a speed limit, a risk of leaving the road or a risk of collision.
  • image processing can also be used to measure the height of a bridge or the position of an obstacle in order to warn the driver or perform an emergency braking.
  • the image processing module 200 is configured to perform a plurality of tasks on a first image 11 and a second image 12 acquired consecutively by the camera 100.
  • the image processing module 200 is firstly configured to determine a rotation matrix R and a translation matrix T between the first image 11 and the second image 12, for example by using the same static object represented on both images, for example the road or a bridge, or a dynamic object moving relative to the camera 100, for example another vehicle. In the latter case, it is necessary to know where the object is located in the image (for example by using a classification method known per se) and then to determine the rotation matrix and the translation matrix between the dynamic object and the camera 100, the translation matrix T being in this case weighted by a coefficient a which can be determined in known manner by image processing knowing the size of the object.
  • the determination of the rotation matrix R and of the translation matrix T between the first image 11 and the second image 12 may be performed by an image processing algorithm or by the use of one or more inertial sensors and / or or geographical position (for example GPS) in a manner known per se.
  • such an algorithm can consist in determining the temporal flow between the first image 11 and the second image 12 to deduce therefrom a first so-called “fundamental” matrix, to transform this fundamental matrix into a so-called matrix "Essential" from the intrinsic calibration parameters of the camera 100, to deduce a rotation matrix R and an intermediate translation matrix aT obtained at a factor "a” and correct this intermediate translation matrix aT to obtain a final translation matrix T from an odometer of the vehicle 1.
  • the image processing module 200 is configured to select a pixel PA (1) in the first image 11 for which a corresponding pixel is sought in the second image 12.
  • corresponding pixel means a pixel representing the same spatial area of the environment of the vehicle 1.
  • the image processing module 200 is then configured to determine in the first image 11 an initial set of pixels comprising the selected pixel PA (1) and a plurality of pixels PA (2), PA (5), located in the vicinity of the selected pixel PA (1).
  • neighborhborhood is meant in a known manner PA (2) pixels, PA (5) being around the selected pixel PA (1) in the first image 11.
  • the number of pixels of the neighborhood is four in this example for the sake of clarity, but it goes without saying that the neighborhood of the pixel PA (1) may comprise more or fewer than four pixels (more generally "n" pixels, "n” being a natural number greater than or equal to 2).
  • Such an initial set of pixels may be a window or a portion of the first image 11, for example a window of 10 x 10 pixels.
  • the number n of pixels and the shape of the window or the image portion may vary on purpose.
  • five pixels are represented in the set as an example but that the number of pixels of the set could of course be less than or greater than five.
  • the image processing module 200 is configured to determine, in the second image 12, a plurality of sets of pixels PB (1), PB (5) by projection, from the rotation matrix R and the matrix defined translation T, of the initial set determined PA (1), PA (5).
  • This first set PB (1), PB (5) comprises a first pixel PB (1) corresponding to the selected pixel PA (1) in the first image 11.
  • this projection is performed on a predetermined plane W located at different predetermined distances D from the optical center C1 of the camera 100 for the first image 11.
  • the image processing module 200 is firstly configured to determine, in the second image 12, a first set of pixels PBmin (1), PBmin (5) by projection, from the determined rotation matrix R and the translation matrix T, from the determined initial set PA (1), PA (5) on a predetermined plane W at a predetermined minimum distance Dmin.
  • This first set PBmin (1), PBmin (5) comprises a first pixel PBmin (1) corresponding to the selected pixel PA (1) in the first image 11.
  • the image processing module 200 is configured to determine, in the second image 12, a second set of pixels PBmax (1), PBmax (5) by projection, starting from the rotation matrix R and the translation matrix T determined from the initial set determined PA (1), PA (5) on the predetermined plane W located at a predetermined maximum distance Dmax.
  • This second set PBmax (1), PBmax (5) comprises a second pixel PBmax (1) corresponding to the pixel selected in the first image 11.
  • the determination of the projection of a pixel of the first image 11 in the second image 12 via a projection plane W corresponds to a homography of the pixel in a reference frame C1 (which corresponds to the optical center of the camera 100 during the acquisition of the first image 11) at an origin reference C2 (which corresponds to the optical center of the camera 100 during the acquisition of the second image 12) via the projection plane W located at one of the determined distances.
  • the minimum distance Dmin is zero and the maximum distance Dmax corresponds to infinity.
  • the projection plane W can be determined according to the nature of the selected pixel PA (1).
  • a plane W corresponding to the plane of the road 2A can be used as illustrated schematically in FIG. 2.
  • This plane W is a virtual projection plane which will make it possible to estimate by homography, that is geometrically, the corresponding position of a pixel of the first image 11 in the second image 12.
  • the image processing module 200 is configured to determine a segment U connecting the first pixel PBmin (1) and the second pixel PBmax (1). .
  • the image processing module 200 is then configured to select a plurality of PB 2 (1), PB 5 (1) points along the determined U segment.
  • the points PB 2 (1), PB 5 (1) can be distributed along the segment U starting from the first pixel PBmin (1) by being spaced apart by a "step" step of predetermined width, for example every 0.1 pixels.
  • the number of selected points PB 2 (1), PB 5 (1) on the segment U is four in this example but it goes without saying that it could be greater or less than four.
  • the image processing module 200 is configured to calculate, for each PB 2 (1), PB 5 (1) point selected along the segment U, the distance, called intermediate distance D 2 , ..., D 5 of the predetermined projection plane W. Such a calculation can be performed in a known manner (provided that the intrinsic calibration of the camera 100 has been determined beforehand).
  • the image processing module 200 is configured to determine, in the second image 12, a intermediate pixel set ⁇ (PB 2 (1), ...; PB 2 (5)); ...; (PB 5 (1), ...; PB 5 (5)) ⁇ by projecting the initial set determined in the first image 11 on the predetermined plane W when the latter is situated at the intermediate distance D 2 , .. ., D 5 calculated for said selected PB 2 (1), PB 5 (1) point.
  • the processing module of images 200 is configured to calculate a correlation score Si, ..., S 6 .
  • a first method is based on measurements using the statistics of the gray level difference distribution between the pixels of the first image 11 and the second image 12. For example, the sum of the absolute differences or SAD for "Sum of Absolute "Differences" in English is a simple algorithm used to find a correlation between two neighborhoods. It is determined by calculating the absolute difference of the gray levels between each pixel in the original pixel set of the first image 11 and the corresponding pixel of the associated set in the second image 12. These differences are summed to create a simple measure of similarity of the block, the norm L1 of the image of the differences.
  • MSE least square error
  • MAD Mean Mean Absolute Deviation
  • SSE Sum of Squared Errors
  • the image processing module 200 is configured to determine in the second image 12 the set of pixels whose correlation score Si, ..., S 6 is the highest, the pixel of this set that corresponds to the pixel PA (1) selected in the first image 12 being the pixel that has the best chance of actually matching it.
  • the camera 100 acquires a first consecutive image 11 and a second image 12.
  • the method can be implemented by taking as a first image 11 the image whose acquisition is temporally the first (previous or previous image in the stream of images acquired by the camera) and as the second image 12, l successive image in the flow of images.
  • the method can be implemented by taking as a first image 11 the image whose acquisition is temporally posterior (following image in the stream of images acquired by the camera) to the second image 12 and as the second image 12 , the previous image in the flow of images.
  • the previous image is chosen as the first image 11 and the posterior image (i.e. successive in the flow of images) as the second image 12.
  • the image processing module 200 determines, in a step E2, the rotation matrix R and the translation matrix T between the first image 11 and the second image 12.
  • the image processing module 200 selects, in a step E3, a pixel PA (1) in the first image 11 for which a corresponding pixel in the second image 12 must be determined.
  • the image processing module 200 can firstly select a pixel, which has no optical flow in the second image 12, in a zone of interest of the first image 11, for example a side of the image representing the edge of the road when you want to warn the driver of a risk of leaving the road, the top of the image representing the sky when you want to detect a bridge to assess the height etc.
  • the image processing module 200 determines in the first image 11, in a step E4, an initial set of pixels PA (1), PA ( 5) comprising the selected pixel PA (1) and a plurality of PA (2), PA (5) pixels located near the selected pixel PA (1).
  • PA (1) an initial set of pixels PA (1), PA ( 5) comprising the selected pixel PA (1) and a plurality of PA (2), PA (5) pixels located near the selected pixel PA (1).
  • PA (2), PA (3), PA (4) and PA (5) pixels in the vicinity of the PA (1) pixel have been selected.
  • the image processing module 200 determines or selects (for example from a list stored in a memory zone (not shown) of the device 10) in a step E5 a minimum distance Dmin and a maximum distance Dmax between which is the spatial point represented by the selected pixel PA (1).
  • These values Dmin and Dmax can be determined as described above or by using the history of previous images or a geometrical knowledge of the scene, such as a flat road.
  • a step E6 the image processing module 200 determines a projection plane W, of the selected pixel PA (1), in the second image 12, for example a vertical plane located facing the front of the vehicle 1. Note that steps E5 and E6 can be reversed.
  • the image processing module 200 determines, in the second image 12, a first set of pixels PBmin (1), PBmin (5) by homographic projection of the set initial determined pixels PA (1), PA (5) on the W plane, considering that the latter is placed at the determined minimum distance Dmin.
  • This first set PBmin (1), PBmin (5) comprises a corresponding first pixel PBmin (1), by homographic projection on the W plane at the minimum distance Dmin, to the selected pixel PA (1) in the first image 11.
  • the image processing module 200 determines, in the second image 12, a second set of pixels PBmax (1), PBmax (5) by homographic projection of the initial set determined PA (1). , PA (5) on the predetermined plane W located at the predetermined maximum distance Dmax.
  • This second set PBmax (1), PBmax (5) comprises a corresponding second pixel PBmax (1), by homographic projection of the plane W at the maximum distance Dmax, to the selected pixel PA (1) in the first image 11. It goes without saying that steps E7 and E8 can be reversed.
  • the image processing module 200 determines, in a step E9, the segment U connecting the first pixel PBmin (1) and the second pixel PBmax (1) in the second image 12 and then selects in a step E10, a plurality of points PB 2 (1), PB 5 (1) on the segment U thus determined, for example every 0.1 pixels.
  • the image processing module 200 For each point PB 2 (1), PB 5 (1) determined, the image processing module 200 performs two successive substeps.
  • the image processing module 200 calculates the distance (called the intermediate distance) D 2 ,..., D 5 from the projection plane W. It will be noted that this distance is already known for PBmin (1) and PBmax (1) (respectively Dmin and Dmax). To do this, we express each point PB 2 (1), PB 5 (1) as a function of PA (1), of the rotation matrix R and of the translation matrix T, or in simplified writing:
  • PA the actual coordinates of points PA and PB.
  • the image processing module 200 determines in the second image 12 an intermediate set of pixels ⁇ (PB 2 (1), ...; PB 2 (5)); ...; (PB 5 (1), ...; PB 5 (5)) ⁇ by projecting the initial set determined PA (1), PA (5) on the plane W located at the intermediate distance D 2 , ... , D 5 calculated.
  • the image processing module 200 calculates a correlation score S 2 , S 5 for the intermediate pixel set as well as a correlation score Si for the first set of pixels PBmin (1), PBmin (5) and a correlation score Se for the second set of pixels PBmax (1), PBmax (5).
  • the image processing module 200 finally determines, in the second image 12, the set of pixels with the highest correlation score (the score S 3 in this example).
  • the pixel of this set corresponding to the projection of the pixel PA (1) constitutes the pixel which has the best correspondence with the pixel PA (1) selected in the first image 11, in terms of representation of the same spatial area of the environment of the vehicle 1.
  • rotation and translation between images is expressed relative to a world reference that is related to the dynamic object.
  • the method according to the invention thus makes it possible to easily and efficiently detect objects in the images captured by the camera 100 in order to assist the driver in his driving of the vehicle 1. It is furthermore specified that the present invention is not limited to the examples described above and is capable of numerous variants accessible to those skilled in the art.

Landscapes

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

Abstract

The present invention relates to a method for processing images acquired by a camera of a motor vehicle. The method makes it possible to determine (E9) an epipolar segment in an image, to select (E10) a plurality of points on the determined segment, and, for each determined point, to calculate (E11A) the distance of a predetermined projection plane, to determine (E11B) an intermediate set of pixels by projecting a first determined set on the predetermined plane located at the distance calculated, and to calculate a correlation score for each set of pixels associated with a point of the determined segment in order to determine the pixel of the second image which represents the same point as the associated pixel in the first image.

Description

Procédé et dispositif de traitement d'images acquises par une caméra d'un véhicule automobile  Method and device for processing images acquired by a camera of a motor vehicle
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.  The invention relates to the field of assistance for driving a motor vehicle and more particularly relates to a method and a device for processing images acquired by a camera of a motor vehicle and a motor vehicle comprising a such device.
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 données 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.  Nowadays, it is known to equip a motor vehicle with a driver assistance system commonly called ADAS ("Advanced Driver Assistance System" in English). Such a system comprises in known manner a video camera, for example mounted on the front windshield of the vehicle, which generates a flow of images representing the environment of said vehicle. These images are used by an image processing device for the purpose of assisting the driver, for example by detecting an obstacle or crossing a white line. The information given by the images acquired by the camera must therefore be sufficiently precise and relevant to allow the system to assist the driver reliably.
On sait détecter un objet à partir d'une série d'images acquises par la caméra vidéo en suivant 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 pluralité d'images successives et d'en déterminer leur localisation dans l'espace.  It is known to detect an object from a series of images acquired by the video camera by following the optical flow ("optical flow" in English) of a number of points in the series of images. More precisely, it is a question of following the trajectory of these points in a plurality of successive images and to determine their location in the space.
Certains pixels représentant le ciel ou la route sont toutefois difficilement traçables d'une image à une autre du fait de leur uniformité sur plusieurs images successives, ce qui présente des inconvénients importants.  Some pixels representing the sky or the road are however difficult to track from one image to another because of their uniformity in several successive images, which has significant disadvantages.
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.  In order to follow a point represented by a pixel of a first image in a second consecutive image, a known solution is to analyze an area of pixels around said pixel in the second image to determine in which direction the point is moving between the first image. picture and the second picture.
Une telle solution peut nécessiter l'utilisation d'une zone de pixels comprenant plus de 2500 pixels, ce qui demande des capacités de traitement importantes et présente donc un inconvénient majeur pour un système embarqué dans un véhicule automobile.  Such a solution may require the use of a pixel area comprising more than 2500 pixels, which requires significant processing capabilities and therefore has a major disadvantage for an embedded system in a motor vehicle.
De plus, lorsque le véhicule roule à une vitesse élevée, par exemple plus de 130 km/h, il s'avère difficile voire impossible de suivre les points dans des images successives avec une telle méthode, notamment des points représentants des objets en perspective.  In addition, when the vehicle is traveling at a high speed, for example more than 130 km / h, it is difficult or impossible to follow the points in successive images with such a method, including points representing objects in perspective.
Enfin, une telle solution, bien que robuste, ne permet de suivre les flots que d'un nombre très limité de points d'une image, de l'ordre de 2 % de points, ce qui peut s'avérer insuffisant pour détecter un nombre significatif d'objets et donc pour assister efficacement le conducteur dans sa conduite. Finally, such a solution, although robust, makes it possible to track the waves only a very limited number of points of an image, of the order of 2% of points, which can be insufficient to detect a significant number of objects and thus to effectively assist the driver in his conduct.
L'invention vise donc à remédier au moins en partie à ces inconvénients en proposant une solution simple, fiable et efficace pour détecter des objets dans un flux vidéo capturé par la caméra d'un véhicule automobile.  The invention therefore aims to remedy at least in part these disadvantages by providing a simple, reliable and effective solution for detecting objects in a video stream captured by the camera of a motor vehicle.
A cette fin, l'invention a pour objet un procédé de traitement d'images acquises par une caméra d'un véhicule automobile, ledit procédé comprenant les étapes de :  To this end, the subject of the invention is a method of processing images acquired by a camera of a motor vehicle, said method comprising the steps of:
• acquisition d'une première image et d'une deuxième image par la caméra, · détermination d'une matrice de rotation et d'une matrice de translation entre la première image et la deuxième image,  Acquisition of a first image and a second image by the camera, determination of a rotation matrix and a translation matrix between the first image and the second image,
• sélection d'au moins un pixel dans la première image,  • selection of at least one pixel in the first image,
• pour chaque pixel sélectionné dans la première image :  • for each pixel selected in the first image:
- détermination, dans la première image, d'un ensemble initial de pixels comprenant le pixel sélectionné et une pluralité de pixels localisés au voisinage du pixel sélectionné,  determining, in the first image, an initial set of pixels comprising the selected pixel and a plurality of pixels located in the vicinity of the selected pixel,
- détermination, dans la deuxième image, d'un premier ensemble de pixels par projection sur un plan prédéterminé situé à une distance minimale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, ledit premier ensemble comprenant un premier pixel correspondant au pixel sélectionné dans la première image,  determination, in the second image, of a first set of pixels by projection on a predetermined plane situated at a predetermined minimum distance from the determined initial set, from the determined rotation matrix and translation matrix, said first set comprising a first pixel corresponding to the pixel selected in the first image,
- détermination, dans la deuxième image, d'un deuxième ensemble de pixels par projection sur le plan prédéterminé situé à une distance maximale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, ledit deuxième ensemble comprenant un deuxième pixel correspondant au pixel sélectionné dans la première image,  determination, in the second image, of a second set of pixels by projection on the predetermined plane situated at a predetermined maximum distance from the determined initial set, from the determined rotation matrix and translation matrix, said second set comprising a second pixel corresponding to the pixel selected in the first image,
- détermination d'un segment reliant le premier pixel et le deuxième pixel, - sélection d'une pluralité de points sur le segment déterminé,  determining a segment connecting the first pixel and the second pixel, selecting a plurality of points on the determined segment,
- pour chaque point sélectionné :  - for each selected point:
• calcul de la distance du plan de projection prédéterminé,  Calculating the distance of the predetermined projection plane,
• détermination, dans la deuxième image, d'un ensemble de pixels intermédiaire par projection sur le plan prédéterminé situé à la distance calculée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, - pour chaque ensemble de pixels associé à un point du segment déterminé, calcul d'un score de corrélation, Determination, in the second image, of a set of intermediate pixels by projection on the predetermined plane situated at the calculated distance, of the initial set determined, from the determined rotation matrix and of the translation matrix, for each set of pixels associated with a point of the determined segment, calculating a correlation score,
- détermination dans la deuxième image, à partir du score de corrélation calculé, du pixel correspondant à un même objet sur la première image et sur la deuxième image, représentant ainsi le flot optique d'un même pixel entre les deux images.  determination in the second image, from the computed correlation score, of the pixel corresponding to the same object on the first image and on the second image, thus representing the optical flow of the same pixel between the two images.
L'utilisation d'un segment épipolaire permet d'améliorer la détermination du flot optique d'un pixel entre deux images consécutives. Ce procédé permet d'obtenir des flots optiques pour un nombre de pixels pouvant atteindre au moins 10 % du nombre total de pixels présents dans une image, ce qui permet de détecter un nombre important d'objets notable tels que des ponts, des panneaux, des poteaux, etc. Le procédé selon l'invention peut avantageusement être aussi bien utilisé sur des pixels représentant aussi bien des objets statiques que dynamiques.  The use of an epipolar segment makes it possible to improve the determination of the optical flow of a pixel between two consecutive images. This method makes it possible to obtain optical flows for a number of pixels that can reach at least 10% of the total number of pixels present in an image, which makes it possible to detect a large number of notable objects such as bridges, panels, poles, etc. The method according to the invention can advantageously be used on pixels representing both static and dynamic objects.
Selon un aspect de l'invention, le procédé comprend en outre une étape de détermination de la distance minimale et de la distance maximale.  According to one aspect of the invention, the method further comprises a step of determining the minimum distance and the maximum distance.
Selon un aspect de l'invention, le procédé comprend en outre une étape de détermination du plan de projection.  According to one aspect of the invention, the method further comprises a step of determining the projection plane.
De préférence, le score de corrélation d'un ensemble de pixels associé à un point du segment déterminé est calculé à partir de la somme des différences absolues entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé, une tel calcul étant aisé à réaliser.  Preferably, the correlation score of a set of pixels associated with a point of the determined segment is calculated from the sum of the absolute differences between the gray levels of the pixels of said set and the gray levels of the initial set determined. such a calculation being easy to perform.
L'invention concerne aussi un dispositif de traitement d'images pour véhicule automobile, ledit dispositif comprenant une caméra apte à acquérir une première image et une deuxième image et un module de traitement d'images configuré pour :  The invention also relates to an image processing device for a motor vehicle, said device comprising a camera capable of acquiring a first image and a second image and an image processing module configured for:
· déterminer une matrice de rotation et une matrice de translation entre la première image et la deuxième image acquises par la caméra,  · Determining a rotation matrix and a translation matrix between the first image and the second image acquired by the camera,
• sélectionner au moins un pixel dans la première image,  • select at least one pixel in the first image,
• pour chaque pixel sélectionné dans la première image :  • for each pixel selected in the first image:
- déterminer, dans la première image, un ensemble initial de pixels comprenant le pixel sélectionné et une pluralité de pixels localisés au voisinage du pixel sélectionné,  determining, in the first image, an initial set of pixels comprising the selected pixel and a plurality of pixels located in the vicinity of the selected pixel,
- déterminer, dans la deuxième image, un premier ensemble de pixels par projection sur un plan prédéterminé situé à une distance minimale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, ledit premier ensemble comprenant un premier pixel correspondant au pixel sélectionné dans la première image, - déterminer, dans la deuxième image, un deuxième ensemble de pixels par projection sur le plan prédéterminé situé à une distance maximale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, ledit deuxième ensemble comprenant un deuxième pixel correspondant au pixel sélectionné dans la première image, determining, in the second image, a first set of pixels by projection on a predetermined plane situated at a predetermined minimum distance from the determined initial set, from the determined rotation matrix and translation matrix, said first set of pixels set comprising a first pixel corresponding to the pixel selected in the first image, determining, in the second image, a second set of pixels by projection on the predetermined plane situated at a predetermined maximum distance from the determined initial set, from the determined rotation matrix and translation matrix, said second set of pixels set comprising a second pixel corresponding to the pixel selected in the first image,
- déterminer un segment reliant le premier pixel et le deuxième pixel, determining a segment connecting the first pixel and the second pixel,
- sélectionner une pluralité de points sur le segment déterminé, select a plurality of points on the determined segment,
- pour chaque point sélectionné :  - for each selected point:
· calculer la distance, appelée distance intermédiaire, du plan de projection prédéterminé,  Calculate the distance, called the intermediate distance, from the predetermined projection plane,
• déterminer, dans la deuxième image, un ensemble de pixels intermédiaire par projection sur le plan prédéterminé situé à la distance intermédiaire calculée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées,  • determining, in the second image, a set of intermediate pixels by projection on the predetermined plane located at the calculated intermediate distance, of the initial set determined, from the determined rotation matrix and translation matrix,
- pour chaque ensemble de pixels associé à un point du segment déterminé, calculer un score de corrélation,  for each set of pixels associated with a point of the determined segment, calculating a correlation score,
- déterminer dans la deuxième image, à partir du score de corrélation calculé, le pixel correspondant à un même objet sur la première image et sur la deuxième image.  determining in the second image, from the computed correlation score, the pixel corresponding to the same object on the first image and on the second image.
Selon un aspect de l'invention, le module de traitement d'images est configuré pour déterminer la distance minimale et la distance maximale.  According to one aspect of the invention, the image processing module is configured to determine the minimum distance and the maximum distance.
Selon un autre aspect de l'invention, le module de traitement d'images est configuré pour déterminer le plan de projection.  According to another aspect of the invention, the image processing module is configured to determine the projection plane.
De préférence, le module de traitement d'images est configuré pour calculer le score de corrélation d'un ensemble de pixels associé à un point du segment déterminé à partir de la somme des différences absolues entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé.  Preferably, the image processing module is configured to calculate the correlation score of a set of pixels associated with a point of the segment determined from the sum of the absolute differences between the gray levels of the pixels of said set and the gray levels of the initial set determined.
L'invention concerne également un véhicule automobile comprenant un dispositif tel que présenté précédemment.  The invention also relates to a motor vehicle comprising a device as presented above.
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.  Other features and advantages of the invention will become apparent from the following description given with reference to the appended figures given by way of non-limiting examples and in which identical references are given to similar objects.
- 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. - Figure 1 schematically illustrates a vehicle according to the invention. - Figure 2 schematically illustrates a first image and a second image, consecutive to the first image, acquired by the camera.
- 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.  FIG. 3 schematically illustrates two projections of an area of pixels of a first image in a second image by homography on a projection plane located respectively at a predetermined minimum distance and at a maximum distance.
- La figure 4 illustre schématiquement 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 une matrice de translation.  FIG. 4 schematically illustrates schematically a projection by homography, on a projection plane situated at a predetermined distance, of a set of points of a first image in a second image, the correspondence between the two images being realized via a rotation matrix and a translation matrix.
- 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ée comprises entre une distance minimum prédéterminée et à une distance maximum prédéterminée.  FIG. 5 schematically illustrates an epipolar segment obtained in a second image by projecting a set of pixels of a first image onto a plane consecutively at a predetermined plurality of distances between a predetermined minimum distance and a maximum distance predetermined.
- La figure 6 illustre schématiquement un graphe de scores de corrélation obtenu pour un pixel et son voisinage projetés le long du segment de la figure 5.  FIG. 6 schematically illustrates a graph of correlation scores obtained for a pixel and its neighborhood projected along the segment of FIG. 5.
- La figure 7 illustre schématiquement un mode de réalisation du procédé selon l'invention.  FIG. 7 diagrammatically illustrates an embodiment of the method according to the invention.
Le dispositif de traitement d'images selon l'invention va maintenant être décrit en référence aux figures 1 à 6.  The image processing device according to the invention will now be described with reference to FIGS. 1 to 6.
En référence à la figure 1 , le dispositif 10 de traitement d'images est monté dans un véhicule automobile 1 . 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.  With reference to FIG. 1, the image processing device 10 is mounted in a motor vehicle 1. By the term "motor vehicle" is meant, in a standard manner, a road vehicle driven by an internal combustion engine, electric or gas turbine engine or a hybrid engine such as, for example, a car, a van, a truck, etc.
Le dispositif 10 comprend une caméra 100 et un module de traitement d'images 200. 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 acquérir une pluralité d'images de l'environnement 2 du véhicule 1 , par exemple la route 2A, afin que le module de traitement d'images 200 les exploite.  The device 10 comprises a camera 100 and an image processing module 200. Preferably, the camera 100 is mounted at the upper central part of the front windshield (not shown) of the vehicle 1. Note however that the camera 100 could be mounted at any other suitable place of the vehicle 1 (side, rear etc.). The camera 100 is configured to acquire a plurality of images of the environment 2 of the vehicle 1, for example the road 2A, so that the image processing module 200 exploits them.
Le module de traitement d'images 200 traite les images acquises 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'image 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. The image processing module 200 processes the images acquired by the camera 100 to provide driving assistance to the driver of the vehicle 1. AT As an example, such image processing may consist of detecting objects in the images, such as, for example, panels, road borders, obstacles (pedestrians or other ...), in order to inform the driver respectively a speed limit, a risk of leaving the road or a risk of collision. Such image processing can also be used to measure the height of a bridge or the position of an obstacle in order to warn the driver or perform an emergency braking.
A cette fin, en référence à la figure 2, le module de traitement d'images 200 est configuré pour réaliser une pluralité de tâches sur une première image 11 et une deuxième image 12 acquises consécutivement par la caméra 100.  For this purpose, with reference to FIG. 2, the image processing module 200 is configured to perform a plurality of tasks on a first image 11 and a second image 12 acquired consecutively by the camera 100.
Le module de traitement d'images 200 est tout d'abord configuré pour déterminer une matrice de rotation R et une matrice de translation T entre la première image 11 et la deuxième image 12, par exemple en utilisant un même objet statique représenté sur les deux 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 et la matrice de translation entre l'objet dynamique et la caméra 100, la matrice 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.  The image processing module 200 is firstly configured to determine a rotation matrix R and a translation matrix T between the first image 11 and the second image 12, for example by using the same static object represented on both images, for example the road or a bridge, or a dynamic object moving relative to the camera 100, for example another vehicle. In the latter case, it is necessary to know where the object is located in the image (for example by using a classification method known per se) and then to determine the rotation matrix and the translation matrix between the dynamic object and the camera 100, the translation matrix T being in this case weighted by a coefficient a which can be determined in known manner by image processing knowing the size of the object.
La détermination de la matrice de rotation R et de la matrice de translation T entre la première image 11 et la deuxième image 12 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.  The determination of the rotation matrix R and of the translation matrix T between the first image 11 and the second image 12 may be performed by an image processing algorithm or by the use of one or more inertial sensors and / or or geographical position (for example GPS) in a manner known per se.
A titre d'exemple, de manière connue, un tel algorithme peut consister à déterminer le flot temporel entre la première image 11 et la deuxième image 12 pour en déduire une première matrice dite « fondamentale », à transformer cette matrice fondamentale en une matrice dite « essentielle » à partir des paramètres intrinsèques de calibration de la caméra 100, à en déduire une matrice de rotation R et une matrice de translation intermédiaire a.T obtenue à un facteur « a » près et à corriger cette matrice de translation intermédiaire a.T pour obtenir une matrice de translation T finale à partir d'un odomètre du véhicule 1 . Une telle méthode étant connue en soi, elle ne sera pas davantage détaillée ici.  By way of example, in known manner, such an algorithm can consist in determining the temporal flow between the first image 11 and the second image 12 to deduce therefrom a first so-called "fundamental" matrix, to transform this fundamental matrix into a so-called matrix "Essential" from the intrinsic calibration parameters of the camera 100, to deduce a rotation matrix R and an intermediate translation matrix aT obtained at a factor "a" and correct this intermediate translation matrix aT to obtain a final translation matrix T from an odometer of the vehicle 1. Such a method being known per se, it will not be further detailed here.
Ensuite, toujours 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 12. Par les termes « pixel correspondant », on entend un pixel représentant une même zone spatiale de l'environnement du véhicule 1 . Toujours en référence à la figure 2, le module de traitement d'images 200 est ensuite 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 des pixels PA(2), PA(5) étant autour du 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 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 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. Then, again with reference to FIG. 2, the image processing module 200 is configured to select a pixel PA (1) in the first image 11 for which a corresponding pixel is sought in the second image 12. By the terms " corresponding pixel "means a pixel representing the same spatial area of the environment of the vehicle 1. Still with reference to FIG. 2, the image processing module 200 is then configured to determine in the first image 11 an initial set of pixels comprising the selected pixel PA (1) and a plurality of pixels PA (2), PA (5), located in the vicinity of the selected pixel PA (1). By the term "neighborhood" is meant in a known manner PA (2) pixels, PA (5) being around the selected pixel PA (1) in the first image 11. The number of pixels of the neighborhood is four in this example for the sake of clarity, but it goes without saying that the neighborhood of the pixel PA (1) may comprise more or fewer than four pixels (more generally "n" pixels, "n" being a natural number greater than or equal to 2). Such an initial set of pixels may be a window or a portion of the first image 11, for example a window of 10 x 10 pixels. It will be noted here that the number n of pixels and the shape of the window or the image portion may vary on purpose. It will also be noted that five pixels are represented in the set as an example but that the number of pixels of the set could of course be less than or greater than five.
Le module de traitement d'images 200 est configuré pour déterminer, dans la deuxième image 12, une pluralité d'ensembles de pixels PB(1 ), PB(5) par projection, à partir de la matrice de rotation R et de la matrice de translation T déterminées, de l'ensemble initial déterminé PA(1 ), PA(5). Ce premier ensemble PB(1 ), PB(5) comprend un premier pixel PB(1 ) correspondant au pixel sélectionné PA(1 ) dans la première image 11 .  The image processing module 200 is configured to determine, in the second image 12, a plurality of sets of pixels PB (1), PB (5) by projection, from the rotation matrix R and the matrix defined translation T, of the initial set determined PA (1), PA (5). This first set PB (1), PB (5) comprises a first pixel PB (1) corresponding to the selected pixel PA (1) in the first 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 .  With reference to FIGS. 3 and 4, this projection is performed on a predetermined plane W located at different predetermined distances D from the optical center C1 of the camera 100 for the first 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 12, un premier ensemble de pixels PBmin(1 ), PBmin(5) par projection, à partir de la matrice de rotation R et de la matrice de translation T déterminées, de l'ensemble initial déterminé PA(1 ), PA(5) sur un plan W 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 .  More specifically, with reference to FIG. 3, the image processing module 200 is firstly configured to determine, in the second image 12, a first set of pixels PBmin (1), PBmin (5) by projection, from the determined rotation matrix R and the translation matrix T, from the determined initial set PA (1), PA (5) on a predetermined plane W at a predetermined minimum distance Dmin. This first set PBmin (1), PBmin (5) comprises a first pixel PBmin (1) corresponding to the selected pixel PA (1) in the first 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 12, un deuxième ensemble de pixels PBmax(1 ), PBmax(5) par projection, à partir de la matrice de rotation R et de la matrice de translation T déterminées, de l'ensemble initial déterminé PA(1 ), PA(5) sur le plan prédéterminé 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é 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 12 via un plan de projection W correspond à une homographie du pixel dans un repère d'origine C1 (qui correspond au centre optique de la caméra 100 lors de l'acquisition de la première image 11 ) à un repère d'origine C2 (qui correspond au centre optique de la caméra 100 lors de l'acquisition de la deuxième image 12) via le plan de projection W situé à l'une des distances déterminées. Une telle projection par homographie H est réalisée à partir des matrices de rotation R et de translation T, d'un vecteur n2 normal au plan de projection W et de la distance D du plan W par rapport au centre optique C1 de la manière suivante : H = R - (— j ). Similarly, again with reference to FIG. 3, the image processing module 200 is configured to determine, in the second image 12, a second set of pixels PBmax (1), PBmax (5) by projection, starting from the rotation matrix R and the translation matrix T determined from the initial set determined PA (1), PA (5) on the predetermined plane W located at a predetermined maximum distance Dmax. This second set PBmax (1), PBmax (5) comprises a second pixel PBmax (1) corresponding to the pixel selected in the first image 11. Referring now to FIG. 4, the determination of the projection of a pixel of the first image 11 in the second image 12 via a projection plane W corresponds to a homography of the pixel in a reference frame C1 (which corresponds to the optical center of the camera 100 during the acquisition of the first image 11) at an origin reference C2 (which corresponds to the optical center of the camera 100 during the acquisition of the second image 12) via the projection plane W located at one of the determined distances. Such a projection by homography H is carried out from rotation matrices R and translation T, a vector n 2 normal to the projection plane W and the distance D from the plane W with respect to the optical center C1 in the following manner : H = R - (- j).
Une telle homographie étant connue en soi, elle ne sera donc pas davantage détaillée ici.  Since such a homography is known per se, it will not be further detailed here.
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.  In theory, the minimum distance Dmin is zero and the maximum distance Dmax corresponds to infinity. In practice, it is possible to choose a minimum distance Dmin of a few meters, for example 5 meters, and a maximum distance Dmax of a few tens of meters, for example 50 or 100 meters, especially when the selected pixel PA (1) in the first image 11 represents an identified object whose distance from the camera 100 is known, for example the road scrolling in the lower part of the images acquired by the camera 100.
Le plan de projection W 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 12.  The projection plane W can be determined according to the nature of the selected pixel PA (1). For example, when the selected pixel PA (1) represents a zone of the road 2A on which the vehicle 1 is traveling, a plane W corresponding to the plane of the road 2A can be used as illustrated schematically in FIG. 2. This plane W is a virtual projection plane which will make it possible to estimate by homography, that is geometrically, the corresponding position of a pixel of the first image 11 in the second image 12.
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 ).  Once the first pixel PBmin (1) and the second pixel PBmax (1) have been selected, the image processing module 200 is configured to determine a segment U connecting the first pixel PBmin (1) and the second pixel PBmax (1). .
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 sélectionnés PB2(1 ), PB5(1 ) 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. Referring to Fig. 5, the image processing module 200 is then configured to select a plurality of PB 2 (1), PB 5 (1) points along the determined U segment. Advantageously, the points PB 2 (1), PB 5 (1) can be distributed along the segment U starting from the first pixel PBmin (1) by being spaced apart by a "step" step of predetermined width, for example every 0.1 pixels. The number of selected points PB 2 (1), PB 5 (1) on the segment U is four in this example but it goes without saying that it could be greater or less than four.
Ensuite, le module de traitement d'images 200 est configuré pour calculer, pour chaque point PB2(1 ), PB5(1 ) sélectionné le long du segment U, la distance, appelée distance intermédiaire D2,..., D5 du plan de projection prédéterminé W. Un tel calcul peut être réalisé de manière connue (à condition que la calibration intrinsèque de la caméra 100 ait été déterminée au préalable). Then, the image processing module 200 is configured to calculate, for each PB 2 (1), PB 5 (1) point selected along the segment U, the distance, called intermediate distance D 2 , ..., D 5 of the predetermined projection plane W. Such a calculation can be performed in a known manner (provided that the intrinsic calibration of the camera 100 has been determined beforehand).
Ensuite, en référence à la figure 4, toujours pour chaque point PB2(1 ), PB5(1 ) sélectionné sur le segment U, le module de traitement d'images 200 est configuré pour déterminer, dans la deuxième image 12, un ensemble de pixels intermédiaire {(PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5))} par projection de l'ensemble initial déterminé dans la première image 11 sur le plan prédéterminé W lorsque ce dernier est situé à la distance intermédiaire D2,..., D5 calculée pour ledit point PB2(1 ), PB5(1 ) sélectionné. Then, with reference to FIG. 4, again for each PB 2 (1), PB 5 (1) point selected on the segment U, the image processing module 200 is configured to determine, in the second image 12, a intermediate pixel set {(PB 2 (1), ...; PB 2 (5)); ...; (PB 5 (1), ...; PB 5 (5))} by projecting the initial set determined in the first image 11 on the predetermined plane W when the latter is situated at the intermediate distance D 2 , .. ., D 5 calculated for said selected PB 2 (1), PB 5 (1) point.
Pour chaque ensemble de pixels {{(PBmin(1 ), ... ; PBmin(5)), (PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5)) ; (PBmax(1 ), ... ; PBmax(5))} associé à un point PBmin(1 ), PB2(1 ), PB5 (1 ), PBmax(1 ) du segment U déterminé, le module de traitement d'images 200 est configuré pour calculer un score de corrélation Si ,...,S6. For each set of pixels {{(PBmin (1), ...; PBmin (5)), (PB 2 (1), ..., PB 2 (5)); ...; (PB 5 (1), ..., PB 5 (5)); (PBmax (1), ...; PBmax (5))} associated with a point PBmin (1), PB2 (1), PB5 (1), PBmax (1) of the determined segment U, the processing module of images 200 is configured to calculate a correlation score Si, ..., S 6 .
II existe plusieurs méthodes connues pour calculer un score de corrélation. There are several known methods for calculating a correlation score.
Une première méthode est basée sur des mesures utilisant les statistiques de la distribution des différences des niveaux de gris entre les pixels de la première image 11 et de la deuxième image 12. Par exemple, la somme des différences absolues ou SAD pour « Sum of Absolute Différences » en langue anglaise est un algorithme simple, utilisé pour trouver une corrélation entre deux voisinages. Elle est déterminée en calculant la différence absolue des niveaux de gris entre chaque pixel dans l'ensemble de pixel d'origine de la première image 11 et le pixel correspondant de l'ensemble associé dans la deuxième image 12. Ces différences sont additionnées pour créer une mesure simple de similarité du bloc, la norme L1 de l'image des différences. A first method is based on measurements using the statistics of the gray level difference distribution between the pixels of the first image 11 and the second image 12. For example, the sum of the absolute differences or SAD for "Sum of Absolute "Differences" in English is a simple algorithm used to find a correlation between two neighborhoods. It is determined by calculating the absolute difference of the gray levels between each pixel in the original pixel set of the first image 11 and the corresponding pixel of the associated set in the second image 12. These differences are summed to create a simple measure of similarity of the block, the norm L1 of the image of the differences.
D'autres méthodes connues sont basées sur l'erreur sur les moindres carrées (MSE ou « Mean Square Error »), sur l'écart moyen absolu (MAD ou « Mean of Absolute Déviation »), sur la somme des erreurs au carré (SSE ou « Sum of Squared Errors »), sur des mesures de corrélation croisée qui exploitent le produit scalaire ou bien sur des mesures utilisant les dérivées des images ou bien encore sur des mesures ordinales qui s'appuient sur l'ordre des niveaux de gris des pixels, etc.  Other known methods are based on the least square error (MSE), the Mean Mean Absolute Deviation (MAD), the sum of squared errors ( SSE or "Sum of Squared Errors"), on cross-correlation measurements that exploit the scalar product or on measurements using the derivatives of the images or on ordinal measurements that are based on the order of the gray levels pixels, etc.
Une fois le score de corrélation déterminé pour chaque ensemble de pixels {{(PBmin(1 ), ... ; PBmin(5)), (PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5)) ; (PBmax(1 ), ... ; PBmax(5))} de la deuxième image 12, correspondant chacun à la projection de l'ensemble d'origine de la première image 11 via le plan de projection W situé à une distance différente Dmin, D2, D5, Dmax, le module de traitement d'images 200 est configuré pour déterminer dans la deuxième image 12 l'ensemble de pixels dont le score de corrélation Si ,...,S6 est le plus élevé, le pixel de cet ensemble qui correspond au pixel PA(1 ) sélectionné dans la première image 12 étant le pixel qui a le plus de chance de lui correspondre effectivement. Ces deux pixels constituant dans la deuxième image 12 le flot optique du pixel PA(1 ) sélectionné dans la première image 11 . Once the correlation score is determined for each set of pixels {{(PBmin (1), ...; PBmin (5)), (PB 2 (1), ...; PB 2 (5)); ...; (PB 5 (1), ..., PB 5 (5)); (PBmax (1), ...; PBmax (5))} of the second image 12, each corresponding to the projection of the original set of the first image 11 via the projection plane W located at a different distance Dmin, D 2 , D 5 , Dmax, the image processing module 200 is configured to determine in the second image 12 the set of pixels whose correlation score Si, ..., S 6 is the highest, the pixel of this set that corresponds to the pixel PA (1) selected in the first image 12 being the pixel that has the best chance of actually matching it. These two pixels constituting in the second image 12 the optical flow of the pixel PA (1) selected in the first image 11.
L'invention va maintenant être décrite dans sa mise en œuvre en référence aux figures 2 à 7.  The invention will now be described in its implementation with reference to FIGS. 2 to 7.
Tout d'abord, dans une étape E1 , en référence à la figure 2, la caméra 100 acquiert une première image 11 et une deuxième image 12 consécutives. On notera que le procédé peut être mis en œuvre 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 12, l'image successive dans le flot d'images. A contrario, le procédé peut être mis en œuvre 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 12 et comme deuxième image 12, 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 12.  Firstly, in a step E1, with reference to FIG. 2, the camera 100 acquires a first consecutive image 11 and a second image 12. Note that the method can be implemented by taking as a first image 11 the image whose acquisition is temporally the first (previous or previous image in the stream of images acquired by the camera) and as the second image 12, l successive image in the flow of images. In contrast, the method can be implemented by taking as a first image 11 the image whose acquisition is temporally posterior (following image in the stream of images acquired by the camera) to the second image 12 and as the second image 12 , the previous image in the flow of images. In the following example, the previous image is chosen as the first image 11 and the posterior image (i.e. successive in the flow of images) as the second image 12.
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 la matrice de translation T entre la première image 11 et la deuxième image 12.  With reference to FIG. 3, the image processing module 200 then determines, in a step E2, the rotation matrix R and the translation matrix T between the first image 11 and the second image 12.
Le module de traitement d'images 200 sélectionne, dans une étape E3, un pixel PA(1 ) dans la première image 11 pour lequel un pixel correspondant dans la deuxième image 12 doit être déterminé.  The image processing module 200 selects, in a step E3, a pixel PA (1) in the first image 11 for which a corresponding pixel in the second image 12 must be determined.
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 12, 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.  Advantageously, the image processing module 200 can firstly select a pixel, which has no optical flow in the second image 12, in a zone of interest of the first image 11, for example a side of the image representing the edge of the road when you want to warn the driver of a risk of leaving the road, the top of the image representing the sky when you want to detect a bridge to assess the height 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 PA(1 ) ont été sélectionnés.  Then, with reference to FIG. 2, for the selected pixel PA (1), the image processing module 200 determines in the first image 11, in a step E4, an initial set of pixels PA (1), PA ( 5) comprising the selected pixel PA (1) and a plurality of PA (2), PA (5) pixels located near the selected pixel PA (1). In the example of FIG. 2, for the sake of clarity, only four PA (2), PA (3), PA (4) and PA (5) pixels in the vicinity of the PA (1) pixel have been selected.
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 ci-avant 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. With reference to FIG. 3, the image processing module 200 determines or selects (for example from a list stored in a memory zone (not shown) of the device 10) in a step E5 a minimum distance Dmin and a maximum distance Dmax between which is the spatial point represented by the selected pixel PA (1). These values Dmin and Dmax can be determined as described above or by using the history of previous images or a geometrical knowledge of the scene, such as a flat road.
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 12, 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.  In a step E6, the image processing module 200 determines a projection plane W, of the selected pixel PA (1), in the second image 12, for example a vertical plane located facing the front of the vehicle 1. Note that steps E5 and E6 can be reversed.
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 12, un premier ensemble de pixels PBmin(1 ), PBmin(5) par projection homographique de l'ensemble initial déterminé de pixels PA(1 ), PA(5) 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 .  With reference to FIGS. 2 and 3, in a step E7, the image processing module 200 determines, in the second image 12, a first set of pixels PBmin (1), PBmin (5) by homographic projection of the set initial determined pixels PA (1), PA (5) on the W plane, considering that the latter is placed at the determined minimum distance Dmin. This first set PBmin (1), PBmin (5) comprises a corresponding first pixel PBmin (1), by homographic projection on the W plane at the minimum distance Dmin, to the selected pixel PA (1) in the first image 11.
Similairement, dans une étape E8, le module de traitement d'images 200 détermine, dans la deuxième image 12, un deuxième ensemble de pixels PBmax(1 ), PBmax(5) par projection homographique de l'ensemble initial déterminé PA(1 ), PA(5) sur le plan prédéterminé W situé à la distance maximale prédéterminée Dmax. 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.  Similarly, in a step E8, the image processing module 200 determines, in the second image 12, a second set of pixels PBmax (1), PBmax (5) by homographic projection of the initial set determined PA (1). , PA (5) on the predetermined plane W located at the predetermined maximum distance Dmax. This second set PBmax (1), PBmax (5) comprises a corresponding second pixel PBmax (1), by homographic projection of the plane W at the maximum distance Dmax, to the selected pixel PA (1) in the first image 11. It goes without saying that steps E7 and E8 can be reversed.
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 12 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. With reference to FIGS. 3 to 5, the image processing module 200 then determines, in a step E9, the segment U connecting the first pixel PBmin (1) and the second pixel PBmax (1) in the second image 12 and then selects in a step E10, a plurality of points PB 2 (1), PB 5 (1) on the segment U thus determined, for example every 0.1 pixels.
Pour chaque point PB2(1 ), PB5(1 ) déterminé, le module de traitement d'images 200 réalise deux sous-étapes successives. For each point PB 2 (1), PB 5 (1) determined, the image processing module 200 performs two successive substeps.
Dans une sous-étape E1 1 A, le module de traitement d'images 200 calcule, la distance (appelée distance intermédiaire) D2,..., D5 du plan de projection W. On notera que cette distance est déjà connue pour PBmin(1 ) et PBmax(1 ) (respectivement Dmin et Dmax). Pour ce faire, on exprime chaque point PB2(1 ), PB5(1 ) en fonction de PA(1 ), de la matrice de rotation R et de la matrice de translation T, soit en écriture simplifiée : In a sub-step E1 1 A, the image processing module 200 calculates the distance (called the intermediate distance) D 2 ,..., D 5 from the projection plane W. It will be noted that this distance is already known for PBmin (1) and PBmax (1) (respectively Dmin and Dmax). To do this, we express each point PB 2 (1), PB 5 (1) as a function of PA (1), of the rotation matrix R and of the translation matrix T, or in simplified writing:
PB = R. PA + T  PB = R. PA + T
On note PA = les coordonnées réelles des points PA et PB.PA = the actual coordinates of points PA and PB.
Figure imgf000014_0002
Figure imgf000014_0002
Les coordonnées du point PA dans la première image 11 sont données par : UA =
Figure imgf000014_0001
et VA = f- ou f est la focale de la caméra 100.
The coordinates of the point PA in the first image 11 are given by: UA =
Figure imgf000014_0001
and V A = f- where f is the focal length of the camera 100.
De même, les coordonnées du point PB dans la deuxième image 12 sont données par :  Likewise, the coordinates of the point PB in the second image 12 are given by:
uB = f. - e vB = f. -u B = f. - ev B = f. -
On a donc 4 équations avec 3 inconnues (X, Y, Z) que l'on peut résoudre de manière connue pour obtenir notamment la valeur de Z qui correspond à la distance recherchée (D2,..., D5). We thus have 4 equations with 3 unknowns (X, Y, Z) which can be solved in a known way to obtain in particular the value of Z which corresponds to the sought distance (D 2 , ..., D 5 ).
Dans une sous-étape E1 1 B, le module de traitement d'images 200 détermine ensuite dans la deuxième image 12 un ensemble intermédiaire de pixels {(PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5))} par projection de l'ensemble initial déterminé PA(1 ), PA(5) sur le plan W situé à la distance intermédiaire D2,..., D5 calculée. In a substep E1 1 B, the image processing module 200 then determines in the second image 12 an intermediate set of pixels {(PB 2 (1), ...; PB 2 (5)); ...; (PB 5 (1), ...; PB 5 (5))} by projecting the initial set determined PA (1), PA (5) on the plane W located at the intermediate distance D 2 , ... , D 5 calculated.
Ensuite, comme illustré à la figure 6, dans une étape E12, le module de traitement d'images 200 calcule un score de corrélation S2, S5 pour l'ensemble de pixels intermédiaire ainsi qu'un score de corrélation Si pour le premier ensemble de pixels PBmin(1 ), PBmin(5) et un score de corrélation Se pour le deuxième ensemble de pixels PBmax(1 ), PBmax(5). Then, as illustrated in FIG. 6, in a step E12, the image processing module 200 calculates a correlation score S 2 , S 5 for the intermediate pixel set as well as a correlation score Si for the first set of pixels PBmin (1), PBmin (5) and a correlation score Se for the second set of pixels PBmax (1), PBmax (5).
Dans une étape E13, le module de traitement d'images 200 détermine enfin, dans la deuxième image 12, l'ensemble de pixels dont le score de corrélation le plus élevé (le score S3 dans cet exemple). Le pixel de cet ensemble correspondant à la projection du pixel PA(1 ) constitue le pixel qui a la meilleure correspondance avec le pixel PA(1 ) sélectionné dans la première image 11 , en termes de représentation de la même zone spatiale de l'environnement du véhicule 1 . In a step E13, the image processing module 200 finally determines, in the second image 12, the set of pixels with the highest correlation score (the score S 3 in this example). The pixel of this set corresponding to the projection of the pixel PA (1) constitutes the pixel which has the best correspondence with the pixel PA (1) selected in the first image 11, in terms of representation of the same spatial area of the environment of the vehicle 1.
On notera qu'un raffinement sous-pixellique peut être réalisé pour obtenir une meilleure précision en prenant compte de scores voisins.  Note that a sub-pixellic refinement can be achieved to obtain a better accuracy by taking into account neighboring scores.
Pour les objets dynamiques, la rotation et translation entre les images sont exprimés par rapport à un repère monde qui est lié à l'objet dynamique.  For dynamic objects, rotation and translation between images is expressed relative to a world reference that is related to the dynamic object.
Le procédé selon l'invention permet donc de détecter aisément et efficacement des objets dans les images capturées par la caméra 100 afin d'assister le conducteur dans sa conduite du véhicule 1 . Il est précisé, en outre, que la présente invention n'est pas limitée aux exemples décrits ci-dessus et est susceptible de nombreuses variantes accessibles à l'homme de l'art. The method according to the invention thus makes it possible to easily and efficiently detect objects in the images captured by the camera 100 in order to assist the driver in his driving of the vehicle 1. It is furthermore specified that the present invention is not limited to the examples described above and is capable of numerous variants accessible to those skilled in the art.

Claims

REVENDICATIONS
1. Procédé de traitement d'images (11 , 12) acquises par une caméra (100) d'un véhicule automobile (1 ), ledit procédé comprenant les étapes de : 1. Method for processing images (11, 12) acquired by a camera (100) of a motor vehicle (1), said method comprising the steps of:
• acquisition (E1 ) d'une première image (11 ) et d'une deuxième image (12) par la caméra (100), • acquisition (E1) of a first image (11) and a second image (12) by the camera (100),
· détermination (E2) d'une matrice de rotation (R) et d'une matrice de translation (T) entre la première image et la deuxième image, · determination (E2) of a rotation matrix (R) and a translation matrix (T) between the first image and the second image,
• sélection (E3) d'au moins un pixel (PA(1 )) dans la première image (11 ), ledit procédé étant caractérisé en ce qu'il comprend les étapes suivantes : • selection (E3) of at least one pixel (PA(1)) in the first image (11), said method being characterized in that it comprises the following steps:
• pour chaque pixel sélectionné (PA(1 )) dans la première image (11 ) : • for each selected pixel (PA(1)) in the first image (11):
- détermination (E4), dans la première image (11 ), d'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 )), - determination (E4), in the first image (11), of an initial set of pixels (PA(1), PA(5)) comprising the selected pixel (PA(1)) and a plurality of pixels (PA( 2), PA(5)) located in the vicinity of the selected pixel (PA(1)),
- détermination (E7), dans la deuxième image (12), d'un premier ensemble de pixels (PBmin(1 ), PBmin(5)) par projection, sur un plan (W) prédéterminé situé à une distance minimale (Dmin) prédéterminée, de l'ensemble initial déterminé (PA(1 ), PA(5)), à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, ledit premier ensemble (PBmin(1 ), PBmin(5)) comprenant un premier pixel (PBmin(1 )) correspondant au pixel sélectionné (PA(1 )) dans la première image (11 ), - determination (E7), in the second image (12), of a first set of pixels (PBmin(1), PBmin(5)) by projection, onto a predetermined plane (W) located at a minimum distance (Dmin) predetermined, from the determined initial set (PA(1), PA(5)), from the rotation matrix (R) and the translation matrix (T) determined, said first set (PBmin(1), PBmin(5)) comprising a first pixel (PBmin(1)) corresponding to the selected pixel (PA(1)) in the first image (11),
- détermination (E8), dans la deuxième image (12), d'un deuxième ensemble de pixels (PBmax(1 ), PBmax(5)) par projection sur le plan prédéterminé (W) situé à une distance maximale (Dmax) prédéterminée, de l'ensemble initial déterminé (PA(1 ), PA(5)), à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, ledit deuxième ensemble (PBmax(1 ), PBmax(5)) comprenant un deuxième pixel (PBmax(1 )) correspondant au pixel sélectionné (PA(1 )) dans la première image (11 ), - determination (E8), in the second image (12), of a second set of pixels (PBmax(1), PBmax(5)) by projection onto the predetermined plane (W) located at a predetermined maximum distance (Dmax) , from the determined initial set (PA(1), PA(5)), from the rotation matrix (R) and the translation matrix (T) determined, said second set (PBmax(1), PBmax (5)) comprising a second pixel (PBmax(1)) corresponding to the selected pixel (PA(1)) in the first image (11),
- détermination (E9) d'un segment (U) reliant le premier pixel (PBmin(1 )) et le deuxième pixel (PBmax(1 )), - determination (E9) of a segment (U) connecting the first pixel (PBmin(1)) and the second pixel (PBmax(1)),
- sélection (E10) d'une pluralité de points ((PB2(1 ),..., PB5(1 )) sur le segment déterminé (U), - pour chaque point ((PB2(1 ),..., PB5(1 )) sélectionné : - selection (E10) of a plurality of points ((PB 2 (1),..., PB 5 (1)) on the determined segment (U), - for each point ((PB 2 (1),..., PB 5 (1 )) selected:
• calcul (E1 1 A) de la distance (D2, ... D5) du plan de projection prédéterminé (W), • calculation (E1 1 A) of the distance (D 2 , ... D 5 ) of the predetermined projection plane (W),
• détermination (E1 1 B), dans la deuxième image (12), d'un ensemble de pixels intermédiaire {(PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; • determination (E1 1 B), in the second image (12), of a set of intermediate pixels {(PB 2 (1), ...; PB 2 (5)); ... ; (PB 5 (1), ... ;
PB5(5))} par projection sur le plan prédéterminé (W) situé à la distance (D2, ... D5) calculée, de l'ensemble initial déterminé (PA(1 ), PA(5)), à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, PB 5 (5))} by projection onto the predetermined plane (W) located at the calculated distance (D 2 , ... D 5 ), from the determined initial set (PA(1), PA(5)), from the rotation matrix (R) and the translation matrix (T) determined,
- pour chaque ensemble de pixels {{(PBmin(1 ), ... ; PBmin(5)), (PB2(1 ), ... ; - for each set of pixels {{(PBmin(1), ...; PBmin(5)), (PB 2 (1), ... ;
PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5)) ; (PBmax(1 ), ... ; PBmax(5))} associé à un point (PBmin(1 ), PB2(1 ), PB5 (1 ), PBmax(1 )) du segment (U) déterminé, calcul (E12) d'un score de corrélation (Si ,...,S6), PB 2 (5)); ... ; (PB 5 (1), ...; PB 5 (5)); (PBmax(1), ...; PBmax(5))} associated with a point (PBmin(1), PB 2 (1), PB 5 (1), PBmax(1)) of the determined segment (U), calculation (E12) of a correlation score (Si,...,S 6 ),
- détermination (E13) dans la deuxième image (12), à partir du score de corrélation (Si ,...,S6) calculé, du pixel correspondant à un même objet sur la première image (11 ) et sur la deuxième image (12). - determination (E13) in the second image (12), from the correlation score (Si,...,S 6 ) calculated, of the pixel corresponding to the same object on the first image (11) and on the second image (12).
2. Procédé selon la revendication 1 , caractérisé en ce qu'il comprend en outre une étape (E5) de détermination de la distance minimale (Dmin) et de la distance maximale (Dmax). 2. Method according to claim 1, characterized in that it further comprises a step (E5) of determining the minimum distance (Dmin) and the maximum distance (Dmax).
3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce qu'il comprend en outre une étape (E6) de détermination du plan (W) de projection. 3. Method according to one of claims 1 and 2, characterized in that it further comprises a step (E6) of determining the projection plane (W).
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le score de corrélation (Si ,...,S6) d'un ensemble de pixels {{(PBmin(1 ), ... ; PBmin(5)), (PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5)) ; (PBmax(1 ), ... ; PBmax(5))} associé à un point (PBmin(1 ), PB2(1 ), PB5 (1 ), PBmax(1 )) du segment (U) déterminé est calculé à partir de la somme des différences absolues entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé (PA(1 ), PA(5)). 4. Method according to any one of claims 1 to 3, characterized in that the correlation score (Si,...,S 6 ) of a set of pixels {{(PBmin(1), ...; PBmin(5)), (PB 2 (1), ...; PB 2 (5)); ... ; (PB 5 (1), ...; PB 5 (5)); (PBmax(1), ...; PBmax(5))} associated with a point (PBmin(1), PB 2 (1), PB 5 (1), PBmax(1)) of the determined segment (U) is calculated from the sum of the absolute differences between the gray levels of the pixels of said set and the gray levels of the determined initial set (PA(1), PA(5)).
5. Dispositif (10) de traitement d'images pour véhicule automobile (1 ), ledit dispositif (10) comprenant une caméra (100) apte à acquérir une première image (11 ) et une deuxième image (12) et un module de traitement d'images (200) configuré pour : 5. Image processing device (10) for a motor vehicle (1), said device (10) comprising a camera (100) capable of acquiring a first image (11) and a second image (12) and a processing module of images (200) configured for:
• déterminer une matrice de rotation (R) et une matrice de translation (T) entre la première image (11 ) et la deuxième image (12) acquises par la caméra (100),• determine a rotation matrix (R) and a translation matrix (T) between the first image (11) and the second image (12) acquired by the camera (100),
• sélectionner au moins un pixel (PA(1 )) dans la première image (11 ), ledit dispositif étant caractérisé en ce que le module de traitement est en outre configuré pour : • select at least one pixel (PA(1)) in the first image (11), said device being characterized in that the processing module is further configured to:
• pour chaque pixel (PA(1 )) sélectionné dans la première image (11 ) : • for each pixel (PA(1)) selected in the first image (11):
- déterminer, dans la première image (11 ), 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 )), - determine, in the first image (11), an initial set of pixels (PA(1), PA(5)) comprising the selected pixel (PA(1)) and a plurality of pixels (PA(2), PA( 5)) located in the vicinity of the selected pixel (PA(1)),
- déterminer, dans la deuxième image (12), un premier ensemble de pixels (PBmin(1 ), PBmin(5)) par projection, à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, de l'ensemble initial déterminé (PA(1 ), PA(5)) sur un plan (W) prédéterminé situé à une distance minimale (Dmin) prédéterminée, ledit premier ensemble (PB(1 ), PB(5)) comprenant un premier pixel (PB(1 )) correspondant au pixel sélectionné (PA(1 ))dans la première image (11 ), - déterminer, dans la deuxième image (12), un deuxième ensemble de pixels (PBmax(1 ), PBmax(5)) par projection, à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, de l'ensemble initial déterminé (PA(1 ), PA(5)) sur le plan (W) prédéterminé situé à une distance maximale (Dmax) prédéterminée, ledit deuxième ensemble (PBmax(1 ), PBmax(5)) comprenant un deuxième pixel (PBmax(1 )) correspondant au pixel sélectionné (PB(1 )) dans la première image (11 ), - determine, in the second image (12), a first set of pixels (PBmin(1), PBmin(5)) by projection, from the rotation matrix (R) and the translation matrix (T) determined , of the determined initial set (PA(1), PA(5)) on a predetermined plane (W) located at a predetermined minimum distance (Dmin), said first set (PB(1), PB(5)) comprising a first pixel (PB(1)) corresponding to the selected pixel (PA(1)) in the first image (11), - determine, in the second image (12), a second set of pixels (PBmax(1), PBmax (5)) by projection, from the rotation matrix (R) and the translation matrix (T) determined, of the determined initial set (PA(1), PA(5)) onto the plane (W ) predetermined located at a predetermined maximum distance (Dmax), said second set (PBmax(1), PBmax(5)) comprising a second pixel (PBmax(1)) corresponding to the selected pixel (PB(1)) in the first image (11),
- déterminer un segment (U) reliant le premier pixel (PBmin(1 )) et le deuxième pixel (PBmax(1 )), - determine a segment (U) connecting the first pixel (PBmin(1)) and the second pixel (PBmax(1)),
- sélectionner une pluralité de points ((PB2(1 ),..., PB5(1 )) sur le segment déterminé (U), - select a plurality of points ((PB 2 (1),..., PB 5 (1)) on the determined segment (U),
- pour chaque point ((PB2(1 ),..., PB5(1 )) sélectionné : - for each point ((PB 2 (1),..., PB 5 (1 )) selected:
• calculer la distance (D2, ... D5), appelée distance intermédiaire, du plan de projection (W) prédéterminé, · déterminer, dans la deuxième image (12), un ensemble de pixels intermédiaire {(PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5))} par projection, à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, de l'ensemble initial déterminé (PA(1 ), PA(5)) sur le plan (W) prédéterminé situé à la distance intermédiaire (D2, ... D5) calculée, • calculate the distance (D 2 , ... D 5 ), called intermediate distance, of the predetermined projection plane (W), · determine, in the second image (12), an intermediate set of pixels {(PB 2 (1 ), ...; PB 2 (5)); ... ; (PB 5 (1), ...; PB 5 (5))} by projection, from the determined rotation matrix (R) and translation matrix (T), of the determined initial set (PA (1), PA(5)) on the predetermined plane (W) located at the calculated intermediate distance (D 2 , ... D 5 ),
- pour chaque ensemble de pixels {{(PBmin(1 ), ... ; PBmin(5)), (PB2(1 ), ... ; - for each set of pixels {{(PBmin(1), ...; PBmin(5)), (PB 2 (1), ... ;
PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5)) ; (PBmax(1 ), ... ; PBmax(5))} associé à un point (PBmin(1 ), PB2(1 ), PB5 (1 ), PBmax(1 )) du segment (U) déterminé, calculer un score de corrélation (Si ,...,S6), PB 2 (5)); ... ; (PB 5 (1), ...; PB 5 (5)); (PBmax(1), ...; PBmax(5))} associated with a point (PBmin(1), PB 2 (1), PB 5 (1), PBmax(1)) of the determined segment (U), calculate a correlation score (Si,...,S 6 ),
- déterminer dans la deuxième image (12), à partir du score de corrélation (Si ,...,S6) calculé, le pixel correspondant à un même objet sur la première image (11 ) et sur la deuxième image (12). - determine in the second image (12), from the correlation score (Si,...,S 6 ) calculated, the pixel corresponding to the same object on the first image (11) and on the second image (12) .
6. Dispositif (10) selon la revendication 5, caractérisé en ce que le module de traitement d'images (200) est configuré pour déterminer la distance minimale (Dmin) et la distance maximale (Dmax). 6. Device (10) according to claim 5, characterized in that the image processing module (200) is configured to determine the minimum distance (Dmin) and the maximum distance (Dmax).
7. Dispositif (10) selon l'une des revendications 5 et 6, caractérisé en ce que le module de traitement d'images (200) est configuré pour déterminer le plan (W) de projection. 7. Device (10) according to one of claims 5 and 6, characterized in that the image processing module (200) is configured to determine the projection plane (W).
8. Dispositif (10) selon l'une quelconque des revendications 5 à 7, caractérisé en ce que le module de traitement d'images (200) est configuré pour calculer le score de corrélation (Si ,...,S6) d'un ensemble de pixels {{(PBmin(1 ), ... ; PBmin(5)), (PB2(1 ), ... ; PB2 (5)) ; ... ; (PB5(1 ), ... ; PB5(5)) ; (PBmax(1 ), ... ; PBmax(5))} associé à un point (PBmin(1 ), PB2(1 ), PB5 (1 ), PBmax(1 )) du segment (U) déterminé à partir de la somme des différences absolues entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé (PA(1 ), PA(5)). 8. Device (10) according to any one of claims 5 to 7, characterized in that the image processing module (200) is configured to calculate the correlation score (Si,...,S 6 ) d 'a set of pixels {{(PBmin(1), ...; PBmin(5)), (PB 2 (1), ...; PB 2 (5)); ... ; (PB 5 (1), ...; PB 5 (5)); (PBmax(1), ...; PBmax(5))} associated with a point (PBmin(1), PB 2 (1), PB 5 (1), PBmax(1)) of the segment (U) determined at from the sum of the absolute differences between the gray levels of the pixels of said set and the gray levels of the determined initial set (PA(1), PA(5)).
9. Véhicule automobile (1 ), caractérisé en ce qu'il comprend un dispositif (10) selon l'une quelconque des revendications 5 à 8. 9. Motor vehicle (1), characterized in that it comprises a device (10) according to any one of claims 5 to 8.
PCT/FR2017/051510 2016-06-14 2017-06-13 Method and device for processing images acquired by a camera of a motor vehicle WO2017216465A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1655507 2016-06-14
FR1655507A FR3052582B1 (en) 2016-06-14 2016-06-14 METHOD AND DEVICE FOR PROCESSING IMAGES ACQUIRED BY A CAMERA OF A MOTOR VEHICLE

Publications (1)

Publication Number Publication Date
WO2017216465A1 true WO2017216465A1 (en) 2017-12-21

Family

ID=56611435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2017/051510 WO2017216465A1 (en) 2016-06-14 2017-06-13 Method and device for processing images acquired by a camera of a motor vehicle

Country Status (2)

Country Link
FR (1) FR3052582B1 (en)
WO (1) WO2017216465A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023280745A1 (en) * 2021-07-08 2023-01-12 Continental Automotive Gmbh Method for labelling an epipolar-projected 3d image

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AGGARWAL J K ET AL: "ON THE COMPUTATION OF MOTION FROM SEQUENCES OF IMAGES - A REVIEW", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 76, no. 8, 1 August 1988 (1988-08-01), pages 917 - 935, XP000111966, ISSN: 0018-9219, DOI: 10.1109/5.5965 *
ANONYMOUS: "OpenCV: Optical Flow", OPEN SOURCE COMPUTER VISION, 18 December 2015 (2015-12-18), XP055349513, Retrieved from the Internet <URL:http://docs.opencv.org/3.1.0/d7/d8b/tutorial_py_lucas_kanade.html> [retrieved on 20170224] *
WONG D R ET AL: "IMU-aided SURF feature matching for relative pose estimation", IMAGE AND VISION COMPUTING NEW ZEALAND (IVCNZ), 2010 25TH INTERNATIONAL CONFERENCE OF, IEEE, 8 November 2010 (2010-11-08), pages 1 - 6, XP032113062, ISBN: 978-1-4244-9629-7, DOI: 10.1109/IVCNZ.2010.6148873 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023280745A1 (en) * 2021-07-08 2023-01-12 Continental Automotive Gmbh Method for labelling an epipolar-projected 3d image
FR3125150A1 (en) * 2021-07-08 2023-01-13 Continental Automotive 3D image labeling process

Also Published As

Publication number Publication date
FR3052582A1 (en) 2017-12-15
FR3052582B1 (en) 2018-07-06

Similar Documents

Publication Publication Date Title
EP2884226B1 (en) Method for angle calibration of the position of a video camera on board an automotive vehicle
FR2899332A1 (en) VISIBILITY FIELD MEASUREMENT DEVICE FOR VEHICLE AND DRIVING ASSISTANCE SYSTEM FOR VEHICLE
EP2133237B1 (en) Process of displaying a parking aid
EP1785966B1 (en) Evaluation process, by a motor vehicle, of the characteristics of a frontal element
WO2017021601A1 (en) Device and method for detecting a parking space that is available for a motor vehicle
EP2043044B1 (en) Method and device for automobile parking assistance
WO2018138064A1 (en) Detection of obstacles in the environment of a motor vehicle by image processing
EP2161677A1 (en) Method for detecting a target object for an automobile
WO2017216465A1 (en) Method and device for processing images acquired by a camera of a motor vehicle
FR3053554A1 (en) METHOD FOR RAPID CALIBRATION OF A MOTOR VEHICLE CAMERA
FR3083352A1 (en) METHOD AND DEVICE FOR FAST DETECTION OF REPETITIVE STRUCTURES IN THE IMAGE OF A ROAD SCENE
FR3047589A1 (en) METHOD AND DEVICE FOR ESTIMATING THE LATERAL POSITION OF A VEHICLE IN A CIRCULATION PATH
FR3052581B1 (en) METHOD FOR MAKING A DEPTH CARD FROM SUCCESSIVE IMAGES OF A SINGLE CAMERA (MONO) EMBARKED IN A MOTOR VEHICLE
WO2021156026A1 (en) Method for calibrating the extrinsic characteristics of a lidar
FR3067999A1 (en) METHOD FOR AIDING THE DRIVING OF A MOTOR VEHICLE
WO2018185398A1 (en) Method and device for processing images acquired by a camera of a motor vehicle
FR3047932A1 (en) DEVICE AND METHOD FOR ESTIMATING THE ATTENTION LEVEL OF A DRIVER OF A VEHICLE
FR2938228A1 (en) Method for measuring distance between obstacle and motor vehicle, involves calculating pitch of camera by coinciding two of images and by retaining position parameters of camera, and determining distance from calculated pitch
WO2020025260A1 (en) Method for determining a type of parking space
EP2180426A1 (en) Method for detecting a target object for an automobile
FR3078667A1 (en) STRUCTURED LIGHT ACTIVE VISION PARKING ASSISTANCE METHOD AND SYSTEM
WO2020174142A1 (en) Vehicle driving assistance by reliable determination of objects in deformed images
WO2022033902A1 (en) Method for aligning at least two images formed by three-dimensional points
FR3078183A1 (en) METHOD FOR DETECTING AN OBJECT FROM AN INBOARD CAMERA IN A MOTOR VEHICLE
EP4165601A1 (en) Method for calibrating a camera and associated device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17745372

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17745372

Country of ref document: EP

Kind code of ref document: A1