09 mouvement-2
-
Upload
moha-djerah -
Category
Documents
-
view
110 -
download
0
Transcript of 09 mouvement-2
Vision par ordinateur
Mouvement (deuxième partie)
Alain Boucher - IFI
2
Suivi de mouvement
(filtre de Kalman)
3
Suivi de mouvement (tracking)
Plusieurs étapes dans le mouvement
Identifier le mouvement dans les images
différence d’images
Estimer le mouvement dans les images
flot optique
Suivre le mouvement dans les images (tracking)
4
Suivi de mouvement (tracking)
But : suivre un objet sur plusieurs images en temps réel (une image après l’autre)
Problèmes : Suivre le même objet sans le perdre Trouver sa position dans chaque nouvelle image Séparer les différents mouvements de l’image
On étudiera ici le Filtre de Kalman Estimateur récursif optimal Modèle de prédiction linéaire
5
Suivre un objet dans l’image
On veut suivre un même objet sur plusieurs images
A partir des positions de l’objet dans les images passées, on veut trouver la position dans l’image courante
Positions d’un objet sur plusieurs images
position dans l’image 1
position dans l’image 2
position dans l’image 3
position dans l’image 4
position dans l’image 5
position dans l’image 6?
6
Prédiction, mesure et correction
Position initiale
Prédiction Correction
Mesure
Source : RC Johnson, A Brief Summarization of the Kalman Filter, V.A.S.T lab (USA).
Erreurs de mesure et mise à jour
mise à jourposition initialex
y
x
y
prédictionx
y
mesurex
y
Il faut calculer une erreur pour chaque prédiction. Les mesures aussi comporte des erreurs
(différentes des erreurs de prédiction)
Source : Temporal Filtering and Tracking, Introduction to Computer Vision, Stanford University (USA).
8
Erreur de mesure (segmentation)
Lorsqu’on segmente un objet dans l’image, ou lorsqu’on mesure la position d’un objet dans l’image, on a toujours des erreurs
On veut calculer la trajectoire de l’objet en diminuant les erreurs
Positions d’un objet sur plusieurs images
Position mesurée
Position réelle
9
Plusieurs mouvements dans l’image
Si plusieurs objets se déplacent en même temps, on veut suivre chaque objet séparément et sans les confondre
Exemple : match de football
Positions des objets sur plusieurs images
?
10
Représenter un objet dans l’image
On représente un objet à suivre par un point
Ce point est en fait un vecteur de caractéristiques Position x et y du point dans l’image Vitesse vx et vy du point dans l’image
exemple : vitesse vx de 2 pixels/image ± 0.3 pixel
Accélération ax et ay du point dans l’image
Taille (en pixels) de l’objet dans l’image
Exemple de vecteur avec position + vitesse : X =[
xyv x
v y]
11
Détection et suivi de personnes Exemple de classification des objets détectés (mouvement)
personne, groupe, train, bruit, … Pour chaque objet
boîte englobante minimale caratéristiques : position, ratio 3D, hauteur/largeur, …
Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
12
Plusieurs vecteurs de paramètres
On utilise plusieurs vecteurs différents :
Une prédiction sur le point dans l’image (x, y, vx, vy) Estimation de la nouvelle position du point dans l’image
Une mesure dans l’image (position x et y seulement) Après segmentation (ou autre), on mesure le point
Une correction sur le point (x, y, vx, vy) Estimation corrigée avec la mesure qui a été faite
13
Erreur sur les variables
On a deux types d’erreurs : Erreur sur la prédiction du point
Puisqu’il s’agit d’une estimation seulement Parce qu’un point peut changer de direction ou de vitesse
Erreur sur la mesure Venant surtout des algorithmes de traitement d’images
Hypothèse : chaque variable suit une loi normalex ~ N(µ,σ2) : loi normale de moyenne µ et d’écart-type σ
(ou de variance σ2)
14
Erreur sur les variables dépendantes
Les variables ne sont pas indépendantes Exemple : vitesse globale constante, mais vx et vy changent
On utilisera donc les covariances au lieu des variances :
x ~ N(µ,Σ) : loi normale de moyenne µ et de covariance Σ
Σ= Var x Cov x , y Cov x , y Var y = σ x
2 σ x , y2
σ x , y2 σ y
2 Exemple de matrice de covariance :
x
y
vx
vy
15
Filtre de Kalman
Estimateur récursif optimal et modèle de prédiction linéaire On se base plutôt sur les mesures récentes que sur le passé
lointain
On utilisera : X : un état calculé (prédiction ou correction) Y : une observation (ou mesure) dans l’image
But : calculer xt en connaissant xt-∆t et yt
xt-∆t : prédiction de la position/vitesse du point dans l’image
yt : mesure de la position du point dans l’image
xt : correction de la position/vitesse du point dans l’image
16
Bruit gaussien (loi normale)
Hypothèse d’un bruit gaussien et d’une loi normale
Etat courant (prédiction) :
xt ~ P(Xt | Xt-∆t) ~ N(Dt xt-∆t ; Σd,t) avec D comme modèle dynamique d’évolution de l’état(fiabilité du calcul versus la mesure dans l’image)
Observation courante (mesures) :
yt ~ P(Yt | Xt) ~ N(Mt xt ; Σm,t)avec M comme modèle de précision des mesures(précision des algorithmes de traitement d’images)
Hypothèses initiales : x0- et Σ0
- sont connus vecteur d’état initial x0 et covariances initiales Σ0
Le signe - signifie la prédiction
17
vite
sse
posi
tion
posi
tion
temps temps
temps
Exemple avec vitesse constante
Modèle avec faible perturbation aléatoire. La vitesse est (presque) constante.
* : état calculéo : observation dans l’image
18
Exemple avec accélération constantevi
tess
e
temps temps
posi
tion
Source : Forsyth and Ponce, Computer Vision: A Modern Approach, chap. 17, Prentice Hall, 2003.
19
Equations du filtre de Kalman
Prédiction :
xt- = Dt xt-∆t
+
Σt- = Σd,t + Dt Σt-∆t
+ Dt T
Correction (en utilisant l’observation yt):
Kt = Σt- Mt
T(Mt Σt- Mt
T + Σm,t) -1
xt+ = xt
- + Kt (yt - Mt xt-)
Σt+
= (I - Kt Mt) Σt-
Le signe - signifie une prédiction de la valeur
Le signe + signifie une correction de la valeur
Nous prédisons (et corrigeons) le vecteur d’état et les covariances entre variables (qui peuvent changer au cours du temps)
Source : Justus Piater, Computer vision, Université de Liège (Belgique)
20
Filtre de Kalman (remarques)
Typiquement
Dt = Dt(∆t) = D (∆t)
Mt = M (modèle constant pour les mesures)
En prédiction, l’incertitude Σ augmente avec le temps Ces modèles d’erreur permettent de dire si on se fie plus aux
mesures dans l’image ou au calcul qu’on fait
Le gain de Kalman K spécifie la force avec laquelle L’état courant va tendre vers les mesures avec le temps La précision de l’estimation de l’état va être réduite avec le temps
21
Exemple : modèle d’ordre 0
Vecteur d’état : x = [x,y]T
Vecteur d’observation : y = [x,y]T Modèle d’évolution des mesures : M = I Modèle d’évolution des états : D = I
Source : Justus Piater, Computer vision, Université de Liège (Belgique)
22
Exemple : modèle d’ordre 1
Vecteur d’état : x = [x,y,vx,vy]T
Vecteur d’observation : y = [x,y]T
Modèle d’évolution des mesures :
Modèle d’évolution des états :
M=[1 0 0 00 1 0 0 ]
D=[1 0 Δt 00 1 0 Δt0 0 1 00 0 0 1
]
Source : Justus Piater, Computer vision, Université de Liège (Belgique)
23
Exemple :Vitesse constante, mesuares bruitées
* : prédictionx : mesureo : correction
posi
tion
temps
24
Exemple : Accélération constante, moins de bruit
posi
tion
temps
* : prédictionx : mesureo : correction
Source : Forsyth and Ponce, Computer Vision: A Modern Approach, chap. 17, Prentice Hall, 2003.
25
Que cherche-t-on dans l’image ?
Un objet peut être caractérisé de plusieurs façons : Contour Région Histogramme des couleurs Blobs et/ou crêtes Modèle (géométrique, apparence ou autre) Autre…
Plusieurs méthodes, avec ou sans segmentation But : trouver l’objet dans l’image, estimer sa position (x,y) et
donner cette position au filtre de Kalman
26
Détection et suivi de personnes
Exemple de classification des objets détectés (mouvement) personne, groupe, train, bruit, …
Pour chaque objet boîte englobante minimale caratéristiques : position, ratio 3D, hauteur/largeur, …
Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
27
Exemple de suivi basé sur des points
On veut : Trouver des points de référence Prédire où ils se trouveront dans l’image suivante à l’aide d’un modèle
du mouvement Rechercher et mesurer ceux-ci dans la zone de recherche prédite Corriger l’estimation qu’on a faite Répéter
Source : Analyse Numérique Matricielle (IFT2450 – automne 2004), Université de Montréal (Canada).
28
Exemples de suivi (tracking)
Human activity recognition (Ben-Arie 2002) Visual surveillance (Thonnat 2002)
Tracking of a mobile arm (Rasmussen et al. 2001)
29
Exemple de suivi de régions
Position objet ancienne / prédite
Régions d’intérêt
Modèle trouvé de pixels
Décision nouvelle position de l’objet
Modèle prédictif
Modèle courant (en pixels) de l’objet à rechercher
Source : Patrick Hébert, Vision numérique, Université Laval (Québec, Canada)
30
Recherche par appariementv=0
t1 t2
Choisir le bloc le plus représentatif parmi tous les blocs possibles à l’intérieur d’une fenêtre
Source : Patrick Hébert, Vision numérique, Université Laval (Québec, Canada)
31
Recherche par appariement
Somme de différences absolues (SAD) Alternative à la somme des carrés des différences (SSD)
SAD dx , dy = ∑m=x
xN−1
∑n= y
yN−1
∣I t m ,n −I t−1mdx , ndy ∣
Source : Patrick Hébert, Vision numérique, Université Laval (Québec, Canada)
32
Reconnaissance de scénarios
33
Reconnaissance de scénarios
Plusieurs étapes dans la reconnaissance
Identifier le mouvement dans les images
différence d’images,
Estimer le mouvement dans les images
flot optique
Suivre le mouvement dans les images (tracking)
Reconnaître des scénarios dans les images
34
Plate-forme d’interprétation vidéo
Alarms
access to forbidden
area
3D scene modelScenario models A priori Knowledge
SegmentationSegmentation ClassificationClassification TrackingTracking Scenario RecognitionScenario Recognition
Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
35
Exemple de scénario de vandalisme
Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).►Voir vidéos…
36
A) Scenario: “Contact1” B) Scenario: “Passing_by”
Scénario en trois phases :
1) Approcher un objet mobile2) Rester proche de l’objet mobile3) Faire demi-tour et quitter
Scénario en trois phases :
1) Approcher un objet mobile 2) Rester proche de l’objet mobile 3) Quitter sans faire demi-tour
Scénarios par classification Bayésienne
Exemples de scénarios
►Voir vidéos…Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
37
“approaching” “turning_around_leaving”“being_close”
Exemple : scénario « contact 1 » Les données d’apprentissage sont constituées de 600
images contenant un nombre égal d’exemples positifs et négatifs
Scénarios par classification Bayésienne
►Voir vidéos…Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
38
“approaching” “leaving”“being_close”
Exemple de scénario « passer le long » (passing by)
Scénarios par classification Bayésienne
►Voir vidéos…Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
39
“approaching”
“leaving”
“staying in the zone”
Scénarios par classification Bayésienne
Les paramètres du scénario « passer le point de contrôle » (scénario rare) peuvent être appris à partir du scénario « passer le long »
►Voir vidéos…Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
40
OmbresPerspective fortePetits objets
Vue rapprochée OcclusionsLuminosité
Problèmes en reconnaissance vidéo
Les conditions de l’environnement affectent beaucoup les performances d’un système d’interprétation vidéo
Source : François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France).
41
Références(voir aussi la page web du cours)
Analyse Numérique Matricielle (IFT2450 – automne 2004), Université de Montréal (Canada).
http://www.iro.umontreal.ca/~dift2450/
François Brémond, équipe-projet PULSAR, INRIA Sophia-Antipolis (France). http://www-sop.inria.fr/pulsar/personnel/Francois.Bremond/
RC Johnson, A Brief Summarization of the Kalman Filter, V.A.S.T (Vision and Security Technology) lab (USA).
http://www.rcjohnson.net/vast/Kalman%20Filter%20Summary.pdf
Introduction to Computer Vision (CS 223-B – Winter Quarter of 2006/2007), Stanford University (USA).
http://robots.stanford.edu/cs223b07/ Temporal Filtering and Tracking (condensation, Kalman)
http://robots.stanford.edu/cs223b07/notes/CS223B-L12-Tracking.ppt