Détection et suivi des objets dans des séquences vidéo
Transcription
Détection et suivi des objets dans des séquences vidéo
Détection et suivi des objets dans des séquences vidéo Cours de 2 heures par J. Benois-Pineau, Pr. Université Bordeaux1 1 Sommaire • 1. Detection des pixels en mouvement dans des scènes avec le fond statique. • 2. Méthodes simples d’estimation du mouvement • 3. Detection des objets en mouvement propre dans des séquences avec la caméra mobile • 4. Suivi des objets 2 1. Détéction des pixels en mouvement Méthode de Stauffer et Grimson pour l’extraction d’arrière plan/objet d’avant plan 3 Approche • Modéliser les valeurs de chaque pixel à l’aide de densités de probabilités Gaussiennes. • Classifier les pixels: arrière ou avant plan 4 Gaussian Mixture Model (GMM) • Initialisation : X = {x1 ,..., xt } = historique des valeurs des pixels sur les dernières images de la vidéo avec = 5 Gaussian Mixture Model (GMM) • Modéliser l’historique d’un pixel à l’aide de (entre 3 et 5) densités de probabilités Gaussiennes: P ( xt ) = ∑k =1 wk ,t .η ( xt µ k ,t , σ k2,t ) K – – ∶ poids accordé à chaque gaussienne. : distribution gaussienne de moyenne et de matrice de covariance au temps , 6 Gaussian Mixture Model (GMM) Single gaussian distribution 3 Gausians distribution Distribution de l’intensité des pixels modélisé par 1 gaussienne (bleu clair) et GMM 7 Classifier l’arrière plan • Evaluer chaque pixel pour déterminer si il représente l’arrière plan. • Pixels qui ne correspondent pas aux gaussiennes représentant l’arrière plan sont considérés à l’avant plan. 8 Estimer/mettre à jour les paramètres du modèle Intégration de chaque nouvelle observation au modèle: – Vérification de l’appartenance d’une nouvelle valeur de pixel auprès des K Gaussiennes existantes (représentant l’arrière plan). – Appartenance si la valeur de est comprise dans , d’une distribution 9 Estimer/mettre à jour les paramètres du modèle Si appartenance trouvée, mise à jour des paramètres de la densité de probabilité: wk ,t = (1 − α ) wk ,t −1 + αv( wk xt ) µ k ,t = (1 − α ) µ k ,t −1 + ρxt σ k2,t = (1 − α )σ k2,t −1 + ρ ( xt − µ k ,t ) 2 Avec • le taux d’apprentissage (dans [0,1]). • v( wk xt ) = 1 si η k (µ k , σ k2 ) est la gaussienne correspondante à • ρ = αη ( xt µ k ,t , σ k2,t ) 10 Estimer/mettre à jour les paramètres du modèle Si appartenance non trouvée: La distribution de poids le plus faible est remplacée par une nouvelle distribution avec: – Moyenne de la valeur du nouveau pixel – Grande valeur de Variance – Faible valeur de Poids 11 Détermination des Gaussiennes d’arrière-plan • Observations: – Objets en mouvement produisent une plus grande variance qu’un objet statique - VARIANCE – Plus de données pour les distributions d’arrière plan car répétées - PERSISTENCE 12 Détermination des Gaussiennes d’arrière-plan • Idée basée sur ces observations: Choisir les Gaussiennes de grande persistance et faible variance 13 Détermination des Gaussiennes d’arrière-plan • Pour l’implémentation de cette idée, les Gaussiennes sont triées par valeur de • Premières distributions choisies comme modèle d’arrière-plan avec : = Où %= ! "# >% & _ (_) *+,& _ . /,_) *+,14 Exemple d’extraction d’arrière plan Vidéo de Csaba Benedek: http://web.eee.sztaki.hu/~bcsaba/demo_backgroundSynth.htm 15 Applications • Surveillance du traffic (Détecter de véhicules, personnes) 16 Applications • Surveillance du traffic (Détecter de véhicules, personnes) • Suivi d’objets • Reconnaissance d’actions humaines (courir, marcher, sauter) • … 17 2. Méthodes simples d’estimation du mouvement 18 Estimation du mouvement Hypothèse d’invariance de luminance y I(x, y , t) t Une séquence vidéo en l’absence de bruit: I(x, y, t) = I(x+dx, y+dy, t+Δt) DFD r (x, y,d ) = I I(x,y,t) - fonction d’intensité lumineuse (x x + dx , y + dy , t + ∆ t )− I (x, y,t) = 0 d=(dx, dy)T, la projection du déplacement réel 3D dans le plan image. Le champ vectoriel D(x,y)= {(dx, dy)T } est appelé le champ dense de déplacement 19 Estimation du mouvement à la base des blockspatches Approche : mise en correspondance (basée bloc) Critères à optimiser : r MAD= min d ∈F MSE = min r d ∈ F I(t-dt) Fenêtre F ∑ r p∈ B r r r I ( p,t) − I ( p + d ,t − ∆t) 1 Card (B ) ∑ r p∈ B (I ( r p = ( x , y )T avec r r r p ,t) − I ( p + d ,t − ∆ t) )2 I(t) Bloc B 20 Recherche à trois pas (Koga’81) Principe : l’affinage du pas de recherche 2 2 2 1 1 1 0 2 2 1 2 3 3 3 3 2 3 2 3 3 3 1 1 1 1 1. Pas=4. Evaluer MAD aux pixels « 0 » et « 1 » Si min(MAD) =MAD(0) – alors bloc stationnaire Sinon Fenêtre de recherche + 7 pels 2. Pas=Pas/2. Evaluer MAD aux pixels « 2 » 3. Pas=Pas/2. Evaluer MAD aux pixels « 3 » 21 Recherche à trois pas (Koga’81) 2 2 2 1 1 1 0 2 2 1 2 3 3 3 2 3 2 3 3 3 3 1 1 1 1 Modifications : - Comparaison de min(MAD) avec un seuil T - Si min(MAD)<T alors arrêt - Sinon recherche autour de la position courante avec le pas/2 (recherche « logarithmique »). Le vecteur de déplacement optimal 22 3. Détection des objets en mouvement propre dans des séquences avec la caméra mobile 23 Méthode de détection des objets Input Previous Frame (1) Motion-compensated Frame Differencing I (t −1) Input Current Frame (2) Estimation of Foreground Filter Model I (t ) (3) Detection of Foreground Objects 24 Principes Compensation du mouvement, Récuperation des pixels avec l’erreur forte Estimation de la loi – histogramme Exemples de détéction des pixels d’avant - plan 25 (1) Motion-compensated Frame Differencing Let – I(k-1), I(k) be two consecutive frames – ~ I (k −1) is a transformed form of I(k-1), according to the camera motion between the two frames I(k-1), I(k). – E(k) is an error image which shows those objects that are moving independently from the camera: ~ E(x, y, k) = I (x, y, k − 1 ) − I(x, y, k) E m I ( x, y, k ) ( x, y, k ) = if 0 if E ( x , y , k ) > th E ( x , y , k ) ≤ th 26 Deux images consécutives: I(k-1) and I(k) La différence absolue deux images avant (gauche) et après (droit) compensation du mouvement 27 (1) Motion-compensated Frame Differencing We are adding color information to the error image from the original frame: E m I ( x, y, t) ( x, y, t) = if 0 if E ( x , y , t ) > th E ( x , y , t ) ≤ th where I is a 3 channel frame taken by the camera, E is the gray scale error image. 28 (2) Estimation of Foreground Filter Model Similar to the Background models used for still cameras, but: Used only on candidate foreground pixels (the pixels of MEI) Only a few measured values are available (~15) Kernel-based estimation of the Probability Density Function (PDF): f x , y (v ) = n 1 n(2π ) d ∑ 2 i =1 1 H (v i ) 1 e − ( 1 (v − vi )T H −1 ( vi ) (v − vi ) 2 ) 2 where v is the current value for the (x,y) point vi is the ith measurement for the (x,y) point taken from a patch, n is the number of measurements H(vi) is bandwidth matrix of the Gaussians (we used Sample point estimator) 29 (3) Detection of Foreground Objects • Filtering the Modified Error Image based on the calculated PDF model: m E ( x , y ) if f x , y ( v ) < th E ( x, y ) = f x , y ( v ) > th 0 if m fg • The threshold: – depends on the measurements at the given point – different for each pixel • Density Based clustering algorithm (DBSCAN*) was used on foreground points to build foreground objects. *M. Ester, H.-P. Kriegel, J. Sander, X. Xu, A density-based algorithm for discovering clusters in large spatial databases with noise, in: Proc. of Second Int. Conf. on Knowledge Discovery and Data Mining, Portland, OR, 1996, pp. 226-231. 30 Masqu ed’avant-plan Classes d’avant –plan sur l’image d’origine Classes d’avant -plan 31 Results • To evaluate the algorithm we compared it to a base line method: a Gaussian Mixture Model based method* • 4 short test sequences were used. Precision / Recall / F-score Sequence Name # Frames GMM based method Proposed Method Francois 1 (Indoor) 60 0.050/ 0.33 / 0.09 0.37 / 0.91 / 0.52 Francois 2 (Indoor) 141 0.24 / 0.33 / 0.28 0.80 / 0.80 / 0.80 Daniel 1 (Outdoor) 90 0.27 / 0.43 / 0.33 0.62 / 0.57 / 0.60 Daniel 2 (Outdoor) 30 0.24 / 0.30 / 0.27 0.47 / 0.77 / 0.58 *Z. Zivkovic, F. Van Der Heijden, Efficient adaptive density estimation per image pixel for the task of background subtraction. In Pattern Recognition Letters, 27 (7), pp. 773-780, 2006. 32 4. Suivi des objets Méthode CamShift 33 CAMSHIFT • Continuously Adaptive Mean Shift (CAMSHIFT) – Basé sur l’algorithme mean-shift – Proposé par Gary BRADKY en 98 • Pour la segmentation d’images couleur – Adapté par la suite pour le suivi d’objet dans une séquence d’images couleur 34 Principe général • 4 étapes: – Initialisation: 1. Créer l’histogramme couleur représentant l’objet à suivre – Pour chaque nouvelle trame: 2. Calculer pour chaque pixel la probabilité d’appartenir à l’objet à suivre 3. Mettre-à-jour la boîte englobant l’objet (au dessus de la région la plus probable) 4. Mettre-à-jour la taille et l’angle de la boîte englobante 35 Initialisation • Calcul de l’histogramme couleur de l’objet suivre: – Dans l’espace de couleur TSV (HSV en anglais) – Chaque bar de l’histogramme représente le nombre pixels de même valeur – L’histogramme est calculé sur le canal de Teinte (Hue en anglais) 36 Distribution de probabilité • Estimer la probabilité qu’un pixel appartienne à l’objet suivi – Utilisation de l’histogramme calculé lors de l’initialisation comme table de correspondance – La probabilité d’appartenir à l’objet suivi: • représentée par la valeur de l’histogramme pour la valeur de la teinte du pixel • méthode de rétroprojection (Back projection en anglais) Trame originale Trame suivante Source: docs.opencv.org Rétroprojection 37 Mean-shift • Trouve les maxima d’une distribution de probabilité • Pour chaque pixel (x,y) de l’image initiale la probabilité d’appartenance à la loi apprise est calculée : I(x,y). – La taille de l’objet recherché doit être donnée à l’initialisation. Fenêtre W – Sur la trame suivante, W est initialisée à position quelle occupait sur la trame précédente. – W est déplacée tant que: • Le déplacement est supérieur à un seuil T • Le nombre maximal d’itérations n’est pas atteint. – Pour chaque itération sont calculés: • Le barycentre de W • Le moment d’ordre zéro • W est centrée sur le barycentre (xc, yc) 38 Mean-shift Source: Rachid Belaroussi 39 CAMSHIFT • Appliquer mean-shift jusqu’à sa convergence – On obtient une nouvelle fenêtre Wf – La taille de Wf est agrandie pour évaluer les paramètre de l’ellipse • Les paramètres de l’ellipse sont évalués à l’aide des moments du second ordre – W devient la boite englobante de l’ellipse – Les étapes précédentes sont réitérées 40 CAMSHIFT Source: Rachid Belaroussi 41 Bibliographie • • • • • • 1.D. Comaniciu, V. Ramesh, P. Meer: Kernel-based object tracking. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI),vol.25, pp.564577, 2003. ↑ 2. D. Comaniciu, P. Meer: Mean shift: A robust approach toward feature space analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), vol.24, pp.603-619, 2002. 3. Dániel Szolgay, Jenny Benois-Pineau, Rémi Mégret, Yann Gaëstel, Jean-François Dartigues: Detection of moving foreground objects in videos with strong camera motion. Pattern Anal. Appl. 14(3): 311-328 (2011) 4. Lionel Carminati, Jenny Benois-Pineau: Gaussian mixture classification for moving object detection in video surveillance environment. ICIP (3) 2005: 113-116 5. Petra Krämer, Jenny Benois-Pineau, Jean-Philippe Domenger: Scene similarity measure for video content segmentation in the framework of a rough indexing paradigm. Int. J. Intell. Syst. 21(7): 765-783 (2006) 6. A. Murat Tekalp, « Digital Video Processing », Prentice Hall, 1995 42