0% ont trouvé ce document utile (0 vote)
8 vues238 pages

TI2008

Ce document décrit les concepts de base du traitement d'images, notamment la vision humaine, la compression d'images, le filtrage d'images et la transformée de Fourier. Il présente également des algorithmes et techniques clés du traitement d'images.

Transféré par

nawal benaouda
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues238 pages

TI2008

Ce document décrit les concepts de base du traitement d'images, notamment la vision humaine, la compression d'images, le filtrage d'images et la transformée de Fourier. Il présente également des algorithmes et techniques clés du traitement d'images.

Transféré par

nawal benaouda
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Traitement d'Images

Concepts et Algorithmes
Ouvrages de références :

•“Analyse d'images : Filtrage et Segmentation”, Cocquerez and al., Ed.


Dunod, 1995
(ouvrage de base : exposé des différentes techniques de traitement d'images appliquées à la
segmentation)

•“Le traitement des images”, H. Maître, Hermes Science Publications , 2003


(ouvrage de référence écrit par un maître national du sujet : beaucoup d’explications approfondies
du phénomène image à tous les niveaux et notamment traitement du signal)

• “Computer Vision : a modern approach”, Forsyth and Ponce, International


Edition,Prentice Hall, 2003

Auteurs de références et remerciements :


•Antoine Manzanera pour la morphologie mathématique
•Francis Schmitt pour la vision active et passive humaine

2
Introduction
INTRODUCTION Régions Contours Pré-traitements
Partie 1 : Vision et Images

•Cristallin : lentille de focale et d’ouverture variable


•Rétine : couche photosensible, trnsducteur optique -> électrique
•Rétine : hétérogène en nature et densité des photorécepteurs
•Dans la fovéa, zone d’hyperacuité visuelle, 6 à 7 Millions de cônes
exclusivement, à branchement synaptique simple : caméra CCD
•Champ visuel asymétrique + point aveugle
3
[Link]
Introduction
INTRODUCTION Régions Contours Pré-traitements
Vision et Images

4
Introduction
INTRODUCTION Régions Contours Pré-traitements
Vision et Images

Pour ce cours d’introduction, nous allons illustrer les


concepts et techniques du Traitement d’Images à partir
d’images optiques obtenues en lumière incohérente (image
optique classique des appareils photos ou du système visuel
humain).

Nous allons en décortiquer les propriétés physiques et


mathématiques pour expliquer les algorithmes de traitement
automatique.

Un adaptation est nécessaire dans le cas des images


obtenues en lumière cohérente par exemple (radar) mais les
concepts et techniques restent les mêmes.

5
Introduction
INTRODUCTION Régions Contours Pré-traitements
Vision et Images

Les algorithmes de traitements incluent les problématiques


de :
•Codage et transmission
•Filtrage et amélioration
•Interprétation (vision active)

6
Vision et Images

7
Compression Jpeg de facteur de qualité 100% / 50% / 15%

Vidéos de vision active8


Vision et Images
Vision Passive
Physiologistes et ingénieurs : expériences psychophysiques :
•En détection : petites variations vu /pas vu
•En perception : grandes variations : comment relier les
grandeurs physiques du stimulus visuel aux grandeurs
perceptives de la réponse engendrée chez l’observateur

La différence entre la réalité du signal et le codage effectué se


joue au niveau du filtrage linéaire effectué par les connexions
nerveuses 9
Applet

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

Illusion de Tichener : les deux gâteaux centraux sont de même taille !

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

Or même quantité d’info. Du point de


vue entropique … donc plus complexe
13
qu’une approche statistique …
Ecole Gestaltiste :
•Théorie de la forme et de la perception visuelle
•Principe de simplification symbolique dans le cerveau

La figure se simplifie par ajout


mental d’un triangle plus blanc que
blanc posé sur les autres figures

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...

Dans cette longue introduction, on présente quelques aspects de ces


modèles d'image avant de parler plus précisément des modèles de
traitement : aspect fréquentiel et aspect statistique par exemple.
19
Comment manipuler l’image ? Comme une fonction continue
f : [a,b]x[c,d]->[0,1]

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

Extensions des techniques monodimensionnelles comme


l’Analyse de Fourier et le Filtrage Linéaire.


− 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

Les unités des espaces réciproques ne sont pas prises au hasard !!


 Doivent être « dimensionellement correctes »

−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

L'unité de longueur peut être lié à la résolution pixellique d'une image


plutôt qu'à la mesure physique métrique. 24
Définition intuitive
• Tout signal peut être décomposé en une somme de sinus
et de cosinus
• La transformée de Fourier F(ω) permet de déterminer
l’amplitude et la fréquence de ces composantes

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 −∞

θ f(x,y) est une combinaison


ρ
linéaire d’exponentielles
complexes qui représentent des
plans ondulés (“tôles”).
F(u,v) décrit la pondération
accordée à chaque onde.

+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

|F(u,v)| donne la répartition énergétique en fonction de la


fréquence, visible quand on passe en coordonnées polaires
(u,v) -> (ω,θ)

La valeur de |F(ω cos θ, ω sin θ)| pour un couple (ω,θ) donne


l’amplitude d’une sinusoïde complexe de pulsation ω dans la
direction θ.

Pour de nombreuses images, la moyenne (au sens des probas)


de l’amplitude est indépendante de la direction θ et décroit
régulièrement en fonction de ω en 1/ ω

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ϕ

L’information locale utile à l’interprétation d’une image se loge


dans les contours, et celle-ci se cache plus particulièrement
dans la phase Arg(F(u,v)) : création d’interférences créant les
“franges de contour”

Nous allons en faire l’expérience en échangeant par exemple


les modules des TF de deux images réelles

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

Par contre, la localisation et donc la forme des frontières inter-


régions et donc des contours est contenue dans
l’information de phase de la TF

On reviendra à ces notions pour filtrer les images par


la suite.

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

Reconstruction avec HF Reconstruction avec BF

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.

En l'occurence, on va essayer dans cette partie de répondre à deux


questions :
- comment acquérir une image numérique en respectant les détails
analogiques de l'image d'intérêt pour l'application ? Pour adapter la
conception physique du capteur à la théorie de l'échantillonnage
discret.
- comment zoomer sur un détail d'une image le plus proprement
possible ? Pour éviter les effets de moiré ou d'aliasing par exemple.

Tous ces exemples qui montrent le fossé entre continu et discret,


s'appuie ici sur la modélisation fréquentielle de l'image. 41
Introduction Régions Contours Pré-traitements
Partie 3 :TF et Echantillonnage
L’une des toutes premières
étapes du TNI : réduction de
l’ensemble continu du monde
observable en une série de
valeurs discrètes ( acquisition par
caméra CCD, conversion de format
et ré-échantillonnage)

Elle contrôle la finesse des


détails enregistrés et donc la
naure de l’information
contenue dans l’image Les représentations spatiales d’une
image échantillonnée : (a) sous
numérique (théorie de forme d’impulsions en cohérence
l’Information : C. Shanon, avec l’interprétation du théorème
quantification de la dynamique, d’échantillonnage; (b) sous forme de
pixels de niveau constant en
compression jpeg). adéquation avec la représentation
habituelle 42
Survol 1D
Le problème de la discrétisation

ν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 ν

 « Repli » des ν > ν c sur les ν < ν c !!


 Théorème de l’échantillonnage : ν éch > 2 ν c
44
Le problème de la fenêtre temporelle
d’échantillonnage
 Longueur du signal échantillonné ≠ ∞
 Signal tronqué !!
 Oscillations de Gibbs dans la TF

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

∫ ∫ g(ε ,η ) ⋅ h( x − ε , y − η )dεdη <=> G (u, v ) H (u, v )


−∞
48
Propriétés essentielles en 2D
If g(x,y) can be expressed as gx(x)gy(y), then the F{g(x,y)} =

∫∫
−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 )

Π ( x, y ) = Π ( x)Π ( y ) ↔ sinc(u )sinc(v)


comb( x)comb( y ) ↔ comb(u)comb(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 )

Taking the integrals of F̂(u , y ) along y gives F(u,v)


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

Remarque : A la variable x spatiale correspond une


fréquence spatiale u exprimée en m-1

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

Exploitation de la redondance : corriger les distorsions,


atténuer l’effet d’un bruit, combler les pertes

60
Visualisation de l’interpolation par des sinc

Original function Sampled function


f (t ) = ∑ 2p ⋅ uc ⋅ f ( np ) ⋅ sinc ( 2uc (t − np ))
n=−∞

Each row shows convolution


of shifted sinc with a
sampled point. Sum lines along vertical
direction to get output. Weighted and shifted sincs for 61
3
sample points shown by black arrows
a) b)

a) Continuous waveform b) Sampled waveform c) Sinc interpolation of sampled


waveform ( sum of vertical lines in lower left plot from previous slide.
62
63
Echantillonnage 2D

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.

Let g(x,y) =Λ(x/16)Λ(y/16) Here we show its continuous


be a continuous function transform G(u,v) 65
Représentation de Fourier d’une image échantillonée
v

1/Y

Sampling the image in the space domain causes


replication in the frequency domain
66
1/X
Spectre du signal échantillonné : reconstituer le signal original
On supprime les îlots fréquentiels non voulus.
H(u , v) = ∏(uX) ⋅ ∏(vY)
Ce qui revient dans le domaine image,

ĝ ( 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.

(No frequency components in original signal can be >1/2(Max(X,Y)))

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

On veut rétrécir cette image d’un facteur 2, donc


rééchantillonner à fe=feold/2.

On peut reconstruire au préalable le signal, filtrer au-delà des


fréquences parasites comprises entre -fe/2 et fe/2, ce qui
revient à convoluer avec un sinc. Le plus simple est de
convoluer avec un signal porte, c’est-à-dire à moyenner sur
une plage de pixels voisins.

70
71
Signaux réels

Rappelons que les variations à petite échelle du signal sont


capturées par les hautes fréquences (les “tôles” capables de coller
à des détails très petits)
Ainsi un détail infinimément petit exige une fréquence
infiniment grande pour le capturer.
L’univers ne se présente pas comme une fonction à spectre
borné comme on le souhaiterait, mais comme une fonction à
spectre à support quasi-infini
-> les images sont dotées de détails aussi fins que voulus

72
Par contre, les instruments de mesure type lentilles ou
cristallin introduisent physiquement la limitation en bande
passante exigée par l’échantillonnage

Au lieu de mesurer l’image exacte f(x) de l’univers, on en


mesure une image dégradée f’ par la réponse impulsionnelle
h(x) du système d’observation : f’(x)=f(x)*h(x). La limite
fréquentielle U est imposée par le support de H, fonction de
transfert du signal.

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

C’est la tâche d’Airy, considérée comme


approximativement nulle (et donc un filtre passe-bas
approximatif) au delà d’une certaine fréquence ρ(D,f) 74
En général, le pas d’échantillonnage est fixé par les
paramètres physiques des capteurs ou par le canal de
tramsmission à débit réduit.

Dans ce cas, on sait qu’on évitera le phénomène d’aliasing si


on limite la bande passante du signal à uc = 1/2p. Ce filtrage
peut se faire optiquement ou électroniquement. La plupart du
temps, on n’a pas accès à la TF du signal f(x) au moment de
l’acquisition. On ne peut donc filtrer directement dans
l’espace de Fourier grâce à la fonction porte Π(2pu).

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)

Mesure d’un échantillon : intégration de


l’énergie sur la surface du capteur donc
filtrage de réponse impulsionnelle :
-> Mauvais filtre passe-bas
(qui crée des fréquences au-delà
de la fréquence de coupure)

T < pas d’échantillonnage = distance inter-capteurs = X 77


Passe − bas capteur solide
Passe − bas optique
Multiplication par Réplicateur
Multiplication par
H ( ρ ) = sin c(Tρ ) Convolution par
J1 (πρD / f )
2
H ( ρ) = H (u ) = III(Xu)
(πρD / f ) 2

On supprime des Intégrateur


détails, ce qui fait Echantillonneur
qu’on ne voit pas Convolution par
les détails
Multiplication par
microscopiques des x
surfaces observées h( x ) = III( )
X 78
79
80
Spectre du signal échantillonné : bande limitée et aliasing

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

+ Quantification radiométrique couleur 83


Introduction Régions Contours Pré-traitements
Partie 4 : Descriptions Statistiques des images
Utiles pour justifier les traitements ultérieurs du signal image !
• Filtrage
• Restauration
• Codage
• Reconnaissance des Formes

Utiles pour expliquer une image par rapport aux descriptions


structurelles ou syntaxiques ? Voir codeurs JPEG, MPEG

Dans cette partie nous illustrerons l'utilisation de descripteurs statistiques


des images pour faire de :
•l'amélioration de la visualisation
•la classification automatique d'images

84
Introduction Régions Contours Pré-traitements

Liées aux 2 types d’image :

– Images incohérentes obtenues


par les sources de lumière
naturelle ou de rayonnements
incohérents (images vidéo,
photos satellitaires ou médicales)
-> sommation en énergie
des radiations émises
Île de la Réunion
– Images cohérentes obtenues par
holographie, imagerie radar ou
ultrasonore
-> sommation en amplitude
complexe associée à un bruit
important appelé châtoiement
(en radar), ou tavelure (en
astronomie), ou granularité
(en optique) et speckle en
anglais. 85
Introduction Régions Contours Pré-traitements

Rappel : Une image peut être modélisée de plusieurs


façons :
• une fonction continue de deux variables f(x,y)
• une matrice 2D f[i,j], discrétisant la fonction f(x,y)
• la réalisation d'un champ de Variables Aléatoires
discrètes dont la densité de probabilité est lié à
l'histogramme de l'image

-> modèle de traitement mathématique, algorithmique, physique

[Link] 86
Introduction Régions Contours Pré-traitements

87
88
Introduction Régions Contours Pré-traitements

Un format portable : pgm ou ppm ou pbm

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

Code d’entête P5 ou P6 si les valeurs sont en byte et pas en ASCII

Logiciels libres de manipulation: gimp et imageJ 89


La jungle des formats d’image

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

f(z) = zExposant + C c=0.32+0.43i


c=-0.0986-0.65186i
c=-1,77+0,01i 94
c=0+i c=-0,15+0,45i
Introduction Régions Contours Pré-traitements

Analyse de l’amplitude : l’histogramme


Analyse de la fréquence d’apparition des niveaux de gris.

Comme l’image est constituée de 100 000 à plusieurs


millions d’échantillons, le théorème central limite tendrait à
prouver que l’amplitude de l’image suivrait une loi
gaussienne. Il n’en est rien !

95
Introduction Régions Contours Pré-traitements

96
Introduction Régions Contours Pré-traitements

Forme de l’histogramme de l’image ⇔ Signification de l’image

97
Introduction Régions Contours Pré-traitements

En général, une image peut avoir un histogramme quelconque


sans que sa signification en soit affectée.

Cas particuliers où cela est faux : les images incohérentes


“pathologiques” (échiquier, texte de livre, image de texture) et
98
les images cohérentes qui suivent une loi de Rayleigh.
Introduction Régions Contours Pré-traitements

•Création d’un pixel sombre ou clair selon l’opposition de phase.


•Ces variations dépendent surtout des conditions de propagation
et de la géométrie d’observation, plus que des objets qui
constituent le pixel.
•Surface grossière des objets par rapport à l’échelle de la
longueur d’onde incidente -> bruit
99
Introduction Régions Contours Pré-traitements

Histogramme des sauts d’amplitude

Saut d’amplitude s : différence entre niveaux de gris de


deux pixels adjacents le long d’une ligne

La loi de probabilité de s est globalement :


- marquée par un maximum pour s=0;
- symétrique;
- à décroissance très rapide et régulière.

D’où une première caractéristique


statistique possible de l’image σs
variant typiquement de 3 à 15 :
1  s2 
p(s) = exp − 
100 
σ
2
σs 2π  2 s 
Introduction Régions Contours Pré-traitements

Exceptions : échiquier, dégradé régulier du blanc au noir 101


Introduction Régions Contours Pré-traitements

La fonction d’autocorrélation normée centrée

Elle résume les dépendances spatiales du signal en fournissant


une interprétation dans le domaine de Fourier
->Fonction d’autocorrélation = TF du spectre de densité de puissance

∑ ( 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

2 modélisations possibles : quadratique ou séparable

(
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.

Appliquer les techniques du traitement de Signal 1D usuelles ne


sont pas satisfaisantes dans le domaine de l’image. Par
exemple, la modélisation par champs de Markov 2D et non plus
par chaîne de Markov a apporté une réponse théorique aux
limites causales précédentes, au prix d’une complexité
algorithmique accrue.
Enfin, la non-stationnarité du signal image global, impose
l’utilisation d’un modèle en mosaïque, qui partitionne l’image en
plages où les techniques descriptives statistiques précédentes
sont significatives.
107
Introduction Régions Contours Pré-traitements
Voici un résumé graphique, en réponse aux critiques du transparent
précédent, des chapitres que nous allons traiter :
• Une image peut être partitionnée et analysée de deux façons :
 aspect REGIONS ou TEXTURES  aspect CONTOURS
(chapitre 2) (chapitre 3)

• Une image doit être pré-traitée (chapitre 4)

108
Introduction Régions
Régions Contours Pré-traitements

109
Introduction Régions Contours Pré-traitements

Segmentation en régions globale


Seuillage
• Le seuillage est une une technique de segmentation simple,
non contextuelle et efficace :
• Seuillage d'intensité
• Classification des pixels (voxels) en deux catégories
• Création d'une image binaire (binarisation)

• Le seuillage peut utiliser un seuil soit fixé soit adaptatif

• Diverses techniques ont été imaginées pour définir


automatiquement ce seuil mais aucune n'est complètement
robuste

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

• Un exemple de valeur de seuil est la moyenne des


niveaux de gris
111
Introduction Régions Contours Pré-traitements

Seuillage fixe

• Seuil T fixé ou global:


global constant sur toute l'image

Normal Threshold Reverse Threshold

Deux seuils : intervalle d'intensités


112
Introduction Régions Contours Pré-traitements

Seuillage fixe

113
Introduction Régions Contours Pré-traitements

comment choisir ?

114
Introduction Régions Contours Pré-traitements

ISODATA Algorithm :

Iterative threshold selection technique [Ridler et Calvard] :

• Select an initial threshold T0 (e.g. the mean intensity)


• Partition the image into two groups (R1 and R2) using the
T0
• Calculate the mean intensity values µ 1 and µ 2 of the
partitions R1 and R2.
• Select a new threshold: Ti = (µ 1 + µ 2 )/2
• Repeat steps 2-4 until: Ti = Ti-1

115
Introduction Régions Contours Pré-traitements

Séléction d'un Seuil Optimal ?


● Utilité de la forme de l'histogramme quand les pics ne
sont pas bien définis ?

● Seuillage optimal : on mesure la séparation (statistique)


entre deux régions à partir d'une fonction critère, et le
seuil qui optimise ce critère est conservé

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

• Mean: ni: number of pixels in level I


• Analysis of variance (variance=standard deviation2)
• Total variance:

117
Introduction Régions Contours Pré-traitements

Otsu’s Method

• between-classes variance (δb2 ): The variation of the


mean values for each class from the overall intensity
mean of all pixels:
δ b2 = ω 0 (µ 0 - µ t ) 2 + ω 1(µ 1 - µ t ) 2,
Substituting µ t = ω 0 µ 0 + ω 1µ 1, we get:
δ b2 = ω 0ω 1(µ 1 - µ 0 )2
ω 0, ω 1, µ 0, µ 1 stands for the frequencies and mean values
of two classes, respectively.

118
Introduction Régions Contours Pré-traitements

Otsu’s Method

• The criterion function involves between-classes


variance to the total variance is defined as:
η = δ b2 / δ t2
• All possible thresholds are evaluated in this
way, and the one that maximizes η is chosen as
the optimal threshold

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:

• Optimal threshold is the one maximize:


H = Hb + Hw

pi ?
120
Introduction Régions Contours Pré-traitements

Comparons les valeurs de seuil :

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

Segmentation en régions semi-locale


Seuillage adaptatif
• Seuillage adaptatif ou local (ou régional)
• Utilise plus d'une valeur de seuil
• A utiliser quand le niveau d'intensité du fond n'est pas constant et que
la classe objet varie à l'intérieur de l'image.
• Examine les relations entre les intensités de pixels voisins pour
adapter le seuil en fonction des statistiques radiométriques des
différentes régions de l'image.

• Difficultés du seuillage :
– Contraste pauvre ou non spatialement homogène, ambiguité…

123
Introduction Régions Contours Pré-traitements

Segmentation en régions locale


Etiquetage de Composantes Connexes

• Connectivité des pixels :


Pour un pixel P(x,y)
• 4-voisinage : N4(P) = {(x+1,y), (x-1,y), (x,y+1),(x,y-1)}
• 8-voisinage : N8(P) = N4(P) ∪{(x+1,y+1), (x+1,y-1),
(x-1,y+1),(x-1,y-1)}
• 4(8)-connexité: deux pixels à l'intérieur de N4(P) or N8(P)

• Etiquetage de composantes connexes :


• regroupe les pixels d'une image en composantes connexes en se
fondant sur la connectivité des pixels
• Labélise (étiquette) les différentes composantes avec un niveau
de gris ou une couleur (color labeling), ou un indice de texture
124
Introduction Régions Contours Pré-traitements

Etiquetage de Composantes Connexes

• On scanne une image, pixel par pixel (de haut en bas et


de gauche à droite), pour identifier les régions de pixels
connectés

• Critère d'intensité (IC) : le même ensemble de valeurs


d'intensité (1 pour une image binaire; un intervalle de valeurs
pour une image en niveaux de gris)

• Et si on s’intéresse à des images texturées ?

125
En synthèse d'image

126
Et en analyse [Link]

127
Introduction Régions Contours Pré-traitements

Labeling algorithm: for a pixel P satisfy IC


1. Step 1 (First Scan):
• If all neighbors do not satisfy IC, assign a new
label to P
• if only one neighbor satisfy IC, assign its label to P
• if one or more of the neighbors satisfy IC, assign
one of the labels to P and make a note of the
equivalences.
– Step2 (Resolve equivalence) : The equivalent label pairs
are sorted into equivalence classes by a equivalence resolve
algorithm ( e.g. Floyd-Warshall algorithm) and a unique label is
assigned to each class
3. Step3 (Second scan) : Each label is replaced by the
label assigned to its equivalence classes

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

Propriétés des régions


● Region Properties are important features for the
region analysis (or measurement) after the
regions have been labeled (segmented) -> RF
● Region Properties:
 Perimeter and Area
 Center, Radius and Diameter
 Centroid Moments and Orientation
 Extreme Points and Curvature
 Intensity Properties

130
Introduction Régions Contours Pré-traitements

Propriétés des régions

● Perimeter and Area:


 Perimeter:
Perimeter The length of the contour of a
connected component (region).
 calculated from the chain-code of the contour,or
 estimated by the number of pixels on the contour.
 Area:
Area The number of unit squares contained.
 Pick’s formula: A(P) = nI + nB/2-1
nI , nB : number of interior points or of points
lying on borders, respectively.
131
Introduction Régions Contours Pré-traitements

Propriétés des régions


● Center, Radius and Diameter :
 Eccentricityof a point P in F is the maximum
of distance d(p,q) for all points q∈ F:
ecc(p) = max d(p,q) | q∈ F
 Center:
Center The set of points P of least eccentricity
 Radius:
Radius The value of the least eccentricity
d(p,p’)
 Diameter:
Diameter The value of the greatest F
eccentricity d(p’,q’) P’ q’
P
132
Introduction Régions Contours Pré-traitements

Propriétés des régions

● Centroid Moments and Orientation:


 Centroid:
Centroid Given F, a set of n connected pixels (xi,yi),
we can define a centroid c as:

 Moments:
Moments The discrete (k,l)-order central moment is
defined as:

 Orientation Orientation is defined here as an angle θ :


Orientation:

133
Introduction Régions Contours Pré-traitements

Propriétés des régions


● Extreme Points and Curvature:
 Extreme Points: 1 2

• Topmost left 5. Bottommost right 8


3
• Topmost right 6. Bottommost left
• Rightmost top 7. Leftmost bottom 7 4
• Rightmost bottom 8. Leftmost top
6 5
 Curvature:
Curvature is a very important region property
for measuring contours. -> Hough Transform
● Intensity Properties:
 Gray level mean and variance, intensity-weighted
centroid (gravity center) and moments.
134
Introduction Régions Contours Pré-traitements

Convolution VS. Corrélation


● Soit une image f(x,y) et un noyau w(a,b)
 Convolution:

 Corrélation:

● Différence: Index différent.


 Noyau asymétrique : la convolution retourne le
noyau.
135
Introduction Morpho.
Régions
Math. Contours
Contours Pré-traitements

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

-> Image vue comme une fonction continue de deux


variables f(x,y), échantillonée à support borné

-> Utilisation des dérivées bidimensionnelles :


vecteur gradient et scalaire Laplacien

->Attention : au niveau fréquentiel, bruit ≈ contour !


en tant que discontinuité

138
Introduction Morpho.
Régions
Math. Contours Pré-traitements

139
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Méthodes dérivatives de détection de contours 2D

Détection des maxima locaux de la norme du gradient


dans la direction du gradient

Détection des passages par 0 du Laplacien

140
Introduction Morpho.
Régions
Math. Contours Pré-traitements

• Problèmes inverses et problèmes mal posés :


Exemple : Différentiation numérique pour la détection de contours
f(x) + ε sin(ωx)
Dérivation très sensible au bruit
-> Régularisation [Tikhonov et Arsenin 1977]

• Un problème est bien posé si [Hadamard 1923] :


1. Une solution existe
2. La solution est unique
3. Dépend continûment des données

• Vision = ensemble de problèmes mal posés !

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)

= Vecteur Gradient en P(x,y) = Vecteur normal à la courbe de niveau



f(x,y) = f(xP,yP)=cste, n
 ∂f 
  ∂x  
∇ P 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 :

Dérivée du second ordre d’une fonction de deux variables f(x,y)

= Scalaire Laplacien Dérivées directionnelles :

∂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

Isotropie de l’opérateur laplacien :

∂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

Procédure générale pour le 1er ordre

• Obtention de deux images Im(m,n) et In(m,n)



3. Calcul de du gradient en chaque point ∇ P I (m, n)
->obtention de deux images Inorme(m,n) et Idirection(m,n)

4. Extraction des maxima locaux dans la direction du gradient


->obtention de contours fins

5. Seuillage par hystérésis (seuils bas et haut)


->élimination des contours parasites

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

• Opérateurs dérivatifs du 2ème ordre : Passage par zéro de la


dérivée seconde du signal :
1. Laplacien : [1 -2 1]
2. Opérateur de Marr et Hildreth ou DoG
3. Opérateur de Huertas et Medioni
4. Le filtre récursif de Canny-Deriche 145
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Opérateurs dérivatifs du 1er ordre :


Trouver le filtre linéaire de réponse impulsionnel w dérivant un
signal -> lien avec l’espace des fréquences de Fourier
∂f f ( x + ∆x) − f ( x)
=
∂x ∆x
Convolution : Etant donnés un signal f(x) et un noyau h(a)

f ∗h =
a∈h
∑ f ( x − a ) h( a )
( x − a )∈ f

D’où le masque de convolution de dérivation dans le cas discret 1D :

1
h=
∆x
[ − 1 1] qu’on écrit f ∗h
146
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Par développement en série de Taylor de f(x+∆x) et (f(x-∆x), on trouve


une meilleure approximation

1
h= [ − 1 0 1]
2∆x

Convolution : Etant donnés une image f(x,y) et un noyau h(a,b)

f ∗h = ∑ f ( x − a, y − b) h( a, b)
( a ,b )∈h
( x − a , y −b )∈ f

D’où les masques de Prewitt ou noyaux de convolution d’un RIF de


dérivation dans le cas discret 2D :
Qui permettent de calculer les dérivées
1 0 − 1 1 1 1
h j = 1 0 − 1 hi =  0 0 0  •horizontales I j [i, j ] = h j ∗ I [i, j ]
1 0 − 1 − 1 − 1 − 1 •verticales I i [i, j ] = hi ∗ I [i,147j ]
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Convolution : Etant donnés une image I[i,j] et un noyau h[m,n]


M N
h ∗ I [i, j ] = ∑ ∑ I [i − m, j − n]h[m, n]
m=− M n=− N

• Discrete Convolution includes three steps:


1. Position the center of the kernel at the first pixel of an image and flip
the kernel.
2. Multiply and sum.
– Slide to next pixel.
Repeat steps 2 and 3 until the whole image is processed
• Demos:
*
Sobel 148
(1980)
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Masque moyenneur ou noyau de convolution d’un RIF de lissage dans


le cas discret 2D :
1 1 1
1
h = 1 1 1
9
1 1 1

hj peut être vu comme réponse impulsionnelle infinie d’un filtre séparable


comprenant un lissage suivant la direction verticale et une direction
suivant la direction horizontale

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

Quid d’un RII ?

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

σ=1.0 et Tbas=1, Thaut=255 σ=1.0 et Tbas=1, Thaut=128 σ=2.0 et Tbas=1, Thaut=255

154
Problème des jonctions Y
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Scale-down by 0.25 before


edge extraction
σ=1.8 et Tbas=1, Thaut=200

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

Le cas 1 (ω->0) est optimal, ce qui correspond au filtre de RII

−α x
f(x)=Sxe

Comment l'implémenter sous la forme d'un RII ?

157
Introduction Morpho.
Régions
Math. Contours Pré-traitements

158
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Ces deux transformées en Z correspondent à deux


fonctions de transfert de filtres récursifs stables de second
ordre.
Le premier opérant de gauche à droite F+ et le second de
la droite vers la gauche F-

159
Introduction Morpho.
Régions
Math. Contours Pré-traitements

160
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Équations récursives :

•Nombre d'opérations requis par point très faible : 5

•Nombre d'opérations requis indépendant de la résolution à


laquelle les contours doivent être détectés alors que la forme du
filtre (α) peut changer
Implémentation RIF pour α = 0.5 -> Masque 2N+1 de taille 57
Implémentation RIF pour α = 0.25 -> Masque 2N+1 de taille 105

•Pas d'effet de troncature du RIF

161
Introduction Morpho.
Régions
Math. Contours Pré-traitements

Noyau de lissage possible : primitive du noyau de dérivation f

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

•Dérivation en y de l'image : ai <-> a i+4 et c1<->c2

Avec
167
Introduction Morpho.
Régions
Math. Contours Pré-traitements

•RII pour un Laplacien

•Laplacien de l'image =
Soustraction entre les deux images r1 et r2

•Laplacien à n'importe quelle résolution spécifiée par le


paramètre α avec 14 opérations par point de sortie

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

Maxima du gradient Passage par zéro du Laplacien


et et
seuillage par hystérésis seuillage par hystérésis
173
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

 bmin amax − bmax amin


α = amax − amin


et β = bmax − bmin
 amax − amin 180
Introduction Régions Contours Pré-traitements

Expansion Dynamique

79 136

181
Introduction Régions Contours Pré-traitements

Egalisation d’histogramme A[i, j ] → B[i, j ]

•Aplatir l’histogramme des niveaux de gris, l’image A[i,j] étant


modélisée comme un ensemble de réalisation d’une variable
aléatoire A admettant comme densité de probabilité h(a) non
nulle sur [amin,amax] et une fonction de répartition H(a)

•densité de probabilité h(a) = histogramme de l’image A


-> h(a) = p(A[i,j]=a)

•fonction de répartition H(a) = histogramme cumulé normalisé


-> F(a) = P(A[i,j]<a)

182
Introduction Régions Contours Pré-traitements

•Condition sur la variable


aléatoire B = T(A) :
sa d.p g(b) doit être uniformément
répartie dans l’intervalle [bmin,bmax]

 f (a) 1
= = pour bmin < b < bmax
g (b) T ' (a ) bmax − bmin
= 0 ailleurs

183
Introduction Régions Contours Pré-traitements

Egalisation d’histogramme A[i, j ] → B[i, j ]

T ' (a) = (bmax − bmin ) f (a)


soit b = T (a ) = (bmax − bmin ) F (a) + bmin

donc db = (b max −bmin ) f (a )da

->Amplification des fluctuations dans les zones où


celles-ci sont faibles, cad là où les densités de probabilité
sont élevées

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

• Nettoyage du bruit ou lissage

• Deux catégories de méthodes :


– Linéaires : Mean filter, Gaussian smoothing, Stretching, Equalizing

– Non linéaires : Median filter, Opening, Closing

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

• La Gaussienne produit en sortie une ‘moyenne pondérée’ du


voisinage de chaque pixel.
189
Introduction Régions Contours Pré-traitements
Filtrage Gaussien
Discret

• On remplace la valeur de chaque pixel par la moyenne de ses


voisins lui compris.
1 2 1
1
2 4 2
16
1 2 1
• Intègre plus de 80% des approximations discrètes d’une
gaussienne
• Génère du « flou » ==> diminue le contraste

• Convolution de l’image f avec un signal gaussien h

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

• On remplace la valeur de chaque pixel par la moyenne de ses


voisins lui compris.
1 1 1
1
1 1 1
9
1 1 1

• Convolution de l’image f avec un signal porte h

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.

● Filtre d’ordre = Filtrage non liénaire -> Lien fort avec la


morphologie mathématique qui prend le sup et l’inf d’un
ensemble ordonné.
192
Introduction Régions Contours Pré-traitements

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

Gaussian vs. Median

Source Gaussian ( σ = 2.5) Median ( 5 X 5)


194
Introduction Régions Contours Pré-traitements
Dans le domaine fréquentiel

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.

Prenons un manuscrit textuel à analyser. On


sort momentanément de l'image à proprement
parler. Pour en extraire le sens, on commence
généralement par corriger les artéfacts du
signal : corriger les bavures de l'encre (bruit
d'acquisition), les fautes d'orthographes et de
grammaires (bruit de transmission), traduire
dans une langue normalisée (transformation de
la distribution des lettres pour en améliorer la
lisibilité par l'opérateur), puis progressivement,
on va structurer le document en phrases,
paragraphes, chapitres (segmentation en région
et contour). Toutes ces opérations ont été plus
ou moins décrites pour le cas spécifique d'une
image et correspondent aux prétraitement
syntaxique et structurel du signal pour le mettre
en forme avant d'en anlyser le fond.

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

Un opérateur algorithmique qui réalise ce


filtrage quasi- sémantique est l'opérateur
de Hough par exemple (voir plugin
imageJ).

200
La suite logique de ces opérateurs converge une
autre discipline qu'on appelle la Reconnaisse de
Formes.

Par exemple, comment reconnaître des visages


dans une image, puis une classe de personnes,
puis identifier une personne en particulier. Ces
techniques sont des procédés souvent
statistiques s'appuyant sur des mesures
effectuées dans l'image (cf. biométrie,
empreintes digitales).

Dans le cas de l'imagerie médicale par exemple,


il s'agira de reconnaître automatiquement une
mammographie présentant une tumeur d'une
autre.

Une technique qui est à la limite du filtrage


syntaxique (niveau pixel seul) et du filtrage
sémantique (niveau forme ou ensemble de
pixels) s'appelle la Morphologie Mathématique
: dans ce cas il ne s'agit plus de filtrage
linéaire mais de filtrage d'ordre et cette
distinction est conceptuellement
fondamentale.
201
Pré-traitements Primitives évoluées Morphologie Math.
Morpho Math

202
Pré-traitements Primitives évoluées Morphologie Math.

Structure fondamentale en Traitement d'Images Linéaire

203
Pré-traitements Primitives évoluées Morphologie Math.

Traitement d'Images Linéaire et Convolutions

204
Pré-traitements Primitives évoluées Morphologie Math.

205
Pré-traitements Primitives évoluées Morphologie Math.

Traitement d'Images Non Linéaire et Morpho. Math.

206
Pré-traitements Primitives évoluées Morphologie Math.

Structure fondamentale en Morphologie Mathématique

207
Pré-traitements Primitives évoluées Morphologie Math.

Exemples de treillis complets

208
Pré-traitements Primitives évoluées Morphologie Math.

Exemples de treillis complets

209
Pré-traitements Primitives évoluées Morphologie Math.

Définitions préliminaires

210
Pré-traitements Primitives évoluées Morphologie Math.

Addition de Minkowsky

Ou encore : c’est le lieu


géométrique des points z tels 211
que B z intersecte X
Pré-traitements Primitives évoluées Morphologie Math.

Dilatation morphologique

212
Pré-traitements Primitives évoluées Morphologie Math.

Le principe de dualité

Dans le cadre ensembliste, c’est opérateur est la complémentation par exemple PC


et (PC)C=P

213
Pré-traitements Primitives évoluées Morphologie Math.

Érosion morphologique

214
Pré-traitements Primitives évoluées Morphologie Math.

Construction des opérateurs

215
Pré-traitements Primitives évoluées Morphologie Math.

Propriétés fondamentales des opérateurs

216
Pré-traitements Primitives évoluées Morphologie Math.

Propriétés algébriques des opérateurs de base

217
Pré-traitements Primitives évoluées Morphologie Math.

Applications aux images binaires

218
Pré-traitements Primitives évoluées Morphologie Math.

Conclusion sur les opérateurs de base

219
Pré-traitements Primitives évoluées Morphologie Math.

Du cadre ensembliste au cadre fonctionnel

220
Pré-traitements Primitives évoluées Morphologie Math.

Du cadre ensembliste au cadre fonctionnel

221
Pré-traitements Primitives évoluées Morphologie Math.

Du cadre ensembliste au cadre fonctionnel

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.

Propriétés des opérateurs de base dans le cadre fonctionnel

224
Pré-traitements Primitives évoluées Morphologie Math.

Application aux images numériques

225
Pré-traitements Primitives évoluées Morphologie Math.

Premiers opérateurs par différence

226
Pré-traitements Primitives évoluées Morphologie Math.

Premiers opérateurs par différence

227
Pré-traitements Primitives évoluées Morphologie Math.

Premiers opérateurs par différence

228
Pré-traitements Primitives évoluées Morphologie Math.

Gradients et laplacien : images numériques

229
Pré-traitements Primitives évoluées Morphologie Math.

Ouverture et fermeture morphologique

230
Pré-traitements Primitives évoluées Morphologie Math.

Ouverture et fermeture : propriétés algébriques

231
Pré-traitements Primitives évoluées Morphologie Math.

Ouverture et fermeture : ensembles et fonctions

232
Pré-traitements Primitives évoluées Morphologie Math.

Ouverture et fermeture : images binaires

233
Pré-traitements Primitives évoluées Morphologie Math.

Ouverture et fermeture : opérateurs combinés

234
Pré-traitements Primitives évoluées Morphologie Math.

Top Hat : images numériques

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

Vous aimerez peut-être aussi