IA & données
Détection de pneumonie sur radiographies
Un ResNet50 en transfer learning qui classe des radiographies pédiatriques en « normal » ou « pneumonie », suivi d’un audit critique de mon propre modèle et d’un pipeline reproductible.
- Projet individuel
- ROC AUC de la baseline
- 0,868
- rappel pneumonie (baseline)
- 0,95
- faiblesses trouvées et corrigées
- 4
- radiographies
- 5 856
01Le point de départ
Contexte & mission
Le problème
Sur des images médicales, un bon score ne suffit pas : il faut savoir ce qu’il mesure vraiment, surtout quand les classes sont déséquilibrées et qu’un faux négatif coûte cher.
La mission
Classer les 5 856 radiographies du jeu Kermany, puis auditer et reconstruire mon propre travail.
Mon rôle
Projet mené seul : modèle, audit, reconstruction en package et documentation.
02Réalisation
Ce que j’ai fait
Baseline
ResNet50 pré-entraîné sur ImageNet, gelé, avec une tête de classification : ROC AUC de 0,868 et rappel pneumonie de 0,95.
Audit de la baseline
Quatre faiblesses identifiées : une validation de seulement 16 images, un déséquilibre de 1 pour 2,9, un prétraitement ResNet50 mal appliqué et une phase de fine-tuning qui ne s’exécutait jamais.
Reconstruction
Package Python en ligne de commande (train, evaluate, predict) : split de validation fixé par graine, pondération des classes, prétraitement propre à ResNet50, fine-tuning en deux phases.
Traçabilité
Suivi de l’AUC, de la précision et du rappel, métriques et courbes sauvegardées, et une model card.
03Conception
Architecture
Deux temps : un notebook de baseline sur Google Colab (GPU), puis un package Python en ligne de commande qui rend chaque étape reproductible, de l’entraînement à la prédiction.
- Kermany5 856 radiographies
- BaselineResNet50 gelé
- Audit4 faiblesses
- Package CLItrain · evaluate · predict
- Model cardMétriques · courbes
04Impact
Résultats
- Baseline : ROC AUC de 0,868 et rappel pneumonie de 0,95 sur les 624 images de test.
- Quatre biais de la baseline identifiés et corrigés dans la reconstruction.
- Un pipeline reproductible en ligne de commande, documenté par une model card.
05Bilan
Ce que j’en retiens
Ce que ce projet démontreQue je sais critiquer mon propre modèle, corriger ce qui fausse les résultats et livrer un pipeline reproductible plutôt qu’un notebook isolé.
06Technologies
Stack complète
- Python
- TensorFlow
- Keras
- ResNet50
- scikit-learn
- NumPy
- pandas
- Matplotlib
- Google Colab