Quelques m´ethodes math´ematiques pour le traitement
d’image
2 janvier 2009
Ce cours est une introduction `a la th´eorie math´ematique de traitement de l’image . Il est donc
incomplet car les m´ethodes dans ce domaine sont nombreuses et vari´ees. On se polarisera sur
les m´ethodes variationnelles.
M. Bergounioux
Master 2 - 2008-2009
2
Chapitre 1
Introduction
1.1 Qu’est-ce qu’une image num´erique ?
Une image num´erique est compos´ee d’unit´es ´el´ementaires (appel´ees pixels) qui repr´esentent
chacun une portion de l’image. Une image est d´efinie par :
– le nombre de pixels qui la compose en largeur et en hauteur (qui peut varier presque `a
l’infini),
– l’´etendue des teintes de gris ou des couleurs que peut prendre chaque pixel (on parle de
dynamique de l’image).
1. Les images binaires (noir ou blanc)
Exemple, images les plus simples, un pixel peut prendre uniquement les valeurs noir ou
blanc. C’est typiquement le type d’image que l’on utilise pour scanner du texte quand
celui ci est compos´e d’une seule couleur.
2. Les images en teintes de gris
En g´en´eral, les images en niveaux de gris renferment 256 teintes de gris. Image `a 256
couleurs, simplement chacune de ces 256 couleurs est d´efinie dans la gamme des gris.
Par convention la valeur z´ero repr´esente le noir (intensit´e lumineuse nulle) et la valeur
255 le blanc (intensit´e lumineuse maximale).
3. Les images couleurs
S’il existe plusieurs modes de repr´esentation de la couleur, le plus utilis´e pour le manie-
ment des images num´eriques est l’espace couleur Rouge, Vert, Bleu (R,V,B).
Cet espace couleur est bas´e sur la synthese additive des couleurs, c’est a dire que le
m´elange des trois composantes (R, V, B) donne une couleur.
3
4
CHAPITRE 1. INTRODUCTION
1.1.1 Quelques d´efinitions
Pixels et niveaux de gris
Echantillonnage et quantification
1.1. QU’EST-CE QU’UNE IMAGE NUM ´ERIQUE ?
5
L’´echantillonnage est le proc´ed´e de discr´etisation spatiale d’une image consistant `a asso-
cier `a chaque zone rectangulaire R(x, y) d’une image continue une unique valeur I(x, y). On
parle de sous-´echantillonnage lorsque l’image est d´ej`a discr´etis´ee et qu’on diminue le nombre
d’´echantillons.
Une image num´erique est une image ´echantillonn´ee et quantifi´ee. La quantification d´esigne
la limitation du nombre de valeurs diff´erentes que peut prendre I(x, y).
L’´echantillonnage est une ´etape fondamentale qui doit tenir compte du contenu informa-
tionnel pertinent de l’image `a analyser. Sur l’exemple ci- dessous, en 1d, le signal ´echantillonn´e
« ressemble » `a une sinuso¨ıde de fr´equence 8 fois plus faible :
6
CHAPITRE 1. INTRODUCTION
Ce ph´enom`ene appel´e aliasing est encore pire en 2D, car il affecte la fr´equence et la direction
des structures p´eriodiques. Imaginons par exemple qu’on souhaite ´echantillonner l’image cor-
respondant aux bandes noires ci-dessous :
Avec un ´echantillonnage adapt´e, l’image num´erique fait apparaˆıtre des structures conformes `a
l’information pr´esente dans l’image :
Mais en consid´erant seulement 1 ´echantillon sur 2, une structure diff´erente apparaˆıt, dont l’ana-
lyse (ici des bandes verticales, plus ´epaisses) ne sera pas conforme `a la r´ealit´e de l’objet :
Image originale
sous-´echantillonn´ee
Image
1.1. QU’EST-CE QU’UNE IMAGE NUM ´ERIQUE ?
7
La quantification peut ´egalement faire apparaˆıtre des distortions dans les images. Comme pour
l’´echantillonnage, il existe des r`egles pour d´eterminer la bonne quantification (le bon nombre
de bits) pour coder les images num´eriques. L’une d´epend du capteur, et de sa capacit´e effective
`a observer des signaux de valeurs diff´erentes : le rapport signal sur bruit.
Le rapport signal sur bruit est d´efini `a partir du rapport entre l’amplitude des niveaux de
nmin et le niveau du bruit, en gros l’´ecart-type σn de la
gris mesurables par le capteur nmax −
perturbation al´eatoire qui affecte les niveaux de gris. En prenant le logarithme, on a le nombre
de bits utile au capteur pour coder les images.
Outre les capacit´es du capteur, le nombre de bits r´eellement n´ecessaires pour coder une
image varie d’une image `a l’autre, en fonction de leur contenu informationnel. Ce nombre
d´epend de l’entropie, d´efinie `a partir de la distribution des niveaux de gris de l’image (statis-
tique).
E =
−
N
!i
≤
pi log2(pi) ,
o `u N est le nombre de niveaux de gris pr´esents, pi est la proportion (0 < pi < 1) de points de
l’image ayant pour niveau de gris i. Cette grandeur repr´esente le nombre moyen de bits par
pixel n´ecessaires pour coder toute l’information pr´esente. Elle est utilis´ee dans les techniques
de compression sans perte pour adapter le volume de donn´ee des images `a leur contenu infor-
mationnel.
8
CHAPITRE 1. INTRODUCTION
Profil - Histogramme
Il est possible de tracer un trait sur le flanc du z`ebre de l’image en niveaux de gris ci-dessous
et obtenir le profil correspondant, c’est `a dire le niveau de gris de chaque point ou pixel travers´e
par la ligne :
L’histogramme de l’image en niveau de gris ci-dessous permet d’´etablir une stricte corr´elation
entre les donn´ees num´eriques codant la nuance de gris et la position des pixels de l’image.
1.2 Qu’est-ce que le traitement d’image ?
Les pages qui suivent sont extraites des cours en ligne [BMT, M].
1.2. QU’EST-CE QUE LE TRAITEMENT D’IMAGE ?
9
1.2.1 Quelques aspects du Traitement d’Image
– Filtrage / d´econvolution (ou filtrage inverse)
– Compression
– Segmentation
– Restauration / reconnaissance
– Reconstruction tomographique
10
CHAPITRE 1. INTRODUCTION
1.2. QU’EST-CE QUE LE TRAITEMENT D’IMAGE ?
11
Dans ce cours nous ´evoquerons successivement trois aspects fondamentaux :
– Filtrage
L’outil math´ematique essentiel pour le filtrage est la transformation de Fourier (ou toute
autre transformation du mˆeme type comme la transformation en ondelettes)
– Segmentation
La segmentation fait intervenir des notions d’optimisation, des outils g´eom´etriques et des
´equations aux d´eriv´ees partielles
– Restauration
Les mod`eles variationnels en restauration utilisent de l’optimisation et de l’analyse fonc-
tionnelle fine (Banach, th´eorie de la mesure).
12
CHAPITRE 1. INTRODUCTION
1.2.2 Applications
– Robotique - Industrie
– Assemblage, reconnaissance de pi`eces
– Contr ˆole de qualit´e
– V´ehicule autonome
– etc ...
– T´el´ed´etection
– M´et´eo
– Cartographie
– Analyse des ressources terrestres
– Astronomie
– Restauration
– etc...
– Applications militaires
– Guidage de missile
– Reconnaissance (a´erienne, sous-marine, etc ...)
– etc ...
– Imagerie m´edicale
– Tomographie
– Aide au diagnostic
– Comptage (nombre de cellules)
– Suivi de formes anatomiques
1.2. QU’EST-CE QUE LE TRAITEMENT D’IMAGE ?
13
– Restauration
– etc...
– S´ecurit´e
– Reconnaissance (d’empreintes, visages, signatures)
– D´etection de mouvement
– etc...
14
CHAPITRE 1. INTRODUCTION
Chapitre 2
Traitement ponctuel des images
num´eriques
On s’int´eresse d’abord aux traitements ponctuels qui consistent a faire subir a chaque pixel
une correction ne d´ependant que de sa valeur. On trouve dans cette cat´egorie, les fonctions de
recadrage ou d’´egalisation de dynamique, de binarisation ...
Sauf mention particuli`ere, nous supposerons dans ce qui suit des images comportant N 2
pixels cod´es sur 256 niveaux de gris diff´erents.
2.1 Correction ponctuelle d’une image -Recadrage de dynamique
Il s’agit d’une transformation du type f " = t(f ) qui permet de modifier la dynamique des
niveaux de gris dans le but d’am´eliorer l’aspect visuel de l’image. `A un niveau de gris f de
l’image originale correspond le niveau t(f ) dans l’image transform´ee. On fait subir `a chaque
pixel un traitement ne d´ependant que de sa valeur. La transformation t(f ) peut ˆetre r´ealis´ee
en temps r´eel sur l’image en cours d’acquisition `a l’aide d’une table de transcodage dans la-
quelle les valeurs de la transformation sont m´emoris´ees. Un adressage de cette m´emoire par
une donn´ee f fournit directement la valeur t(f ).
2.1.1 Transformation de recadrage
On suppose une image de d´epart pr´esentant un histogramme concentr´e dans l’intervalle
[a, b]. Les valeurs a, b correspondent aux niveaux de gris extrˆemes pr´esents dans cette image. Le
recadrage de dynamique consiste a ´etendre la dynamique de l’image transform´ee a l’´etendue
totale [0, 255]. La transformation de recadrage est donc une application affine qui s’´ecrit :
15
16
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
Original
Recadrage : a = 30, b = 200
Variantes pour le rehaussement des contrastes
Les types de correction donn´es ci-dessous permettent d’accentuer le contraste dans une
plage pr´ecise de niveau.
Dilatation de la dynamique des zones sombres
Dilatation de la dynamique des zones claires
Fonction de rehaussement de contraste.
2.1. CORRECTION PONCTUELLE D’UNE IMAGE -RECADRAGE DE DYNAMIQUE
17
f
b
a
(255
−
t(f ) =
pour 0
a)
−
pour a
f
f
≤
Publicité
≤
≤
≤
a
255
b) f + 255(b
255
a
−
Original
Histogramme
Dilatation de la dynamique des zones claires
Dilatation de la dynamique des zones sombres
18
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
2.1.2
´Egalisation de l’histogramme
L’histogramme d’une image est rarement plat ce qui traduit une entropie non maximale. La
transformation d’´egalisation est construite de telle fac¸on que l’histogramme de l’image trans-
form´ee soit le plus plat possible. Cette technique am´eliore le contraste et permet d’augmenter
artificiellement la clart´e d’une image grˆace `a une meilleure r´epartition des intensit´es relatives.
Fonction d’aplatissement continue
Consid´erons l’histogramme continu h(f ) donn´e ci-dessous. En notant f " = t(f ), l’histo-
gramme ´egalis´e h(f ") doit s’approcher de la forme id´eale d´ecrite ci-dessous.
Deux surfaces ´el´ementaires en correspondance dans les histogrammes initiaux et ´egalis´es,
pr´esentent le mˆeme nombre de points ce qui permet d’´ecrire :
f " = t(f ) =
256
N 2
f
0
&
h(s) ds .
Histogramme d’origine
Histogramme plat id´eal
Fonction id´eale d’´egalisation d’un histogramme
Fonction d’aplatissement discr`ete
En remplac¸ant l’int´egration continue par une somme, on obtient la transformation d’´egalisation
discr`ete suivante :
f " = t(f ) =
256
N 2
f
!i=0
h(i) .
2.1. CORRECTION PONCTUELLE D’UNE IMAGE -RECADRAGE DE DYNAMIQUE
19
Original
Histogramme
Image ´egalis´ee
Histogramme ´egalis´e
2.1.3 Binarisation
Le but de la binarisation d’une image est d’affecter un niveau uniforme au pixels pertinents
et d’´eliminer les autres.
Seuillage
Le seuillage consiste a affecter le niveau 255 aux pixels dont la valeur est sup´erieure a un
seuil S et 0 le niveau aux autres. Le graphe de la transformation correspondante est le suivant
Fonction « seuillage »
20
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
Seuillage `a 70
Extraction d’une fenˆetre d’intensit´e
Avec la transformation d´ecrite ci-dessous, la nouvelle image ne visualise que les pixels dont
le e niveau d’intensit´e appartient `a l’intervalle [a, b]. Sous r´eserve d’une connaissance a priori
de la distribution des niveaux de gris des objets de l’image originale, cette technique permet
une segmentation d’objets particuliers de l’image.
Fonction « fenˆetre d’intensit´e »
Original
Histogramme
2.2. ANAYSE DE LA NETTET ´E D’UNE IMAGE NUM ´ERIQUE
21
Seuillage avec fenˆetre d’intensit´e entre 30 et 100
2.2 Anayse de la nettet´e d’une image num´erique
La focalisation automatique, ou mise au point, des syst`emes de prise de vue traditionnels
(appareils photo,, graphiques cam´eras analogiques ... ) exploite g´en´eralement un t´el´em`etre qui
mesure avec pr´ecision la distance appareil-plan objet. Les syst`emes de vision num´eriques ac-
tuels (appareils et cam´eras num´eriques ... ) r´ealisent automatiquement leur mise au point `a par-
tir d’une analyse de l’image restitu´ee. Pour cela un crit`ere de nettet´e de l’image est d´etermin´e
`a partir des valeurs f (i, .j) := fij de l’intensit´e (luminance) des pixels.
Un grand nombre de criteres a ´et´e propos´e. Parmi les plus utilis´es figurent les criteres bas´es
sur l’analyse de la distribution des niveaux d’intensit´e pixel et ceux mesurant le contenu spec-
tral de l’image.
La premi`ere cat´egorie repose sur le fait que la d´efocalisation engendre l’uniformisation des
niveaux de gris, ou ce qui revient au mˆeme, que l’image nette pr´esente l’histogramme le plus
large.
La seconde cat´egorie repose sur le principe similaire qu’une image focalis´ee contient plus
de fr´equences spatiales ´elev´ees qu’une image floue.
Dans toutes ces m´ethodes, on recherche la distance de mise au point qui assure la majora-
tion du crit`ere
2.2.1 Exemples de crit`eres de nettet´e
Crit`eres de nettet´e bas´es sur l’analyse de l’histogramme de l’image
On note hk la distribution statistique (histogramme) des niveaux k d’intensit´e des pixels.
22
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
Crit`ere math´ematique
M´ethode de
Mendelsohn
et Mayall
F =
k hk
!k>T
T est un param`etre choisi
proche du niveau de gris moyen de l’image
M´ethode de
F =
Mason et Green ∆ij = 2
i
(k
T ) hk et T =
−
!k>T
(fi,j+1 −
1 −
fi,j
−
fi+1,j+1)2 + (fi
−
’
’
i
1)2 + (fi+1,j −
’
’
1,j+1 −
(
−
j fij∆ij
j ∆ij
fi
−
fi+1,j
1,j)2
1)2
)
−
+ (fi
−
1,j
Variance des
niveaux de gris
F =
j f 2
ij
i
N 2
’
’
2
j fij
N 4
’
)
i
− (’
Crit`eres de nettet´e bas´es sur l’analyse spectrale de l’image
Crit`ere math´ematique
Norme "1 du gradient1
F =
fi,j −
(
|
fi,j
1|
−
+
fi,j+1 −
|
)
fi,j|
!i,j
Norme "2 du gradient
F =
(fi+1,j −
fi,j)2 + (fi,j+1 −
fi,j)2
!i,j
Remarques g´en´erales
– Les tests des crit`eres de nettet´e r´ealis´es sur un grand nombre d’images diff´erentes montrent
que leurs performances d´ependent du type et du contenu de l’image analys´ee ;
– En regle g´en´erale, l’extremum des criteres est peu prononc´e lorsque l’image contient peu
de d´etails
2.3. CORR ´ELATION D’IMAGES NUM ´ERIQUES
23
– L’algorithme de Brenner est souvent utilis´e car il pr´esente g´en´eralement une bonne sen-
sibilit´e et la charge de calculs qu’il n´ecessite est raisonnable.
2.3 Corr´elation d’images num´eriques
Nous consid´erons deux fonctions bidimensionnelles discr`etes f (i, j) et g(i, j) avec 1
i, j
≤
≤
N.
Ces fonctions sont repr´esentatives de deux images num´eriques monochromes comportant
N 2 pixels. Leurs versions centr´ees et r´eduites sont d´efinies respectivement par
fc(i, j) =
µf
f (i, j)
σf
−
et gc(i, j) =
µg
g(i, j)
σg
Publicité
−
o `u µ et σ sont respectivement la moyenne et l’´ecart type de chaque fonction.
La fonction d’intercorr´elation entre fc et gc est d´efinie par la relation :
ϕf g(k, l) =
1
N 2
!i,j
fc(i, j)gc(i
k, j
l) .
−
−
(2.3.1)
Il est souvent plus pratique de travailler sur des images dont les valeurs sont centr´ees et
r´eduites. Ceci permet d’une part d’´eliminer de ϕf g(k, l) le carr´e des moyennes des images,
d’autre part de normaliser les fonctions de corr´elation.
Pour ´eviter les effets de bord qui introduisent un biais dans le calcul de ϕf g(k, l) il convient :
– soit de s’assurer que la double sommation est r´ealis´ee sur des valeurs dont les coor-
donn´ees ne sortentjainais de l’image. Cela revient `a d´efinir un cadre d’int´egration dont
le format, inf´erieur `a celui de l’image, est choisi en fonction du domaine de calcul de
ϕf g(k, l) ;
– soit de remplacer dans l’expression (2.3.1) le diviseur N 2 par la valeur variable M qui
d´epend de k et l selon la relation : M = (N
k
)(N
|
−|
l
).
|
−|
2.3.1 Application `a la reconnaissance d’empreintes digitales
Les fonctions d’intercorr´elation bidimensionnelles peuvent ˆetre utilis´ees en reconnaissance
d’images. La comparaison de l’empreinte digitale d’un suspect avec celles contenues dans un
fichier en est un exemple. les deux images repr´esent´ees ci-dessous repr´esentent les empreintes
digitales de deux individus que nous appellerons F et G.
24
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
Les caract´eristiques g´en´erales de ces deux images sont donn´ees dans le tableau suivant :
Format
Codage en niveaux de gris
Moyenne µ
´Ecart type σ
Individu F
256 x 256
0 `a 255
132,8
33,8
Individu G
256 x 256
0 `a 255
127
36,4
Les valeurs des deux images sont centr´ees et r´eduites. Pour ´eviter les effets de bords, l’in-
tercorr´elation est r´ealis´ee entre deux zones carr´ees de 151 x 151 pixels (voir figure ci-dessous)
La fonction est estim´ee dans la gamme
20
−
≤
k, l
≤
20 grˆace `a la formule suivante
ϕf g(k, l) =
1
1512
200
!i,j=50
fc(i, j)gc(i
k, j
l) .
−
−
(2.3.2)
La repr´esentation 3D `a gauche dans la figure ci-dessous est celle de la fonction d’autocorr´elation
ϕf g(k, l) effectu´ee sur l’empreinte F . Son maximum est´egal `a 1 au centre du graphique qui cor-
respond ici `a la position k = l = 0. La repr´esentation de droite est la fonction d’intercorr´elation
entre les empreintes F et G.
2.3. CORR ´ELATION D’IMAGES NUM ´ERIQUES
25
Ses valeurs ne d´epassent pas 0.15 ce qui prouve que les deux empreintes ne sont pas iden-
tiques.
Dans la r´ealit´e, les empreintes ne sont pas toutes obtenues dans les mˆemes conditions de
positionnement. Il est n´ecessaire d’ajouter un parametre de rotation d’image a la fonction d’in-
tercorr´elation ce qui peut alourdir consid´erablement les calculs.
2.3.2 Application `a l’analyse de la texture d’une image
Par d´efinition la texture d’une image est la structure spatiale sur laquelle sont organis´es les
pixels. Les relations structurelles peuvent ˆetre :
– d´eterministes : c’est le cas de la r´ep´etition quasi p´eriodique d’un motif de base (brique,
carrelage, mailles de tissu ... ) ;
– al´eatoires : il n’y a pas de motif de base (sable, mur cr´epi...)
La fonction d’autocorr´elation bidimensionnelle est bien adapt´ee pour mettre en ´evidence les
propri´et´es de la texture d’une image. La figure suivante repr´esente deux exemples de texture.
Nous donnons ci-dessous la fonction d’auto-corr´elation des textures « sable » et « tissu ».
26
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
2.4 Transformation de Hough
[,a transformation de Hough est utilis´ee pour d´etecter de mani`ere syst´ematique la pr´esence
de relations structurelles sp´ecifiques entre des pixels dans une image Par exemple une image
repr´esentant un site urbain est compos´ee de nombreuses lignes droites (immeubles, fenˆetres)
en revanche, une vue de campagne en est quasiment d´epourvue .
Hough propose une m´ethode de d´etection bas´ee sur une transformation d’image permet-
tant la reconnaissance de structures simples (droite, cercle, ... ) liant des pixels entre eux. Pour
limiter la charge de calcul, l’image originale est pr´ealablement limit´ee aux contours des objets
puis binaris´ee (2 niveaux possibles pour coder l’intensit´e pixel).
2.4.1 Principe de la m´ethode pour la recherche de ligne droite
Supposons que l’on suspecte la pr´esence d’une droite ∆ reliant un certain nombre de pixesl
Pi. Soit le pixel P1 de coordonn´ees (x1, y1). Une infinit´e de droites d’´equation : y1 = ax1 + b
peuvent passer par P1. Cependant, dans le plan des param`etres ab l’´equation qui s’´ecrit b =
ax1 + y1 devient une droite unique D1 (voir figures ci-dessous).
−
Un second pixel P2 = (x2, y2) permet de d´efinir une seconde droite D2 du type b =
ax2+y2
dans le plan ab.L’intersection de D2 avec D1 fournit le couple "a", b") qui sont les param`etres
−
2.4. TRANSFORMATION DE HOUGH
27
de la droite recherch´ee ∆ dans le plan image. Ainsi, tous les pixels Pi qui sont align´es sur ∆
poss`ede une droite Di dnas le plan ab qui coupe les autres au point particulier (a", b").
2.4.2 Probl`eme pour la recherche de ligne verticale Repr´esentation normale d’une
droite
Dans le plan image, une droite verticale possede des parametres a etb infinis, ce qui ne
permet pas d’exploiter la m´ethode pr´ec´edente. Pour contourner ce probl`eme, on utilise la
repr´esentation normale des droites. Cette repr´esentation, de parametres ρ et θ, ob´eit a l’´equation
Cette ´equation repr´esente le produit scalaire (projection) entre les vecteurs &V =
x cos θ + y sin θ = ρ.
(2.4.3)
cos θ
sin θ
et
+
*
x
y
*
+
−−→OM =
. Ainsi l’ensemble des points M d’une droite se projettent sur un mˆeme vecteur
particulier de coordonn´ees polaires (ρ, θ) . Les cas de droites horizontales et verticales sont
illustr´es ci-dessous :
2.4.3 Transformation de Hough pour la d´etection de droites dans une image binaire
Domaine de variation des param`etres θ et ρ
Il est a noter que si (ρ, θ) sont les parametres d’une droite (
ρ, θ + π) le sont ´egalement. Par
cons´equent l’intervalle [0,π [correspond au domaine de variation complet du param`etre θ. Les
coordonn´ees cart´esiennes x et y des pixels d’une image num´erique sont g´en´eralement positives,
l’origine ´etant plac´ee `a un sommet de l’image. En consid´erant une image carr´ee comportant
N pixels, les valeurs de ρ calcul´ees par l’´equation (2.4.3) peuvent ˆetre major´ees par √2N .
N
−
×
Quadrillage du plan θρ
On suspecte dans l’image la pr´esence d’une ou plusieurs structures caract´eris´ees par l’ali-
gnement d’un certain nombre de pixels. Soit les deux intervalles [θmin,θ max] dans lesquels on
cherche a calculer les parametres de la repr´esentation normale d’une ou plusieurs droites.
28
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
Le plan θρ limit´e aux intervalles de recherche, est subdivis´e en cellules par quantification
des param`etres θ et ρ avec les pas respectifs ∆θ et ∆ρ (indexation par les indices p et q). La
figure ci-dessous donne un exemple de quadrillage du plan θρ. Un tableau A(p, q) dont les
valeurs sont initialement mises a z´ero, est associ´e a ce quadrillage
Proc´edure de transformation
– Pour chaque pixel non nul Pi(xi, yi) de l’image, on balaye l’axe des θ de θmin `a θmax
suivant la trame du tableau et pour chaque θp on r´esout l’´equation (2.4.3) ;
– le r´esultat ρ obtenu est arrondi `a la valeur ρq du tableau la plus proche ;
– si `a la valeur θp correspond la solution ρq la valeur A(p, q) est incr´ement´ee d’une unit´e.
`A la fin de cette proc´edure, A(p, q) = M signifie que M points de l’image sont align´es sur
la droite de parametres approximatifs (θp,ρ q). Apres transformation compl`ete, le tableau peut
ˆetre repr´esent´e sous la forme d’une image en niveaux de gris (exemple plus loin) ou celle d’un
graphique 3D. La d´ecision sur la d´etection de droites peut ˆetre prise apr`es recherche des coor-
donn´ees des valeurs significatives du tableau.
La charge de calcul n´ecessaire pour r´ealiser la transformation de Hough est importante. Elle
d´epend du nombre de param`etres recherch´es :
- recherche de droites : 2 param`etres ;
- recherche de cercles : 3 param`etres.
Exemple pour la recherche de droite : pour N pixels non nuls de l’image binaire et K sub-
divisions de l’axe θ. il y a N K d´eterminations de l’´equation (2.4.3). Une r´eduction du temps
de calcul peut ˆetre obtenue par l’utilisation de tables pr´eenregistr´ees des conversions sin θp et
cos θp
Exemple
Nous consid´erons dans cet exemple une image binaire comportant 6 x 6 pixels dont les
valeurs sont donn´ees dans le tableau suivant
2.4. TRANSFORMATION DE HOUGH
29
Deux droites ∆1 et ∆2 comportant chacune 6 pixels align´es apparaissent clans cette image.
La proc´edure de calcul d´ecrite au paragraphe pr´ec´edent est utilis´ee avec les param`etres sui-
vants : θp varie de 0 `a 180o par pas de 1o.
Plus g´en´eralement si on consid`ere une image de taille N1×
1)2 + (N2 −
1)2. Si on discr´etise l’espace de Hough avec une r´esolution de
et ρmax =
hθ (par exemple 1o) pour θ et une r´esolution de hρ pour ρ le tableau de r´ef´erence est donn´e par
1)2 + (N2 −
N2, ρmin =
(N1 −
(N1 −
,
−
,
1)2
θp =
90 + phθ avec p
−
0, Nθ}
Publicité
et
∈{
−
90 + Nθhθ = 90 ,
ρq = ρmin + qhρ avec q
0, Nρ}
∈{
et ρmin + Nρhρ = ρmax.
Le programme it´eratif suivant permet le calcul de la transformation de Hough :
Mi,j sont les valeurs binaires de l’image originale : Mi,j ∈{
Pour p de 1 `a Nθ
0, 1
}
Pour q de 1 `a Nρ
Ap,q = 0
Pour i de 1 `a N1
Pour j de 1 `a N2
Pour p de 1 `a Nθ
p
q = Arrondi
i cos
180
= 0
Ap,q = Ap,q + 1 si Mi,j ’
.
-
1
hρ
(
π
+ j sin
/
.
p
180
π
−
/)
ρmin
0
30
CHAPITRE 2. TRAITEMENT PONCTUEL DES IMAGES NUM ´ERIQUES
Le mˆeme type de programme appliqu´e `a l’image binaire (64
64) donne le r´esultat ci-dessous :
×
Chapitre 3
Filtrage
3.1 Filtrage lin´eaire des signaux 1D
L’exemple le plus courant de signal 1D est le signal sonore.
D´efinition 3.1.1 (Filtre) Un filtre est un syst`eme lin´eaire continu et invariant. En d’autres termes,
ainsi qu’un op´erateur lin´eaire continu, invariant par translation
on se donne deux espaces norm´es
et
:
A
.
X → Y
X
Y
Supposons qu’ on puisse d´efinir la transform´ee de Fourier des signaux d’entr´ee f et de
sortie g (par exemple si ces fonctions sont dans L1(R) ou dans L2(R) et que le signal de sortie
le filtrage de f par un filtre lin´eaire est tel que
ˆg = H ˆf
o `u ˆg d´esigne la transform´ee de Fourier de g. La fonction H est appel´ee fonction de transfert
du filtre. Si la fonction de transfert H est dans L2(R)
L∞(R), elle admet une transform´ee de
1H, born´ee et a d´ecroissance rapide, continue (sauf peut-ˆetre a l’origine)
Fourier inverse h =
et la relation
F −
∩
entraˆıne
ˆg = ˆh ˆf
g = h
f .
∗
La r´eponse `a l’entr´ee f est donc un produit de convolution de l’entr´ee avec une fonction fixe
h que l’on appelle r´eponse impulsionnelle.
D´efinition 3.1.2 On appelle r´eponse indicielle d’un filtre sa r´eponse `a l’´echelon unit´e (fonction de
Heaviside) :
t
h1(t) =
h(s) ds .
&
−∞
31
32
CHAPITRE 3. FILTRAGE
Notons que la plupart des filtres courants sont des filtres de convolution. Il est courant de
d´efinir un filtre par la fac¸on dont il modifie les fr´equences du signal d’entr´ee, c’est-`a-dire par
sa fonction de transfert H(λ) puisque les fr´equences de l’entr´ee f et de la sortie g sont li´ees par
ˆg(λ) = H(λ) ˆf (λ) .
Un filtre id´eal est un filtre qui ´elimine totalement les bandes de fr´equence ind´esirables sans
transition et sans d´ephasage dans les bandes conserv´ees.
Selon la bande rejet´ee, on rencontre 4 grandes cat´egories de filtres.
La r´egion o `u les fr´equences sont coup´ees est en gris ci-dessus. Par exemple le passe-bas id´eal
est le filtre qui ne modifie par les fr´equences λ telles que λ
λc (fr´equence de coupure) et
supprime les autres. D’o `u
≤
H(λ) =
1 si
|≤
0 sinon
λ
|
λc
1
L2(R) telle que ˆh = H. C’est
On reconnaˆıt h
∈
h(t) =
sin 2πλct
πt
.
Si on se limite `a des signaux d’entr´ee d’´energie finie, f, h et H sont dans L2(R) et g = h
sait que g est continue, born´ee et nulle `a l’infini. h
f est dans L2(R) comme ˆf .
f . On
∗
Toutefois un tel filtre n’est pas r´ealisable. On se contente de filtres passe-bas approch´es
(voir ci-dessous un dispositif physique de r´ealisation d’un tel filtre) qui att´enuent les hautes
fr´equences au lieu de les supprimer (voir exercices) et qui entraˆınent un d´ephasage :
∗
3.2. FILTRAGE 2D : CONVOLUTION /M ´EDIAN
33
3.2 Filtrage 2D : convolution /m´edian
Le c´el`ebre format bitmap, qui tire son nom de l’anglais « bitmap » pour « carte de bits »
montre qu’une image est avant tout un domaine spatial sur lequel on peut se promener avec
la souris de l’ordinateur : les distances en pixels dans l’image I sont d`es lors li´ees aux distances
r´eelles en metres dans la scene r´eelle S.
La fr´equence spatiale est un concept d´elicat qui d´ecoule du fait que les images appar-
tiennent au domaine spatial. Pour commencer on peut rappeler que la fr´equence est une gran-
deur qui caract´erise le nombre de ph´enom`enes qui se d´eroulent au cours d’un temps donn´e :
en voiture le long d’une route vous voyez 2 bandes blanches PAR seconde : c’est une fr´equence
temporelle. Il est ensuite facile de comprendre que ce concept de fr´equence « temporelle » peut
aussi se traduire en disant qu’il y a 200 bandes blanches PAR kilom`etre : c’est une fr´equence
spatiale.
Dans une image, les d´etails se r´ep`etent fr´equemment sur un petit nombre de pixels, on dit
qu’ils ont une fr´equence ´elev´ee : c’est le cas pour les bords et les contours dans une image.
Au contraire, les fr´equences basses correspondent a des variations qui se r´epetent peu car,
dilu´ees sur de grandes parties de l’image, par exemple des variations de fond de ciel.
Nous verrons dans la suite que la plupart des filtres agissent s´electivement sur ces fr´equences
pour les s´electionner, en vue de les amplifier ou de les r´eduire.
34
CHAPITRE 3. FILTRAGE
3.2.1 Filtrage spatial
Filtres de convolution
Le filtrage spatial est essentiellement une op´eration de convolution (2D). Si f est l’image `a
filtrer (ou `a rehausser) et g le filtre spatial (ou PSF ou masque) on a :
f (x, y)
∗
g(x, y) =
1
−
F
F
(f (x, y))
· F
(g(x, y))
}
G(u,v)
.
G est la fonction de transfert du filtre. On peut distinguer trois types de filtrage :
2
34
5
Une image num´erique ´etant essentiellement discr`ete (pixels et niveaux de gris) nous allons
pr´esenter les filtres dans le cas discret. Dans tout ce qui suit x et y sont des entiers (coordonn´ees
des pixels) et f est a valeurs entieres (dans
, 255
).
0,
{
· · ·
}
3.2. FILTRAGE 2D : CONVOLUTION /M ´EDIAN
35
On ne fait pas en g´en´eral une convolution globale mais une transformation bas´ee sur le
voisinage d’un point (x, y) :
Le noyau de convolution du filtre κ est `a support compact inclus dans [x1, x2]
[y1, y2] :
×
g(x, y) = (f
κ)(x, y) =
∗
x2
y2
!i=x1
!j=y1
f (x
i, y
−
−
j)κ(i, j) .
G´en´eralement le filtre est de dimension d impaire et est sym´etrique. Dans ce cas
Publicité
[x1, x2] = [y1, y2] = [
d/2, d/2] ,
−
κ)(x, y) =
(f
∗
1)/2
(d
−
1)/2
(d
−
(d
!i=
−
−
1)/2
(d
!j=
−
−
1)/2
f (x + i, y + j)κ(i, j) .
(3.2.1)
Filtre(i,j)
w2
w5
w8
↑
x
w3 ←
w6 ←
w9 ←
↑
x + 1
w1
w4
w7
x
↑
−
1
1
−
y
y
y + 1
Ici d = 3. On ne filtre pas les bords pour ´eviter des distorsions ; donc κ(0, 0) = w5.
Sur cet exemple on a pr´ecis´ement
g(x, y) = w1f (x
1, y
1) + w2f (x, y
1) + w3f (x + 1, y
1)
−
−
+w4f (x
+w7f (x
−
−
1, y) + w5f (x, y) + w6f (x + 1, y)
1, y + 1) + w8f (x, y + 1) + w9f (x + 1, y + 1) .
−
−
Afin de conserver la moyenne de l’image f , la somme des ´el´ements du filtre est normalis´ee `a
1 :
wi = 1.
!i
36
CHAPITRE 3. FILTRAGE
Un filtre 2D est dit s´eparable s’il est possible de d´ecomposer le noyau de convolution h2D en
deux filtres 1D appliqu´es successivement en horizontal puis en vertical (ou inversement) :
h2D = hV
1D ⊗
hH
1D ,
⊗
d´esigne le produit de convolution. On peut alors traiter s´epar´ement les lignes
o `u le symbole
et les colonnes de l’image.
Pour qu’un filtre 2D soit s´eparable il faut et il suffit que les coefficients de ses lignes et de ses
colonnes soient proportionnels.
Exemple 3.2.1 (Filtres s´eparables )
a b
c
⊗
α
β
γ
=
aα bα cα
aβ bβ cβ
cγ
bγ
aγ
Exemple 3.2.2 (Filtre de moyenne passe -bas )
1
9 ·
1 1 1
1 1 1
1 1 1
1
25 ·
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
Filtre 3 x 3
Filtre 5 x 5
Ce sont des filtres s´eparables.
3.2. FILTRAGE 2D : CONVOLUTION /M ´EDIAN
37
Exemple 3.2.3 (Filtre gaussien)
1
16 ·
1 2 1
2 4 2
1 2 1
(6σ +1). En g´en´eral un filtre gaussien
Id´ealement, on devrait pr´evoir un filtre de taille (6σ +1)
avec σ< 1 est utilis´e pour r´eduire le bruit, et si σ> 1 c’est dans le but de fabriquer une image
qu’on va utiliser pour faire un « masque flou » personnalis´e. Il faut noter que plus σ est grand,
plus le flou appliqu´e `a l’image sera marqu´e.
×
Exemple 3.2.4 (Filtre bin ˆomial)
Les coefficients de ce filtre sont obtenus par le binˆome de Newton. Un filtre 1D binˆomial d’ordre 4
(1 4 6 4 1). Un filtre 2D binˆomial d’ordre 4 est donn´e
est un filtre s´eparable donn´e par le vecteur v =
par v"v :
1
16
1
256 ·
4
4
1
1
6
4 16 24 16 4
6 24 36 24 6
4 16 24 16 4
1
6
1
4
4
Filtres m´edians
Ce ne sont pas des filtres de convolution, ni des filtres lin´eaires.
g(x, y) = m´edian
{
f (n, m)
|
(n, m)
∈
S(x, y)
,
}
o `u S(x, y) est un voisinage de (x, y).
38
Exemple :
CHAPITRE 3. FILTRAGE
20
10
30
10 250 25
30
25
20
→
10 10 20 20
25
25 30 30
↑
m´ediane
bruit
↓
250
On remplace la valeur du pixel par la valeur m´ediane ou la valeur moyenne. Ce filtre est utile
pour contrer l’effet « Poivre et Sel » (P& S) c’est-`a-dire des faux « 0 » et « 255 » dans l’image.
Image bruit´ee « Poivre et Sel »
3.2. FILTRAGE 2D : CONVOLUTION /M ´EDIAN
39
Filtre de moyenne : rayon 3
Filtre de moyenne : rayon 5
Filtre de moyenne : rayon 7
Filtre m´edian : rayon 3
Filtre m´edian : rayon 5
40
CHAPITRE 3. FILTRAGE
Si le bruit P& S est sup´erieur `a la moiti´e de la dimension du filtre, le filtrage est inefficace.
Filtre m´edian : rayon 7
Filtres passe-haut
L’image obtenue par un filtre passe-haut correspond en g´en´eral a ce qui « reste » apres un
filtrage passe-bas.
3.2. FILTRAGE 2D : CONVOLUTION /M ´EDIAN
41
3.2.2 Filtrage fr´equentiel
Transformation de Fourier 2D
Avant d’envisager le...