Segmentation sémantique appliquée à la mode
Contexte & Objectif
Une agence de conseil en marketing digital les plus influentes dans l’industrie de la mode a lancé un projet ambitieux « Fashion Trend Intelligence » visant à développer un système d’analyse des tendances vestimentaires sur les réseaux sociaux. L’objectif principal étant d’offrir aux marques clientes des informations précises et en temps réel sur les nouvelles modes émergentes.
Le système aura les fonctionnalités suivantes :
1 – Segmentation vestimentaire : Etre capable d’identifier et d’isoler avec précision chaque pièce vestimentaire dans une image.
2 – Analyse stylistique : Etre capable de classifier les pièces selon leur nature, couleur et style.
3 – Agrégation de tendances : Etre capable de compiler ces données sur des milliers de publications pour identifier les tendances émergentes.
J’interviens, dans ce projet, au développement de la première fonctionnalité. Je suis, entre autre, chargée de tester si le modèle « segformer_b3_clothes » de Hugging Face peut identifier les différentes pièces vestimentaires dans des images.
Outils & Méthodes
Langage : Python (ipykernel, jupyterlab, matplotlib, mlflow, numpy, pandas, pillow, python-dotenv, request, scikit-learn, tqdm, …)
Autres éléments : Github, Git, Visual Studio Code, Terminale, UV (=package manager), Hugging Face.
Étape 0 – Configuration de l’environnement de travail
- Création d’un environnement Python isolé afin d’éviter les conflits de dépendances entre projets.
- Installation des bibliothèques nécessaires au projet (traitement d’images, visualisation, appels API, manipulation de tableaux…)
- Configuration de l’environnement de développement sous Visual Studio Code, avec un kernel Jupyter relié à l’environnement virtuel.
- Gestion sécurisée des secrets via un fichier .env pour stocker le token API Hugging Face, exclu du versionnement grâce à .gitignore.
- Vérification du bon fonctionnement de l’environnement (imports, exécution de scripts simples, accès à l’API)
Cette étape garantit un cadre de travail stable, sécurisé et reproductible pour la suite du projet.
Étape 1 – Obtention du Token API Hugging Face
- Création et configuration d’un token d’API Hugging Face avec des permissions limitées à l’inférence, conformément aux bonnes pratiques de sécurité.
- Stockage sécurisé du token et test de la validité du token.
- Compréhension du fonctionnement de l’API d’inférence (requêtes HTTP, headers, content-type, payload binaire)
- Identification de l’URL du modèle de segmentation et test des premiers appels API pour vérifier la communication entre le code Python et le service distant.
Cette étape permet de valider l‘accès au modèle.
Étape 2 – Structuration du pipeline d’inférence
- Analyse du pipeline d’inférence : envoi d’une image -> prédiction du modèle -> réception des masques encodés
- Gestion des formats d’entrée (PNG, JPEG) et des headers HTTP associés
- Mise en place de fonctions utilitaires :
-
-
- décoder les masques encodés en base 64
- récupérer les dimensions des images
- associer les identifiants des classes à des catégories sémantiques (vêtements, accessoires, arrière-plan)
- construction d’un masque de segmentation finale, combinant les masques individuels par classe en une seule carte de labels
-
-
Cette étape est essentielle pour passer d’une réponse brute de l’API à un résultat exploitable et interprétable.
Étape 3 – Chargement et validation du jeu de données d’images
- Organisation du jeu de données local (images et masques réels fournis).
- Vérification de l’intégrité des fichiers (images non corrompues, masques lisibles)
- Vérification de la correspondance image <-> masque réel (noms, dimensions)
- Chargement effectif des images et masques en mémoire, afin de s’assurer qu’ils peuvent être utilisés sans erreur dans le pipeline Python.
- Prétraitement léger des images (redimensionnement) pour optimiser les temps d’inférence.
Cette étape permet de d’éviter des erreurs silencieuses et de fiabiliser toute la suite du projet.
Étape 4 – Développement du script d’analyse de segmentation + visualisation et analyse quantitative des résultats
- Segmentation d’une image unique puis Segmentation en batch sur l’ensemble des images fournies.
- Gestion des erreurs d’inférence (vérification du statut HTTP, timeouts, images non traitées, …) sans interrompre le traitement global.
- Mise en place de visualisations côte à côte :
-
-
- Image originale,
- Masque prédit,
- Masque réel (ground truth)
-
-
- Application d’un code couleur cohérent pour représenter les différentes catégories de vêtements.
- Analyse qualitative des résultats, en identifiant :
-
-
- les points forts du modèle,
- les erreurs récurrentes,
- les ambiguïtés entre classes proches.
-
-
Cette étape permet de comprendre concrètement le comportement du modèle au-delà des simples chiffres.
Étape 5 – Evaluation quantitative, montée en charge et bilan du projet
- Choix d’une métrique pertinente pour la segmentation : l’Intersection over Union, calculé par classe puis moyenné (mIoU).
- Mise en place d’une méthode de validation via un découpe du jeu de données (train/validation/test).
- Calcul d’un mIoU global (~0.59) sur un sous ensemble de test, interprété comme une indication de performance.
- Analyse des performances par classe, identification des classes les plus er moins bien segmentées.
- Estimation de la montée en charge pour 500 000 images sur 30 jours, en tenant en compte de la variabilité des temps d’inférence.
- Estimation du coût d’un déploiement sur un endpoint CPU dédié, montrant la viabilité économique de la solution.
- Bilan global du projet :
-
-
- Défis : ambiguité sémantiques de certaines classes proches pouvant être amélioré en raffinant ou regroupant certaines classes.
- Pistes d’amélioration du modèle : endpoint dédié, parallélisation contrôlée, jeu de test élargi.
- Applications métier potentielles : analyse automatisée des tendances vestimentaires, veille concurrentielle, catégorisation et indexation des photos, aide à la décision produit.
-
-
- Sensibilisation au RGDP et Ai-Act : pas d’identification des individus, pas de reconnaissance faciale, usage limité à la segmentation de vêtements, pas d’impact juridique ou social, pas de décision automatisée sur les individus.
Cette étape clôt le projet en reliant les résultats techniques à des enjeux concrets de production et de business.
Résultats & Livrables
- Pipeline de segmentation sémantique opérationnel
- Visualisation claires des prédictions du modèle
- Evaluation quantitative et qualitative des performances
- Noteboook documenté et reproductible
Quelques exemples de visualisation sur la segmentation d’image :




