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