Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PRODUCING A DEPTH MAP FROM A SEQUENCE OF IMAGES FROM A SINGLE (MONO-) CAMERA INSTALLED IN A MOTOR VEHICLE
Document Type and Number:
WIPO Patent Application WO/2017/216473
Kind Code:
A1
Abstract:
The invention concerns a method for producing a depth map from images captured by a single camera installed in a motor vehicle, comprising the following steps: • calculation (12) of the rotation and translation between a previous image (7) captured by the camera at time t-1 and a current image (8) captured by the camera at time t; • relative alignment (14) of the two images parallel to a reference line (Δ) passing through the optical centre (OM) of the camera at time t-1 and through the optical centre (Ot) of the camera at time t; and relative roll alignment about the reference line (Δ); • transformation (16) of the aligned previous image (7'), established in Cartesian coordinates, into a rectified previous image (7") established in polar coordinates with, as the centre, the epipolar point of the aligned previous image (7'), similar transformation of the aligned current image (8') into a rectified current image (8"); • search for a match between image points of the rectified previous image (7") and the rectified current image (8") and calculation of a depth (D) of an observed object point corresponding to the image points matched in this way.

Inventors:
GARCIA LUCIEN (FR)
Application Number:
PCT/FR2017/051520
Publication Date:
December 21, 2017
Filing Date:
June 13, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CONTINENTAL AUTOMOTIVE FRANCE (FR)
CONTINENTAL AUTOMOTIVE GMBH (DE)
International Classes:
G06T7/579
Domestic Patent References:
WO2009043923A12009-04-09
Foreign References:
US20140037136A12014-02-06
US20080273751A12008-11-06
Other References:
LIONEL MARCE ET AL: "DETERMINATION D'UNE CARTE DE PROFONDEUR A PARTIR D'UNE SEQUENCE D'IMAGES", ONZIEME COLLOQUE GRETSI NICE DU 1 AU 5 JUIN 1987,, 1 June 1987 (1987-06-01), pages 571 - 574, XP001375468
Attorney, Agent or Firm:
CONTINENTAL AUTOMOTIVE FRANCE (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de réalisation d'une carte de profondeurs (D) à partir d'une première image (7) et d'une deuxième image (8) captées par une caméra (1 ) embarquée dans un véhicule automobile, comprenant les étapes suivantes :

• obtention d'une matrice rotation (R) et d'un vecteur translation (T) entre les première (7) et deuxième images (8), et alignement relatif des deux images de façon à obtenir une première image alignée (7') et une deuxième image alignée (8') ;

• recherche de correspondance de points image entre la première image alignée (7') et la deuxième image alignée (8') ;

· pour chaque paire de points images en correspondance, calcul d'une profondeur d'un point objet observé correspondant, à partir d'au moins une donnée relative à la position sur la première image alignée (7') du premier point image et d'au moins une donnée relative à la position du deuxième point image correspondant sur la deuxième image alignée (8'), les profondeurs calculées permettant d'établir une carte des profondeurs d'une scène observée ;

• la première (7) et la deuxième image (8) sont captées par une caméra unique (1 ) à des instants différents, la deuxième image étant une image actuelle (8) captée à un instant t, la première image étant une image précédente (7) captée à un instant t-1 ,

· le vecteur translation (T) est le vecteur reliant le centre optique de la caméra unique (1 ) à l'instant t-1 et le centre optique de la caméra unique (1 ) à l'instant t ; le procédé étant caractérisé en ce que :

• l'alignement relatif (14) des première (7) et deuxième images (8) se fait, d'une part parallèlement à une ligne de référence (Δ) correspondant à une direction globale de déplacement du véhicule passant par un centre optique (Ot-i) de la caméra unique (1 ) à l'instant t-1 et par le centre optique (Ot) de la caméra unique (1 ) à l'instant t, et d'autre part en roulis autour de cette ligne de référence (Δ) ;

• le procédé comprend une étape de transformation (16) de l'image précédente alignée (7') -respectivement l'image actuelle alignée (8')-, établie en coordonnées cartésiennes, en une image précédente rectifiée (7") - respectivement une image actuelle rectifiée (8"), établie en coordonnées polaires avec pour centre le point épipôle de l'image précédente alignée (7') - respectivement de l'image actuelle alignée (8')-,

• la recherche de correspondance de points images (18) et le calcul de profondeurs (D) s'effectuent sur les images précédente (7") et actuelle rectifiées (8"), c'est-à-dire en coordonnées polaires.

2. Procédé selon la revendication 1 , caractérisé en ce que la matrice rotation (R) et le vecteur translation (T) entre l'image précédente (7) et l'image actuelle (8) sont obtenus (12) par application des principes de la géométrie épipolaire à une pluralité de couples de points distinctifs correspondants pour lequel un flux temporel a pu être préalablement obtenu.

3. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend, pour un premier point image Pb de l'image précédente rectifiée (7"), une étape de détermination d'une zone de recherche linéaire sur l'image actuelle rectifiée (8") par application d'un filtre de disparité prédéterminé, lequel filtre de disparité est compris entre une disparité minimale DISPmin donnée par une distance maximale Dmax, et une disparité maximale DISPmax donnée par une distance minimale Dmin, lesquelles distances minimale Dmin et maximale Dmax sont choisies en fonction de l'emplacement du premier point image sur l'image précédente rectifiée (7") et/ou selon une fonction d'aide à la conduite à mettre en œuvre et/ou sont déduites d'une profondeur calculée à partir d'une paire d'images antérieures.

4. Procédé selon la revendication 3, caractérisé en ce que, pour la détermination du filtre de disparité, on utilise les équations :

DISPmin = b x T ÷ Dmax

DISPmax = b x T ÷ Dmin

où b désigne la distance sur l'image précédente alignée (7'), entre le premier point image et la ligne de référence (Δ), c'est-à-dire l'abscisse du premier point image Pb sur l'image précédente rectifiée (7"),

et T désigne la norme du vecteur translation entre l'image précédente (7) et l'image actuelle (8), qui correspond à la distance parcourue par le véhicule à vol d'oiseau entre les instants t-1 et t.

5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'il comprend, pour chaque premier point image Pb de l'image précédente rectifiée (7"), une recherche sur la zone de recherche linéaire précédemment déterminée, d'un minimum d'au moins une fonction représentative d'une différence entre des intensités de pixel la et lb, où la désigne l'intensité de pixel d'un point quelconque Pa de la zone de recherche linéaire et de son voisinage sur l'image actuelle rectifiée (8") et lb désigne l'intensité de pixel du premier point image Pb et de son voisinage sur l'image précédente (7) ou sur l'image précédente rectifiée (7").

6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'établissement de la carte des profondeurs (D) comprend :

• l'établissement d'une carte des disparités polaires représentant la variable (a - b) en coordonnées polaires,

où a désigne la distance sur l'image actuelle alignée (8'), entre le deuxième point image et la ligne de référence (Δ), c'est-à-dire l'abscisse du deuxième point image Pa sur l'image actuelle rectifiée (8"), et b désigne la distance sur l'image précédente alignée (7"), entre le premier point image et la ligne de référence (Δ), c'est-à-dire l'abscisse du premier point image Pb sur l'image actuelle rectifiée (8"), les points Pa et Pb étant des points en correspondance.

7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend l'établissement d'une carte virtuelle des profondeurs (22) représentant la profondeur (D) en coordonnées polaires, et la transformation (23) en coordonnées cartésiennes de cette carte virtuelle des profondeurs établie en coordonnées polaires.

8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, dans l'étape d'établissement de la carte des profondeurs, la profondeur (D) est donnée par l'équation D= bxT÷(a-b),

où a désigne une distance sur l'image actuelle alignée (8'), entre un deuxième point image et la ligne de référence Δ, b désigne une distance sur l'image précédente alignée (7'), entre un premier point image et la ligne de référence Δ, les premier et deuxième points images étant des points en correspondance, et T désigne la norme du vecteur translation entre les première et deuxième images.

9. Système d'aide à la conduite permettant d'établir une carte des profondeurs (d) d'une scène observée, le système comprenant d'une part une caméra adaptée pour être embarquée dans un véhicule automobile pour la capture d'images d'une scène extérieure et d'autre part une unité de traitement informatique (100) pour le traitement des images captées par la caméra aux fins d'évaluation d'une profondeur entre le véhicule et un point objet observé, caractérisé en ce qu'il comprend une unique caméra (1 ) et en ce que l'unité de traitement informatique (100) est configurée pour exécuter un procédé selon l'une quelconque des revendications précédentes.

Description:
Procédé de réalisation d'une carte de profondeurs à partir d'images successives d'une caméra unique (mono) embarquée dans un véhicule automobile.

Il est connu d'équiper les véhicules automobiles d'une ou plusieurs caméras pointées vers l'avant du véhicule aux fins d'offrir diverses fonctions d'aide à la conduite. Les images captées par ces caméras peuvent être ainsi analysées pour détecter, par exemple, le franchissement d'une ligne blanche par le véhicule ou détecter divers obstacles (piéton, véhicule arrêté sur le bas-côté, etc.) ou encore pour évaluer la distance avec le véhicule précédent et, le cas échéant, émettre des alarmes à destination du conducteur, ralentir (en cas de conduite avec un régulateur de vitesse), voire déclencher un freinage d'urgence, piloter la direction ou encore piloter les suspensions du véhicule en fonction du profil de la route. Une donnée importante tirée des images captées par les caméras embarquées est la distance (ou profondeur) entre le véhicule et un objet observé.

Pour cela, il est connu d'utiliser deux caméras (système stéréoscopique) écartées l'une de l'autre et dont les axes optiques sont orthogonaux à la droite reliant les centres optiques des deux caméras (cette droite peut être un axe transversal du véhicule) et de mettre en application les règles de la géométrie épipolaire après rectification planaire (épipôles à l'infini).

La géométrie épipolaire est un modèle mathématique de géométrie, qui décrit les relations géométriques de différentes images du même objet, prises simultanément de différents points d'observation. La géométrie épipolaire permet de décrire les relations entre les pixels en correspondance - c'est-à-dire ceux formés sur chacune des images par un seul et même point de l'objet observé.

Le plan qui contient les deux centres de projection et le point objet s'appelle plan épipolaire. Celui-ci coupe chacune des deux images selon une droite, la droite épipolaire. Ainsi, pour un point donné sur une image, le point en correspondance se trouve sur la droite épipolaire de l'autre image. Cette relation, appelée contrainte épipolaire permet, lorsque l'on recherche dans une deuxième image le « deuxième » point correspondant à un « premier » point d'une première image, de limiter la recherche à une droite (la droite épipolaire).

Il est connu d'utiliser la contrainte épipolaire pour établir les relations entre deux images captées au même instant par deux caméras indépendantes (stéréo) observant la même scène, afin de restituer l'information tridimensionnelle à partir d'images (2D). En d'autres termes, il est connu d'utiliser la parallaxe entre deux caméras pour la génération d'images en trois dimensions ou pour le calcul de profondeur entre un objet et un observateur. Dans le secteur automobile, l'analyse épipolaire de deux images stéréo d'une scène à l'avant d'un véhicule permet, par exemple, de déterminer la distance entre le véhicule et un obstacle présent dans ladite scène. Les deux caméras font alors partie d'un système global appelé système d'aide à la conduite.

Un inconvénient majeur de cette technique connue est qu'elle nécessite l'utilisation de deux caméras, qui grèvent à la fois le prix de revient et la masse du véhicule, et dont l'encombrement pose des problèmes d'intégration. Elle présente en revanche l'avantage de permettre une évaluation de la profondeur sans que le véhicule soit en mouvement et de fournir des résultats très précis : la profondeur est alors calculée au cm près.

Dans toute la description, on entend par « points images en correspondance » ou par « points images correspondants », un premier point d'une première image d'une scène observée et un deuxième point d'une deuxième image de cette même scène, les premier et deuxième points étant les images d'un même point objet de la scène observée.

II est aussi connu, tant en stéréo (c'est-à-dire dans un système utilisant deux caméras qui prennent et comparent des images simultanées d'une même scène) qu'en mono (c'est-à-dire dans un système n'utilisant qu'une seule caméra qui prend et compare des images successives d'une même scène), d'établir des correspondances éparses entre des points images distinctifs de deux images. On parle alors de flux optiques spatiaux pour un système stéréo, et de flux optiques temporels dans le cas d'un système mono. L'inconvénient des techniques de flux connues est que ces flux optiques ne peuvent être obtenus que pour certains points, qui sont distinctifs (points à fort contraste). La mise en correspondance de certains points images non distinctifs peut être très difficile, notamment lorsque les points objets correspondants sont situés sur une droite ou un plan uniforme et uniformément éclairé. Ainsi par exemple, il est malaisé voire impossible de repérer deux points en correspondance qui correspondent à un point objet quelconque situé sur la tranche uniforme du tablier d'un pont enjambant la route et sous lequel le véhicule s'apprête à passer (non unicité du point et de son voisinage).

Pour certains objets, il est ainsi très difficile d'obtenir un flux optique temporel et la carte de flux générée pour une scène contenant de tels objets est très clairsemée. Les techniques connues de flux optiques ne permettent pas d'obtenir une carte de flux complète. Généralement, rarement plus de 2 % de la scène observée est couverte par une carte de flux dans un système mono. Ces techniques ne peuvent donc pas être utilisées dans une approche globale, c'est-à-dire pour établir une carte de flux ou une carte de profondeur complète. Elles servent essentiellement à faire du traçage d'objet, c'est-à-dire à suivre un objet dont les points images sont distinctifs. D'autres solutions pour obtenir la distance entre le véhicule et un obstacle ont été proposées, comme l'intégration d'un radar dans le pare-choc du véhicule. Un équipement supplémentaire est alors nécessaire, qui entraîne un surcoût, une augmentation de masse et la nécessité d'ajouter au moins deux briques de programmation au calculateur principal du véhicule.

L'invention vise à pallier ces inconvénients en proposant un procédé de réalisation d'une carte de profondeurs aussi fiable et précis que les procédé connus, pouvant être mis en œuvre dans un système d'aide à la conduite moins onéreux, moins encombrant et plus léger. Le procédé selon l'invention répond en outre à une approche globale en ce qu'il permet d'obtenir une carte de profondeurs complète, y compris lorsque la scène observée comprend des objets à faible contraste pour lesquels l'obtention de flux optiques est impossible.

Un autre objectif de l'invention est de fournir un procédé nécessitant peu de temps de calcul et peu de ressources informatiques pour son exécution.

A cette fin, l'invention propose un procédé de réalisation d'une carte de profondeurs à partir d'une première image et d'une deuxième image captées par une caméra embarquée dans un véhicule automobile, comprenant les étapes suivantes :

• obtention d'une matrice rotation et d'un vecteur translation entre les deux images, et alignement relatif des deux images de façon à obtenir une première image alignée et une deuxième image alignée ;

• recherche de correspondance de points images entre la première image alignée et la deuxième image alignée ;

• pour chaque paire de points images en correspondance, calcul d'une profondeur du point objet observé correspondant (c'est-à-dire du point objet observé dont les points en correspondance considérés sont les images) à partir d'au moins une donnée relative à la position sur la première image alignée du premier point image et d'au moins une donnée relative à la position du deuxième point image correspondant sur la deuxième image alignée.

Le procédé selon l'invention est remarquable en ce que :

• la première et la deuxième image sont captées par une caméra unique à des instants différents, la deuxième image étant une image actuelle captée à un instant t, la première image étant une image précédente captée à un instant t-1 , la première image alignée étant par conséquent une image précédente alignée et la deuxième image alignée étant une image actuelle alignée ;

• le vecteur translation est le vecteur reliant le centre optique de la caméra unique à l'instant t-1 et le centre optique de la caméra unique à l'instant t ; en conséquence, la norme du vecteur translation correspond à la distance parcourue à vol d'oiseau par le véhicule entre les deux images c'est-à-dire entre les instants t et t-1 ; • l'alignement relatif des deux images se fait parallèlement à une ligne de référence Δ correspondant à une direction globale de déplacement du véhicule passant par le centre optique de la caméra unique à l'instant t-1 et par le centre optique de la caméra unique à l'instant t (autrement dit, la ligne de référence Δ est la direction du vecteur translation) ; on entend par « aligner une image parallèlement à la ligne de référence » le fait de modifier de façon informatique cette image de façon à ce que l'axe optique de l'image modifiée soit parallèle à la ligne de référence ; l'alignement relatif des deux images comprend également un alignement en roulis des deux images c'est-à-dire une modification des images en rotation autour de la ligne de référence (ou de leurs axes optiques préalablement alignés sur cette ligne de référence) de façon à supprimer un éventuel décalage angulaire entre les deux images autour de cette ligne de référence ;

• le procédé comprend une étape de transformation de l'image précédente alignée, établie en coordonnées cartésiennes, en une image précédente rectifiée, établie en coordonnées polaires avec pour centre le point épipôle de l'image précédente alignée (c'est-à-dire l'intersection entre l'image alignée à l'instant t-1 et la ligne de référence Δ) ; il comprend de même une étape de transformation de l'image actuelle alignée, établie en coordonnées cartésiennes, en une image actuelle rectifiée, établie en coordonnées polaires avec pour centre le point épipôle de l'image actuelle alignée (c'est-à-dire l'intersection entre l'image alignée à l'instant t et la ligne de référence Δ) ;

• la recherche de correspondance de points images et le calcul de profondeur s'effectuent sur les images actuelle et précédente rectifiées, c'est-à-dire en coordonnées polaires.

L'invention s'étend à un système d'aide à la conduite comprenant d'une part une caméra adaptée pour être embarquée dans un véhicule automobile pour la capture d'images d'une scène extérieure, par exemple à l'avant du véhicule, et d'autre part une unité informatique de traitement pour le traitement des images captées par la caméra aux fins d'évaluation d'une distance entre le véhicule et un point objet observé. Le système selon l'invention est remarquable en ce qu'il comprend une unique caméra et en ce que l'unité de traitement est configurée pour exécuter un procédé selon l'invention, tel que défini ci-avant et tel que précisé ci-après.

L'idée de base ayant présidé à la conception de l'invention est donc d'appliquer selon un procédé défini la contrainte épipolaire à deux images captées par une même caméra embarquée (mono) à des instants différents, alors que les systèmes stéréoscopiques appliquent cette contrainte sur des images prises simultanément depuis des points de vue latéralement translatés à l'aide d'une rectification planaire avec des épipôles à l'infini et que les systèmes mono connus ne fonctionnent qu'avec des techniques de flux (et ne sont donc pas capables de fournir des cartes de profondeurs complètes). L'utilisation d'une seule caméra permet de réduire le prix de revient du système d'aide à la conduite et du véhicule qui en est équipé et de faciliter l'intégration dudit système dans le véhicule.

A noter que dans les procédés antérieurs utilisant des techniques de flux (en mono), seuls les points distinctifs sont mis en correspondance et l'étape de recherche de correspondance entre points images est limitée à la recherche de flux, alors que dans l'invention, cette étape utilise la rotation et la translation préalablement obtenues pour rechercher des correspondances entre points images non distinctifs.

Une autre différence entre l'invention et l'état de la technique intervient dans l'étape d'alignement relatif des première et deuxième images. Dans les procédés connus utilisant un système stéréoscopique, l'alignement relatif des deux images consiste à corriger, d'une part la direction de l'axe optique de chacune des caméras de façon à ce que celui-ci soit orthogonal à la direction de translation qui est la droite reliant les deux caméras et d'autre part les trois angles de chaque caméra (roulis, tangage et lacet). Dans l'invention, l'axe optique de chacune des deux caméras subit une correction de façon à être parallèle (et non orthogonal) à la direction de translation (ligne de référence reliant le centre optique de la caméra entre les instants t-1 et t, et qui correspond à la direction globale de déplacement du véhicule entre les deux prises de vue) et seul le roulis doit également être corrigé, le tangage et le lacet étant corrigés par l'alignement des deux axes optiques sur la ligne de référence.

Cette correction a pour effet de faciliter la mise en correspondance : les points à l'infini sont en effet au même endroit sur les deux images.

Une autre différence entre l'invention et l'état de la technique consiste à rectifier les images en coordonnées polaires. Cette rectification est rendue possible par le fait que les épipôles sont situés à proximité immédiate de l'axe optique de la caméra à t comme à t-1 (en effet, une voiture se déplace principalement selon son axe longitudinal donc les épipôles restent à proximité du plan image). A l'inverse, dans les systèmes stéréoscopiques connus, les épipôles sont situés à l'infini, très loin des axes optiques des caméras, et seule une rectification planaire est effectuée.

Ce passage en coordonnées polaires, selon l'invention, permet de faciliter la mise en correspondance des points images en réduisant les recherches à une seule coordonnée. Le passage de la disparité à la profondeur est aussi simplifié : il s'agit alors d'un simple produit en croix. On dispose ainsi d'un système et d'un procédé plus rapide et moins gourmand en ressources informatiques. La matrice rotation et le vecteur translation entre les deux images peuvent, dans le procédé selon l'invention, être obtenus de diverses façons, par exemple :

• par analyse de données fournies par un autre capteur, tel qu'un capteur GPS (« Geo Positionning System » en anglais, ou système de localisation géographique) ou un capteur inertiel, présent dans le véhicule ; ou

• par application des principes de la géométrie épipolaire à une pluralité de couples (en pratique, huit couples) de points distinctifs correspondants pour lequel un flux temporel peut être préalablement obtenu.

Dans les techniques de flux classiques, la recherche d'un deuxième point correspondant à un premier point distinctif est limitée à un voisinage de points autour d'un point de départ de recherche situé au même endroit, sur la deuxième image, que le premier point sur la première image, ce voisinage étant par exemple limité à un rayon de 100 pixels. La recherche de points en correspondance selon l'invention, pour des points non distinctifs, après obtention de la matrice rotation et du vecteur translation, est limitée à un segment de droite, notamment grâce à la rectification des images en coordonnées polaires.

Plus particulièrement concernant la recherche de correspondance sur les images rectifiées (hors points distinctifs pour chacun desquels un flux temporel peut être obtenu), le procédé selon l'invention comprend de préférence :

· pour chaque premier point image Pb de l'image précédente rectifiée, détermination d'une zone de recherche linéaire du deuxième point image P a correspondant sur l'image actuelle rectifiée, par application d'un filtre de disparité prédéterminé, lequel filtre de disparité est délimité par une disparité limite DISP choisie entre une disparité minimale DISPmin (qui peut être exprimée en nombre de pixels) donnée par une profondeur d'intérêt maximale D ma x, et une disparité maximale DISPmax donnée par une profondeur d'intérêt minimale D m in, les profondeurs d'intérêts minimale D m in et maximale D ma x étant choisies selon la fonction d'aide à la conduite à mettre en œuvre et/ou étant choisies en fonction de l'emplacement du premier point image sur l'image précédente rectifiée et/ou étant déduites d'une paire d'images antérieures et d'un calcul de profondeur antérieur relatif au même point objet ; à noter que le terme « profondeur », désigne la distance entre le centre optique de la caméra unique à l'instant t (image actuelle) et la projection sur la ligne de référence Δ du point objet observé (point objet dont le premier point Pb considéré est le point image sur l'image précédente) ; les profondeurs d'intérêt minimale et maximale définissent donc des plans d'intérêt orthogonaux à la ligne de référence Δ et situés à la distance D m in ou D ma x, respectivement, du centre optique de la caméra à l'instant t ;

• pour chaque premier point image Pb et un voisinage dudit premier point Pb, recherche sur la zone de recherche linéaire précédemment déterminée, d'un minimum d'au moins une fonction représentative d'une différence entre des intensités de pixel l a et lb, où l a désigne une intensité de pixel d'un point quelconque de la zone de recherche et de son voisinage sur l'image actuelle rectifiée et lb désigne l'intensité de pixel du premier point image Pb et de son voisinage sur l'image précédente rectifiée. L'expression « voisinage d'un point » désigne une portion -de préférence carrée de 10 pixels de côté par exemple (soit une portion de 100 pixels au total)- de l'image, et dont le point en question est le centre ou un sommet. La « fonction représentative d'une différence entre des intensités de pixel l a et lb » est par exemple la somme sur le voisinage du premier point Pb des carrés des différences d'intensités entre un point de ce voisinage et le point associé dans le voisinage du deuxième point Pa considéré. Le deuxième point image P a recherché correspondant au premier point image Pb considéré est justement le point de la zone de recherche pour lequel la fonction représentative d'une différence d'intensités de pixel est minimale. La recherche, pour chaque premier point image Pb, du minimum de différence d'intensités de pixels entre ce premier point image et son voisinage (sur l'image précédente rectifiée) d'une part et tout point de la zone de recherche correspondante et son voisinage (sur l'image actuelle rectifiée) d'autre part est effectuée par toute méthode connue appropriée de recherche de minimum.

La correspondance entre les points images des deux images rectifiées étant alors établie, on peut en déduire la profondeur D entre le véhicule et le point objet observé, D étant plus précisément la distance entre le centre optique de la caméra unique à l'instant t (au moment de l'image actuelle) et une projection sur la ligne de référence Δ du point objet observé (point objet dont les points images en correspondance considérés sont les images à t et t-1 ). Cette profondeur D est par exemple donnée par l'équation :

D = b x T ÷ a - b)

Où a désigne la distance (qui peut être exprimée en nombre de pixels) sur l'image actuelle alignée, entre le deuxième point image P a et la ligne de référence Δ ; autrement dit a correspond à l'abscisse du deuxième point image sur l'image actuelle rectifiée (polaire).

Et b désigne la distance (qui peut être exprimée en nombre de pixels) sur l'image précédente alignée, entre le premier point Pb et la ligne de référence Δ ; il s'agit donc de l'abscisse du premier point image Pb sur l'image précédente rectifiée (polaire) ; Et T désigne la norme du vecteur translation entre l'image précédente et l'image actuelle, qui, selon l'invention, correspond à la distance parcourue par le véhicule à vol d'oiseau entre les deux images, c'est-à-dire entre t et t-1 .

En d'autres termes, comme suite à l'étape de recherche des minima de la différence d'intensités de pixel pour tout premier point Pb, qui permet d'établir des correspondances entre les deux images (et donne donc a et b pour chaque point objet observé), on peut établir une carte des profondeurs. Cette étape peut être réalisée en trois temps, à savoir l'établissement d'une carte des disparités polaires représentant la variable (a - b) en coordonnées polaires, puis l'établissement d'une carte virtuelle des profondeurs représentant la profondeur D en coordonnées polaires puis la transformation en coordonnées cartésiennes de cette carte virtuelle des profondeurs établie en coordonnées polaires. L'intérêt de l'étape intermédiaire d'établissement d'une carte des disparités est de pouvoir disposer d'une carte qui, une fois transposée en coordonnées cartésiennes, permet de faire du suivi d'objet dans l'image.

Concernant la détermination préalable du filtre de disparité, selon la fonction d'aide à la conduite concernée, il peut être intéressant de détecter des objets à grande distance (par exemple lorsque la fonction d'aide à implémenter est le freinage d'urgence sur autoroute). Dans ce cas, D m in peut par exemple être choisi égal à 1 00 m et D ma x égal à 500 m (voire 1 000 m). Si l'on souhaite détecter des objets à courte distance (par exemple lorsque la fonction d'aide à implémenter est le freinage d'urgence en ville), D m in peut par exemple être choisi égal à 5 m et D ma x égal à 1 00m. Ces exemples sont donnés à titre purement indicatif et non limitatif.

Une autre façon de choisir D m in et D ma x est de considérer les résultats d'un calcul de profondeur antérieur pour le point objet considéré, par exemple le calcul de profondeur effectué à partir des deux images immédiatement précédentes captées, respectivement, à t-2 et t-3.

Une autre façon de choisir D m in et D ma x est de tenir compte de l'emplacement des points considérés sur l'image. D ma x peut être de 100 mètres ou plus (voire l'infini) pour des points situés au milieu ou en haut de l'image. Pour des points situés en bas de l'image (au niveau de la route) D ma x peut être limité entre 10 et 30 mètres ; tel peut aussi être le cas selon la scène observée par exemple si le véhicule est dans un tunnel (information qui peut être donnée par le GPS). Par ailleurs D m in est avantageusement égal ou supérieur à 5 mètres car en-dessous de 5 m l'image est de toutes façons floue ou le capot de la voiture gène l'observation de l'objet (à tout le moins dans une direction longitudinale du véhicule et dans le cas d'une caméra installée sur le pare-brise du véhicule). Dmin et Dmax choisis, une disparité minimale et maximale sont déduites, par exemple des équations suivantes :

DISPmin = b x T /Dmax

DISPmax = b x T /Dmin

Où b désigne, comme précédemment expliqué, la distance sur l'image précédente alignée, du premier point image Pb par rapport à la ligne de référence Δ, soit l'abscisse du premier point image sur l'image précédente rectifiée ;

Et T désigne, comme précédemment expliqué, la norme du vecteur translation entre les images précédente et actuelle.

Avantageusement et selon l'invention, le calcul de la rotation utilise au moins un flux temporel déduit des images précédente et actuelle ainsi que des données de calibration intrinsèque de la caméra unique. Avantageusement et selon l'invention, la norme du vecteur translation T est déduite de la vitesse du véhicule, fournie par un odomètre du véhicule.

De préférence, le procédé selon l'invention comprend de plus une étape initiale de réduction de la distorsion des images précédente et actuelle.

D'autres détails et avantages de la présente invention apparaîtront à la lecture de la description suivante, qui se réfère aux dessins schématiques annexés et porte sur des modes de réalisation préférentiels, fournis à titre d'exemples non limitatifs. Sur ces dessins :

- La figure 1 est un logigramme représentant un procédé selon invention dans son intégralité.

- La figure 2 est un logigramme représentant un calcul de la rotation et de la translation entre une première image et une deuxième image dans un procédé selon invention.

- La figure 3 est un schéma illustrant la contrainte épipolaire avec rotation et translation entre deux images.

- La figure 4 illustre la contrainte épipolaire sans rotation entre deux images et avec une translation parallèle à la ligne de référence Δ.

- La figure 5 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).

- La figure 6 représente la caméra, avec son centre optique O et son plan image à l'instant t-1 et à l'instant t, avant et après alignement des plans images. - La figure 7 est une image actuelle captée à un instant t par une caméra unique d'un système d'aide à la conduite selon invention.

- La figure 8 est une vue image précédente captée à un instant t-1 par la caméra unique du système d'aide à la conduite de la figure 6.

- La figure 9 est une image actuelle rectifiée résultant de la transformation en coordonnées polaires de l'image actuelle de la figure 7.

- La figure 10 est une image précédente rectifiée résultant de la transformation en coordonnées polaires de l'image précédente de la figure 8.

- La figure 11 est un schéma illustrant la correspondance entre deux points images d'une image actuelle rectifiée et d'une image précédente rectifiée et le point objet observé.

- La figure 12 est une carte de disparité en coordonnées polaires issue des images rectifiées actuelle et précédente des figures 8 et 9.

- La figure 13 est une carte virtuelle de profondeurs en coordonnées polaires issue de la carte de disparité de la figure 11 .

- La figure 14 est une carte de profondeurs issue de la transformation en coordonnées cartésiennes de la carte de profondeur virtuelle de la figure 13.

Le procédé selon invention utilise une caméra unique 1 embarquée dans un véhicule automobile. Il s'agit avantageusement d'une caméra à une cadence fixe, captant par exemple 16 images par seconde. Comme on peut le constater à la figure 5, cette caméra unique 1 peut, par exemple, être fixée à un support disposé sur la partie supérieure du pare-brise 2 du véhicule et la caméra unique 1 est reliée à une unité de traitement informatique 100. Est également représenté à la figure 5, le repère OXYZ intrinsèque de la caméra 1 , respectivement à un instant t (figure 5, dessin de gauche) et à un instant t-1 (figure 5, 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 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 est légèrement orientée vers la route, c'est-à-dire que l'axe X de la caméra 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 et de l'axe de lacet du véhicule, le repère de la caméra ayant subi une petite rotation autour de l'axe de tangage (ou axe X), de 1 0 par exemple pour un véhicule léger jusqu'à 13° pour un poids lourds, selon la hauteur de la caméra par rapport à la route et donc par rapport à la bande de roulement des pneus. Le procédé selon l'invention illustré à la figure 1 comprend une première étape 10 de réduction de la distorsion des images précédentes 7 et actuelles 8 captées par la caméra unique 1 . La réduction de la distorsion peut utiliser des paramètres radiaux, tangentiels et prismatiques. Une telle étape est connue en soi et ne sera donc pas détaillée ici. En pratique, les images non distordues ne sont pas générées ; seuls les calculs sont effectués.

Le procédé de la figure 1 comprend ensuite une deuxième étape 12 de calcul de la contrainte épipolaire entre une image actuelle 8 captée à l'instant t par la caméra unique 1 et une image précédente 7 captée à l'instant t-1 par la caméra unique. Cette étape 12 permet d'obtenir la translation et la rotation entre l'image précédente 7 et l'image actuelle 8. Le détail de cette étape 12 est illustré à la figure 2. Un flux temporel 120 est tout d'abord déduit des images précédente 7 et actuelle 8, lequel flux permet d'établir une matrice fondamentale F, étape122. Des données de calibration intrinsèque, étape 124, de la caméra unique 1 sont alors utilisées pour calculer une matrice essentielle E, étape 126, dont sont ensuite déduits, lors de l'étape 128, la rotation R et un multiple aT de la translation. L'utilisation de la vitesse, étape 130 du véhicule fournie par un odomètre embarqué dans le véhicule permet de déduire, lors de l'étape 132, la translation T. En d'autres termes, un changement de repère et d'unité lie la matrice fondamentale F, laquelle « travaille » en pixels, et la matrice essentielle E, qui « travaille » en mètre. Ce changement de repère fournit la rotation R et le vecteur vitesse T[t x , t y , t z ].

La figure 3 illustre la contrainte épipolaire dans le cas où une rotation se produit entre les deux images à comparer. Considérant un point image A de l'image actuelle, on peut limiter les recherches du point image B correspondant de l'image précédente à la ligne épipolaire 30. Cette ligne épipolaire est référencée 32 à la figure 4 qui représente le cas où aucune rotation ne se produit entre les deux images ou lorsque la rotation est corrigée par alignement des deux images. La prise en compte de la translation permet de surcroît de limiter la zone de recherche à un segment 34 de cette ligne épipolaire 32.

Dans toute la suite et comme illustré à la figure 5, l'indice 2 fait référence à l'axe optique de la caméra et à l'image (précédente) 7 captée à l'instant t-1 , l'indice 4 fait référence à l'axe optique aligné de la caméra à l'instant t-1 et à l'image précédente alignée T (ou première image alignée) ; l'indice 1 fait référence à l'axe optique de la caméra et à l'image (actuelle) 8 captée à l'instant t, l'indice 3 fait référence à l'axe optique aligné de la caméra à l'instant t et à l'image actuelle alignée 8' (ou deuxième image alignée). La lettre R fait référence à la rotation. Ainsi R_21 désigne la rotation du vecteur 1 dans le repère 2, R 42 la rotation du vecteur 2 dans le repère 4, etc. La lettre T fait référence à la translation, de sorte que T 21 désigne la translation de 1 dans le repère 2, T 42 la translation de 2 dans le repère 4, etc. La lettre P désigne un point quelconque de l'espace, P1 désignant ce point dans le repère 1, P2 ce point dans le repère 2, etc.

P2 = (R_21 * P1) + T_21

P4 = (R_42 * P2) + T_42, avec T_42 = 0

P3 = (R_31 * P1) + T_31 avec T_31 = 0

P4 = (R_43 * P3) + T 43 avec R_43 = 1 car les images sont alors alignées et T_43 = [0;0 ;norm(T_21)]

Ce qui donne :

P2 = (R_21 * P1) + T_21

P4 = R_42 * P2

P3 = R_31 * P1

P4 = P3 + [0;0 ;norm(T_21)]

Puis

R_24 * P4 = (R_21 * R_13 * P3) + T_21

P4 = P3 + [0;0 ;norm(T_21)]

Puis

P4 = (R_42 * R_21 * R_13 * P3) + R_42 * T_21

P4 = P3 + [0;0 ;norm(T_21)]

Et pour finir:

R_42 * T_21 = [ 0; 0 ; norm(T_21)]

La matrice de passage R_42 (du repère 2 vers le repère 4) s'écrit : R_42 = RX_42 RY_42 RZ_42

où RX 42 traduit la rotation du repère 2 dans le repère 4 autour de l'axe X, RY_42 autour de l'axe Y, etc.

Considérons rz_42 = 0 (pas de rotation autour de l'axe Z entre 2 et 4) RX_42 = [ 1 , 0 0

0 cos(rx_42), -sin(rx_42)

0 sin(rx_42), cos(rx_42) ] ;

RY_42 = [ cos(ry_42) 0 sin(ry_42)

0 1 0

-sin(ry_42) 0 cos(ry_42) ] ;

R_42 = RY_42 * RX_42

(R_42 * T_21) = [0;0;norm(T_21)] ;

EQ1 :

tx_21 * cos(ry_31) + tz_21 * cos(rx_42) * sin(ry_42) + ty_21 * sin(rx_42) * sin(ry_42) EQ2 : ty_21 * cos(rx_42) - tz_21 * sin(rx_42) EQ3 : tz_21 * cos(rx_42) * cos(ry_42) - tx_21 * sin(ry_42) - (abs(tx_21 ) A 2 + abs(ty_21 ) A 2 + abs(tz_21 ) A 2) A (1 /2) + ty_21 * cos(ry_42) * sin(rx_42)

EQ2 : ty_21 * cos(rx_42) - tz_21 * sin(rx_42) = 0

sin(rx_42)/cos(rx_42) = ty_21/tz_21 = tan(rx_42)

rx_42 = atan (ty_21 /tz_21 )

EQ1 :

tx_21 * cos(ry_42) + tz_21 * cos(rx_42) * sin(ry_42) + ty_21 * sin(rx_42) * sin(ry_42)= 0 sin(ry_42)/cos(ry_42) = - tx_21 / (tz_21 * cos(rx_42)+ ty_21 * sin(rx_42)) = tan(ry_42) tan(ry_42) = - tx_21 / (tz_21 * cos(rx_42)+ ty_21 * sin(rx_42))

ry_42 = atan(- tx_21 / (tz_21 * cos(rx_42)+ ty_21 * sin(rx_42)))

On peut faire de même pour R 31

rx_31 = atan(ty_12/tz_12)

ry_31 = atan(- tx_12 / (tz_12 * cos(rx_31 )+ ty_12 * sin(rx_31 )))

Pour le roulis, on applique la moitié du roulis restant à chaque image rectifiée 3 et 4.

R_34 = R_31 * R_12 * R_24 ;

On peut trouver rz_43 à partir de la matrice de rotation R 43

rz_31 = rz_43/2;

rz_42 = -rz_43/2;

Les images précédente et actuelle non distordues issues de l'étape 10 peuvent alors être transformées, à l'étape 14 (voir figure 1 ), en images précédente alignée 7' et actuelle alignées 8'.

Le procédé comprend ensuite une étape 16 de génération d'une image précédente rectifiée 7" (visible à la figure 9) par transformation, en coordonnées polaires, de l'image précédente (figure 7) alignée 7' établie en coordonnées cartésiennes. De même, l'étape 14 comprend la génération d'une image actuelle rectifiée 8" (figure 8) par transformation en coordonnées polaires de l'image actuelle (figure 6) alignée 8' fournies en coordonnées cartésiennes.

Le procédé comporte ensuite la recherche 18 de correspondance entre points images de l'image actuelle rectifiée 8" et de l'image précédente rectifiée 7", cette recherche consistant à rechercher le minimum d'au moins une fonction représentative d'une différence (par exemple la somme, sur le voisinage du point considéré, des différences au carré) entre les intensités de pixels la et Ib, a désignant un pixel (autrement appelé point image P a ) de l'image actuelle situé sur la ligne épipolaire du point Pb de l'image précédente et sur un segment de cette ligne limité par un filtre de disparité défini par :

filtre = [DISPmin ; DISPmax] DISP étant choisi entre : DISPmin = b x T/Dmax

DISPmax = b x T /Drain

avec, par exemple, Dmax 100m et D min = 5m.

A chaque point Pt, de l'image précédente ayant un rayon b (abscisse du point Pb sur l'image précédente rectifiée en coordonnées polaires) et pour lequel aucun flux temporel n'est disponible, est alors associé un point image P a correspondant de l'image actuelle, ayant une abscisse a sur l'image actuelle rectifiée.

Le procédé comprend alors une étape 20 de réalisation d'une carte de disparité polaire (figure 12) qui correspond à la soustraction (a-b) des abscisses en coordonnées polaires des points en correspondance. De cette carte de disparité polaire peut être déduit, à l'étape 22 une carte virtuelle de profondeurs D en coordonnées polaires (figure 13), grâce à l'équation :

D = b x T ÷ disparité

avec disparité = a— b

La transformation, à l'étape 23, de cette carte virtuelle de profondeurs en coordonnées cartésiennes fournit la carte de profondeurs recherchée que l'on peut observer à la figure 14.

Le procédé de réalisation de la carte de profondeurs D est réalisé par une unité de traitement informatique 100 reliée à la caméra unique 1 .