Traitement d’images : concepts avancés

Slides:



Advertisements
Présentations similaires
Eléments d'algèbre linéaire
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Corrélation Position du problème Définition covariance (X,Y) r =
Traitement d’images : concepts fondamentaux
Traitement d’images : concepts fondamentaux
Traitement d’images : concepts fondamentaux
Traitement d’images : concepts avancés
III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES
______________________________________________________________________________________________________________________________________________________________________.
Efficient Simplification of Point-Sampled Surfaces
Champs de Markov en Vision par Ordinateur
2 MOUVEMENT Estimation PLAN DU CHAPITRE
Une approche informationnelle de la restauration d’images
RECONNAISSANCE DE FORMES
Calculs de complexité d'algorithmes
MODULE - METHODES POTENTIELLES Contenu du cours (par J.B. Edel & P. Sailhac) : I. Propriétés physiques des roches : densités, aimantations induites et.
2. Echantillonnage et interpolation des signaux vidéo
Estimation du mouvement dans des images biomédicales
1. Représentation du mouvement dans le plan - image
Laboratoire Bordelais de Recherche en Informatique 23/02/ Caractérisation du mouvement et méthodes par comparaison du mouvement - Présument une.
3. Analyse et estimation du mouvement dans la vidéo
4. Descripteurs du contenu

A Pyramid Approach to Subpixel Registration Based on Intensity
Xialong Dai, Siamak Khorram
Traitement d’images : briques de base S. Le Hégarat
Segmentation de séquences d’images au sens du mouvement
Résoudre graphiquement une équation ou une inéquation simple
La vision stéréo Sonka et al: sections , , , , Suppl: 11.4 au complet
Estimation du mouvement – 1
Module SIG-Santé 6. Géoréférencement Marc SOURIS Florent DEMORAES
Application des algorithmes génétiques
Chapitre 6 : Restauration d’images
Réalisateur : PHAM TRONG TÔN Tuteur : Dr. NGUYEN DINH THUC
Approche statistique semi-paramétrique du recalage iconique d’images
IFT3730: Infographie 3D Transformations Géométriques
Traitements d'images et Vision par ordinateur
Concepts avancés en mathématiques et informatique appliquées
Le filtrage d’images.
Chapitre 2 : Filtrage Professeur. Mohammed Talibi Alaoui
Traitement d’images : concepts avancés
Opérateurs morphologiques
Construction de modèles visuels
DEA Perception et Traitement de l’Information
Traitement d’images : concepts avancés
Transformation linéaires
Génération d’un segment de droite
Laboratoire de Mécanique Appliquée et d’analyse de Fiabilité
TRAITEMENT D’IMAGE SIF-1033.
SUJETS SPÉCIAUX EN INFORMATIQUE I
Appariement de deux images
Extraction Automatique de formes complexes : Application à la création de modèle anatomique de la tête J. Piovano, T. Papadopoulo Séminaire Odyssee 9,
Le filtrage d’images.
Interprétation automatique
Rappel... Matrices bloc. Décomposition des matrices:
La régression multiple
Géométrie épipolaire (deux vues)
Segmentation par analyse d’une image de gradient (ligne de partage des eaux) par fusion de régions dans un graphe par méthode variationnelle (Mumford.
Estimation de mouvement
Morphologie mathématique (cas fonctionnel)
CHAPITRE III Calcul vectoriel
Méthode des moindres carrés (1)
Faculté de Mathématiques et d’Informatique
Commande optimale linéaire quadratique de Lunar Lander
Partie II : Segmentation
PIF-6003 Sujets spéciaux en informatique I
Pierre Joli Cours de Mathématique Pierre Joli
De la Terre à la carte: Projections et Géoréférencement
Processus ponctuels Caractéristiques et Modèles de répartitions spatiales.
Transcription de la présentation:

Traitement d’images : concepts avancés Morphologie mathématique (cas fonctionnel) :  Erosion, dilatation, ouverture et fermeture fonctionnelles, Filtres alternés séquentiels, Ligne de partage des eaux. Classification (approches globales) : Modèles markoviens, Estimation de paramètres. Estimation de mouvement : Cas d’un mouvement rigide, Flot optique.

Comparaison de 2 images 2 types de changements : Apparition / disparition / modification des caractéristiques (radiométriques, forme) d’objets  analyse d’1 image ‘différence’ :  classification ‘changement’ / ‘non changement’ Mouvement / déplacement de la scène/d’objets Recherche d’1 mouvement global  ici seulement cas des transformations 2D Recherche d’1 champ de déplacements  image du Flot optique Application : recalage d’images, compensation mouvement global caméra, etc. Application à la surveillance : vidéosurveillance, monitoring en télédétection, etc. Application : estimation mouvement global caméra, détection de cibles en mouvement, etc.

Comparaison de 2 images : a priori 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 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é

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

Rappel : TF d’1 image

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 : F2(u,v) = F1(u,v)e−j2p(u/M.dx+v/N.dx) Alors : En prenant la transformée de Fourier inverse, on obtient un pic de dirac en (dx,dy), correspondant aux paramètres de translation. Exemple : (© wikipédia) ‘spectre de puissance croisé normalisé’ (SPCN) Réduction des effets de bords en filtrant (e.g. Hamming) les images préalablement

Corrélation de phase : exemple TF inverse du SPCN (177,133) (325,307) Pic en (0,377) Images 452452 (251,133)  Validation : (251,132)-(177,133)=(75,0) (400,307)-(325,307)=(75,0) Et : 452-377=75 (400,307)

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’´echelle. 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 Transformée de Fourier : rotation  rotation de même angle homothétie de rapport s  homothétie de rapport s-1 u=rcosq, v=rsinq

Estim. d’1 transfo. rigide 2D entre 2 images Calcul des TF des 2 images g1 et g2  G1(u,v) et G2(u,v) Passage en coordonnées log-polaires pour les 2 TF  G1(log r,q) et G2(log r,q) Calcul des TF des 2 im. G1(log r,q) et G2(log r,q)  G1(u,v) et G2(u,v) Calcul du SPCN de G1(log r,q) et G2(log r,q)  SPCNlogpolaire Calcul de la TF inverse du SPCNlogpolaire  TF-1(SPCNlogpolaire) Estimation des paramètres de la rotation-homothétie comme les coordonnées du pic de TF-1(SPCNlogpolaire)  (log a,j) Application de la rotation d’angle -j & de l’homothétie de rapport a-1, à l’image g2  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) Application de la translation (-tx,-ty) , à l’image h2  h1  g1

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

Invariant de Fourier-Mellin : ex.2

Invariant de Fourier-Mellin : ex.2

Transformations d’ordre supérieur Couples de points se correspondant dans les 2 images Sélection de points d’amer : Manuellement (identification de points homologues dans les deux images) Automatiquement (cf. cours de mise en correspondance de primitives) 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 : limite : sensibilité aux outliers RANSAC (RANdom Sampling Consensus)  principe : Symétrique positive, & définie si inversible 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) réitération tant que non satisfaisant de :

Projection d’1 image vers l’autre : stratégie d’interpolation 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 : I12(i2,j2) = I({I1(i1,k,j1,k)/ dist2D((x,y),(i1,k,j1,k))<s})

Projection d’1 image vers l’autre 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 : I12(i2,j2) = I({I1(i1,k,j1,k)/ dist2D((x,y),(i1,k,j1,k))<s}) Interpolations : Ordre 0  plus proche voisin  Ordre 1  bilinéaire  2 interpolation linéaires successives : Ordre 6  bicubique (en )  surface encore plus lisse…

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

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

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 !

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 (*)

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 et (**) 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 :

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):

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

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

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

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éplacemets ‘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)

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

Flot optique : exemples de résultats

Flot optique : exemples de résultats

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’expantion  egomotion de la caméra les objets de la scène non statiques trajectoires des objets non statiques

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

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 Norme des vecteurs déplacement inversement proportionnelle à Z Modèle Pin-hole  expression du flot (u,v) en un pixel (x,y)

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

Détection de changement : Problèmes Pb 1 : soit 1 image de fond, et 1 image acquise à 1 instant t. Quels sont les objets apparus ou disparus par rapport au fond ? Pb 2 : Soit 2 images acquises à t et t+1. Quels sont les objets ayant bougé entre t et t+1 ? Seul cas traité ici : caméra fixe  tous les changements détectés sont imputables à des apparitions / disparitions / mouvements d’objets

Détection de changement : Approche générale Création d’1 image des données D Niveau d’information considéré : Valeur absolue des différences des niveaux de gris Différence signée des niveaux de gris Différence (absolue ou non) d’images de primitives : contours… Classification de l’image D Nombre de classes : 2 : ‘changement’ vs ‘non changement’ k : ‘non changement’, ‘changement de type 1’,…, ‘changement de type k-1’ Prise en compte de l’information spatiale Classifications markoviennes (vs ponctuelles) Décision niveau ‘fenêtre’ On cherche 1 solution qui soit : Robuste au bruit, aux changements d’illumination Automatique

Création d’1 image des ‘données- changements’ D

Classification de l’image D Cas 2 classes Classe ‘non changement’ ~ Normale centrée variance s Classe ‘non changement’ ~ quelconque !!! Attention au terme d’attache au données Exemple : cas d’1 classe changement bimodale supposée monomode  termes attache aux données Classification aveugle Image des labels ‘vérité’ Image données Paramètres classification Classification MRF-ICM (itération 1)  énergies avec terme voisinage

Décision A Contrario Principe de Helmholtz : modélisation du cas où il n’y a rien (modèle ‘naïf’) et contradiction éventuelle de ce modèle Cas de la détection de changements : Classe ‘non changement’  modèle naïf (& Classe ‘non changement’  non modélisée !) Estimation de la ‘vraisemblance’ de l’observation sous hyp. du modèle naïf Décision sur la valeur de probabilité ~ tests a contrario de Fisher sur le “nombre de fausses alarmes” 1 structure est présente dans 1 groupe d’objets quand la configuration de ces derniers ne peut arriver par simple hasard (sauf exception). Introduit en TI par A. Desolneux (2000)

Exemple 1 : détection basée sur les valeurs radiométriques de pixels Modèle naïf : En l’abs. de changements, l’image différence est un champ aléatoire de variables indépendantes gaussiennes centrées L’erreur quadratique cumulée sur 1 sous-ensemble de pixels Wi : a 1 fct de répartition qui suit une loi du c2. Critère NFA : principe : mesurer le degré d’étonnement d’1 observation  NFA = où |E| est un ‘nombre de tests’ Significativité maximale : 1 évènement est e-significatif si son NFA est <e  On cherche les sous-ensemble de pixels Wi de significativité max., i.e. de NFA minimal Ex. : pour 1 pièce supposée non truquée, il n’est pas vraiment étonnant de ne pas tirer ‘face’ sur 1 tirage aléatoire ; par contre il est très étonnant de tirer 0 fois ‘face’ sur 10 tirages aléatoires ! Conversion d’1 proba. en 1 nombre de fausses alarmes

de dimensions fixées e.g. 1010, 1020, 2010, 2020) Exemple 1 : résultats Cas où Wi est quelconque sur l’ensemble des pixels de l’image : |E| = et Cas où Wi est 1 fenêtre rectangulaire de nk pixels : |E| = et de dimensions fixées e.g. 1010, 1020, 2010, 2020)

Exemple 2 : détection basée sur les labels L’image de données est 1 image de labels l0 l0  {‘changement’=‘C’, ‘non changement’=‘NC’, ‘indéterminé’=‘I’} l0 attribué au niveau pixel   erreurs Modèle naïf : En l’abs. de changements, les labels l0=‘changements’ sont répartis uniformément sur l’image Le # de pixels labelisés ‘C’, |{‘C’}Wi|, dans 1 sous-ensemble compact de |Wi| pixels suit une loi binômiale : Résultats : Étiquettage sur valeur de gradient Étiquettage par méthode 1.1

Bibliographie H. Maître, Le traitement des images, Hermès éditions. J.-P. Cocquerez & S. Philipp, Analyse d’images : filtrage et segmentation, Masson éditions. S. Bres, J.-M. Jolion & F. Lebourgeois, Traitement et analyse des images numériques, Hermès éditions.