Quelques méthodes mathématiques pour le traitement d'image

Page 1 sur 110Lecteur de document UniversityLib

Quelques méthodes mathématiques pour le traitement d'image

Image Processing and Mathematical Analysis · course

Voir tous les documents en mathématiques

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

(

π

+ 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β

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