05 contours

Upload: nassim-benselam

Post on 11-Jul-2015

134 views

Category:

Documents


0 download

TRANSCRIPT

Traitement d'imagesDtection de contoursAlain Boucher - IFI

Qu'est-ce qu'un contour ?Un contour est une variation brusque d'intensit

Source : Gluckman & Wong. Computer Vision/Scene Analysis course (CS664). Polytechnic Univ.

2

Qu'est-ce qu'un contour ?

3

Dfinition du contour

Par dfinition, un contour est la frontire qui spare deux objets dans une image.

Une discontinuit de limage

Dans notre cas, nous dtecterons toutes les lignes marquant des changements dintensit

Pas seulement les contours ! Abus de langage sur la notion de contours !

4

Lignes/contours dans une imageExemples de dtection des discontinuitsde profondeur dorientation de surface

de rflectance dillumination

Source : Jacques-Andr Landry. Vision robotique. ETS.

5

Diffrents types de contours

Marche d'escalier

Rampe

Toit

Source : Gonzalez and Woods. Digital Image Processing 3ed. Prentice-Hall, 2008.

6

Contour avec un peu de bruit

7

ou beaucoup de bruit

8

Drive dune imageLa premire drive de l'image est l'oprateur de base pour mesurer les contours dans l'image

Source : Gluckman & Wong. Computer Vision/Scene Analysis course (CS664). Polytechnic Univ..

9

Drive dune image et contoursImage 1D f(x)Niveau de gris

x

1re drive f'(x)

|f'(x)|

seuil

Pixels contours: |f'(x)| > Seuil10

Drive discrteOn utilise la premire drive de limage pour les contours :

I I x xI x = x xApproximation simple de la drive discrte :-1 1 -1 1

ou encore :

-1 -1 0 1 0 111

Filtre de Roberts

Roberts (1965) fournit une premire approximation de la premire drive d'une image discrte Le calcul se fait avec 2 masques de convolution pour les 2 directions de la drive

Gx

Gy12

Filtres pour la dtection de contoursPlusieurs autres filtres existent pour la dtection des contours dans limage On fait lissage de limage + drive de limage (sauf Roberts) Il existe beaucoup dautres filtres pour dtecter les contoursCVIPTools : Analysis>Edge/Line Detection

Roberts:

1 0 0 -1 -1 -1 -1

0 1 -1 0 -1 -1 -1 -1 -2 -1 0 0 0 0 0 0 1 1 1 1 2 113

Prewitt:

0 1

0 1

0 1

-1 -2 -1

Sobel:

0 1

0 2

0 1

Lissage + drive de limageFiltre de Prewitt : Moyenneur + Drive

1 0 1 1 1 0 1 = 1 1 0 1 1 0 1 1

1 1 1 1 0 0 0 = 0 1 1 1 1 1 1 1

Filtre de Sobel : Gaussienne + Drive

1 0 1 1 2 0 2 = 2 1 0 1 1 0 1 1

1 2 1 1 0 0 0 = 0 1 2 1 1 2 1 114

Dtection des contours moins sensible au bruit

Gradient de limage

En 2 dimensions, nous parlons de gradient de limage

drive en X + drive en Y

vecteur avec une norme et une direction

Les lignes bleues reprsentent le gradient de couleur du plus clair vers le plus foncSource : Gradient. Wikipdia (fr).15

Gradient : norme et directionNorme : Intensit du gradient en chaque pixel (mesure la plus utilise)

G= Gx Gy GxGy2 2Direction : Direction du gradient le plus fort en chaque pixel

=arctan Gy /Gx 16

Exemple de dtection de contoursf xContours verticaux

f yContours horizontaux

f y

+

f x

Norme

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

17

Exemples de dtections de contourssobel roberts

prewitt

isotropic

18

Seuillage du gradientDtection avec Sobel sans seuillage

Seuillage avec S=25

Seuillage avec S=60

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montral.

19

Deuxime drive de limageLaplacien

20

Deuxime drive de l'image

Une autre approche pour trouver les contours de l'image est d'utiliser la seconde drive de l'image Pour cela, on utilise le Laplacien comme oprateur

I I I= 2+ 2 x y2

21

Drives de l'image

Les contours correspondent :

Aux maxima de la premire drive Aux passages par zros de la deuxime drive

22

Drives de l'image2

1 0.81

f x , y =e

x 10/ 2

0.60

Image

0.4 0.2-1

-2

-1

1

2

-2 -2 2 -1 0 1 2

f x f x22

3 2 10 1

Premire drive

-2

-1 -1

1

2-1

-2 -3-2 -2 2 -1 0 1 2

201

100

Deuxime drive

-2

-1 -10

1

2-1

-2 -2 -1 0 1 2

Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montral.

23

Exemple avec un contour rampe Dtection de la frontirePremire drive

Deuxime driveFonc Clair Passage zro24

Drives de l'image

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

25

Laplacien par convolution

Plusieurs approximations discrtes du Laplacien existent

[ ]0 1 0 1 4 1 0 1 0

ou

[ ]1 1 1 1 8 1 1 1 126

Une seule matrice de convolution Symtrique en rotation

CVIPTools : Analysis>Edge/Line Detection>Laplacian

Comparaison Gradient / Laplacien

Gradient

Laplacien

27

Quel filtre choisir pour les contours ?

Aucun oprateur n'est parfait pour dtecter les contours En pratique, on obtient des contours incomplets

il y a des pixels superflus il y a des manques il y a des erreurs de position et d'orientation des pixels contours

Chacun semble avoir sa prfrence pour une mthode ou une autre Un oprateur de dtection de contour n'est qu'une premire tape dans la chane de segmentation28

Approche globale pour les contoursTransforme de Hough

29

Approche globale pour les contours

Il existe des approches globales pour les contours

On ne recherche pas seulement des pixels contours On cherche le contour au complet

On cherche plusieurs pixels correspondant un contour

Comment dfinir le contour ? Problme ?

Diffrentes techniques

Ici : Transforme de Hough

CVIPTools : Analysis>Edge/Line Detection>Hough

30

Transforme de Hough

Approche globale pour dtecter des contours continus

Du plan x-y au plan paramtrique a-b

Plan x-y

yi = a xi + b Une infinit de lignes passent par (xi, yi) Une seule ligne pour la paire (a,b)

Plan paramtrique a-b

b = - x i a + yi Une seule ligne pour la paire (xi, yi) Une infinit de lignes passent par (a,b)31

Plan x-y vs Plan a-bPlan x-y Plan paramtrique a-b

yi = a xi + b

b = - xi a + yi32

Droites vs PointsTous les points (x,y) sur une ligne du plan x-y passent par un seul point (a, b) dans le plan paramtrique a-bPlan x-y Plan paramtrique a-b

y i = a xi + b

b = - xi a + yi

33

Principe de la transforme de Hough

Cellules d'accumulation - Matrice (a,b) On construit une image des votes

chaque point permet de voter pour une droite particulire

Les droites recevant le plus de votes sont conserves

34

Calcul de la transforme de Hough

On calcule le gradient de limage originale

Sobel, Prewitt, Canny,

Pour chaque point du gradient, on calcule une droite (a,b)

On obtient une droite dans le plan a-b pour chaque pixel (x,y)

Les pics maximum dans le plan paramtrique a-b indiquent les droites avec le maximum de points du plan x-y

Les points de croisement des droites dans le plan a-b indiquent les vraies droites existantes dans le plan x-y

35

Problme avec un espace (a,b)

Problme : pour une droite verticale, b= ! Solution : reprsentation sous forme polaire (,) = x cos + y sin

= 90

36

Exemple avec 5 pointsC 1 2 2

3

D

A 3

E

1

4 4 5

B F 5

Image contenant 5 points

Transforme de HoughSource : Gonzalez and Woods. Digital Image Processing 3ed. Prentice-Hall, 2008.37

Transforme de Hough (points)

La transforme de points alatoires ne donne rien de prcis38

Transforme de Hough (droite)La transforme de points aligns permet de retrouver la droite

39

ExempleImage Gradient

Hough

Final

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002.

40

Autre exempleImage Canny

Hough Droites

Final

Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall 3ed, 2008.

41

Rfrences

(voir aussi la page web du cours)

Gradient. Wikipdia (fr). (page consulte le 2 avril 2009).

http://fr.wikipedia.org/wiki/Gradient

Caroline Rougier. Cours de Traitement d'images (IFT2730). Universit de Montral (Canada)

http://www-etud.iro.umontreal.ca/~rougierc/ift2730/ Chap10 : Filtrage : lissage, rhaussement d'images, dtection de contours : http://www-etud.iro.umontreal.ca/~rougierc/ift2730/cours/Cours10_IFT2730_2008_2.pdf

42