Skip to content

tbayetird/histopathologic-cancer-detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Présentation

Contexte

1. Présentation de Kaggle

Communauté en ligne de Data Scientist et Machine Learners. Kaggle permet aux utilisateurs de rechercher et de publier des ensembles de données, d'explorer et de créer des modèles dans un environnement informatique basé sur la science des données, de travailler avec d'autres informaticiens et ingénieurs en apprentissage automatique et de participer à des concours pour relever les défis liés à la science des données.

2. Objectif Général

En vue de mettre en pratique les connaissances acquises au cours des mois précédents nous nous proposons de participer au concours Kaggle sur la Détection histopathologique du cancer: identification des tissus métastatiques sur des scans histopathologiques de sections de ganglions lymphatiques (Histopathologic Cancer Detection, Identify metastatic tissue in histopathologic scans of lymph node sections). L'idée de ce concours sera de proposer et d'implémenter un model DeepLearning efficace pouvant atteindre un score de 90% avec des données préalablement fournies par Kaggle.
L'algorithme proposée devra pouvoir identifier des cancers métastatiques au niveau de portions d'images extraites de scans.

3. Définition des termes

  • Histopathologie : discipline médicale destinée à faire un diagnostic par l'étude microscopique de prélévements de tissus.
  • Tissu : Organization cellulaire ou ensemble de cellules
  • Métastases : Propagation d'un agent pathogène (cellules cancéreuses dans notre cas) d'un site primaire (cancer primaire) vers d'autres sites. Les nouveaux sites infectés seront également nommés Métastases.
  • Tissus métastatiques : Tissus abritant des métastases par conséquent tissus cancéreux

Données & Concours

1. Données

Les données proposées par le site Kaggle sont dérivées du dataset PatchCamelyon (PCam) dont les doublons ont été retiré. PCam est une base d'images riches cependant de petite taille contenant 327680 images en couleur de résolution (96 x 96px) extraites de scans histopathologiques de sections de ganglions lymphatiques. Vue sa taille, un model pourrai facilement exploiter ce dataset sur un GPU en quelques heures et obtenir des scores de detection de cancers assez elevés. Le jeu de données proposé comprend:

  • une série d'images d'entrainement libellées (fichier CSV) 0 et 1 (0 négatif et 1 positif)
  • une série d'images de test

2. Concours

  • Date de démarrage du concours: 16 Novembre 2018
  • Date de fin du concours: 30 Mars 2019

Les soumissions sont évaluées sur la surface sous la courbe ROC entre la probabilité prédite et la cible observée.

Objectifs

  1. Mettre en pratique les techniques de DeepLearning acquises
  2. Obtenir une première base de travail pouvant faire l'objet d'évolution. Cette base pourra être réutiliser dans le cadre d'autres travaux relatifs
  3. Implémenter un model performant et efficace avec un score minimum de 0.9 (90%) en un temps record

Méthodologie

1. Cadre de travail

  • Le code source sera stocké sur un repository Github
  • Le projet et tableau Kanbaan sera de même stocké sur Github

2. Architecture technique

L'implémentation de notre model se fera sur la base du framework DeepLearning Keras. Le projet sera structuré ainsi:

  • utils : contient les utilitaires et outils de création rapide
  • mock-data : contient un sous ensemble du jeu de données afin de pouvoir tester rapidement le model
  • models : contient nos models et/ou models importés
  • outputs : contient le résultat des travaux
  • config : contient la configuration générale (chemins des fichiers et paramétres initiaux entre autres)
Nous commencerons avec un model de base sans convolutions puis nous ferons evoluer ce model en rajoutant différentes couches convolutionnelles. Au final afin de gagner en temps on pourrai utiliser un réseau pre-entrainé en vue de faire du transfert d'apprentissage (transfert learning) et de l'ajustement (fine tuning).