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

Documents pareils