[PYTHON] [Enquête] Kaggle --Data Science Bowl 2017, solution pour la 2e place
Il s'agit d'une enquête sur la solution de deuxième place du concours de détection du cancer du poumon de Kaggle Data Science Bowl 2017 [^ 1](ci-après dénommé DSB2017).
- Names: Julian & Daniel
- Title: Very quick 1st summary of julian's part of 2nd place solution.
- URL: https://www.kaggle.com/c/data-science-bowl-2017/discussion/31551
Qu'est-ce que DSB2017
- Concours de détection du cancer du poumon
--Il n'est possible que de détecter la présence ou l'absence de chaque cas (il n'est pas nécessaire de préciser la position)
En tant que flux de détection, il existe une masse blanchâtre appelée nodule pulmonaire [^ 7] dans l'image CT, et si elle est maligne, il peut y avoir un cancer du poumon.
Par conséquent, pour que l'ordinateur détecte le cancer du poumon,
- Détecter les ombres de la tête
- Déterminez si vous avez un cancer du poumon
Il semble qu'il existe de nombreuses méthodes qui adoptent une approche de détection par jugement en deux étapes.
Ensemble de données externe
LUNA16
- Ensemble de données sur les nodules pulmonaires (inconnu s'il s'agit d'une tumeur maligne)
--888 données CT
- Les nodules d'étiquette sont étiquetés avec 3 motifs: "Aucun", "3 mm ou moins" et "3 mm ou plus"
- Exclut CT avec une épaisseur de tranche de 2 mm ou plus
- La détection automatique des nodules pulmonaires pour de grands ensembles de données tels que LIDC et IDRI est un défi
--Les résultats du diagnostic de 4 radiologues sont répertoriés.
LIDC-IDRI
- Ensemble de données d'image pulmonaire
--1018 données CT
- Les nodules pulmonaires sont étiquetés avec 3 motifs: «Aucun», «3 mm ou moins» et «3 mm ou plus»
-Il y a aussi des informations sur tumeur maligne.
Julian
- Code: https://github.com/juliandewit/kaggle_ndsb2017/
- Paper: http://juliandewit.github.io/kaggle-ndsb2017/
environnement
- GTX-980
- Keras
- Windows(64bit)
approche
--Utilisation d'une tumeur maligne marquée par un médecin du LIDC
--Utilisez l'étiquette négative de LUNA16 (patient normal) (Luna16 n'a que des informations sur les nodules pulmonaires et aucun ensemble de données indiquant s'il est malin ou non, de sorte que les données de cas positives ne peuvent pas être utilisées pour ce concours.)
-1 conversion de Boxel en boxel isotrope de 1 mm
- Apprendre avec l'image originale au lieu des données extraites uniquement du champ pulmonaire afin de ne pas négliger le nodule pulmonaire à la partie limite
- Conversion d'échelle de sorte que les coordonnées correspondent entre 0 et 1
--Vérifiez avec votre propre spectateur si les exemples positifs et négatifs sont vraiment corrects
étiquette
- Chaque partie du médecin jugée positive a été traitée comme positive (4 radiologues rendent le jugement dans LUNA16)
--Dans LUNA16, les nodules pulmonaires de plus de 3 cm n'étaient pas marqués (segmentation?), Donc les données avec des nodules de plus de 3 cm dans LUNA16 ont été exclues.
modèle
--32x32x32 3D ConvNet détecte les nodules pulmonaires et détermine s'ils sont malins en même temps. (Daniel divisé en deux étapes)
- Structure C3D [^ 4] de style VGG
--Aucun temps n'est passé à optimiser les paramètres du réseau.
- Suréchantillonnage positif de sorte que positif: négatif = 1:20 (à l'origine positif: négatif = 1: 200)
- Utilise 3 niveaux de zoom (1,0, 1,5, 2,0 mm / voxel) pour détecter les gros nodules
- Données d'utilisation de LUNA16:
- Score du candidat: 400000
- Tissu non pulmonaire: 100 000
--Faux positifs: 10000 (nodule pulmonaire mais non malin)
--LIDC positif: 2000
- Puisque l'emplacement de la tumeur maligne n'est pas décrit dans le NDSB, j'ai marqué l'emplacement par moi-même.
--LUNA16 ne traitait pas les nodules pulmonaires de plus de 3 cm, il a donc été exclu de l'ensemble de données pour éviter une interruption du réseau.
-Déterminer s'il existe une tumeur maligne en divisant les images CT à des intervalles de 12 mm.
--Seules la valeur maximale du degré de tumeur maligne et la coordonnée z sont utilisées comme caractéristiques de la prédiction finale.
- En d'autres termes, avec des données CT 240x240x240, 20x20x20 = 8000 prédictions
――Il est désormais possible de détecter de gros nodules pulmonaires à 3 niveaux de zoom (1,0, 1,5 mm, 2,0 mm / voxel).
Détection de tissu étrange
―― Outre le jugement de 3D ConvNet, nous essayons également de détecter des tissus étranges.
- Il y avait environ 10 tissus étranges dans les données d'entraînement, et la moitié d'entre eux étaient des tumeurs malignes.
«On ne sait pas ce que la définition est appelée« tissu étrange ».
Décision finale
- Xgboost
――Degré maximal de tumeur maligne à 3 niveaux de zoom
--z coordonnées
--min_child_weight: 60 (pour éviter le surapprentissage)
- Soumis en moyenne avec la solution de Daniels
Daniels
- Code: https://github.com/dhammack/DSB2017/
- Paper: https://github.com/dhammack/DSB2017/blob/master/dsb_2017_daniel_hammack.pdf
approche
--Utilisation d'un ConvNet 3D de type ResNet 64x64x64
--Utiliser les informations sur les tumeurs malignes et les nodules LIDC
--Utilisez U-Net [^ 6] pour extraire les zones suspectes
References