close

Se connecter

Se connecter avec OpenID

Chapitre 6 Correction de défauts 1 Correction d`éclairage

IntégréTéléchargement
TRAITEMENT D’IMAGE – Achille Braquelaire
Ces pages sont destinées à faciliter la prise de notes. Elles sont produites automatiquement à
partir du source LATEX du diaporama servant de support de cours, et leur mise en page est par
conséquent approximative.
Chapitre 6
Correction de défauts
Transformations visant à corriger les défauts, dégradations et à reconstruire l’image originale (on
parle également de restauration d’image)
— dispositif d’acquisition
— conditions d’acquisition
— transmission
— compression
Cas traités : défauts d’éclairage, bruit, modélisation de dégradations / filtrage inverse
1
Correction d’éclairage
1.1
—
—
—
—
Problématique
acquisition d’une image I sous un éclairage irrégulier ou avec un dispositif défectueux
objectif : obtenir un image F qui serait celle d’un fond uni acquis dans les mêmes conditions
correction : I ′ − F (ou I/F )
nécessite généralement un rehaussement de contraste
1
−→
1.2
Techniques d’obtention du fond
— acquisition du fond seul (par exemple, prise de vue sur un microscope)
— reconstruction morphologique
— érosions successives
— ouvertures ou fermetures avec un élément structurant de grande taille
— suppression des basses fréquences
— variations d’éclairage : transitions douces
— filtre à rejet de bande (conservation de la fréquence nulle)
— approximation par une surface (image topographique)
illumination-acquisition
illumination-hdf
illumination-frequ
illumination-morph-a
illumination-morph-c
Approximation du fond par une surface
— image : surface topographique z = f (x, y)
— échantillonage de la surface représentant le fond
— subdivision de l’image en régions régulières
— sélection du point le plus lumineux (ou sombre) de chaque région
— {(i, j) → f (i, j)}
— modélisation de la surface par un polynome de degré 2
S(x, y) = a0 + a1 x + a2 y + a3 x2 + a4 y 2 + a5 xy
— recherche de S(x, y) minimisant la distance aux échantillons
— technique numérique d’approximation : par exemple moindres carrés
2
illumination-fitting-b
2
illumination-fitting-a
Traitement du bruit périodique
2.1
Approche fréquentielle
— se présente sous la forme de trames régulières
— identification de fréquences ≪surabondantes≫ dans le spectre d’amplitude
— supppression de ces fréquences :
— rejet de bande (band reject)
— rejet d’encoche (notch filter)
— masque ad hoc
2.2
Filtre à rejet de bande.
bande de rayon D0 et de largeur W
— idéal :
— gaussien :

W
 1 si D(u, v) < D0 − 2
H(u, v) =
0 si D0 − W
2 < D(u, v) < D0 +

1 si D(u, v) > D0 + W
2
− 21
— butterworth :
H(u, v) = 1 − e
2
D 2 (u,v)−D0
D(u,v)W
2
1
H(u, v) =
1+
3
D(u,v)W
D 2 (u,v)−D02
2n
W
2
filtres-bande
bruit-period-a-3
2.3
bruit-period-a-4
bruit-period-b
Filtre à rejet d’encoches
— rejet des fréquences dans un disque de rayon D0 , centré en (u0 , v0 ) (et par symétrie en (−u0 , −v0 ))
D1 (u, v)
=
D2 (u, v)
=
r
r
(u −
M
N
− u0 )2 + (v −
− v0 )2
2
2
(u −
M
N
+ u0 )2 + (v −
+ v0 )2
2
2
où (M, N ) est la taille de l’image.
— idéal :
0 si D1 (u, v) ≤ D0 or D2 (u, v) ≤ D0
H(u, v) =
1 sinon.
— gaussien :
− 12
H(u, v) = 1 − e
— butterworth :
D1 (u,v)D2 (u,v)
D2
0
2
1
H(u, v) =
1+
2n
D02
D1 (u,v)D2 (u,v)
filtres-encoche
bruit-period-c
bruit-period-d
bruit-period-e
4
bruit-period-f
2.4
Filtrage par construction d’un masque ad hoc
— construction à partir du spectre d’amplitude
— seuillage pour ne garder que les fréquences les
plus élevées
— nettoyage morphologiques
— suppression de la partie centrale
— défaut d’un filtre idéal (échos) → filtrage passebas
Exemple : détail de tableau numérisé en 600 DPI
— image couleur : traitement indépendant de chaque canal
— analyse des spectres d’amplitude : pics de fréquences correspondant aux trames, histogrammes des
spectres unimodaux, seuillage à droite du mode
— pour chaque spectre, construction automatique d’un masque par seuillage, dilatation, suppression de
la region centrale, inversion, et filtrage gaussien
— filtrage et recombinaison des canaux
— raffinement par itération du processus
trame-a
trame-b-R
trame-b-G
trame-b-B
trame-c-R
trame-c-G
trame-c-B
trame-c-R
trame-d-R1
trame-d-R2
trame-d-R3
trame-d-R4
trame-d-R5
trame-d-R6
trame-b-R
5
trame-d-R7
trame-e-G
trame-e-B
trame-b-G
trame-b-B
trame-f-B
trame-a
trame-f-G
trame-g-RGB
trame-d-R6
trame-d-R6-show
trame-h-R1
trame-d-R7
trame-h-R2
trame-h-G1
trame-h-G1-show
trame-h-G2
trame-f-G
trame-h-G3
trame-h-B1
trame-h-B1-show
trame-h-B2
trame-f-B
trame-h-B3
trame-g-RGB
6
trame-i-RGB
3
trame-a
trame-a-blur
trame-i-RGB
Bruit aléatoire
3.1
Modélisation
— bruit additif : I ′ (x, y) = I(x, y) + ν(x, y)
f (x)
f (x)
f (x)
f (x) + ν(x)
ν(x)
ν(x)
— bruit multiplicatif (plus rare, par exemple radar)
I ′ (x, y) = I(x, y) × ν(x, y)
— bruit convolutif (encore plus rare)
I ′ (x, y) = I(x, y) ∗ ν(x, y)
3.2
Caractérisation
— ν : variable aléatoire
— caratérisé par un densité de probabilité : probabilité d’apparition de chacune des valeurs possibles de
la variable
Bruit uniforme
— valeurs possibles dans un intervalle [a, b]
— toutes les valeurs ont la même probabilité d’apparition
bruit-0
pν (x)
=
µ
=
σ2
=
(
1
b−a
0
si a ≤ x ≤ b
sinon.
a+b
2
(a − b)2
12
bruit-u1
bruit-u2
7
Bruit impulsionnel (ou poivre et sel)
— deux valeurs possibles a et b
— probabilités associées : pa et pb = 1 − pa
Bruit gaussien
— valeurs autour d’une valeur moyenne µ
— probalilité d’apparition décroit exponentiellement autour de µ
√1
2πσ
pν (x) =
(x − µ)2
2σ 2
e
−
— bruit le plus courant : circuits, capteurs en faible luminosité...
— simulation possible au moyen d’une somme de bruits uniformes (loi normale)
!
!
r
n12
X
12
n12
σ
(par exemple avec n = 12)
rand() −
6
n12
2
1
bruit-i
bruit-g
Autres bruits
— bruit de Rayleigh


2 (x − a)e−
pν (x) =
 b
0
(x − a)2
b
si x ≥ a
sinon.
— bruit d’Erlang ou gamma (imagerie laser) :

 ab xb−1 −ax
e
si x ≥ 0
(b − 1)!
pν (x) =
 0
sinon.
— cas particulier pour b = 1 : bruit exponentiel
bruit-r
3.3
bruit-gam
bruit-exp
Méthodes
— filtrer le bruit revient à supprimer des hautes fréquences
— compromis entre
— suppression du bruit
— préservation des détails
8
— bruit impulsionnel
— suppression de valeurs aberrantes
— filtres d’ordre
— bruit blanc (en général gaussien ou uniforme)
— filtrage passe-bas
— développement de techniques pour distinguer les hautes fréquence pertinentes (contour, texture)
— adaptation locale du filtrage
4
Traitement du bruit blanc
4.1
Moyennage d’une famille d’images
—
—
—
—
—
bruit décorrélé
le plus souvent, bruit gaussien
hypothèse : on peut acquérir un ensemble d’images gi
bruit additif
on construit :
ḡ(x, y) =
M
1 X
gi (x, y)
M
i=1
— si ν(x, y) est décorrélé et de moyenne nulle, alors
E{ḡ(x, y)} = f (x, y)
bruit-melange-trames-a
4.2
bruit-melange-trames-b
Filtres moyenneurs
Principe : moyenne des valeurs sur un voisinage V (p) de taille N
— moyenne arithmétique : filtre de base, lissage important
1 X
I ′ (P ) =
I(p)
N
p∈V (P )
— moyenne géométrique : comparable au filtre arithmétique, préserve un peu mieux les détails
′

I (P ) = 
1
N
Y
p∈V (P )
I(p)
— moyenneur seuillé I ′ (p) = µ(p) seulement si |I(p) − µ(p)| < S
bruit-moy-geom
bruit-moy-c-h
9
4.3
Filtre statistique adaptatif
— discrimination bruit / détails
I ′ (p) = I(p) − K
—
—
—
—
σν2
(I(p) − µ(V (P )))
σ 2 (V (P ))
µ(V (P )) : moyenne locale au point P
K ∈ [0, 1] : permet de paramétrer le lissage
définition de K à partir de caractéristiques statistiques du bruit
— σν2 : variance du bruit de l’image (estimation du bruit)
— σ 2 (V (P )) : variance locale au point P
cas de figure :
— si σ(V (P )) ≃ σν (bruit maximal), alors I ′ (p) ≃ µ(V (P ))
— si σ 2 (V (P )) >> σν2 (arêtes, texture...), alors : I ′ (p) ≃ I(p)
— si σν = 0 (estimation du bruit → 0), alors I ′ (p) = I(p)
hypothèse raisonnable : σν2 ≤ σ 2 (V (P ))
valeurs incorrectes de σν :
σν2 > σ 2 (V (P ))
— soit forcer le rapport
σν2
V (P ))
σ2 (
à 1 (lorsqu’il est > 1)
— soit autoriser les résultats négatifs et renormaliser l’image après filtrage (perte de dynamique)
Estimation de σν2
— si la variance du bruit n’est pas connue, on peut procéder par essais successifs
— une valeur trop faible atténuera le filtrage et l’image filtrée sera proche de l’originale
2
— une valeur trop forte provoquera un nombre important de valeurs incorectes ( σσ2ν > 1)
V
4.4
bruit-filt-adapt
bruit-stat-adap-1
bruit-stat-adap-4
bruit-stat-adap-1
bruit-stat-adap-2
bruit-stat-adap-3
Filtre bilatéral
filtre passe-bas gaussien pondéré par la différence des valeurs des points sur le voisinage
10
I(i, j − k)
I(i, j − k)
I(i, j − k) − I(i, j)
I(i, j)
I(i, j)
k
k
i, j − k
i, j − k
i, j
′
I (i, j) = K
avec
k2
Gσ (k) = e− 2σ2
Z
i, j
+∞
−∞
et
I(i, j − k) Gσ (k)dk
K=Z
+∞
1
Gσ (k)dk
−∞
′
I (i, j) = K(i, j)
Z
+∞
−∞
I(i, j − k) Gσ (k)Gσ′ (|I(i, j − k) − I(i, j)|)dk
— contribution I(p′ ) pondérée par Gσ (d(p, p′ ))
— seconde pondération par Gσ′ (|I(p) − I(p′ )|)
— K(i, j) : inverse de la somme de tous les coefficients
— le filtre dépend de deux paramètres :
— σ : pondération en distance (niveau global du filtrage)
— σ ′ : pondération en amplitude (adaptation locale)
— hypothèse :
— bruit : faible variation d’amplitude
— contour : variation d’amplitude plus élevée
— rôle de σ ′
— σ ′ → +∞ : réduit l’influence de la pondération en amplitude et tend vers un filtrage gaussien
d’écart σ ;
— σ ′ → 0 : augmente l’influence de la pondération en amplitude / préservation des hautes fréquences
— réglage du filtre bilatéral :
— augmenter σ pour réduire le bruit
— diminuer σ ′ pour préserver les contours
bgauss-1
5
bgauss-2
Traitement du bruit impulsionnel
5.1
Filtres d’ordre
— filtres opérant sur un voisinage trié
— image monochrome :
{i1 , . . . , in } : valeurs des pixels sur un voisinage de P
(i(1) , P
. . . , i(n) ) : valeurs triées
Pn
′
— I (P ) = nk=1 ck i(k) avec
k=1 ck = 1
11
— moyenne tronquée :
{ci } = {0, . . . , 0, 1/p, . . . , 1/p, 0, . . . , 0}
| {z } |
{z
} | {z }
n−p
2
n−p
2
p
— filtre médian : on ne conserve que la valeur médiane i( n+1 )
2
— filtre olympique : on supprime les extrêmes i(0) et i(n)
Exemples
— median
1
2
3
7
8
1
2
3
7
8
1
2
3
9
9
3
7
8
9
9
9
9
1
2
3
7
8
1
2
3
7
8
10
10
2
3
7
8
9
1
2
3
7
8
9
9
10
1
2
3
7
7
8
9
9
10
9
10
1
2
3
7
8
9
1
2
3
7
8
9
2
3
7
8
9
1
2
3
7
8
9
9
10
1
2
4
6
7
8
9
9
10
9
10
— olympique
1
2
3
7
8
1
2
3
7
8
1
2
4
9
9
3
7
8
9
9
9
9
1
2
3
7
8
1
2
4
6
8
10
10
1
2
3
7
8
9
1
2
4
6
8
9
2
3
8
9
50
1
2
3
50
8
9
9
10
1
2
3
8
8
9
9
10
50
9
10
Exemples
— median
1
2
3
8
50
1
2
3
50
8
1
2
3
9
9
3
8
9
9
50
9
9
1
2
3
50
8
1
2
3
8
9
10
10
1
2
3
50
8
9
1
2
3
8
9
9
— olympique
12
5.2
1
2
3
8
50
1
2
3
50
8
1
2
4
9
9
3
8
9
9
50
9
9
1
2
3
50
8
1
2
4
6
9
10
10
bruit-median-a
bruit-median-b
fo-01
fo-02
2
3
8
9
50
1
2
3
50
8
9
9
10
1
2
4
7
8
9
9
10
50
9
10
1
2
3
50
8
9
1
2
4
6
8
9
bruit-median-c
Filtre médian pondéré.
— stratégie pour réduire les distorsions : on pondère l’importance des valeurs en fonction de leur distance
au point à filtrer
k : facteur de répétition
k
z }| {
k ⋄ x : x → {x, . . . , x}
— exemple en 1D avec un voisinage de taille 5
on applique les facteurs de répétition {1, 2, 3, 2, 1}
{90 4 5 6 7 } → {90 4 4 5 5 5 6 6 7 }
→ { 4 4 5 5 5 6 6 7 90}
→
5
— sans pondération :
{90 4 5 6 7 } → { 4 5 6 7 90} → 6
5.3
Filtre multimédian
— combinaison de plusieurs filtrage : réduit le lissage
— première étape : application de plusieurs filtres médians monodimensionnels
ou
13
— seconde étape : médian des médians obtenus à la première étape et du pixel central
— alternative : maximum (max-médian)
bruit-median-d
fo-07
5.4
fo-08
Filtre médian adaptatif
— hypothèse : seules les valeurs minimales ou maximales sur le voisinage du pixel à traiter sont du bruit
— première étape : rechercher un voisinage
— de taille inférieure à une taille maximale
— tel que la valeur médiane diffère des valeurs minimales et maximales
— si ce voisinage est trouvé, le pixel est filtré seulement si son intensité est minimale ou maximale
— sur un voisinage V (p) de p dans l’image I
— medV (p) la valeur médiane
— minV (p) la valeur minimale
— maxV (p) la valeur maximale
soit V un voisinage (de petite taille)
tant que medV (p) = minV (p) ou medV (p) = maxV (p)
{
accro^
ıtre la taille de V
si la taille V est maximale
retourner I(p)
}
si I(p) 6= minV (p) et I(p) 6= maxV (p)
retourner I(p)
sinon
retourner medV (p)
bruit-med-adap
14
6
Modélisation de la dégradation / filtrage inverse
6.1
Problématique
1. modéliser la déformation de l’image par une transformation
2. calculer et appliquer la transformation inverse
— hypothèse : fonction de déformation h linéaire et invariante par translation (convolutive)
f ′ (i, j) = h(i, j) ∗ f (i, j)
F ′ (i, j) = H(u, v)F (u, v)
— permet de modéliser différentes dégradations structurelle : atténuation (atmosphère), flou de bougé,
distortion géométrique (lentille), etc.
— si h est connue :
F̂ (u, v) =
F ′ (u, v)
H(u, v)
déconvolution, ou filtrage inverse
— problématique : reconstruire, ou approximer h
6.2
Estimation de la fonction de déformation
par expérimentation
— acquisition d’une image f réduite à une impulsion (avec un point très lumineux on néglige le bruit) :
f ′ (i, j) = h(u, v) ∗ f (u, v)
— la fonction f ′ est appelée la fonction d’étalement du point (point spread function, ou PSF)
— la transformée de Fourier d’une impulsion est une constante
F (u, v) = A
et
F ′ (u, v)
A
On déduit donc la transformée de la fonction de déformation de la transformée de l’image acquise, à une
constante près.
H(i, j) =
psf
par observation :
— recherche d’une zone assimilable à la déformation d’un point
— cas simple : translation durant la prise de vue
15
par modélisation : exemples
— mouvement du système d’acquisition (bougé)
— temps d’acquisition de l’image : T
— déplacement du syste de prise de vue :
at
T
bt
T
i0 (t) =
j0 (t) =
— dégradation :
H(u, v) =
T
sin (π(ua + vb)) e−iπ(ua+vb)
π(ua + vb)
— atténuation causée par des turbulences atmosphériques
H(u, v) = e−k(u
5
2 +v 2 ) 6
deconv-trans
deform-trans
6.3
deform-atten
Déconvolution d’image bruitée
Problématique :
lorsque l’image est bruitée, la déconvolution rehausse également le bruit :
f ′ (i, j) = h(i, j) ∗ f (i, j) + ν(i, j)
F ′ (i, j) = H(u, v)F (u, v)+N (u, v)
F ′ (u, v)
F̂ (u, v) =
H(u, v)
H(u, v)F (u, v) + N (u, v)
=
H(u, v)
N (u, v)
= F (u, v) +
H(u, v)
le terme
N (u, v)
exprime le rehaussement du bruit
H(u, v)
16
deconv-bruit-1
Contrôle fréquentiel de la restauration solution simple pour diminuer le rehaussement du bruit :
′ (u,v)
— appliquer un filtre passe-bas avec une transition de coupure rapide sur FH(u,v)
— par exemple un BLPF d’ordre 10
(u,v)
— atténuation de N
H(u,v)
deconv-bruit-2
Filtre de Wiener
— filtre minimisant de l’erreur quadratique moyenne E((f − fˆ)2 )
F̂ (u, v) =
1
|H(u, v)|2
× F ′ (u, v)
×
H(u, v) |H(u, v)|2 + |N (u,v)|22
|F (u,v)|
avec :
|H(u, v)|2 : produit de H(u,v) par son complexe conjugué
|N (u, v)|2 : spectre de puissance du bruit
|F (u, v)|2 : spectre de puissance de l’image initiale
— en général |F (u, v)| et |N (u, v)| sont inconnues
|N (u, v)|2
par une constante K
— on approxime
|F (u, v)|2
F̂ (u, v) =
1
|H(u, v)|2
×
× F ′ (u, v)
H(u, v) |H(u, v)|2 + K
— en augmentant la valeur de K, on diminue le bruit, mais aussi la correction de distorsion
wiener-1
wiener-2
wiener-3
17
Auteur
Document
Catégorie
Uncategorized
Affichages
1
Taille du fichier
4 014 KB
Étiquettes
1/--Pages
signaler