Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L....

26
Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes par filtre de Kalman Le Filtre de Kalman ............................................ 2 Prédiction de l'évolution temporelle de l'état .......................... 4 Modèle du capteur ............................................................... 5 Aproximations des modèle non-linéaires................................ 6 Validation........................................................................... 6 Mise à Jour ......................................................................... 7 L'Innovation....................................................................... 8 Suivi de Régions par filtre de Kalman ...................... 9 Détection par ratio d'histogramme ........................................ 9 Caractérisation par moments............................................... 10 Application : Suivi des régions avec un filtre de Kalman........ 11 Prédiction......................................................................... 12 Suivi robuste..................................................................... 13 Suivi de Pixels .................................................. 15 SSD et Inter Corrélation..................................................... 15 Pixels d'un voisinage comme vecteur charactéristique .......... 16 Relation entre SSD et NCC : ............................................... 17 Suivi par l'inter corrélation : la zone d'intérêt ...................... 17 Suivi de Droits .................................................. 18 Représentation de Segments de Contraste ............................. 18 Test de proximités de pixels................................................ 19 Représentation MOL : "Midpoint-Orientation-Length".......... 20 La précision d'un segment .................................................. 21 Proximité d'une droite et un point ....................................... 22 Proximité de deux segments................................................ 23 Jonctions ........................................................................... 24

Transcript of Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L....

Page 1: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Formation et Analyse d'Images James L. Crowley

ENSIMAG 3 Premier Bimestre 2003/2004

Séance 6 20 novmbre 2003

Suivi des formes par filtre de Kalman

Le Filtre de Kalman............................................2Prédiction de l'évolution temporelle de l'état..........................4Modèle du capteur...............................................................5Aproximations des modèle non-linéaires................................6Validation...........................................................................6Mise à Jour.........................................................................7L'Innovation.......................................................................8

Suivi de Régions par filtre de Kalman ... . . . . . . . . . . . . . . . . . . .9Détection par ratio d'histogramme ........................................9Caractérisation par moments............................................... 10Application : Suivi des régions avec un filtre de Kalman........ 11Prédiction......................................................................... 12Suivi robuste..................................................................... 13

Suivi de Pixels .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15SSD et Inter Corrélation..................................................... 15Pixels d'un voisinage comme vecteur charactéristique .......... 16Relation entre SSD et NCC :............................................... 17Suivi par l'inter corrélation : la zone d'intérêt...................... 17

Suivi de Droits..................................................18Représentation de Segments de Contraste ............................. 18Test de proximités de pixels................................................ 19Représentation MOL : "Midpoint-Orientation-Length".......... 20La précision d'un segment.................................................. 21Proximité d'une droite et un point....................................... 22Proximité de deux segments................................................ 23Jonctions........................................................................... 24

Page 2: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Le Filtre de Kalman

Le filtre de Kalman est un estimateur récursif optimal.Son origine se trouve dans le problème de l'estimation de la trajectoire des satelliteset des aéronefs. Dans un tel problème, on cherche à estimer la position (x, y, z) etla vitesse (vx, vy, vz) à partir de l'observation de deux angles : Site et azimut. (θ, ϕ)

Dans la terminologie de Kalman : la position et vitesse est un vecteur d'état : X→

et

l'observation est Y→

X→

=

xyzvxvyvz

Y→

=

θ

ϕ

Pour chaque instant, t, le filtre donne une estimation X t ainsi que sa précision Pt, à

partir de l'observation et l'estimation précédente, X t-1 , Pt-1, et l'observation Y

→ , et

sa précision, Py. Les précisions sont des covariances.

X t , Pt := F { X

t-1 , Pt-1, Y→

, Py }

Ce permet d'estimer un vecteur de N variable aléatoire à partir de M< Nobservations. Les précisions sont des 2ieme moments de l'erreur.

Le filtre récursif est un processus cyclique avec 5 phases :1) Prédiction de l'évolution temporelle de l'état.2) Observation3) Prédiction de l'observation4) Validation de l'observation.5) Mise à jour de l'estimation.

^

Validation

Mise à Jour Prediction

Observations

Y, PY Y, PYY, PY

X*, Px*

X, Px^Estimation

6-2

Page 3: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Techniques :Prédictions: Modèle Linéairevalidation : Distance de Mahalanobis

(Distance normalisée par Covariance)Mise à Jour Estimation linéaire

Notation:

Vecteur d'état a temp t : X→

t

Estimation du vecteur d'état : X t , P

t

Observation : Y→

τ, PyPrédiction : Xt*, Pt*

Modèle du capteur : H XY

avec précision Py

Modèle du processus : ϕ(∆t) avec précision QtAffectation : :=Définition : ≡

Le modèle de Kalman suppose que les estimations sont corrompues par un bruit B→

.

X = X→

+ B→

Le bruit est une variable aléatoire de moyenne nul.La précision est le deuxième moment de ce bruit.

P ≡ E{ B→

B→

T} = E{(X→

–X )(X→

– X )T}

On ne peut connaître ni X→

ni B→

. Kalman nous fourni les estimations P t

6-3

Page 4: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Prédiction de l'évolution temporelle de l'état

La phase de prédiction projets X t-1 et P

t-1 à temps t afin de produire Xt* et Pt*

On utilise les dérivées temporelles de X.

Ces dérivées peuvent êtres inclus dans le vecteur X t-1

Soit une propriété, x , du vecteur X , avec variance σ x2.

La prédiction de premier ordre x*(t) exige la dérivée temporel x '(t–∆t).

x ' t ∂x

t

∂t

Par série de Taylor, on peut écrire :

x*t := x t–∆t + x ' t–∆t ∆t + r

avec l'hypothese que E{r} = 0.Soit un vecteur de deux propriétés x 1 et x 2 avec une prédiction de premier ordre.

X t ≡

x1x1'x2x2'

Le prédiction est : X*t := ϕ (∆t)X t–∆t + R

avec le matrice de transition, ϕ(∆t) ≡

1 ∆t 0 0 0 1 0 0 0 0 1 ∆t 0 0 0 1

La précision de X*t est la covariances les propriétés x

Pt*

σx1

2 σx1'x1 σx2x1 σx2'x1

σx1x1' σx1'2 σx2x1' σx2'x1'

σx1x2 σx1'x2 σx22 σx2'x2

σx1x2' σx1'x2' σx2x2' σx2'2

oùσxx' E{ (x - x )(x' - x ')}

etσx'2 E{ (x' - x ')2}

La covariance Pt* est prédite par Pt* := ϕ(∆t)P t-∆t ϕ(∆t)T + E{ Rt RtT}

6-4

Page 5: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Le processus peut avoir les dérivés d'ordre supérieur à le modèle.Ces dérivés donnent lieu au "résidu" R.R est supposée d'être moyenne nul.Son deuxième moment indique la perte de précision dû au modèle linéaire.

Xt := Xt–∆t + ∂Xt–∆t

∂t ∆T + Rt.

avec Q ≡ E{Rt RtT}

Prédiction :

I : Xt* := ϕ (∆t)X t–∆t + Rt.

II : Pt* := ϕ(∆t)P t-∆t ϕ(∆t)T + Qx

Modèle du capteur

Un capteur projet l'état du monde vers un vecteur d'observation :

III : Y→

τ := H XY

X→

tIV : Py ≡ E{Wt Wt T}

La matrice de H XY

est un modèle linéaire du capteur.Les observations sont corrompues par les bruits aléatoiresainsi que une erreur d'approximation.Ceci est représenté par l'erreur du capteur : Wt.

On suppose que E{Wt} = 0tandis que Py ≡ E{Wt Wt T}

Par exemple, considère l'observation Y d'un état Xt

Y = H XY

X =>

y1

y2 =

1 0 0 0

0 0 1 0

x1x1'x2x2'

deuxième exempl, la matrice de projection d'une caméra :

w Xi = Msi

Xs

6-5

Page 6: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Aproximations des modèle non-linéaires

Souvent le vrai capteur n'est pas linéaire.

Y→

= F(X→

)

Dans ce cas, on peut faire une approximation linéaire avec la dérivée première, (laJacobienne), calculé au tour de l'estimation actuelle.

H XY

≈ J XY

= ∂F(Xt)

∂Xt =

∂y1∂x1

∂y1∂x2

∂y1∂x3

∂y1∂x4

∂y2∂x1

∂y2∂x2

∂y2∂x3

∂y2∂x4

et donc :

y1

y2 =

∂y1∂x1

∂y1∂x2

∂y1∂x3

∂y1∂x4

∂y2∂x1

∂y2∂x2

∂y2∂x3

∂y2∂x4

x1

x1'x2x2'

Validation

Validation repose sur une mesure de similarité. Une telle mesure estla "Distance de Mahalanobis" ou "Différence normalisée par covariance"

Soit la prédiction Xt* avec sa précision Pt*

et l'observation Y→

τ avec sa précision Py

Le distance de Mahalanobis est

V : d2 = 12 { ( H X

Y Xt* – Y

→τ )T (Pt* + Py)-1 (H X

Y Xt* – Y

→τ)}

Pour une scalaire :

d2 = (x* – y)2

2 (σx*2+σy

2 )

On considère que Xt*, Pt* définie une probabilité d'une observation Y.

Si il y a K prédictions : Xkt*, Pkt*, l'observation est associée a :

ArgkMin {dk2} tel que dk ≤ seuil.

Le seuil est un multiple de l'écart type.Son choix depend du problème

6-6

Page 7: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Mise à Jour

Contraint d'un modèle par une Observation

Soit un modèle Xt*, Pt* et une observation Y→

τ, Py

X*YX^

Y fournis une contrainte sur X*.La nouvelle valeur est donnée par un moyen, pondérée par le variance:Les variances combine comme les résistances parallèles :

σx2 = σx2σy2

σy2 + σx2

et

Xnt = σx2 ( X*

σx*2 + Y

σy2 )

Formulation Kalman (estimation récursif): Le Gain de Kalman

K = σx2

σy2 + σx2

Puis :σx2 = σ*x2 – K σ*x2

etX = X* + K (Y – X* )

En plusieurs dimensions, le gain de Kalman est une matrice.Supposons que Y et X sont dans le même espace. (Même nombre de variables.

K := Pt* ( Pt* + Py )-1puis :

X t = Xt* + K [ Y – Xt* ].

et

P t = Pt* - K Pt*.

Et si X et Y ne sont pas du même repère,il faut le transformation H X

Y et son inverse H Y

X = H X

Y T

6-7

Page 8: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Équations VI, VII et VIII du Filtre de Kalman :

VI : K := Pt* H XY

T [ H XY

Pt* H XY

T + Py] -1

VII : X t := Xt* + K [Y

→τ – H X

Y Xt*]

VIII : P t := Pt* – K H X

Y Pt*

L'Innovation

Le différence (Y→

τ – H XY

Xt*) est l'innovation de l'observation.Le gain K est une matrice qui donne le poids pour une mise à jour de xi à partir dechaque composant de l'innovation.

X t := Pt* – K H X

Y Pt*

x1

x2x3x4

=

k x1y1 k x1y2

k x2y1 k x2y2 k x3y1 k x3y2 k x4y1 k x4y2

y1– HX

1Xt*

y2– HX2Xt*

=

∂x1∂y1

∂x1∂y2

∂x2∂y1

∂x2∂y2

∂x3∂y1

∂x3∂y2

∂x4∂y1

∂x4∂y2

y1– HX

1Xt*

y2– HX2Xt*

K := Pt* H XY

T [ H XY

Pt* H XY

T + Py] -1

k x1y1 k x1y2

k x2y1 k x2y2 k x3y1 k x3y2 k x4y1 k x4y2

=

σ11

2 σ122 σ13

2 σ142

σ212 σ22

2 σ232 σ24

2

σ312 σ32

2 σ332 σ34

2

σ412 σ42

2 σ432 σ44

2

h 11 h21

h12 h22 h13 h23 h14 h24

• •

• • –1

ou

• •

• • =(

h 11 h 12 h 13 h 14

h 21 h 22 h 23 h 24

σ11

2 σ122 σ13

2 σ142

σ212 σ22

2 σ232 σ24

2

σ312 σ32

2 σ332 σ34

2

σ412 σ42

2 σ432 σ44

2

h 11 h21

h12 h22 h13 h23 h14 h24

+

σ11

2 σ122

σ212 σ22

2 )

6-8

Page 9: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Suivi de Régions par filtre de Kalman

Détection par ratio d'histogramme

L'axe achromatique définit la luminance, L

L = R + V + B

Le spectre R(i, e, g, λ) = P(λ) Cos(i) dédend du pigment.Il est une signature pour la surface.Normalisation par la luminance laisse deux axes chromatiques : r, v

r = R

R+V+B v = V

R+V+B

Le chrominance est une signature pour l'objet disponible à chaque pixel.On peut apprendre et detecter cette signature avec une ratio d'histogrammes.

6-9

Page 10: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6Histogrammes

Un histogramme est une table de fréquence. Il peut fournir une estimation d'unedensité de probabilités.

On peut utiliser les histogrammes pour calculer la probabilité qu'un pixel est uneprojection d'une objet.

Par example, on peut construire une histogramme pour le pixel de chrominance.On alloue un tableau 2D de taille Nh (exemple 32 x 32 = 1024 cellules : h(r, v).

Soit K images de M pixels. Ceci fait Mtot = M K Pixels.Soit htot(r, v), l'histogramme de tous les Mtot pixels.Soit ho(r, v), l'histogramme des Mo pixels de l'objet "o".

Pour chaque pixel C(i, j) dans chaque image, on incrémente la cellule del'histogramme qui correspond à (r, v)

htot(r, v) := htot(r, v) +1

Un histogramme des chrominance, h(C), des Mtot pixels dans une les images donneleurs fréquences d'occurence.

p(C) ≈ 1

Mtot htot(C)

Pour que l'estimation soit "raisonable", il faut assuré que Mtot >> Nh

Considére une région Wo de Mo pixels du même image correspondance à l'objet O.

∀(i,j) ∈ Wo : ho(C(i,j)) := ho(C(i,j)) + 1

Ensuite: p(C | objet ) ≈ 1

Mo ho(C)

Parce que W est dans l'image, la probabilité de rencontrer un pixel de W est MoMtot

6-10

Page 11: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Détection par ratio d'histogramme

L histogramme permet d'utiliser la règle de Bayes afin de calculerla probabilité qu'un pixel corresponde à un objet.

Pour chaque pixel C(i, j) p(objet | C) = p( C | objet ) p(objet) p(C)

Soit M images de N pixels. Ceci fait Ntot Pixels.Soit htot(r, v), l'histogramme de tous les Ntot pixels.Soit ho(r, v), l'histogramme des No pixels de l'objet "o".

p(objet) = MoMtot

p(C) = 1

Mtot htot(C)

p(C | objet ) = 1

Mo ho(C)

Donc p(objet | C) = p( C | objet ) p(objet) p(C) =

1Mo

ho(C)

MoMtot

1Mtot

h tot(C)

p(objet | C) = ho(C)htot(C)

Par exemple, voici une image de la probabilité de peaux fait par ratiod'histogramme.

6-11

Page 12: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Caractérisation par moments

On peut définir les caractéristiques "invariantes" de l'orientation avecdes "moments” de la forme.

Les moments sont invariants autransformations affines.

Pour une image w(i, j) de taille N x M

Somme des Pixels : S = ∑i=0

M ∑j=0

N w(i, j)

Premiers moments :

µi = 1S ∑

i=0

M ∑j=0

N w(i, j). i µj =

1S ∑

i=0

M ∑j=0

N w(i , j ) . j

Le premier moment est le centre de gravité de la forme :

Deuxième moment :

σi2 = 1S ∑

i=0

M ∑j=0

N (w(i, j)). (i–µi)2 σj2 =

1S ∑

i=0

M ∑j=0

N w(i, j). (j–µj)2

σji2= 1S ∑

i=0

M ∑j=0

N w(i, j). (i–µi)(j–µj)

Ceci permet de définir les "axes", majeur, λ1 et mineur, λ2, de la formepar analyse des composantes principales de la deuxième moment

Co

σi2 σij2

σij2 σj2

λ1λ2

Les deuxièmes moments sont "invariants" à l’orientation

6-12

Page 13: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Application : Suivi des régions avec un filtre de Kalman

Le vecteur d'état est

Xt =

x

x ' y y ' s x s y s xy

wherex, y La position du cible en pixels

x', y' Les dérivées premiers ∂x∂t and

∂y∂t de la position (en pixles/sec)

sx, sy, ss Largeur, hauteur et orientation obtenus par les moments

. sx = σxx2 sy= σyy2 , ss = σxy2

CFt ∈ [0, CFmax]

P =

σxx2 σxy2

σxy2 σyy2 Incertitude de la position

V =

σx'x'2 σx'y'2

σx'y'2 σy'y'2 Incertitude de la velocité

6-13

Page 14: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

S =

σxx σxy σxs

σyx σyy σys σsx σsy σss

incertitude de la taille

Pt =

P

V S

Covariance composite

Pour chaque cible à temps t, le système détermine leut état Xt et sa précision Ptet confiance, CF t.

A partir de l'état précedent , , X t-∆t , Pt-∆t, CFt–∆ t et l'observation Y

→d

avec sa précision Pd, et sa confiance CFd

Prédiction

Xt* := ϕ (∆t) X t–∆t + Rt. (1)

Pt* := ϕ(∆t) P t-∆t ϕ(∆t)T + Qx (2)

La perte de précision dû à l' approximation linéaire est Qx

Q = E {R RT}

Qx a comme effet d'accroitre la incertitude de X avec le temps.

xt = xt-∆ t + k ∂y∂t ∆t yt = yt-∆ t + k

∂y∂t ∆t

Pour un suivi d'ordre zéro, le matrice de prédiction est

ϕ =

1 0

0 1

Dans ce cas, la préfiction est triviale

Xt* := X t–∆t (3)

Pt* := P t-∆t + Qx (4)

Pour une filtre de première ordre :

6-14

Page 15: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

(∆t) ≡

1 ∆t 0 0 0 0 0

0 1 0 0 0 0 0

0 0 1 ∆t 0 0 0

0 0 0 1 0 0 0

0 0 0 k∆t 1 0 0

0 0 0 k∆t 0 1 0

0 0 0 0 0 0 1

On peut déterminer un "Région of Interest" ou ROI pour la recherche:

left = x - 2 sx - 2 σxright = x + 2 sx + 2σxtop = y – sy – 2σybottom = x +2 sy + 2σx

We assume image coordinates with positive y coordinates pointing down.

Suivi robuste

Ayant une prédiction Xt* , on peut utiliser une technique de la statistique robustepour "supprimer" la distrations d'autre cible. On utilise la prédiction et saprecision pour génerer une covariance. L'image de détection est snuite multipliépar cette covariance. Ceci a come effet de ponderé les pixels par la prédiction etde supprimer l'influence de détections non-prédits.

On multiply la prévision par :

V = 2 Pt*

Given the ROI within a detection image d(x,y) the detection algorithm returns an

estimate of the position of the target Yd, the precision of the target, Pd and aconfidence factor for the detection CFd. These values are computed as follows.For a 4 σ ROI, the number of pixels in the ROI is N = 64 σxx σyy.

Un "porte de validation" sous forme de Gaussienne est :

G(x, y; Xt, V) = e–1

2

x y

σxx σxy

σxy σyy

x

y

6-15

Page 16: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Le confiance de l'existence d'une cible est :

CFd = 1N ∑y=top

bottom ∑

x=left

right d(x, y) G(x, y; Xt, V)

la nouvelle position Yd est

Yd =

µx

µy

ou

µx = 1N ∑

y=top

bottom ∑

x=left

right d(x, y) · x · G(x, y; Xt, V)

µy = 1N ∑

y=top

bottom ∑

x=left

right d(x, y) · y · G(x, y; Xt, V)

la nouvelle envergure, Pd, est

Pd =

σxx2 σxy2

σxy2 σyy2

σxx2 = 1N ∑

y=top

bottom ∑

x=left

right d(x, y) · (x–µx)2 · G(x, y; Xt, V)

σyy2 = 1N ∑

y=top

bottom ∑

x=left

right d(x, y) · (y–µy)2 · G(x, y; Xt, V)

σxy2 = 1N ∑

y=top

bottom ∑

x=left

right d(x, y) · (x–µx) · (y–µy) · G(x, y; Xt, V)

6-16

Page 17: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Suivi de Pixels

SSD et Inter Corrélation

Pour un bruit additif, une norme Euclidienne est la méthode "optimale" (minprobabilité d'erreur) pour détecter le voisinage d'une image qui ressemble à unmotif.

Message : à quel pixel (i, j) de l'image P(i, j) ressemble un motif, X(i, j).

Codage : les pixels composent le voisinage P(i,j) de taille MxN.

Hypothèse : bruit additif Gaussien.Pas de rotation dans l'image (2D)Pas de rotation dans l'espace 3DPas de changement d'échelle.

La norme Euclidienne est connue comme la SSD ("Sum of Squared Distances").Il s'agit d'une opération efficace et précise, mais fragile.

Définition :

Soit un motif X(m, n) pour m ∈ [0, M–1], n ∈ [0, N–1].Soit une image P(i, j) pour i ∈ [0, I–1], j ∈ [0, J–1]. (M << I, N << J)

Placer X(m, n) à chaque position possible (i, j) etmesurer la distance Euclidienne entre X et les MN pixels de P à (i, j).

SSD(i, j) = || X(m,n) – P(i+m, j+n) || 2

= ∑m=0

M–1 ∑

n=0

N–1 (P(i+m, j+n) – X(m, n))2

Si les pixels de P à la position (i, j) ressemblent à X, la distance est nulle.Sinon, la position ayant le maximum de vraisemblance est celle correspondant auminimum de la fonction SSD.

M i j

in { ∑

m=0

M–1 ∑

n=0

N–1 (P(i+m, j+n) – X(m, n))2 }

6-17

Page 18: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Pixels d'un voisinage comme vecteur charactéristique

Les pixels X(m, n) peuvent être vus comme un vecteur X→

= Xk ou k = nM+m.Les pixels de chaque voisinage (i, j) de P peuvent aussi être vus comme un vecteur.

P→

= Pk ou k = (j+n)I+m+iL'opération SSD est la norme de la différence de ces deux vecteurs :

SSD(i, j) = || X→

– P→

||2 = ∑m=0

M–1 ∑

n=0

N–1 (p(i+m, j+n) – X(m, n))2 }

Une autre méthode de comparaison est le produit scalaire(CC pour "Cross Correlation") :

CC(i, j) = < X→

, P→

> = ∑m=0

M–1 ∑

n=0

N–1 P(i+m,j+n)X(m, n)

Si les vecteurs X→

et P→

ont une longueur unitaire, le produit scalaire est un cosinusde l'angle entre les vecteurs.

Xu(m, n) = X→

||X→

|| =

X(m, n)

∑m=0

M–1 ∑

n=0

N–1 X(m, n)2

Pu(m, n) = P→

||P→

|| =

P(i+m, j+n)

∑m=0

M–1 ∑

n=0

N–1 P(i+m, j+n)2

On obtient un inter corrélation "normalisée" par l'énergie (NCC) :

NCC(i, j) = < X→

u, P→

u> = ∑m=0

M–1 ∑

n=0

N–1 P(i+m,j+n)

| |P→

|| X(m, n)

||X→

||

Le NCC est le cosinus entre X→

u P→

u. Sa valeur est entre –1 et 1.

6-18

Page 19: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Relation entre SSD et NCC :

Pour X→

u et P→

u le minimum d'une SSD vaut le maximum d'une NCC.

On note que pour X→

u, P→

u

|| X→

u – P→

u ||2 = || X→

u ||2 – 2 || X→

u P→

u || + || P→

u ||2

1 – 2 <X→

u, P→

u> + 1 = 2 – < X→

u, P→

u >

Suivi par l'inter corrélation : la zone d'intérêt

("Région of Interest" ou ROI):

Pour chaque position (i,j) recherchée, il faut MN additions et MN multiplications.On peut gagner en temps de calcul en limitant le nombre de positions testées.

Pour le suivi d'un objet, la taille de la zone de recherche est déterminée par ledéplacement maximum possible depuis la dernière image.Ceci se mesure en pixels/∆t, où ∆t est le temps entre images.

Si on limite la recherche à une ROI, on peut diminuer le temps entre images, ∆t.Si on réduit ∆t, on peut réduire la zone de recherche. Ceci entraîne une réductionsupplémentaire dans la zone de recherche, etc.

Taille de la zone de recherche

Vitesse maximale

de la cible

e0

ti

160

140

120

100

80

60

40

20

0

Vm

M 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Courbe Théorique (d'après Bérard 93): Courbe Expérimentale (Quadra 700)

6-19

Page 20: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Suivi de Segments

Représentation de Segments de Contraste

Technique classique de détection : découpage récursif d'un segment de droite :

Segment :

P1

P2

Un segment est défini par deux points extremes : P1 et P2.

en C : point struct { int x, y; /* Coordonnées * / covariance_2 *C; /* precisions */};

Un point peut avoir une incertitude en position (une precision).Ceci est représenté par une covariance : Cp

Cp

σx2 σxy

σyx σy2

oùσxy E{ (x - x ) (y - y )}

etσx2 E{ (x - x )2}, σy2 E{ (y - y )2}

Les incertitudes sont estimées à base d’observations (un calibrage).Elles sont souvent des paramètres du système.

6-20

Page 21: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Test de proximités de pixels

Deux points, P1 et P2 sont en "correspondance" si leur distanceest plus petite que la somme de leurs précisions.On utilise une distance de Mahalanobis afin de tester la correspondance :

d2 = –12 (P1–P2)T (Cp1+Cp2)–1 (P1–P2)

Similar(P1, P2) =

true –

12 (P1–P2)T (Cp1+Cp2)–1 (P1–P2) ≤ s 2

false Sinon.

ou "s" est l’'écart type pour lequel on accepte une correspondance.(typiquement s = 2).

Equation homogène d'une droite

Les segments appartiennet à une droite de support :

équation homogène : a x + b y + c = 0ou bien : Sin(θ) x – Cos (θ) y + c = 0

Soit P1 avec coordonnées (x1, y1) et P2 a pour coordonnées (x2, y2).

On peut calculer :

dx =(x2-y1) dy = (y2-y1) L = || (dx, dy) || = dx2 + d y2

Cos(θ) = b = dxL Sin(θ) = a =

dyL c = –(a x1+ b y1)

la distance de tout point (x, y) à la droite est : d = ax + by + c

La droite peut être représentée par un vecteur D→

= ( a, b, c)T.

pour un point P→

= (x, y, 1)T :

< D→

, P→

> = d et d = 0 pour tout P→

∈ D→

6-21

Page 22: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Représentation MOL : "Midpoint-Orientation-Length".

Un segment de droite peut être décrit par une représentation "paramétrique" :composer un point central, direction, et longueur (Midpoint, Orientation, Length)

P1

P2L θPm

Segment : Pm: Point du Centre: (x, y)θ : OrientationL: Longueur

ou bien S→

(x, y, θ, L)

on peut ajouter les paramètres de la droite support : (a, b, c).

Il est également utile d'avoir d, distance perpendiculaire à l'origine.d = x Cos(θ) + y Sin(θ)

On note que (c, d) est une autre représentation de (x, y)et que (a, b) est une autre réprésentation de (θ).

en C :segment struct {point *p1, *p2; /* points extremes */

int x, y; /* point centrale */double theta; /* Angle */double l; /* length */double a, b, c; /* droit du support */double d; /* distance de l'origine */covariance_4D *C; /* Covariance */};

6-22

Page 23: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

La précision d'un segment.

Afin d’apparier les segments, il faut des précisions.Une précision est représentée par une variance (ou un écart type) :

Cxy : Covariance en position du point centralσθ2 : Variance en orientationσl2 : Variance en longueur

Cxy

σx2 σxy

σyx σy2

Les incertitudes sont estimées à base des observations (un calibrage).Elles sont souvent des paramètres du système.

On peut calculer une estimation de la précision pour chaque paramètrepar les moyens statistiques. On observe des segments est on mesure les statistiques.

Pour les segments de constraste : on constate que le bruit d'un segment parvientsurtout de la "cassure".

Si on "diagonalise" la matrice Cxy, on trouve un vecteur proprealigné avec le segment, et un vecteur "perpendiculaire" du segment.

La covariance dans la direction du segment est souvent très largeLa covariance perpendiculaire est petite.Donc, on peut simplifier, en remplaçant Cxy par σc2 et σd2

Ceci donne la représentation d'un segment : S→

{c, d, θ, L}avec Cs :

σc : Incertitude en position perpendiculaireσd : Incertitude en position tangentielleσθ : Incertitude en orientationσl : Incertitude en longueur

CS

σc2 0 0 0

0 σd2 0 0 0 0 σh2 0 0 0 0 σθ2

6-23

Page 24: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Proximité d'une droite et un point.

pour la vraisemblance entre une droite et un point il faut déterminer la composantede la précision du point perpendiculaire à la droite.

Pax + by + c = 0

Cp

Jd

La composante de l'incertitude perpendiculaire à la droite est calculée

par la Jacobienne de la distance d = F(P→

) = a x + by + c

J→

d = ∂F(P

→)

∂P→ =

∂(ax+by+c)∂(x, y) =

∂(Sin(θ)x+Cos(θ)y+c)∂(x, y)

= ( ∂(Sin(θ)x+Cos(θ)y+c)

∂(x) ,∂(Sin(θ)x+Cos(θ)y+c)

∂y )

J→

d = (a, b) = (Sin(θ), Cos(θ)) = N→

d (La normale de la droite)

Noter qu'il s'agit d'un vecteur ligne !

σpN2 = J→

d Cxy J→

d T = (a, b)

σx2 σxy

σyx σy2

a

b

= (a, b)

bσx2+aσxy

bσyx+aσy2 =

= a(aσx2+bσxy) +b(aσyx+bσy2)= a2σx2 +2baσyx + b2σy2

= Sin(θ)2σx2 + 2 Sin(θ) Cos(θ) + Cos(θ)2σy2

σ2 = σpN2 + σc2

Similar( droite D, point P, σpN2 + σc2) =

true

12

<D→

P→

>2

σpN2+σc2 ≤ s 2

false sinon.

où s est la nombre d'ecart type qu'on accept. On peut faire s = 2.

6-24

Page 25: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Proximité de deux segments.

Méthode 1 : calculer la distance de Mahalanobis entre les paramètres

Pour deux segments : S→

1 = (x, y, θ, L), avec Cs1

S→

2 = (x, y, θ, L), avec Cs2

où CS

σx2 σxy 0 0

σyx σy2 0 0 0 0 σh2 0 0 0 0 σθ2

Similar( S1, S2, Cs1+Cs2) =

true

12 (S1–S2)T(Cs1+Cs2)–1(S1–S2) ≤ s 2

false Sinon.

6-25

Page 26: Formation et Analyse d'Images - Pervasive Interaction · Formation et Analyse d'Images James L. Crowley ENSIMAG 3 Premier Bimestre 2003/2004 Séance 6 20 novmbre 2003 Suivi des formes

Suivi et estimation de movements Séance 6

Jonctions

Deux segments forment une jonction s'ils partagent un point.

if similar(S1.P2, S2.P1, S1.C+S1.C) then J = MakeJunction(S1, S2);

P

S2

S1

θϕ

Les paramètres d'une jonction sont :

P : Point Communϕ : angle interne ϕ = S2.θ – S1.θ

θ : angle externe θ = 12 (S2.θ + S1.θ)

segment struct {jonction *s1, *s2; /* segments */int x, y; /* point centrale */double phi; /* angle interne*/double theta; /* angle externe*/covariance_4 *C; /* Covariance */};

Les jonctions se ressemblent si leurs paramètres sont semblables.

Similar( J1, J2, J1.C+J2.C) =

true

12 (J1–J2)T C–1 (J1–J2) ≤ s 2

false Sinon.

6-26