Vous êtes sur la page 1sur 41

Vision par ordinateur

Mouvement (deuxime partie)


Alain Boucher - IFI

Suivi de mouvement
(filtre de Kalman)

Suivi de mouvement (tracking)

Plusieurs tapes dans le mouvement

Identifier le mouvement dans les images

diffrence dimages

Estimer le mouvement dans les images

flot optique

Suivre le mouvement dans les images (tracking)

Suivi de mouvement (tracking)

But : suivre un objet sur plusieurs images

en temps rel (une image aprs lautre)

Problmes :

Suivre le mme objet sans le perdre Trouver sa position dans chaque nouvelle image Sparer les diffrents mouvements de limage

On tudiera ici le Filtre de Kalman


Estimateur rcursif optimal Modle de prdiction linaire

Suivre un objet dans limage

On veut suivre un mme objet sur plusieurs images A partir des positions de lobjet dans les images passes, on veut trouver la position dans limage courante

position dans limage 6 position dans limage 5

position dans limage 4 position dans limage 3 position dans limage 2 position dans limage 1

Positions dun objet sur plusieurs images


5

Prdiction, mesure et correction


Mesure

Prdiction

Correction

Position initiale

Source : RC Johnson, A Brief Summarization of the Kalman Filter, V.A.S.T lab (USA).

Erreurs de mesure et mise jour

x position initiale

x prdiction mesure

x mise jour

Il faut calculer une erreur pour chaque prdiction. Les mesures aussi comporte des erreurs (diffrentes des erreurs de prdiction)
Source : Temporal Filtering and Tracking, Introduction to Computer Vision, Stanford University (USA).

Erreur de mesure (segmentation)

Lorsquon segmente un objet dans limage, ou lorsquon mesure la position dun objet dans limage, on a toujours des erreurs On veut calculer la trajectoire de lobjet en diminuant les erreurs
Position mesure Position relle Positions dun objet sur plusieurs images
8

Plusieurs mouvements dans limage

Si plusieurs objets se dplacent en mme temps, on veut suivre chaque objet sparment et sans les confondre Exemple : match de football

Positions des objets sur plusieurs images


9

Reprsenter un objet dans limage


On reprsente un objet suivre par un point Ce point est en fait un vecteur de caractristiques

Position x et y du point dans limage Vitesse vx et vy du point dans limage

exemple : vitesse vx de 2 pixels/image 0.3 pixel

Acclration ax et ay du point dans limage Taille (en pixels) de lobjet dans limage

Exemple de vecteur avec position + vitesse :

x y X= vx vy

[]

10

Dtection et suivi de personnes

Exemple de classification des objets dtects (mouvement)

personne, groupe, train, bruit, bote englobante minimale caratristiques : position, ratio 3D, hauteur/largeur,

Pour chaque objet


Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).

11

Plusieurs vecteurs de paramtres

On utilise plusieurs vecteurs diffrents :

Une prdiction sur le point dans limage (x, y, vx, vy)

Estimation de la nouvelle position du point dans limage

Une mesure dans limage (position x et y seulement) Aprs segmentation (ou autre), on mesure le point Une correction sur le point (x, y, vx, vy)

Estimation corrige avec la mesure qui a t faite

12

Erreur sur les variables

On a deux types derreurs :

Erreur sur la prdiction du point Puisquil sagit dune estimation seulement Parce quun point peut changer de direction ou de vitesse Erreur sur la mesure Venant surtout des algorithmes de traitement dimages

Hypothse : chaque variable suit une loi normale x ~ N(,2) : loi normale de moyenne et dcart-type
(ou de variance 2)

13

Erreur sur les variables dpendantes

Les variables ne sont pas indpendantes

Exemple : vitesse globale constante, mais vx et vy changent y vy vx x

On utilisera donc les covariances au lieu des variances : x ~ N(,) : loi normale de moyenne et de covariance
Exemple de matrice de covariance :

2 Var x Cov x , y = = 2x Cov x , y Var y x, y

2 x,y 2 y

14

Filtre de Kalman

Estimateur rcursif optimal et modle de prdiction linaire

On se base plutt sur les mesures rcentes que sur le pass lointain

On utilisera :

X : un tat calcul (prdiction ou correction) Y : une observation (ou mesure) dans limage

But : calculer xt en connaissant xt-t et yt


xt- t : prdiction de la position/vitesse du point dans limage yt : mesure de la position du point dans limage xt : correction de la position/vitesse du point dans limage
15

Bruit gaussien (loi normale)


Hypothse dun bruit gaussien et dune loi normale

Etat courant (prdiction) : xt ~ P(Xt | Xt-t) ~ N(Dt xt-t ; d,t)


avec D comme modle dynamique dvolution de ltat (fiabilit du calcul versus la mesure dans limage)

Observation courante (mesures) : yt ~ P(Yt | Xt) ~ N(Mt xt ; m,t)


avec M comme modle de prcision des mesures (prcision des algorithmes de traitement dimages)

Hypothses initiales : x0- et 0- sont connus


vecteur dtat initial x0 et covariances initiales 0 Le signe - signifie la prdiction


16

Exemple avec vitesse constante


position vitesse
temps Modle avec faible perturbation alatoire. La vitesse est (presque) constante.

temps

* : tat calcul o : observation dans limage temps


17

position

Exemple avec acclration constante


vitesse

temps

position

temps

Source : Forsyth and Ponce, Computer Vision: A Modern Approach, chap. 17, Prentice Hall, 2003.

18

Equations du filtre de Kalman

Prdiction :

xt- = Dt xt-t+

Nous prdisons (et corrigeons) le vecteur dtat et les covariances entre variables (qui peuvent changer au cours du temps)

t- = d,t + Dt t-t+ Dt T

Correction (en utilisant lobservation 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 prdiction de la valeur Le signe + signifie une correction de la valeur
19

Source : Justus Piater, Computer vision, Universit de Lige (Belgique)

Filtre de Kalman (remarques)

Typiquement Dt = Dt(t) = D (t) Mt = M (modle constant pour les mesures) En prdiction, lincertitude augmente avec le temps Ces modles derreur permettent de dire si on se fie plus aux mesures dans limage ou au calcul quon fait Le gain de Kalman K spcifie la force avec laquelle

Ltat courant va tendre vers les mesures avec le temps La prcision de lestimation de ltat va tre rduite avec le temps

20

Exemple : modle dordre 0


Vecteur dtat : Vecteur dobservation : Modle dvolution des mesures : Modle dvolution des tats :

x = [x,y]T y = [x,y]T M=I D=I

Source : Justus Piater, Computer vision, Universit de Lige (Belgique)

21

Exemple : modle dordre 1


Vecteur dtat : Vecteur dobservation : Modle dvolution des mesures : Modle dvolution des tats :

x = [x,y,vx,vy]T y = [x,y]T
M=

1 0 0 0 0 1 0 0
0 1 0 0 t 0 1 0

]
0 t 0 1

1 0 D= 0 0

]
22

Source : Justus Piater, Computer vision, Universit de Lige (Belgique)

Exemple : Vitesse constante, mesuares bruites

position

* : prdiction x : mesure o : correction

temps
23

Exemple : Acclration constante, moins de bruit


position

* : prdiction x : mesure o : correction


temps
Source : Forsyth and Ponce, Computer Vision: A Modern Approach, chap. 17, Prentice Hall, 2003.
24

Que cherche-t-on dans limage ?

Un objet peut tre caractris de plusieurs faons :


Contour Rgion Histogramme des couleurs Blobs et/ou crtes Modle (gomtrique, apparence ou autre) Autre

Plusieurs mthodes, avec ou sans segmentation

But : trouver lobjet dans limage, estimer sa position (x,y) et donner cette position au filtre de Kalman

25

Dtection et suivi de personnes

Exemple de classification des objets dtects (mouvement)

personne, groupe, train, bruit, bote englobante minimale caratristiques : position, ratio 3D, hauteur/largeur,

Pour chaque objet


Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).

26

Exemple de suivi bas sur des points

On veut :

Trouver des points de rfrence Prdire o ils se trouveront dans limage suivante laide dun modle du mouvement Rechercher et mesurer ceux-ci dans la zone de recherche prdite Corriger lestimation quon a faite Rpter

Source : Analyse Numrique Matricielle (IFT2450 automne 2004), Universit de Montral (Canada). 27

Exemples de suivi (tracking)

Human activity recognition (Ben-Arie 2002)

Visual surveillance (Thonnat 2002)

Tracking of a mobile arm (Rasmussen et al. 2001)


28

Exemple de suivi de rgions

Position objet ancienne / prdite

Rgions dintrt

Modle trouv de pixels

Dcision nouvelle position de lobjet

Modle prdictif Modle courant (en pixels) de lobjet rechercher


Source : Patrick Hbert, Vision numrique, Universit Laval (Qubec, Canada)
29

Recherche par appariement


v=0

t1

t2

Choisir le bloc le plus reprsentatif parmi tous les blocs possibles lintrieur dune fentre
Source : Patrick Hbert, Vision numrique, Universit Laval (Qubec, Canada)
30

Recherche par appariement

Somme de diffrences absolues (SAD)

Alternative la somme des carrs des diffrences (SSD)


x N 1 y N 1

SAD dx , dy =

m= x

n= y

I t m , n I t 1 m dx , n dy

Source : Patrick Hbert, Vision numrique, Universit Laval (Qubec, Canada)

31

Reconnaissance de scnarios

32

Reconnaissance de scnarios

Plusieurs tapes dans la reconnaissance

Identifier le mouvement dans les images

diffrence dimages,

Estimer le mouvement dans les images

flot optique

Suivre le mouvement dans les images (tracking) Reconnatre des scnarios dans les images

33

Plate-forme dinterprtation vido

Segmentation Segmentation Classification Classification

Tracking Tracking

Scenario ScenarioRecognition Recognition

Alarms
access to forbidden area

3D scene model Scenario models

A priori Knowledge
34

Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).

Exemple de scnario de vandalisme

Voir vidos
Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).
35

Scnarios par classification Baysienne


Exemples de scnarios

A) Scenario: Contact1

B) Scenario: Passing_by

Scnario en trois phases : 1) Approcher un objet mobile 2) Rester proche de lobjet mobile 3) Faire demi-tour et quitter

Scnario en trois phases : 1) Approcher un objet mobile 2) Rester proche de lobjet mobile 3) Quitter sans faire demi-tour Voir vidos

Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).

36

Scnarios par classification Baysienne


Exemple : scnario contact 1 Les donnes dapprentissage sont constitues de 600 images contenant un nombre gal dexemples positifs et ngatifs

approaching being_close

turning_around _leaving

Voir vidos
Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).
37

Scnarios par classification Baysienne


Exemple de scnario passer le long (passing by)

approaching

being_close

leaving

Voir vidos
Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).
38

Scnarios par classification Baysienne


Les paramtres du scnario passer le point de contrle (scnario rare) peuvent tre appris partir du scnario passer le long

approaching staying in the zone leaving

Voir vidos
Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).
39

Problmes en reconnaissance vido


Les conditions de lenvironnement affectent beaucoup les performances dun systme dinterprtation vido Petits objets Perspective forte Ombres

Luminosit

Vue rapproche

Occlusions

Source : Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).

40

Rfrences
(voir aussi la page web du cours)

Analyse Numrique Matricielle (IFT2450 automne 2004), Universit de Montral (Canada).

http://www.iro.umontreal.ca/~dift2450/ http://www-sop.inria.fr/pulsar/personnel/Francois.Bremond/

Franois Brmond, quipe-projet PULSAR, INRIA Sophia-Antipolis (France).

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

41

Vous aimerez peut-être aussi