u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée...

20
Sujets – Détection des contours et arêtes – Dérivée première (gradient) – Dérivée seconde * Laplacien * Laplacien de la gaussienne – Filtre de Canny Lectures: Notes de cours MAP-6014 Concepts avancés en mathématiques et informatique appliquées

Transcript of u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée...

Page 1: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Sujets– Détection des contours et arêtes

– Dérivée première (gradient)

– Dérivée seconde* Laplacien

* Laplacien de la gaussienne

– Filtre de Canny Lectures: Notes de cours

MAP-6014Concepts avancés en mathématiques et informatique

appliquées

Page 2: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Figure 7.4 [rf. GONZALEZ, p. 417]

Détection des contours et arêtes    (basée sur les dérivées)

00 FF 00

( b)(a)

ImageImage

prof il d’uneligne

horizontale(dérivée

première)(dérivée seconde)

Page 3: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Dérivée première (gradient)

Dérivée basée sur une différence finie

Voir la forme du filtre de Prewitt

Page 4: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Figure 7.6 [rf. GONZALEZ, p. 421]

Dérivée première (gradient)

-1

1

-2

2

-1

1

000 | Gy |

1

1

0

0

-1

-1

20-2 | Gx |

| Gx | + | Gy |

Page 5: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Dérivée seconde (Laplacien)

Le calcul du laplacien découle de la forme suivante:

2

2

2

22

y

f

x

ff

La forme digitale est donnée par:

0

0

-1

-1

0

0

-14-1

z3

z9

z2

z8

z1

z7

z6z5z4 )(4 864252 zzzzzf

• Cette méthode est sensible au bruit

Page 6: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Dérivée seconde (Laplacien)

Le laplacien de la gaussienne permet de corriger les problèmes de sensibilité au bruit de la méthode du laplacien

Le laplacien de la gaussienne prend la forme:

gfgfgf ''''')'(

Page 7: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Dérivée seconde (Laplacien)

Nous utilisons la forme:

222

22

2

4

2

2

21

1),,(

''

jir

er

jiLG

LGfgfr

Page 8: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Figure 7.8 [rf. GONZALEZ, p. 423]

Dérivée seconde    (Laplacien de la gaussienne)

Page 9: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Figure 7.8 [rf. GONZALEZ, p. 423]

Dérivée seconde    (Laplacien de la gaussienne)

222

22

2

4

2

2

21

1),,(

''

jir

er

jiLG

LGfgfr

Page 10: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Dérivée seconde (Laplacien)

Le résultat de la convolution f *g’’ est la dérivée seconde de l’image

Il faut alors localiser les passages par zéro de la dérivée de l’image pour permettre la localisation des contours dans l’image

Pour localiser les passages par zéros nous utilisons une petite fenêtre de 1 X 2 pour localiser les passa-ges par zéros verticaux et une de 2 X 1 pour ceux horizontaux

Page 11: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Dérivée seconde (Laplacien)

Par la suite nous parcourons l’image des dérivées secondes et effectuons les tests suivants:

i

j j+1

ii+1

j

SI ((((f*g’’)(i,j) > 0) ET ((f*g’’)(i,j+1) < 0)) OU (((f*g’’)(i,j) < 0) ET ((f*g’’)(i,j+1) > 0))) ALORS

Passage par zéro (contour vertical)

SI ((((f*g’’)(i,j) > 0) ET ((f*g’’)(i+1,j) < 0)) OU (((f*g’’)(i,j) < 0) ET ((f*g’’)(i+1,j) > 0))) ALORS

Passage par zéro (contour horizontal)

Page 12: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Figure 2-12 [rf. MARR, p. 58]

Laplacien de la gaussienne (exemples)

Convolution de l’image avec{Laplacien de G} où w2-D = 8

(0 apparaissant en gris)

Image originale(320 X 320 pixels)

Convolution de l’image avec{Laplacien de G} où w2-D = 8

(valeurs positives en blancet négatives en noir)

Convolution de l’image avec{Laplacien de G} où w2-D = 8

(montre seulement les passages par 0 en noir)

Page 13: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

/u/dmatensr/meunier/images/riviere.rast

Exemple de détection de contours

Page 14: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Filtre de Canny

Étape 1: Calcul des dérivées Horizontale et Verticale

d I(x,y)/dx

d I(x,y)/dy

Page 15: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Filtre de Canny

Étape 2: Calcul de l’amplitude du gradient et l’orientation

mag(I(x,y)) = ((d I(x,y)/dx)2 + (d I(x,y)/dy)2)1/2

= tg-1(d I(x,y)/dy / d I(x,y)/dx)

Amplitude du Gradient

est l’orientation dela normale au contour: Significatif seulement

quand I(x,y) est non nul (proche du contour)

Page 16: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Filtre de Canny Étape 3: Éliminer les pixels ne correspondant pas à des maximas:

– Un pixel a une réponse maximale si ces deux voisins selon l’axe de la normale ont une réponse inférieure

Étape 4: Seuillage par hystérésis– a) Si mag(I(x,y)) > Seuil 1

1 pixel de contour– b) Suivre le contour

TTQ mag(I(x,y)) > Seuil 2– Produit des contours assez continus– Seuil 1 est souvent fixé à 2 * Seuil 2

• Les pixel non-max sont mis à 0

Page 17: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Filtre de Canny Exemple d’utilisation du filtre de Canny (Utilisation de la

fonction cvCanny() dans OpenCV)

Page 18: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Filtre de Canny

Exemple: edge.c dans le dossier C:\Program Files\OpenCV\samples\c de OpenCV

Seuil 1 Seuil 2 DimSobel

Page 19: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Filtre de Canny

Résultats

Page 20: u Sujets –Détection des contours et arêtes –Dérivée première (gradient) –Dérivée seconde *Laplacien *Laplacien de la gaussienne –Filtre de Canny u Lectures:

Résumé

Segmentation des images par détection de contours et d’arêtes– Dérivée première (gradient)

– Dérivée seconde* Laplacien

* Laplacien de la gaussienne

– Filtre de Canny