Pour classer les images, on classe leurs représentants c’est-à-dire les signatures. Cette sec-tion donne la démarche suivie pour la classificasec-tion. 6.2.1 Algorithme d’extraction d’attributs et de création des descripteurs Maintenant que les outils de traitement d’images et d’extraction d’attributs ont été présentés dans les chapitres précédents, nous allons présenter notre méthode de création de vecteurs descripteurs. pourchaque image de la base Ifaire pourchaque espace couleur Efaire pourchaque niveau de résolution nfaire T = ondelette(I,E,n) vecteurAttributs[ I ] = extraireAttributs(T) finpour finpour stockerBD(vecteurAttributs[ I ]) finpour FIG. 6.4 – Algorithme d’extraction des attributs Dans cette première partie, on lit les images de la base une par une, chacune d’entre elles est transformée en ondelettes, cette transformation fournit une image multirésolution (àn ni-veaux) dont on extrait un vecteur descripteur contenant tous les attributs extraits à toutes les résolutions. Ce vecteur descripteur est stocké dans la base de données. Ensuite vient la phase de création des signatures. 6.2.2 Création des signatures Les signatures sont créées par une organisation hiérarchique des attributs issus des vecteurs descripteurs de l’image sous la forme de quatre vecteurs signature. En fonction des connaissances de l’utilisateur sur une base d’images, il y aura deux possibilités : – L’expert pourra créer sa propre signature en choisissant les attributs et la façon de les organiser en plusieurs vecteurs. – l’utilisateur non-expert se verra proposer un certain nombre de signatures (pré-établies par un expert) selon la requête qu’il veut résoudre. Il n’y a pas d’algorithme à proprement parler pour créer les signatures, il y a juste lecture des attributs dans les vecteurs descripteurs, sélection et organisation par l’expert et écriture dans la base de signature utilisée pour la création de l’arbre de recherche. 6.2.3 Création de l’arbre récursif Par définition, unarbreest un élément récursif n-aire qui possède une racine qui a de0 à n−1fils, chacun des fils étant un arbre (ayant à son tour de0àn−1fils). . . Cette définition récursive permet d’utiliser des algorithmes récursifs de création et de re-cherche (selon une stratégie : en largeur d’abord, en profondeur d’abord. . .). Un arbre possède uneracine qui est la base de l’arbre. Il y a ensuite desnœudsnon-terminaux (ayant0 àn−1 fils) et des nœuds terminaux (lesfeuilles) n’ayant pas de fils. On définit lacardinalitéde l’arbre comme le nombre de fils de chaque nœud non-terminal. La création de l’arbre utilise par définition les propriétés de la récursivité. L’arbre est construit par séparation successives des images en classes à chaque niveau. Plus on descend en profon-deur dans l’arbre, moins on trouve d’images dans chacune des classes. La figure 6.5 donne un exemple d’arbre binaire à quatre niveaux. Lors du parcours de l’arbre, on passe d’abord par la racine, puis par les nœuds pour arriver aux feuilles. 6.2.3.1 Choix du critère de changement de niveau de signature Dans la procédure de classification, on utilise quatre vecteurs signature de taille croissante (4, 6, 8 et 10 attributs par exemple). On utilise d’abord le vecteur le plus court (4 attributs) lorsqu’il y a beaucoup d’images à classer (classement grossier mais rapide). Puis au fur et à mesure de la classification, il y a de moins en moins d’images à classer à chaque niveau de l’arbre. On peut donc affiner la recherche en passant à des vecteurs signature de plus grande taille. FIG. 6.5 – Un exemple d’arbre binaire de recherche. La vitesse de création de l’arbre est peu importante puisque les calculs sont effectués hors-ligne. Cependant, pour des tailles raisonnables de bases de données (inférieur à 10 000 images), on peut envisager de réaliser la classification en ligne pour prendre en compte une technique de bouclage de pertinence avec apprentissage. Dans ce cas, il est très intéressant de disposer d’une méthode qui utilise des vecteurs de petite taille en nombres entiers afin d’obtenir des temps de calculs très faibles. Dans la procédure de création de l’arbre de recherche, il faut définir le moment de change-ment de vecteur signature et donc lecritère de changement de niveau de signature. 6.2.3.2 Choix du critère d’arrêt de la construction de l’arbre Un autre choix important dans la construction récursive d’un arbre est le critère d’arrêt. Il faut définir dans l’appel de la procédure récursive une condition qui, si elle est vérifiée, va mettre un terme à la branche de l’arbre que l’on est en train de construire pour la transformer en feuille de l’arbre. Lecritère d’arrêt peut être une mesure qualitative et/ou quantitative sur la branche en cours de traitement. Par exemple, un critère qualitatif peut être : on découpe le nœud actuel si la distance inter-classe est inférieure à un seuil fixé. Un critère quantitatif peut être : le nombre d’images en dessous duquel on ne découpe plus la famille obtenue. Ou bien on peut envisager un critère mixte : on ne découpe que si la famille contient un nombre donné d’images et que la distance inter-classes est inférieure à un seuil donné. 6.2.3.3 Algorithme de création de l’arbre récursif L’algorithme de création de l’arbre récursif est donné ci-dessous : Procédurearbre( liste-images, niveau-vecteur-signature, nombre-familles ) début v = vecteur[niveau-vecteur-signature] list-images[j] = kmeans( liste-images, v ) // j = 1...nombre-familles sicritère-changement-niveau est vérifié alors siniveau-vecteur-signature < 4 niveau-vecteur-signature = niveau-vecteur-signature + 1 finsi finsi sicritère d’arrêt n’est pas vérifié alors pouri de 1 à nombre-famillesfaire arbre( list-images[i], niveau-vecteur-signature ) finpour finsi fin Dans cette phase de classification, la définition de la cardinalité de l’arbre s’est inspirée de la perception psycho-visuelle. Afin de ne pas surcharger la mémoire à court terme de l’utilisateur du système, la cardinalité de l’arbre a été volontairement limitée. Cette cardinalité suit la règle bien connue des psychologues : 7±2 qui signifie qu’un individu ne peut à un instant donné mémoriser dans sa mémoire à court terme que sept (plus ou moins deux selon les individus) concepts. Dans notre cas, cela signifie simplement qu’on ne peut pas proposer aux utilisateurs du système plus de sept images pour la recherche car l’utilisateur serait incapable de les comparer correctement à l’image qu’il recherche et qu’il est le seul à visualiser. Le critère de changement de niveau de signature et le critère d’arrêt seront définis dans la partie implémentation au chapitre 7. Dans le document Analyse multirésolution pour la recherche et l'indexation d'images par le contenu dans les bases de données images - Application à la base d'images paléontologique Trans'Tyfipal (Page 95-98)