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