TI2008
TI2008
Concepts et Algorithmes
Ouvrages de références :
2
Introduction
INTRODUCTION Régions Contours Pré-traitements
Partie 1 : Vision et Images
4
Introduction
INTRODUCTION Régions Contours Pré-traitements
Vision et Images
5
Introduction
INTRODUCTION Régions Contours Pré-traitements
Vision et Images
6
Vision et Images
7
Compression Jpeg de facteur de qualité 100% / 50% / 15%
10
Filtrage non linéaire au
niveau des connexions
nerveuses en présence
de contours
11
Ici, l’explication neurobiologique est difficile : on est à la
limite de la vision passive
12
Vision active
A lieu dans les aires supérieures
du cerveau, après
transformations et codages
effectués par le système passif :
Reconnaissance des Formes, IA
14
Loi de similarité Loi de continuité
Loi de proximité
Loi de fermeture 15
Le cerveau complète l’analyse du
signal par une synthèse visuelle
utilisant mémoire et connaissance
(exemple de la lecture)
16
[Link]
[Link]/aleroy/ModuleImage/contenu/BanqueModule
Image/Logiciels/Applets/
Vision
mécaniquement
active
17
Système Informatique global à base de Traitements
d’Images d’ordre passif (traitement du signal 2D) et actif
(interprétation de scènes)
18
Le domaine de la vision par ordinateur est à la croisée de plusieurs
disciplines. Il consitue un pôle de recherche à part entière mais
rassemble des mathématiciens, informaticiens, physiciens, biologistes
dans les équipes de recherche. Que ce soit pour définir de nouveaux
modèles numériques de traitement ou de nouvelles applications.
Partant de là, les techniques et les cadres théoriques utilisés pour faire
parler une image sont de natures très diverses. On pourra voir l'image
ou un élément d'image comme :
- une fonction continue de deux variables
- une matrice discrète
- la réalisation d'une variable aléatoire
- une plaque-mince déformable
- etc...
20
Introduction Régions Contours Pré-traitements
Partie 2 : Description Fréquentielle des images
Utiles pour expliquer les opérations typique du Traitement de
Signaux :
• Filtrage
• Echantillonnage
• Prétraitements
∞
− i ⋅2π ⋅(ux + vy )
F(u , v) = ∫∫ f ( x , y ) ⋅ e dxdy
−∞
21
Mais revenons au cas 1D
Transformée de Fourier de f(t) où ω=2π.ν est la pulsation
et ν la fréquence de rotation d’un vecteur tournant dans le
plan complexe
1 ∞
∫
− i ωt
F (ω) = f(t ) e dt
2π −∞
22
±iωt
Exponentielle imaginaire e = cos( ωt ) ± i sin( ωt )
ℑ
⇒ e+i ω t est un vecteur de
sin(ω t) ωt longueur ou module 1 en
cos(ω t) ℜ rotation à la fréquence ω
/2 π, de phase wt
Transformée de Fourier
f(t) = a.e +i ω t +g(t)
-i ω t 23
A propos des unités
−iωt −i2 π
e = [e ]
TF
temps (t) ω = 2 π /T = rad.s-1 et ν=Hz
−ikx −i2 π
e = [e ]
TF
distances (x) k = 2 π /λ=rad.m-1 et ν=m-1
TF
25
En 2D
TF ∞
− i ⋅2π ⋅(ux + vy )
F(u, v) = ∫∫ f ( x , y ) ⋅ e dxdy
Signal sinusoïdal réel Couple d’impulsions de Dirac en
module −∞
+i ⋅2π ⋅(ux + vy )
The wave e
has a frequency ρ = u 2 +v 2
v
and a direction θ = tan − 1
u 26
[Link]
θ
ω
27
∞
+ i ⋅2π ⋅(ux + vy )
f ( x, y ) = ∫∫ F(u , v ) ⋅ e dudv
−∞
(u,v)
28
29
On peut visualiser F(u,v) sous la forme de 2 images :
• Images des Parties réelle et imaginaire
∞
F(u , v) = ∫∫ f ( x, y ) ⋅ cos(2π ⋅ (ux + vy))dxdy
−∞
∞
−i ∫∫ f ( x, y ) ⋅ sin(2π ⋅ (ux + vy))dxdy
−∞
• Ou Images du Module et de la Phase.
|F(u,v)| =
(Re( F (u, v)) 2 + (Im(F (u, v)) 2
Phase(F(u,v)) = arctan(Im(F(u,v)/Re(F(u,v))
30
Interprétation globale des Images
1
F (ω ,θ ) ∝
ω 31
32
En conséquence, |F(u,v)| ne contient que peu d’information
locale.
Une translation du signal f(x-a,y) ne modifie pas |F(u,v)| mais
introduit juste un déphasage F(u,v)e-iϕ
33
Cheetah Image
Fourier Magnitude (above)
Fourier Phase (below)
34
Zebra Image
Fourier Magnitude (above)
Fourier Phase (below)
35
Reconstruction with
Zebra phase,
Cheetah Magnitude
36
Reconstruction with
Cheetah phase,
Zebra Magnitude
37
Si je translate le signal précédent, la répartition énergétique, et
donc le module de la TF, n’est pas modifiée :
1. Les basses fréquences codent la quantité et la forme de
régions uniformes de l’image
2. Les hautes fréquences codent la quantité et la forme
des contours et du bruit dans l’image
38
-> image vue comme une fonction continue dans des
domaines séparés par des frontières où elle présente des
discontinuités :
Chaque morceau continu constitue une brique de module spectral
équivalent que je déphase au niveau spectral pour synthétiser l’image
finale
Signal de base
39
Comment manipuler l’image ? Comme une fonction discrète
f : {1..N}x{1..M}->{0...255}
40
Cette partie n'est pas essentielle en première lecture. Néanmoins,
elle explique que la réalité du signal numérisée est très éloignée du
cadre théorique précédent. Il ne faut donc jamais oublier que une fois
le modèle théorique décrit, le passage au discret va créer de nouveau
problèmes soit théorique d'inférence mathématique soit technique
d'implémentation algorithmique.
νc
TF
t n
∆t
TF 1/ ∆ t
t n
TF
t n
43
Le problème de l’échantillonnage
TF νc
t ν
TF νc
t ν
Exemple :
TF
sin( t ) rectangle
t
45
TF
TF
TF
46
Transformées de base (+ dirac ?)
47
Propriétés essentielles f ( x, y ) ↔ F(u , v)
Soit
g ( x, y ) ↔ G (u , v)
alors,
1. Linéarity af + bg ↔ aF + bG
2. Scaling or Magnification 1 u v
g (ax, by ) ↔ G ,
ab a b
3. Shift
g ( x − a , y − b) ↔ G ( u , v ) ⋅ e −i ⋅2π ⋅( au + bv )
Soit également h ( x, y ) ↔ H(u , v) alors,
4. Convolution <-> Multiplication
∞
∫∫
−i⋅2π ⋅( ux ' + vy ')
g ( x ' , y ' ) ⋅ e dx ' dy '
−∞
∞ ∞
= ∫ g x ( x ' ) ⋅ e −i⋅2π ⋅ux 'dx ' ∫ g y ( y ' ) ⋅ e −i⋅2π ⋅vy 'dy '
−∞ −∞
= Gx (u )G y ( v )
49
[Link]
50
Relation entre TF 1-D et 2-D, de façon générale
∞
∞
F(u , v) = ∫ e −i ⋅2π ⋅vy
∫ f ( x, y ) ⋅ e
−i ⋅2π ⋅ux
dx dy
−∞ −∞
Rearranging the Fourier Integral,
y
Taking
x the integrals along x gives, F̂(u , y )
∫ F̂(u, y )e
−i⋅2π ⋅vy
F(u) F(u, v ) = dy
−∞
51
52
La théorie de l’échantillonnage s’applique à des signaux f,
fonctions d’une variable continue x, dont la bande passante
est limitée
53
Théorème d’échantillonnage
Il y a équivalence entre un signal continu f(x) de support
spectral [0,U] et connu pour tout x et un ensemble
d’échantillons discrets fi de ce signal, ssi
• Les fi sont les valeurs du signal f(x) prises à des
positions régulières
• Ces positions sont séparées par un intervalle p au plus
égal à la valeur 1/2U, appelée fréquence de Nyquist.
54
f ( x)
⊗ f ( x)
x
III
p
On utilise un peigne de Dirac de période d’échantillonnage p.
x x x
III = ∑δ − n f̂(x) = f(x) ⋅ III
p p p
1 = p∑f(np)δ ( x - np)
= ∑δ ( x − np )
p
= p∑δ ( x − np )
55
Rappels
x
III = T ∑δ ( x - nT)
T
x
III
T
n
III( Ts ) = 1/T ∑δ ( x - )
T
T
III
T0
56
Spectre du signal échantillonné
{ x
}
F̂(u ) =F f̂ ( x ) =F III( ) ⋅ f( x )
p
Soit
1 n 1 n
III(pu ) ∗ F(u ) = ∑ δ u − ⋅ F(u ) = ∑ F(u − )
p p p p
Avant l’échantillonnage,
F(u )
Après l’échantillonnage,
F̂(u )
... ...
U 57
− 1
p
1
p
Spectre du signal échantillonné : bande limitée et aliasing
Si F(u) est à bande limitée par uc, F(u )
(fréquence de coupure)
F(u) = 0 pour |u| > uc. uc
Pour éviter le chevauchement (aliasing), et donc pouvoir
reconstruire le signal à partir de la TF, il faut que
1 1
− uc > uc τ = > 2 ⋅ uc
p p
F̂(u )
uc 1 1
− uc
p p
Nyquist Condition:
τ=Sampling rate must be greater than twice the highest frequency 58
component.
Spectre du signal échantillonné : reconstituer le signal original
Π (u / 2uc )
F̂(u )
1
uc p
− uc
1
p
Au vu du signal dans le domaine fréquentiel, peut-on
reconstituer f(x) à partir d’un signal échantillonné ?
u
Oui, en utilisant le filtre d’Interpolation Filter H(u ) = ∏
2uc
f ( x) = f̂ ( x) ∗ h ( x)
= f̂ ( x) ∗ 2uc ⋅ sinc(2uc x)
∞
= p ∑ f (np) ⋅ δ( x − np) ∗2uc ⋅ sinc(2uc x) -1/2 +1/2
n = −∞
∞
= ∑ 2p ⋅ u
n = −∞
c ⋅ f (np) ⋅ sinc(2uc ( x − np))
59
Reconstituer le signal original dans le cas de suréchantillonage
60
Visualisation de l’interpolation par des sinc
∞
f (t ) = ∑ 2p ⋅ uc ⋅ f ( np ) ⋅ sinc ( 2uc (t − np ))
n=−∞
x y
ĝ ( x, y ) = III III g ( x, y )
X Y
∞ ∞
= XY ∑ ∑δ( x - nX, y - mY) ⋅ g( x,y)
n =- ∞m =- ∞
64
Ĝ (u , v) = F { ĝ( x, y )}
= III(uX) ⋅ III(vY) ∗ ∗G(u,v)
∞ ∞
1 n m
Ĝ (u , v) =
XY
∑ ∑
n = −∞ m = −∞
G u − , v −
X Y
La transformée de Fourier d’un signal échantilloné 2D produit une
réplication de la transformée continue G(u,v), ou “îles”, chaque 1/X
en u, et 1/Y en v.
1/Y
ĝ ( x, y ) ∗ ∗h ( x, y )
x y
= III III g ( x, y ) ∗ ∗h ( x, y )
X Y
∞ ∞
= XY ∑ ∑ g(nX, mY) ⋅ δ( x − nX, y − mY)
n = −∞ m = −∞
1 x y
** sinc sinc
XY X Y
67
ĝ ( x, y ) ∗ ∗h ( x, y )
∞ ∞
1 1
= ∑ ∑ g (nX, mY) ⋅ sinc ( x − nX) ⋅ sinc ( y − mY)
n = −∞ m = −∞ X Y
Chaque échantillon sert comme coefficient de pondération
d’une fonction sinc 2D
Nyquist/Shannon Theory:
We must sample at twice the highest frequency in x and in y to
reconstruct the original signal.
68
(useful for resampling, interpolation)
Cas idéal, mais
impraticable
Cas le pire
69
Sur-échantilloner ou sous-échantillonner
intelligemment pour rétrécir ou faire un zoom sur une
image.
Soit un signal correctement échantillonné avec fm=feold/2
selon le critère de Nyquist
70
71
Signaux réels
72
Par contre, les instruments de mesure type lentilles ou
cristallin introduisent physiquement la limitation en bande
passante exigée par l’échantillonnage
C’est ce signal f’ flitré qui sera par la suite échantillonné par les
capteurs numériques type caméra CCD ou rétine.
73
Limitation optique
J1 (πρD / f )
2
ρ = u +v2 2
et H (ρ) =
(πρD / f ) 2
75
Par contre, on peut convoluer le signal f(x) par une réponse
impulsionnelle dont la TF est le signal porte attendue. Mais
convoluer par un sinc, à support infini, n’est pas
envisageable pratiquement.
On convoluera donc le signal par un signal de TF
approximative le signal porte attendue, par exemple un
signal porte dans le domaine spatial.
76
Limitation des détecteurs solides (matrice de photodétecteurs)
81
Sur certains intervalles le signal
reconstruit peut être très différent
du signal réel. On peut distinguer
deux catégories d’aliasing :
•Le signal reconstruit s’apparent
à un bruit : trop peu
d’échantillons sont utilisées pour
reconstruire le signal d’origine;
•Le signal reconstruit fait
apparaître des structures très
différentes de celles contenues
dans le signal original. Ce
phénomène est connu en image
sous le nom de moiré.
82
Spectre du signal échantillonné : bande limitée et aliasing
Suite d’images
obtenues par sous-
échantillonnage
spatial brute
84
Introduction Régions Contours Pré-traitements
[Link] 86
Introduction Régions Contours Pré-traitements
87
88
Introduction Régions Contours Pré-traitements
P2
#[Link] P3
10 5 # [Link]
4 4 4
0001144300 15
0141144300 0 0 0 0 0 0 0 0 0 15 0 15
0031144300 0 0 0 0 15 7 0 0 0 0 0 0
0001133300 0 0 0 0 0 0 0 15 7 0 0 0
0001122222 15 0 15 0 0 0 0 0 0 0 0 0
90
91
92
93
Création des biomorphes par fractales
Noir et blanc
Pour chaque point du plan imaginaire (z=x+iy)
On lance une boucle de 10 itérations :
On calcule z=f(z)
Si (|x|>10 ou |y|>10 ou |z|>10),
on quitte la boucle.
En fin de boucle :
Si (|x|>10 ou |y|>10),
on marque un pixel noir sur fond blanc.
Couleur
La couleur dépend du nombre d'itérations et de la valeur de |x|, |y|, |z|.
Ensembles de Julia
Fonction f(z) c=0.3+0.6i
c=-0.0519+0.688i
c=-0,4+0,7i,
c=-0,7+0,3i
95
Introduction Régions Contours Pré-traitements
96
Introduction Régions Contours Pré-traitements
97
Introduction Régions Contours Pré-traitements
∑ ( f (i) − f ).( f (i + k ) − f )
i = +∞
C f (k ) = i = −∞
∑ ( f (i) − f )
i = +∞
2
i = −∞
102
Ce qui permet de définir un
deuxième descripteur statistique
globale d’une image, le paramètre
α variant typiquement de 0.01 à
0.3 :
C f (k ) = exp(−α k )
103
Exception faite des fonctions périodiques par exemple (grilles,
murs, tissus)
104
En 2D, par principe d’isotropie
(
C f ( x, y ) = exp − αx 2 + βy 2 )
ou
C f ( x, y ) = exp( − α x − β y )
105
Introduction Régions Contours Pré-traitements
Le spectre de densité de puissance Pf
F = TF ( f )
u variable associée à la variable d' espace (fréquence spatiale)
On a TF(C f (x, y)) = Pf
et
2 2α
Pf (u ) = F (u ) = qui suit une distribution de Lorentz
α +u
2 2
106
Malgré toutes ces mesures statistiques classiques, il est
difficile de modéliser une image dans sa globalité par un
processus stochastique classique du type markovien et
gaussien.
Les conditions de stationnarité ou de causalité prennent des
dimensions soit plus arbitraires soit plus complexes en 2D.
108
Introduction Régions
Régions Contours Pré-traitements
109
Introduction Régions Contours Pré-traitements
110
Introduction Régions Contours Pré-traitements
Seuil et Histogramme
• Seuiller implique généralement
l'analyse de l'histogramme :
• Différentes caractéristiques image
donne naissance à des modes dans un
histogramme (bimodale)
• EN général les pics (modes) de
l'histogramme correspondant à des
primitives image différentes vont se
chevaucher
Seuillage fixe
Seuillage fixe
113
Introduction Régions Contours Pré-traitements
comment choisir ?
114
Introduction Régions Contours Pré-traitements
ISODATA Algorithm :
115
Introduction Régions Contours Pré-traitements
116
Introduction Régions Contours Pré-traitements
Otsu’s Method
• Otsu’s thresholding method is based on selecting the
lowest point between two classes (peaks).
• Frequency and Mean value:
• Frequency: N: total pixel number
117
Introduction Régions Contours Pré-traitements
Otsu’s Method
118
Introduction Régions Contours Pré-traitements
Otsu’s Method
119
Introduction Régions Contours Pré-traitements
Entropy Method
• Entropy is served as a measure of information
content
• A threshold level t separates the whole information
into two classes, and the entropy associated with
them is:
pi ?
120
Introduction Régions Contours Pré-traitements
121
Introduction Régions Contours Pré-traitements
Plein d'autres algorithmes :
● Moment Preservation Algorithm: Optimal
threshold makes the original and thresholded images
have the closest moments
● Minimum Error Algorithm: The criterion function is
minimized to find the best fit between the statistical
model (normal distribution) and the histogram.
• Triangle Algorithm:
– Maximized distance d indicate the
optimal threshold
122
Introduction Régions Contours Pré-traitements
• Difficultés du seuillage :
– Contraste pauvre ou non spatialement homogène, ambiguité…
123
Introduction Régions Contours Pré-traitements
125
En synthèse d'image
126
Et en analyse [Link]
127
Introduction Régions Contours Pré-traitements
128
Introduction Régions Contours Pré-traitements
En 4-connexité
%banner S Labels %banner C Labels
##### 00000 ##### 00000
# # 1 2 # # 1 2
# 1 # 1 En retour, des problèmatiques
#####
#
33333
4
#
#
1
1
typiquement topologiques
# # 5 4 # # 1 3
##### 66666 ##### 44444
En 8-connexité
129
Introduction Régions Contours Pré-traitements
130
Introduction Régions Contours Pré-traitements
Moments:
Moments The discrete (k,l)-order central moment is
defined as:
133
Introduction Régions Contours Pré-traitements
Corrélation:
136
Notion de profil d’intensité
i
Niveau de
gris
137
i
Introduction Morpho.
Régions
Math. Contours Pré-traitements
• Approche dérivative :
détection des variations d'intensité locales
138
Introduction Morpho.
Régions
Math. Contours Pré-traitements
139
Introduction Morpho.
Régions
Math. Contours Pré-traitements
140
Introduction Morpho.
Régions
Math. Contours Pré-traitements
141
Introduction Morpho.
Régions
Math. Contours Pré-traitements
Rappels :
Dérivée du premier ordre d’une fonction de deux variables f(x,y)
∇ P f ( x, y ) =
∂f
P(x,y)
∂y
Orientation du gradient :
∂f
ϕ = Arc tan ∂y ∂f
∂x
n
Orientation du contour : θ = π + ϕ ϕ
142
2
Introduction Morpho.
Régions
Math. Contours Pré-traitements
Rappels :
∂f ∂f ∂f
∂2 f ∂2 f = ∇f ( x, y ).n = cos ϕ + sin ϕ
∆ f ( x, y ) = 2 + 2 ∂n ∂x ∂y
∂n ∂n ⊥
∂2 f ∂2 f ∂2 f ∂2 f
= 2 cos ϕ + 2 sin ϕ + 2 cos ϕ sin ϕ
∂n 2 ∂x ∂y ∂x∂y
∂2 f ∂2 f ∂2 f ∂2 f
∆ f ( x, y ) = 2 + 2 = 2 +
∂n ∂n ⊥ ∂x ∂y 2
143
Introduction Régions Contours Pré-traitements
144
Introduction Morpho.
Régions
Math. Contours Pré-traitements
• Opérateurs dérivatifs du 1er ordre : Maximum du module du
gradient du signal :
Filtres RIF
1. Prewitt : [ 1 0 -1]
2. Sobel et Kirsh
Filtres RII
1. Le filtre récursif de Canny-Deriche
f ∗h =
a∈h
∑ f ( x − a ) h( a )
( x − a )∈ f
1
h=
∆x
[ − 1 1] qu’on écrit f ∗h
146
Introduction Morpho.
Régions
Math. Contours Pré-traitements
1
h= [ − 1 0 1]
2∆x
f ∗h = ∑ f ( x − a, y − b) h( a, b)
( a ,b )∈h
( x − a , y −b )∈ f
h j = [1 1 1] • [1 0 − 1]
T
h j = hLi • hD j
M N
h j ∗ I [i, j ] = ∑
m=− M
hLi [m] ∑ hD j [n]I [i − m, j − n]]
n=− N
149
Introduction Morpho.
Régions
Math. Contours Pré-traitements
150
Introduction Morpho.
Régions
Math. Contours Pré-traitements
151
Introduction Morpho.
Régions
Math. Contours Pré-traitements
152
Introduction Morpho.
Régions
Math. Contours Pré-traitements
Opérateurs de dérivation
de Canny C2(Gaussienne)
et Deriche C1 (Exponentielle)
153
Introduction Morpho.
Régions
Math. Contours Pré-traitements
154
Problème des jonctions Y
Introduction Morpho.
Régions
Math. Contours Pré-traitements
155
σ=1.0 et Tbas=1, Thaut=255 σ=1.8 et Tbas=1, Thaut=255
Introduction Morpho.
Régions
Math. Contours Pré-traitements
156
Introduction Morpho.
Régions
Math. Contours Pré-traitements
−α x
f(x)=Sxe
157
Introduction Morpho.
Régions
Math. Contours Pré-traitements
158
Introduction Morpho.
Régions
Math. Contours Pré-traitements
159
Introduction Morpho.
Régions
Math. Contours Pré-traitements
160
Introduction Morpho.
Régions
Math. Contours Pré-traitements
Équations récursives :
161
Introduction Morpho.
Régions
Math. Contours Pré-traitements
h(x)=k(α x +1)e
−α x
162
Introduction Morpho.
Régions
Math. Contours Pré-traitements
Opérateurs de lissage
de Canny C2(Gaussienne)
et Deriche C1 (Exponentielle)
163
Introduction Morpho.
Régions
Math. Contours Pré-traitements
164
Introduction Morpho.
Régions
Math. Contours Pré-traitements
165
Introduction Morpho.
Régions
Math. Contours Pré-traitements
166
Introduction Morpho.
Régions
Math. Contours Pré-traitements
•Lissage de l'image
•Dérivation en x de l'image
Avec
167
Introduction Morpho.
Régions
Math. Contours Pré-traitements
•Laplacien de l'image =
Soustraction entre les deux images r1 et r2
168
Introduction Morpho.
Régions
Math. Contours Pré-traitements
169
Introduction Morpho.
Régions
Math. Contours Pré-traitements
170
Introduction Morpho.
Régions
Math. Contours Pré-traitements
171
Introduction Morpho.
Régions
Math. Contours Pré-traitements
172
Introduction Morpho.
Régions
Math. Contours Pré-traitements
174
Introduction Régions Contours Pré-traitements
175
Introduction Régions Contours Pré-traitements
176
Introduction Régions Contours Pré-traitements
177
Introduction Régions Contours Pré-traitements
Pré-traitements
178
Introduction Régions Contours Pré-traitements
Modification d’histogramme
Une affaire d’histogramme
179
Introduction Régions Contours Pré-traitements
Expansion Dynamique
A[i, j ] → B[i, j ]
•Les intensités de l’image A varient dans [amin,amax]
•Trouver B telle que ses intensités utilisent
la palette des intensités possible
Trouver T :
a ∈ [amin , amax ] → b ∈ [bmin , bmax ] / b = T (a ) = α + βa
Expansion Dynamique
79 136
181
Introduction Régions Contours Pré-traitements
182
Introduction Régions Contours Pré-traitements
f (a) 1
= = pour bmin < b < bmax
g (b) T ' (a ) bmax − bmin
= 0 ailleurs
183
Introduction Régions Contours Pré-traitements
184
Introduction Régions Contours Pré-traitements
Egalisation d’histogramme
185
Introduction Régions Contours Pré-traitements
Histogram Equalisation
vs. Streching
186
Introduction Régions Contours Pré-traitements
Histogramme
cumulé
histogramme
100 230
Histogramme
cumulé
187
Introduction Régions Contours Pré-traitements
Réduction du bruit
188
Introduction Régions Contours Pré-traitements
Filtrage Gaussien
• Convolution de l’image avec un
Noyau Gaussien :
f ∗G = ∑ f ( x − a, y − b)G(a, b)
( a ,b )∈h
( x − a , y −b )∈ f
• L’effet d’un filtrage Gaussien est de rendre flou l’image
(“blur”). Le degré de lissage ou de flou est déterminé par la
déviation standard σ de la distribution gaussienne
f ∗h = ∑ f ( x − a, y − b) h( a, b)
( a ,b )∈h
190
( x − a , y −b )∈ f
Introduction Régions Contours Pré-traitements
Filtrage Moyenneur
f ∗h = ∑ f ( x − a, y − b) h( a, b)
( a ,b )∈h
( x − a , y − b )∈ f
191
Introduction Régions Contours Pré-traitements
Filtrage Médian
● On remplace la valeur de chaque pixel avec la valeur
médiane des valeurs ordonnées des pixels voisins.
Filtrage Médian
• Avantages : Elimine les petits bruits, sans rendre les frontières
floues
• Inconvénients : A tendence à « déplacer » les frontières (rétrécir les
convexités)
193
Introduction Régions Contours Pré-traitements
195
Introduction Régions Contours Pré-traitements
Filtrage
fréquentiel 2D
196
Introduction Régions Contours Pré-traitements
TF et Filtrage
197
Régions Contours Pré-traitements
Primitives Evoluées Primitives évoluées
198
Une fois les traitements de bas-niveau
effectués, on peut envisager des traitements de
plus haut-niveau.
Nous allons essayer d'expliquer ce passage
progressif du traitement syntaxique du signal
vers un traitement sémantique.
199
Une fois ce filtrage syntaxico-structurel
effectué, on peut commencer à analyser le
sens du document. C'est ce qu'on appelera ,
filtrer sémantiquement le signal. Par
exemple, on voudra chercher tous les
paragraphes qui parlent de « chômage ».
Dans une image, c'est la même idée. On
cherchera toutes les zones de l'image qui
contiennent des formes circulaires ou plus
sémantique encore, toutes les images
satellites qui contiennent des cheminées
d'usine (dont l'apparence est circulaire en
général).
200
La suite logique de ces opérateurs converge une
autre discipline qu'on appelle la Reconnaisse de
Formes.
202
Pré-traitements Primitives évoluées Morphologie Math.
203
Pré-traitements Primitives évoluées Morphologie Math.
204
Pré-traitements Primitives évoluées Morphologie Math.
205
Pré-traitements Primitives évoluées Morphologie Math.
206
Pré-traitements Primitives évoluées Morphologie Math.
207
Pré-traitements Primitives évoluées Morphologie Math.
208
Pré-traitements Primitives évoluées Morphologie Math.
209
Pré-traitements Primitives évoluées Morphologie Math.
Définitions préliminaires
210
Pré-traitements Primitives évoluées Morphologie Math.
Addition de Minkowsky
Dilatation morphologique
212
Pré-traitements Primitives évoluées Morphologie Math.
Le principe de dualité
213
Pré-traitements Primitives évoluées Morphologie Math.
Érosion morphologique
214
Pré-traitements Primitives évoluées Morphologie Math.
215
Pré-traitements Primitives évoluées Morphologie Math.
216
Pré-traitements Primitives évoluées Morphologie Math.
217
Pré-traitements Primitives évoluées Morphologie Math.
218
Pré-traitements Primitives évoluées Morphologie Math.
219
Pré-traitements Primitives évoluées Morphologie Math.
220
Pré-traitements Primitives évoluées Morphologie Math.
221
Pré-traitements Primitives évoluées Morphologie Math.
222
Pré-traitements Primitives évoluées Morphologie Math.
Cas des éléments structurants plans
Illustration de la différence entre le filtrage linéaire et le filtrage d'ordre
223
Pré-traitements Primitives évoluées Morphologie Math.
224
Pré-traitements Primitives évoluées Morphologie Math.
225
Pré-traitements Primitives évoluées Morphologie Math.
226
Pré-traitements Primitives évoluées Morphologie Math.
227
Pré-traitements Primitives évoluées Morphologie Math.
228
Pré-traitements Primitives évoluées Morphologie Math.
229
Pré-traitements Primitives évoluées Morphologie Math.
230
Pré-traitements Primitives évoluées Morphologie Math.
231
Pré-traitements Primitives évoluées Morphologie Math.
232
Pré-traitements Primitives évoluées Morphologie Math.
233
Pré-traitements Primitives évoluées Morphologie Math.
234
Pré-traitements Primitives évoluées Morphologie Math.
235
Pré-traitements Primitives évoluées Morphologie Math.
SKIZ Squelette
Autres opérateurs
Germes LPE ou Watershed
236
Pré-traitements Primitives évoluées Morphologie Math.
237
CONCLUSION
Nous avons vu plein de modèles d'image et de traitement différents.
Si l'on prend comme modèle d'image une matrice discrète d'éléments fij, i et j décrivant les lignes et les
colonnes de l'image, en première analyse, on peut catégoriser les traitements en deux types particuliers
(ceci n'étant qu'une tentative d'unification : libre à vous de la reformuler, critiquer, etc.) :
- les filtres linéaires : on transforme la valeur du pixel par une combinaison linéaire des pixels voisins,
le voisinage définissant la taille du filtre.
•Voisinage réduit au pixel considéré : on travaille sur l'histogramme : f'ij=[Link]+b
•Voisinage V de taille 2n+1x2n+1 centré sur le pixel fij : on convolue l'image par un filtre RIF
donc la réponse est donnée par les coefficient hij de la fenêtre de convolution : f'ij=SumV([Link])
- les filtres non linéaires dit filtres d'ordre : on transforme la valeur du pixel suite à un ordonnancement
des pixels « voisins » , le voisinage étant défini par la forme de l'élément structurant.
•Voisinage réduit au pixel considéré : seuillage globale de l'image en fonction de l'histogramme :
f'ij=min(fij+seuil,255)
•Sinon, on fait de la morpholgie mathématique ou du filtrage d'ordre : prendre la valeur minale
revient à éroder l'image avec un outil défini par la forme de l'élément structurant S : f'ij=MinS(fkl)
A vous de jouer ! Partant de ces cadres génériques, vous pouvez imaginer tous les filtrages possibles en
faisant varier les coefficients de pondération, la forme et la taille des voisinage, les enchaînements de
tels filtres et donner votre nom à un algorithme qui résoudra un problème spécifique mais d'intérêt
général (environnement de programmtion imageJ et ses plugins que les biologistes ont définitivement
adoptés). Par ailleurs, ceci n'est qu'un porte ouverte dans cette discipline qui présente trop de
ramifications pour être évoquées dans le cadre de cette introduction aux concepts et modèles en vision
par ordinateur (séquence vidéo, imagerie 3D, couleur, voir les stacks sous imageJ)
238