• Aucun résultat trouvé

Suppression des ombres

4 Prise en compte du contexte

4.4 Suppression des ombres

Nous avons débuté nos travaux sur l’utilisation du contexte pour proposer une solution permettant de gérer convenablement les ombres portées. En effet, les ombres portées des objets en mouvement sont souvent très mal dissociées de l'objet qui les a projetées, voire pas du tout, en particulier pour les objets qui évoluent sur le sol, tels que les voitures ou les piétons. Sanin et al. [73] présentent un état de l’art assez complet des techniques de détection des ombres et classent les algorithmes de détection des ombres en fonction des caractéristiques utilisées :

 Les méthodes basées sur la chromaticité utilisent généralement un modèle d’atténuation de couleur linéaire : un pixel ombré diminue son intensité (c’est-à-dire s’assombrit) sans modifier la chromaticité. Dans ce contexte, il est souvent souhaitable d'utiliser un espace colorimétrique facilitant la séparation intensité / chromaticité telle que le HSV [74] ou le CIELAB [75].

 Les méthodes basées sur la physique utilisent les propriétés physiques des sources de lumière et/ou les propriétés physiques des surfaces des matériaux afin de détecter les ombres. Nadimi et Bhanu [76], par exemple, modélisent à la fois les contributions du soleil (lumière blanche) et du ciel (lumière bleue) pour construire leur modèle

IV - Détection d’objets en mouvement

93

d'atténuation de couleur. Huang et Chen [77] utilisent un modèle d'éclairage plus général appelé modèle de réflexion dichromatique bi-illuminant pour détecter les ombres. Finlayson et al. [78] émettent des hypothèses sur le capteur de la caméra afin de dériver une image intrinsèque et de supprimer les ombres.

 Les méthodes basées sur la géométrie déduisent les ombres projetées de la description géométrique des objets composant la scène courante. Ces méthodes sont bien adaptées à des ombres d’objets spécifiques telles que les voitures [79] ou les piétons. Ils supposent qu'il n'y a qu'une seule source de lumière et que l'ombre est projetée sur une surface plane.

 Les méthodes basées sur la texture supposent que les caractéristiques de texture d'une région donnée sont généralement préservées lorsqu'elles sont situées dans l’ombre d’un objet. Ces méthodes fonctionnent généralement en deux étapes: d’abord, elles sélectionnent les pixels d’ombre candidats (un détecteur d’ombre faible convient parfaitement), puis mettent en corrélation la texture de la région candidate de l’image en cours avec celle du modèle de fond [80].

4.4.2 Modélisation

Dans le travail de thèse de Matthieu Roger [10], nous avons proposé une autre approche permettant de traiter le problème de l’ombre. Nous avons exploré la possibilité d'utiliser des connaissances contextuelles facilement disponibles, telles que les coordonnées GPS de la caméra ainsi que la date et l’heure de l'observation, pour prédire les pixels de l'image susceptibles de faire partie de l'ombre lié à l’ensoleillement.

La première étape de notre modèle de prévision des ombres estime les ombres projetées par les bâtiments environnants. Un aspect novateur de notre travail consiste à inclure les données OpenStreetMap afin de créer un modèle de scène géométrique. La construction d’un modèle géométrique pour son utilisation en vidéo n’est en soit pas nouvelle. En effet, Jackson et al. [81] construisent leur modèle de scène en l’apprenant à partir de l’observation des occultations des objets en mouvement. D’autres auteurs [82] [83] utilisent des modèles 3D de scènes virtuelles hautement détaillées. Dans notre cas, nous utilisons un modèle de caméra sténopé classique et un environnement 3D basé sur les données d’OpenStreepMap. Les bâtiments sont donc modélisés à partir de polygones extrudés comme indiqué précédemment. Cette première étape permet d’indiquer les zones de l’image qui sont dans l’ombre des bâtiments et dans lesquelles nous n’avons pas à rechercher l’ombre des objets en mouvement.

La deuxième étape consiste à estimer l’ombre portée des objets en mouvement de façon à la supprimer du masque de mouvement. Cette deuxième étape est un peu plus complexe mais utilise le même principe de projection des ombres.

Par souci de simplicité, nous ne considérons que les ombres causées par le soleil et projetées sur le sol. De plus, nous supposons que le soleil se comporte comme une lumière directionnelle, c'est-à-dire une lumière ponctuelle placée à l’infini. Cette simplification est justifiée par le fait que la distance entre la terre et le soleil est beaucoup plus grande que les distances impliquées dans la scène.

IV - Détection d’objets en mouvement

94

Figure 59 : illustration de la technique de projection plane des ombres.

Avec l’ensemble de ces hypothèses ainsi que la paramétrisation des sols plats mentionnée précédemment, les ombres peuvent facilement être calculées en utilisant une projection parallèle comme décrit dans [84]. Nous projetons des sommets sur le plan de sol (z = 0) parallèlement à la direction du soleil. Une telle projection peut être réalisée avec la matrice P suivante :

𝑃 =

𝐿 0 −𝐿 0

0 𝐿 −𝐿 0

0 0 0 𝐿

où 𝐿⃗ = 𝐿 , 𝐿 , 𝐿 est le vecteur de la direction du soleil. Puisque nous ne nous intéressons qu’à la direction de L pour la projection de l’ombre, nous pouvons imposer une contrainte de normalisation et la paramétrer avec seulement deux angles : azimut et altitude, définis par rapport au nord (respectivement horizon) et positifs vers l’est (respectivement zénith).

Figure 60 : système de coordonnées horizontales permettant d’exprimer la direction d’observation du Soleil. Nous avons également fait figurer le repère de la scène (en rouge) afin de faciliter la visualisation de

la conversion donnée.

Dans ce système, l’altitude est repérée par rapport au plan horizontal local d’observation et varie entre 0° (horizon) et 90° (zénith). L’azimut est, quant à lui, repéré par rapport au Sud (0°) et varie positivement vers l’Ouest (+90°), négativement vers l’Est (-90°). Notons que d’autres conventions sont également couramment utilisées pour paramétrer l’azimut, notamment en repérant la direction à partir du Nord.

Pour convertir ces angles d’azimut () et d’altitude (a) en une direction (Lx, Ly, Lz), exprimée dans le repère de la scène, on utilisera l’équation suivante :

𝐿 = cos(𝑎) cos (Γ + 𝜋 − Γ) 𝐿 = cos(𝑎) sin (Γ + 𝜋 − Γ)

IV - Détection d’objets en mouvement

95

Où N désigne l’angle entre l’axe des abscisses du repère de la scène et la direction du nord. Pour calculer la projection des ombres, il ne nous reste plus qu’à déterminer la direction du soleil en fonction des coordonnées GPS, de la date et de l’heure. Le calcul de la position du soleil n’est pas trivial car elle est affectée par de nombreuses perturbations : influence de la lune, diminution de la vitesse de rotation de la Terre, réfraction atmosphérique, etc. Plusieurs auteurs ont proposé divers algorithmes [85][86][87][88] traduisant un compromis différent entre l’exactitude de la prédiction (au cours d'une période de validité donnée) et la complexité du modèle. Nous avons basé notre travail sur l’un des algorithmes proposés par Grena [89] qui permettait de trouver le meilleur compromis entre précision (erreur maximale de 0,009°) et complexité. Outre les coordonnées de position et l'heure d'observation, cet algorithme corrige la position apparente du soleil en fonction de la température, de la pression et de l’irrégularité de la rotation de la terre T. La pression et la température sont utilisées pour la correction de la réfraction. Dans notre implémentation, nous avons choisi de fixer ces trois derniers paramètres à des approximations raisonnables, respectivement : 25°C, 1 atm et 67 s.

4.4.3 Prédiction des ombres liées à la scène

Nous avons à présent tous les éléments permettant de calculer l’ombre portée des bâtiments situés dans le voisinage de la caméra. Afin de valider notre modèle, nous avons comparé les masques obtenus avec des images réelles [10]. L’image suivante (Figure 61) montre une série d’acquisitions réalisées entre le 18/07/2012 14h et le 19/07/2012 11h sur le parking bordant les locaux de la société Foxstream (GPS : N45.7539326 E4.925457). Dans cette séquence, nous constatons que les contours des bâtiments ainsi que leurs ombres sont globalement correctement prédits.

Figure 61 : exemple de prédiction des ombres sur différents moments de la journée. Les contours des bâtiments sont représentés en vert et les contours de l’ombre prédite en rouge.

4.4.4 Suppression de l’ombre des piétons

Le calcul de l’ombre portée des bâtiments nous a surtout permis de valider l’ensemble de la chaine de modélisation et de rendu 3D. Fort des excellents résultats obtenus, nous avons

IV - Détection d’objets en mouvement

96

poursuivi ce travail pour supprimer l’ombre des piétons du masque de mouvement. La difficulté supplémentaire que nous avons ici et que, contrairement aux bâtiments, nous n’avons pas la position des personnes dans la scène. Nous ne disposons que d’un masque de mouvement comme présenté dans la figure suivante (Figure 62) et d’un modèle de projection.

Figure 62 : exemple d’une image avec son masque de mouvement associé

Par souci de simplicité, nous modélisons les piétons par un cylindre de 60 cm de diamètre et d’1m75 de hauteur, posé sur le sol. L’utilisation d’un cylindre permet de nous affranchir de l’orientation des piétons. A partir de ce modèle de piéton et de la calibration de la caméra, nous pouvons calculer la projection d’une personne debout sur l’ensemble de la scène et calculer le rectangle englobant de la silhouette dans l’image.

Figure 63 : exemple de projection d’un cylindre représentant un piéton dans une scène préalablement calibrée. La grille (en bleu) permet de visualiser le plan pour z=0 (le sol). Le cylindre (en jaune) est la

projection de notre modèle cylindrique de personne et le rectangle rouge représente le rectangle englobant.

Nous utilisons le rectangle englobant de façon à accélérer la recherche des zones du masque de mouvement susceptibles de contenir la projection des personnes avec leur ombre. En effet, l’utilisation de boîtes rectangulaires alignées sur les axes de l’image se prête bien à des détections accélérées grâce aux images intégrales [22]. Une fois les zones candidates détectées, nous pouvons reprendre notre modèle cylindrique de personne pour le projeter dans la scène mais surtout pour estimer l’ombre portée d’une personne. Nous pouvons alors supprimer les pixels détectés en mouvement qui se superposent à l’ombre calculée. Un certain nombre de précautions sont prises avant de supprimer un pixel, notamment, nous vérifions si le pixel n’appartient pas à une autre personne. La figure suivante (Figure 64) reprend les différentes étapes du processus.

IV - Détection d’objets en mouvement

97

Figure 64 : illustration des principales étapes de notre algorithme de soustraction de l’ombre des piétons. Avec de gauche à droite : l’image courante, le masque de mouvement associé, le calcul des régions candidates (cylindre vert), l’estimation de l’ombre portée par ces régions candidates et le résultat final.

Sur cet exemple, nous pouvons remarquer que la solution proposée est robuste lorsque le masque de mouvement initial est de mauvaise qualité. Par ailleurs, la méthode reste également robuste même lorsque les paramètres intrinsèques et extrinsèques de la caméra ne sont pas connus avec exactitude. Sur la figure suivante (Figure 65), nous présentons rapidement quelques résultats sur différentes séquences vidéo. Pour les deux premières vidéos, nous avions à notre disposition l’ensemble des informations permettant de générer les modèles de caméra et de scène. Pour les deux suivantes, qui sont issues du challenge PETS 20098, nous avons pu les estimer simplement et les résultats sont satisfaisants.

Figure 65 : résultats de la suppression d’ombre sur différentes vidéos.

Nous avons principalement axé notre travail sur la suppression de l’ombre des piétons qui constituent une cible majeure en vidéo protection mais la méthode proposée s’applique à tout autre type d’objet dans la mesure où un gabarit standard peut être utilisé (Figure 66). Nous

IV - Détection d’objets en mouvement

98

l’avons d’ailleurs utilisé pour supprimer l’ombre des véhicules mais pour cela nous devons faire face à une autre difficulté. En effet, contrairement aux piétons, nous pouvons difficilement nous affranchir de l’orientation du véhicule. Nous aurions pu utiliser le flot optique pour déterminer la direction de circulation du véhicule et orienter notre gabarit en conséquence mais nous avons préféré utiliser les informations de suivi (position, taille, vitesse) obtenues à partir des images précédentes.

Figure 66 : illustration du gabarit (orange) utilisé pour un véhicule.

L’intégralité de la méthode proposée ainsi que le processus de validation sont décrits dans [10]. Par ce travail, nous avons pu montrer que l’utilisation du contexte apporte une véritable valeur ajoutée au processus d’analyse.

5 Détecteurs spécialisés