La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Estimation de mouvement

Présentations similaires


Présentation au sujet: "Estimation de mouvement"— Transcription de la présentation:

1 Estimation de mouvement
Niveau image : cas d’un mouvement rigide, Niveau objet : mouvement rigide par bloc, Flot optique.

2 Mouvements/déplacement de la scène/d’objets
Quel a priori rajouter pour guider la solution ? Transformation globale : Tous les pixels de la scène ont subit le même mouvement  modèle rigide (ici seult cas des transformations 2D) Transformation niveau objet : Tous les pixels d’un objet ont subit le même mouvement  modèle rigide par bloc (ici seult cas des transformations 2D) Champ de déplacements : Les pixels de la scène peuvent avoir des mouvements indépendants  modèle non rigide, mais les déplacements varient lentement  régularisation Affectant TOUS les pixels de l’image : translation, rotation, homothétie, affinité Appli : recalage d’images, compensat° mvt global caméra, etc. Appli: vidéosurveillance, suivi d’objets (personnes, véhicules, etc.) Appli : estimat° mvt caméra, segmentation mvt

3 Transformations 2D rigides : Translation+rotation+homothétie
Translation (vecteur t0=(x0,y0) )   M’=M+t0 Rotation (centre 0, angle j)   M’=(s.eij).M Homothétie (centre 0, rapport s)  coordonnées polaires M(r,q)=r.eiq  M’=s.rei(q +j) coordonnées log-polaires M(r,q)=logr+iq  M’= logr+logs+i(q+j) 2 combinaisons de transformations élémentaires : translation t0 puis r, rotation+homothétie, M’=(M+t0).r =M.r+t0.r rotation+homothétie puis translation M’=M.r +t0=(M+t0.r-1).r  On peut toujours appliquer (corriger) d’abord la rotation+homothétie puis la translation

4 Rappel : TF d’1 image

5 Corrélation de phase  Estimation d’une translation entre 2 images
Soit f1 et f2 deux images égales à une translation (dx,dy) près : f2(x,y) =f1(x−dx,y−dy) Soit F1 et F2 leurs transformées de Fourier respectives : Alors : En prenant la transformée de Fourier inverse, on obtient un pic de dirac en (dx,dy), correspondant aux paramètres de translation. Ex. : ‘spectre de puissance croisé normalisé’ (SPCN) Réduction des effets de bords en filtrant (e.g. Hamming) les images préalablement (252,133) (400,307) (177,133) (325,307) Pic en (377,0) TF inverse du SPCN Validation : =-75 Images 452452 : image 2 = image 1 translatée de (-75,0)

6 Corrélation de phase : ex.
Différence Ima. translatée et Ima. d’origine Différence Ima. corrigée et Ima. d’origine Corrélation de phase : ex. Image d’origine Image translatée (-10,20) Image corrigée (+10,-20) Image d’origine filtrée TF-1 du spectre de puissance croisé normalisé Image translatée filtrée Pic dans la TF-1 du spectre de puissance croisé normalisé

7 Corrélation de phase : ex.
Différence Ima. translatée et Ima. d’origine Différence Ima. corrigée et Ima. d’origine Corrélation de phase : ex. Image d’origine Image translatée (50,-25) Image corrigée (-50,25) Image d’origine filtrée TF-1 du spectre de puissance croisé normalisé Image translatée filtrée Pic dans la TF-1 du spectre de puissance croisé normalisé

8 Fourier-Mellin  Estimation d’une rotation+homothétie entre 2 images
Invariant de Fourier-Mellin = extension de la corrélation de phase pour obtenir les paramètres de rotation et changement d’échelle. Soit g1 et g2 deux images égales à une rotation d’angle j et un changement d’échelle de s près et G1 et G2 leurs TF respectives : g2(x,y) =g1(s(x.cosj +y.sinj), s(−x.sinj +y.cosj))  Passage en coordonnées log-polaires la rotation+changement d’échelle devient 1 translation Estimable par corrélation de phase : Propriétés Transfo. de Fourier : rotation  rot. de même angle homothétie de rapport s  homothétie de rapport s-1 u=rcosq, v=rsinq

9 Estimation d’une transformation rigide 2D entre 2 images
Calcul des TF des images g1 et g2  G1(u,v) et G2(u,v) Passage en coordonnées log-polaires pour les TF  G1(log r,q) et G2(log r,q) Calcul des TF de G1(log r,q) et G2(log r,q)  TF[G1(log r,q)] et TF[G2(log r,q)] Calcul du SPCN de TF[G1(log r,q)] et TF[G2(log r,q)]  SPCNTFlogpol Calcul de la TF inverse du SPCNTFlogpol  TF-1(SPCNTFlogpol) Estimation des paramètres de la rotation-homothétie comme les coordonnées du pic de TF-1(SPCNTFlogpol)  (logs, j) Transformation de g2 par rotation d’angle -j et homothétie de rapport s-1  h2 Calcul de la TF de h2  H2(u,v) Calcul du SPCN de G1(u,v) et H2(u,v)  SPCN2 Calcul de la TF inverse du SPCN2  TF-1(SPCN2) Estimation des paramètres de la translation comme les coordonnées du pic de TF-1(SPCN2)  (tx, ty) Transformation de h2 par translation (-tx,-ty)  h1  g1

10 Fourier-Mellin : ex.  Validation : TF inverse du SPCNTFlogpol
(153,212) (387,298) Pic en (482,86) Images 512512 (305,183) (194,305)  Validation : rotation d’angle 60°  86/512360 facteur d’échelle = 0.7

11 Fourier-Mellin : ex. Image de référence
TF en log polaire de l’image de référence Pic dans la TF-1 du spectre de puissance croisé normalisé Image à recaler TF en log polaire de l’image de référence TF-1 du spectre de puissance croisé normalisé Image corrigée itération 1 Différence Ima. corrigée et Ima. de référence Image corrigée itération 4 Image corrigée itération 3 Image corrigée itération 2

12 Fourier-Mellin : ex. Image corrigée itération 1 Image de référence
Image à recaler Image corrigée itération 1 Image corrigée itération 2 Image corrigée itération 4 Image corrigée itération 3 Différence Ima. corrigée et Ima. de référence

13 Transformations d’ordre supérieur
Sélection de points d’amer : Manuellement (identification de points homologues dans les deux images) Automatiquement (cf.slides suivants) Estimation de la transformation Système d’équations linéaires à résoudre Critère des moindres carrés :  Solution donnée par la matrice pseudo-inverse : Couples de points se correspondant dans les 2 im. Symétrique positive & définie si inversible

14 Projection d’1 image vers l’autre : stratégie
Projection I12 de l’image 1 I1 dans la géométrie de l’image 2 I2 : Soit T la transformation de l’image 1 vers l’image 2, et T-1 celle de l’image 2 vers l’image 1 ; Pour chaque pixel (i2,j2) de l’image 2, Calculer ses coordonnées antécédentes sur le pavé correspondant à l’image 1 : (x,y) = T-1(i2,j2) En déduire les coordonnées des pixels antécédents dans l’image 1 : {(i1,k,j1,k)/ dist2D((x,y),(i1,k,j1,k))<s} ; e.g. pour s=1, 4 voisins : Calculer le niveau de gris du pixel (i2,j2) selon l’interpolation à l’ordre choisi

15 Projection d’1 image vers l’autre : interpolation
4 voisins du pixel rétro projeté : Interpolations : Ordre 0  plus proche voisin  Ordre 1  bilinéaire  2 interpolations linéaires successives : Ordre 6  bicubique (en )  surface encore plus lisse…

16 Ré-échantillonnage d’image : exemple
plus proche voisin  bilinéaire 

17 Problème des outliers RANSAC (RANdom SAmpling Consensus)  principe :
Réitération tant que critère de consensus non satisfait : sélection aléatoire d’1 sous-ensemble de points ; calcul de la solution pour ce sous-ensemble ; calcul du critère de consensus (e.g. nombre de points dans l’ens. complet à une distance inférieure à un seuil) Ex : estimation de droite : données avec bruit + outliers (50%) Tirage d’une paire de points  estimation de la droite passant par ces points et calcul du nombre de points ‘consensuels’ (erreur 5)  1er tirage : 6 points, 2ème tirage : 4 points, 3ème tirage : 10 points  Le 3ème tirage est le bon

18 Mise en correspondance par blocs
Bloc matching Principe : trouver un bloc de l’image 2 (à mettre en correspondance) qui soit similaire à un bloc donné dans l’image 1 (de référence) Critères : - Sum/Mean of Squared Error : - Sum/Mean of the Absolute Differences : - Sum of Absolute Transformed Differences, etc.... Algorithmes de recherche - recherche exhaustive, - Three step search, - Two dimensional logarithmic search - etc. Ex. d’application : codage vidéo  Norme L2  Norme L1

19 Block-matching : Exemple
Critère SAD + 3-step search 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 27 13 21 18 9 45 12 30 48 54 90 126 Critère SAD + 2D logarithmic search 24 25 26 27 28 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 216 166 180 153 97 42 18 99 45 9

20 Propriétés et limites Localité  capture un mouvement particulier, robuste aux occlusions partielles Caractère discriminant  distingue les différents mouvements des sous-parties de l’image Invariance en translation MAIS Pas invariance d’échelle ni en rotation  inefficace pour certains mouvements (et en reconnaissance d’objet) Pas robuste aux changements d’illumination  inefficace sous conditions variables Utiliser des points d’intérêt avec descripteur

21 Invariance et répétabilité
Types d’invariance : aux rotations aux changements d’échelle aux transformations affines aux changements photométriques Critère dévaluation de l’invariance : Répétabilité :

22 1ère approche : détecteur de Harris & Stephens: principe
En chaque pixel s, calcul de la matrice d’auto- corrélation Avec I l’image d’origine, Ix et Iy ses dérivées resp. selon les dir. x et y G(s) le filtre passe-bas gaussien de paramètre s l1 l2 Région homogène Contour Coin l1 et l2 grands Les valeurs propres l1 et l2 de Ms caractérisent le pixel s

23 Détecteur de Harris&Stephens : calcul
Eviter le calcul des valeurs propres en calculant la trace et le déterminant de Ms : Trace(Ms)= l1 + l2 = M1,1 +M2,2 Déterminant(Ms)= l1l2 = M1,1M2,2 -M1,2M2,1 Le paramètre R permet l’identification des coins Mc=Déterminant(Ms)-k[Trace(Ms)]2 les coins correspondent à k et t paramètres : k=0.04 (par défaut) et t relié à la ‘taille’ du coin Algo Mc max local Mc >t Filtrage linéaire gaussien de l’image d’origine Calcul des images Ix et Iy des gradients selon les directions x et y respectivement, p.e. par différences finies Calcul des images des termes de la matrice de covariance Ix2, Iy2 et IxIy Filtrer les images Ix2, Iy2 et IxIy par filtrage linéaire Gaussien  , et Calcul de l’image du critère Mc: en chaque pixel Création de l’image des points d’intérêt = maxima locaux de Mc supérieur au seuil t

24 Détecteur de Harris : exemples
Points sur ‘imagetest_synthetic’ tournée de + 30 degrés Points détectés sur ‘imagetest_synthetic’ Points détectés aux échelles s=5 (R), s=1 (V), s=3 (B) Autres exemples

25 Changements d’échelle
Limite du détecteur de Harris : non invariant aux changement d’échelle  extensions : e.g. Harris-Laplace Invariance SI  fonction dont la réponse soit la même pour des images à différentes échelles  fct = max. d’intensité moyenne sur 1 région versus rayon de la région Facteur d’échelle = 1/2 <I> Rayon région Image 1 Image 2

26 KL et KDoG sont des détecteurs de ‘blobs’.
Invariance en échelle Intensité moyenne sur la région obtenue par filtrage linéaire par filtre de noyau K : Choix du noyau : laplacien : différence de gaussiennes KL et KDoG sont des détecteurs de ‘blobs’.

27 2ème approche : Scale Invariant Feature Transform (Lowe, 2004)
Points ‘clés’ orientés associés à leur descripteur (vecteur des caractéristiques) Analyse multi-échelle (sélection des maxima dans l’espace d’échelles DoG)  invariance aux changements d’échelle Points orientés (calcul de l’orientation sur voisinage du point)  invariance aux rotations Descripteur de type gradient (histogrammes des gradients locaux dans voisinage du point)  invariance aux changements d’illumination

28 SIFT : Espace d’échelles
Espace 3D (x,y,s), s paramètre d’échelle Pyramide d’images convoluées par filtre gaussien G(x,y,s) avec paramètre s croissant (selon suite géométrique de paramètre k) : (I(x,y) : image d’origine) Rq: rééchantillonnage des images à chaque fois que :  Max. du Laplacian of Gaussians (LoG) donne l’échelle (en théorie)  Approximation par du LoG par DoG  ‘Tamissage’ des éléments de taille s par différence entre les résultats à deux échelles successives :

29 SIFT : Détection et localisation des points clés
Extrema (maxima et minima) des images DoG, voisinage 26 connexité dans l’espace des échelles Localisation des points peu précise (notamment aux échelles grossières)  interpolation avec l’approximation de Taylor Pour 1 extremum la dérivée /x est nulle Matrice 3 estimée par différences finies : termes diagonaux etc. termes non diagonaux Vecteur 1 estimé par différences finies : termes etc.

30 SIFT : Filtrage des points clés
Elimination des points de faible contraste Calcul de avec Et élimination des points de valeur inférieure au seuil (e.g pour I à valeurs dans [0,1]) Points clés détectés Points clés détectés filtrés Elimination des points de contours Pb : points sur contours non stables, e.g. Calcul de la matrice Hessienne Comme pour le critère de Harris, seuillage sur valeur de qui vaut avec et lmax et lmin valeurs propres (e.g. rth = 10  seuil à 12.1) Point stable Point glissant sur contour

31 SIFT : Calcul de l’orientation
Histogramme des orientations dans un voisinage V(xk,yk) du point clé à l’échelle s où il est détecté, i.e. Construction de l’histogramme : Chaque pixel (x,y) de V(xk,yk), - vote pour orientation - avec poids (Orientation du gradient) (Norme du gradient) (Pondération gaussienne 1.5s)  les pixels distants ou de faible gradient ne ‘comptent’ pas vraiment Estimation de ou des orientation(s) : Argument(s) du pic de l’histogramme et des pics sup. à 80% du pic principal Histogramme sur 36 bin  orientations à  5 deg.

32 SIFT : Calcul du descripteur
Descripteur discriminant  ensemble de valeurs dans voisinage point clé préservation de l’info. spatiale : distinction de sous-blocs intra- voisinage robustesse aux changements d’illumination : valeurs d’orientation du gradient Robustesse / homothéties  Descripteur calculé à l’échelle s du point clé Robustesse / rotations  duplication des points clés (x,y,s,q) si plusieurs orientations q rotation locale du voisinage du point clé l’image ( correction des orientations de q)

33 SIFT : Calcul du descripteur
 Solution D.Lowe : Voisinage 1616 pixels autour du point clé, divisé en sous-blocs 44 Calcul des histogrammes (sur 8 bins, chaque échantillon étant pondéré par la norme du gradient et la fonction gaussienne) d’orientation sur chacun des sous-voisinages  Descriteur contient 16 histogrammes de 8 bins  dimension = 128 Rq : Normalisation du vecteur (norme = 1) + seuillage des composantes de valeur inférieure à renormalisation © J. Hurrelmann

34 Application : recalage d’images
Matching (mise en correspondance) des points clés selon minimum de distance euclidienne (norme L2) entre les descripteurs des points clés Robustesse par rapport aux solutions multiples (texture etc.)  contrainte ajoutée : le ratio entre les distances min et le 2nd min <0.8

35 Flot optique Applications : suivi d’objets, détection de mouvement, etc… Pb: Soit 2 images acquises à t et t+1. Quel est le champ des vitesses associé à l’image ? Sous-pb : Quel est le champ des vecteurs de déplacement apparent de chaque objet de l’image entre t et t+1 ? Définitions : Mouvement apparent local :  s=(x,y)S, t, (vxt, vyt) représente la vitesse apparente de s à t. Mvt apparent : vecteur selon Z Flot optique = champ de mouvement apparent Idéalement, le vecteur (vxt,vyt) représente la projection sur le plan image du vecteur vitesse 3D (VXt, VYt , VZt) des points de la scène. Mvt réel : rotation autour de Z

36 Flot optique : formulation (I)
Soit f(x,y,t) l’image vue comme une fct donnant la ‘brillance’ (niv. de gris) d’un objet en (x(t),y(t)) à t Hypothèse de base = conservation de la ‘brillance’ des objets au cours du temps  En pratique, minimisation de la norme (L1) : avec régularisation du champ des vitesses Éviter ces solutions !

37 Flot optique : formulation (II)
Ajout d’1 terme de régularisation  énergie à minimiser : (*) avec Horn & Schunk (1981) : Weickert & Schnörr (2000) : et l’énergie est intégrée sur 1 domaine spatio-temporel W  W[0,T] dans (*)

38 Flot optique : résolution (I)
Rappel : soit 1 fct J dépendant d’1 fct f et de sa dérivée première : alors 1 extremum de J (s’) est la fct f(x) qui satisfait l’équation d’Euler-Lagrange  Cas Horn & Schunck d’où et (**) ou (cas f(x,y)) On pose f=f0+ef1, avec f1 quelconque nulle sur les bords de W. Alors si f0 est 1 minimum, la dérivée de J par rapport à e est nulle en e=0 : Or :

39 Flot optique : résolution (II)
Approximation du Laplacien et des dérivées 1ères par filtrage linéaire : avec et En remplaçant dans le système (**) Que l’on résout de façon itérative (n numéro d’itération):

40 Flot optique : analyse de résultats
Image des valeurs de u Image des valeurs de v Principalement valeurs à 0 (gris) Quelques valeurs non nulles au niveau des roues Principalement valeurs à 0 (noir) Valeurs non nulles (2) au niveau de la carrosserie

41 Flot optique : exemples de résultats
Différence signée u v Alpha=5

42 Flot optique : exemples de résultats
Différence signée u v Alpha=10

43 Flot optique : approche hiérarchique
Dérivées (1ères et 2ndes) estimées sur des fenêtres de taille 33 ou 222  estimation du flot valide que pour des déplacements ‘petits’.  approche hiérarchique : principe : Image 1 Image 2 Calcul de u&v u=u(N-1) v=v(N-1) Sous échantillonnage N-1 N-1 compensation du mouvement Calcul de u&v u=2u(N-1)+u(N-2) v=2v(N-1)+v(N-2) N-2 N-2 Sous échantillonnage Compensation du mouvement Niveau 0 Niveau 0 Calcul de u&v u=2u(1)+u(0) v=2v(1)+v(0)

44 Flot optique : analyse de résultats
(204,277) (212,286) v6 u7 Image des valeurs de u Image des valeurs de v

45 Flot optique : informations dérivées
Cas d’une caméra statique : flot permet d’estimer les mouvements des objets de la scène segmentation de la scène par le mouvement suivi (tracking) des objets Cas d’une caméra embarquée : flot permet d’estimer le mouvement dominant de la scène foyer d’expansion  ego-mouvement de la caméra les objets de la scène non statiques trajectoires des objets non statiques

46 Modèle d’acquisition de scène
Modèle sténopé = pin-hole  projection perspective f Z y Y f : distance focale de la caméra En coordonnées homogènes : Rq : Modèle sténopé complet : Matrice de passage du repère 3D de la scène à celui 3D de la caméra (translation+rotation 3D) Projection sur le plan image kx, ky facteurs d’agrandissement des pixels, cx, cy coord. du la projection du centre optique de la caméra sur l’image

47 Norme des vecteurs déplacement inversement proportionnelle à Z
Foyer d’expansion FOE Définition : FOE = point (S) de convergence des directions des mouvements apparents locaux lors d’un déplacement de la caméra dans une scène statique. Si la caméra se déplace à la vitesse (-dX/dt,-dY/dt,-dZ/dt)= (-X’,-Y’,-Z’), alors tous les points de la scène sont à la même vitesse (X’,Y’,Z’) Cas centre optique caméra se projette au centre de l’image Modèle Pin-hole  expression du flot (u,v) en un pixel (x,y) Norme des vecteurs déplacement inversement proportionnelle à Z

48 Points d’intérêt et flot optique
Finalement le calcul du flot optique revient à : identifier les couples de pixels susceptibles d’appartenir à un même objet dans les 2 images à t et à t+1 définir 1 critère d’association des pixels sélectionner la ‘bonne’ sol. parmi des sol. multiples définir un critère de régularisation du champ des déplacements  Il existe une approche duale de l’approche variationnelle présentée, à savoir une approche locale (Lucas&Kanade 1981  approches par corrélation) Principe : flot estimé aux points où il est estimable  a priori non dense Complémentarité par rapport à l’approche variationnelle dense  vision humaine : petits mouvements  analyse flot optique dense grands mouvements  mise en correspondance de points caractéristiques Hyp.: Champ de mouvement est constant sur une petite région Mesure de confiance basée sur la texture de l’image


Télécharger ppt "Estimation de mouvement"

Présentations similaires


Annonces Google