• Aucun résultat trouvé

Interprétation sémantique des textures

15. retourner hatc ∈ C

Algorithme k-medoids L’algorithme k-medoids [222, 118] est un algorithme de classification non- supervisé basé sur le même principe que les k-means pour le partitionnement des données. La seule différence qui existe est que les centres des classes pour l’algorithme k-medoids représentent des objets ou instances les plus représentatifs des classes. D’où vient le terme medoid. L’algorithme est donné ci-dessous en considérant les mêmes annotations du k-means :

Notre proposition: méthode ǫ-distancemax La méthode que nous proposons ici combine les deux

aspects supervisé et non-supervisé [134]. L’idée sur laquelle nous nous sommes reposés découle de nos observations expérimentales : la différence entre textures proches sémantiquement est faible alors que pour deux textures différentes sémantiquement, pouvant provenir de la même classe visuelle, la différence est significative. Cela est illustré par la figure 6.3. Les textures 6.3(a) et 6.3(b) appartiennent à deux classes différentes (« raffia » et « brick ») mais à la même classe sémantique (faible contraste), leurs différence est de l’ordre de 0,088 alors que pour les deux textures 6.3(b) et 6.3(c) provenant de la même classe visuelle (« brick ») mais appartenant à deux classes sémantiques différentes (faible contraste et fort contraste respectivement) leurs différence est de 0,697. La différence est nette entre les classes.

De ces constats, pour répartir nos textures en classes sémantiques disjointes, nous proposons d’utili- ser la distance maximale comme méthode discrétisation de nos attributs de texture. Les points de décou- page optimaux correspondent aux plus grandes différences entre deux valeurs consécutives. L’utilisation de l’algorithme à ce stade est non-supervisé entraînant deux inconvénients. Le premier concerne la mul- tiplicité d’intervalles obtenus de taille faible éventuelle et le second est lié au découpage, deux textures appartenant à la même classe sémantique peuvent être séparées en deux classes différentes (les textures

Algorithme 8 k-medoids

1. pourc∈ C

2. mc ← xi|xi ∈ X // Initialisation aléatoire des centres

3. c← {xi∈ X|minq∈Ckxi− mqk2 =kxi− mck2} // Affectation des instances

4. fin pour

5. tant que∃c ∈ C|mc 6= vc

6. pourxi∈ X

7. d2ic ← kxi− vck2

8. x∗i ← argminid2ic //Détection des medoids

9. vc ← x∗i // Affectation des medoids aux centres

10. fin pour

11. fin tant que

(a) <0, 0601 > (b) <0, 1483 > (c) <0, 8460 >

des bornes notamment). Pour pallier à ces inconvénients, nous avons rajouté deux contraintes : la taille minimale des classes doit être supérieur à 10% de la base afin d’éliminer les petits intervalles non-

significatifs. La deuxième contrainte liée à un mauvais découpage fait introduire le jugement de l’expert. Après l’identification des classes de taille significative reflètant d’une certaine manière la répartition des textures, l’expert intervient pour valider ou pas les classes obtenues. Son intervention conduit au réglage des bornes du découpage initailes, il s’agit du termeǫ, qui peuvent être réduites (−ǫ) ou avancées (+ǫ).

Nous résumons l’algorithme comme suit : 1. tri des données

les valeurs correspondantes à chaque descripteur sont triées en ascendant. 2. initialisation des bornes

les différencesd entre valeurs consécutives ainsi que les premières bornes de découpage α sont

estimées par :

∀i ∈ [1, n] di=kxi+1− xik

et :

αc = argmaxi∈c{di}

3. élimination des intervalles faibles

à ce stade, on calcule le nombre d’instances dans chaque partition obtenue, si le nombre est infé- rieur à10% du nombre total dans la base, cette partition sera fusionnée avec la partition adjacente.

Les étapes (2) et (3) sont répétées jusuq’à validation de contraintes. 4. identification des bornes de découpage finales

Après identification des pré-partitions par les étapes (2) et (3), l’expert intervient pour valider les bornes finalesαi. Le paramètreǫ correspond à une valeur subjective que l’expert juge représenta-

tive d’une classe sémantique :

α∆

c = αc± ǫ

6.3.1.2 Discrétisation floue

Du fait des transitions brutales entre les différentes classes dans le cas de la discrétisation stricte qui réellement sont imprécises et peuvent manquer de représentativité sémantique en particulier lorsque le nombre des données dont les valeurs aux frontières (bornes) des classes est important. L’intégration des ensembles flous dans le processus de discrétisation permet donc une gestion graduelle des données en évitant le problème de transitions abruptes entre les classes.

En principe, la discrétisation floue [264] est identique à la discrétisation stricte qui cherchent à re- grouper un ensemble den données en k groupes homogènes. Elle en diffère par le fait que les classes

obtenues peuvent se chevaucher et les fonctions d’appartenance ne sont pas exclusives. Chaque classe est considérée comme un ensemble flou et un degré d’appartenance de chaque observation à chacune d’entre elles est calculé [62]. Dans ce cadre, on peut citer les méthodes neuronales qui incluent l’apprentissage des paramètres déterminant les fonctions d’appartenance [132], ou encore les méthodes basées sur la re- cherche d’une partition floue la plus discriminative en utilisant une mesure d’entropie floue [207]. Dans ce travail, nous nous focaliserons sur les méthodes de regroupement flous à savoir l’algorithme FCM (Fuzzy C-Means) et l’algorithme GG (Gath-Geva).

Une partition den données en k classes peut être décrite par une matrice de partition floue à n lignes

etk colonnes de terme général µikà valeurs dans[0, 1]. Le terme µikreprésente le degré d’appartenance

de la donnéexià la classek et vérifie les conditions suivantes :

µik ∈ [0, 1] ∀1 ≤ i ≤ N, 1 ≤ k ≤ c c P k=1 µik = 1 ∀1 ≤ i ≤ N 0 < N P i=1 µik< N ∀1 ≤ k ≤ c (6.7)

Ces conditions signifient qu’un vecteur appartient à plusieurs classes (à divers degrés) et qu’aucune classe n’est vide.

Algorithme FCM L’algorithme FCM, introduit par Dunn [69] et amélioré par Bezdek [16], généralise la méthode des k-means pour le calcul des centres des différentes classes. Il consiste à minimiser itérati- vement une fonction objective J qui utilise comme mesure d’homogénéité de la partition, la somme des distances entre chaque donnée aux différents centres, pondérées par son degré d’appartenance à chacun d’eux : Jm=X c∈C n X i=1 (µic)mkxi− mck2 (6.8)

oùm est un paramètre qui contrôle le degré flou de la partition (m > 1) et mc le centre de la classek.

L’algorithme débute avec une initialisation aléatoire desµik, recalcule les centres des classes puis met à

jour la partition en recalculant de nouveaux lesµik. Cette procédure est réitérée et s’arrête si un nombre

d’itérations maximal est atteint ou si le changement des degrés d’appartenance entre deux itérations successives n’est pas significatif (inférieur à un seuil prédéfini). L’algorithme est détaillé dans 9 :

Algorithme 9 FCM

1. initialisation aléatoire de la matrice de partitionU = [µic], U(0)