20.04.2015 Views

FiltrageMSICvSeptemb.. - Aymeric Histace

FiltrageMSICvSeptemb.. - Aymeric Histace

FiltrageMSICvSeptemb.. - Aymeric Histace

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Traitement dImage :<br />

Filtrage d’image<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

1<br />

Plan<br />

n 1. Rappel<br />

n 2. Problématique du filtrage<br />

n 3. Filtres de lissage<br />

n 4. Filtres dérivateurs<br />

n 5. Transformée de Hough<br />

n 6. Restauration : initiation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

2<br />

1


Plan<br />

n 1. Rappel<br />

n 2. Problématique du filtrage<br />

n 3. Filtres de lissage<br />

n 4. Filtres dérivateurs<br />

n 5. Transformée de Hough<br />

n 6. Restauration : initiation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

3<br />

1. Rappel<br />

n L'échantillonnage est le procédé de discrétisation<br />

spatiale d'une image consistant à associer à chaque<br />

zone rectangulaire R(x,y) d'une image continue une<br />

unique valeur I(x,y).<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

4<br />

2


1. Rappel<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

5<br />

1. Outils fondamentaux (Rappel)<br />

n La convolution :<br />

q<br />

Soit I une image numérique et h une fonction de [x 1 ,x 2 ] x<br />

[y 1 ,y 2 ] à valeurs réelles.<br />

q La convolution discrète de I par h est définie par :<br />

( I * h)[<br />

x,<br />

y]<br />

x<br />

2<br />

∑ ∑<br />

= 2 1<br />

y<br />

i= x j=<br />

y<br />

1<br />

h(<br />

i,<br />

j).<br />

I[<br />

x − i,<br />

y −<br />

j]<br />

<strong>Aymeric</strong> <strong>Histace</strong> 6<br />

3


1. Outils fondamentaux (Rappel)<br />

n La convolution :<br />

q Propriétés de la convolution :<br />

n Commutativité ;<br />

n Associativité ;<br />

n<br />

Distributivité.<br />

Les nouvelles valeurs du pixel sont calculées par produit scalaire<br />

entre le noyau de convolution et le voisinage correspondant du pixel.<br />

<strong>Aymeric</strong> <strong>Histace</strong> 7<br />

1. Outils fondamentaux (Rappel)<br />

n La convolution :<br />

Pour calculer une<br />

convolution, on remplace la<br />

valeur de chaque pixel par<br />

la valeur du produit<br />

scalaire entre les valeurs<br />

du noyau de convolution et<br />

les valeurs du voisinage du<br />

pixel considéré (par rapport<br />

à l'origine (0,0) du noyau<br />

de convolution).<br />

<strong>Aymeric</strong> <strong>Histace</strong> 8<br />

4


1. Outils fondamentaux (Rappel)<br />

n La transformée de Fourier<br />

q<br />

TF discrète bidimensionnelle directe<br />

F[<br />

u,<br />

v]<br />

=<br />

w<br />

∑∑<br />

− 1 h−1<br />

x=<br />

0 y=<br />

0<br />

f [ x,<br />

y]<br />

e<br />

−2iπ<br />

( ux+<br />

vy )<br />

wh<br />

q<br />

TF discrète bidimensionnelle inverse<br />

1<br />

f [ x,<br />

y]<br />

=<br />

wh<br />

w<br />

∑∑<br />

− 1 h−1<br />

u=<br />

0 v=<br />

0<br />

F[<br />

u,<br />

v]<br />

e<br />

2iπ<br />

( ux+<br />

vy )<br />

wh<br />

<strong>Aymeric</strong> <strong>Histace</strong> 9<br />

1. Outils fondamentaux (Rappel)<br />

n La transformée de Fourier<br />

<strong>Aymeric</strong> <strong>Histace</strong> 10<br />

5


Plan<br />

n 1. Rappel<br />

n 2. Problématique du filtrage<br />

n 3. Filtres de lissage<br />

n 4. Filtres dérivateurs<br />

n 5. Transformée de Hough<br />

n 6. Restauration : initiation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

11<br />

2. Filtrage dimage<br />

n Le filtrage dimage a pour but :<br />

q Datténuer leffet du bruit dacquisition sur une<br />

image.<br />

q Extraire des caractéristiques de limage<br />

(contours).<br />

q Améliorer le contraste dune image.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

12<br />

6


2. Filtrage dimage<br />

n En termes de filtrage, on distinguera 2 grands types<br />

de filtre :<br />

q<br />

Les filtres de lissage (atténuation du bruit)<br />

q<br />

Les filtres dérivateurs (extraction des contours,<br />

rehaussement de contraste)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

13<br />

Plan<br />

n 1. Rappel<br />

n 2. Problématique du filtrage<br />

n 3. Filtres de lissage<br />

n 4. Filtres dérivateurs<br />

n 5. Transformée de Hough<br />

n 6. Restauration : initiation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

14<br />

7


3. Filtre de lissage<br />

n<br />

n<br />

On s'intéresse ici aux techniques d'amélioration des images<br />

numériques, pour augmenter la qualité de leur rendu visuel, ou pour<br />

faciliter leur analyse.<br />

On cherche donc à atténuer, sinon supprimer une certaine dégradation.<br />

n On distinguera ici :<br />

q<br />

les dégradations liées au bruit : g(x) = f(x)+b(x) ou g(x) = f(x)b(x) liées au<br />

capteur, à la quantification, à la transmission... On les traite en tirant parti<br />

des informations locales par le filtrage.<br />

q<br />

les dégradations convolutives : g(x) = f(x)∗b(x) liées à un mouvement du<br />

capteur ou un défaut de mise au point. On les traite en inversant un<br />

opérateur linéaire, donc supposé connu : ce sont les techniques dites de<br />

restauration.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

15<br />

3. Filtre de lissage<br />

n Exemples :<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

16<br />

8


3. Filtre de lissage<br />

n<br />

Les filtres de lissage sont des opérateurs qui éliminent<br />

des éléments pertubateurs / non significatifs dans les<br />

images numériques,<br />

q<br />

soit pour améliorer leur visualisation,<br />

q<br />

soit pour les simplifier en but d'un traitement postérieur.<br />

Bruit<br />

gaussien<br />

Bruit<br />

impulsionnel<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

17<br />

3. Filtre de lissage<br />

n<br />

On distingue 3 grands types de filtres de lissage<br />

q<br />

(1) Filtrage dans le domaine de Fourier<br />

q<br />

(2) Filtrage par convolution<br />

q<br />

(3) Filtres non linéaires<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

18<br />

9


3. Filtre de lissage<br />

n<br />

Filtrage passe-bas dans le domaine de Fourier<br />

q<br />

Le filtrage passe-bas est la multiplication dans le domaine<br />

fréquentiel par une fonction porte (fonction indicatrice d'un<br />

intervalle [-u max ,u max ]×[-v max ,v max ]).<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

19<br />

3. Filtre de lissage<br />

n<br />

Filtrage passe-bas dans le domaine de Fourier<br />

TF -1<br />

TF<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

20<br />

10


3. Filtre de lissage<br />

n<br />

Filtrage coupe-bande dans le domaine de Fourier<br />

TF -1<br />

TF<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

21<br />

3. Filtre de lissage<br />

n<br />

Filtrage par convolution<br />

q La multiplication dans le domaine fréquentiel<br />

correspond à la convolution dans le domaine spatial.<br />

q Un grand nombre de filtres de lissage peut être obtenu<br />

à partir de noyaux de convolution symétriques et<br />

normalisés (de somme égale à 1).<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

22<br />

11


3. Filtre de lissage<br />

n<br />

Filtrage par convolution<br />

Les trois types de filtres les plus utilisés sont :<br />

n<br />

n<br />

n<br />

Les filtres moyenneurs<br />

Les filtres gaussiens<br />

Les filtres exponentiels<br />

1<br />

h(<br />

x,<br />

y)<br />

=<br />

2<br />

λ<br />

h<br />

2 2<br />

( x + y )<br />

1 −<br />

2<br />

2σ<br />

( x,<br />

y)<br />

= e<br />

2<br />

2πσ<br />

2<br />

γ<br />

h(<br />

x,<br />

y)<br />

= e<br />

4<br />

−γ<br />

( x + y )<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

23<br />

3. Filtre de lissage<br />

n<br />

Filtrage par convolution : réponse impulsionnelle<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

24<br />

12


3. Filtre de lissage<br />

n<br />

Filtrage par<br />

convolution :<br />

exemples<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

25<br />

3. Filtre de lissage<br />

n<br />

Implantation des filtres de lissage linéaires<br />

q<br />

En traitement d'images, les volumes de données traités sont bien<br />

sûr très importants.<br />

q<br />

La prise en compte du temps de calcul reste un élément majeur<br />

dans les algorithmes en dépit des progrès technologiques<br />

exponentiels des microprocesseurs.<br />

q<br />

L'implantation des filtres linéaires, en particulier ceux dont le<br />

support est grand, voire infini, est un problème incontournable.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

26<br />

13


3. Filtre de lissage<br />

n<br />

Implantation des filtres de lissage linéaires<br />

q Les méthodes les plus courantes sont :<br />

n<br />

Multiplication dans le domaine de Fourier (La convolution devient une<br />

multiplication)<br />

n<br />

Convolution par noyau tronqué<br />

n<br />

Noyaux séparables<br />

n<br />

Implantation récursive des filtres RII<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

27<br />

3. Filtre de lissage<br />

n<br />

Inconvénients des filtres de lissage linéaires<br />

q<br />

Par convolution : effet de bord<br />

q<br />

Dégradation des contours de limage<br />

q Inefficace sur les bruits de type impulsionnel (« salt and pepper »)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

28<br />

14


3. Filtre de lissage<br />

n<br />

Filtres non linéaires<br />

q<br />

Deux aspects du lissage sont concernés par le filtrage non<br />

linéaire :<br />

n<br />

Le bruit impulsionnel : les filtres linéaires éliminent mal les<br />

valeurs aberrantes.<br />

n<br />

L'intégrité des frontières : on souhaiterait éliminer le bruit sans<br />

rendre flou les frontières des objets.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

29<br />

3. Filtre de lissage<br />

n<br />

Filtres non linéaires<br />

q Les principaux filtres non linéaires sont :<br />

n<br />

Les filtres dordre (médian en particulier)<br />

n<br />

Les filtres morphologiques<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

30<br />

15


3. Filtre de lissage<br />

n<br />

Filtres dordre<br />

q<br />

Les filtres d'ordres procèdent en remplaçant les valeurs de<br />

chaque pixel par la valeur qui occupe un certain rang<br />

lorsqu'on trie les valeurs observées dans un certain<br />

voisinage du pixel.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

31<br />

3. Filtre de lissage<br />

n<br />

Filtres dordre : principe<br />

q Les valeurs dans le voisinage de (x,y) :<br />

V ( x,<br />

y)<br />

= [ a1,<br />

a2,...,<br />

an]<br />

q<br />

Permutation des valeurs dans lordre croissant<br />

V x,<br />

y)<br />

= [ b , b ,..., b<br />

p<br />

(<br />

1 2 k<br />

]<br />

q Le filtre d'ordre de rang k est alors défini par :<br />

ρ ( x , y)<br />

=<br />

k<br />

b k<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

32<br />

16


3. Filtre de lissage<br />

n<br />

Filtres dordre : exemples<br />

q<br />

Pour k=N/2, on parle de filtre médian<br />

q<br />

Pour k=1, on parle dérosion morphologique<br />

q<br />

Pour k=N, on parle de dilatation morphologique<br />

n<br />

Lélément structurant de voisinage na pas<br />

nécessité à être carré<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

33<br />

3. Filtre de lissage<br />

n<br />

Filtres dordre : filtre médian<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

34<br />

17


3. Filtre de lissage<br />

n<br />

Filtres dordre : filtre médian<br />

Effet de bloc<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

35<br />

3. Filtre de lissage<br />

n<br />

Filtres dordre : érosion et dilatation<br />

Erosion<br />

Dilatation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

36<br />

18


3. Filtre de lissage<br />

n<br />

Filtres morphologiques<br />

q Il existe deux grands types de filtres morphologiques :<br />

n<br />

Le filtre douverture<br />

n<br />

Le filtre de fermeture<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

37<br />

3. Filtre de lissage<br />

n<br />

Ouverture et fermeture<br />

q<br />

L'ouverture morphologique sobtient par la<br />

composition d'une érosion suivie d'une dilatation.<br />

q<br />

La fermeture morphologique est l'opération duale<br />

de l'ouverture : Elle est égale à la composition<br />

d'une dilatation suivie d'une érosion.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

38<br />

19


3. Filtre de lissage<br />

n<br />

Ouverture et fermeture<br />

q Visuellement :<br />

n<br />

L'ouverture élimine les petites composantes, et<br />

ouvre les petits isthmes.<br />

n<br />

La fermeture bouche les petites trous, et ferme les<br />

petits détroits.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

39<br />

3. Filtre de lissage<br />

n Ouverture et fermeture ?<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

40<br />

20


3. Filtre de lissage<br />

n Ouverture et fermeture ?<br />

q<br />

Le choix du voisinage est important<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

41<br />

Plan<br />

n 1. Rappel<br />

n 2. Problématique du filtrage<br />

n 3. Filtres de lissage<br />

n 4. Filtres dérivateurs<br />

n 5. Transformée de Hough<br />

n 6. Restauration : initiation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

42<br />

21


4. Filtres dérivateurs<br />

n<br />

Le modèle différentiel<br />

q<br />

Au premier ordre, on<br />

peut ainsi associer à<br />

chaque point (x,y) un<br />

repère propre (t,g), où le<br />

vecteur t donne la<br />

direction de l'isophote<br />

(ligne de variation<br />

minimale) et g la<br />

direction orthogonale,<br />

celle du gradient.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

43<br />

4. Filtres dérivateurs<br />

n<br />

Les variations locales d'intensité constituent une source<br />

primordiale d'information en traitement d'images.<br />

n<br />

Elles sont mesurées par le gradient, fonction vectorielle<br />

des pixels [i,j] :<br />

⎛⎛ ∂f<br />

∂f<br />

⎞⎞<br />

∇ f [ i,<br />

j]<br />

= ⎜⎜ [ i,<br />

j],<br />

[ i,<br />

j]<br />

⎟⎟<br />

⎝⎝ ∂x<br />

∂y<br />

⎠⎠<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

44<br />

22


4. Filtres dérivateurs<br />

n<br />

D'autres grandeurs différentielles sont utilisées en traitement<br />

d'images, comme le laplacien, fonction scalaire de [i,j] :<br />

2<br />

2<br />

[ ∂ f ∂ f<br />

Δf<br />

i,<br />

j]<br />

= [ i,<br />

j]<br />

+ [ i,<br />

j]<br />

2<br />

∂x<br />

∂y<br />

2<br />

n ou encore le hessien, fonction matricielle de [i,j] :<br />

H f<br />

2<br />

⎛⎛ ∂ f<br />

⎜⎜ [ i,<br />

j]<br />

2<br />

⎜⎜ ∂x<br />

[ i,<br />

j]<br />

=<br />

⎜⎜<br />

2<br />

∂ f<br />

⎜⎜ [ i,<br />

j]<br />

⎝⎝ ∂x∂y<br />

2<br />

∂ f ⎞⎞<br />

[ i,<br />

j]<br />

⎟⎟<br />

∂x∂y<br />

⎟⎟<br />

2<br />

∂ f ⎟⎟<br />

[ i,<br />

j]<br />

2 ⎟⎟<br />

∂y<br />

⎠⎠<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

45<br />

4. Filtres dérivateurs<br />

n<br />

Le problème du calcul des filtres dérivateurs dans les images<br />

numériques est l'approximation de ces grandeurs<br />

différentielles dans notre espace discret<br />

n<br />

On s'intéresse aussi à leur utilisation dans le cadre du<br />

rehaussement, et de la détection de contours,...<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

46<br />

23


4. Filtres dérivateurs<br />

n Exemples :<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

47<br />

4. Filtres dérivateurs<br />

n Exemples :<br />

q<br />

Limplantation de ces filtres peut se faire comme<br />

précédemment soit dans le domaine fréquentiel<br />

(filtrage passe-haut par exemple)<br />

q<br />

Soit par convolution directe.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

48<br />

24


4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 1<br />

n<br />

Les approximations les plus simples des dérivées<br />

directionnelles se font par différences finies calculées par<br />

convolution avec des noyaux très simples :<br />

∂f<br />

∂x<br />

[−1,1]<br />

∂f<br />

∂y<br />

⎡⎡−1⎤⎤<br />

⎢⎢ ⎥⎥<br />

⎣⎣ 1 ⎦⎦<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

49<br />

4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 1<br />

n On utilise plus souvent :<br />

∂f<br />

∂x<br />

[−1,0,1]<br />

∂f<br />

∂y<br />

⎡⎡−1⎤⎤<br />

⎢⎢ ⎥⎥<br />

⎢⎢<br />

0<br />

⎥⎥<br />

⎢⎢⎣⎣<br />

1 ⎥⎥⎦⎦<br />

Ces noyaux permettent en effet dobtenir des contours<br />

plus épais mais bien centrés<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

50<br />

25


4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 1<br />

n<br />

Ces opérations étant très sensibles au bruit, on les combine<br />

en général avec un filtre lisseur dans la direction orthogonale<br />

à celle de dérivation<br />

n par exemple par le noyau suivant (ou sa transposée) :<br />

[1,2,1]<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

51<br />

4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 1<br />

n<br />

Le calcul des dérivées directionnelles en x et en y revient<br />

finalement à la convolution avec les noyaux suivants :<br />

f ( i,<br />

j)<br />

= ( f * h )[ i,<br />

j]<br />

x<br />

f ( i,<br />

j)<br />

= ( f * h )[ i,<br />

j]<br />

y<br />

x<br />

y<br />

avec<br />

h x<br />

⎛⎛ −1<br />

⎜⎜<br />

= ⎜⎜−<br />

2<br />

⎜⎜<br />

⎝⎝ −1<br />

0<br />

0<br />

0<br />

1⎞⎞<br />

⎟⎟<br />

2⎟⎟<br />

1⎟⎟<br />

⎠⎠<br />

h y<br />

⎛⎛−1<br />

⎜⎜<br />

= ⎜⎜ 0<br />

⎜⎜<br />

⎝⎝ 1<br />

− 2<br />

0<br />

2<br />

−1⎞⎞<br />

⎟⎟<br />

0 ⎟⎟<br />

1 ⎟⎟<br />

⎠⎠<br />

n<br />

Ce filtre est connu sous le nom de filtre de Sobel<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

52<br />

26


4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 1<br />

n On peut ensuite calculer la norme du gradient :<br />

∇f<br />

( i,<br />

j)<br />

∇f<br />

( i,<br />

j)<br />

n Et son orientation :<br />

2<br />

1<br />

=<br />

=<br />

2<br />

f ( i,<br />

j)<br />

f ( i,<br />

j)<br />

+ f<br />

x<br />

x<br />

2<br />

+ f ( i,<br />

j)<br />

y<br />

y<br />

( i,<br />

j)<br />

⎛⎛ f<br />

arg( ∇f<br />

( i,<br />

j))<br />

= arctan<br />

⎜⎜<br />

⎜⎜<br />

⎝⎝ f<br />

y<br />

x<br />

( i,<br />

j)<br />

⎞⎞<br />

⎟⎟<br />

⎟⎟<br />

( i,<br />

j)<br />

⎠⎠<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

53<br />

4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 1<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

54<br />

27


4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 1<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

55<br />

4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 2<br />

n On utilise le plus souvent :<br />

2<br />

∂ f<br />

2<br />

∂x<br />

[ 1, −2,1]<br />

2<br />

∂ f<br />

2<br />

∂y<br />

⎡⎡ 1 ⎤⎤<br />

⎢⎢ ⎥⎥<br />

⎢⎢<br />

− 2<br />

⎥⎥<br />

⎢⎢⎣⎣<br />

1 ⎥⎥⎦⎦<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

56<br />

28


4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 2<br />

n<br />

Le Laplacien peut donc être estimé par le noyau suivant<br />

⎛⎛0<br />

⎜⎜<br />

⎜⎜1<br />

⎜⎜<br />

⎝⎝0<br />

1<br />

− 4<br />

1<br />

0⎞⎞<br />

⎟⎟<br />

1⎟⎟<br />

0⎟⎟<br />

⎠⎠<br />

4-connexité<br />

⎛⎛1<br />

⎜⎜<br />

⎜⎜1<br />

⎜⎜<br />

⎝⎝1<br />

1<br />

−8<br />

1<br />

1⎞⎞<br />

⎟⎟<br />

1⎟⎟<br />

1⎟⎟<br />

⎠⎠<br />

8-connexité<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

57<br />

4. Filtres dérivateurs<br />

n<br />

Implantation par convolution<br />

q Dérivées directionnelles dordre 2<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

58<br />

29


4. Filtres dérivateurs<br />

n<br />

Rehaussement de contraste<br />

q<br />

Lopération de rehaussement de contraste à base de<br />

filtre dérivateur sobtient de la manière suivante :<br />

R f<br />

( i,<br />

j)<br />

= f ( i,<br />

j)<br />

−γ<br />

. Δf<br />

( i,<br />

j)<br />

q<br />

En soustrayant le Laplacien à l'image originale, on<br />

augmente le contraste.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

59<br />

4. Filtres dérivateurs<br />

n<br />

Rehaussement de contraste<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

60<br />

30


4. Filtres dérivateurs<br />

n Filtrage optimal :<br />

q Les dérivations présentées consistent à convoluer<br />

l’image par des masques de petites dimensions.<br />

q Ces approches sont donc dépendantes de la taille<br />

des objets traités, elles sont aussi très sensible au<br />

bruit.<br />

q Un autre type d’approche repose sur la définition de<br />

critères d’optimalité de la détection de contours;<br />

ces critères débouchant sur des filtres optimaux.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

61<br />

4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny<br />

q On se place dans le cas monodimensionnel.<br />

q On suppose que la détection est effectuée en<br />

convoluant le signal par un filtre de réponse<br />

impulsionnel h, les contours étant caractérisés par<br />

les extrema de la sortie du filtre.<br />

q Les contours envisagés ici sont des contours de<br />

types marche et le bruit est supposé blanc (de<br />

moyenne nulle).<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

62<br />

31


4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny<br />

q Les critères d’optimalités sont :<br />

n<br />

détection : le contour doit être détecté, il faut minimiser les<br />

fausses réponses ;<br />

n<br />

localisation : le contour doit être localisé avec précision, il<br />

s’agit de minimiser la distance entre les points détectés et le<br />

vrai contour ;<br />

n<br />

réponse unique : il s’agit de minimiser le nombre de<br />

réponse pour un seul contour.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

63<br />

4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny<br />

q La minimisation de ces critères dans le contexte du<br />

modèle proposé débouche sur une équation<br />

différentielle dont la solution est de la forme :<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

64<br />

32


4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny<br />

q<br />

La réponse impulsionnelle h est très souvent approximée par<br />

une dérivée de Gaussienne :<br />

h(x) ! "xe " x2<br />

2! 2 <strong>Aymeric</strong> <strong>Histace</strong><br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

65<br />

4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny<br />

q<br />

En 2D : application de 2 filtres croisés<br />

h x<br />

(x, y) ! "xe " x2<br />

2! 2 e " y2<br />

2! 2<br />

h y<br />

(x, y) ! "ye " x2<br />

2! 2 e " y2<br />

2! 2<br />

66<br />

33


4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

67<br />

4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny-Deriche<br />

q<br />

Modèle du filtre de Canny avec Réponse Impulsionnelle infinie<br />

(RII)<br />

h(x) = !ce !! x sin("x)<br />

avec<br />

c = (1! e!! 2 )<br />

e !!<br />

(normalisation)<br />

q<br />

Implantation récursive simple en 2D<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

68<br />

34


4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : critère de Canny-Deriche<br />

q<br />

q<br />

q<br />

α joue le rôle d’un facteur d’échelle<br />

α faible : bonne localisation mais peu de robustesse au bruit<br />

α élevé : bonne robustesse mais mauvaise localisation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

69<br />

4. Filtres dérivateurs<br />

n<br />

Filtrage optimal : autres critères<br />

q<br />

Shen-Castan<br />

h(x) = c.sign(x)e !! x<br />

q<br />

Spacek, Petrou<br />

q<br />

…<br />

α joue sur la<br />

largeur du filtre<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

70<br />

35


Plan<br />

n 1. Rappel<br />

n 2. Problématique du filtrage<br />

n 3. Filtres de lissage<br />

n 4. Filtres dérivateurs<br />

n 5. Transformée de Hough<br />

n 6. Restauration initiation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

71<br />

5. Transformée de Hough<br />

5.1 Introduction<br />

n<br />

La transformée de Hough a été développé par Paul Hough en<br />

1962, et a été breveté par IBM.<br />

n<br />

Dans les dernières décennies, la transformée de Hough est<br />

devenu un outils standard dans le domaine de la vision artificielle.<br />

n<br />

Elle permet la détection de droites, de cercles ou d'ellipses de<br />

façon traditionnelle .<br />

n<br />

Elle peut aussi être étendue a des cas de description d'objets plus<br />

complexes.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

72<br />

36


5. Transformée de Hough<br />

5.2 Principe (détection de droite)<br />

n<br />

Une droite est caractérisée par deux paramètres a et b<br />

tels que y = ax+b.<br />

n<br />

La transformée de Hough va permettre de faire un<br />

mapping entre les coordonnées d'un pixel et l'espace<br />

des paramètres (a,b).<br />

n<br />

Pour cela deux tactiques possibles. Soit utiliser la<br />

transformation de 1 à m, soit de m à 1.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

73<br />

5. Transformée de Hough<br />

5.2 Principe (détection de droite)<br />

n<br />

En effet on peut lire l’équation d'une droite de deux<br />

manières :<br />

q Soit par la lecture traditionnelle qui nous indique que y=ax+b :<br />

tous les points (x,y) vérifiant cette équation seront associés au<br />

même couple (a,b) dans l'espace des paramètres (En<br />

l'occurrence, il nous faudra simplement un bipoint pour définir<br />

complétement notre droite).<br />

q<br />

Soit on peut lire b = -ax + y, alors un couple (x,y) de l'image<br />

sera projeté en une droite de l'espace de paramètres (a,b).<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

74<br />

37


5. Transformée de Hough<br />

5.2 Principe (détection de droite)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

75<br />

5. Transformée de Hough<br />

5.2 Principe (détection de droite)<br />

n<br />

Ensuite pour étudier l'existence de droites il faut se pencher sur<br />

l'espace des paramètres.<br />

n<br />

Celui-ci, si tout c'est bien passé, doit présenter des<br />

regroupements traduisant l'existence de l'objet recherché.<br />

n<br />

Une étude des différents maximum doit être alors effectuée. Il faut<br />

savoir à partir de quel moment un regroupement de point est<br />

significatif.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

76<br />

38


5. Transformée de Hough<br />

5.2 Principe (détection de droite)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

77<br />

5. Transformée de Hough<br />

5.2 Principe (détection de droite)<br />

n<br />

Cette étape est en général délicate, le bruit causé par les autres<br />

éléments de l'image peuvent perturber la détection des objets<br />

recherchés.<br />

n<br />

D'autre part si les objets sont trop nombreux on peut aussi avoir<br />

du mal a les repérer.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

78<br />

39


5. Transformée de Hough<br />

5.2 En pratique (détection de droite)<br />

n<br />

1. Appliquer une détection de contours à l’image<br />

n<br />

2. Discrétiser le plan des paramètres (a,b)<br />

n<br />

3. Initialiser un accumulateur<br />

n<br />

4. Pour chaque point sur un contour<br />

q 1. Déterminer sa droite image dans l’espace des paramètres<br />

q 2. Incrémenter l’accumulateur sur les points de cette droite<br />

n<br />

5. Recherche des maxima, i.e. paramètres des droites présentes.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

79<br />

5. Transformée de Hough<br />

5.2 En pratique (détection de droite)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

80<br />

40


5. Transformée de Hough<br />

5.2 En pratique (détection de droite)<br />

n Défauts :<br />

q<br />

L’espace des paramètres doit être borné et discrétisé pour une<br />

implantation réelle<br />

q<br />

Une droite verticale ne peut pas être représentée (a tend vers<br />

l’infini)<br />

n Solution :<br />

q<br />

Utiliser un autre couple de paramètres que (a,b)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

81<br />

5. Transformée de Hough<br />

5.2 L’espace (s,θ) (détection de droite)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

82<br />

41


5. Transformée de Hough<br />

5.2 L’espace (s,θ)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

83<br />

5. Transformée de Hough<br />

5.2 L’espace (s,θ) (droite)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

84<br />

42


5. Transformée de Hough<br />

5.3 Détection de cercle<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

85<br />

5. Transformée de Hough<br />

5.3 Détection de cercle<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

86<br />

43


5. Transformée de Hough<br />

5.3 Détection de cercle :<br />

Application à la détection de polype en videocoloscopie (dépistage<br />

du cancer colorectal)<br />

Exemples d’images acquises<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

87<br />

5. Transformée de Hough<br />

5.3 Détection de cercle :<br />

Application à la détection de polype en vidéocoloscopie (dépistage<br />

du cancer colorectal)<br />

Hough<br />

Détection<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

88<br />

44


5. Transformée de Hough<br />

5.3 Détection de cercle :<br />

Application à la détection de polype en vidéocoloscopie (dépistage<br />

du cancer colorectal)<br />

Detection edge<br />

Hough<br />

Détection<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

89<br />

5. Transformée de Hough<br />

5.3 Détection de cercle :<br />

Application à la détection de polype en vidéocoloscopie (dépistage<br />

du cancer colorectal)<br />

Detection edge<br />

Hough<br />

Détection<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

90<br />

45


5. Transformée de Hough<br />

5.4 Généralisation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

91<br />

5. Transformée de Hough<br />

5.4 Généralisation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

92<br />

46


Plan<br />

n 1. Rappel<br />

n 2. Problématique du filtrage<br />

n 3. Filtres de lissage<br />

n 4. Filtres dérivateurs<br />

n 5. Transformée de Hough<br />

n 6. Restauration initiation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

93<br />

6. Restauration : initiation<br />

n Problématique :<br />

q<br />

On se place dans le cadre où limage est dégradée de<br />

manière convolutive : i(x,y) = b(x,y)∗h(x,y).<br />

q<br />

Ces dégradation sont liées à un mouvement du capteur ou<br />

un défaut de mise au point.<br />

q<br />

On les traite en inversant un opérateur linéaire, donc<br />

supposé connu.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

94<br />

47


6. Restauration : initiation<br />

n Problématique :<br />

q<br />

Dans le domaine spectrale : I(u,v)=B(u,v).H(u,v)<br />

q<br />

On cherche donc une fonction de transfert H(u,v) telle<br />

que :<br />

o ( x,<br />

y)<br />

= i(<br />

x,<br />

y)*<br />

h'(<br />

x,<br />

y)<br />

q<br />

Avec<br />

o( x,<br />

y)<br />

≈ b(<br />

x,<br />

y)<br />

q<br />

Soit<br />

O ( u,<br />

v)<br />

= I(<br />

u,<br />

v).<br />

H'(<br />

u,<br />

v)<br />

= B(<br />

u,<br />

v).<br />

H(<br />

u,<br />

v).<br />

H'(<br />

u,<br />

v)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

95<br />

6. Restauration : initiation<br />

n Problématique :<br />

q<br />

On en conclut donc que H(u,v).H(u,v)=1<br />

q Et que h(x,y) est telle que :<br />

H '( u,<br />

v)<br />

=<br />

1<br />

H(<br />

u,<br />

v)<br />

q<br />

Problèmes : Solution instable si H(u,v)=0<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

96<br />

48


6. Restauration : initiation<br />

n Solution n°1<br />

q On construit H(u,v) de la manière suivante :<br />

1<br />

H'(<br />

u,<br />

v)<br />

=<br />

H(<br />

u,<br />

v)<br />

+ C<br />

q<br />

Avec C une constante positive telle que H(u,v) >> C<br />

q Si H(u,v) tend vers 0 alors H(u,v) tend vers 1/C<br />

(saturation)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

97<br />

6. Restauration : initiation<br />

n Solution n°1<br />

q<br />

Résultat<br />

q<br />

Problème : Artefacts HF très visibles (amplification en 1/C)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

98<br />

49


6. Restauration : initiation<br />

n Solution n°2<br />

q On construit H(u,v) de la manière suivante :<br />

H(<br />

u,<br />

v)<br />

H' ( u,<br />

v)<br />

=<br />

2<br />

H ( u,<br />

v)<br />

+ C<br />

q<br />

Avec C une constante positive telle que H 2 (u,v) >> C<br />

q Si H(u,v) tend vers 0 alors H(u,v) tend vers 0<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

99<br />

6. Restauration : initiation<br />

n Solution n°2<br />

q<br />

Résultat<br />

q<br />

Proche du filtrage optimal<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

100<br />

50


6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q On construit H(u,v) de façon à ce que :<br />

H ( u,<br />

v)<br />

H '( u,<br />

v)<br />

=<br />

2 Φ<br />

H ( u,<br />

v)<br />

+<br />

Φ<br />

nn<br />

bb<br />

q<br />

Φ ab (u,v) étant la TF de la corrélation entre a(x,y) et b<br />

(x,y)<br />

q<br />

n(x,y) représentant un bruit additif détériorant limage<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

101<br />

6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Rappel : fonction de corrélation entre a(x,y) et b(x,y)<br />

q<br />

Φ aa (x,y) : autocorrélation<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

102<br />

51


6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Construction de H(u,v) : on cherche à minimiser une<br />

fonction énergétique caractérisant la qualité de<br />

restauration :<br />

q<br />

Avec d(x,y) limage désirée et o(x,y)=i(x,y)*h(x,y)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

103<br />

6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q Ainsi :<br />

q<br />

Or par définition<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

104<br />

52


6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q Et donc :<br />

q<br />

De plus<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

105<br />

6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q Donc :<br />

q<br />

Or<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

106<br />

53


6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q Enfin :<br />

q<br />

Il sagit du critère à minimiser (voir cours approche<br />

variationnel pour déterminer h(x,y))<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

107<br />

6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Solution (Euler-Lagrange):<br />

q Soit :<br />

ou<br />

Domaine<br />

fréquentielle<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

108<br />

54


6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Solution : Cas du bruit additif<br />

Avec d(x,y) =b(x,y)<br />

q<br />

Donc<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

109<br />

6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Hypothèse : bruit non corrélé aux données<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

110<br />

55


6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Solution : Cas de détériorations convolutive et additive<br />

Avec d(x,y) =b(x,y)<br />

q<br />

Donc<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

111<br />

6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Même hypothèse sur le bruit<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

112<br />

56


6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Résultat (flou)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

113<br />

6. Restauration : initiation<br />

n Filtrage optimal : Filtre de Wiener<br />

q<br />

Résultat (flou+bruit)<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

114<br />

57


Bibliographie<br />

n J.P. Cocquerez et S. Philipp « Analyse d'images : filtrage et segmentation » Masson 1995.<br />

n R.C. Gonzalez et Woods « Digital Image Processing - 2d edition » Addison Wesley 2002.<br />

n A. Rosenfeld et A.C. Kak « Digital picture processing » Academic Press - London 1982.<br />

n H. Maître (ss la direction de) « Le traitement des images » Hermes Lavoisier IC2 2003.<br />

n J.R. Parker « Algorithms for Image Processing and Computer Vision » Wiley & Sons 1997.<br />

n<br />

S. Bres, J.M. Jolion, F. Lebourgeois « Traitement et analyse des images numériques»<br />

Hermes Lavoisier 2003<br />

n I.T. Young, J.J. Gerbrands et L.J. Van Vliet « Fundamentals of Image Processing »<br />

Université de Delft.<br />

http://www.ph.tn.tudelft.nl/~lucas/publications/1995/FIP95TYJGLV/FIP2.2.pdf)<br />

n D. Lingrand « Introduction au Traitement d'images » Vuibert 2004.<br />

<strong>Aymeric</strong> <strong>Histace</strong><br />

115<br />

58

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!