27
COMPTE-RENDU PROJET S8 20 10 -20 11 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation d’Images par Contours Actifs Tensoriels

COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Embed Size (px)

Citation preview

Page 1: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

C O M P T E - R E N D U P R O J E T S 8 2 0 1 0 - 2 0 11

S A L W A D E B B A G H

V É R O N I Q U E B R U N O

M A R I E M E T O U R E

I R I S L A V A Y S S I E R E

J O N A S P I C H A T

L U C A S S E R D I C

Segmentation d’Images par Contours Actifs Tensoriels

Page 2: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Organigramme projet

Segmentation par contours actifs

tensotiels

Tenseurs(Véro, Iris, Jonas)

Décomposition image en champ de

tenseur + représentation

ellipses(Véro)

Opérations sur les tenseurs

(Iris, Jonas)

Segmentation (Salwa, Marieme,

Lucas)

Level-set(Salwa, Jonas)

Noyaux gaussiens (Marieme, Lucas)

Page 3: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Chronologie Projet

Évolution dynamique du

contour

Sélection d’un contour initial

[1]qui évoluera au cours du temps.

Les calculs [2] se font d’abord sur

scalaires puis sur tenseurs.

Image quelconque en entrée

Image couleur

Sélection contour [1]

Calcul densité de probabilités

[2]Évolution du

contourDéfinition champs de tenseurs

Opérations sur les tenseurs

Page 4: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Chronologie finale du projet

Image couleur

Calcul du champ de tenseur

Sélection d’un

contour « grossier 

»

Calcul de densité de probabilité

s

Evolution du contour

Page 5: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Décomposition d’une image en champ de tenseurs

A partir d’une image RGB Obtention d’un champs de tenseur

Avec :

Modèle RGB Modèle HSL Champs de tenseurs

Page 6: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Décomposition d’une image en champ de tenseurs

Obtention des composantes du tenseur :

Composante de la matrice L

Composante de la matrice S

Composante de la matrice H

Page 7: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Représentation du champ de tenseurs

détermine :

La teinte (variation de )

La saturation (variation de l’excentricité : )

La luminance(variation de la taille : )

Page 8: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Représentation tensorielle d’une image couleur

tenseur.m

ellipse.m

Page 9: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs

Comment?

3 espaces différents Euclidien – Riemannien – log-Euclidien

1ère projection pour utiliser la bonne métrique dans le calcul de la distance.2ème projection pour revenir dans l’espace de départ (projection inverse) et calculer la moyenne intrinsèque d’un champ de tenseur

Pourquoi projeter?

Pour que le résultat d’une opération sur des tenseurs soit un tenseur. Ici, pour que la moyenne intrinsèque associée aux différentes métriques soit bien un tenseur.

Page 10: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs θ suit une distribution gaussienne

On fixe et (valeurs propres du tenseur pour un θ donné)

On fait varier θ selon une distribution gaussienne.

On a: et

On obtient alors les composantes des différents tenseurs T (=pour différents θ) avec:

On moyenne ces tenseurs suivant les 3 métriques: euclidienne, Rao et log-euclidienne.

Page 11: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs θ suit une distribution gaussienne

22.2

2.42.6

2.83

-0.5-0.4-0.3-0.2-0.100.10.20.30.40.52

2.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8

2.9

3

premier element

Nuage de tenseurs avec theta gaussien

deuxieme element

trois

iem

e ele

men

t

Champ de tenseurs

Moyenne de RaoMoyenne Euclidienne

Moyenne Log-euclidienne

Page 12: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs θ suit une distribution gaussienne

-1.5 -1 -0.5 0 0.5 1 1.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1x 10

-3

Theta theorique

Erreurs pour theta gaussien

Rao

EuclidienneLog-euclidienne

Page 13: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs λ2/λ1 suit une distribution gaussienne

On fixe θ et λ1 (inclinaison et une des deux valeurs propres)

On fait varier λ2/λ1 selon une distribution gaussienne.

On déduit la 2ème valeur propre λ2 à partir de λ1 et λ2/λ1 .

On obtient comme précédemment Vx et Vy à partir de θ.

On obtient alors les composantes des différents tenseurs T (=pour différents λ2/λ1) avec:

On moyenne ces tenseurs suivant les 3 métriques: euclidienne, Rao et log-euclidienne.

Page 14: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs λ2/λ1 suit une distribution gaussienne

00.5

11.5

22.5

33.5

44.5

5

-2.5

-2

-1.5

-1

-0.5

0

0.5

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

premier element

Nuage de tenseurs avec rapport des lambda gaussien

deuxieme element

trois

iem

e e

lem

ent

Champ de tenseurs

Moyenne de RaoMoyenne Euclidienne

Moyenne Log-euclidienne

Page 15: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs λ2/λ1 suit une distribution gaussienne

0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Rapport theorique

Erreurs pour rapport gaussien

Rao

EuclidienneLog-euclidienne

Page 16: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs √(λ2*λ1) suit une distribution gaussienne

On fixe θ et λ1 (inclinaison et une des deux valeurs propres)

On fait varier √(λ2*λ1) selon une distribution gaussienne.

On déduit la 2ème valeur propre λ2 à partir de λ1 et √(λ2*λ1) .

On obtient comme précédemment Vx et Vy à partir de θ.

On obtient alors les composantes des différents tenseurs T (=pour différents λ2/λ1) avec:

On moyenne ces tenseurs suivant les 3 métriques: euclidienne, Rao et log-euclidienne.

Page 17: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs √(λ2*λ1) suit une distribution gaussienne

0.40.5

0.60.7

0.80.9

11.1

1.21.3

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.30.5

0.55

0.6

0.65

0.7

0.75

0.8

0.85

0.9

premier element

Nuage de tenseurs avec produit des lambda gaussien

deuxieme element

trois

iem

e e

lem

ent

Champ de tenseurs

Moyenne de Rao

Moyenne Euclidienne

Moyenne Log-euclidienne

Page 18: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calculs sur les tenseurs √(λ2*λ1) suit une distribution gaussienne

0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.51

2

3

4

5

6

7

8x 10

-3

Produit theorique

Erreurs pour produit gaussien

Rao

EuclidienneLog-euclidienne

Page 19: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calcul d’un noyau Gaussien

Qu’est ce qu’un noyau?

il s’agit d’une technique d’estimation de densité de probabilité dans laquelle une fonction de densité connue (le noyau) est moyennée le long des données observées pour créer une approximation lisse.

Expression : où y est |C| est le déterminant de la matrice de covariance du noyau et n la

dimension de y.

Notre programme permet pour le moment de calculer la valeur du noyau gaussien pour un vecteur qui contient les coordonnées spatiales d’un point quelconque.

Page 20: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Calcul d’un noyau Gaussien

Il nous reste à l’adapter pour un tenseur. Mais aussi à créer notre propre fonction de calcul de la matrice de covariance, car la fonction matlab cov n’utilise pas la même moyenne que celle que nous utilisons.

De plus, il nous faut valider cette étape car lorsque nous traçons l’histogramme des valeurs de notre noyau, celui-ci ne suit pas une loi de probabilité gaussienne alors que notre distribution est gaussienne.

Page 21: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Estimation de la densité de probabilité

L’expression de la densité de probabilité est la suivante :

où K représente le noyau gaussien, z et x représentent des points, et n le nombre de points.

Cette expression de la densité de probabilité nous sert à vérifier l’homogénéité de notre image en un point z donné :

on calcule P(z) en prenant les xi à l’intérieur de contour pour estimer Pin, puis on calcule P(z) en prenant les xi à l’extérieur du contour pour estimer Pout. Si les 2 valeurs sont assez proches, alors nous sommes dans une zone homogène et il nous faut faire évoluer le contour.

Page 22: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Principe Level-Set

L'idée consiste à remplacer une courbe plane fermée par une surface fixe dans un espace où le temps représente la troisième dimension.

La méthode des Level Set est généralement utilisée pour suivre des interfaces à deux dimensions

Page 23: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Description

La figure de droite illustre plusieurs idées importantes sur la méthode. En haut à gauche nous voyons une courbe, c'est-à-dire une région bornée par une frontière régulière. Au-dessous, la surface rouge représente une fonction phi qui détermine cette forme, le plan bleu étant le plan (x,y). Le bord de cette forme est alors la courbe de niveau de phi tandis que la forme proprement dite est l'ensemble des points pour lesquels phi est positif ou nul.

Dans la rangée supérieure nous voyons la modification de la topologie par une scission. Il serait extrêmement difficile de décrire numériquement cette transformation en paramétrant la frontière et en suivant son évolution.

Page 24: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Technique

L'idée de base de la méthode des courbes de niveau est simple. Une interface Γ qui borne une région ouverte Ω peut être définie à l'instant t au point x comme le niveau zéro d'une fonction lisse phi(x,t)L'interface variable est alors définie par

Γ(t) = {(x,t)/phi(x,t)=0}

Phi est négatif à l'intérieur de Ω, positif à l'extérieur et nul sur Γ(t).

Page 25: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

La position initiale de l'interface étant donnée, il s'agit de calculer son mouvement ultérieur dans un champ de vitesses donné V. Ces vitesses peuvent être fonction de la position, du temps, de la géométrie de l'interface (par exemple sa normale ou sa courbure moyenne) …

L'idée consiste simplement à définir une fonction lisse phi(x,t) qui représente l'interface comme l'ensemble tel que phi(x,t)=0. La fonction phi qui s'annule sur l'interface est positive à l'extérieur et négative à l'intérieur. Ainsi l'interface sera capturée à tous les instants ultérieurs en localisant simplement l'ensemble Γ(t) pour lequel phi s'annule. Les modifications de la topologie comme une séparation ou un regroupement sont alors bien définies sans ambiguïté.

Page 26: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Le mouvement s'analyse en faisant transporter les valeurs des niveaux φ par le champ de vitesse V. L'équation exprime qu'en chaque point la variation du niveau est portée par la normale à l'interface, c'est-à-dire par le gradient:

En réalité, seule la composante normale de V est nécessaire :de sorte que l'équation devient

où la fonction module représente la norme euclidienne et t le temps. C'est une équation aux dérivées partielles.

Page 27: COMPTE-RENDU PROJET S8 2010-2011 SALWA DEBBAGH VÉRONIQUE BRUNO MARIEME TOURE IRIS LAVAYSSIERE JONAS PICHAT LUCAS SERDIC Segmentation dImages par Contours

Où nous en sommes

On arrive pour l’instant à faire évoluer un cercle, donc à afficher les différents levelset de l’équation phi(x,y)=x^2+y^2.Pour cela c’est la valeur c des différentes courbes de niveaux phi(x,y)=c que l’on fait varier.

Or ce que l’on veut faire plus tard au moment de fusionner le travail de tous les membres du groupe, c’est de faire évoluer l’équation du contour, et toujours tracer le niveau 0 de chaque nouvelle courbe.L’outil matlab principal que l’on va utiliser est la fonction “contour” qui nous permet de tracer des lignes de niveau.

Pour le moment il nous faut déterminer le contour initial, et le tracer avec les contraintes que les pixels soient positifs à l’extérieur, nuls sur le contour et négatifs à l’intérieur, c’est seulement comme cela que l’on pourra faire évoluer notre contour phi(x,y).