TRAITEMENT des IMAGES et VISION par MACHINE
Transcription
TRAITEMENT des IMAGES et VISION par MACHINE
TRAITEMENT des IMAGES et VISION par MACHINE MASTER PRO INFO 2011/2012 Jean-Marc Vézien [email protected] Jean-Marc Vezien Vision par Machine 1 IV. CORRECTION D’IMAGES Jean-Marc Vezien Vision par Machine 2 IV. CORRECTION D’IMAGES Avant traitement : rectifier des défauts intervenus lors de la prise de vue. connaissances a priori sur le processus de prise de vue. Deux types d’opérations: • radiométriques : corriger les valeurs dans l’image, à partir de certaines images de référence (mire) • géométriques : position des pixels de l’image = forme des objets. Jean-Marc Vezien Vision par Machine 3 IV. CORRECTION D’IMAGES • Correction radiométrique: vignettage optique axe optique f(x,y) image origine lentille g(x,y) image reçue 4 Cos g(x,y) = f(x,y) cos4(α) 0.48 30° Développement limité: g(x,y) = f(x,y) (a0 + a1 (x2 + y2)) Jean-Marc Vezien Vision par Machine 4 IV. CORRECTION D’IMAGES Estimation des paramètres: • a0 : f(x,y) blanche (f(x,y)=1) à l’entrée → a0 = g(0,0) = milieu de l'image g en sortie • a1 = g(1,0) - g(0,0) Plus précis: minimiser C C g ( x, y) a 0 a1 ( x y ) 2 2 2 ( x, y ) → annulation des dérivées Jean-Marc Vezien Vision par Machine 5 IV. CORRECTION D’IMAGES Estimation des paramètres: C 2 2 2 [ g ( x , y ) a a ( x y )] 0 0 1 a0 ( x, y ) C 2 [ g ( x, y ) a0 a1 ( x 2 y 2 )]( x 2 y 2 ) 0 a1 ( x, y ) a0 N a1 ( x 2 y 2 ) g ( x, y ) ( x, y ) ( x, y ) 2 2 2 2 2 2 2 a ( x y ) a ( x y ) g ( x , y )( x y ) 1 0 ( x, y ) ( x, y ) ( x, y ) → système linéaire en (a0 , a1) A B a0 R B C a1 S Jean-Marc Vezien Vision par Machine 6 IV. CORRECTION D’IMAGES Jean-Marc Vezien Vision par Machine 7 IV. CORRECTION D’IMAGES Défauts du CCD: • éclairage irrégulier • gain irrégulier (optique) • courant d'obscurité a 2 ( x, y) f ( x, y) 2 g ( x, y) a 0 ( x, y) a1 ( x, y) f ( x, y) 2 g(x,y) im age obtenue X a 0(x,y) 1 a 1(x,y) f(x,y) im age corrigée • a0(x,y) = courant d'obscurité = sortie de la caméra dans le noir absolu • mire fm(x,y) = 1 (image blanche), alors : a1(x,y) = gm(x,y) - a0(x,y) = gain de la caméra. • Termes suivants avec d’autres mires plus complexes (rampe …) Jean-Marc Vezien Vision par Machine 8 IV. CORRECTION D’IMAGES • Correction géométrique des distorsions • simples: défauts de translation, de rotation, d'inclinaison, de perspective • déformations plus complexes Ex: satellite → image d’une partie de sphère : problème de projection. Jean-Marc Vezien Vision par Machine 9 IV. CORRECTION D’IMAGES • Problème de recalage sur des données a priori Ex: carte topographique But: f(x,y) Source: g(r,s) Trouver la déformation = expliciter r(x,y) et s(x,y). pour chaque pixel : 1) calculer r(x,y) et s(x,y). 2) extraire g[r(x,y),s(x,y)] de l'image source. Jean-Marc Vezien Vision par Machine 10 IV. CORRECTION D’IMAGES Pb: on tombe rarement sur un pixel entier ! (r,s) y x M1 M2 M4 r(x,y) s(x,y) M3 échantillonnage source échantillonnage but pixels Interpolation entre les 4 plus proches voisins: g(r,s) = [ . . g(M3) ] + [ . (1-) . g(M2)] + [ . (1-) . g(M4)] + [(1-) . (1-) . g(M1)] Jean-Marc Vezien Vision par Machine 11 IV. CORRECTION D’IMAGES Fonctions de correction géométrique: estimation des paramètres ou degrés de libertés = d.o.f. • 2 d.o.f. : translation • 6 d.o.f. : rotation, homothétie r(x,y) = x + x s(x,y) = y + y r(x,y) = a0 + a1x + a2 y s(x,y) = b0 + b1x + b2 y Translation = (a0,b0) Rotation, homothétie, inclinaison = (a1, a2, b1, b2). • 12 d.o.f. : déformation quadratique r(x,y) = a0 + a1 x + a2 y + a3 x2 + a4 y2 + a5 xy s(x,y) = b0 + b1 x + b2 y + b3 x2 + b4 y2 + b5 xy Jean-Marc Vezien Vision par Machine 12 IV. CORRECTION D’IMAGES Estimation des paramètres ai et bi du développement: • mise en correspondance d’amers (points d’ancrage). Mise en correspondance manuelle = experts → pointe des points caractéristiques (ri,si) dans l'image source, et (xi,yi) dans l'image but. (r i,s i) (xi,y i) n 2 ea ri r ( xi , yi ) i 1 n 2 eb si s( xi , yi ) i 1 ea 2 a 0 i 2 e b 0 bi Résolution de systèmes linéaires Jean-Marc Vezien Vision par Machine 13 IV. CORRECTION D’IMAGES ! Bien répartir les amers dans toute l'image. Sinon, possibilité de correction locale uniquement Jean-Marc Vezien Vision par Machine 14 IV. CORRECTION D’IMAGES • Mise en correspondance automatique identifier des points caractéristiques automatiquement, par analyse de l’image Applications: • guidage de véhicules • visée automatique • stéréoscopie (mise en correspondance binoculaire) Cas le plus simple: translation x f(x,y) M g(x,y) Région de recherche Fenêtre M y x N N y Inconnue du problème = déplacement horizontal + vertical (i,j) f(x,y) ↔ g(x+i,y+j) Jean-Marc Vezien Vision par Machine 15 IV. CORRECTION D’IMAGES But: trouver (i0,j0) minimisant une erreur de corrélation entre deux fenêtres d’images: i x j fenêtre région d e recherche y • erreur absolue: M M e(i, j ) f ( x, y ) g ( x i, y j ) i 1 y 1 • erreur quadratique: M M 2 e2 (i, j ) f ( x, y) g ( x i, y j ) i 1 j 1 Jean-Marc Vezien Vision par Machine 16 IV. CORRECTION D’IMAGES • corrélation croisée: (f-g) 2=f2+ g2 - 2fg * f = constante (image de référence * ∑g2 varie peu si la fenêtre est grande → maximiser: M M R fg (i, j ) f ( x, y) g ( x i, y j ) i 1 y 1 • covariance croisée: Prise en compte des conditions de prises de vue: ^ ^ C fg (i, j ) f ( x, y) f ) g ( x i, y j ) g (i, j ) i 1 y 1 M 1 f 2 M ^ Jean-Marc Vezien M M M f ( x, y) i 1 y 1 1 g (i, j ) 2 M ^ et Vision par Machine M M g ( x i, y j) i 1 y 1 17 IV. CORRECTION D’IMAGES • coefficients de corrélation: Les images peuvent avoir des dynamiques différentes = Normaliser par les variances des signaux: fg (i, j ) C fg (i, j ) 2 ^ f ( x , y ) f ) i 1 y 1 M M ^ g ( x i , y j ) g ( i , j ) i 1 y 1 M M → critère souvent retenu pour la recherche automatique d’amers. Jean-Marc Vezien Vision par Machine 18 2 IV. CORRECTION D’IMAGES • Algorithme (Barnea et Silverman) : Initialisation : i =0, j =0, Em = 0 (1) - calculer l’erreur |f(x,y)-g(x+i,y+j)| (ou une autre), - à chaque terme d'erreur ajouté, on compare l'erreur courante Er à Em. (2) - si Er < Em on continue la sommation (1) - si Er>Em alors on stocke k(i,j) = nombre de pixels (x,y) comparés et on incrémente i,j en réinitialisant Er = 0. Puis retour à (1). Si en fin de sommation: Em < Er, on stocke (i,j) dans k puis on incrémente i,j. On retourne ensuite à (1) (avec Er = 0). La solution optimale correspond à la valeur stockée dans k et l'erreur est égale à Er. Jean-Marc Vezien Vision par Machine 19 IV. CORRECTION D’IMAGES • Algorithme de Frei, Shibata et Chen Même principe que précédemment, mais on n’opère uniquement sur des points de contours, caractéristiques du contenu. Intensité du contour (sortie du détecteur) (x k,y k) Image Détection de contours choix d es points Vmax Vmin (x' k;y' k) (x,y) Détection de corrélations Jean-Marc Vezien Vision par Machine 20