Chapitre 3 Analyse du mouvement -...

17
Chapitre 3 Analyse du mouvement

Transcript of Chapitre 3 Analyse du mouvement -...

Page 1: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Chapitre 3

Analyse du mouvement

Page 2: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Une analyse cinématique est envisageable lorsque la cadence desacquisitions d’images est rapide vis-à-vis des mouvements des objetsde la scène perçue. Dans le cas où des variables à asservir sont dansl'espace, ce sont les variations infinitésimales de l'orientation et de laposition du capteur visuel qui constituent l’information pertinente entredeux instants de prises de vue. On parle alors d’asservissement visuel3-D (position-based visual servoing). Dans le cas où des variables àasservir sont dans l’image, ce sont les variations infinitésimales desimages qui constituent l’information pertinente entre deux instants deprises de vue. On parle alors d’asservissement visuel référencé image(image-based visual servoing). Lorsque des primitives géométriques(points, droites, coniques, moments géométriques,…) sont extraites del’image par segmentation, onrecherche une matriced’interaction. Si les indicesvisuels sont iconiques(niveau pixels), on rechercheune vitesse apparente dansl’image ou flot optique.

Chapitre 3 : Analyse du mouvement

Page 3: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

3.1 Mouvement 3-D

Déplacement de la caméra dans un repère absolu. On souhaite obtenirune orientation désirée R*_co et une position désirée t*_co par rapportà un objet bien défini (cible) dans la scène 3-D

Page 4: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

On extrait le déplacement fini entre les deux repères (Rc) et (R*c):

• Le déplacement en translation t :• Le déplacement en orientation R :

entre deux prises de vues et on construit le vecteur r à partir de Rtel que:

=acos [12r11r22r33−1]

u=[signr32−r23

r11−cos1−cos

signr13−r31r 22−cos1−cos

signr21−r12r33−cos1−cos

]r=u ,

R=Rco .Rco∧

T

t= t co−Rco Rco∧T t co

Page 5: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

La matrice d’interaction représente la relation géométrique entre desvariations dans l’image de primitives géométriques et un torseurcinématique lié à un solide en mouvement (caméra, objet de la scène,organe terminal d’un robot,…). Par la suite, nous nous limiterons à établirla relation entre les variations des coordonnées de points de l’image et lescomposantes d’un torseur cinématique lié à la caméra en utilisant lemodèle de la projection perspective que l’on dérive.

En ce qui concerne les points comme primitives géométriques, à unevariation dQ = (du,dv)T des coor-données image entre deux instants t ett’=t+dt, correspond une variation descoordonnées du point de la scènedP=(dx(c) ,dy (c),dz (c))T exprimées dansun repère (Rc) lié à la caméra enmouvement :

3.2 Matrices d'interaction

dz c

dt [uv1 ]z c [

dudtdvdt0]=K⋅[

dxc

dtdy c

dtdz c

dt]

• Matrice d'interaction classique

Page 6: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

La variation dP/dt étant égale à (vitesse du point P par rapportà l’origine de (Rc) expriméedans le repère (Rc) , on a :

V R f

C / R

c

z c dQ=[1 0 −u0 1 −v ]⋅K⋅V Rc

P / Rc

dt

D’autre part, par rapport à un repère fixe galiléen (Rf) d’origine Of, supposons que le repère de la caméra (Rc), d’origine C soit animé d’un mouvement detranslation et d’un mouvement de rotation .

Si le point P est fixe dans ce repère [ environnement statique] alors en employant la loi de composition des vitesses, il vient :

V R f

P / R

c= Rcf V R

f

P / R

f=0=V R

c

P / R

cV R

f

C / R

ccf / R

c∧CP / R

c

cf / Rc

V Rc

P / R

c

V R f

P / R

f=0

• Matrice d'interaction classique

Page 7: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

c’est-à-dire :

On en déduit alors que :

La matrice Jk ainsi définie est appelée matrice d’interaction (aussi appelé Jacobien image) pour le point Pk en correspondance avec sa projection Qk. Elle établie les relations entre les paramètres à commander (le torseur cinématique) etles grandeurs àasservir:

V Rc

P / R

c=−V R

f

C / R

csk CP / R

c .cf / R

c

ds

dt= dQ1/dt , . . . , dQn /dt T=

du 1

dt,

dv1

dt, . . . ,

dun

dt,dvn

dtT

• Matrice d'interaction classique (3)

dQk

dt=Jk⋅[

V Rc

P / R

c

cf / Rc ]

Jk=1

zkc 1 0 −u

0 1 −v⋅K⋅[− I3x3sk CPk ]

Page 8: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

La trajectoire des grandeurs asservies correspond alors à des droites dans l’image (le plus court chemin pour aller d’une valeur courante du vecteur s à une valeur s* désirée). Si au moins trois points (non coplanaires) sont considérés, une résolution par la méthode des moindres carrés permet de déterminer le mouvement:

J= J1T , J 2

T , . . . , J nTT [

V Rc

P / R

c

cf / Rc ]= JT J −1 JT

⋅dsdt

Remarques : • La méthode des moindres carrés n’est pas toujours la plus adequate carle critère de minimisation stipule que l’on cherche à passer au plus prèspossible de tous les points sans passer par aucun d’entre eux. Une autreapproche est de considérer des sous-ensembles de triplets (non colinéaires)pour J le plus loin possible de la singularité (en maximisant la quantité W2 = det(J.JT) , les trois points retenus formant alors un triangle quasi-équilatéral).

• La détermination de la matrice d’interaction requiert la connaissance desparamètres intrinsèques à la caméra (matrice A) mais également la pro-fondeur z(c) qui peut être retrouvée par une reconstruction partielle de lapose (cf. chapitre 1).

• Matrice d'interaction classique (4)

Page 9: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

La profondeur de chaque point Pk, essentiellement contenue dans la coordonnée zk

(c) peut très bien être intégrée dans le vecteur s des grandeurs à asservir si sa valeur peut être mesurée ou estimée. Dans ce cas, on parle de vision 2-D ½.

sk=[z

k c uk

zk c vk

zk c

]=K⋅[xk c

yk c

zk c ]

Un nouveau vecteur s est formé (à 3composantes par point) et il vient :

zk c [

uk

vk

1 ]=K⋅[ I3×3 03 ]⋅[

xk c

yk c

zk c

1]

La dérivée première de la relation linéaire précédente s’écrit donc simplement:

• Matrice d'interaction avec profondeur (1)

dsk

dt=K⋅[−I

3×3 sk [uk

vk

1 ] ]⋅[V Rc

P / R

c

cf / Rc ]

Page 10: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

L’avantage majeure de cette approche est d’aboutir à la fois à des trajectoires quasi-rectilignes dans l’image mais également de garantir une trajectoire quasi-rectiligne de la grandeur z(c) représentant la profondeur dans l’espace 3-D.

En contre-partie, il faut pouvoir estimer la profondeur à tout instant avec une bonne précision, ce qui nécessite de faire unereconstruction partielle de la pose.

• Matrice d'interaction avec profondeur (2)

Page 11: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

La matrice d’interaction d’un système stéréo est formée de deux matrices d’interaction classique Jr et Jl et le vecteur s des grandeurs à asservir est formé par les coordonnées des primitives géométriques considérées pour les deux images :

J=[ J1rT , J 1

lT , . . . , Jn

rT , J n

lT]T

Exprimée par rapport à une des deux caméras (ici Cr).La matrice J obtenueest (de dimensions (4n x 6)) :

ds k

dt=[

dQkr

dtdQk

l

dt]=[

J kr

J kl ]⋅

V R f

Cr / Rc

r

cr f / Rcr

D’autre part, la contrainte épipolaire doit être satisfaite pour tout point Pk ,(k=1,...,n). cela se traduit par la minimisation des scalaires hk :

sk=[Qk

r

Qkl ]

hk=QkrT⋅F⋅Qk

l

• Matrice d'interaction en stéréovision (1)

Page 12: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Le problème précédent de minimisation peut être re-écrit en utilisant n multiplicateurs de Lagrange :

et

Remarques : • Dans le cas d’un système multi-caméras (non stéréovision), Il faut re-calculer la matrice fondamentale à chaque itération et retrouver de manière unique le mouvement entre les caméras.

• Dans tous les cas, l’asservissement visuel doit garder les objets considérés de la scène visibles par l’ensemble des capteurs.

L=12s−s*

T s−s*

T h

s= u1r , v1

r , u1l , v1

l , . . . , unr , vn

r , unl , vn

lT

h= h1 , . . . , hn T

• Matrice d'interaction en stéréovision (2)

Page 13: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Déterminer la vitesse apparente directement à partir des variations del’intensité dans l’image sur chaque pixel. Le calcul du flot optique consisteà extraire un champ de vitesses à partir d'une séquence d'images ensupposant que l'intensité (ou la couleur) est conservée au cours dudéplacement. Sous cette hypothèse, on peut établir une relation entre lavitesse apparente v (déplacement dans l’image d’indices visuels tels quedes régions délimitées par des contours supposé representer la projectiondu mouvement 3-D des objets de la scène et/ou du mouvement de lacaméra) et les variations spatio-temporelles de l’intensité

dI(u,v,t)/dt = 0

En introduisant le gradient de l’image en un pixel donné, ∇I , ledéveloppement de l’équation précédente nous fournit la relation([Horn et Schunck, 1981]):

(Image Brightness Constancy Equation)

∇ IT v∂ I∂ t

=0

3.3 Flot optique

Page 14: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Cette équation ne permet de déterminer que la composante normale de vau contour (problème d'ouverture). Le champ estimé des vitesses peutensuite être utilisé par des applications comme la reconstruction 3D,l'interpolation temporelle de séquences d'images en tenant compte dumouvement (applications à la compression vidéo) , la segmentation (ausens du mouvement) ainsi que la poursuite.

• Flot optique (2)

Page 15: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Détermination du flot optique pour déterminer les véhicules enmouvement à partir d'une caméra fixe.

• Flot optique (3)

Page 16: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Pour déterminer ce champ en un pixel Qi, on suppose que dans un voisinageentourant Qi (fenêtre W de dimensions NxN), cette vitesse est constante(amplitude et direction). Il est alors possible de l’estimer en minimisant lecritère local :

La solution au sens des moindres carrés peut êtreévaluée en résolvant le système linéaire suivant(en chaque point Qi). La i-ème ligne de la matrice (N2x2)M est le gradient spatial au point Qi ,et b est le vecteur de dimension N2 etcontenant les dérivées temporelles (le long de la séquence) de l’intensitélumineuse évaluées aux pointsQ1,Q2,…,QN2 après un changement de signe :

La solution pour la vitesse apparente est donnée par :La procédure répétée en tout point permet d’obtenir une carte dense de la vitesse apparente sur l’image entière.

M=∇ I Q1T ,∇ I Q2

T , . . . ,∇ I QN 2

T

∑Qi∈W[ ∇ IT v

∂ I∂ t

]2

b=−[∂ I Q1

∂ t,∂ I Q2

∂ t, . . . ,

∂ I QN 2

∂ t]T

v= MT M −1 M T b

M T M v=M T b

• Flot optique (4) : technique différentielle

Page 17: Chapitre 3 Analyse du mouvement - icube-avr.unistra.fricube-avr.unistra.fr/fr/img_auth.php/d/d7/Prog0708_ch3.pdf · l’image ou flot optique. Chapitre 3 : Analyse du mouvement. 3.1

Problème de précision sur l'orientation du gradient : ajout d'une contraintede lissage (modification du critère local, [Lucas et Kanade, 1981]) :

L'estimation du flot optique par une méthode différentielle est relativementsimple mais souffre d'un manque de précision au niveau des transitionset de manière générale sur les zones de discontinuité du mouvement.

Autres techniques d'estimation :

- appariement de fenêtres (régions d'intérêt entre deux images) parmaximisation d'un critère de la similarité et par minimisation d'une distance.Un modèle de déplacement affine est généralement associé à l'appariementdes zones d'intérêt [Wang et Adelson, 1994].

∑Qi∈WG Qi

2[ ∇ I T v

∂ I∂ t

]2

• Flot optique (5) : technique différentielle