WO2018185398A1 - 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
WO2018185398A1
WO2018185398A1 PCT/FR2018/050743 FR2018050743W WO2018185398A1 WO 2018185398 A1 WO2018185398 A1 WO 2018185398A1 FR 2018050743 W FR2018050743 W FR 2018050743W WO 2018185398 A1 WO2018185398 A1 WO 2018185398A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
pixel
segment
pixels
pbmax
Prior art date
Application number
PCT/FR2018/050743
Other languages
French (fr)
Inventor
Boris Lugez
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 WO2018185398A1 publication Critical patent/WO2018185398A1/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

Definitions

  • the invention relates to the field of assistance for driving a motor vehicle and more particularly relates to a method and an image processing device acquired by a monoscopic camera of a motor vehicle and a motor vehicle comprising such a device.
  • ADAS Advanced Driver Assistance System in English
  • ADAS Advanced Driver Assistance System
  • monoscopic video camera for example mounted on the front windshield of the vehicle, which generates a flow of images representing the environment of said vehicle.
  • 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.
  • optical flow in English
  • 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 significant disadvantage for an embedded system in a motor vehicle.
  • the invention aims to remedy at least in part these disadvantages by providing a simple, reliable and effective solution for detecting repetitive patterns in a video stream captured by the camera of a motor vehicle.
  • the invention aims to qualify groups of pixels representative of repeating patterns in order to decide whether or not to use the streams of these pixels to detect objects in the images.
  • the subject of the invention is a method for detecting a repetitive pattern in a stream of images acquired by a monoscopic video camera of a motor vehicle, said method being remarkable in that it comprises the steps of :
  • the epipolar segment corresponds to a segment comprising all possible positions in the second image of the pixel selected in the first image, considering a minimum distance and a maximum distance.
  • the method according to the invention thus enables the device for assisting the driving of the vehicle to identify the optical flows between the pixels representing repetitive patterns in order to discard them during the processing of the information contained in the images, these optical flows. which may represent false-positives during said treatment.
  • the method according to the invention makes it possible in particular to avoid misregistration errors and bad 3D reconstructions, for example in the case of objects with stroboscopic effect.
  • the method according to the invention can be used both on pixels representing both static and dynamic objects. In the latter case, it is necessary to know moreover the relative movement (rotation and translation) between the camera and the dynamic object.
  • the determination of an epipolar segment comprises: 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,
  • pixels located in an area preferably of small area, centered on the pixel in question.
  • 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.
  • a plurality of epipolar segments or an epipolar cylinder are determined.
  • an epipolar cylinder is a thick epipolar segment (we can also speak of a rectangle).
  • the accuracy of the epipolar geometry defines the thickness of the segment.
  • the method comprises a preliminary step of acquiring a first image and a second image by the camera.
  • the invention also relates to an image processing device for a motor vehicle, said device comprising a monoscopic camera capable of acquiring a first image and a second image and an image processing module configured for:
  • said device being configured to determine the epipolar segment, 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 device is configured to determine a plurality of epipolar segments or an epipolar cylinder.
  • the invention also relates to a motor vehicle comprising a device as presented above.
  • FIG. 1 schematically illustrates a vehicle according to the invention.
  • Figure 2 schematically illustrates a first image and a second image, subsequent 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 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; correspondence between the two images being performed via a rotation matrix and a translation vector of the camera.
  • 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.
  • Figure 6 schematically illustrates an example of an epipolar cylinder.
  • FIG. 7 schematically 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 monoscopic video camera 100 and an image processing module 200.
  • the camera 100 is mounted at the central upper 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 can consist in detecting objects in the images, such as, for example, panels, road borders, obstacles
  • 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.
  • the image processing module 200 is configured to perform a plurality of tasks on a first image 11 and a second image 12, subsequent to the first image 11, acquired by the camera 100. video. First, the image processing module 200 is configured to determine, for each pixel of the first image 11 and for each pixel of the second image 12, a characteristic signature of said pixel.
  • the image processing module 200 is configured to determine a rotation matrix R and a translation vector T of the camera 100 between the first image 11 and the second image 12, corresponding to the rotation and translation of the camera 100 in a frame linked to the object.
  • the determination of the rotation matrix R and the translation vector T may, for example, be carried out using a static object represented on the two images, for example the road or a bridge, or a dynamic object moving relative to the camera 100, for example another vehicle.
  • the determination of the rotation matrix R and of the translation vector 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 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 vector aT obtained at a factor "a” and correct this intermediate translation vector aT to obtain a final translation vector 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 zone of the environment 2 of the vehicle 1.
  • the image processing module 200 is also 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), PA (5) pixels adjacent to 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 less 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 also configured to determine, in the second image 12, a plurality of pixel sets PB (1), PB (5) by projection, from the rotation matrix R and the vector 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 vector T, from the determined initial set PA (1), PA (5) on a predetermined projection plane W located 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 of the determined translation vector T, of the determined initial set PA (1), PA (5) on the plane W situated at a maximum distance predetermined 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 when acquiring the second image 12) via the plane W of projection located at one of the specified distances.
  • a projection by homography is carried out from the rotation matrix R and the translation vector T, from a vector n 2 normal to the projection plane W and from the distance D of the plane W with respect to the optical center C1 of the following way:
  • 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.
  • 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, as illustrated schematically. in Figure 3.
  • the image processing module 200 is configured to determine a segment U connecting the first pixel PBmin (1) and the second pixel PBmax (1). called the epipolar segment.
  • 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) while being spaced apart. 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 associate each selected PB 2 (1), PB 5 (1) point with a pixel of the second image 12.
  • a point is associated when its coordinates in the image corresponds to the coordinates of a pixel, that is to say that the selected point is in the area of the image covered (or represented) by said pixel.
  • the image processing module 200 is configured to compare the signature of each pixel corresponding to a selected point (PB 2 (1), PB 5 (1)) with the signature of the pixel selected in the first image 11.
  • the image processing module 200 is configured to detect a repeating pattern between the first image 11 and the second image 12 when a plurality of pixel signatures associated with the selected pixels (PB 2 (1), PB 5 (1)) are selected. on the segment U correspond to the signature of the pixel selected in the first image 11.
  • the camera 100 acquires a first image 11 and a second image 12, preferably consecutive.
  • 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 (that is to say, successive in the stream of images) as the second image 12.
  • the image processing module 200 determines, for each pixel of the first image 11 and for each pixel of the second image 12, a characteristic signature of said pixel.
  • Such a signature can be determined from the local analysis of an image and thus characterizes the content of this image.
  • descriptors may have certain properties such as invariance by rotation, magnification or change of brightness.
  • the use case generally defines the properties needed by the descriptors and determines the most advantageous method.
  • the census transformation gives a signature based on the relative differences in intensity (Zabih, R., Woodfill, JI: Non-parametric Local Transforms for Visual Computing Correspondence In: Eklundh, J.-O. (ed. ECCV 1994. LNCS, vol 801, pp. 151-158, Springer, Heidelberg (1994)).
  • SIFT Scale-Invariant Feature Transform
  • visual features In computer vision, the extraction of visual features (or "visual features extraction” in English) consists of mathematical transformations calculated on the pixels of a digital image.
  • the visual characteristics generally make it possible to better account for certain visual properties of the image, used for subsequent treatments coming within the framework of applications such as the detection of objects or the search of images by the content.
  • the characterization of an image can be computed in a small number of pixels. To do this, it is first necessary to detect the areas of interest of the image and then to calculate in each of these zones a characteristic vector. These areas of interest are for example the edges or highlights of the image (areas of high contrast). It can also be points taken randomly or regularly in the image (so-called dense sampling).
  • the characteristic vector sometimes contains data from the detection, such as the edge orientation or gradient magnitude in the area of interest.
  • the characteristic vector in one pixel is calculated on a neighborhood of this pixel, that is to say from a thumbnail centered on this pixel. It can be calculated at different scales so as to overcome the zoom factor.
  • the locally calculated local characteristics are patterns previously used globally, such as color histograms or vectors accounting for the orientation of gradients of gray levels.
  • Some methods such as SIFT or SURF (for "Speeded Up Robust Features") include both the detection of area of interest and the calculation of a characteristic vector in each of these areas.
  • the SIFTs are roughly a histogram of the gradient orientations and the SURFs consist of the approximation of Haar wavelet approximations.
  • LBP local bit patterns
  • HOGs for "Histograms of Oriented! Gradients "in English language
  • HOGs for "Histograms of Oriented! Gradients "in English language
  • the image processing module 200 determines, in a step E2, the rotation matrix R and the translation vector 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) 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.
  • 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.
  • an epipolar cylinder which is defined as being an epipolar segment of a thickness greater than one pixel (preferably a thickness of an odd number of pixels, so the expansion of the segment is made on both sides of the thickness segment 1).
  • the cylinder with reference to FIG. 6, it suffices to apply the course of the segment U every 0.1 pixels to the central pixel of the cylinder and to extend the measurement to the neighboring pixels (for example PB2 '(1 ) and PB2 "(1) for pixel PB2 (1) and PB3 '(1) and PB3" (1) for pixel PB3 (1)).
  • the image processing module 200 then associates in a step E1 1 each PB 2 (1), PB 5 (1) point selected on the segment U with a pixel of the second image 12.
  • the image processing module 200 compares in a step E12 the signature of each pixel associated with a selected point PB 2 (1), PB 5 (1) with the signature of the pixel selected in the first image 11.
  • the image processing module 200 detects a repeating pattern between the first image 11 and the second image 12 when a plurality of pixel signatures associated with the plurality of points (PB 2 (1), PB 5 (1) selected on the segment U correspond to the signature of the pixel selected in the first image 11.
  • a single epipolar segment was used but it will be noted that, as a variant, a plurality of segments epipolar, for example parallel, could be used, each segment being defined by a plurality of points associated with pixels of the second image 12 so that the signature of each point is compared to the signature of the associated pixel in the first image 11 so to detect even more accurately repetitive patterns in the images.
  • a plurality of segments epipolar for example parallel, could be used, each segment being defined by a plurality of points associated with pixels of the second image 12 so that the signature of each point is compared to the signature of the associated pixel in the first image 11 so to detect even more accurately repetitive patterns in the images.
  • an epipolar cylinder comprising the segment U and a plurality of points associated with pixels of the second image 12 and whose signatures could be compared with the corresponding pixels. of the first image 11 to detect even more accurately repetitive patterns in the images.
  • the rotation and translation between the images are preferably expressed with respect to a world reference that is related to the dynamic object.
  • the method according to the invention thus makes it possible easily and efficiently to detect repetitive patterns in the images captured by the camera 100 in order to assist the driver in his driving of the vehicle 1.

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)

Abstract

The present invention relates to a method for processing images acquired by a monoscopic camera of a motor vehicle, qualifying groups of pixels representative of repetitive patterns in order to decide whether or not to use the flows of these pixels in order to detect objects in the images.

Description

Procédé et dispositif de traitement d'images acquises par une caméra d'un  Method and device for processing images acquired by a camera of a
véhicule automobile  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 monoscopique 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 an image processing device acquired by a monoscopic camera of a motor vehicle and a motor vehicle comprising such a 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 dite monoscopique, 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 so-called monoscopic 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.
En particulier, pour exploiter ces images, il est nécessaire de suivre le flot optique (« optical flow » en langue anglaise) d'un certain nombre de points dans la série d'images. Plus précisément, il s'agit de suivre la trajectoire de ces points dans une pluralité d'images successives et d'en déterminer leur localisation dans l'espace.  In particular, to exploit these images, it is necessary to follow 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.
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. 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 important pour un système embarqué dans un véhicule automobile.  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. 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 significant 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.
En outre, une telle solution, bien que robuste, ne permet d'obtenir qu'un nombre très limité de flots fiables par une image, de l'ordre de 2% du nombre total de flots existants entre deux images, ce qui peut s'avérer insuffisant pour détecter ou suivre des objets dans le flux d'image et donc pour assister efficacement le conducteur dans sa conduite. In addition, such a solution, although robust, makes it possible to obtain only a very limited number of reliable streams by an image, of the order of 2% of the total number of flows existing between two images, which can be to be insufficient to detect or track objects in the image stream and thus to effectively assist the driver in his driving.
En particulier, lorsque des motifs répétitifs sont présents dans l'environnement filmé par la caméra, tels que par exemple le ciel, la route, une série de poteaux, un rail de sécurité ou certains types de bâtiments, cette solution ne permet pas de déterminer de manière fiable les flots des pixels représentant ces motifs répétitifs du fait de leur uniformité sur plusieurs images successives, ce qui présente un inconvénient majeur.  In particular, when repetitive patterns are present in the environment filmed by the camera, such as for example the sky, the road, a series of poles, a safety rail or certain types of buildings, this solution does not make it possible to determine reliably flows of pixels representing these repetitive patterns due to their uniformity in several successive images, which has a major drawback.
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 motifs répétitifs dans un flux vidéo capturé par la caméra d'un véhicule automobile.  The invention aims to remedy at least in part these disadvantages by providing a simple, reliable and effective solution for detecting repetitive patterns in a video stream captured by the camera of a motor vehicle.
En particulier, l'invention vise à qualifier des groupes de pixels représentatifs de motifs répétitifs afin de pouvoir décider ou non d'utiliser les flots de ces pixels pour détecter des objets dans les images.  In particular, the invention aims to qualify groups of pixels representative of repeating patterns in order to decide whether or not to use the streams of these pixels to detect objects in the images.
A cette fin, l'invention a pour objet un procédé de détection d'un motif répétitif dans un flux d'images acquises par une caméra vidéo monoscopique d'un véhicule automobile, ledit procédé étant remarquable en ce qu'il comprend les étapes de :  To this end, the subject of the invention is a method for detecting a repetitive pattern in a stream of images acquired by a monoscopic video camera of a motor vehicle, said method being remarkable in that it comprises the steps of :
• détermination, pour chaque pixel d'une première image et pour chaque pixel d'une deuxième image, postérieure à la première image dans le flux d'images, d'une signature caractéristique dudit pixel,  Determining, for each pixel of a first image and for each pixel of a second image, subsequent to the first image in the image stream, a characteristic signature of said pixel,
· détermination d'une matrice de rotation et d'un vecteur de translation de la caméra entre la première image et la deuxième image,  Determining a rotation matrix and a translation vector of the camera 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 deuxième image, d'au moins un segment épipolaire associé audit pixel sélectionné à partir de la matrice de rotation et du vecteur de translation déterminés,  determination, in the second image, of at least one epipolar segment associated with said selected pixel from the determined rotation matrix and translation vector,
- sélection d'une pluralité de points sur le segment épipolaire déterminé, chaque point correspondant à un pixel de la deuxième image, selecting a plurality of points on the determined epipolar segment, each point corresponding to a pixel of the second image,
- comparaison de la signature de chaque pixel associé à un point sélectionné avec la signature du pixel sélectionné dans la première image,comparing the signature of each pixel associated with a selected point with the signature of the selected pixel in the first image,
- détection d'un motif répétitif entre la première image et la deuxième image lorsqu'une pluralité de signatures de pixels associés à la pluralité de points sélectionnés sur le segment correspondent à la signature du pixel sélectionné dans la première image. Le segment épipolaire correspond à un segment comprenant toutes les positions possible dans la deuxième image du pixel sélectionné dans la première image, considérant une distance minimale et une distance maximale. detecting a repeating pattern between the first image and the second image when a plurality of pixel signatures associated with the plurality of selected points on the segment match the signature of the selected pixel in the first image. The epipolar segment corresponds to a segment comprising all possible positions in the second image of the pixel selected in the first image, considering a minimum distance and a maximum distance.
Le procédé selon l'invention permet ainsi au dispositif d'assistance à la conduite du véhicule d'identifier les flots optiques entre les pixels représentant des motifs répétitifs afin de les écarter lors du traitement de l'information contenu dans les images, ces flots optiques pouvant représenter des faux-positifs lors dudit traitement. Le procédé selon l'invention permet en particulier d'éviter les erreurs de mise en correspondance et les mauvaises reconstructions 3D, par exemple dans le cas d'objets à effet stroboscopique. Le procédé selon l'invention peut être aussi bien utilisé sur des pixels représentant aussi bien des objets statiques que dynamiques. Dans ce dernier cas, il est nécessaire de connaître en outre le mouvement relatif (rotation et translation) entre la caméra et l'objet dynamique.  The method according to the invention thus enables the device for assisting the driving of the vehicle to identify the optical flows between the pixels representing repetitive patterns in order to discard them during the processing of the information contained in the images, these optical flows. which may represent false-positives during said treatment. The method according to the invention makes it possible in particular to avoid misregistration errors and bad 3D reconstructions, for example in the case of objects with stroboscopic effect. The method according to the invention can be used both on pixels representing both static and dynamic objects. In the latter case, it is necessary to know moreover the relative movement (rotation and translation) between the camera and the dynamic object.
De préférence, la détermination d'un segment épipolaire comprend : · la 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é,  Preferably, the determination of an epipolar segment comprises: 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,
• la 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 du vecteur de translation déterminés, ledit premier ensemble comprenant un premier pixel correspondant au pixel sélectionné, et  The determination, in the second image, of a first set of pixels by projection, on a predetermined plane located at a predetermined minimum distance, of the determined initial set, from the determined rotation matrix and translation vector; said first set comprising a first pixel corresponding to the selected pixel, and
• la 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 du vecteur de translation déterminés, ledit deuxième ensemble comprenant un deuxième pixel correspondant au pixel sélectionné dans la première image, le segment épipolaire étant le segment reliant le premier pixel et le deuxième pixel dans la deuxième image.  The 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 vector, said second set comprising a second pixel corresponding to the pixel selected in the first image, the epipolar segment being the segment connecting the first pixel and the second pixel in the second image.
Par les termes au voisinage, on entend des pixels situés dans une zone, de préférence de faible surface, centrée sur le pixel considéré.  By the terms in the neighborhood, we mean pixels located in an area, preferably of small area, centered on the pixel in question.
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. Dans un mode de réalisation, on détermine une pluralité de segments épipolaires ou un cylindre épipolaire. According to one aspect of the invention, the method further comprises a step of determining the projection plane. In one embodiment, a plurality of epipolar segments or an epipolar cylinder are determined.
En géométrie épipolaire, un cylindre épipolaire est un segment épipolaire épaissi (on peut aussi parler de rectangle). En pratique, la précision de la géométrie épipolaire défini l'épaisseur du segment.  In epipolar geometry, an epipolar cylinder is a thick epipolar segment (we can also speak of a rectangle). In practice, the accuracy of the epipolar geometry defines the thickness of the segment.
Selon un aspect de l'invention, le procédé comprend une étape préliminaire d'acquisition d'une première image et d'une deuxième image par la caméra.  According to one aspect of the invention, the method comprises a preliminary step of acquiring a first image and a second image by the camera.
L'invention concerne aussi un dispositif de traitement d'images pour véhicule automobile, ledit dispositif comprenant une caméra monoscopique 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 monoscopic camera capable of acquiring a first image and a second image and an image processing module configured for:
• déterminer, pour chaque pixel d'une première image et pour chaque pixel d'une deuxième image, postérieure à la première image dans le flux d'images, une signature caractéristique dudit pixel,  Determining, for each pixel of a first image and for each pixel of a second image, subsequent to the first image in the image stream, a characteristic signature of said pixel,
· déterminer une matrice de rotation et un vecteur de translation de la caméra, entre la première image et la deuxième image acquises par la caméra, · Determining a rotation matrix and a translation vector of the camera, 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 deuxième image, au moins un segment épipolaire associé audit pixel sélectionné à partir de la matrice de rotation et du vecteur de translation déterminés,  determining, in the second image, at least one epipolar segment associated with said selected pixel from the determined rotation matrix and translation vector,
- sélectionner une pluralité de points sur le segment épipolaire déterminé, chaque point correspondant à un pixel de la deuxième image, selecting a plurality of points on the determined epipolar segment, each point corresponding to a pixel of the second image,
- comparer la signature de chaque pixel correspondant à un point sélectionné avec la signature du pixel sélectionné dans la première image,comparing the signature of each pixel corresponding to a selected point with the signature of the selected pixel in the first image,
- détecter un motif répétitif entre la première image et la deuxième image lorsqu'une pluralité de signatures de pixels associés aux points sélectionnés sur le segment correspondent à la signature du pixel sélectionné dans la première image. detecting a repeating pattern between the first image and the second image when a plurality of pixel signatures associated with the selected points on the segment correspond to the signature of the selected pixel in the first image.
ledit dispositif étant configuré afin de déterminer le segment épipolaire, pour : said device being configured to determine the epipolar segment, for:
• 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é, • déterminer, dans la deuxième image, un premier ensemble de pixels par projection, à partir de la matrice de rotation et du vecteur de translation déterminés, de l'ensemble initial déterminé sur un plan prédéterminé situé à une distance minimale prédéterminée, ledit premier ensemble comprenant un premier pixel correspondant au pixel sélectionné dans la première image, 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, Determining, in the second image, a first set of pixels by projection, from the determined rotation matrix and translation vector, of the initial set determined on a predetermined plane situated at a predetermined minimum distance, said first set comprising a first pixel corresponding to the pixel selected in the first image,
• déterminer, dans la deuxième image un deuxième ensemble de pixels par projection, à partir de la matrice de rotation et du vecteur de translation déterminés, de l'ensemble initial déterminé sur le plan prédéterminé situé à une distance maximale prédéterminée, ledit deuxième ensemble comprenant un deuxième pixel correspondant au pixel sélectionné dans la première image, le segment épipolaire étant le segment reliant le premier pixel et le deuxième pixel dans la deuxième image.  Determining, in the second image, a second set of pixels by projection, from the determined rotation matrix and translation vector, of the initial set determined on the predetermined plane located at a predetermined maximum distance, said second set comprising a second pixel corresponding to the pixel selected in the first image, the epipolar segment being the segment connecting the first pixel and the second pixel in 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 dispositif est configuré pour déterminer une pluralité de segments épipolaires ou un cylindre épipolaire.  Preferably, the device is configured to determine a plurality of epipolar segments or an epipolar cylinder.
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.  - Figure 1 schematically illustrates a vehicle according to the 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 2 schematically illustrates a first image and a second image, subsequent 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 une projection par homographie, sur un plan de projection situé à une distance prédéterminée, d'un ensemble de points d'une première image dans une deuxième image, la correspondance entre les deux images étant réalisée via une matrice de rotation et un vecteur de translation de la caméra. FIG. 4 schematically illustrates 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; correspondence between the two images being performed via a rotation matrix and a translation vector of the camera.
- 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 exemple de cylindre épipolaire. Figure 6 schematically illustrates an example of an epipolar cylinder.
La figure 7 illustre schématiquement un mode de réalisation du procédé selon l'invention. Figure 7 schematically 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 vidéo monoscopique 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 monoscopic video camera 100 and an image processing module 200. Preferably, the camera 100 is mounted at the central upper 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 The image processing module 200 processes the images acquired by the camera 100 to provide driving assistance to the driver of the vehicle 1. By way of example, such image processing can consist in detecting objects in the images, such as, for example, panels, road borders, 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. (pedestrians or other ...), to inform the driver respectively of 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, postérieure à la première image 11 , acquises par la caméra 100 vidéo. Tout d'abord, le module de traitement d'images 200 est configuré pour déterminer, pour chaque pixel de la première image 11 et pour chaque pixel de la deuxième image 12, une signature caractéristique dudit pixel. 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, subsequent to the first image 11, acquired by the camera 100. video. First, the image processing module 200 is configured to determine, for each pixel of the first image 11 and for each pixel of the second image 12, a characteristic signature of said pixel.
Par ailleurs, en référence à la figure 3, le module de traitement d'images 200 est configuré pour déterminer une matrice de rotation R et un vecteur de translation T de la caméra 100 entre la première image 11 et la deuxième image 12, correspondant à la rotation et à la translation de la caméra 100 dans un référentiel lié à l'objet.  Furthermore, with reference to FIG. 3, the image processing module 200 is configured to determine a rotation matrix R and a translation vector T of the camera 100 between the first image 11 and the second image 12, corresponding to the rotation and translation of the camera 100 in a frame linked to the object.
La détermination de la matrice de rotation R et du vecteur de translation T peut, par exemple, être réalisée en utilisant un objet statique représenté sur les 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.  The determination of the rotation matrix R and the translation vector T may, for example, be carried out using a static object represented on the two images, for example the road or a bridge, or a dynamic object moving relative to the camera 100, for example another vehicle.
Dans ce dernier cas, il faut savoir où se situe l'objet dans l'image (par exemple en utilisant une méthode de classification connue en soi) et déterminer alors la matrice de rotation R et le vecteur de translation T de la caméra 100 dans le référentiel lié à l'objet, le vecteur de translation T étant dans ce cas pondérée d'un coefficient a qui peut être déterminé de manière connue par traitement d'images en connaissant la taille de l'objet.  In the latter case, it is necessary to know where the object is located in the image (for example using a classification method known per se) and then to determine the rotation matrix R and the translation vector T of the camera 100 in the reference frame linked to the object, the translation vector 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 du vecteur 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 vector 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 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 un vecteur de translation intermédiaire a.T obtenue à un facteur « a » près et à corriger ce vecteur de translation intermédiaire a.T pour obtenir un vecteur de translation T final à 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 vector aT obtained at a factor "a" and correct this intermediate translation vector aT to obtain a final translation vector 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 2 du véhicule 1 . Toujours en référence à la figure 2, le module de traitement d'images 200 est également configuré pour déterminer dans la première image 11 un ensemble initial de pixels comprenant le pixel sélectionné PA(1 ) et une pluralité de pixels PA(2), PA(5), localisés au voisinage du pixel sélectionné PA(1 ). Par le terme voisinage, on entend de manière connue des pixels PA(2), PA(5) adjacents au pixel sélectionné PA(1 ) dans la première image 11 . Le nombre de pixels du voisinage est de quatre dans cet exemple à des fins de clarté mais il va de soi que le voisinage du pixel 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 zone of the environment 2 of the vehicle 1. Still with reference to FIG. 2, the image processing module 200 is also 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), PA (5) pixels adjacent to 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 less 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 aussi 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 du vecteur de translation T déterminés, 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 also configured to determine, in the second image 12, a plurality of pixel sets PB (1), PB (5) by projection, from the rotation matrix R and the vector 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 du vecteur de translation T déterminés, de l'ensemble initial déterminé PA(1 ), PA(5) sur un plan W de projection prédéterminé situé à une distance minimale Dmin prédéterminée. Ce premier ensemble PBmin(1 ), PBmin(5) comprend un premier pixel PBmin(1 ) correspondant au pixel sélectionné PA(1 ) dans la première image 11 .  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 vector T, from the determined initial set PA (1), PA (5) on a predetermined projection plane W located 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 du vecteur de translation T déterminées, de l'ensemble initial déterminé PA(1 ), PA(5) sur le plan W situé à une distance maximale prédéterminée Dmax. Ce deuxième ensemble PBmax(1 ), PBmax(5) comprend un deuxième pixel PBmax(1 ) correspondant au pixel sélectionné dans la première image 11 . 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 of the determined translation vector T, of the determined initial set PA (1), PA (5) on the plane W situated at a maximum distance predetermined Dmax. This second set PBmax (1), PBmax (5) comprises a second pixel PBmax (1) corresponding to the pixel selected in the first 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 W de projection 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 W de projection situé à l'une des distances déterminées. Une telle projection par homographie est réalisée à partir de la matrice de rotation R et du vecteur de translation T, d'un vecteur n2 normal au plan W de projection et de la distance D du plan W par rapport au centre optique C1 de la manière suivante : 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 when acquiring the second image 12) via the plane W of projection located at one of the specified distances. Such a projection by homography is carried out from the rotation matrix R and the translation vector T, from a vector n 2 normal to the projection plane W and from the distance D of the plane W with respect to the optical center C1 of the following way:
H = R - C ^ D ) 1. H = R - C ^ D) 1 .
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 cinq mètres, et une distance maximale Dmax de quelques dizaines de mètres, par exemple cinquante ou cent 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 five meters, and a maximum distance Dmax of a few tens of meters, for example fifty or one hundred 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 W de projection peut être déterminé selon la nature du pixel sélectionné PA(1 ). Par exemple, lorsque le pixel sélectionné PA(1 ) représente une zone de la route 2A sur laquelle circule le véhicule 1 , un plan W correspondant au plan de la route 2A peut être utilisé. 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, comme illustré schématiquement sur la figure 3.  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. 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, as illustrated schematically. in Figure 3.
Une fois le premier pixel PBmin(1 ) et le deuxième pixel PBmax(1 ) sélectionnés, le module de traitement d'images 200 est configuré pour déterminer un segment U reliant le premier pixel PBmin(1 ) et le deuxième pixel PBmax(1 ), appelé segment épipolaire.  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). called the epipolar segment.
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) while being spaced apart. 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.
Le module de traitement d'images 200 est configuré pour associer chaque point PB2(1 ), PB5(1 ) sélectionné à un pixel de la deuxième image 12. En pratique, on considère qu'un point est associé lorsque ses coordonnées dans l'image correspondent aux coordonnées d'un pixel, c'est-à-dire que le point sélectionné se trouve dans la zone de l'image couverte (ou représentée) par ledit pixel. The image processing module 200 is configured to associate each selected PB 2 (1), PB 5 (1) point with a pixel of the second image 12. In practice, it is considered that a point is associated when its coordinates in the image corresponds to the coordinates of a pixel, that is to say that the selected point is in the area of the image covered (or represented) by said pixel.
Le module de traitement d'images 200 est configuré pour comparer la signature de chaque pixel correspondant à un point (PB2(1 ), PB5(1 )) sélectionné avec la signature du pixel sélectionné dans la première image 11 . The image processing module 200 is configured to compare the signature of each pixel corresponding to a selected point (PB 2 (1), PB 5 (1)) with the signature of the pixel selected in the first image 11.
Le module de traitement d'images 200 est configuré pour détecter un motif répétitif entre la première image 11 et la deuxième image 12 lorsqu'une pluralité de signatures de pixels associés aux points (PB2(1 ), PB5(1 )) sélectionnés sur le segment U correspondent à la signature du pixel sélectionné dans la première image 11 . The image processing module 200 is configured to detect a repeating pattern between the first image 11 and the second image 12 when a plurality of pixel signatures associated with the selected pixels (PB 2 (1), PB 5 (1)) are selected. on the segment U correspond to the signature of the pixel 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 E0, en référence notamment aux figures 2 et 7, la caméra 100 acquière une première image 11 et une deuxième image 12, de préférence 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 (c'est-à-dire successive dans le flot d'images) comme deuxième image 12.  First, in a step E0, with reference in particular to Figures 2 and 7, the camera 100 acquires a first image 11 and a second image 12, preferably consecutive. 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 (that is to say, successive in the stream of images) as the second image 12.
Dans une étape E1 , le module de traitement d'images 200 détermine, pour chaque pixel de la première image 11 et pour chaque pixel de la deuxième image 12, une signature caractéristique dudit pixel.  In a step E1, the image processing module 200 determines, for each pixel of the first image 11 and for each pixel of the second image 12, a characteristic signature of said pixel.
Une telle signature peut être déterminée à partir de l'analyse locale d'une image et caractérise ainsi le contenu de cette image. Il existe plusieurs façons de créer une signature basée sur des descripteurs. Ces descripteurs peuvent avoir certaines propriétés comme l'invariance par rotation, par grossissement ou changement de luminosité. Le cas d'utilisation définit en général les propriétés nécessaires aux descripteurs et permet de déterminer la méthode la plus avantageuse. Par exemple, la transformation de census donne une signature basée sur les différences relatives d'intensité (Zabih, R., Woodfill, J.I.: Non-parametric Local Transforms for Computing Visual Correspondence. In: Eklundh, J.-O. (ed.) ECCV 1994. LNCS, vol. 801 , pp. 151 -158. Springer, Heidelberg (1994)). Un autre exemple est la transformation de caractéristiques visuelles invariante à l'échelle (SIFT pour « Scale-lnvariant Feature Transform » en langue anglaise). Such a signature can be determined from the local analysis of an image and thus characterizes the content of this image. There are several ways to create a signature based on descriptors. These descriptors may have certain properties such as invariance by rotation, magnification or change of brightness. The use case generally defines the properties needed by the descriptors and determines the most advantageous method. For example, the census transformation gives a signature based on the relative differences in intensity (Zabih, R., Woodfill, JI: Non-parametric Local Transforms for Visual Computing Correspondence In: Eklundh, J.-O. (ed. ECCV 1994. LNCS, vol 801, pp. 151-158, Springer, Heidelberg (1994)). Another example is Scale-Invariant Feature Transform (SIFT).
En vision par ordinateur, l'extraction de caractéristiques visuelles (ou « visual features extraction » en langue anglaise) consiste en des transformations mathématiques calculées sur les pixels d'une image numérique. Les caractéristiques visuelles permettent généralement de mieux rendre compte de certaines propriétés visuelles de l'image, utilisées pour des traitements ultérieurs entrant dans le cadre d'applications telles que la détection d'objets ou la recherche d'images par le contenu.  In computer vision, the extraction of visual features (or "visual features extraction" in English) consists of mathematical transformations calculated on the pixels of a digital image. The visual characteristics generally make it possible to better account for certain visual properties of the image, used for subsequent treatments coming within the framework of applications such as the detection of objects or the search of images by the content.
La caractérisation d'une image peut être calculée en un nombre restreint de pixel. Il faut pour cela d'abord détecter les zones d'intérêt de l'image puis calculer en chacune de ces zones un vecteur caractéristique. Ces zones d'intérêt sont par exemple les arêtes ou les points saillants de l'image (zones de fort contraste). Il peut aussi s'agir de points pris aléatoirement ou régulièrement dans l'image (échantillonnage dit dense).  The characterization of an image can be computed in a small number of pixels. To do this, it is first necessary to detect the areas of interest of the image and then to calculate in each of these zones a characteristic vector. These areas of interest are for example the edges or highlights of the image (areas of high contrast). It can also be points taken randomly or regularly in the image (so-called dense sampling).
Le vecteur caractéristique contient parfois des données provenant de la détection, telles que l'orientation de l'arête ou la magnitude du gradient dans la zone d'intérêt. Généralement, le vecteur caractéristique en un pixel est calculé sur un voisinage de ce pixel, c'est-à-dire à partir d'une imagette centrée sur ce pixel. Il peut être calculé à différentes échelles de manière à s'affranchir du facteur de zoom. Parmi les caractéristiques locales couramment calculées, on retrouve des motifs préalablement utilisés globalement, tels que des histogrammes de couleur ou des vecteurs rendant compte de l'orientation des gradients des niveaux de gris. Trois exemples de voisinages utilisés pour définir une texture et calculer un motif binaire local (LBP pour « Local Binary Patterns » en langue anglaise). Certaines méthodes telles SIFT ou SURF (pour « Speeded Up Robust Features » en langue anglaise) incluent à la fois la détection de zone d'intérêt et le calcul d'un vecteur caractéristique en chacune de ces zones. Concernant le vecteur caractéristique, les SIFT sont grossièrement un histogramme des orientations du gradient et les SURF consistent en le calcul d'approximation d'ondelettes de Haar. Dans une veine similaire, les motifs binaires locaux (LBP) sont un calcul de cooccurrence des niveaux de gris locaux d'une image et les HOG (pour « Histograms of Orientée! Gradients » en langue anglaise) sont des histogrammes de gradients orientés, assez similaires aux SIFT, calculés selon un échantillonnage dense. The characteristic vector sometimes contains data from the detection, such as the edge orientation or gradient magnitude in the area of interest. Generally, the characteristic vector in one pixel is calculated on a neighborhood of this pixel, that is to say from a thumbnail centered on this pixel. It can be calculated at different scales so as to overcome the zoom factor. Among the locally calculated local characteristics are patterns previously used globally, such as color histograms or vectors accounting for the orientation of gradients of gray levels. Three examples of neighborhoods used to define a texture and calculate a local binary pattern (LBP). Some methods such as SIFT or SURF (for "Speeded Up Robust Features") include both the detection of area of interest and the calculation of a characteristic vector in each of these areas. Concerning the characteristic vector, the SIFTs are roughly a histogram of the gradient orientations and the SURFs consist of the approximation of Haar wavelet approximations. In a similar vein, local bit patterns (LBP) are a co-occurrence of local gray levels of an image and HOGs (for "Histograms of Oriented! Gradients "in English language) are histograms of oriented gradients, quite similar to the SIFTs, calculated according to a dense sampling.
En référence à la figure 3, le module de traitement d'images 200 détermine ensuite, dans une étape E2, la matrice de rotation R et le vecteur de translation T entre la première image 11 et la deuxième image 12.  With reference to FIG. 3, the image processing module 200 then determines, in a step E2, the rotation matrix R and the translation vector 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) 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 W prédéterminé 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 W plane 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.
Au lieu d'un unique segment, on pourrait également considérer un cylindre épipolaire qui se définit comme étant un segment épipolaire d'une épaisseur supérieure à un pixel (de préférence une épaisseur d'un nombre impair de pixels, ainsi la dilatation du segment se fait de part et d'autre du segment d'épaisseur 1 ). Dans le cas du cylindre, en référence à la figure 6, il suffit d'appliquer le parcours du segment U tous les 0,1 pixels au pixel central du cylindre et d'étendre la mesure aux pixels voisins (par exemple PB2'(1 ) et PB2"(1 ) pour le pixel PB2(1 ) et PB3'(1 ) et PB3"(1 ) pour le pixel PB3(1 )).  Instead of a single segment, one could also consider an epipolar cylinder which is defined as being an epipolar segment of a thickness greater than one pixel (preferably a thickness of an odd number of pixels, so the expansion of the segment is made on both sides of the thickness segment 1). In the case of the cylinder, with reference to FIG. 6, it suffices to apply the course of the segment U every 0.1 pixels to the central pixel of the cylinder and to extend the measurement to the neighboring pixels (for example PB2 '(1 ) and PB2 "(1) for pixel PB2 (1) and PB3 '(1) and PB3" (1) for pixel PB3 (1)).
Le module de traitement d'images 200 associe ensuite dans une étape E1 1 chaque point PB2(1 ), PB5(1 ) sélectionné sur le segment U à un pixel de la deuxième image 12. The image processing module 200 then associates in a step E1 1 each PB 2 (1), PB 5 (1) point selected on the segment U with a pixel of the second image 12.
Le module de traitement d'images 200 compare alors dans une étape E12 la signature de chaque pixel associé à un point PB2(1 ), PB5(1 ) sélectionné avec la signature du pixel sélectionné dans la première image 11 . The image processing module 200 then compares in a step E12 the signature of each pixel associated with a selected point PB 2 (1), PB 5 (1) with the signature of the pixel selected in the first image 11.
Enfin, dans une étape E13, le module de traitement d'images 200 détecte un motif répétitif entre la première image 11 et la deuxième image 12 lorsqu'une pluralité de signatures de pixels associés à la pluralité de points (PB2(1 ), PB5(1 ) sélectionnés sur le segment U correspondent à la signature du pixel sélectionné dans la première image 11 . Finally, in a step E13, the image processing module 200 detects a repeating pattern between the first image 11 and the second image 12 when a plurality of pixel signatures associated with the plurality of points (PB 2 (1), PB 5 (1) selected on the segment U correspond to the signature of the pixel selected in the first image 11.
Dans l'exemple non limitatif qui a été décrit ci-avant, un unique segment épipolaire était utilisé mais on notera qu'en variante, une pluralité de segments épipolaires, par exemple parallèles, pourraient être utilisés, chaque segment étant défini par une pluralité de points associés à des pixels de la deuxième image 12 de sorte que la signature de chaque point soit comparée à la signature du pixel associé dans la première image 11 afin de détecter de manière encore plus précise des motifs répétitifs dans les images. De même, on pourrait définir, plutôt qu'un segment ou une pluralité de segments, un cylindre épipolaire comprenant le segment U et une pluralité de points associés à des pixels de la deuxième image 12 et dont on pourrait comparer les signatures avec les pixels correspondant de la première image 11 afin de détecter de manière encore plus précise des motifs répétitifs dans les images. In the nonlimiting example which has been described above, a single epipolar segment was used but it will be noted that, as a variant, a plurality of segments epipolar, for example parallel, could be used, each segment being defined by a plurality of points associated with pixels of the second image 12 so that the signature of each point is compared to the signature of the associated pixel in the first image 11 so to detect even more accurately repetitive patterns in the images. Similarly, one could define, rather than a segment or a plurality of segments, an epipolar cylinder comprising the segment U and a plurality of points associated with pixels of the second image 12 and whose signatures could be compared with the corresponding pixels. of the first image 11 to detect even more accurately repetitive patterns in the images.
On notera par ailleurs que pour les objets dynamiques, la rotation et translation entre les images sont de préférence exprimés par rapport à un repère monde qui est lié à l'objet dynamique.  Note also that for dynamic objects, the rotation and translation between the images are preferably expressed with respect 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 motifs répétitifs dans les images capturées par la caméra 100 afin d'assister le conducteur dans sa conduite du véhicule 1 .  The method according to the invention thus makes it possible easily and efficiently to detect repetitive patterns in the images captured by the camera 100 in order to assist the driver in his driving of the vehicle 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.  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 détection d'un motif répétitif dans un flux d'images (11 , 12) acquises par une caméra (100) vidéo monoscopique d'un véhicule automobile (1 ), ledit procédé étant caractérisé en ce qu'il comprend les étapes de :  A method of detecting a repetitive pattern in an image stream (11, 12) acquired by a monoscopic video camera (100) of a motor vehicle (1), said method being characterized in that it comprises the steps of:
• détermination (E1 ), pour chaque pixel d'une première image (11 ) et pour chaque pixel d'une deuxième image (12), postérieure à la première image (11 ) dans le flux d'images, d'une signature caractéristique dudit pixel,  Determination (E1), for each pixel of a first image (11) and for each pixel of a second image (12), subsequent to the first image (11) in the image flow, of a characteristic signature said pixel,
• détermination (E2) d'une matrice de rotation (R) et d'un vecteur de translation (T) de la caméra (100) entre la première image (11 ) et la deuxième image (12), Determining (E2) a rotation matrix (R) and a translational vector (T) of the camera (100) between the first image (11) and the second image (12),
• sélection (E3) d'au moins un pixel (PA(1 )) dans la première image (11 ), Selecting (E3) at least one pixel (PA (1)) in the first image (11),
· 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 (E9), dans la deuxième image (12), d'au moins un segment (U) épipolaire associé audit pixel sélectionné (PA(1 )) à partir de la matrice de rotation (R) et du vecteur de translation (T) déterminés,  determination (E9), in the second image (12), of at least one epipolar segment (U) associated with said selected pixel (PA (1)) from the rotation matrix (R) and the translation vector ( T) determined,
- sélection (E10) d'une pluralité de points ((PB2(1 ), PB5(1 )) sur le segment (U) épipolaire déterminé, chaque point ((PB2(1 ), PB5(1 )) correspondant à un pixel de la deuxième image (12), selecting (E10) a plurality of points (PB 2 (1), PB 5 (1)) on the determined epipolar segment (U), each point (PB 2 (1), PB 5 (1)) corresponding to a pixel of the second image (12),
- comparaison de la signature de chaque pixel associé à un point ((PB2(1 ), PB5(1 )) sélectionné avec la signature du pixel sélectionné dans la première image (11 ), comparing the signature of each pixel associated with a selected point (PB 2 (1), PB 5 (1)) with the signature of the pixel selected in the first image (11),
- détection d'un motif répétitif entre la première image (11 ) et la deuxième image (12) lorsqu'une pluralité de signatures de pixels associés à la pluralité de points ((PB2(1 ), PB5(1 )) sélectionnés sur le segment (U) correspondent à la signature du pixel sélectionné dans la première image (11 ). detecting a repetitive pattern between the first image (11) and the second image (12) when a plurality of pixel signatures associated with the plurality of points (PB 2 (1), PB 5 (1)) selected on the segment (U) correspond to the signature of the pixel selected in the first image (11).
2. Procédé selon la revendication 1 , dans lequel la détermination (E9) d'un segment (U) épipolaire comprend : The method of claim 1, wherein determining (E9) an epipolar (U) segment comprises:
• la 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 )), · la 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 du vecteur de translation (T) déterminés, 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 ), et The 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 near the selected pixel (PA (1)), · determining (E7), in the second image (12), a first set of pixels (PBmin (1), PBmin (5)) by projecting, on a predetermined plane (W) at a predetermined minimum distance (Dmin), from the determined initial set (PA (1), PA (5)), from the rotation matrix (R) and the translation vector (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), and
• la 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 (W) prédéterminé 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 du vecteur de translation (T) déterminés, 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 ), le segment (U) épipolaire étant le segment reliant le premier pixel (PBmin(1 )) et le deuxième pixel (PBmax(1 )) dans la deuxième image (12).  The determination (E8), in the second image (12), of a second set of pixels (PBmax (1), ..., PBmax (5)) by projection on the predetermined plane (W) situated at a distance predetermined maximum set (PA (1), PA (5)), from the determined rotation matrix (R) and translation vector (T), 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), the epipolar segment (U) being the segment connecting the first pixel ( PBmin (1)) and the second pixel (PBmax (1)) in the second image (12).
3. Procédé selon l'une des revendications 1 et 2, comprenant en outre une étape (E5) de détermination de la distance minimale (Dmin) et de la distance maximale (Dmax).  3. Method according to one of claims 1 and 2, further comprising a step (E5) for determining the minimum distance (Dmin) and the maximum distance (Dmax).
4. Procédé selon l'une des revendications 1 à 3, comprenant en outre une étape (E6) de détermination du plan (W) de projection. 4. Method according to one of claims 1 to 3, further comprising a step (E6) for determining the projection plane (W).
5. Procédé selon l'une des revendications 1 à 4, dans lequel on détermine une pluralité de segments épipolaires ou un cylindre épipolaire.  5. Method according to one of claims 1 to 4, wherein a plurality of epipolar segments or an epipolar cylinder is determined.
6. Dispositif (10) de traitement d'images pour véhicule automobile (1 ), ledit dispositif (10) comprenant une caméra (100) monoscopique apte à acquérir une première image (11 ) et une deuxième image (12) et un module de traitement d'images (200) configuré pour :  6. An image processing device (10) for a motor vehicle (1), said device (10) comprising a monoscopic camera (100) capable of acquiring a first image (11) and a second image (12) and a module of image processing (200) configured for:
• déterminer, pour chaque pixel d'une première image (11 ) et pour chaque pixel d'une deuxième image (12), postérieure à la première image (11 ) dans le flux d'images, une signature caractéristique dudit pixel,  Determining, for each pixel of a first image (11) and for each pixel of a second image (12), subsequent to the first image (11) in the image flow, a characteristic signature of said pixel,
• déterminer une matrice de rotation (R) et un vecteur de translation (T) de la caméra (100) entre la première image (11 ) et la deuxième image (12) acquises par la caméra (100),  Determining a rotation matrix (R) and a translation vector (T) of the camera (100) 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 ),  • select at least one pixel (PA (1)) in the first image (11),
· 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 deuxième image (12), au moins un segment (U) épipolaire associé audit pixel sélectionné (PA(1 )) à partir de la matrice de rotation (R) et du vecteur de translation (T) déterminés,  determining, in the second image (12), at least one epipolar segment (U) associated with said selected pixel (PA (1)) from the determined rotation matrix (R) and translation vector (T),
- sélectionner une pluralité de points ((PB2(1 ), PB5(1 )) sur le segment (U) épipolaire déterminé, chaque point correspondant à un pixel de la deuxième image (12), - comparer la signature de chaque pixel correspondant à un point ((PB2(1 ), PB5(1 )) sélectionné avec la signature du pixel sélectionné dans la première image (11 ), selecting a plurality of points (PB 2 (1), PB 5 (1)) on the determined epipolar segment (U), each point corresponding to a pixel of the second image (12), comparing the signature of each pixel corresponding to a selected point (PB 2 (1), PB 5 (1)) with the signature of the pixel selected in the first image (11),
- détecter un motif répétitif entre la première image (11 ) et la deuxième image (12) lorsqu'une pluralité de signatures de pixels associés aux points ((PB2(1 ), PB5(1 )) sélectionnés sur le segment (U) correspondent à la signature du pixel sélectionné dans la première image (11 ).detecting a repetitive pattern between the first image (11) and the second image (12) when a plurality of pixel signatures associated with the selected points (PB 2 (1), PB 5 (1)) on the segment (U) ) correspond to the signature of the selected pixel in the first image (11).
7. Dispositif (10) selon la revendication précédente, ledit dispositif étant configuré afin de déterminer le segment (U) épipolaire, pour : 7. Device (10) according to the preceding claim, said device being configured to determine the segment (U) epipolar, for:
· 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 )), • 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 du vecteur de translation (T) déterminés, 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 ),  Determining, 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)), • determining, in the second image (12), a first set of pixels (PBmin (1), PBmin (5)) by projection, from the determined rotation matrix (R) and translation vector (T) of the determined initial set (PA (1), PA (5)) on a predetermined plane (W) situated 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),
· 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 du vecteur de translation (T) déterminés, 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 ),  · Determining, in the second image (12), a second set of pixels (PBmax (1), ..., PBmax (5)) by projection, from the rotation matrix (R) and the translation vector ( T), of the determined initial set (PA (1), PA (5)) on the predetermined plane (W) 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),
le segment (U) épipolaire étant le segment reliant le premier pixel (PBmin(1 )) et le deuxième pixel (PBmax(1 )) dans la deuxième image (12).  the epipolar segment (U) being the segment connecting the first pixel (PBmin (1)) and the second pixel (PBmax (1)) in the second image (12).
8. Dispositif (10) selon l'une des revendications 6 et 7, dans lequel le module de traitement d'images (200) est configuré pour déterminer la distance minimale (Dmin) et la distance maximale (Dmax). 8. Device (10) according to one of claims 6 and 7, wherein the image processing module (200) is configured to determine the minimum distance (Dmin) and the maximum distance (Dmax).
9. Dispositif (10) selon l'une des revendications 6 à 8, dans lequel le module de traitement d'images (200) est configuré pour déterminer le plan (W) de projection.  9. Device (10) according to one of claims 6 to 8, wherein the image processing module (200) is configured to determine the plane (W) projection.
10. Véhicule automobile (1 ) comprenant un dispositif (10) selon l'une des revendications 6 à 9. 10. Motor vehicle (1) comprising a device (10) according to one of claims 6 to 9.
PCT/FR2018/050743 2017-04-03 2018-03-27 Method and device for processing images acquired by a camera of a motor vehicle WO2018185398A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1752857A FR3064785B1 (en) 2017-04-03 2017-04-03 METHOD AND DEVICE FOR PROCESSING IMAGES ACQUIRED BY A CAMERA OF A MOTOR VEHICLE
FR1752857 2017-04-03

Publications (1)

Publication Number Publication Date
WO2018185398A1 true WO2018185398A1 (en) 2018-10-11

Family

ID=58779211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2018/050743 WO2018185398A1 (en) 2017-04-03 2018-03-27 Method and device for processing images acquired by a camera of a motor vehicle

Country Status (2)

Country Link
FR (1) FR3064785B1 (en)
WO (1) WO2018185398A1 (en)

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER LE BRESE ET AL: "An improved ASIFT algorithm for matching repeated patterns", 2010 17TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP 2010); 26-29 SEPT. 2010; HONG KONG, CHINA, IEEE, PISCATAWAY, NJ, USA, 26 September 2010 (2010-09-26), pages 2949 - 2952, XP031814713, ISBN: 978-1-4244-7992-4 *
KUNDU A ET AL: "Moving object detection by multi-view geometric techniques from a single camera mounted robot", INTELLIGENT ROBOTS AND SYSTEMS, 2009. IROS 2009. IEEE/RSJ INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 10 October 2009 (2009-10-10), pages 4306 - 4312, XP031580587, ISBN: 978-1-4244-3803-7 *
LIN WEN-YAN ET AL: "RepMatch: Robust Feature Matching and Pose for Reconstructing Modern Cities", 17 September 2016, NETWORK AND PARALLEL COMPUTING; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 562 - 579, ISBN: 978-3-642-27168-7, ISSN: 0302-9743, XP047355226 *
SABE K ET AL: "Obstacle avoidance and path planning for humanoid robots using stereo vision", ROBOTICS AND AUTOMATION, 2004. PROCEEDINGS. ICRA '04. 2004 IEEE INTERN ATIONAL CONFERENCE ON NEW ORLEANS, LA, USA APRIL 26-MAY 1, 2004, PISCATAWAY, NJ, USA,IEEE, US, vol. 1, 26 April 2004 (2004-04-26), pages 592 - 597, XP010768339, ISBN: 978-0-7803-8232-9, DOI: 10.1109/ROBOT.2004.1307213 *
SALVATORE LIVATINO: "Aalborg Universitet Cylindrical epipolar geometry", CVONLINE : THE EVOLVING, 1 January 2003 (2003-01-01), XP055419221, Retrieved from the Internet <URL:http://vbn.aau.dk/files/2848348/CylEpiGeo.pdf> *
SUNAO KAMIYA ET AL: "Accurate Image Matching in Scenes Including Repetitive Patterns", 18 February 2008, ROBOT VISION : SECOND INTERNATIONAL WORKSHOP, ROBVIS 2008, AUCKLAND, NEW ZEALAND, FEBRUARY 18 - 20, 2008 ; PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 165 - 176, ISBN: 978-3-540-78156-1, XP019086909 *
ZABIH, R.; WOODFILL, J.I.: "ECCV 1994. LNCS", vol. 801, 1994, SPRINGER, article "Non-parametric Local Transforms for Computing Visual Correspondence", pages: 151 - 158

Also Published As

Publication number Publication date
FR3064785B1 (en) 2019-04-05
FR3064785A1 (en) 2018-10-05

Similar Documents

Publication Publication Date Title
EP2275971B1 (en) Method of obstacle detection for a vehicle
EP3332352B1 (en) Device and method for detecting a parking space that is available for a motor vehicle
EP2930659B1 (en) Method for detecting points of interest in a digital image
EP3572976A1 (en) Method for processing a video image stream
WO2018138064A1 (en) Detection of obstacles in the environment of a motor vehicle by image processing
WO2010133785A1 (en) Method and device for extending a visibility area
FR2899363A1 (en) Movable/static object`s e.g. vehicle, movement detecting method for assisting parking of vehicle, involves carrying out inverse mapping transformation on each image of set of images of scene stored on charge coupled device recording camera
FR3027432A1 (en) DISTANCE ESTIMATION OF A PIETON BY AN IMAGING SYSTEM ON A MOTOR VEHICLE
FR3083352A1 (en) METHOD AND DEVICE FOR FAST DETECTION OF REPETITIVE STRUCTURES IN THE IMAGE OF A ROAD SCENE
EP1995693A1 (en) Method for detecting a moving object in a stream of images
WO2018185398A1 (en) Method and device for processing images acquired by a camera of a motor vehicle
WO2017005930A1 (en) Detection of objects by image processing
EP3417398B1 (en) Device and method for estimating the attention level of a driver of a vehicle
WO2017216465A1 (en) Method and device for processing images acquired by a camera of a motor vehicle
EP2180426A1 (en) Method for detecting a target object for an automobile
FR3058247B1 (en) DETECTION OF OBSTACLES AROUND A MOTOR VEHICLE
EP2769360B1 (en) Method for locating objects by resolution in the three-dimensional space of the scene
FR3078183A1 (en) METHOD FOR DETECTING AN OBJECT FROM AN INBOARD CAMERA IN A MOTOR VEHICLE
FR3138951A1 (en) System and method for aiding the navigation of a mobile system by means of a model for predicting terrain traversability by the mobile system
EP3931741A1 (en) Vehicle driving assistance by reliable determination of objects in deformed images
FR3062224A1 (en) DETECTING OBSTACLES IN THE ENVIRONMENT OF A MOTOR VEHICLE BY PROCESSING IMAGES
FR3103301A1 (en) Method for detecting specularly reflected light beam intensity peaks
WO2019002236A1 (en) Processing data obtained from an obstacle detector
WO2018141717A1 (en) Method for identifying and monitoring areas of interest in images successively acquired by an optical sensor of a motor vehicle
FR2917824A3 (en) Sun&#39;s position detecting method for motor vehicle, involves identifying zone of acquired image corresponding to sun among extracted luminous zones, and determining position of sun according to zone corresponding to sun

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: 18722092

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: 18722092

Country of ref document: EP

Kind code of ref document: A1