Procédé de détection de cibles dans des images stéréoscopiques
La présente invention concerne un procédé de détection de cibles dans des images stéréoscopiques. Elle peut s'appliquer dans tout domaine utilisant des caméras pour détecter des objets. Il peut s'agir par exemple d'applications de surveillance, d'assistance ou encore de sécurité embarquées à bord d'un véhicule.
La problématique générale est de rechercher dans des images la présence de cibles de divers types, qu'il s'agisse d'objets ou de personnes, les cibles présentant certaines caractéristiques conformes à un modèle. Par exemple, il peut s'agir d'un modèle paramétrique, comme un rapport entre largeur et hauteur qui doit valoir une valeur λ donnée ou encore d'un modèle tridimensionnelle de type CAO.
Une telle méthode de détection de cibles basée sur un modèle devient difficile à mettre en œuvre en cas de grande variabilité d'apparence des cibles. Par exemple, l'apparence d'une personne peut varier grandement en fonction de sa posture ou de son habillement. La méthode peut même devenir impossible à mettre en œuvre. Par exemple, l'exploitant d'un parking aura d'immenses difficultés à détecter des camions dès lors qu'il ne dispose pas des modèles CAO des différents types de camion, dans la mesure où les constructeurs de camion ne distribuent pas les modèles CAO de leurs camions.
Dans ces cas où la modélisation des cibles s'avère difficile voire impossible, une solution connue consiste à mettre en œuvre une étape d'apprentissage statistique OFF-LINE, c'est-à-dire préalablement à l'exploitation du système de détection, et une étape de classification ONLINE, c'est-à-dire simultanément à l'exploitation du système de détection. En fait, l'étape de classification fait partie intégrante du processus de détection: si l'on considère un système pour détecter des piétons, une détection a lieu dès lors qu'une cible a été classifiée "piéton".
L'étape préalable d'apprentissage statistique consiste à apprendre à reconnaître des cibles grâce à un algorithme, qui extrait automatiquement les paramètres les plus pertinents des cibles, afin de les discriminer par
rapport aux autres éléments pouvant être présents sur les images. Ces paramètres discriminants sont utilisés plus tard lors de l'étape simultanée de classification. L'étape simultanée de classification est effectuée en temps réel sur les images les plus récemment fournies par les caméras. Cependant, les conditions d'exploitation durant l'étape simultanée de classification ne sont pas forcément exactement les mêmes que les conditions de mise au point durant l'étape préalable d'apprentissage. Ceci peut être dû à des facteurs propres au système de détection. En effet, la hauteur et/ou l'inclinaison des caméras peut varier d'une installation à une autre, par exemple du fait d'une variation de hauteur et/ou d'inclinaison du support sur lequel ils sont fixés. Notamment, l'angle d'inclinaison de caméras fixées sur l'avant d'un véhicule change en fonction de la charge du véhicule. Mais ceci peut également être dû à des facteurs extérieurs au système de détection. Ainsi, si l'on considère un système pour détecter des piétons, l'étape d'apprentissage peut être réalisée avec des personnes se tenant debout et des caméras montées bien horizontalement sur une voiture. Mais sur une pente ou une bosse passagère, les personnes ont tendance à se pencher pour compenser la pente, de sorte que leur apparence se retrouve inclinée par rapport à l'étape d'apprentissage. Qu'il s'agisse de facteurs propres ou extérieurs au système, il en résulte une nette dégradation des performances, notamment des cas de non-détections, la cible observée durant l'étape de classification n'ayant plus exactement la même apparence que lors de l'étape d'apprentissage.
Une solution classique consiste à effectuer un réapprentissage pour chaque configuration d'utilisation. Mais cette solution présente de nombreux inconvénients, elle est notamment longue et non automatisable et nécessite une réelle expertise ainsi que des outils ad hoc, ce qui exclut la plupart des utilisateurs. Une autre solution classique consiste à changer les seuils de détection pour récupérer les cibles non détectées. Un inconvénients majeur de cette solution est l'augmentation du nombre de fausses alarmes. Le nombre de fausses alarmes peut être réduit en ajoutant des étapes de post-traitement, notamment une étape de pistage des cibles. Mais la complexité du logiciel de mise en œuvre devient alors beaucoup plus élevée et ne garantit pas de pouvoir corriger toutes les erreurs.
La demande de brevet américain publiée sous le No US 2008/0310678 A1 divulgue un dispositif pour détecter les piétons. Ce dispositif met en œuvre une étape d'apprentissage et une étape de classification basées, entre autres, sur un modèle d'apparence de piéton. Ce dispositif présente les inconvénients précités, résultant en un nombre significatif attendu de fausses alarmes, du fait de la variabilité de l'apparence des piétons, non compensée par un système correctif prenant en compte les différences de configuration entre apprentissage et détection ON-LINE. L'article intitulé "B-spline modeling of road surfaces with an application to free-space estimation" (A.Wedel et al) divulgue une méthode consistant à représenter la surface d'une route par une B-spline et d'y mesurer des V-disparités afin de détecter les obstacles sur la route. Un inconvénient majeur d'une telle méthode utilisant un modèle paramétrique par B-spline, c'est qu'elle peut facilement être mise en défaut si la réalité s'écarte sensiblement du modèle. Un autre inconvénient d'une telle méthode basée sur la V-disparité, c'est qu'elle ne prend pas en compte les variations sur l'axe transversal et qu'elle est par conséquent inadaptée à des contextes génériques de circulation, c'est-à-dire autres que la route.
L'article intitulé "Real Time Obstacle Détection in Stereovision on Non Fiat Road Geometry Through V-disparity Représentation" (R.Labayrade et al) divulgue une méthode consistant à modéliser, à partir d'images stéréoscopiques, une route ainsi que les obstacles sur la route. Un inconvénient de cette méthode est qu'elle ne permet pas de classifier les obstacles. De plus, en faisant l'hypothèse que la route ne présente aucune inclinaison oblique par rapport au repère de la caméra, cette méthode est peu fiable dans un contexte générique de route non damée ou non goudronnée.
L'invention a notamment pour but de limiter le nombre de non détections sans pour autant augmenter le nombre de fausses alarmes, ceci même en cas de variabilité importante entre les conditions d'exploitation et les conditions d'apprentissage. Pour cela, l'invention propose une étape de redressement d'image visant à ramener les images observées par les
caméras durant l'exploitation dans une configuration proche de la configuration durant l'apprentissage, ce redressement diminuant voire annulant les distorsions géométriques de perspective, de manière à faciliter la correspondance entre les cibles apprises lors de l'apprentissage et celles observées durant l'exploitation. A cet effet, l'invention a pour objet un procédé de détection d'une cible présente sur au moins deux images d'une même scène capturées par des caméras distinctes. Le procédé comporte une étape préalable d'apprentissage de cibles dans des conditions de mise au point ainsi que, dans des conditions d'exploitation, une étape simultanée de classification d'objets présents sur les images, la cible étant réputée détectée dès lors qu'un objet est classifié comme étant l'une des cibles apprises pendant l'étape d'apprentissage. L'étape de classification inclut une étape d'adaptation d'au moins une des images aux conditions de mise au point dans lesquelles a eu lieu l'étape d'apprentissage.
Dans un mode de réalisation préférentiel, l'étape d'adaptation de l'image peut inclure une étape de redressement de l'image, de telle sorte que le plan de l'image redressée soit parallèle au plan des images utilisées pour l'étape d'apprentissage.
Avantageusement, l'étape d'adaptation de l'image peut alors inclure une étape de redressement d'une carte de disparité entre les deux images, de telle sorte que la carte redressée tienne compte du redressement de l'image.
Les étapes de redressement dépendant de paramètres de redressement, lesdits paramètres peuvent avantageusement être ajustables.
Par exemple, les paramètres de redressement peuvent être ajustés à la demande.
Dans un mode de réalisation préférentiel, les paramètres de redressement peuvent être asservis sur un angle a d'inclinaison de l'axe des caméras par rapport au sol dans un plan vertical.
Par exemple, l'angle a peut être estimé à partir de la pente d'une droite dans une collection d'histogrammes de disparités.
Par exemple, l'angle a peut être estimé à partir d'un décalage vertical entre une position d'une zone d'intérêt détectée sur une des images, la cible étant susceptible de se trouver dans ladite zone, et une position sur ladite image où la cible est effectivement détectée.
L'angle a peut être estimé selon ao=°F(y-y0), où F est une fonction.
L'angle a peut être estimé de façon incrémentale selon an+i
où n est un entier, F est une fonction et λ est un taux d'apprentissage.
Par exemple, F peut être la fonction identité ou la fonction signe qui à tout réel x associe -1 si x est négatif, associe 0 si x=0 et associe +1 si x est positif.
La présente invention a encore pour principal avantage qu'elle limite le recours à des composants extérieurs, ce qui permet de réduire les coûts et de faciliter l'intégration. De plus, un autre avantage d'un dispositif selon l'invention est qu'il s'adapte automatiquement à tout changement des conditions d'exploitation, à moyen terme comme à court terme.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard de dessins annexés qui représentent :
- les figures 1 a et 1 b, par un diagramme fonctionnel et une image redressée, un premier exemple de réalisation selon l'invention;
- la figure 2a et 2b, par un diagramme fonctionnel et une carte de disparité redressée, un deuxième exemple de réalisation selon l'invention;
- la figure 3, par un histogramme, un exemple de distribution de points de disparité autour d'une droite.
La figure 1 a illustre, par un diagramme fonctionnel, un premier exemple de réalisation de l'invention à partir d'une chaîne de détection par classification statistique classique comportant notamment deux caméras 1 et 2, un module 6 de calcul des disparités (ou profondeurs) entre les images de la caméra 1 et les images de la caméra 2, un module 7 de gestion de la carte
de disparité construite à partir des valeurs de disparité calculées par le module 6, un module 8 de détection des zones d'intérêt et un module 9 de classification en "cible" ou "non cible". A chaque intervalle de valeurs de disparité (ou de profondeur 3D) au niveau d'un pixel peut correspondre un niveau de gris, c'est pourquoi on parlera par la suite indifféremment de carte ou d'image de disparité (ou de profondeur 3D). La disparité est la différence en position de pixel entre deux images pour un même point de l'espace observé. La disparité est d'abord calculée, elle peut-être transformée en profondeur 3D.
L'invention propose d'ajouter des module 3 et 4 de redressement d'images, qui opèrent une transformation projective sur des images issues respectivement de la caméra 1 disposée à gauche d'un véhicule et de la caméra 2 disposée à droite du véhicule, de sorte que ces images sont corrigées géométriquement.
L'image à gauche sur la figure 1 b est un exemple d'image issue de la caméra 1 ou 2 avant redressement, cette même image étant représentée après redressement à droite sur la figure 1 b.
Sur l'image à gauche avant redressement, une personne se tenant debout, c'est-à-dire sensiblement verticale, apparaît franchement inclinée vers l'avant. Dans le haut de l'image, la tête de la personne apparaît rétrécie, alors que dans le bas de l'image, les pieds de la personne apparaissent agrandis.
Sur l'image à droite après redressement, la personne apparaît bien verticale. En fait, c'est le plan de l'image qui a été redressé de manière à être parallèle au plan des images utilisée durant l'apprentissage. Le plan d'une image s'entend ici comme tout plan perpendiculaire à l'axe de la caméra ayant capturé l'image. Il convient de noter que les paramètres de l'image, sa luminance notamment, ne sont pas directement affectés par le redressement, sauf pour quelques pixels, par exemple des pixels du fond qui se trouvent englobés dans les pieds.
La figure 2a illustre, par un diagramme fonctionnel, un deuxième exemple de réalisation de l'invention grâce à un module 14 de redressement d'image et un module 13 de redressement de carte de disparité. Le module
14 opère une transformation projective sur les images issues de la caméra 2, c'est-à-dire qu'il change l'orientation du plan des images issues de la caméra 2 comme explicité précédemment. Or, un changement d'orientation du plan d'une image issue de la caméra 2 s'accompagne d'un changement de distance par rapport au centre optique de la caméra 2, donc d'un changement de valeurs de disparité dans la carte de disparité entre les images issues des caméras 1 et 2, y compris pour les pixels de l'image qui ne changent pas de zone d'attribution comme les pixels qui étaient considérés dans le fond avant redressement et qui y restent après redressement. C'est pourquoi le module 13 opère une correction des valeurs de disparité dans la carte de disparité entre les images issues des caméras 1 et 2. Il convient de noter que, dans ce deuxième mode de réalisation, bien que le redressement de l'image comporte des approximations, l'angle à redresser n'étant connu qu'avec une précision limitée, celui-ci ne vient pas perturber le calcul de la disparité qui requiert pourtant beaucoup de précision.
La carte à gauche sur la figure 2b est un exemple, en niveaux de gris, de carte de disparité entre les images issues des caméras 1 et 2 avant redressement, cette même carte étant représentée après redressement à droite sur la figure 2b. On constate bien à droite, outre les corrections géométriques, la correction des valeurs de disparité, illustrée par des différences de niveau de gris par rapport à l'image de disparité non corrigée à gauche.
Dans un mode de réalisation préférentiel, les paramètres de redressement peuvent être ajustés grâce à un module 5 illustré sur les figures 1 a et 2a. En effet, même s'il est possible de spécifier les paramètres grâce à une mesure physique, c'est-à-dire de mesurer la hauteur de positionnement des caméras 1 et 2, de mesurer leur angle d'inclinaison dans un plan vertical par rapport au sol puis d'injecter une fois pour toutes ces informations dans les modules de redressement 3, 4, 13 et 14, il est quand même préférable de mettre à jour ces paramètres de temps en temps.
Il peut s'agir par exemple de les recalculer ponctuellement ou à la demande, à partir d'une procédure de calibration. Des capteurs additionnels peuvent alors fournir l'angle d'inclinaison dans un plan vertical des caméras 1 et 2 par rapport à la verticale.
Néanmoins, il est préférable d'asservir les paramètres de redressement à partir de données issues directement de la chaîne de détection. Tout d'abord, il n'est alors plus nécessaire d'utiliser des composants extérieurs, ce qui permet de réduire les coûts et de faciliter l'intégration du système. De plus, un ajustement régulier et fréquent des paramètres permet de s'adapter à tout changement à moyen terme, comme le chargement du véhicule qui modifie son inclinaison par rapport au sol et donc l'inclinaison des caméras 1 et 2. Mais surtout, l'ajustement régulier et fréquent des paramètres permet de s'adapter à toute perturbation plus éphémère, comme les modifications de pentes du terrain ou même les bosses. L'asservissement des paramètres peut être réalisé de plusieurs façons, comme illustrés par les figures 1 a et 2a.
Le module 5 peut par exemple ajuster les paramètres de redressement à partir de la carte de disparité gérée par le module 7, comme illustré sur les figures 1 a et 2a par une flèche allant du module 7 au module 5. En effet, il est possible d'estimer, à partir de l'image de disparité, l'inclinaison dans un plan vertical de l'axe des caméras 1 et 2 par rapport au sol. Pour cela, des histogrammes des disparités peuvent être construits comme illustré par la figure 3. Sur la figure 3, l'axe horizontal des abscisses représente les indices de ligne i des pixels (i, j) de l'image et l'axe vertical des ordonnées représente les k valeurs possibles de disparité au niveau d'un pixel. Pour chaque valeur d'abscisse correspondant à une ligne i de pixels de la carte de disparité, on construit verticalement l'histogramme de la disparité (ou de la profondeur 3D) le long de ladite ligne i de pixels. Ainsi, à la verticale d'une valeur d'indice i se trouvent autant de points que de valeurs possibles de la disparité (ou de la profondeur 3D), c'est-à-dire k valeurs possibles. En effet, c'est l'histogramme des valeurs qui est reporté verticalement, pas les valeurs elles-même. Par exemple, si la profondeur peut aller de 0 à 20 mètres échantillonnée tous les 10 centimètres, cela fait k=200 points verticalement, ceci quel que soit le nombre de pixels j sur la ligne i. Le nombre de pixels apparentés à chaque valeur de profondeur discrétisée se
traduit par un niveau de gris spécifique du point. Idéalement, les i °x°k points se distribuent autour d'une droite D inclinée, comme illustré par la figure 3. La pente de cette droite est directement liée à l'angle d'inclinaison dans un plan vertical entre le sol et l'axe des caméras 1 et 2, ce qui donne l'inclinaison verticale des caméras 1 et 2 dans le cas d'un sol plat. Des éléments horizontaux 31 et 32 observables sur la figure 3 correspondent alors à des objets verticaux, éventuellement des piétons.
Le module 5 peut également ajuster les paramètres de redressement à partir des positions des zones d'intérêt détectées par le module 8 et des cibles détectées par le module 9, comme illustré sur les figures 1 a et 2a par une flèche allant du module 8 au module 5 et par une flèche allant du module 9 au module 5. En effet, à partir de la carte de disparité gérée par le module 7, des positions de zones d'intérêt peuvent être extraites, d'abord tridimensionnelles en (x,y,z) puis bidimensionnelle en (x,y) par reprojection dans l'image, ces zones d'intérêt étant susceptibles de contenir des cibles. En cas d'inclinaison verticale de la caméra par rapport à l'inclinaison utilisée durant l'apprentissage, la reprojection (x,y) de la position des cibles est décalée verticalement par rapport à la réalité. Ces positions décalées (x,y) sont transmises au module 9 de classification pour analyse, qui opère son analyse sur une fenêtre plus large que la simple zone (x,y), incluant notamment la position réelle (x0,yo), inconnue jusqu'ici, afin de compenser les incertitudes de détection. Si le module 9 de classification fonctionne bien et qu'il y a bien une "vraie cible", le module 9 retrouve cette cible bien positionnée en (x0,yo)- La différence entre y et y0 peut alors être utilisée pour analyser le biais de la détection, qui est lié à l'inclinaison verticale de la caméra. Pour estimer ce biais, la différence (y - yO) peut être convertie en un angle a d'inclinaison dans un plan vertical selon une formule du type ao=°F(y-y0), où F désigne une fonction ajustable selon les besoins, par exemple la fonction identité ou la fonction signe. Ce biais peut également être estimé de façon incrémentale selon une formule du type an+i
où λ désigne un taux d'apprentissage à spécifier pour assurer un compromis entre stabilité et réactivité. Pour rendre la méthode plus robuste, il est possible de calculer une correction moyenne à effectuer, basée sur l'ensemble des différences entre y et y0 pour l'ensemble des cibles détectées dans l'image. En effet, une différence systématiquement de même
signe et d'amplitude comparable entre y et y0 pour l'ensemble des cibles de l'image renforce la probabilité que la différence observée soit bien révélatrice d'une erreur d'angle plutôt que la conséquence d'un bruit local.
Dans un mode de réalisation préférentiel, comme les modes de réalisation illustrés par les figures 1 a et 2a, le module 5 peut ajuster les paramètres de redressement en combinant les deux méthodes décrites précédemment, c'est-à-dire à partir de la carte de disparité et à partir des positions des zones d'intérêt et des cibles détectées.
L'invention décrite précédemment est applicable à toutes sortes d'applications de reconnaissance de cibles, dès lors qu'elles sont basées sur l'utilisation de capteurs vidéos et l'utilisation d'une méthode de classification statistique comportant une phase préalable d'apprentissage suivie d'une phase simultanée de détection. Il peut s'agir par exemple d'applications de surveillance, comme la reconnaissance visuelle de badges, la détection ou la classification d'objets comme les colis abandonnés dans les aéroports, la détection ou la classification de véhicules. Il peut s'agir également d'applications d'assistance et de sécurité, comme la détection de piétons ou de panneaux de signalisation pour équiper des voitures ou tout autre type d'engin mobile.