This is my source code for the RSNA-MICCAI Brain Tumor Radiogenomic Classification Challenge.
Final rank: 278 (Top 18%) with 01-4D-ResNet-v7
Notebook | Info |
---|---|
00-Slicing | Compare different slicing techniques |
01-4D-ResNet-v1 | Model: 3D ResNet model using "4D" images Slicing: Take SLICE_NUMBER slices from the middle of each 3D image Albumentation: Added some albumentation such as CLAHE, brightness, and CoarseDropout Removing black pixels: 2D-wise Loss: CrossEntropyLoss |
01-4D-ResNet-v2 | differences to 01-4D-ResNet-v1: Slicing: Take each x-th slice from each 3D image, whereby x (e.g., 2,4,6) depends on the maximum number of slices |
01-4D-ResNet-v3 | differences to 01-4D-ResNet-v1: Loss: BCELossWithLogits and Label Smoothing |
01-4D-ResNet-v4 | differences to 01-4D-ResNet-v1: Slicing: Take each x-th slice from each 3D image, whereby x (e.g., 2,4,6) depends on the maximum number of slices + take SLICE_NUMBER slices from the middle of each 3D image |
01-4D-ResNet-v5 | differences to 01-4D-ResNet-v4: Removing black pixels: 3D-wise Albumentation: Only resizing + z-normalization |
01-4D-ResNet-v6 | differences to 01-4D-ResNet-v5: Albumentation: Only resizing + clahe-normalization |
01-4D-ResNet-v7 | TODO differences to 01-4D-ResNet-v5: Removing black pixels: 3D-wise Albumentation: Resizing; MRI specific augmentations; z normalization |
02-4D-EfficientNet-v2 | Model: 3D EfficientNet model using "4D" images Slicing: Take each x-th slice from each 3D image, whereby x (e.g., 2,4,6) depends on the maximum number of slices; SLICE_NUMBER: 64 (otherwise not possible) Albumentation: Added some albumentation such as CLAHE, brightness, and CoarseDropout Removing black pixels: 2D-wise Loss: CrossEntropyLoss |
03-4x3D-ResNet-v2 | Model: 4x 3D ResNet model using 3D images Slicing: Take each x-th slice from each 3D image, whereby x (e.g., 2,4,6) depends on the maximum number of slices Albumentation: Added some albumentation such as CLAHE, brightness, and CoarseDropout Removing black pixels: 2D-wise Loss: CrossEntropyLoss |
04-4x3D-EfficientNet-v2 | Model: 4x 3D EfficientNet model using 3D images Slicing: Take each x-th slice from each 3D image, whereby x (e.g., 2,4,6) depends on the maximum number of slices Albumentation: Added some albumentation such as CLAHE, brightness, and CoarseDropout Removing black pixels: 2D-wise Loss: CrossEntropyLoss |
05-Multi-Input-3D-ResNet-v2 | Model: 1x Multi-Input 3D ResNet which takes the four MRI types simultaneously as an input, processes each input with its own layers, concatenates the output of each process and finally forward propagates the concatenated output through some shared base layers. Slicing: Take each x-th slice from each 3D image, whereby x (e.g., 2,4,6) depends on the maximum number of slices Albumentation: Added some albumentation such as CLAHE, brightness, and CoarseDropout Removing black pixels: 2D-wise Loss: CrossEntropyLoss |
06-4D-pretrained-ResNet-v1 | Model: 3D ResNet model using "4D" images; initialised with weights from a pretrained 2D ResNet Slicing: Take each x-th slice from each 3D image, whereby x (e.g., 2,4,6) depends on the maximum number of slices Albumentation: Added some albumentation such as CLAHE, brightness, and CoarseDropout Removing black pixels: 2D-wise Loss: CrossEntropyLoss |