traitement d’images 3ème partie -...

Post on 16-Sep-2018

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Traitement d’images

Caroline Petitjean

Plan du cours

– Introduction

–Catégorisation de l’image

–Acquisition et Visualisation

–Opérations basées sur l’histogramme

–Extraction de caractéristiques

–Morphologie mathématique

–Segmentation

Objectifs

• Etude de la segmentation

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

Résultat : mesure

de la surface de la

tumeur

Segmentation d’image

Segmentation d’images

• Scanner du poumon chez des asthmatiques

Source : Synarc

Segmentation d’images

• Tracking du ventricule gauche en IRM

cardiaque

Indexation de documents

Thèse Stéphane Nicolas,

Université de Rouen, 2006.

Segmentation ou localisation ?

• Reconnaissance faciale

Segmentation, localisation, tracking

Détection de l’hypovigilance du conducteur Source : Real-time robust face tracking for driver monitoring, J. Nuevo et al, IEEE ITSC 2007

Thèse John Klein,

Université de Rouen, 2008.

Segmentation, localisation, tracking

• Analyse du trafic

• Lecture de plaques

minéralogiques

Source : www.macqel.fr

Segmentation, localisation, tracking

• Tracking de joueurs, du ballon

http://www.sport-universal.com/

Segmentation

Recherche de régions

(approches « régions »)

Recherche de frontières

(approches « contours »)

Segmentation, contour, region

Approches régions

• De nombreuses méthodes….dont :

– Seuillage

– Croissance de régions

– Split-and-merge

– Ligne de partage des eaux

– Clustering (k-moyennes)

– Techniques de graphe

– Modèles déformables

Seuillage

• Seuillage ( thresholding)

Seuillage

• Seuillage ( thresholding)

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

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

150T

Seuillage

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

64T

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

127T

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

180T

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

150T

Thresholding Using Image Histogram

• Multiple thresholds are possible

If f (x, y) < T1 then f (x, y) = 255

else if T1 < f (x, y) < T2 then f (x, y) = 128

else f (x, y) = 0

T1 T2

Seuillage

• Pas adapté quand les régions varient ou

ne sont pas homogènes :

Seuillage

• Variante (qui prend en compte la position

spatiale des pixels) : seuillage par

hystérésis

Pixels above the high

threshold are classified

as object and below the

low threshold as

background.

Pixels between the low

and high thresholds are

classified as object only

if they are adjacent to

other object pixels.

single threshold hysteresis thresholding

Seuillage par hystérésis

Seuillage

• Comment faire pour choisir le seuil ?

• Une méthode pour le choisir automatiquement

– Otsu (1979)

– Choix du seuil qui minimise la variance intrarégions

et maximise la variance interrégions

Otsu’s Method : Mean and Variance

• Consider an image with L gray levels and

its normalized histogram

– P(i) is the normalized frequency of i.

• The mean gray-level value over the whole

image and variance:

Otsu’s Method : Mean and Variance

• Assuming that we have set the threshold

at T, the normalized fraction of pixels that

will be classified as background and

object will be: T background object

Otsu’s Method : Mean and Variance

• Quelle est la valeur moyenne du groupe

background et du groupe object ?

Otsu’s Method

Within-class and between-class variance

• On définit la variance intra-classe :

• On définit la variance inter-classe :

within-class variance

between-class variance

should be minimized!

should be maximized!

Otsu’s Method

Within-class and between-class variance

• On montre que la variance de l’image

peut s’écrire :

• Since the total variance does not

depend on T, the T that minimizes

will also maximize

• Find the T value that maximizes

Otsu’s Method

Determining the threshold

• Start from the beginning of the histogram and

test each gray-level value for the possibility of

being the threshold T that maximizes

Otsu’s Method

• Drawbacks of the Otsu’s method – The method assumes that the histogram of the

image is bimodal (i.e., two classes).

– The method breaks down when the two classes

are very unequal (i.e., the classes have very

different sizes)

• In this case, may have two maxima.

• The correct maximum is not necessary the global one.

– The method does not work well with variable

illumination.

Seuillage local

This approach might lead

to subimages having simpler

histogram (e.g., bimodal)

single threshold local thresholding using Otsu’s method

Seuillage local

Drawbacks of Thresholding

• Threshold selection is not always

straightforward.

• Pixels assigned to a single class need not

form coherent regions as the spatial

locations of pixels are completely ignored.

– Only hysteresis thresholding considers some

form of spatial proximity.

Seuillage

• Comment compter le nombre d’éléments ?

Etiquettage en composantes

connexes

• Lien (source : cours Master informatique

Univ Lille 1)

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]

Graisse : -120 à –60 Hu

Segmentation par croissance de région selon

un critère de seuillage

A partir du germe :

pixel région

si 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

Quel critère d’homogénéité ?

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

split merge

Itération 1

Split divise chaque région non-uniforme en 4 Merge 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 4 Merge 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 4 Merge fusionne toutes les régions uniformes adjacentes

thresholding split and merge

Split and merge

Ligne de partage des eaux

• Image : surface

topographique

• Niveau de gris

altitude

• LPE :

watershed

• Pour que les crêtes correspondent aux

contours module du gradient

Ligne de partage des eaux

Ligne de partage des eaux

http://cmm.ensmp.fr/~beucher/wtshed.html

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

Clustering

• Exemple : segmentation de la tumeur en 3

classes

On considère l’image comme un graphe

Intérêt : représentation compacte, structurée,

complète, facile à manipuler

Pixel = noeud

Technique de graphe

Un graphe :

ensemble de

points +ensemble

de liens

Technique de graphe

• Construction d’une

matrice de coût

Segmenter l’image consiste à trouver le chemin de coût

minimal dans le graphe

Si zone uniforme : coût élevé

Si zone de contour : coût faible

Exemple

Source : Gonzalez & Wood

NdG

Technique de graphe

Construction d’une matrice de coût

telle que :

C(p,q)=Max-|I(p)-I(q)|

Exemple

Source : Gonzalez & Wood

C(p,q)=Max-|I(p)-I(q)|

Technique de graphe

6 2

0

5

6

1

8

4

6

1 6

Recherche du chemin de coût minimal

Caroline Petitjean

Source : Lalande et al. 1999

IRM cardiaque Transformation en coordonnées

polaires

Technique de graphe

Source : Lalande et al. 1999

Image originale (coord.polaires) Matrice de coût Segmentation finale

Technique de graphe

Technique de graphe

Source : Lalande et al. 1999

Technique de graphe

• Graph cut : Coupe optimale dans un

graphe avec interaction utilisateur

Boycov, IJCV, 2006

Modèles déformables

http://xphilipp.developpez.com/contribuez/

Xu and Prince, Gradient Vector Flow, John Hopkins Univ.

Xu and Prince, Gradient Vector Flow, John Hopkins Univ.

Modèles déformables

• Qu’est-ce qu’un modèle déformable pour la

segmentation d’image ?

• C’est une forme ( = une courbe, un modèle)

qui se déforme pour épouser la forme d’un

objet dans l’image

– Position du contour ↔ Energie du contour

– Position finale (optimale) ↔ Energie minimum

du contour

Evolution du snake

Initialisation :

courbe assez proche du

contour extraire

Optimisation itérative : déformations du contour actif de

façon ce qu’il atteigne une position d’énergie minimum.

Exemple snake 3D

Source : O. Lauchaud,

Bordeaux

P1 P2

P3

P4

P5

P6

P7

P8 P9

P10

P11

externeinternesnake EEE

• Propriétés intrinsèques

• Longueur, courbure…

• Propriétés locales de l’image

autour du snake

Qu’est-ce qu’un snake ?

Energie d’un snake

• Formulation paramétrique du contour

Energie totale(C) = Eint(C) +Eext(C)

• Energie interne : mesure la régularité de la

courbe

1

0

22

int ))('')('( dssvsvE

1,0)),(),(()( ssysxsvC

Elasticité Rigidité

n

i

iielastic PPE1

2

1

1

1

2

11 2n

i

iiirigidité PPPE

Energie interne d’un snake

Energie élastique

Energie de courbure

Energie externe d’un snake

• Energie externe : reliée au contenu de l’image

• Si contour : gradient élevé g ≈ 0

• Si zone homogène : gradient faible g élevé

1

0

2 )))((( dssvIgEext

Avec g fonction généralement décroissante de

gradient de l’image

Energie externe d’un snake

2

ext IE

2ext1

)(I

xE

Répulsion d’une zone:

• Fonction décroissante du gradient

Résolution

• Comment trouver C qui minimise E = Eint + Eext ?

Résolution

• Comment trouver C qui minimise E = Eint + Eext ?

• Par l’équation d’Euler Lagrange

0)))((()()('' 2)4( svIgsvsv

dssvsvsfE ))('),(,(

Pour que E atteigne un extremum, il

faut que v(s) vérifie

0)'

(

v

f

ds

d

v

f

Soit E la fonctionnelle d’énergie

EextE

dssvIgdssvsvE 1

0

2

int

1

0

22)))((())('')('(

t

tsvsvIgsvsv

),()))((()()('' 2)4(

Dans notre cas :

Equation d’évolution du snake

Implémentation

• Soit N le nombre de points qui constituent

le contour

• Plusieurs possibilités

– Différences finies (Kass et al., 1988)

– Programmation dynamique (Amini et al., 1990)

– Greedy algorithm (Williams & Shah, 1992)

algorithme « glouton »

Greedy (simplifié)

• Initialisation :

– Pour chaque point Pi Ei = Val_max

• Pour chaque point i

– Pour tous les points k du voisinage V(Pi) calculer l’énergie Ek

• Si Ek < Ei alors Ei = Ek et déplacer le point i vers le point k

• Sinon, ne rien faire

• Continuer tant que le nb de points déplacés est supérieur à un seuil

Conclusions sur les snakes

• Avantage : calculs numériques rapides

• Inconvénients

– Segmentation multi-objets impossible

– Phase d’initialisation sensible

– Approche non intrinsèque

Segmentation d’une forme connue

• Utiliser l’information de forme dans le

processus

Source images : M. Hachama

Problématiques

• Binarisation et restauration d’une empreinte

digitale

Problématiques

• Segmentation d’une image scanner

• Calcul de la surface occupée par les os

Problématiques

• Calcul de l’épaisseur de l’épiderme et du

derme

derme

épiderme

Problématiques • Aide au diagnostic : distinguer des sujets

sains de sujets pathologiques

sain cancer

Images des cellules de la bronche

Problématiques • Aide au diagnostic : distinguer des sujets

sains de sujets pathologiques

Images des alvéoles pulmonaires

sain fibrose silicose

Problématiques

• Restauration de code-b arre

Références Sources 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

• CS474/674 – Prof. Bebis

top related