FR3078183A1 - METHOD FOR DETECTING AN OBJECT FROM AN INBOARD CAMERA IN A MOTOR VEHICLE - Google Patents
METHOD FOR DETECTING AN OBJECT FROM AN INBOARD CAMERA IN A MOTOR VEHICLE Download PDFInfo
- Publication number
- FR3078183A1 FR3078183A1 FR1851317A FR1851317A FR3078183A1 FR 3078183 A1 FR3078183 A1 FR 3078183A1 FR 1851317 A FR1851317 A FR 1851317A FR 1851317 A FR1851317 A FR 1851317A FR 3078183 A1 FR3078183 A1 FR 3078183A1
- Authority
- FR
- France
- Prior art keywords
- image
- map
- disparity
- dynamic
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000003287 optical effect Effects 0.000 claims abstract description 32
- 238000001514 detection method Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 description 6
- 230000003068 static effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Traffic Control Systems (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
La présente invention a pour objet un procédé de détection d'un objet dynamique à partir d'une séquence d'images acquises par un système monoscopique monté dans un véhicule automobile, ledit système comprenant une unique caméra vidéo et un calculateur. Le procédé comprend les étapes de détermination (E2) d'une pluralité de flots optiques entre une première image et une deuxième image à partir d'une pluralité de points associés à au moins un objet représenté dans la première image, de génération (E3) d'une carte de densité de flots à partir des flots optiques déterminés, de détermination (E4) de la disparité de chacun desdits points à partir de la première image, de la deuxième image et d'une contrainte épipolaire, de génération (E5) d'une carte de disparité à partir des disparités déterminées, de superposition (E6) de la carte de densité de flots et de la carte de disparité afin d'obtenir une carte dite « dynamique », et de détermination (E7) du caractère dynamique de l'objet à partir de ladite carte dynamique.The present invention relates to a method for detecting a dynamic object from a sequence of images acquired by a monoscopic system mounted in a motor vehicle, said system comprising a single video camera and a computer. The method comprises the steps of determining (E2) a plurality of optical flows between a first image and a second image from a plurality of points associated with at least one object represented in the first generation image (E3). a density map of flows from the determined optical flows, determination (E4) of the disparity of each of said points from the first image, the second image and an epipolar constraint, generation (E5) a disparity map from the determined disparities, superposition (E6) of the flow density map and the disparity map to obtain a so-called "dynamic" map, and determination (E7) of the dynamic character of the object from said dynamic map.
Description
La présente invention se rapporte au domaine du traitement d’images et concerne plus particulièrement un procédé de détection d’un objet, situé dans l’environnement d’un véhicule automobile, à partir d’une caméra monoscopique embarquée dans ledit véhicule.The present invention relates to the field of image processing and more particularly relates to a method of detecting an object, located in the environment of a motor vehicle, from a monoscopic camera on board said vehicle.
De nos jours, la plupart des véhicules automobiles sont équipés d’un système d’aide à la conduite. De manière connue, un tel système comporte une ou plusieurs caméras, qui filment la route lorsque le véhicule roule, et un calculateur, qui traite les images acquises. Le calculateur peut être programmé pour détecter des objets spécifiques aussi bien statiques (véhicules à l’arrêt, trottoirs, lignes de marquage au sol, feux de signalisation, ...) que dynamiques (autres véhicules mobiles, piétons, ...) afin notamment de corriger la trajectoire du véhicule ou bien d’anticiper un freinage à la place du conducteur.Most motor vehicles today are equipped with a driver assistance system. In known manner, such a system comprises one or more cameras, which film the road when the vehicle is moving, and a computer, which processes the acquired images. The computer can be programmed to detect specific objects both static (stationary vehicles, sidewalks, marking lines on the ground, traffic lights, ...) as well as dynamic (other mobile vehicles, pedestrians, ...) in particular to correct the trajectory of the vehicle or to anticipate braking in place of the driver.
Différents systèmes peuvent être utilisés pour détecter des objets. Dans une première solution connue, le système est stéréoscopique et comprend au moins deux caméras afin d’augmenter la précision de la détection. Dans une deuxième solution connue, le système est de type « Lidar >> et émet des ondes se réfléchissant sur les objets afin de les détecter.Different systems can be used to detect objects. In a first known solution, the system is stereoscopic and includes at least two cameras in order to increase the detection accuracy. In a second known solution, the system is of the "Lidar" type and emits waves reflecting on the objects in order to detect them.
Ces systèmes stéréoscopiques et Lidar ont pour but de fournir une information 3D dense et instantanée sans nécessiter de mouvement du système. Toutefois, ces deux types de systèmes peuvent s’avérer relativement complexes et onéreux, ce qui présente un inconvénient important, notamment pour les véhicules d’entrée de gamme dont le coût de production doit être maintenu le plus faible possible.These stereoscopic and Lidar systems aim to provide dense and instantaneous 3D information without requiring system movement. However, these two types of system can prove to be relatively complex and expensive, which has a significant drawback, in particular for entry-level vehicles whose production cost must be kept as low as possible.
Aussi, dans une troisième solution connue, par souci de simplification et d’économie, le système ne comporte qu’une seule caméra et est dit « monoscopique >>. Dans ce cas, la détection des objets dynamiques nécessite un déplacement du système qui utilise alors les flots optiques entre les images successives capturées par la caméra pour détecter les objets dynamiques.Also, in a third known solution, for the sake of simplification and economy, the system comprises only one camera and is said to be “monoscopic”. In this case, the detection of dynamic objects requires a displacement of the system which then uses the optical streams between the successive images captured by the camera to detect dynamic objects.
En traitement d’images, le flot optique est une approximation du mouvement des pixels correspondant à un point observé dans une séquence d'images variant dans le temps. Plus précisément, un flot optique correspond au mouvement d’un point entre deux images et s'exprime comme un vecteur de déplacement du point entre lesdites deux images. Le suivi de points associés à un objet permet ainsi de reconstruire l’environnement tridimensionnel observé par le véhicule, notamment les objets situés dans l’environnement du véhicule, afin d’assister le conducteur dans sa conduite.In image processing, the optical flow is an approximation of the movement of the pixels corresponding to a point observed in a sequence of images varying over time. More precisely, an optical flow corresponds to the movement of a point between two images and is expressed as a vector for displacement of the point between said two images. Tracking points associated with an object thus makes it possible to reconstruct the three-dimensional environment observed by the vehicle, in particular objects located in the environment of the vehicle, in order to assist the driver in his driving.
L’utilisation du flot optique pour détecter les objets dynamiques est toutefois relativement complexe et peut conduire à des résultats imprécis. Notamment, l’utilisation du flot optique permet de déterminer une zone de l’image susceptible de correspondre à un objet dynamique mais ne permet pas de déterminer précisément le contour dudit objet, ce qui peut poser un problème de sécurité car il est important de pouvoir identifier un objet dynamique, précisément pour pouvoir l’éviter.Using optical flow to detect dynamic objects is, however, relatively complex and can lead to imprecise results. In particular, the use of the optical flow makes it possible to determine an area of the image capable of corresponding to a dynamic object but does not make it possible to precisely determine the contour of said object, which can pose a safety problem because it is important to be able identify a dynamic object, precisely to be able to avoid it.
II existe donc un besoin pour une solution simple, fiable et efficace permettant de détecter un objet dynamique à partir d’un système de caméra monoscopique.There is therefore a need for a simple, reliable and effective solution for detecting a dynamic object from a monoscopic camera system.
A cette fin, l’invention a tout d’abord pour objet un procédé de détection d’un objet dynamique à partir d’une séquence d’images acquises par un système monoscopique monté dans un véhicule automobile, ledit système comprenant une unique caméra vidéo et un calculateur. Ledit procédé est remarquable en ce qu’il comprend, pour une première image et une deuxième image consécutive à la première image dans la séquence d’images, les étapes, mises en œuvre par ledit calculateur, de :To this end, the invention firstly relates to a method of detecting a dynamic object from a sequence of images acquired by a monoscopic system mounted in a motor vehicle, said system comprising a single video camera and a calculator. Said method is remarkable in that it comprises, for a first image and a second image consecutive to the first image in the sequence of images, the steps, implemented by said computer, of:
• détermination d’une pluralité de flots optiques entre la première image et la deuxième image à partir d’une pluralité de points associés à au moins un objet représenté dans la première image, • génération d’une carte de densité de flots à partir des flots optiques déterminés, • détermination de la disparité de chacun desdits points à partir de la première image, de la deuxième image et d’une contrainte épipolaire, • génération d’une carte de disparité à partir des disparités déterminées, • superposition de la carte de densité de flots et de la carte de disparité afin d’obtenir une carte dite « dynamique », et • détermination du caractère dynamique de l’objet à partir de ladite carte dynamique.• determination of a plurality of optical flows between the first image and the second image from a plurality of points associated with at least one object represented in the first image, • generation of a density map of flows from the determined optical streams, • determination of the disparity of each of said points from the first image, from the second image and from an epipolar constraint, • generation of a disparity map from the determined disparities, • superposition of the map flow density and the disparity map in order to obtain a so-called “dynamic” map, and • determination of the dynamic character of the object from said dynamic map.
Par les termes « contrainte épipolaire », on entend le modèle mathématique de géométrie dite « épipolaire », qui décrit les relations géométriques de différentes images d’un même objet vu de différents points d’observation.By the terms "epipolar constraint" is meant the mathematical model of geometry known as "epipolar", which describes the geometric relationships of different images of the same object seen from different observation points.
La superposition de la carte de densité de flots et de la carte de disparité permet de déterminer les contours de l’objet dynamique de manière précise, ce qui permet de déterminer le caractère dynamique de l’objet de manière fiable et efficace, notamment en le classifiant et en le localisant précisément.The superimposition of the flow density map and the disparity map makes it possible to determine the contours of the dynamic object precisely, which makes it possible to determine the dynamic character of the object in a reliable and efficient manner, in particular by classifying and locating it precisely.
Selon un aspect de l’invention, le procédé comprend une étape préliminaire de génération d’une séquence d’images de l’environnement du véhicule par la caméra.According to one aspect of the invention, the method comprises a preliminary step of generating a sequence of images of the environment of the vehicle by the camera.
De préférence, le procédé comprend en outre, préalablement à l’étape de superposition, une étape de filtrage de la carte de disparité. Un tel filtrage permet de supprimer au moins partiellement les absences de valeurs dans la carte de disparité afin de réduire le risque de détecter de faux objets dynamiques (c’est-à-dire des objets qui ne seraient en réalité pas dynamiques). En effet, la carte de disparité peut présenter des absences de valeurs pour certains pixels lorsqu’il n’est pas possible de calculer la disparité pour ces pixels.Preferably, the method further comprises, prior to the superposition step, a step of filtering the disparity map. Such filtering makes it possible to at least partially eliminate the absence of values in the disparity map in order to reduce the risk of detecting false dynamic objects (that is to say objects which would not in reality be dynamic). Indeed, the disparity map can have missing values for certain pixels when it is not possible to calculate the disparity for these pixels.
Avantageusement, la carte de densité de flots est une carte binaire. Une carte binaire prend peu de place dans la mémoire du calculateur lors du traitement d’images. De plus, la transformation de la carte de densité de valeurs flottantes en valeurs binaires peut avantageusement être réalisée de manière simple en utilisant un seuil.Advantageously, the flow density map is a bit map. A bit card takes up little space in the computer's memory during image processing. In addition, the transformation of the density map from floating values to binary values can advantageously be carried out in a simple manner using a threshold.
Avantageusement encore, la carte de disparité est une carte binaire. Certains pixels ont une valeur de disparité et d’autres n’en ont pas. On peut donc transformer cette carte de disparité en carte binaire de manière à réduire l’espace mémoire utilisé lors du traitement d’images.Advantageously still, the disparity card is a binary card. Some pixels have a disparity value and others do not. We can therefore transform this disparity map into a binary map so as to reduce the memory space used during image processing.
Selon un aspect de l’invention, un traitement de la carte dynamique peut être réalisé à l’aide d’opérateurs morphologiques tels que, par exemple, l’érosion et la dilatation afin de faciliter la détection de zones caractérisées par l’absence de disparité. De tels opérateurs permettent de supprimer le bruit, ce qui est notamment avantageux pour traiter des objets dynamiques de taille conséquente.According to one aspect of the invention, a processing of the dynamic map can be carried out using morphological operators such as, for example, erosion and dilation in order to facilitate the detection of areas characterized by the absence of disparity. Such operators allow noise to be suppressed, which is particularly advantageous for processing dynamic objects of substantial size.
L’invention concerne également un calculateur, destiné à être monté dans un véhicule automobile, pour la détection d’un objet dynamique à partir d’une séquence d’images acquises par un système monoscopique monté dans ledit véhicule automobile, ledit système comprenant une unique caméra vidéo et ledit calculateur, le calculateur étant remarquable en ce qu’il est configuré, pour une première image et une deuxième image consécutive à la première image dans la séquence d’images, pour :The invention also relates to a computer, intended to be mounted in a motor vehicle, for the detection of a dynamic object from a sequence of images acquired by a monoscopic system mounted in said motor vehicle, said system comprising a single video camera and said computer, the computer being remarkable in that it is configured, for a first image and a second image consecutive to the first image in the sequence of images, for:
• déterminer une pluralité de flots optiques entre la première image et la deuxième image à partir d’une pluralité de points associés à au moins un objet représenté dans la première image, • générer une carte de densité de flots à partir des flots optiques déterminés, • déterminer la disparité de chacun desdits points à partir de la première image, de la deuxième image et d’une contrainte épipolaire, • générer une carte de disparité à partir des disparités déterminées, • superposer la carte de densité de flots et la carte de disparité afin d’obtenir une carte dite « dynamique >>, et • déterminer le caractère dynamique de l’objet à partir de ladite carte dynamique.• determining a plurality of optical flows between the first image and the second image from a plurality of points associated with at least one object represented in the first image, • generating a density map of flows from the determined optical flows, • determine the disparity of each of said points from the first image, from the second image and from an epipolar constraint, • generate a disparity map from the determined disparities, • superimpose the flow density map and the disparity in order to obtain a so-called "dynamic" map, and • determine the dynamic nature of the object from said dynamic map.
De préférence, le calculateur est configuré pour filtrer la carte de disparité.Preferably, the computer is configured to filter the disparity map.
Avantageusement, la carte de densité de flots est une carte binaire.Advantageously, the flow density map is a bit map.
Avantageusement encore, la carte de disparité est une carte binaire.Advantageously still, the disparity card is a binary card.
L’invention concerne enfin un véhicule automobile comprenant un système monoscopique pour la détection d’un objet dynamique à partir d’une séquence d’images, ledit système comprenant une unique caméra vidéo, configurée pour générer une séquence d’images de l’environnement du véhicule, et un calculateur tel que présenté précédemment.The invention finally relates to a motor vehicle comprising a monoscopic system for detecting a dynamic object from a sequence of images, said system comprising a single video camera, configured to generate a sequence of images of the environment of the vehicle, and a computer as presented above.
- La figure 1 est une vue de dessus d'un véhicule automobile équipé d'un système d'aide à la conduite selon l'invention, respectivement à un instant t (partie gauche de la figure) et à un instant t-1 (partie droite de la figure).FIG. 1 is a top view of a motor vehicle equipped with a driving assistance system according to the invention, respectively at an instant t (left part of the figure) and at an instant t-1 ( right part of the figure).
- La figure 2 est un logigramme représentant un mode de réalisation du procédé selon invention.- Figure 2 is a flowchart showing an embodiment of the method according to the invention.
- La figure 3 est un schéma illustrant une contrainte épipolaire relative à une rotation et une translation entre deux images.- Figure 3 is a diagram illustrating an epipolar constraint relating to a rotation and a translation between two images.
- La figure 4 représente la caméra, avec son centre optique et son plan image à l’instant t-1 et à l’instant t de la figure 1, avant et après alignement des plans images.- Figure 4 shows the camera, with its optical center and its image plane at time t-1 and at time t in Figure 1, before and after alignment of the image planes.
- La figure 5 représente un exemple d’un environnement d’un véhicule comprenant un objet dynamique et des objets statiques à deux instants consécutifs.- Figure 5 shows an example of a vehicle environment comprising a dynamic object and static objects at two consecutive times.
L’invention est destinée à être mise en œuvre dans un véhicule automobile comprenant un système de caméra monoscopique. De préférence, le véhicule est un véhicule automobile mais il va de soi que l’invention s’applique indifféremment à tout véhicule. Le système selon l’invention permet la détection d’un objet dynamique dans l’environnement du véhicule à partir d’une séquence d’images capturées par ledit système.The invention is intended to be implemented in a motor vehicle comprising a monoscopic camera system. Preferably, the vehicle is a motor vehicle, but it goes without saying that the invention applies equally to any vehicle. The system according to the invention allows the detection of a dynamic object in the environment of the vehicle from a sequence of images captured by said system.
Le système est dit monoscopique car il comprend, en référence à la figure 1, une unique caméra 1 vidéo, par exemple, montée au niveau supérieur du pare-brise 2 avant du véhicule. Il s’agit avantageusement d’une caméra 1 fonctionnant à une cadence fixe, captant par exemple seize images par seconde, sans toutefois que cela ne soit limitatif de la portée de la présente invention.The system is said to be monoscopic because it comprises, with reference to FIG. 1, a single video camera 1, for example, mounted on the upper level of the windshield 2 before the vehicle. It is advantageously a camera 1 operating at a fixed rate, for example capturing sixteen images per second, without however limiting the scope of the present invention.
Est également représenté à la figure 1 un repère OXYZ intrinsèque de la caméra 1, respectivement à un instant t (figure 1, dessin de gauche) et à un instant t-1 (figure 1, dessin de droite). Dans ce repère, O désigne le centre optique de la caméra 1 et Z désigne l'axe optique de celle-ci. Ce repère n'est lié qu'à la caméra 1. Le repère de la caméra 1 peut se confondre avec un repère du véhicule dans lequel l'axe Z correspond à l’axe de roulis (axe longitudinal) du véhicule, l'axe X correspond à l’axe de tangage (ou axe transversal) du véhicule, l'axe Y correspond à l’axe de lacet du véhicule. En variante et de préférence, la caméra 1 est légèrement orientée vers la route, c’est-àdire que l’axe X de la caméra 1 et l’axe de tangage du véhicule sont confondus mais que ce n’est pas le cas de l’axe Z de la caméra 1 et de l’axe de lacet du véhicule, le repère de la caméra 1 ayant subi une légère rotation autour de l’axe de tangage (ou axe X), par exemple de 1 ° pour un véhicule léger jusqu’à 13 ° paar un poids lourd, selon la hauteur de la caméra 1 par rapport à la route et donc par rapport à la bande de roulement des pneus.Also shown in FIG. 1 is an intrinsic OXYZ coordinate system of the camera 1, respectively at an instant t (FIG. 1, drawing on the left) and at an instant t-1 (FIG. 1, drawing on the right). In this reference, O denotes the optical center of camera 1 and Z denotes the optical axis of the latter. This reference is only linked to camera 1. The reference of camera 1 can be confused with a reference of the vehicle in which the Z axis corresponds to the roll axis (longitudinal axis) of the vehicle, the axis X corresponds to the pitch axis (or transverse axis) of the vehicle, the Y axis corresponds to the yaw axis of the vehicle. As a variant and preferably, the camera 1 is slightly oriented towards the road, that is to say that the axis X of the camera 1 and the axis of pitch of the vehicle are combined but that this is not the case for the Z axis of the camera 1 and of the yaw axis of the vehicle, the reference mark of the camera 1 having undergone a slight rotation about the pitch axis (or X axis), for example by 1 ° for a vehicle light up to 13 ° per heavyweight, depending on the height of the camera 1 in relation to the road and therefore in relation to the tire tread.
Toujours en référence à la figure 1, le système comprend également un calculateur 100, par exemple de type Unité de Contrôle Electronique (« Electronic Control Unit >> ou ECU en langue anglaise). De manière remarquable, le système, notamment le calculateur 100, est configuré pour accomplir une pluralité de tâches. Plus précisément, la caméra 1 est configurée pour générer une séquence d’images de l’environnement du véhicule et pour transmettre cette séquence en temps réel au calculateur 100.Still with reference to FIG. 1, the system also includes a computer 100, for example of the Electronic Control Unit (ECU) type. Remarkably, the system, in particular the computer 100, is configured to perform a plurality of tasks. More specifically, the camera 1 is configured to generate a sequence of images of the environment of the vehicle and to transmit this sequence in real time to the computer 100.
Le calculateur 100 est configuré pour déterminer une pluralité de flots optiques entre une première image et une deuxième image, consécutive à la première image dans la séquence d’images générée et transmise par la caméra 1, à partir d’une pluralité de points associés à au moins un objet représenté dans la première image. La détermination des flots optiques peut être réalisée par exemple en mettant en œuvre l’algorithme de Lukas-Kanade ou toute autre méthode adaptée.The computer 100 is configured to determine a plurality of optical streams between a first image and a second image, consecutive to the first image in the sequence of images generated and transmitted by the camera 1, from a plurality of points associated with at least one object shown in the first image. The determination of the optical flows can be carried out for example by implementing the Lukas-Kanade algorithm or any other suitable method.
Le calculateur 100 est également configuré pour :The computer 100 is also configured for:
• déterminer la disparité de chacun desdits points à partir de la première image et de la deuxième image, • générer une carte de densité de flots à partir des flots optiques déterminés, • générer une carte de disparité à partir des disparités déterminées, • superposer ladite carte de densité de flots et ladite carte de disparité, et • déterminer le caractère dynamique de l’objet à partir de ladite superposition.• determine the disparity of each of said points from the first image and from the second image, • generate a density map of flows from the determined optical flows, • generate a disparity map from determined disparities, • superimpose said flow density map and said disparity map, and • determine the dynamic character of the object from said superposition.
Par le terme « disparité >>, on entend le décalage horizontal d’un même objet entre deux images.By the term "disparity" is meant the horizontal shift of the same object between two images.
L’invention va maintenant être décrite dans sa mise en œuvre en référence aux figures 1 à 4.The invention will now be described in its implementation with reference to Figures 1 to 4.
En référence à la figure 2, dans une étape E1, la caméra 1 génère une séquence d’images de l’environnement du véhicule, par exemple lorsque ledit véhicule est en mouvement, et transmet ladite séquence au calculateur 100 en temps réel.With reference to FIG. 2, in a step E1, the camera 1 generates a sequence of images of the environment of the vehicle, for example when said vehicle is in motion, and transmits said sequence to the computer 100 in real time.
Le calculateur 100 réalise les étapes suivantes E2 à E7 pour chaque couple de deux images consécutives dans la séquence d’images. Les étapes E2 à E7 sont décrites ci-après pour une première image et une deuxième image, consécutive à la première image dans la séquence d’images.The computer 100 performs the following steps E2 to E7 for each pair of two consecutive images in the sequence of images. The steps E2 to E7 are described below for a first image and a second image, consecutive to the first image in the sequence of images.
Tout d’abord, dans une étape E2, le calculateur 100 détermine une pluralité de flots optiques, entre la première image et la deuxième image, d’une pluralité de points associés à au moins un objet représenté dans la première image, cette pluralité de flots optiques constituant ainsi une « carte » de densité de flots optiques de manière connue en soi.First of all, in a step E2, the computer 100 determines a plurality of optical streams, between the first image and the second image, of a plurality of points associated with at least one object represented in the first image, this plurality of optical streams thus constituting a “map” of density of optical streams in a manner known per se.
Ensuite, dans une étape E3, le calculateur 100 génère une carte de densité de flots à partir des flots optiques déterminés. Une telle génération peut être réalisée en calculant une distribution des flots optiques par région, c’est-à-dire le nombre de flots optiques par le nombre de pixels de la région considérée. Par le terme « région », on entend un voisinage d’un point sur une image. Ce voisinage est de préférence carré et centré sur ledit point.Then, in a step E3, the computer 100 generates a flow density map from the determined optical flows. Such a generation can be carried out by calculating a distribution of the optical flows by region, that is to say the number of optical flows by the number of pixels of the region considered. By the term "region" is meant a neighborhood of a point on an image. This neighborhood is preferably square and centered on said point.
Dans une étape E4, le calculateur 100 détermine la disparité de chacun desdits points à partir de la première image et de la deuxième image. Pour rappel, la disparité mesure la différence de position des pixels représentant un même point dans deux images consécutives, définies en coordonnées polaires.In a step E4, the computer 100 determines the disparity of each of said points from the first image and from the second image. As a reminder, disparity measures the difference in position of pixels representing the same point in two consecutive images, defined in polar coordinates.
Un exemple préféré mais non-limitatif de calcul de disparité va maintenant être décrit. Dans cet exemple, le calculateur 100 réduit tout d’abord la distorsion de la première image et de la deuxième image puis détermine une contrainte épipolaire entre ladite première image et ladite deuxième image afin de les aligner, de les rectifier et d’en déduire leur disparité comme cela va maintenant être décrit.A preferred but nonlimiting example of disparity calculation will now be described. In this example, the computer 100 first of all reduces the distortion of the first image and the second image and then determines an epipolar constraint between said first image and said second image in order to align them, to correct them and to deduce their disparity as will now be described.
La réduction de la distorsion de la première image et de la deuxième image peut être réalisée par le calculateur 100 en utilisant des paramètres radiaux, tangentiels et prismatiques de manière connue en soi. En pratique, on notera que les images non distordues peuvent ne pas être générées, seuls les calculs étant alors effectués.The reduction of the distortion of the first image and of the second image can be carried out by the computer 100 by using radial, tangential and prismatic parameters in a manner known per se. In practice, it will be noted that the undistorted images may not be generated, only the calculations then being carried out.
Ensuite, le calculateur 100 procède au calcul d’une contrainte épipolaire entre la première image et la deuxième image, qui permet d’obtenir la translation et la rotation entre ladite première image et ladite deuxième image. Par les termes « contrainte épipolaire », on entend le modèle mathématique de géométrie dite « épipolaire », qui décrit les relations géométriques de différentes images d’un même objet vu de différents points d’observation. Dans ce but, de manière connue de l’homme du métier, un flux temporel est tout d’abord déterminé à partir de la première image et de la deuxième image, lequel flux permet d'établir une matrice fondamentale. Des données de calibration intrinsèque de la caméra 1 sont alors utilisées pour calculer une matrice essentielle, dont sont ensuite déduits une matrice de rotation et un multiple d’un vecteur de translation de la caméra 1 entre la première image et la deuxième image. L'utilisation de la vitesse du véhicule fournie par un odomètre (non représenté) embarqué dans ledit véhicule permet de déduire le vecteur de translation de la caméra 1 entre la première image et la deuxième image prises respectivement aux instants (t-1) et (t) comme illustré sur la figure 1. En d’autres termes, un changement de repère et d’unité lie la matrice fondamentale, laquelle a pour unité le pixel, et la matrice essentielle, qui a pour unité le mètre. Ce changement de repère fournit la matrice de rotation et le vecteur de translation de la caméra 1. A titre d’exemple, on a représenté à la figure 3 une contrainte épipolaire déterminée dans une première image (à droite sur la figure) d’un point A représenté dans une deuxième image (à gauche sur la figure). Connaissant la position du point A dans la deuxième image, on peut en déduire une droite 32 sur laquelle le point correspondant doit se trouver dans la première image. Dans le cas d’une scène routière, cette droite peut être limitée à un segment 34 compte tenu du déplacement longitudinal et de la distance minimale des objets.Next, the computer 100 proceeds to calculate an epipolar constraint between the first image and the second image, which makes it possible to obtain the translation and the rotation between said first image and said second image. By the terms "epipolar constraint" is meant the mathematical model of geometry known as "epipolar", which describes the geometric relationships of different images of the same object seen from different observation points. For this purpose, in a manner known to those skilled in the art, a time flow is first determined from the first image and from the second image, which flow makes it possible to establish a fundamental matrix. Intrinsic calibration data from camera 1 is then used to calculate an essential matrix, from which are then deduced a rotation matrix and a multiple of a translation vector of camera 1 between the first image and the second image. The use of the vehicle speed provided by an odometer (not shown) on board said vehicle makes it possible to deduce the translation vector of the camera 1 between the first image and the second image taken respectively at times (t-1) and ( t) as illustrated in FIG. 1. In other words, a change of coordinate system and of unity links the fundamental matrix, which has the pixel for unity, and the essential matrix, which has the meter for unity. This change of reference provides the rotation matrix and the translation vector of the camera 1. By way of example, FIG. 3 shows an epipolar constraint determined in a first image (on the right in the figure) of a point A represented in a second image (on the left in the figure). Knowing the position of point A in the second image, we can deduce a straight line 32 on which the corresponding point must be in the first image. In the case of a road scene, this straight line can be limited to a segment 34 taking into account the longitudinal displacement and the minimum distance of the objects.
Le calculateur 100 aligne ensuite la première image et la deuxième image (dont le distorsion a été réduite) sur l’axe Δ reliant les épipôles de la première image 7 et de la deuxième image 8. A titre d’exemple, on a représenté à la figure 4 une première image 7 générée par la caméra 1 à un premier instant et une deuxième image 8 générée par la caméra 1 à un deuxième instant, postérieur et consécutif audit premier instant. Le calculateur 100 transforme la première image 7 et la deuxième image 8 non distordues respectivement en une première image dite 7’ et en une deuxième image 8’, alignées selon l’axe Δ joignant les épipôles de la première image 7 et de la deuxième image 8.The computer 100 then aligns the first image and the second image (the distortion of which has been reduced) on the axis Δ connecting the epipoles of the first image 7 and the second image 8. By way of example, FIG. 4 a first image 7 generated by the camera 1 at a first instant and a second image 8 generated by the camera 1 at a second instant, posterior and consecutive to said first instant. The computer 100 transforms the first image 7 and the second undistorted image 8 respectively into a first image called 7 'and into a second image 8', aligned along the axis Δ joining the epipoles of the first image 7 and the second image 8.
Ensuite, le calculateur 100 génère une première image et une deuxième image dites « rectifiées >> (non illustrées) qui correspondent respectivement à la transformation en coordonnées polaires de la première image alignée 7’ et de la deuxième image alignée 8’ (toutes deux préalablement établies en coordonnées cartésiennes). Cette opération a pour but de transformer tous les segments épipolaires (partant de l’épipôle, comme illustré sur la figure 3 et allant jusqu'au bord de l’image avec un angle donné dans l’image) en lignes. Plus précisément, la résolution verticale de l’image polaire définit la résolution angulaire utilisée pour extraire les segments épipolaires de l’image cartésienne. Une telle transformation étant connue en soi, elle ne sera pas davantage détaillée ici.Then, the computer 100 generates a first image and a second image called "rectified" (not illustrated) which correspond respectively to the transformation into polar coordinates of the first aligned image 7 'and of the second aligned image 8' (both previously established in Cartesian coordinates). The purpose of this operation is to transform all the epipolar segments (starting from the epipole, as illustrated in Figure 3 and going to the edge of the image with a given angle in the image) into lines. More specifically, the vertical resolution of the polar image defines the angular resolution used to extract the epipolar segments from the Cartesian image. As such a transformation is known per se, it will not be further detailed here.
Ensuite, le calculateur 100 recherche la correspondance entre les points de la première image rectifiée et de la deuxième image rectifiée. Cette opération consiste à rechercher le minimum d’au moins une fonction représentative d’une corrélation (par exemple la somme, sur le voisinage du point considéré, des différences au carré) entre les intensités de pixels du point A (figure 3) de la deuxième image situé sur le segment épipolaire 32, de préférence limité par un filtre de disparité, de manière connue en soi.Then, the computer 100 searches for the correspondence between the points of the first rectified image and of the second rectified image. This operation consists in finding the minimum of at least one function representative of a correlation (for example the sum, in the vicinity of the point considered, of the differences squared) between the pixel intensities of point A (FIG. 3) of the second image located on the epipolar segment 32, preferably limited by a disparity filter, in a manner known per se.
Chaque point de la première image rectifiée ayant une abscisse en coordonnées polaires et pour lequel aucun flot optique n’est disponible peut être associé à un point image ayant une abscisse dans la deuxième image 8’ rectifiée (c’est-à-dire en coordonnées polaires), la disparité polaire correspondant alors à la soustraction de ces deux abscisses en coordonnées polaires.Each point of the first rectified image having an abscissa in polar coordinates and for which no optical flow is available can be associated with an image point having an abscissa in the second rectified image 8 ′ (that is to say in coordinates polar), the polar disparity then corresponding to the subtraction of these two abscissas in polar coordinates.
Dans une étape E5, le calculateur 100 génère une carte de disparité regroupant les disparités déterminées pour les points de la deuxième image. Cette carte de disparité est de préférence filtrée à l’aide d’un opérateur morphologique (de manière connue en soi).In a step E5, the computer 100 generates a disparity map grouping together the disparities determined for the points of the second image. This disparity map is preferably filtered using a morphological operator (in a manner known per se).
Ensuite, dans une étape E6, le calculateur 100 superpose la carte de densité de flots et la carte de disparité afin d’obtenir une carte dite « dynamique » ou « masque ». Ce masque est la combinaison de la carte de densité de flots optiques et des absences de disparités sur la carte de disparité. Une absence de disparité d’un point du masque correspond au cas où il n’y a pas de correspondance dudit point avec un point de la première image dans la deuxième image, c’est-à-dire qu’il n’est pas possible de calculer une disparité.Then, in a step E6, the computer 100 superimposes the flow density map and the disparity map in order to obtain a so-called "dynamic" or "mask" map. This mask is the combination of the optical flow density map and the absence of disparities on the disparity map. An absence of disparity of a point of the mask corresponds to the case where there is no correspondence of said point with a point of the first image in the second image, that is to say that it is not possible to calculate a disparity.
Le masque permet de mettre en évidence trois types de zones :The mask allows to highlight three types of zones:
• les zones d’objet dynamique caractérisées par une absence de disparité et une densité de flot importante, • les zones d’incertitude caractérisées par une absence de disparité et une absence de densité de flot, • les zones statiques caractérisées par l’existence de disparité.• the zones of dynamic object characterized by an absence of disparity and a high density of flow, • the zones of uncertainty characterized by an absence of disparity and an absence of density of flow, • the static zones characterized by the existence of disparity.
La distribution des flots optiques par région permet de déterminer les zones de l’image possédant plus de flots optiques que les autres, de telles zones étant plus pertinentes à exploiter pour les calculs de disparité, notamment afin d’estimer si l’absence de disparité provient d’un manque de texture (image) ou du fait que la contrainte épipolaire ne soit pas respectée, ce qui traduit la présence d’un objet dynamique.The distribution of the optical streams by region makes it possible to determine the areas of the image having more optical streams than the others, such areas being more relevant to use for the disparity calculations, in particular in order to estimate whether the absence of disparity comes from a lack of texture (image) or from the fact that the epipolar constraint is not respected, which translates the presence of a dynamic object.
On a représenté à la figure 5 une représentation schématique d’un objet dynamique OD se déplaçant entre un instant T et un instant T+1 consécutif. Dans cet exemple, l’objet dynamique OD se trouve à deux endroits distincts sur la première image et sur la deuxième image capturées par la caméra 1 tandis que les objets statiques OS1, OS2, OS3, OS4 se trouvent au même emplacement.FIG. 5 shows a schematic representation of a dynamic object OD moving between an instant T and a consecutive instant T + 1. In this example, the dynamic object OD is in two separate places on the first image and on the second image captured by camera 1 while the static objects OS1, OS2, OS3, OS4 are in the same location.
Le calculateur 100 détecte que l’objet est dynamique à partir de la carte dynamique lorsque ledit objet est effectivement en mouvement (étape E7). Plus précisément, lorsque le masque déterminé à l’étape E6 présente une ou plusieurs zones d’objet dynamique ou d’incertitude (c’est-à-dire sans disparité), le calculateur 100 5 détermine, pour chaque zone d’objet dynamique ou d’incertitude détectée, le nombre de flots optiques présents dans ladite zone.The computer 100 detects that the object is dynamic from the dynamic map when said object is actually in motion (step E7). More precisely, when the mask determined in step E6 has one or more zones of dynamic object or of uncertainty (that is to say without disparity), the computer 100 5 determines, for each zone of dynamic object or of detected uncertainty, the number of optical streams present in said area.
Si la densité de flots est suffisante, c’est-à-dire supérieure à un seuil prédéterminé, par exemple 0,01 (c’est-à-dire un flot pour un voisinage de 100 pixels), alors le calculateur 100 en déduit que l’objet présent dans la zone analysée est 10 effectivement un objet dynamique. Notamment, comme le contour de la zone épouse celui de l’objet, la forme de ce contour peut donner une indication sur le type d’objet détecté (être humain, véhicule, etc.).If the density of flows is sufficient, that is to say greater than a predetermined threshold, for example 0.01 (that is to say a flow for a neighborhood of 100 pixels), then the computer 100 deduces therefrom that the object present in the analyzed area is effectively a dynamic object. In particular, as the outline of the area matches that of the object, the shape of this outline can give an indication of the type of object detected (human being, vehicle, etc.).
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1851317A FR3078183B1 (en) | 2018-02-16 | 2018-02-16 | METHOD FOR DETECTION OF AN OBJECT FROM A CAMERA ON BOARD IN A MOTOR VEHICLE |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1851317A FR3078183B1 (en) | 2018-02-16 | 2018-02-16 | METHOD FOR DETECTION OF AN OBJECT FROM A CAMERA ON BOARD IN A MOTOR VEHICLE |
FR1851317 | 2018-02-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3078183A1 true FR3078183A1 (en) | 2019-08-23 |
FR3078183B1 FR3078183B1 (en) | 2020-01-17 |
Family
ID=63407272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1851317A Active FR3078183B1 (en) | 2018-02-16 | 2018-02-16 | METHOD FOR DETECTION OF AN OBJECT FROM A CAMERA ON BOARD IN A MOTOR VEHICLE |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3078183B1 (en) |
-
2018
- 2018-02-16 FR FR1851317A patent/FR3078183B1/en active Active
Non-Patent Citations (5)
Title |
---|
MENZE MORITZ ET AL: "Object scene flow for autonomous vehicles", 2015 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 7 June 2015 (2015-06-07), pages 3061 - 3070, XP032793754, DOI: 10.1109/CVPR.2015.7298925 * |
NEIL BIRBECK ET AL: "Depth and Scene Flow from a Single Moving Camera", PATTERN RECOGNITION LETTERS., 17 March 2010 (2010-03-17), NL, pages 1 - 8, XP055535065, ISSN: 0167-8655 * |
VEDULA S ET AL: "Three-dimensional scene flow", COMPUTER VISION, 1999. THE PROCEEDINGS OF THE SEVENTH IEEE INTERNATION AL CONFERENCE ON KERKYRA, GREECE 20-27 SEPT. 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, vol. 2, 20 September 1999 (1999-09-20), pages 722 - 729, XP010350553, ISBN: 978-0-7695-0164-2 * |
WEDEL ANDREAS ET AL: "Detection and Segmentation of Independently Moving Objects from Dense Scene Flow", 24 August 2009, INTERNATIONAL CONFERENCE ON SIMULATION, MODELING, AND PROGRAMMING FOR AUTONOMOUS ROBOTS,SIMPAR 2010; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 14 - 27, ISBN: 978-3-642-17318-9, XP047390112 * |
YAMAGUCHI KOICHIRO ET AL: "Robust Monocular Epipolar Flow Estimation", IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION. PROCEEDINGS, IEEE COMPUTER SOCIETY, US, 23 June 2013 (2013-06-23), pages 1862 - 1869, XP032493093, ISSN: 1063-6919, [retrieved on 20131002], DOI: 10.1109/CVPR.2013.243 * |
Also Published As
Publication number | Publication date |
---|---|
FR3078183B1 (en) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7485612B2 (en) | Multispectral systems for providing pre-crash alerts | |
WO2018058356A1 (en) | Method and system for vehicle anti-collision pre-warning based on binocular stereo vision | |
CN107527006B (en) | Method for checking a motor vehicle for medium loss, and motor vehicle and system for carrying out such a method | |
EP1999484B1 (en) | Obstacle detection | |
FR2947657A1 (en) | METHOD FOR DETECTING AN OBSTACLE FOR A MOTOR VEHICLE | |
KR101780048B1 (en) | Moving Object Detection Method in dynamic scene using monocular camera | |
FR3039812A1 (en) | DEVICE AND METHOD FOR DETECTING FREE PARKING SPACE FOR A MOTOR VEHICLE. | |
WO2010133785A1 (en) | Method and device for extending a visibility area | |
CN108292441B (en) | Vision system for a motor vehicle and method for controlling a vision system | |
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 | |
FR3054673B1 (en) | MERGING DETECTION DATA AND FOLLOWING OBJECTS FOR MOTOR VEHICLE | |
FR3052581B1 (en) | METHOD FOR MAKING A DEPTH CARD FROM SUCCESSIVE IMAGES OF A SINGLE CAMERA (MONO) EMBARKED IN A MOTOR VEHICLE | |
FR3078183A1 (en) | METHOD FOR DETECTING AN OBJECT FROM AN INBOARD CAMERA IN A MOTOR VEHICLE | |
FR3053554A1 (en) | METHOD FOR RAPID CALIBRATION OF A MOTOR VEHICLE CAMERA | |
FR3083352A1 (en) | METHOD AND DEVICE FOR FAST DETECTION OF REPETITIVE STRUCTURES IN THE IMAGE OF A ROAD SCENE | |
FR2938228A1 (en) | Method for measuring distance between obstacle and motor vehicle, involves calculating pitch of camera by coinciding two of images and by retaining position parameters of camera, and determining distance from calculated pitch | |
WO2017216465A1 (en) | Method and device for processing images acquired by a camera of a motor vehicle | |
FR3069689B1 (en) | METHOD FOR ESTIMATING THE MOVEMENT OF A POINT IN AN IMAGE SEQUENCE | |
FR3054355B1 (en) | METHOD AND SYSTEM FOR DETERMINING A FREE SPACE LOCATED IN AN ENVIRONMENT AREA OF A MOTOR VEHICLE | |
EP2180426A1 (en) | Method for detecting a target object for an automobile | |
FR3036498A1 (en) | METHOD AND SYSTEM FOR ONLINE LOCATION OF A MOTOR VEHICLE | |
FR3064785A1 (en) | METHOD AND DEVICE FOR PROCESSING IMAGES ACQUIRED BY A CAMERA OF A MOTOR VEHICLE | |
FR3034555A1 (en) | METHOD FOR DETERMINING THE DIRECTION OF THE MOVEMENT OF A MOTOR VEHICLE | |
FR3127320A1 (en) | Method for determining the position of an object relative to a road marking line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20190823 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
TQ | Partial transmission of property |
Owner name: CONTINENTAL AUTONOMOUS MOBILITY GERMANY GMBH, DE Effective date: 20230424 Owner name: CONTINENTAL AUTOMOTIVE FRANCE, FR Effective date: 20230424 |
|
PLFP | Fee payment |
Year of fee payment: 7 |