2026
CAMELYON17 - Détection de Métastases
Système d'IA médicale pour la détection de métastases cancéreuses dans des images histopathologiques (H&E). Classification patch-level avec CNN (ResNet, EfficientNet) et agrégation patient-level (pN-staging), avec interprétabilité Grad-CAM.

fig. 01 · Patches H&E de 224 px : tissu normal en haut, tumoral en bas
Ce projet de recherche en IA médicale vise à détecter automatiquement les métastases cancéreuses du sein dans des images histopathologiques (coloration H&E) en utilisant le dataset de référence CAMELYON17. Le système effectue une classification au niveau patch (224x224 pixels) avec des architectures CNN (ResNet, EfficientNet), puis agrège les résultats au niveau patient pour la classification pN-stage (pN0 à pN3). Le projet intègre la gestion du domain shift multi-hôpital (5 sources), le déséquilibre de classes, et l'interprétabilité médicale via Grad-CAM et visualisation d'attention. La priorité est donnée à la sensibilité pour minimiser les faux négatifs (tumeurs manquées).
Domain shift entre 5 hôpitaux

fig. 02 · Variation des colorations entre les 5 centres, avant normalisation (notebook de préparation)
Les patches viennent de 5 hôpitaux aux protocoles de coloration différents. Les histogrammes RGB par centre montrent l'écart avant normalisation ; la réponse est une normalisation de coloration et des augmentations spécifiques à l'histopathologie.
Déséquilibre de classes

fig. 03 · Distribution des classes du dataset CAMELYON17 (notebook d'exploration)
688 426 patches normaux contre 7 392 tumoraux, soit 1,06 % de la classe positive. Le déséquilibre est traité par une loss focale, une cross-entropy pondérée et un rééchantillonnage des batchs.
Entraînement EfficientNet

fig. 04 · Courbes d'entraînement de l'EfficientNet-B2 multi-centres (notebook d'entraînement)
Plusieurs architectures CNN (ResNet, EfficientNet) sont entraînées avec early stopping et checkpointing. Ici l'EfficientNet-B2 multi-centres : loss, AUC de validation, sensibilité et spécificité par epoch, learning rate en cosine annealing.
Évaluation ROC et PR

fig. 05 · Courbes ROC et précision-rappel du meilleur modèle sur le jeu de test (notebook d'inférence)
L'évaluation repose sur des métriques médicales : sensibilité, spécificité, AUC-ROC. La priorité va à la sensibilité pour limiter les faux négatifs, d'où le seuil de décision placé sur la courbe ROC.
Agrégation patient-level

fig. 06 · Agrégation par ganglion pour un patient pN1 (notebook d'inférence)
Les prédictions patch-level sont agrégées par ganglion puis par patient pour la classification pN-stage (pN0 à pN3). Pour chaque patient, le ratio de patches prédits positifs par ganglion est comparé au ratio tumoral réel.
fig. 07

Matrice de confusion patch-level : 83 faux négatifs sur 503 patches tumoraux, sensibilité 83,5 %
fig. 08

Un batch rééquilibré par WeightedRandomSampler : 14 tumeurs sur 32 patches
Défis
- Gestion du domain shift entre les 5 hôpitaux sources avec protocoles de coloration différents
- Déséquilibre de classes sévère entre patches normaux et tumoraux
- Optimisation de la sensibilité pour minimiser les faux négatifs (criticité médicale)
- Agrégation des prédictions patch-level vers le diagnostic patient-level (pN-staging)
Solutions
- Normalisation de coloration et augmentations spécifiques à l'histopathologie
- Loss focale et cross-entropy pondérée pour gérer le déséquilibre de classes
- Architectures ResNet et EfficientNet avec early stopping et checkpointing
- Grad-CAM et visualisation d'attention pour l'interprétabilité médicale
Résultats
- Pipeline complet : exploration → prétraitement → entraînement → évaluation → interprétabilité
- Analyse du domain shift par source hospitalière
- Métriques médicales : sensibilité, spécificité, AUC-ROC
- 6 notebooks Jupyter couvrant le pipeline de bout en bout
Technologies
Python · PyTorch · ResNet · EfficientNet · Grad-CAM · OpenCV · Scikit-learn · Plotly