Brevet FR3052582A1 — publié le 20171215

L'invention se rapporte au domaine de l'assistance à la conduite d'un véhicule automobile et concerne plus particulièrement un procédé et un dispositif de traitement d'images acquises par une caméra d'un véhicule automobile ainsi qu'un véhicule automobile comprenant un tel dispositif. De nos jours, il est connu d'équiper un véhicule automobile d'un système d'assistance à la conduite appelé communément ADAS (« Advanced Driver Assistance System » en langue anglaise). Un tel système comprend de manière connue une caméra vidéo, par exemple montée sur le pare-brise avant du véhicule, qui permet de générer un flux d'images représentant l'environnement dudit véhicule. Ces images sont exploitées par un dispositif de traitement d'images dans le but d'assister le conducteur, par exemple en détectant un obstacle ou bien le franchissement d'une ligne blanche. Les informations données par les images acquises par la caméra doivent donc être suffisamment précises et pertinentes pour permettre au système d'assister le conducteur de manière fiable. On sait détecter un objet à partir d'une série d'images acquises par la caméra vidéo en suivant le flot optique (« optical flow » en langue anglaise) d'un certain nombre de points dans la série d'images. Plus précisément, il s'agit de suivre la trajectoire de ces points dans une pluralité d'images successives et d'en déterminer leur localisation dans l'espace. Certains pixels représentant le ciel ou la route sont toutefois difficilement 20 traçables d'une image à une autre du fait de leur uniformité sur plusieurs images successives, ce qui présente des inconvénients importants. Afin de suivre un point représenté par un pixel d'une première image dans une deuxième image consécutive, une solution connue consiste à analyser une zone de pixels autour dudit pixel dans la deuxième image afin de déterminer dans quelle direction le 25 point se déplace entre la première image et la deuxième image. Une telle solution peut nécessiter l'utilisation d'une zone de pixels comprenant plus de 2500 pixels, ce qui demande des capacités de traitement importantes et présente donc un inconvénient majeur pour un système embarqué dans un véhicule automobile. De plus, lorsque le véhicule roule à une vitesse élevée, par exemple plus 30 de 130 km/h, il s'avère difficile voire impossible de suivre les points dans des images successives avec une telle méthode, notamment des points représentants des objets en perspective. Enfin, une telle solution, bien que robuste, ne permet de suivre les flots que d'un nombre très limité de points d'une image, de l'ordre de 2 % de points, ce qui peut 3052582 2 s'avérer insuffisant pour détecter un nombre significatif d'objets et donc pour assister efficacement le conducteur dans sa conduite. L'invention vise donc à remédier au moins en partie à ces inconvénients en proposant une solution simple, fiable et efficace pour détecter des objets dans un flux 5 vidéo capturé par la caméra d'un véhicule automobile. A cette fin, l'invention a pour objet un procédé de traitement d'images acquises par une caméra d'un véhicule automobile, ledit procédé comprenant les étapes de : - acquisition d'une première image et d'une deuxième image par la caméra, 10 - détermination d'une matrice de rotation et d'une matrice de translation entre la première image et la deuxième image, - sélection d'au moins un pixel dans la première image, - pour chaque pixel sélectionné dans la première image : - détermination, dans la première image, d'un ensemble initial de pixels 15 comprenant le pixel sélectionné et une pluralité de pixels localisés au voisinage du pixel sélectionné, - détermination, dans la deuxième image, d'un premier ensemble de pixels par projection sur un plan prédéterminé situé à une distance minimale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, ledit premier ensemble comprenant un premier pixel correspondant au pixel sélectionné dans la première image, - détermination, dans la deuxième image, d'un deuxième ensemble de pixels par projection sur le plan prédéterminé situé à une distance maximale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, ledit deuxième ensemble comprenant un deuxième pixel correspondant au pixel sélectionné dans la première image, - détermination d'un segment reliant le premier pixel et le deuxième pixel, - sélection d'une pluralité de points sur le segment déterminé, - pour chaque point sélectionné : - calcul de la distance du plan de projection prédéterminé, - détermination, dans la deuxième image, d'un ensemble de pixels intermédiaire par projection sur le plan prédéterminé situé à la distance calculée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, 3052582 3 pour chaque ensemble de pixels associé à un point du segment déterminé, calcul d'un score de corrélation, détermination dans la deuxième image, à partir du score de corrélation calculé, du pixel correspondant à un même objet sur la première image et 5 sur la deuxième image, représentant ainsi le flot optique d'un même pixel entre les deux images. L'utilisation d'un segment épipolaire permet d'améliorer la détermination du flot optique d'un pixel entre deux images consécutives. Ce procédé permet d'obtenir des flots optiques pour un nombre de pixels pouvant atteindre au moins 10 % du nombre total 10 de pixels présents dans une image, ce qui permet de détecter un nombre important d'objets notable tels que des ponts, des panneaux, des poteaux, etc. Le procédé selon l'invention peut avantageusement être aussi bien utilisé sur des pixels représentant aussi bien des objets statiques que dynamiques. Selon un aspect de l'invention, le procédé comprend en outre une étape de 15 détermination de la distance minimale et de la distance maximale. Selon un aspect de l'invention, le procédé comprend en outre une étape de détermination du plan de projection. De préférence, le score de corrélation d'un ensemble de pixels associé à un point du segment déterminé est calculé à partir de la somme des différences absolues 20 entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé, une tel calcul étant aisé à réaliser. L'invention concerne aussi un dispositif de traitement d'images pour véhicule automobile, ledit dispositif comprenant une caméra apte à acquérir une première image et une deuxième image et un module de traitement d'images configuré pour : 25 - déterminer une matrice de rotation et une matrice de translation entre la première image et la deuxième image acquises par la caméra, - sélectionner au moins un pixel dans la première image, - pour chaque pixel sélectionné dans la première image : déterminer, dans la première image, un ensemble initial de pixels 30 comprenant le pixel sélectionné et une pluralité de pixels localisés au voisinage du pixel sélectionné, déterminer, dans la deuxième image, un premier ensemble de pixels par projection sur un plan prédéterminé situé à une distance minimale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de 35 rotation et de la matrice de translation déterminées, ledit premier ensemble comprenant un premier pixel correspondant au pixel sélectionné dans la première image, 3052582 4 - déterminer, dans la deuxième image, un deuxième ensemble de pixels par projection sur le plan prédéterminé situé à une distance maximale prédéterminée, de l'ensemble initial déterminé, à partir de la matrice de rotation et de la matrice de translation déterminées, ledit deuxième 5 ensemble comprenant un deuxième pixel correspondant au pixel sélectionné dans la première image, - déterminer un segment reliant le premier pixel et le deuxième pixel, - sélectionner une pluralité de points sur le segment déterminé, - pour chaque point sélectionné : 10 - calculer la distance, appelée distance intermédiaire, du plan de projection prédéterminé, - déterminer, dans la deuxième image, un ensemble de pixels intermédiaire par projection sur le plan prédéterminé situé à la distance intermédiaire calculée, de l'ensemble initial déterminé, à 15 partir de la matrice de rotation et de la matrice de translation déterminées, - pour chaque ensemble de pixels associé à un point du segment déterminé, calculer un score de corrélation, - déterminer dans la deuxième image, à partir du score de corrélation 20 calculé, le pixel correspondant à un même objet sur la première image et sur la deuxième image. Selon un aspect de l'invention, le module de traitement d'images est configuré pour déterminer la distance minimale et la distance maximale. Selon un autre aspect de l'invention, le module de traitement d'images est 25 configuré pour déterminer le plan de projection. De préférence, le module de traitement d'images est configuré pour calculer le score de corrélation d'un ensemble de pixels associé à un point du segment déterminé à partir de la somme des différences absolues entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé. 30 L'invention concerne également un véhicule automobile comprenant un dispositif tel que présenté précédemment. D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard des figures annexées données à titre d'exemples non limitatifs et dans lesquelles des références identiques sont données à des objets 35 semblables. - La figure 1 illustre schématiquement un véhicule selon l'invention. 3052582 5 La figure 2 illustre schématiquement une première image et une deuxième image, consécutive à la première image, acquises par la caméra. La figure 3 illustre schématiquement deux projections d'une zone de pixels d'une première image dans une deuxième image par homographie sur un 5 plan de projection situé respectivement à une distance minimum et à une distance maximum prédéterminées. La figure 4 illustre schématiquement illustre schématiquement une projection par homographie, sur un plan de projection situé à une distance prédéterminée, d'un ensemble de points d'une première image dans une 10 deuxième image, la correspondance entre les deux images étant réalisée via une matrice de rotation et une matrice de translation. La figure 5 illustre schématiquement un segment épipolaire obtenu dans une deuxième image par la projection d'un ensemble de pixels d'une première image sur un plan situé consécutivement à une pluralité de 15 distances prédéterminée comprises entre une distance minimum prédéterminée et à une distance maximum prédéterminée. La figure 6 illustre schématiquement un graphe de scores de corrélation obtenu pour un pixel et son voisinage projetés le long du segment de la figure 5. 20 La figure 7 illustre schématiquement un mode de réalisation du procédé selon l'invention. Le dispositif de traitement d'images selon l'invention va maintenant être décrit en référence aux figures 1 à 6. En référence à la figure 1, le dispositif 10 de traitement d'images est monté 25 dans un véhicule automobile 1. Par les termes « véhicule automobile », on entend de manière standard un véhicule routier mû par un moteur à explosion, à combustion interne, électrique ou par turbine à gaz ou un moteur hybride tel que, par exemple, une voiture, une camionnette, un camion, etc. Le dispositif 10 comprend une caméra 100 et un module de traitement 30 d'images 200. De manière préférée, la caméra 100 est montée au niveau de la partie supérieure centrale du pare-brise avant (non représenté) du véhicule 1. On notera toutefois que la caméra 100 pourrait être montée à tout autre endroit adapté du véhicule 1 (côté, arrière etc.). La caméra 100 est configurée pour acquérir une pluralité d'images de l'environnement 2 du véhicule 1, par exemple la route 2A, afin que le module 35 de traitement d'images 200 les exploite. Le module de traitement d'images 200 traite les images acquises par la caméra 100 afin de fournir une assistance à la conduite au conducteur du véhicule 1. A 3052582 6 titre d'exemple, un tel traitement d'images peut consister à détecter des objets dans les images, tels que par exemple des panneaux, des bordures de route, des obstacles (piétons ou autre...), afin d'informer le conducteur respectivement d'une vitesse limite, d'un risque de sortie de route ou d'un risque de collision. Un tel traitement d'image 5 peut aussi permettre de mesurer la hauteur d'un pont ou la position d'un obstacle afin d'en avertir le conducteur ou de procéder à un freinage d'urgence. A cette fin, en référence à la figure 2, le module de traitement d'images 200 est configuré pour réaliser une pluralité de tâches sur une première image 11 et une deuxième image 12 acquises consécutivement par la caméra 100. 10 Le module de traitement d'images 200 est tout d'abord configuré pour déterminer une matrice de rotation R et une matrice de translation T entre la première image 11 et la deuxième image 12, par exemple en utilisant un même objet statique représenté sur les deux images, par exemple la route ou un pont, ou bien un objet dynamique se déplaçant par rapport à la caméra 100, par exemple un autre véhicule. 15 Dans ce dernier cas, il faut savoir où se situe l'objet dans l'image (par exemple en utilisant une méthode de classification connue en soi) et déterminer alors la matrice de rotation et la matrice de translation entre l'objet dynamique et la caméra 100, la matrice de translation T étant dans ce cas pondérée d'un coefficient a qui peut être déterminé de manière connue par traitement d'images en connaissant la taille de l'objet. 20 La détermination de la matrice de rotation R et de la matrice de translation T entre la première image 11 et la deuxième image 12 peut être réalisée par un algorithme de traitement d'images ou par l'utilisation d'un ou plusieurs capteurs inertiels et/ou de position géographique (par exemple GPS) de manière connue en soi. A titre d'exemple, de manière connue, un tel algorithme peut consister à 25 déterminer le flot temporel entre la première image 11 et la deuxième image 12 pour en déduire une première matrice dite « fondamentale », à transformer cette matrice fondamentale en une matrice dite « essentielle » à partir des paramètres intrinsèques de calibration de la caméra 100, à en déduire une matrice de rotation R et une matrice de translation intermédiaire a.T obtenue à un facteur « a » près et à corriger cette matrice de 30 translation intermédiaire a.T pour obtenir une matrice de translation T finale à partir d'un odomètre du véhicule 1. Une telle méthode étant connue en soi, elle ne sera pas davantage détaillée ici. Ensuite, toujours en référence à la figure 2, le module de traitement d'images 200 est configuré pour sélectionner un pixel PA(1) dans la première image 11 35 pour lequel on cherche un pixel correspondant dans la deuxième image 12. Par les termes « pixel correspondant », on entend un pixel représentant une même zone spatiale de l'environnement du véhicule 1. 3052582 7 Toujours en référence à la figure 2, le module de traitement d'images 200 est ensuite configuré pour déterminer dans la première image 11 un ensemble initial de pixels comprenant le pixel sélectionné PA(1) et une pluralité de pixels PA(2), ..., PA(5), localisés au voisinage du pixel sélectionné PA(1). Par le terme voisinage, on entend de manière 5 connue des pixels PA(2), ..., PA(5) étant autour du pixel sélectionné PA(1) dans la première image 11. Le nombre de pixels du voisinage est de quatre dans cet exemple à des fins de clarté mais il va de soi que le voisinage du pixel PA(1) peut comprend plus ou moins de quatre pixels (plus généralement « n » pixels, « n » étant un entier naturel supérieur ou égal à 2). Un tel ensemble initial de pixels peut être une fenêtre ou une 10 portion de la première image 11, par exemple une fenêtre de 10 x 10 pixels. On notera ici que le nombre n de pixels et la forme de la fenêtre ou de la portion d'image peuvent varier à dessein. On notera aussi que l'on a représenté cinq pixels dans l'ensemble à titre d'exemple mais que le nombre de pixels de l'ensemble pourrait bien entendu être inférieur ou supérieur à cinq. 15 Le module de traitement d'images 200 est configuré pour déterminer, dans la deuxième image 12, une pluralité d'ensembles de pixels PB(1), ..., PB(5) par projection, à partir de la matrice de rotation R et de la matrice de translation T déterminées, de l'ensemble initial déterminé PA(1), ..., PA(5). Ce premier ensemble PB(1), ..., PB(5) comprend un premier pixel PB(1) correspondant au pixel sélectionné PA(1) dans la 20 première image 11. En référence aux figures 3 et 4, cette projection est réalisée sur un plan W prédéterminé situé à différentes distances D prédéterminées du centre optique Cl de la caméra 100 pour la première image 11. Plus précisément, en référence à la figure 3, le module de traitement 25 d'images 200 est tout d'abord configuré pour déterminer, dans la deuxième image 12, un premier ensemble de pixels PBmin(1), ..., PBmin(5) par projection, à partir de la matrice de rotation R et de la matrice de translation T déterminées, de l'ensemble initial déterminé PA(1), ..., PA(5) sur un plan W prédéterminé situé à une distance minimale Dmin prédéterminée. Ce premier ensemble PBmin(1), ..., PBmin(5) comprend un premier 30 pixel PBmin(1) correspondant au pixel sélectionné PA(1) dans la première image 11. Similairement, toujours en référence à la figure 3, le module de traitement d'images 200 est configuré pour déterminer, dans la deuxième image 12, un deuxième ensemble de pixels PBmax(1), ..., PBmax(5) par projection, à partir de la matrice de rotation R et de la matrice de translation T déterminées, de l'ensemble initial 35 déterminé PA(1), ..., PA(5) sur le plan prédéterminé W situé à une distance maximale prédéterminée Dmax. Ce deuxième ensemble PBmax(1), ..., PBmax(5) comprend un deuxième pixel PBmax(1) correspondant au pixel sélectionné dans la première image 11. 3052582 8 En référence maintenant à la figure 4, la détermination de la projection d'un pixel de la première image 11 dans la deuxième image 12 via un plan de projection W correspond à une homographie du pixel dans un repère d'origine Cl (qui correspond au centre optique de la caméra 100 lors de l'acquisition de la première image 11) à un repère 5 d'origine C2 (qui correspond au centre optique de la caméra 100 lors de l'acquisition de la deuxième image 12) via le plan de projection W situé à l'une des distances déterminées. Une telle projection par homographie H est réalisée à partir des matrices de rotation R et de translation T, d'un vecteur n2 normal au plan de projection W et de la distance D du plan W par rapport au centre optique Cl de la manière suivante : H = R - (TxnT D ). 10 Une telle homographie étant connue en soi, elle ne sera donc pas davantage détaillée ici. En théorie, la distance minimale Dmin est nulle et la distance maximale Dmax correspond à l'infini. En pratique, on peut choisir une distance minimale Dmin de quelques mètres, par exemple 5 mètres, et une distance maximale Dmax de quelques dizaines de 15 mètres, par exemple 50 ou 100 mètres, notamment lorsque le pixel sélectionné PA(1) dans la première image 11 représente un objet identifié dont on connait l'éloignement par rapport à la caméra 100, par exemple la route défilant dans la partie inférieure des images acquises par la caméra 100. Le plan de projection W peut être déterminé selon la nature du pixel 20 sélectionné PA(1). Par exemple, lorsque le pixel sélectionné PA(1) représente une zone de la route 2A sur laquelle circule le véhicule 1, un plan W correspondant au plan de la route 2A peut être utilisé comme illustré schématiquement sur la figure 2. Ce plan W est un plan de projection virtuel qui va permettre d'estimer par homographie, c'est-à-dire de manière géométrique, la position correspondante d'un pixel de la première image 11 dans 25 la deuxième image 12. Une fois le premier pixel PBmin(1) et le deuxième pixel PBmax(1) sélectionnés, le module de traitement d'images 200 est configuré pour déterminer un segment U reliant le premier pixel PBmin(1) et le deuxième pixel PBmax(1). En référence à la figure 5, le module de traitement d'images 200 est ensuite 30 configuré pour sélectionner une pluralité de points PB2(1), ..., PB5(1) le long du segment U déterminé. De manière avantageuse, les points PB2(1), ..., PB5(1) peuvent être répartis le long du segment U en partant du premier pixel PBmin(1) en étant espacés d'un pas « step » de largeur prédéterminée, par exemple tous les 0,1 pixels. Le nombre de points sélectionnés PB2(1), ..., PB5(1) sur le segment U est de quatre dans cet 35 exemple mais il va de soi qu'il pourrait être supérieur ou inférieur à quatre. Ensuite, le module de traitement d'images 200 est configuré pour calculer, pour chaque point PB2(1), ..., PB5(1) sélectionné le long du segment U, la distance, 3052582 9 appelée distance intermédiaire D2,..., D5 du plan de projection prédéterminé W. Un tel calcul peut être réalisé de manière connue (à condition que la calibration intrinsèque de la camera 100 ait été déterminée au préalable). Ensuite, en référence à la figure 4, toujours pour chaque point PB2(1), ..., 5 PB5(1) sélectionné sur le segment U, le module de traitement d'images 200 est configuré pour déterminer, dans la deuxième image 12, un ensemble de pixels intermédiaire {(PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5))} par projection de l'ensemble initial déterminé dans la première image 11 sur le plan prédéterminé W lorsque ce dernier est situé à la distance intermédiaire D2,..., D5 calculée pour ledit point PB2(1), ..., PB5(1) 10 sélectionné. Pour chaque ensemble de pixels {{(PBmin(1), ... ; PBmin(5)), (PB2(1), - ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5)) ; (PBmax(1), ... ; PBmax(5))} associé à un point PBmin(1), PB2(1), ..., PB5 (1), PBmax(1) du segment U déterminé, le module de traitement d'images 200 est configuré pour calculer un score de corrélation S1,...,S6. 15 Il existe plusieurs méthodes connues pour calculer un score de corrélation. Une première méthode est basée sur des mesures utilisant les statistiques de la distribution des différences des niveaux de gris entre les pixels de la première image 11 et de la deuxième image 12. Par exemple, la somme des différences absolues ou SAD pour « Sum of Absolute Differences » en langue anglaise est un algorithme simple, utilisé 20 pour trouver une corrélation entre deux voisinages. Elle est déterminée en calculant la différence absolue des niveaux de gris entre chaque pixel dans l'ensemble de pixel d'origine de la première image 11 et le pixel correspondant de l'ensemble associé dans la deuxième image 12. Ces différences sont additionnées pour créer une mesure simple de similarité du bloc, la norme L1 de l'image des différences. 25 D'autres méthodes connues sont basées sur l'erreur sur les moindres carrées (MSE ou « Mean Square Error »), sur l'écart moyen absolu (MAD ou « Mean of Absolute Deviation »), sur la somme des erreurs au carré (SSE ou « Sum of Squared Errors »), sur des mesures de corrélation croisée qui exploitent le produit scalaire ou bien sur des mesures utilisant les dérivées des images ou bien encore sur des mesures 30 ordinales qui s'appuient sur l'ordre des niveaux de gris des pixels, etc. Une fois le score de corrélation déterminé pour chaque ensemble de pixels {{(PBmin(1), ... ; PBmin(5)), (PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5)) ; (PBmax(1), ... ; PBmax(5))} de la deuxième image 12, correspondant chacun à la projection de l'ensemble d'origine de la première image 11 via le plan de projection W situé à une 35 distance différente Dmin, D2, ..., D5, Dmax, le module de traitement d'images 200 est configuré pour déterminer dans la deuxième image 12 l'ensemble de pixels dont le score de corrélation 51,...,56 est le plus élevé, le pixel de cet ensemble qui correspond au 3052582 10 pixel PA(1) sélectionné dans la première image 12 étant le pixel qui a le plus de chance de lui correspondre effectivement. Ces deux pixels constituant dans la deuxième image 12 le flot optique du pixel PA(1) sélectionné dans la première image 11. L'invention va maintenant être décrite dans sa mise en oeuvre en référence 5 aux figures 2 à 7. Tout d'abord, dans une étape E1, en référence à la figure 2, la caméra 100 acquiert une première image 11 et une deuxième image 12 consécutives. On notera que le procédé peut être mis en oeuvre en prenant comme première image 11 l'image dont l'acquisition est temporellement la première (image antérieure ou précédente dans le flot 10 d'images acquises par la caméra) et comme deuxième image 12, l'image successive dans le flot d'images. A contrario, le procédé peut être mis en oeuvre en prenant comme première image 11 l'image dont l'acquisition est temporellement postérieure (image suivante dans le flot d'images acquises par la caméra) à la deuxième image 12 et comme deuxième image 12, l'image précédente dans le flot d'images. Dans l'exemple qui suit, on 15 choisit l'image antérieure comme première image 11 et l'image postérieure (i.e. successive dans le flot d'images) comme deuxième image 12. En référence à la figure 3, le module de traitement d'images 200 détermine ensuite, dans une étape E2, la matrice de rotation R et la matrice de translation T entre la première image 11 et la deuxième image 12. 20 Le module de traitement d'images 200 sélectionne, dans une étape E3, un pixel PA(1) dans la première image 11 pour lequel un pixel correspondant dans la deuxième image 12 doit être déterminé. De manière avantageuse, le module de traitement d'images 200 peut tout d'abord sélectionner un pixel, qui n'a pas de flot optique dans la deuxième image 12, dans 25 une zone d'intérêt de la première image 11, par exemple un côté de l'image représentant le bord de la route lorsqu'on souhaite prévenir le conducteur d'un risque de sortie de route, le dessus de l'image représentant le ciel lorsqu'on souhaite détecter un pont pour en évaluer la hauteur etc. Ensuite, en référence à la figure 2, pour le pixel sélectionné PA(1), le module 30 de traitement d'images 200 détermine dans la première image 11, dans une étape E4, un ensemble initial de pixels PA(1), ..., PA(5) comprenant le pixel sélectionné PA(1) et une pluralité de pixels PA(2), ..., PA(5) localisés au voisinage du pixel sélectionné PA(1). Dans l'exemple de la figure 2, par souci de clarté, seuls quatre pixels PA(2), PA(3), PA(4) et PA(5) du voisinage du pixel PA(1) ont été sélectionnés. 35 En référence à la figure 3, le module de traitement d'images 200 détermine ou sélectionne (par exemple dans une liste stockée dans une zone mémoire (non représentée) du dispositif 10) dans une étape E5 une distance minimale Dmin et une 3052582 11 distance maximale Dmax entre lesquelles se situe le point spatial représenté par le pixel sélectionné PA(1). Ces valeurs Dmin et Dmax peuvent être déterminées comme décrit ci-avant ou bien en utilisant l'historique des images précédentes ou une connaissance géométrique de la scène, comme par exemple une route plane. 5 Dans une étape E6, le module de traitement d'images 200 détermine un plan W de projection, du pixel sélectionné PA(1), dans la deuxième image 12, par exemple un plan vertical situé face à l'avant du véhicule 1. On notera que les étapes E5 et E6 peuvent être inversées. En référence aux figures 2 et 3, dans une étape E7, le module de traitement 10 d'images 200 détermine, dans la deuxième image 12, un premier ensemble de pixels PBmin(1), ..., PBmin(5) par projection homographique de l'ensemble initial déterminé de pixels PA(1), ..., PA(5) sur le plan W, en considérant que ce dernier est placé à la distance minimale déterminée Dmin. Ce premier ensemble PBmin(1), ..., PBmin(5) comprend un premier pixel PBmin(1) correspondant, par projection homographique sur le 15 plan W à la distance minimale Dmin, au pixel sélectionné PA(1) dans la première image 11. Similairement, dans une étape E8, le module de traitement d'images 200 détermine, dans la deuxième image 12, un deuxième ensemble de pixels PBmax(1), ..., PBmax(5) par projection homographique de l'ensemble initial déterminé PA(1), ..., PA(5) 20 sur le plan prédéterminé W situé à la distance maximale prédéterminée Dmax. Ce deuxième ensemble PBmax(1), ..., PBmax(5) comprend un deuxième pixel PBmax(1) correspondant, par projection homographique du plan W à la distance maximale Dmax, au pixel sélectionné PA(1) dans la première image 11. Il va de soi que les étapes E7 et E8 peuvent être inversées. 25 En référence aux figures 3 à 5, le module de traitement d'images 200 détermine ensuite, dans une étape E9, le segment U reliant le premier pixel PBmin(1) et le deuxième pixel PBmax(1) dans la deuxième image 12 puis sélectionne, dans une étape El 0, une pluralité de points PB2(1), ..., PB5(1) sur le segment U ainsi déterminé, par exemple tous les 0,1 pixels. 30 Pour chaque point PB2(1), ..., PB5(1) déterminé, le module de traitement d'images 200 réalise deux sous-étapes successives. Dans une sous-étape El 1A, le module de traitement d'images 200 calcule, la distance (appelée distance intermédiaire) D2, ... , D5 du plan de projection W. On notera que cette distance est déjà connue pour PBmin(1) et PBmax(1) (respectivement Dmin 35 et Dmax). 3052582 12 Pour ce faire, on exprime chaque point PB2(1), ..., PB5(1) en fonction de PA(1), de la matrice de rotation R et de la matrice de translation T, soit en écriture simplifiée : PB - R.PA+T X X' 5 On note PA = Y et PB = y' les coordonnées réelles des points PA et PB. Z Z' Les coordonnées du point PA dans la première image 11 sont données par : Y UA = f. -x et vA = f.- z où f est la focale de la caméra 100. z De même, les coordonnées du point PB dans la deuxième image 12 sont données par : X/ Y/ 10 UR = f. Z et vB - f. On a donc 4 équations avec 3 inconnues (X, Y, Z) que l'on peut résoudre de manière connue pour obtenir notamment la valeur de Z qui correspond à la distance recherchée (D2,..., D5). Dans une sous-étape El 1B, le module de traitement d'images 200 détermine 15 ensuite dans la deuxième image 12 un ensemble intermédiaire de pixels {(PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5))} par projection de l'ensemble initial déterminé PA(1), ..., PA(5) sur le plan W situé à la distance intermédiaire D2,..., D5 calculée. Ensuite, comme illustré à la figure 6, dans une étape E12, le module de traitement d'images 200 calcule un score de corrélation S2, ..., S5 pour l'ensemble de 20 pixels intermédiaire ainsi qu'un score de corrélation S1 pour le premier ensemble de pixels PBmin(1), ..., PBmin(5) et un score de corrélation S6 pour le deuxième ensemble de pixels PBmax(1), ..., PBmax(5). Dans une étape E13, le module de traitement d'images 200 détermine enfin, dans la deuxième image 12, l'ensemble de pixels dont le score de corrélation le plus 25 élevé (le score S3 dans cet exemple). Le pixel de cet ensemble correspondant à la projection du pixel PA(1) constitue le pixel qui a la meilleure correspondance avec le pixel PA(1) sélectionné dans la première image 11, en termes de représentation de la même zone spatiale de l'environnement du véhicule 1. On notera qu'un raffinement sous-pixellique peut être réalisé pour obtenir une 30 meilleure précision en prenant compte de scores voisins. Pour les objets dynamiques, la rotation et translation entre les images sont exprimés par rapport à un repère monde qui est lié à l'objet dynamique. Le procédé selon l'invention permet donc de détecter aisément et efficacement des objets dans les images capturées par la caméra 100 afin d'assister le 35 conducteur dans sa conduite du véhicule 1. 3052582 13 Il est précisé, en outre, que la présente invention n'est pas limitée aux exemples décrits ci-dessus et est susceptible de nombreuses variantes accessibles à l'homme de l'art. REVENDICATIONS1. Procédé de traitement d'images (11, 12) acquises par une caméra (100) d'un véhicule automobile (1), ledit procédé comprenant les étapes de : - acquisition (El) d'une première image (11) et d'une deuxième image (12) par la caméra (100), - détermination (E2) d'une matrice de rotation (R) et d'une matrice de translation (T) entre la première image et la deuxième image, - sélection (E3) d'au moins un pixel (PA(1)) dans la première image (11), ledit procédé étant caractérisé en ce qu'il comprend les étapes suivantes : - pour chaque pixel sélectionné (PA(1)) dans la première image (11) : détermination (E4), dans la première image (11), d'un ensemble initial de pixels (PA(1), ..., PA(5)) comprenant le pixel sélectionné (PA(1)) et une pluralité de pixels (PA(2), ..., PA(5)) localisés au voisinage du pixel sélectionné (PA(1)), - détermination (E7), dans la deuxième image (12), d'un premier ensemble de pixels (PBmin(1), ..., PBmin(5)) par projection, sur un plan (W) prédéterminé situé à une distance minimale (Dmin) prédéterminée, de l'ensemble initial déterminé (PA(1), ..., PA(5)), à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, ledit premier ensemble (PBmin(1), ..., PBmin(5)) comprenant un premier pixel (PBmin(1)) correspondant au pixel sélectionné (PA(1)) dans la première image (11), - détermination (E8), dans la deuxième image (12), d'un deuxième ensemble de pixels (PBmax(1), ..., PBmax(5)) par projection sur le plan prédéterminé (W) situé à une distance maximale (Dmax) prédéterminée, de l'ensemble initial déterminé (PA(1), ..., PA(5)), à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, ledit deuxième ensemble (PBmax(1), ..., PBmax(5)) comprenant un deuxième pixel (PBmax(1)) correspondant au pixel sélectionné (PA(1)) dans la première image (11), détermination (E9) d'un segment (U) reliant le premier pixel (PBmin(1)) et le deuxième pixel (PBmax(1)), sélection (El 0) d'une pluralité de points ((PB2(1),..., PB5(1)) sur le segment déterminé (U), 3052582 15 pour chaque point ((PB2(1),..., PB5(1)) sélectionné : - calcul (E11A) de la distance (D2, ... D5) du plan de projection prédéterminé (W), - détermination (E11B), dans la deuxième image (12), d'un ensemble 5 de pixels intermédiaire {(PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), - - - ; PB5(5))} par projection sur le plan prédéterminé (W) situé à la distance (D2, ... D5) calculée, de l'ensemble initial déterminé (PA(1), ..., PA(5)), à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, 10 pour chaque ensemble de pixels {{(PBmin(1), ... ; PBmin(5)), (PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5)) ; (PBmax(1), ... ; PBmax(5))} associé à un point (PBmin(1), PB2(1), ..., PB5 (1), PBmax(1)) du segment (U) déterminé, calcul (E12) d'un score de corrélation (S1,...,S6), - détermination (E13) dans la deuxième image (12), à partir du score de 15 corrélation (S1,...,S6) calculé, du pixel correspondant à un même objet sur la première image (11) et sur la deuxième image (12). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre une étape (E5) de détermination de la distance minimale (Dmin) et de la distance maximale (Dmax). 20 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce qu'il comprend en outre une étape (E6) de détermination du plan (W) de projection. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le score de corrélation (51,...,56) d'un ensemble de pixels {{(PBmin(1), ... ; PBmin(5)), (PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5)) ; (PBmax(1), ... ; PBmax(5))} 25 associé à un point (PBmin(1), PB2(1), ..., PB5 (1), PBmax(1)) du segment (U) déterminé est calculé à partir de la somme des différences absolues entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé (PA(1), ..., PA(5)). 5. Dispositif (10) de traitement d'images pour véhicule automobile (1), ledit 30 dispositif (10) comprenant une caméra (100) apte à acquérir une première image (11) et une deuxième image (12) et un module de traitement d'images (200) configuré pour : - déterminer une matrice de rotation (R) et une matrice de translation (T) entre la première image (11) et la deuxième image (12) acquises par la caméra (100), - sélectionner au moins un pixel (PA(1)) dans la première image (11), 3052582 16 ledit dispositif étant caractérisé en ce que le module de traitement est en outre configuré pour : - pour chaque pixel (PA(1)) sélectionné dans la première image (11) : - déterminer, dans la première image (11), un ensemble initial de 5 pixels (PA(1), ..., PA(5)) comprenant le pixel sélectionné (PA(1)) et une pluralité de pixels (PA(2), ..., PA(5)) localisés au voisinage du pixel sélectionné (PA(1)), - déterminer, dans la deuxième image (12), un premier ensemble de pixels (PBmin(1), ..., PBmin(5)) par projection, à partir de la matrice de 10 rotation (R) et de la matrice de translation (T) déterminées, de l'ensemble initial déterminé (PA(1), ..., PA(5)) sur un plan (W) prédéterminé situé à une distance minimale (Dmin) prédéterminée, ledit premier ensemble (PB(1), ..., PB(5)) comprenant un premier pixel (PB(1)) correspondant au pixel sélectionné (PA(1))dans la première image (11), 15 - déterminer, dans la deuxième image (12), un deuxième ensemble de pixels (PBmax(1), ..., PBmax(5)) par projection, à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, de l'ensemble initial déterminé (PA(1), ..., PA(5)) sur le plan (W) prédéterminé situé à une distance maximale (Dmax) prédéterminée, ledit deuxième 20 ensemble (PBmax(1), ..., PBmax(5)) comprenant un deuxième pixel (PBmax(1)) correspondant au pixel sélectionné (PB(1)) dans la première image (11), - déterminer un segment (U) reliant le premier pixel (PBmin(1)) et le deuxième pixel (PBmax(1)), 25 - sélectionner une pluralité de points ((PB2(1),..., PB5(1)) sur le segment déterminé (U), - pour chaque point ((PB2(1),..., PB5(1)) sélectionné : - calculer la distance (D2, ... D5), appelée distance intermédiaire, du plan de projection (W) prédéterminé, 30 - déterminer, dans la deuxième image (12), un ensemble de pixels intermédiaire {(PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5))} par projection, à partir de la matrice de rotation (R) et de la matrice de translation (T) déterminées, de l'ensemble initial déterminé (PA(1), 3052582 17 ..., PA(5)) sur le plan (W) prédéterminé situé à la distance intermédiaire (D2, ... D5) calculée, pour chaque ensemble de pixels {{(PBmin(1), ... ; PBmin(5)), (PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5)) ; (PBmax(1), ... ; PBmax(5))} associé à 5 un point (PBmin(1), PB2(1), ..., PB5 (1), PBmax(1)) du segment (U) déterminé, calculer un score de corrélation (S1,...,S6), déterminer dans la deuxième image (12), à partir du score de corrélation (51,...,56) calculé, le pixel correspondant à un même objet sur la première image (11) et sur la deuxième image (12). 10 6. Dispositif (10) selon la revendication 5, caractérisé en ce que le module de traitement d'images (200) est configuré pour déterminer la distance minimale (Dmin) et la distance maximale (Dmax). 7. Dispositif (10) selon l'une des revendications 5 et 6, caractérisé en ce que le module de traitement d'images (200) est configuré pour déterminer le plan (W) de 15 projection. 8. Dispositif (10) selon l'une quelconque des revendications 5 à 7, caractérisé en ce que le module de traitement d'images (200) est configuré pour calculer le score de corrélation (51,...,56) d'un ensemble de pixels {{(PBmin(1), ... ; PBmin(5)), (PB2(1), ... ; PB2 (5)) ; ... ; (PB5(1), ... ; PB5(5)) ; (PBmax(1), ... ; PBmax(5))} associé à un 20 point (PBmin(1), PB2(1), ..., PB5 (1), PBmax(1)) du segment (U) déterminé à partir de la somme des différences absolues entre les niveaux de gris des pixels dudit ensemble et les niveaux de gris de l'ensemble initial déterminé (PA(1), ..., PA(5)). 9. Véhicule automobile (1), caractérisé en ce qu'il comprend un dispositif (10) selon l'une quelconque des revendications 5 à 8.