TP Classification
Ce TP vise à développer un algorithme de classification automatique d’images représentant les quatre figures de cartes : cœur, trèfle, diamant et pique. Les images présentent des variations de taille et d’orientation. Le travail consiste à extraire des caractéristiques invariantes (moments centraux, moments normalisés, moments de Hu) permettant de distinguer ces classes.
D'après le document TP Classification
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Machine Learning, Image Processing · DOCX · 8 pages
Ce TP vise à développer un algorithme de classification automatique d’images représentant les quatre figures de cartes : cœur, trèfle, diamant et pique. Les images présentent des variations de taille et d’orientation. Le travail consiste à extraire des caractéristiques invariantes (moments centraux, moments normalisés, moments de Hu) permettant de distinguer ces classes. Ce TP introduit également la méthode de validation croisée k-fold et la sélection de caractéristiques. Pour réaliser ce TP, il faut disposer d’une base d’images classifiées et d’un environnement de calcul capable de traiter ces images et calculer les moments.
Objectifs
- Segmenter des images pour isoler les formes d’intérêt.
- Extraire et calculer des caractéristiques invariantes (moments de Hu) à partir des images.
- Diviser une base de données en ensembles d’apprentissage et de test.
- Effectuer une sélection de caractéristiques basée sur la variance.
- Mettre en œuvre un algorithme de classification et évaluer ses performances via une matrice de confusion.
- Comprendre les principes de base du machine learning appliqués à la classification d’images.
Prérequis et installation
- Connaissances de base en traitement d’images (segmentation, seuillage).
- Notions fondamentales sur les moments géométriques et les moments de Hu.
- Environnement de programmation permettant de manipuler des images et calculer des caractéristiques (ex : Python avec OpenCV ou MATLAB).
- Base de données d’images des quatre classes (cœur, trèfle, diamant, pique) avec variations d’orientation et de taille.
- Fonction de seuillage déjà développée pour la segmentation.
Segmentation des images
La première étape consiste à segmenter les images pour isoler les formes des cartes. Cette étape est cruciale car elle permet d’extraire uniquement la région d’intérêt avant le calcul des caractéristiques.
Pour cela, utilisez la fonction de seuillage développée afin de transformer l’image originale en une image binaire où la forme est clairement détachée du fond.
<img src="data:image/png;base64,..." alt="Après le seuillage"/>
Un résultat correct montre une silhouette nette de la figure, sans bruit ni éléments parasites.
Sélection des données
Avant d’entraîner le modèle, il faut organiser la base de données en quatre classes distinctes : pique, cœur, diamant et trèfle. Chaque classe doit contenir des images variées en taille et orientation.
Divisez la base en deux ensembles :
- 65 % des données pour l’apprentissage (training data).
- 35 % des données pour la validation et le test (test data).
Assurez-vous que les données de test ne contiennent pas d’images présentes dans l’ensemble d’apprentissage afin d’évaluer correctement la capacité de généralisation du modèle.
<img src="data:image/png;base64,..." alt="Test Data"/>
Extraction des caractéristiques
Pour chaque image, calculez les moments géométriques du contour, en particulier les moments de Hu (Hu1, Hu2, Hu3, Hu4). Ces moments sont des descripteurs invariants aux transformations telles que la translation, la rotation et le changement d’échelle.
Calculez ces moments pour toutes les images de chaque classe et stockez-les dans quatre tableaux distincts correspondant aux classes cœur, trèfle, diamant et pique.
Observez que les valeurs des moments de Hu varient légèrement au sein de chaque classe, ce qui est normal en raison des variations d’orientation et de taille.
Sélection des caractéristiques
La sélection des caractéristiques vise à réduire le sur-ajustement et à améliorer la précision du modèle en ne conservant que les descripteurs les plus pertinents.
Analysez la variance de chaque moment de Hu au sein des classes. Le moment dont la variance est la plus faible est considéré comme le plus stable et discriminant.
Dans ce TP, Hu4 présente la variance la plus faible pour la majorité des classes. Par conséquent, seul Hu4 est retenu comme caractéristique principale pour la classification.
La méthode « forward » de sélection, qui consiste à construire progressivement un vecteur de caractéristiques, est ici simplifiée car seules quatre caractéristiques existent, et la sélection se limite à Hu4.
Test et matrice de confusion
Une fonction de matching a été développée pour prédire la classe d’une image test à partir de la caractéristique Hu4.
Numérotez les images de test pour faciliter la lecture de la matrice de confusion.
| Input\output | Cœur | Trèfle | Pique | Diamond |
|---|---|---|---|---|
| 0 (cœur) | 1 | 0 | 0 | 0 |
| 1 (cœur) | 1 | 0 | 0 | 0 |
| 2 (cœur) | 1 | 0 | 0 | 0 |
| 3 (cœur) | 1 | 0 | 0 | 0 |
| 4 (cœur) | 1 | 0 | 0 | 0 |
| 5 (cœur) | 0 | 1 | 0 | 0 |
| 6 (Diamond) | 0 | 0 | 0 | 1 |
| 7 (Diamond) | 0 | 0 | 0 | 1 |
| 8 (trèfle) | 0 | 1 | 0 | 0 |
| 9 (trèfle) | 0 | 0 | 0 | 1 |
| 10 (trèfle) | 0 | 1 | 0 | 0 |
| 11 (trèfle) | 0 | 1 | 0 | 0 |
| 12 (trèfle) | 0 | 1 | 0 | 0 |
| 13 (pique) | 0 | 0 | 1 | 0 |
| 14 (pique) | 0 | 0 | 1 | 0 |
| 15 (pique) | 0 | 0 | 1 | 0 |
| 16 (pique) | 0 | 0 | 1 | 0 |
La matrice montre que 3 erreurs ont été commises, ce qui correspond à une précision globale de 82 %.
Résultats attendus
- Images segmentées correctement, avec un contour net des figures.
- Extraction des moments de Hu pour chaque image, avec une légère variation intra-classe.
- Identification de Hu4 comme caractéristique la plus stable et discriminante.
- Prédictions sur les données test avec une précision d’environ 82 %.
- Matrice de confusion reflétant les erreurs de classification et permettant d’identifier les classes les plus confondues.
Pièges courants
- Une segmentation incorrecte peut entraîner des caractéristiques erronées et fausser la classification.
- Ne pas séparer correctement les données d’apprentissage et de test peut conduire à une surestimation des performances.
- Choisir une caractéristique avec une variance élevée réduit la capacité discriminante du modèle.
- Ne pas numéroter les données de test complique l’interprétation de la matrice de confusion.
- Confondre les classes trèfle et diamant, souvent proches visuellement, est une source fréquente d’erreur.
Commentaires
Aucun commentaire pour le moment. Posez la première question.