42
Traitement d’images 3 ème partie : segmentation Caroline Petitjean

Traitement d’images 3ème partie : segmentationcarolinepetitjean.free.fr/enseignements/ti/part3_TI_segm_M1_petit... · Segmentation Recherche de régions (approches « régions

Embed Size (px)

Citation preview

Traitement d’images

3ème partie : segmentation

Caroline Petitjean

Plan

• Applications, perception, représentation…

• Prétraitements– Amélioration

– Restauration

• Traitement : Segmentation

• Traitement de 2 images

Objectifs

• Etude de la segmentation

• But : chercher une ou plusieurs régions homogènes

Résultat : mesure

de la surface de

la tumeur

Segmentation

Recherche de régions

(approches « régions »)

Recherche de frontières

(approches « contours »)

Segmentation, contour, region

Approches contours

• 2 méthodes

– Par filtrage linéaire

– Par différence de gaussiennes

Détection de contours

• Rappel de filtrage passe-bas

Convolution avec un masque pour lisser les

régions de l’image

Détection de contours

• Régions homogènes � BF de l’image

• Filtre passe-bas

– Somme de pixels

• Contours � HF de l’image

• Filtre passe-haut

– Différence de pixels

Détection de contours

• Les contours de l’image : sont les HF de l’image

– Filtrage passe-HAUT

– Même principe de filtrage linéaire

Filtre PrewittFiltre Prewitt Filtre

Gradient

Comment peut on obtenir les contours de l’image avec ce masque ? Cf en 1D

Détection de contours

– donne les contours verticaux» Gradient en x

– donne les contours horizontaux» Gradient en y

Détection de contours

Détection de contours

• Masque de Prewitt

• La dérivation accentue le bruit, d’où :

• Variante : filtre de Sobel (autre manière de calculer le gradient)

Pour lisser les images,rendre homogènes les régions

qui représentent

les basses fréquences de

l’image,

on applique

un filtre passe-bas(type moyenneur, gaussien)

qui a pour principe

de faire la somme (moyenne) des pixels du voisinage

ce qui revient à

intégrer localement.

qui représentent

Pour faire ressortir

les contours de l’image

on applique

un filtre passe-haut(type sobel)

les hautes fréquences de l’image,

qui a pour principe

de faire la différence des

pixels du voisinage

ce qui revient à

dériver localement.

Pour lisser les images,rendre homogènes les régions

qui représentent

Pour faire ressortir

les contours de l’image

les basses fréquences de

l’image,

on applique

un filtre passe-bas(type moyenneur, gaussien)

un filtre passe-haut(type sobel)

les hautes fréquences de l’image,

qui a pour principe

de faire la somme (moyenne) des pixels du voisinage

de faire la différence des

pixels du voisinage

ce qui revient à

intégrer localement. dériver localement.

Détection de contours

• Résultats

Image originale Image des contours(opérateur Sobel + seuillage)

Détection de contours

• Filtre dérivatif sensible au bruit

• Différences de gaussiennes

(a) Profil idéal

(b) Profil observé (flou)

(c) Filtré par une gaussienne

(encore plus flou)

(d) Mise en évidence des contours

Détection de contours

• Différences de gaussiennes

Rehaussement de contours

• 2 possibilités

– DoG

– Laplacien

• Utilisation de la différence de gaussienne• Exercice en 1D

Rehaussement de contours

• Autre possibilité : utilisation du laplacien

– Dérivée 2ème de l’image

– Exercice en 1D [-1 2 -1]

Rehaussement de contours

• Autre possibilité : utilisation du laplacien

– Dérivée 2ème de l’image

Laplacien d’une image

Rehaussement de contours

– Laplacien

2

2

2

2 ),(),(),(

y

yxf

x

yxfyxf

∂+

∂=∆

Réhaussement de contours

– Méthode Net-Flou (Unsharp marking)

Exercices

Détection de points de contours avec le Laplacien

Soit les 2 masques et l’image suivants :

Les 2 masques font-ils de la détection de contours ?

Quel masque est plus efficace ?

Approches régions

• 4 méthodes :

• Seuillage

• Croissance de régions

• Split-and-merge

• Clustering (k-moyennes)

Approches région

• Seuillage ( thresholding)

Approches région

• Seuillage ( thresholding)

0 50 100 150 200 250

0

1000

2000

3000

4000

5000

6000

100 200 300 400 500 600 700

100 200 300 400 500 600 700

150=T

On dit aussi binarisation

Approches région

• Seuillage

100 200 300 400 500 600 700

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

64=T

0 50 100 150 200 250

0

1000

2000

3000

4000

5000

6000

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

127=T

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

180=T

100 200 300 400 500 600 700

150=T

Approches régions

• Pas adapté quand les régions varient ou ne sont pas homogènes :

Approches régions

• Croissance de régions ( region growing)

– choix d'un germe

– propagation selon un certain critère

Source : LIRMM

Segmentation de la graisse sous-cutanée et viscérale sur des images scanner acquises chez des patients atteints du VIH

Source : Synarc

Croissance de régions

Croissance de régions

• Image scanner

– Codage sur 12 bits 4096 valeurs

– En unités Hounsfield : [-1024 ; 3071]

• Air : -1024 HU

• Eau : 0 HU

• Graisse : -120 à –60 HU

• Os : 1000 HU

Segmentation par croissance de région selon un critère de seuillage

A partir du germe :

pixel ∈ régionsi son intensité ∈

[-120,-60]

Croissance de régions

Source : Synarc

Approches régions

• Algorithme « Split-and-merge »

• Splitting : On divise les régions non-homogènes

partager fusionner

Image originale 4 régions 4 régions(rien à fusionner)

split merge

Itération 1

Split � divise chaque région non-uniforme en 4Merge� fusionne toutes les régions uniformes adjacentes

Split and merge

De l’itération 1 13 régions 4 régions

split merge

Itération 2

Split and merge

Split � divise chaque région non-uniforme en 4Merge� fusionne toutes les régions uniformes adjacentes

De l’itération 2 10 régions

split merge

Itération 3

Résultat final de segmentation

2 régions

Split and merge

Split � divise chaque région non-uniforme en 4Merge� fusionne toutes les régions uniformes adjacentes

Clustering (k-moyennes)

• K = nombre de régions (cluster) à trouver

– Ici K = 2 (Fond + chromosomes)

1) On clique dans l’image pour avoir un représentant de chaque région (=centre de cluster = CC)

2) Pour chaque pixel de l’image,

calcul de sa distance à chaque CC : |NdG - Pi|

on lui attribue la région de distance minimum

Pf = 32, Pc = 217

3) Pour chaque cluster, on calcule le NdG moyen =

nouveaux CC. Sont-ils différents des anciens CC ?

Si oui, retour à 2)Si non, stop

Clustering

Conclusion

• Segmentation : une étape très utile en traitement d’images

• Approches contours

• Approches régions

RéférencesSources des images

• Introduction to Digital Image Processing, Image Segmentation, Zhou Wang, Dept. of Electrical Engineering, the Univ. of Texas at Arlington, 2006

• Cours de Vision artificielle, Christine Fernandez-Maloigne, Université de Poitiers

• Cours Traitement d’images, A. Dieterlen, Univ. Haute-Alsace

• Cours Traitement d’images, LORIA