Demi brique Projet
Classification d'images satellitaires
multi-sources par des
algorithmes génétiques
Juin 2003
Nicolas Sénéchal
Thomas Mansi
Sommaire
Introduction
Quelques Généralités
Principe des algorithmes génétiques
Les QuadTrees
L’algorithme de segmentation et son implémentation
Le principe général
Les fonctions génétiques : le cross-over
Les fonctions génétiques : la mutation
Implémentation
Nos résultats
Protocole de test
Résultats obtenus
Critiques, améliorations
Bibliographie
Conclusion
Introduction
Ce projet consiste à utiliser un algorithme génétique pour la segmentation d’image satellitaire
multi-sources.
Ayant fait du traitement des images et de l’intelligence artificielle auparavant, nous voulions
travailler sur un thème qui réunissait les deux mondes. Les algorithmes génétiques étant très
porteurs et efficaces, nous avons eu l’idée de les utiliser dans le traitement des images.
L’article de Minglun Gong et Yee-Hong Yang, Genetic-based multiresolution color image
segmentation nous a alors permis d’implémenter une méthode de segmentation efficace avec
ce type d’algorithme.
Nous avons alors pu vérifier que le principe fonctionnait bien mais aussi étudier l’influence
des paramètres sur le résultat. Enfin, une comparaison avec les kmeans a pu être faite.
Dans ce document nous exposerons la méthode utilisée et les fonctions considérées pour les
opérations génétiques. Ensuite, nous exposerons les résultats que nous avons obtenus, sous un
regard critique. Enfin, une partie sur la bibliographie nous a semblé utile en considérant le
temps que nous avons pu passer dessus pour trouver une méthode efficace.
Quelques Généralités
Nous allons introduire ici les deux concepts généraux qui nous ont servi lors du projet. Tout
d’abord une très brève description des algorithmes génétiques sera donnée afin d’avoir une
petite idée sur leur mode de fonctionnement.
Ensuite, nous présenterons les quadtrees, structure que nous avons utilisée pour coder l’image
à segmenter et qui sera le code génétique de chaque individu.
Principe des algorithmes génétiques
Les algorithmes génétiques sont des algorithmes d’optimisation qui s’inspirent des
mécanismes de l’évolution. En effet, ils reposent sur le principe d’hérédité.
Fondamentalement ce genre d’algorithme permet d’optimiser une fonction grâce aux
mécanismes de l’évolution. A partir du moment où un problème peut se transformer en
problème d’optimisation il peut être traité par ces algorithmes.
Le mécanisme global est le suivant. Une population est composée d’individus dont le génome
code une solution de la fonction à optimiser. Ces individus vont s’accoupler et donner des
enfants. Lors de la reproduction les génomes peuvent subir des cross-overs et des mutations,
comme dans la réalité. Puis, une sélection se fait parmi l’ensemble parents – enfants. On peut
choisir les meilleurs, tous les enfants plus les meilleurs parents, au hasard etc. Toutes ces
modalités vont modifier le comportement de l’algorithme, sa vitesse de convergence, etc.
Notons qu’une sélection s’opère aussi lors du choix des parents à la reproduction. On peut
forcer les meilleurs à se reproduire entre eux ou bien faire un choix au hasard par exemple. Là
encore cela aura une influence sur le résultat, la vitesse de convergence, etc.
Tout comme dans la réalité, l’évolution n’est ni rapide, ni constante. En effet, il peut exister
des paliers qui peuvent parfois durer plusieurs générations mais qui ne représentent pas le
résultat escompté ! Les paramètres comme la probabilité de mutation, de cross-over, le
nombre de point de coupure lors d’un cross-over, les stratégies de sélection peuvent changer
le comportement de l’évolution.
L’algorithme génétique consiste donc à faire « reproduire » des individus afin d’obtenir la
solution optimale de la fonction d’évaluation. Celle-ci va donc assurer la convergence de
l’algorithme (au moyen de la sélection) mais aussi son arrêt. Si un individu satisfait la
fonction dans des critères choisis par le programmeur, il peut être alors considéré comme la
solution optimale au problème.
Le thème étant vaste et complexe, nous ne rentrerons pas dans le détail de ce type
d’algorithme. Par contre, nous emploierons la terminologie utilisée dans le domaine,
terminologie que nous avons introduit dans ce paragraphe.
Les QuadTrees
Un quadtree est un arbre dont les nœuds possèdent quatre fils.
Cette structure est très souvent utilisée en traitement des images car elle permet d’avoir des
informations de voisinage, de région etc. très facilement.
Pour obtenir un quadtree à partir d’une image il suffit de la diviser en quatre zones de même
surface, récursivement, et d’attribuer une subdivision à un nœud. Les feuilles correspondent
alors aux pixels. Il y a donc autant de feuilles que de pixels.
Si la construction d’un quadtree à partir d’une image est plutôt simple, il convient tout de
même de se fixer une convention au niveau de la correspondance région / nœud et donc de la
numérotation des noeuds.
En effet, on peut soit faire un parcours en profondeur de l’arbre (0 la racine, 1 le carré de
taille T/2 (T est la taille de l’image) en haut à gauche, 2, le carré de taille T/4 en haut à
gauche, etc… jusqu’au pixel en haut à gauche, puis c’est le pixel à sa droite, puis en dessous
à droite, puis en dessous, puis on remonte, etc.), soit un parcours en largeur (0 la racine, 1, 2,
3 et 4 les quatre sous zones, etc.).
Ces deux méthodes possèdent leurs avantages et leurs inconvénients. Toutefois, bien que la
construction de l’arbre soit plus compliquée pour la convention du parcours en largeur, il
permet d’avoir des formules très simples pour l’accès au père, aux frères, aux fils, d’un nœud.
Ainsi, c’est cette méthode qui sera le plus adapté si nous voulons coder le quadtree par un
tableau. Chaque case contiendra la région de numéro sa position dans le tableau ! Le parcours
d’arbre est alors immédiat. Par contre, nous perdons toute notion de voisinage de pixel avec
ce codage. Nous verrons plus loin comment nous nous en sommes sortis.
Ainsi, nous avons les formules très simples de parcours d’arbre :
¾ Nœud 0 : la racine, qui correspond à l’image entière.
¾ 4k + 1, 4k + 2, 4k + 3 et 4k + 4 les quatre fils du nœud k (et donc les 4 subdivisions de
la zone k de l’image).
¾ (k – 1) / 4 le père du nœud k si ce n’est pas la racine
Nous confondrons désormais zone de l’image et nœud.
1 / 19 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !