TP n 1 Segmentation par classification des images.
Transcription
TP n 1 Segmentation par classification des images.
ENSICAEN 3ème année Informatique Image, M2 IMALANG TP n◦ 1 Segmentation par classification des images. 1 But du TP • Classification supervisée et non supervisée des images. • Introduction de quelques algorithmes de classification et d’apprentissage. • Comparaison de ces algorithmes en termes de complexité, de simplicité de mise en oeuvre et de performances. 2 Classification supervisée La classification supervisée requiert une étape d’apprentissage indispensable pour la classification. Le processus d’apprentissage permet à partir d’un ensemble préalablement étiqueté, de disposer de l’information nécessaire pour la prise de décision lors de l’affectation d’un nouvel échantillon qui se présente à l’entrée du classifieur. Cette information peut se décliner sous forme d’hyperparamètres (cas d’un classifieur paramétrique) ou de la probabilié a posteriori directement (cas d’un classifieur non paramétrique). Nous nous proposons ici détudier sous Pandore deux algorithmes de classification, l’un paramétrique (classifieur bayésien avec données gaussiennes), l’autre non paramétrique (les K plus proches voisins). Lors de ce TP, on utilisera l’image JellyBeans qui est une image couleur RVB chaque plan codé sur 8 bits. 2.1 Classifieur Bayesien • Charger et visualiser l’image JellyBeans. • Afficher les caractéristiques de cette image (l’opérateur pfile). • Ne s’attachant qu’aux caractéristiques photométriques de l’image, quelle est la dimension de l’espace des caractéristiques ? • Quel est le nombre de classes a priori présentes dans cette image ? 1 ENSICAEN 3ème année Informatique Image, M2 IMALANG 2.1.1 Apprentissage Cette étape sert à estimer les hyperparamètres impliqués dans la distribution supposée gaussienne des données étant données leurs classes d’appartenance (voir cours). Pour ce faire sous Pandore, nous avons construit une base d’apprentissage en sélectionnant des imagettes dans chaque catégorie de bonbon dans l’image originale. Par exemple, l’imagette rouge suppose que tous ses pixels appartiennent à la classe des bonbons rouges. Il nous faut estimer les hyperparamètres, on va donc mettre à profit les collections sous Pandore. Les opérateurs utiles seront: pim2array, parray2array, parraycovarmat, pcolcatenateitem. • Avant toute chose, convertissez l’image JellyBeans en tableau (pim2array). • Convertissez chaque attribut du tableau en réel simple précision (parray2array). Ceci est nécessaire pour les calculs suivants. • Maintenant, il faut construire la collection de la base d’apprentissage. On suit donc la suite des opérations suivantes: – Pour chaque imagette, la convertir en tableau. – Convertir chaque attribut du tableau résultant en FLOAT. – Calculer les hyperparamètres qui sont les attributs d’une collection créée par parraycovarmat. – Concaténer les collections de l’apprentissage ainsi obtenues dans une seul collection. 2.1.2 Classification • Maintenant, on peut appliquer le classifieur Bayesien (pgaussclassification) qui utilise la collection des données et celle issues de l’apprentissage. • Convertissez la collection classifiée résultante en image (parray2im). • Labeliser les classes dans l’image obtenue (pim2rg). • Visualisez le résultat, commentez. Quelles sont les limites ? Confortez votre réponse par un histogramme. 2.2 Les K plus proches voisins On veut s’affranchir des défauts du classifieur précédent en adoptant une alternative non paramétrique (KNN). Récupérer le script kppv.sh et analysez le. Repérez les étapes d’apprentissage et de classification. Appliquez cet algorithme sur la même image. Observez le résultat et commentez. Comparez au classifieur précédent. Quel est l’inconvénient majeur de cet algorithme ? 2 ENSICAEN 3ème année Informatique Image, M2 IMALANG 3 Classification non supervisée Ici, on désire se passer de l’étape d’apprentissage, le nombre de classes étant fixé a priori. • Construisez la collection d’entrée à partir de l’image d’origine en suivant les mêmes démarches que pour le classifieur Bayesien. • Appliquez l’opérateur pkmeans et observez le résultat obtenu. Commentez et comparez aux résultats précédents. Quels sont les avantages et les inconvénients de ce classifieur. Appliquez aussi l’opérateur pfuzzyclustering sur la même image. Cet opérateur n’a pas besoin d’une collection mais prend directement l’image d’entrée en argument. Proposez un choix pour l’indice de flou et étudiez son influence. Comparez aux autres classifeurs. Conclure. 3