Segmentation d'Images par Clustering

Projet de Machine Learning Non Supervisé

Type : Projet Académique
Technologies : Python, JupyterLab, Scikit-learn, Pandas
Concepts Clés : Clustering, Feature Engineering, K-means, DBSCAN
Objectif : Maîtriser le pipeline complet d'un projet IA.

Contexte et Objectifs

Ce projet, mené sur JupyterLab, consistait à segmenter un jeu de 200 images réparties en 20 catégories alimentaires. L'objectif était de maîtriser le pipeline complet d'un projet de Machine Learning : du pré-traitement des données à l'évaluation des modèles, en passant par l'étape cruciale du feature engineering.

Approche Méthodologique

La performance du clustering dépend fortement de la manière dont les images sont représentées numériquement (les descripteurs) et de l'algorithme choisi. J'ai donc mené une analyse comparative sur ces deux axes.

1. Comparaison des Descripteurs Visuels

Le choix du descripteur est crucial car il détermine l'information que le modèle utilisera pour regrouper les images.

DescripteurCe qu'il captureAtouts & Limites
HoGFormes & textures via les gradientsRobuste aux variations de couleur, mais sensible à la rotation.
Histogramme HSVDistribution des couleursIndépendant de la luminosité, mais perd l'information spatiale.
Filtres de GaborTextures à différentes fréquencesTrès précis pour les textures, mais génère des vecteurs longs.

2. Comparaison des Modèles de Clustering

J'ai implémenté deux algorithmes aux logiques fondamentalement différentes.

CritèreK-meansDBSCAN
PrincipeMinimiser la variance intra-cluster (centroïdes)Regrouper les points par densité (voisinage)
Forme des clustersSuppose des formes sphériquesPeut trouver des formes arbitraires
Gestion du bruitAssigne tous les points à un clusterCapable d'identifier les outliers (bruit)

3. Métriques d'Évaluation

Pour évaluer la qualité des clusters de manière non supervisée, j'ai utilisé plusieurs métriques :

  • Score de Silhouette : Mesure à quel point un point est similaire à son propre cluster par rapport aux autres clusters.
  • AMI (Adjusted Mutual Information) : Compare les clusters trouvés aux vraies catégories (quand elles sont connues) en corrigeant le hasard.
  • Méthode du coude : Une heuristique visuelle pour estimer le nombre optimal de clusters (K) pour K-means.

Résultats et Analyse des Expériences

Le tableau suivant résume les résultats des principales expériences menées.

ExpérienceModèleDescripteursMétriques ClésInterprétation
Couleur pureK-means (K=20)HSVSilh. 0,28Sépare bien les fruits, mais confond les pâtisseries.
Forme pureK-means (K=20)HoGSilh. 0,33Regroupe les gâteaux par leurs contours, mais mélange les fruits.
Meilleur compromisK-means (K=20)HoG + HSVSilh. 0,48 • AMI 0,7219/20 catégories bien regroupées. Le coude était net à K=20.
Détection de densitéDBSCANHoG + HSV4% d'outliersIsole un micro-cluster de "biscuits chocolatés" et gère bien le bruit.

Bilan et Apprentissages

Ce projet a confirmé que pour un problème de classification avec un nombre de catégories connu, la combinaison HoG + HSV + K-means offre un excellent équilibre performance/simplicité. Pour des problèmes plus exploratoires où le nombre de groupes est inconnu ou en présence de bruit, DBSCAN est une alternative plus robuste.