morph-m et généricité en traitement d'images. · traitements et fonctions probl`eme no1 :...

111
Morph-M et g´ en´ ericit´ e en traitement d’images. eminaire LRDE Raffi Enficiaud DxO Labs Romain Lerallut A2IA 30 janvier 2008 (Ex.) Centre de Morphologie Math´ ematique - ´ Ecole des Mines de Paris

Upload: others

Post on 01-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Morph-M et genericite en traitement d’images.Seminaire LRDE

Raffi EnficiaudDxO Labs

Romain LerallutA2IA

30 janvier 2008

(Ex.) Centre de Morphologie Mathematique - Ecole des Mines de Paris

Page 2: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

GenericiteInteret de la genericite en traitement d’images

Pourquoi la genericite ?

Quels problemes peut-elle resoudre ?

Ce qu’elle permet de faire

Ce qu’elle ne fait pas (ou pas tres bien)

Ce qu’elle ne permet pas de faire

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 2 / 45

Page 3: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E Representation de I Representation de v Representation de J

Nombre de permutations

nb dimensions × nb types × nb types2 × 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 4: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I Representation de v Representation de J

Nombre de permutations

nb dimensions × nb types × nb types2 × 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 5: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I Representation de v Representation de J

Nombre de permutations

nb dimensions × nb types × nb types2 × 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 6: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I

scalaire

entier « 8 bits »

Representation de v

scalaire

entier « 8 bits »

Representation de J

Nombre de permutations

nb dimensions × nb types × nb types2 × 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 7: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I

scalaire

entier « 8 bits »

Representation de v

scalaire

entier « 8 bits »

· · · · · · · · ·Representation de J

Nombre de permutations

nb dimensions × nb types × nb types2 × 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 8: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I

scalaire

entier « 8 bits »

Representation de v

scalaire

entier « 8 bits »

· · · · · · · · ·Representation de J

scalaire

entier « 16 bits »

Nombre de permutations

nb dimensions × nb types × nb types2 × 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 9: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I

scalaire

entier « 8 bits »

Representation de v

scalaire

entier « 8 bits »

· · · · · · · · ·Representation de J

scalaire

entier « 16 bits »

Nombre de permutations

nb dimensions

× nb types × nb types

2

× 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 10: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I

scalaire

entier « 8 bits »

Representation de v

scalaire

entier « 8 bits »

· · · · · · · · ·Representation de J

scalaire

entier « 16 bits »

Nombre de permutations

nb dimensions × nb types

× nb types

2 × 4

× 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 11: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I

scalaire

entier « 8 bits »

Representation de v

scalaire

entier « 8 bits »

· · · · · · · · ·Representation de J

scalaire

entier « 16 bits »

Nombre de permutations

nb dimensions × nb types × nb types2 × 4 × 4

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 12: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Traitements et fonctionsProbleme no1 : duplication fonctionnelle

Exemple arithmetique : addition d’une constante « v » sur une image.

F : ∀p ∈ E , J (p) = I (p) + v

Dimension de E

2D

Representation de I

scalaire

entier « 8 bits »

Representation de v

scalaire

entier « 8 bits »

· · · · · · · · ·Representation de J

scalaire

entier « 16 bits »

Nombre de permutations

(nb dimensions × nb types)2 × nb types(2 × 4)2 × 4 = 256

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 3 / 45

Page 13: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

TraitementsProbleme no2 : redondance algorithmique

Labelisation

Mesures du nombrede composantes

Developpementstrop specifiques

a uneapplication !

Sans meta-programmation

Mesures du nombrede composantes

Mesures de surfacedes composantes

· · · · · ·

Avec meta-programmation

Mesures du nombrede composantes

Mesures de surfacedes composantes

Méta-programme

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 4 / 45

Page 14: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

TraitementsProbleme no2 : redondance algorithmique

Labelisation

Mesures du nombrede composantes

Developpementstrop specifiques

a uneapplication !

Sans meta-programmation

Mesures du nombrede composantes

Mesures de surfacedes composantes

· · · · · ·

Avec meta-programmation

Mesures du nombrede composantes

Mesures de surfacedes composantes

Méta-programme

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 4 / 45

Page 15: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

TraitementsProbleme no2 : redondance algorithmique

Sans meta-programmation

Mesures du nombrede composantes

Mesures de surfacedes composantes

· · · · · ·

Avec meta-programmation

Mesures du nombrede composantes

Mesures de surfacedes composantes

Méta-programme

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 4 / 45

Page 16: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Genericite par la Meta-programmationObjectifs

Objectifs de la meta-programmation

1 Concentration des efforts sur le developpement des algorithmes

2 Capitalisation

3 Reutilisation efficace de l’existant

4 Portage algorithmique

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 5 / 45

Page 17: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Meta-programmationDefinition

Meta-programmation ?

Resolution de nombreuses taches par le compilateur

1 Resolution des types

2 Specialisation

Fonction 1a

Méta-fonction 1

Fonction 1b Fonction 1c

Fonction 1

Fonction 2

Fonction 1a

Fonction 2a

Fonction 1b

Fonction 2b

Fonction 1

Fonction 2a Fonction 2b

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 6 / 45

Page 18: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Meta-programmationDefinition

Meta-programmation ?

Resolution de nombreuses taches par le compilateur

1 Resolution des types

2 Specialisation

Fonction 1

Fonction 2

Fonction 1a

Fonction 2a

Fonction 1b

Fonction 2b

Fonction 1

Fonction 2a Fonction 2b

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 6 / 45

Page 19: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Meta-programmationDefinition

Meta-programmation ?

Resolution de nombreuses taches par le compilateur

1 Resolution des types

2 Specialisation

Fonction 1

Fonction 2

Fonction 1a

Fonction 2a

Fonction 1b

Fonction 2b

Fonction 1

Fonction 2a Fonction 2b

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 6 / 45

Page 20: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Meta-programmationDefinition

Meta-programmation ?

Resolution de nombreuses taches par le compilateur

1 Resolution des types

2 Specialisation

Fonction 1

Fonction 2

Fonction 1a

Fonction 2a

Fonction 1b

Fonction 2b

Fonction 1

Fonction 2a Fonction 2b

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 6 / 45

Page 21: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Morph-M et genericite en traitement d’images.

Part 1 : Genericite & traitement d’images

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 7 / 45

Page 22: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Plan

1 Introduction

2 Genericite & traitement d’images

3 Les inconvenients du generique

4 Synthese

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 8 / 45

Page 23: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Genericite & traitement d’images

1 Introduction

2 Genericite & traitement d’imagesOutils et notionsTraitements & algorithmesSpecialisations« Morph-M » (ie. Morphee)Synthese

3 Les inconvenients du generique

4 Synthese

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 9 / 45

Page 24: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

AlgorithmesDefinition

Definition (Algorithme (Larousse))

Suite finie d’operations elementaires constituant un schema de calcul ou deresolution d’un probleme.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 10 / 45

Page 25: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

AlgorithmesDefinition

Definition (Algorithme (Larousse))

Suite finie d’operations elementaires constituant un schema de calcul ou deresolution d’un probleme.

Algorithme

Image Voisinage Relation d’ordre

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 10 / 45

Page 26: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Algorithmes & Images

Algorithme

Image Voisinage Relation d’ordre

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 11 / 45

Page 27: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

ImagesDefinition

Definition

Une image est une application I : E → FE : espace des coordonneesF : espace des valeurs

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 12 / 45

Page 28: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

ImagesDefinition

Definition

Une image est une application I : E → FE : espace des coordonneesF : espace des valeurs

Coordonnées des points

Valeurs des points

E F

Fonctionimage

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 12 / 45

Page 29: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des ensembles par iterateurMultidimensionnalite d’un algorithme

Ecrire « ∀p ∈ E . . . »

Approche « classique »Recuperation des dimensions sur chaque axe

Pour z de Zmin a Zmax {Pour y de Ymin a Ymax {

Pour x de Xmin a Xmax {Traitement au point (x , y , z)

}}}

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 13 / 45

Page 30: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des ensembles par iterateurMultidimensionnalite d’un algorithme

Ecrire « ∀p ∈ E . . . »

Approche « classique »Recuperation des dimensions sur chaque axePour z de Zmin a Zmax {

Pour y de Ymin a Ymax {Pour x de Xmin a Xmax {

Traitement au point (x , y , z)

}}}

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 13 / 45

Page 31: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des ensembles par iterateurMultidimensionnalite d’un algorithme

Ecrire « ∀p ∈ E . . . »

Approche « classique »Recuperation des dimensions sur chaque axePour z de Zmin a Zmax {

Pour y de Ymin a Ymax {Pour x de Xmin a Xmax {

Traitement au point (x , y , z)}}}

AlgorithmeImageLogique de

parcours

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 13 / 45

Page 32: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des ensembles par iterateurMultidimensionnalite d’un algorithme

Ecrire « ∀p ∈ E . . . »

Approche par « iterateurs »Recuperation d’un « objet » de parcours de l’image : it

Tant que it n’indique pas la fin du parcours {Traitement point p fourni par it

}

Algorithme Image

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 13 / 45

Page 33: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des ensembles par iterateurMultidimensionnalite d’un algorithme

Ecrire « ∀p ∈ E . . . »

Approche par « iterateurs »Recuperation d’un « objet » de parcours de l’image : it

Tant que it n’indique pas la fin du parcours {Traitement point p fourni par it

}

Algorithme Image

Logique de parcours

it

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 13 / 45

Page 34: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des ensembles par iterateurMultidimensionnalite d’un algorithme

Ecrire « ∀p ∈ E . . . »

Approche par « iterateurs »Recuperation d’un « objet » de parcours de l’image : itTant que it n’indique pas la fin du parcours {

Traitement point p fourni par it

}

Algorithme Image

Logique de parcours

it

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 13 / 45

Page 35: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des ensembles par iterateurMultidimensionnalite d’un algorithme

Ecrire « ∀p ∈ E . . . »

Approche par « iterateurs »Recuperation d’un « objet » de parcours de l’image : itTant que it n’indique pas la fin du parcours {

Traitement point p fourni par it}

Algorithme Image

Logique de parcours

it

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 13 / 45

Page 36: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des images par iterateurMultidimensionnalite d’un algorithme

Iterateurs

Methode universelle de parcours d’ensemble

Consequence

1 Les structures proposent une methode de parcours de leur support oud’un sous-ensemble.

2 Les algorithmes deviennent independants1 du systeme de coordonnees des images (2D, 3D, 4D, . . . ).2 de la geometrie des images (taille, comportement sur les bords, . . . )

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 14 / 45

Page 37: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Parcours des images par iterateurMultidimensionnalite d’un algorithme

Iterateurs

Methode universelle de parcours d’ensemble

Consequence

1 Les structures proposent une methode de parcours de leur support oud’un sous-ensemble.

2 Les algorithmes deviennent independants1 du systeme de coordonnees des images (2D, 3D, 4D, . . . ).2 de la geometrie des images (taille, comportement sur les bords, . . . )

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 14 / 45

Page 38: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Algorithmes & Voisinages

Algorithme

Image Voisinage Relation d’ordre

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 15 / 45

Page 39: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesDefinition

Definition

Un voisinage centre en x est un sous-ensemble Vx ⊂ E, determine par unefonction de x.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 16 / 45

Page 40: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesDefinition

Definition

Un voisinage centre en x est un sous-ensemble Vx ⊂ E, determine par unefonction de x.

Les iterateurs sont un moyen generique pour decrire ce sous-ensemble

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 16 / 45

Page 41: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesDefinition

Definition

Un voisinage centre en x est un sous-ensemble Vx ⊂ E, determine par unefonction de x.

Image Fonction de voisinage

Voisinage

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 16 / 45

Page 42: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions de voisinage

Cas d’utilisation1 Initialisation du voisinage (image,

fonction de voisinage)

2 Centrage du voisinage

3 Recuperation de l’ensemble des voisins

4 Retour en 2

Image Fonction de voisinage

Algorithme

Voisinage

Consequences de l’iterateur

1 Gestion de la topologie interne au voisinage

2 Algorithmes independants du type de voisinage utilise

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 17 / 45

Page 43: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions de voisinage

Cas d’utilisation1 Initialisation du voisinage (image,

fonction de voisinage)

2 Centrage du voisinage

3 Recuperation de l’ensemble des voisins

4 Retour en 2

Image Fonction de voisinage

Algorithme

Voisinage Itérateurd’image

Consequences de l’iterateur

1 Gestion de la topologie interne au voisinage

2 Algorithmes independants du type de voisinage utilise

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 17 / 45

Page 44: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions de voisinage

Cas d’utilisation1 Initialisation du voisinage (image,

fonction de voisinage)

2 Centrage du voisinage

3 Recuperation de l’ensemble des voisins

4 Retour en 2

Image Fonction de voisinage

Algorithme

Voisinage Itérateurd’image

Itérateur de voisinage

Consequences de l’iterateur

1 Gestion de la topologie interne au voisinage

2 Algorithmes independants du type de voisinage utilise

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 17 / 45

Page 45: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions de voisinage

Cas d’utilisation1 Initialisation du voisinage (image,

fonction de voisinage)

2 Centrage du voisinage

3 Recuperation de l’ensemble des voisins

4 Retour en 2

Image Fonction de voisinage

Algorithme

Voisinage Itérateurd’image

Itérateur de voisinage

Consequences de l’iterateur

1 Gestion de la topologie interne au voisinage

2 Algorithmes independants du type de voisinage utilise

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 17 / 45

Page 46: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions de voisinage

Cas d’utilisation1 Initialisation du voisinage (image,

fonction de voisinage)

2 Centrage du voisinage

3 Recuperation de l’ensemble des voisins

4 Retour en 2

Image Fonction de voisinage

Algorithme

Voisinage Itérateurd’image

Itérateur de voisinage

Consequences de l’iterateur

1 Gestion de la topologie interne au voisinage

2 Algorithmes independants du type de voisinage utilise

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 17 / 45

Page 47: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions de voisinage

Exemples de fonctions de voisinage

· • ·• • •· • ·

• • •• • •• • •

4 et 8 connexes 2D

Fonction plus riche

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 17 / 45

Page 48: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions structurantes

Changement de la topologie de l’image par une fonction structurante

Elements structurants suivant le mouvementNicolas Laveau & Christophe Bernard.

Structuring elements following the opticalflow.Proceedings of the 7th ISMM, 2005.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 18 / 45

Page 49: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions structurantes

Changement de la topologie de l’image par une fonction structurante

Amibes morphologiques Romain Lerallut, Etienne Decenciere & Fernand Meyer.

Image filtering using Morphological Amoebas.Proceedings of the 7th ISMM, 2005.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 18 / 45

Page 50: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions structurantes

Changement de la topologie de l’image par une fonction structurante

Amibes morphologiques Romain Lerallut, Etienne Decenciere & Fernand Meyer.

Image filtering using Morphological Amoebas.Proceedings of the 7th ISMM, 2005.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 18 / 45

Page 51: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions structurantes

Changement de la topologie de l’image par une fonction structurante

Amibes morphologiques Romain Lerallut, Etienne Decenciere & Fernand Meyer.

Image filtering using Morphological Amoebas.Proceedings of the 7th ISMM, 2005.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 18 / 45

Page 52: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

VoisinagesFonctions structurantes

Changement de la topologie de l’image par une fonction structurante

Amibes morphologiques Romain Lerallut, Etienne Decenciere & Fernand Meyer.

Image filtering using Morphological Amoebas.Proceedings of the 7th ISMM, 2005.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 18 / 45

Page 53: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Algorithmes & Ordres

Algorithme

Image Voisinage Relation d’ordre

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 19 / 45

Page 54: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

TreillisDefinition

Definition (Treillis)

Un treillis LF = 〈F ,�〉 est un ensemble ordonne tel qu’il existe un pluspetit majorant et un plus grand minorant, dans F , pour chaque paired’elements.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 20 / 45

Page 55: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

TreillisDefinition

Definition (Treillis)

Un treillis LF = 〈F ,�〉 est un ensemble ordonne tel qu’il existe un pluspetit majorant et un plus grand minorant, dans F , pour chaque paired’elements.

Necessite d’avoir une relation d’ordre sur tous les espaces F possibles

AlgorithmeOrdre

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 20 / 45

Page 56: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

TreillisDefinition

Definition (Treillis)

Un treillis LF = 〈F ,�〉 est un ensemble ordonne tel qu’il existe un pluspetit majorant et un plus grand minorant, dans F , pour chaque paired’elements.

� est simplement un operateur booleen a deux entrees !

Algorithme Ordre

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 20 / 45

Page 57: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultidimensionnalite

Dimension des images

Images en 2 dimensions

Images en 3 dimensions

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 21 / 45

Page 58: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultidimensionnalite

Dimension des images

Images en 2 dimensions

Images en 3 dimensions

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 21 / 45

Page 59: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultidimensionnalite

Dimension des images

Images en 2 dimensions

Images en 3 dimensions

Images de dimension superieure

Ajout d’une dimension temporelle aux images 3D

Synthetisation/generation d’images

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 21 / 45

Page 60: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultidimensionnalite

Dimension des images

Images en 2 dimensions

Images en 3 dimensions

Aucune restriction (algorithmique) des structures a un type d’image !

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 21 / 45

Page 61: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultispectralite

Types d’image

Binaire

Scalaire

Couleur

Multispectral

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 22 / 45

Page 62: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultispectralite

Types d’image

Binaire

Scalaire

Couleur

Multispectral

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 22 / 45

Page 63: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultispectralite

Types d’image

Binaire

Scalaire

Couleur

Multispectral

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 22 / 45

Page 64: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Aspects multidimensionnels & multispectrauxMultispectralite

Types d’image

Binaire

Scalaire

Couleur

Multispectral

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 22 / 45

Page 65: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Applications aux algorithmes

Algorithme

Image Voisinage Relation d’ordre

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 23 / 45

Page 66: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationExemple de l’erosion (element structurant plan)

Erosion

La destination recoit l’infimum du voisinage centre sur chaque site de lasource.

Inventaire

1 Image d’entree I2 ∀p ∈ E

3 ∀v ∈ Np

4 Image de sortie J5 Operateur d’infimum

Remarque

Operateur∧

est un parametre d’un meta-algorithme generique.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 24 / 45

Page 67: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationExemple de l’erosion (element structurant plan)

Erosion

La destination recoit l’infimum du voisinage centre sur chaque site de lasource.

Inventaire1 Image d’entree I

2 ∀p ∈ E

3 ∀v ∈ Np

4 Image de sortie J5 Operateur d’infimum

Remarque

Operateur∧

est un parametre d’un meta-algorithme generique.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 24 / 45

Page 68: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationExemple de l’erosion (element structurant plan)

Erosion

La destination recoit l’infimum du voisinage centre sur chaque site de lasource.

Inventaire1 Image d’entree I2 ∀p ∈ E

3 ∀v ∈ Np

4 Image de sortie J5 Operateur d’infimum

Remarque

Operateur∧

est un parametre d’un meta-algorithme generique.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 24 / 45

Page 69: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationExemple de l’erosion (element structurant plan)

Erosion

La destination recoit l’infimum du voisinage centre sur chaque site de lasource.

Inventaire1 Image d’entree I2 ∀p ∈ E

3 ∀v ∈ Np

4 Image de sortie J5 Operateur d’infimum

Remarque

Operateur∧

est un parametre d’un meta-algorithme generique.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 24 / 45

Page 70: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationExemple de l’erosion (element structurant plan)

Erosion

La destination recoit l’infimum du voisinage centre sur chaque site de lasource.

Inventaire1 Image d’entree I2 ∀p ∈ E

3 ∀v ∈ Np

4 Image de sortie J

5 Operateur d’infimum

Remarque

Operateur∧

est un parametre d’un meta-algorithme generique.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 24 / 45

Page 71: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationExemple de l’erosion (element structurant plan)

Erosion

La destination recoit l’infimum du voisinage centre sur chaque site de lasource.

Inventaire1 Image d’entree I2 ∀p ∈ E

3 ∀v ∈ Np

4 Image de sortie J5 Operateur d’infimum

Remarque

Operateur∧

est un parametre d’un meta-algorithme generique.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 24 / 45

Page 72: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationExemple de l’erosion (element structurant plan)

Erosion

La destination recoit l’infimum du voisinage centre sur chaque site de lasource.

Inventaire1 Image d’entree I2 ∀p ∈ E

3 ∀v ∈ Np

4 Image de sortie J5 Operateur d’infimum

Remarque

Operateur∧

est un parametre d’un meta-algorithme generique.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 24 / 45

Page 73: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

UtilisationErosions et dilatations lexicographiques

Ordre lexicographique �� : ordre sur un espace vectoriel

Dilatations et erosions lexicographiques

Image originale Dilate �S↓L↓H↓ Erode �S↓L↓H↓

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 25 / 45

Page 74: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Ligne de partage des eaux 4DExemple 3D + t

Gestion des images multidimensionnelles

LPE « 4D »Volume 3D + tMarquage du poumonMarqueur dans une coupe 2D du temps 0

Raffi Enficiaud.

Algorithmes multidimensionnels et multispectraux enmorphologie mathematique : approche parmeta-programmation..Centre de Morphologie Mathematique, ENSMP, 2007.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 26 / 45

Page 75: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationDescription

Objectif de l’algorithme

Identifier toutes les composantes connexes.

Image originale Image labelisee

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 27 / 45

Page 76: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationDescription

Objectif de l’algorithme

Identifier toutes les composantes connexes.

Composante connexe ?

1 Notion de connexite

2 Meme composante ?

I Fond/formeI Zone plateI Zone λ-plateI . . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 27 / 45

Page 77: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationDescription

Objectif de l’algorithme

Identifier toutes les composantes connexes.

Composante connexe ?

1 Notion de connexite2 Meme composante ?

I Fond/forme

I Zone plateI Zone λ-plateI . . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 27 / 45

Page 78: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationDescription

Objectif de l’algorithme

Identifier toutes les composantes connexes.

Composante connexe ?

1 Notion de connexite2 Meme composante ?

I Fond/formeI Zone plate

I Zone λ-plateI . . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 27 / 45

Page 79: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationDescription

Objectif de l’algorithme

Identifier toutes les composantes connexes.

Composante connexe ?

1 Notion de connexite2 Meme composante ?

I Fond/formeI Zone plateI Zone λ-plate

I . . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 27 / 45

Page 80: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationDescription

Objectif de l’algorithme

Identifier toutes les composantes connexes.

Composante connexe ?

1 Notion de connexite2 Meme composante ?

I Fond/formeI Zone plateI Zone λ-plateI . . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 27 / 45

Page 81: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationFormulation theorique

Labelisation : formulation

Ensemble quotient d’une relation d’equivalence =R

1 Connexionxa et xb sont connectes par un arc

2 Valeur de l’image des pointstous les points voisins de cet arc verifient une relation RI

x1RIx2 ⇔

8<:

I(x1) = I(x2)‖I(x1)− I(x2)‖F ≤ λ

. . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 28 / 45

Page 82: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationFormulation theorique

Labelisation : formulation

Ensemble quotient d’une relation d’equivalence =R

1 Connexionxa et xb sont connectes par un arc

2 Valeur de l’image des pointstous les points voisins de cet arc verifient une relation RI

x1RIx2 ⇔

8<:

I(x1) = I(x2)‖I(x1)− I(x2)‖F ≤ λ

. . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 28 / 45

Page 83: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationFormulation theorique

Labelisation : formulation

Ensemble quotient d’une relation d’equivalence =R

1 Connexionxa et xb sont connectes par un arc

2 Valeur de l’image des pointstous les points voisins de cet arc verifient une relation RI

x1RIx2 ⇔

8<:

I(x1) = I(x2)‖I(x1)− I(x2)‖F ≤ λ

. . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 28 / 45

Page 84: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationFormulation theorique

Labelisation : formulation

Ensemble quotient d’une relation d’equivalence =R

1 Connexionxa et xb sont connectes par un arc

2 Valeur de l’image des pointstous les points voisins de cet arc verifient une relation RI

x1RIx2 ⇔

8<:I(x1) = I(x2)

‖I(x1)− I(x2)‖F ≤ λ

. . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 28 / 45

Page 85: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationFormulation theorique

Labelisation : formulation

Ensemble quotient d’une relation d’equivalence =R

1 Connexionxa et xb sont connectes par un arc

2 Valeur de l’image des pointstous les points voisins de cet arc verifient une relation RI

x1RIx2 ⇔

8<:I(x1) = I(x2)‖I(x1)− I(x2)‖F ≤ λ. . .

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 28 / 45

Page 86: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationFormulation theorique

Labelisation : formulation

Ensemble quotient d’une relation d’equivalence =R

1 Connexionxa et xb sont connectes par un arc

2 Valeur de l’image des pointstous les points voisins de cet arc verifient une relation RI

x1RIx2 ⇔

8<:I(x1) = I(x2)‖I(x1)− I(x2)‖F ≤ λ. . .

Formulation adaptee a la meta-programmation !

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 28 / 45

Page 87: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

LabelisationFormulation theorique

Labelisation : formulation

Ensemble quotient d’une relation d’equivalence =R

1 Connexionxa et xb sont connectes par un arc

2 Valeur de l’image des pointstous les points voisins de cet arc verifient une relation RI

x1RIx2 ⇔

8<:I(x1) = I(x2)‖I(x1)− I(x2)‖F ≤ λ. . .

Quelques lignes suffisent pour definir une nouvelle labelisation a l’aide desoutils de meta-programmation !

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 28 / 45

Page 88: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Genericite & Specialisation

Universalite des structures ralentissant globalement l’execution

Solution ?

Mecanisme de specialisation

Optimisations

Jaromır Brambor.

Algorithmes de la Morphologie Mathematique pour les architectures orientees flux.Centre de Morphologie Mathematique, ENSMP, 2006.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 29 / 45

Page 89: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Genericite & Specialisation

Universalite des structures ralentissant globalement l’execution

Solution ?

Mecanisme de specialisation

Optimisations

Jaromır Brambor.

Algorithmes de la Morphologie Mathematique pour les architectures orientees flux.Centre de Morphologie Mathematique, ENSMP, 2006.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 29 / 45

Page 90: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Genericite & Specialisation

Universalite des structures ralentissant globalement l’execution

Solution ?

Mecanisme de specialisation

Optimisations

Jaromır Brambor.

Algorithmes de la Morphologie Mathematique pour les architectures orientees flux.Centre de Morphologie Mathematique, ENSMP, 2006.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 29 / 45

Page 91: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

« Morph-M » (ie. Morphee)

Librairie de traitement d’image et de morphologie mathematique utilisantla genericite

En constante evolution

Permettant un travail collaboratif

Incluant des implementations algorithmiques de reference

PuissanteI Algorithmes « independants » de la representation des donneesI Optimisations pour des cas particuliers d’image et d’architecture

materielle

Modulaire

Utilisee dans de nombreux projets (industriels ou de recherche)

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 30 / 45

Page 92: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Synthese

Avantages

Cadre etendant le champ d’application des algorithmes

Recuperation simple des algorithmes existants sans modificationimportante

performancescouts de developpement >> 1

Inconvenients

mais ...

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 31 / 45

Page 93: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Synthese

Avantages

Cadre etendant le champ d’application des algorithmes

Recuperation simple des algorithmes existants sans modificationimportante

performancescouts de developpement >> 1

Inconvenients

mais ...

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 31 / 45

Page 94: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Morph-M et genericite en traitement d’images.

Part 2 : les inconvenients du generique

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 32 / 45

Page 95: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Inconvenients

There is no silver bullet

Constat :

1 Les approches generiques sont fabuleuses

2 Rien de plus dangereux qu’un developpeur fou avec un jouetfabuleux ;)

Ou, quand, comment, pourquoi, combien ?

Les questions que votre manager/chef/TypeQuiVousFinance vous poseraun jour...

A savoir aussi :

Quand ne PAS utiliser d’approche generique...

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 33 / 45

Page 96: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Plan

1 Introduction

2 Genericite & traitement d’images

3 Les inconvenients du generiqueLes couts cachesOptimisation des operations

4 Synthese

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 34 / 45

Page 97: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Les couts caches

Representativite ?

Quels probleme peut-on resoudre vs

Quels probleme doit-on resoudre !

Dilemme

Peut-on faire du generique sans moult exemples de problemes ?

Combien d’exemples suffisent pour generaliser ?

(reponses : 1. ca depend, 2. un certain nombre)

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 35 / 45

Page 98: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Les couts caches

L’usine a gaz

temps de developpementI cout !I “downtime”vs incrementalite des fonctionnalites

performance (vitesse)I doit faire partie des specs initialesI a controler en permanence

taille du codeI navigationI compilation

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 36 / 45

Page 99: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Les couts caches

Les gens : utilisateurs, clients, autres developpeurs

Concepts plus abstraits donc moins simples a saisir

Temps d’adaptation (“stagiaire-friendly”?)

Cout d’un probleme simple

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 37 / 45

Page 100: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Programmation conceptuelle puissante, mais...

Differences importantes en termes de « performances »le compilateur gere virtuellement toutes les combinaisons (lourd a lacompilation)

approche par union : les nouvelles specialisations s’ajoutent auxanciennes ... sauf si le projet a ete mal concu (arrive souvent) ou sibesoin de nouvelles fonctionnalites (arrive tres souvent).

Implementation peut-etre optimale... A une constante pres

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 38 / 45

Page 101: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Programmation conceptuelle puissante, mais...

Differences importantes en termes de « performances »le compilateur gere virtuellement toutes les combinaisons (lourd a lacompilation)

approche par union : les nouvelles specialisations s’ajoutent auxanciennes ... sauf si le projet a ete mal concu (arrive souvent) ou sibesoin de nouvelles fonctionnalites (arrive tres souvent).

Implementation peut-etre optimale... A une constante pres

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 38 / 45

Page 102: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Programmation conceptuelle puissante, mais...

Differences importantes en termes de « performances »le compilateur gere virtuellement toutes les combinaisons (lourd a lacompilation)

approche par union : les nouvelles specialisations s’ajoutent auxanciennes ... sauf si le projet a ete mal concu (arrive souvent) ou sibesoin de nouvelles fonctionnalites (arrive tres souvent).

Implementation peut-etre optimale... A une constante pres

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 38 / 45

Page 103: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Performances des outilsLe compilateur

Differences importantes en termes de « performances »Visual 6 : sans commentaires

Visual 7 : ok, mais code genere de pas tres bonne qualite

Visual 8 : plus « standard » que Visual 7, code meilleurs mais aameliorer

GCC 3.4 : tres proche du standard

GCC 4 : encore plus proche du standard, mais code genere assez lent

GCC : developpements lents

Intel IPP 7 : bonne qualite de code genere, mais non standard

Intel IPP 8 : standard mais tres tres lent.

Intel IPP 9 : pas teste

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 39 / 45

Page 104: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Performances des outilsOutils de conception

Quels outils s’offrent au programmeur ?

Outils de traitement de texte

Papier et crayon...

Aucun outil de conceptions ?

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 40 / 45

Page 105: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Performances des outilsOutils de conception

Quels outils s’offrent au programmeur ?

Outils de traitement de texte

Papier et crayon...

Aucun outil de conceptions ?

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 40 / 45

Page 106: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Performances des outilsOutils de conception

Quels outils s’offrent au programmeur ?

Outils de traitement de texte

Papier et crayon...

Aucun outil de conceptions ?

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 40 / 45

Page 107: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Synthese

1 Introduction

2 Genericite & traitement d’images

3 Les inconvenients du generique

4 Synthese

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 41 / 45

Page 108: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Un outil a maitriser

Tenir compte des risques

Le code est meilleur et plus compact mais :

risque d’hubris (donc perte de focalisation)

problemes de lourdeur (design, dev, execution)

Risque majeur :

Quand on est lances, pourquoi s’arreter a ce dont on a besoin ? !

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 42 / 45

Page 109: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Savoir-faire

Pour etre performant, il faut :

maitriser le plus grand nombre de“trucs”

en connaitre les avantages/inconvenients

specifier des le debut (notamment les perfs)

Et pour ca

le mieux est d’en faire beaucoup et d’en jeter beaucoup. Iterer.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 43 / 45

Page 110: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

La genericite “light”

“design for change”

commencer simple (YAGNI)

rendre le code generic-friendly

designer pour l’evolutif

L’important

c’est de se fermer le moins d’options, tout en restant optimal sur ce qu’onfait maintenant.

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 44 / 45

Page 111: Morph-M et généricité en traitement d'images. · Traitements et fonctions Probl`eme no1 : duplication fonctionnelle Exemple arithm´etique : addition d’une constante « v »

Merci de votre attention

Release early, release often...

Lerallut / Enficiaud (CMM) Morph-M 30 janvier 2008 45 / 45