Tous les projets

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

De la baseline au pipeline reproductible
  1. Kermany5 856 radiographies
  2. BaselineResNet50 gelé
  3. Audit4 faiblesses
  4. Package CLItrain · evaluate · predict
  5. 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émontre

Que 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