build an algorithm that automatically detects potential pneumonia cases Kaggle-RSNA-Pneumonia-Detection-Challenge
This repository is used for recording codes of Kaggle-RSNA-Pneumonia-Detection-Challenge.
The aim of this competition is detecting Pneumonia. In the formal description, it means the Lung Opacity. However, among the datasets, there are three kinds of classes. They are Lung Opacity
, Normal
, No Lung Opacity/AbNormal
.
So, I splited it into two stages. First is classification of Lung Opacity as a binary classification problem. Second is detecting Lung Opacity. Here I adopted semantic segmentation.
-
Dense Block is first proposed in CVPR2017 Densely Connected Convolutional Networks. It's inspired from ResNet. In ResNet, authors add a skip-connection that bypasses the non-linear transformations with an identity function:
While in Dense Block, authors introduce direct connections from any layer to all subsequent layers.
And it's function description is here.
.
So, the advantages of Dense Block(more direct connections) is:
- More efficiency useage of feature maps
- Easier gradient update, especially for gradient vanishing problem.
-
CoordConvolution Keras Implementation Version of Paper [An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution](https://arxiv.org/abs/1807.03247)
-
ASPP( Atrous Spatial Pyramid Pooling)
Here is the segmentation framework: