31
1/31 SEGMENTATION SEGMENTATION – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie Cours de Segmentation Cours de Segmentation PLAN • Introduction • Segmentation par histogrammes (RHS) • Region growing • Split & Merge • Algorithme CSC • Contours Actifs (Snakes) • Conclusion

SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

Embed Size (px)

Citation preview

Page 1: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

1/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Cours de SegmentationCours de Segmentation

PLAN

• Introduction• Segmentation par histogrammes (RHS)• Region growing• Split & Merge• Algorithme CSC• Contours Actifs (Snakes)

• Conclusion

Page 2: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

2/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Introduction

Segmenter une image?Segmenter une image?

Partitionner l’image en zone homogènes selon un critère déterminé: couleur, texture, niveau de gris, indice,…

Page 3: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

3/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Introduction

Pourquoi les algorithmes présentés dans ce cours ne marchent-ils pas?

• Pas de données contextuelles• Traitement global de l’image: pas de traitement actif, localisé dans l’image (voir cours Vision Active)• Pas d’exploitation explicite de la continuité spatio-temporelle (tracking)

Un problème difficile.Un problème difficile.

Page 4: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

4/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Introduction

Plusieurs approches:Plusieurs approches:

En l’absence de contexte particuliers, les meilleurs résultats sont obtenus avec les méthodes hybrides.

• Approches GLOBALES: histogrammes• Approches LOCALES: region growing, contours• Approches HYBRIDES: split & merge, CSC

Page 5: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

5/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Histogrammes

Idée:Idée: Si les objets présents dans l’image ont des couleurs bien distinctes et uniformes, ils vont apparaître comme des pics dans l’histogramme.

Zone « vert »

teinte

nbr d

e pix

els

=> Segmentation dans un espace dérivé de l’image

Page 6: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

6/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Recursive Histogram Splitting (RHS)

Ohlander (1975); Ohta, Kanade,Sakai (1980)

Chaque pixel est décrit selon certains channels: R,G,B,H,S,V,…=> L’algorithme travaille sur plusieurs histogrammes, un par channel

…HR HG HB

MAX

voisinage

Réinjection des régions de taille

suffisante

Suppression de la région

extraite

Retroprojection de la fenêtre de l’histogramme

Image initiale

Page 7: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

7/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Recursive Histogram Splitting (RHS)

AVANTAGESAVANTAGES

• Méthode très rapide

• Peu sensible au bruit

INCONVENIENTSINCONVENIENTS

• Méthode globale: ignore les informations de proximité qui permettent d’utiliser des seuils variables locaux.

• Que se passe-t-il si deux objets ont la même couleur? => Nécessite en général un Region Growing pour détacher les composantes connexes.

Page 8: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

8/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Croissance de région (Region Growing)

Idée:Idée: On part d’un point amorce (seed) et l’on l’étend en ajoutant les points de la frontières qui satisfont le critère d’homogénéité

amorce croissance région finale

• Le point amorce peut être choisi soit par un humain, soit de manière automatique en évitant les zones de fort contraste (gradient important) => méthode par amorce.

• Si le critère d’homogénéité est local (comparaison de la valeur du pixel candidat et du pixel de la frontière) => méthode linéaire.

Page 9: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

9/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Croissance de région (Region Growing)

Méthode linéaire (complexité 2n)Méthode linéaire (complexité 2n)

1

Seuil S: P1 == P2 ssi Diff(Col(P1),Col(P2)) < S

val=?y

xx==y: val = xx<>y: mettre à jour l’index

Extremité(x) y

val=?y

x

val = y

val=?y

xval = Z (nouvel index)

1 2 2 3

1 1 1 1 1

1 12 23 3…3 1

while (swap[x]!=x) x = swap[x];

Page 10: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

10/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Croissance de région (Region Growing)

Méthode par amorce (complexité Méthode par amorce (complexité O(nO(n))))

On définit une zone R qui contient la région à extraire.Initialement, R contient l’amorce.On utilise une file FIFO (First In, First Out) S qui contient les points frontièreInitialement, S contient le voisinage de l’amorce.

On retire p dans Ssi p est homogènehomogène avec R,

on ajoute p à R et on ajoute à S les points du voisinage de p qui ne sont pas dans R et qui ne sont pas incompatibles.

sinon, on marque p comme incompatible.

On recommence tant que S n’est pas vide.

Test local (pixels voisins) ou statistique global (calcul sur la couleur moyenne de R)

Page 11: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

11/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

AVANTAGESAVANTAGES

• Méthode rapide

• Conceptuellement très simple

INCONVENIENTSINCONVENIENTS

• Méthode locale: aucune vision globale du problème. En pratique, il y a presque toujours un chemin continu de points connexes de couleur proche qui relie deux points d’une image…Problème du gradient:

• Tenir compte de l’homogénéité globale donne un algorithme sensible à l’ordre de parcours des points (méthode par amorce)

• Algorithme très sensible au bruit, peu stable.

Croissance de région (Region Growing)

Page 12: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

12/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Split & Merge

Horowitz, Pavlidis (1976), Dubuisson, Jain (1993)

Idée:Idée: Plutôt que de regrouper des pixels dans le region growing, pourquoi ne pas regrouper des zones homogènes pré-calculées sur l’image?

Phase 1 : Créer les zones homogènes = SPLITPhase 2 : Les regrouper = MERGE

SPLIT:

L’image est stockée dans un arbre. Initialement, arbre racine = image complète

Récursivement, chaque feuille F est subdivisée en quatre si elle n’est pas assez homogène, et les quatre sous images sont ajoutée en tant que feuilles de F.

L’algorithme poursuit tant qu’il reste des feuilles non homogènes à diviser.

Page 13: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

13/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Split & Merge

ExampleExample

Image initialeSplit 1

Split 2Split 3

Homogénéité = critère sur la variance

Page 14: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

14/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Split & Merge

Construction du RAGRegion Adjacancy Graph

Quadtree

RAG

• Connecte les régions adjacentes

• Arrêtes = mesures de différence d’homogénéité

Page 15: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

15/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Split & Merge

MERGE:

• Chaque nœud du Region Adjacency Graph est examiné.• Si un des voisins de ce nœud est à une distance inférieure à un seuil de regroupement, les deux nœuds fusionnent dans le RAG.• Lorsque plus aucun nœud ne peut fusionner avec l’un de ses voisins, STOP.

La distance en terme d’homogénéité de régions est portée par l’arrête valuée qui les relie dans le RAG

Page 16: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

16/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Split & Merge

AVANTAGESAVANTAGES

• Méthode hybride locale/globale: permet de contrer le problème du gradient.

INCONVENIENTSINCONVENIENTS

• Méthode assez complexe

• Découpage un peu « carré », dû à la topologie des quadtrees

Original

Split & Merge

Page 17: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

17/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Algorithme CSC (Color Structure Code)

Rehrmann (1994)

Idée:Idée: Regrouper des structures de pixels qui se chevauchent et découper ensuite les zones communes par une descente récursive.

L’algorithme CSC est un algorithme Merge & Split basé sur unetopologie hiérarchique hexagonale avec recouvrements.

shift

Ilot niveau 1

pixel

Page 18: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

18/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Algorithme CSC (Color Structure Code)

Pixel

Ilot de niveau 0

Ilot de niveau 1

Ilot de niveau 2

Structure sous-jacente: arbre

Page 19: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

19/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Algorithme CSC (Color Structure Code)

PHASE 1 : INITIALISATION

Localement pour chaque îlot de niveau 0, on construit une partition en éléments (de niveau 0).

élement = région de couleur homogène

pixel

élement (niveau 0)

îlot (niveau 0)

Page 20: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

20/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Algorithme CSC (Color Structure Code)

PHASE 2 : REGROUPEMENT

Élément niveau 1

(n+1)

Élément niveau 0

(n)

On se place dans un ilôt de niveau n+1(ici n=0, pour l’exemple)

Îlot de niveau 1 (n+1)

On considère les éléments de niveau n contenus dans les îlots de niveau nLes éléments de niveau n sont regroupés en éléments de niveau n+1 si:

Ils sont de couleur proche Ils se touchent

Propriété: deux éléments de niveau n se touchent ssi ils possèdent au moins un élément de niveau n-1 en commun.

Page 21: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

21/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Algorithme CSC (Color Structure Code)

PHASE 2 : REGROUPEMENT

Les éléments sont structurés sous forme d’arbre, tout comme les îlots

Elements de niveau n:Elements de niveau n+1:

Page 22: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

22/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

PHASE 2bis : DECOUPAGE

Le problème du chaînage d’éléments localement identiques n’est pas résolu à ce stade (Problème du gradient)

L’algorithme CSC permet de gérer ce problème dans la phase de découpage, qui a lieu en parallèle de la phase de regroupement.

Découpage: Que se passe-t-il dans la phase de regroupement lorsque deux éléments de niveau n sont connectés mais de couleurs incompatibles?

?

Algorithme CSC (Color Structure Code)

Page 23: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

23/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

élément E1(n+1)

élément E2(n+1)

îlot niveau n+1

îlot niveau n

élément S (n)

S attribué à E1 ou E2? Attribution à celui dont la couleur est la plus proche (ici E2)

élément S2 (n)

élément S1 (n)

S n’est pas encore complètement séparé de E1 car il reste une intersection avec S1 et S2

=> découpage récursif

Algorithme CSC (Color Structure Code)

S appartient à la fois à E1 et E2 (sont existence est garantie par les propriétés du réseau de recouvrement hexagonal)

DECOUPAGE

Page 24: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

24/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Algorithme CSC (Color Structure Code)

AVANTAGESAVANTAGES

• Méthode hybride locale/globale: permet de contrer le problème du gradient.

• Excellente découpe des frontières de zone

• Multi-échelle

• Intrinsèquement parallèle

INCONVENIENTSINCONVENIENTS

• Méthode très complexe

Original

Split & MergeAlgorithme CSC

Page 25: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

25/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Contours Actifs (snakes)

Kass, Witkin, Terzopoulos (1987)

Idée:Idée: Utiliser des courbes déformables qui sont « attirées » par les formes recherchées dans l’image.

Analogie avec la physique: fonction d’énergie à minimiser.

Un exemple classique

Le « snake » se contracte et s’adapte à la forme de l’horloge

Page 26: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

26/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Contours Actifs (snakes)

Qu’est ce qu’un snake?Qu’est ce qu’un snake?

P1 P2

P3

P4

P5

P6

P7

P8P9

P10

P11

externeinternesnake EEE

• Propriétés intrinsèques• Longueur, courbure…

• Propriétés locales de l’image autour du snake

Page 27: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

27/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Contours Actifs (snakes)

Comportement dynamique du snake?

Minimiser l’énergie totale (interne + externe)

Calculer les forces à appliquer à chaque point de contrôle de telle sorte que l’énergie soit minimisée

y

yxEF

x

yxEF

y

x

),(

),(

EF

Page 28: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

28/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Contours Actifs (snakes)

Exemple d’énergie INTERNE: Energie élastique

n

iiielastic PPKE

1

2

11

iiiiielasticX xxxxKF 111, 2

iiiiielasticY yyyyKF 111, 2

Comportement: tend à rétrécir le snake, tout en maintenant une répartition homogène des espaces entre les points de contrôle. Forme limite: le point.

i- 1

i- 1i

E lastic force oni along this lineForce élastique sur le point de contrôle i

Page 29: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

29/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Contours Actifs (snakes)

Exemple d’énergie EXTERNE (Image):

2

ext IE Contours en tant que maxima de la norme du gradient:

IE extZones brillantes ou sombres:

2ext

1)(

xxE

Répulsion d’une zone:

1

1

2

112 2n

iiiicourbure PPPKE

Exemple d’énergie INTERNE: Energie de courbure

Tend à redresser le snake et à limiter la courbure. Forme limite: le cercle

Page 30: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

30/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Contours Actifs (snakes)

Energie élastique

Energie de courbure

IllustrationsIllustrations

Zones brillantes

Page 31: SEGMENTATION SEGMENTATION ES322 – Traitement dImages et Vision Artificielle Jean-Christophe Baillie 1/31 Cours de Segmentation PLAN Introduction Segmentation

31/31

SEGMENTATIONSEGMENTATION

ES322 – Traitement d’Images et Vision Artificielle Jean-Christophe Baillie

Conclusion

Existe-t-il une meilleure technique de segmentation?

Non, tout dépend du contexte, de l’application Dans sa catégorie (segmentation région selon couleur à base de merge/split), CSC est souvent le meilleur

Mais le cerveau obtient de bien meilleurs résultats? Quelle est le secret?

Problème difficile Pistes crédibles: - utilisation du contexte, vision liée aux objectifs, apprentissage, énorme bibliothèque d’algorithme spécifiques (reco visages par exemple)

VISION ACTIVEVISION ACTIVEVISION ACTIVEVISION ACTIVE

Existe-t-il une « super technique », peut être encore inconnue, qui obtienne de très bon résultats en segmentation?

Non, en l’absence de contexte, la quantité d’information disponible est limitée. Les algorithmes du type CSC ne sont probablement pas loin de l’optimum.