Lung Cancer Detection with 3D CNNs
Lung Cancer Detection with 3D CNNs
net/publication/319453582
Article in International Journal of Advanced Computer Science and Applications · January 2017
DOI: 10.14569/IJACSA.2017.080853
CITATIONS READS
266 19,441
3 authors, including:
All content following this page was uploaded by Mohammad Nassef on 01 November 2017.
Abstract—This paper demonstrates a computer-aided diag- early detection and improved survival. The goal is to construct
nosis (CAD) system for lung cancer classification of CT scans a computer-aided diagnosis (CAD) system that takes as input
with unmarked nodules, a dataset from the Kaggle Data Science patient chest CT scans and outputs whether or not the patient
Bowl, 2017. Thresholding was used as an initial segmentation has lung cancer [2].
approach to segment out lung tissue from the rest of the CT
scan. Thresholding produced the next best lung segmentation. Though this task seems straightforward, it is actually a
The initial approach was to directly feed the segmented CT needle in the haystack problem. In order to determine whether
scans into 3D CNNs for classification, but this proved to be or not a patient has early-stage cancer, the CAD system would
inadequate. Instead, a modified U-Net trained on LUNA16 data have to detect the presence of a tiny nodule (< 10 mm in
(CT scans with labeled nodules) was used to first detect nodule
candidates in the Kaggle CT scans. The U-Net nodule detection
diameter for early stage cancers) from a large 3D lung CT
produced many false positives, so regions of CTs with segmented scan (typically around 200 mm × 400 mm × 400 mm). An
lungs where the most likely nodule candidates were located as example of an early stage lung cancer nodule shown in within
determined by the U-Net output were fed into 3D Convolutional a 2D slice of a CT scan is given in Fig. 1. Furthermore, a
Neural Networks (CNNs) to ultimately classify the CT scan as CT scan is filled with noise from surrounding tissues, bone,
positive or negative for lung cancer. The 3D CNNs produced air, so for the CAD systems search to be efficient, this noise
a test set Accuracy of 86.6%. The performance of our CAD would first have to be preprocessed. Hence our classification
system outperforms the current CAD systems in literature which pipeline is image preprocessing, nodule candidates detection,
have several training and testing phases that each requires malignancy classification.
a lot of labeled data, while our CAD system has only three
major phases (segmentation, nodule candidate detection, and In this paper, we apply an extensive preprocessing tech-
malignancy classification), allowing more efficient training and niques to get the accurate nodules in order to enhance the
detection and more generalizability to other cancers. accuracy of detection of lung cancer. Moreover, we perform an
Keywords—Lung cancer; computed tomography; deep learning; end-to-end training of CNN from scratch in order to realize the
convolutional neural networks; segmentation full potential of the neural network i.e. to learn discriminative
features. Extensive experimental evaluations are performed on
I. I NTRODUCTION a dataset comprising lung nodules from more than 1390 low
dose CT scans.
Lung cancer is one of the most common cancers, ac-
counting for over 225,000 cases, 150,000 deaths, and $12 an axial slice) o
billion in health care costs yearly in the U.S. [1]. It is also in DICOM form
one of the deadliest cancers; overall, only 17% of people in the Kaggle data
the U.S. diagnosed with lung cancer survive five years after in our malignan
the diagnosis, and the survival rate is lower in developing Because the
countries. The stage of a cancer refers to how extensively it quate to accura
the patient lung
has metastasized. Stages 1 and 2 refer to cancers localized to
the LUng Nodu
the lungs and latter stages refer to cancers that have spread to train a U-Ne
to other organs. Current diagnostic methods include biopsies dataset contains
and imaging, such as CT scans. Early detection of lung cancer vide into a train
(detection during the earlier stages) significantly improves the Figure Figure
1: 2D1: CT scan
2D CT scanslice containing
slice containing a small
a small (5mm) (5mm) size 178. For ea
early early
chances for survival, but it is also more difficult to detect early
stage lung cancer nodule.
stage lung cancer nodule [3]. and a nodule lab
stages of lung cancer as there are fewer symptoms [1]. ameter). For ea
variable numbe
Our task is a binary classification problem to detect the 2. Background image is an axia
presence of lung cancer in patient CT scans of lungs with and The paper’s arrangement is as follows: Related work is LUNA16 da
without early stage lung cancer. We aim to use methods from summarized briefly
Typical CAD in Section
systems II. Dataset
for lung for literature
cancer from this paper tection,
is one of t
computer vision and deep learning, particularly 2D and 3D haveintheSection
described followingIII.
pipeline: image preprocessing
The methods → de-
for segmentation are
problem is to a
convolutional neural networks, to build an accurate classifier. tection
presented of cancerous
in section IV. nodule candidates
The nodule → nodule candidate
segmentation or ‘no cancer’)
is introduced
false positive reduction → malignancy prediction for each We will use ac
An accurate lung cancer classifier could speed up and reduce in Section V based on U-Net architecture. Section VI presents
nodule candidate → malignancy prediction for overall CT the ROC to eval
costs of lung cancer screening, allowing for more widespread 3D Convolutional Neural Network for nodule classification and
scan [4]. These pipelines have many phases, each of which Kaggle test set.
is computationally expensive and requires well-labeled data
[Link] 409 | P a g e
during training. For example, the false positive reduction 4. Methods
phase requires a dataset of labeled true and false nodule
candidates, and the nodule malignancy prediction phase re- We preproce
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No. 8, 2017
patient classification. Our discussion and results are described In [12], R. Golan proposed a framework that train the
in details in Section VII. Section VIII concludes the paper. weights of the CNN by a back propagation to detect lung
nodules in the CT image sub-volumes. This system achieved
sensitivity of 78.9% with 20 false positives, while 71.2% with
II. R ELATED W ORK 10 FPs per scan, on lung nodules that have been annotated by
all four radiologists
Recently, deep artificial neural networks have been ap-
plied in many applications in pattern recognition and machine Convolutional neural networks have achieved better than
learning, especially, Convolutional neural networks (CNNs) Deep Belief Networks in current studies on benchmark com-
which is one class of models [3]. Another approach of CNNs puter vision datasets. The CNNs have attracted considerable
was applied on ImageNet Classification in 2012 is called an interest in machine learning since they have strong representa-
ensemble CNNs which outperformed the best results which tion ability in learning useful features from input data in recent
were popular in the computer vision community [4]. There years.
has also been popular latest research in the area of medical
imaging using deep learning with promising results. III. DATA
Suk et al. [5] suggested a new latent and shared feature Our primary dataset is the patient lung CT scan dataset
representation of neuro-imaging data of brain using Deep from Kaggles Data Science Bowl (DSB) 2017 [13]. The dataset
Boltzmann Machine (DBM) for AD/MCI diagnosis. Wu et al. contains labeled data for 1397 patients, which we divide into
[6] developed deep feature learning for deformable registration training set of size 978, and test set of size 419. For each
of brain MR images to improve image registration by using patient, the data consists of CT scan data and a label (0 for
deep features. Xu et al. [7] presented the effectiveness of no cancer, 1 for cancer). Note that the Kaggle dataset does
using deep neural networks (DNNs) for feature extraction in not have labeled nodules. For each patient, the CT scan data
medical image analysis as a supervised approach. Kumar et consists of a variable number of images (typically around 100-
al. [8] proposed a CAD system which uses deep features 400, each image is an axial slice) of 512 × 512 pixels. The
extracted from an autoencoder to classify lung nodules as slices are provided in DICOM format. Around 70% of the
either malignant or benign on LIDC database. In [9], Yaniv provided labels in the Kaggle dataset are 0, so we used a
et al. presented a system for medical application of chest weighted loss function in our malignancy classifier to address
pathology detection in x-rays which uses convolutional neural this imbalance.
networks that are learned from a non-medical archive. that Because the Kaggle dataset alone proved to be inadequate
work showed a combination of deep learning (Decaf) and to accurately classify the validation set, we also used the
PiCodes features achieves the best performance. The proposed patient lung CT scan dataset with labeled nodules from the
combination presented the feasibility of detecting pathology Lung Nodule Analysis 2016 (LUNA16) Challenge [14] to
in chest x-ray using deep learning approaches based on non- train a U-Net for lung nodule detection. The LUNA16 dataset
medical learning. The used database was composed of 93 contains labeled data for 888 patients, which we divided into
images. They obtained an area under curve (AUC) of 0.93 a training set of size 710 and a validation set of size 178. For
for Right Pleural Effusion detection, 0.89 for Enlarged heart each patient, the data consists of CT scan data and a nodule
detection and 0.79 for classification between healthy and label (list of nodule center coordinates and diameter). For each
abnormal chest x-ray. patient, the CT scan data consists of a variable number of
images (typically around 100-400, each image is an axial slice)
In [10], Suna W. et al., implemented three different deep
of 512 × 512 pixels.
learning algorithms, Convolutional Neural Network (CNN),
Deep Belief Networks (DBNs), Stacked Denoising Autoen- LUNA16 data was used to train a U-Net for nodule
coder (SDAE), and compared them with the traditional image detection, one of the phases in our classification pipeline. The
feature based CAD system. The CNN architecture contains problem is to accurately predict a patient’s label (‘cancer’ or
eight layers of convolutional and pooling layers, interchange- ‘no cancer’) based on the patient’s Kaggle lung CT scan. We
ably. For the traditional compared to algorithm, there were will use accuracy, sensitivity, specificity, and AUC of the ROC
about 35 extracted texture and morphological features. These to evaluate our CAD system’s performance on the Kaggle test
features were fed to the kernel based support vector machine set.
(SVM) for training and classification. The resulted accuracy for
the CNN approach reached 0.7976 which was little higher than IV. M ETHODS
the traditional SVM, with 0.7940. They used the Lung Image
Database Consortium and Image Database Resource Initiative Typical CAD systems for lung cancer have the following
(LIDC/IDRI) public databases, with about 1018 lung cases. pipeline: image preprocessing, detection of cancerous nodule
candidates, nodule candidate false positive reduction, malig-
In [11], J. Tan et al. designed a framework that detected nancy prediction for each nodule candidate, and malignancy
lung nodules, then reduced the false positive for the detected prediction for overall CT scan [15]. These pipelines have
nodules based on Deep neural network and Convolutional many phases, each of which is computationally expensive and
Neural Network. The CNN has four convolutional layers and requires well-labeled data during training. For example, the
four pooling layers. The filter was of depth 32 and size 3,5. false positive reduction phase requires a dataset of labeled
The used dataset was acquired from the LIDC-IDRI for about true and false nodule candidates, and the nodule malignancy
85 patients. The resulted sensitivity was of 0.82. The False prediction phase requires a dataset with nodules labeled with
positive reduction gotten by DNN was 0.329. malignancy.
[Link] 410 | P a g e
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No. 8, 2017
32×32 volumes) by sliding a window over the data and saving architecture we used and how it was trained.
the locations of the 8 most activated (largest L2 norm) sectors. output2.2.1layer. In the
Convolutional Neuralconvolutional
Networks layers,
given by
each filter X
(or channel)
To prevent the top sectors from simply being clustered in the is represented by
A convolutional neural a
network volume.
consists of some number
of convolutional layers, followed by one or more fully con-
I =f b(m)
i + I
ReLU
(m,i)
W (4)
j
(m−1)
j
(m,i)
j
brightest region of the image, the 8 sectors were not permitted nected layers and finally an output layer. An example of
this architecture is illustrated in Figure 4. Formally, we de-
where W (m,i) and b(m,i) are the parameters of neuron i in
layer m and the sum over j is a sum over all dimensions
to overlap with each other. Then these sectors are combined note the input to layer m of the network by I (m) . The
input to a 3D convolutional layer m of a neural network is
of the input. The activation function fReLU (·) here is cho-
sen to be a Rectified Linear Unit (ReLU) with fReLU (a) =
(m−1) (m−1) (m−1) (m−1)
a n1 × n2 × n3 3D object with nc chan- max(0, a). This activation function has been widely used in
1 Preprocessing Formally, we denote the input to layer m of the network
nels, so I (m−1) ∈ Rn1
(m−1)
×n2
(m−1)
×n3
(m−1)
×n(m−1)
c and its a number of domains [24, 16] and is believed to be particu-
and reading of LUNA16 data code based on (m,`)
elements are denoted by Ii,j,k where i, j, and k index larly helpful in classification tasks as the sparsity it induces
operates by randomly selecting a subset of training examples The experiments are implemented on computer with CPU
and updating the values of the parameters using the gradient i7, 2.6 GHz, 16 RAM, Matlab 2013b, R-Studio, and Python.
of the objective function evaluated on the selected examples. Initially speaking, the nodules in DSB dataset are detected and
To accelerate progress and reduce noise due to the random segmented using thresholding and U-Net Convolutional Neural
sampling of training examples we use a variant of SGD with Network. The diameters of the nodules range from 3 to 30 mm.
momentum [22]. Specifically, at iteration t, the parameters are Each slice has 512 × 512 pixels and 4096 gray level values in
updated as Hounsfield Unit (HU), which is a measure of radiodensity.
Θt+1 = Θt + 4Θt+1 (7) In the screening setting, one of the most difficult decisions
is whether CT or another investigation is needed before the
4Θt+1 = ρ4Θt − ∇Et (Θt ) (8) next annual low-dose CT study. Current clinical guidelines are
complex and vary according to the size and appearance of the
where, ρ = 0.9 is the momentum parameter, 4Θt+1 is nodule. The majority of nodules were solid in appearance. For
the momentum vector, t is the learning rate and ∇Et (Θt ) pulmonary nodule detection using CT imaging, CNNs have
is the gradient of the objective function evaluated using only recently been used as a feature extractor within a larger CAD
the training examples selected at iteration t. At iteration 0, system.
all biases are set to 0 and the values of the filters and For simplicity in training and testing we selected the
weightsqare initialized byq uniformly sampling from the inter- ratings of a single radiologist. All experiments were done using
val [− fan in +fan out , fan in +f
6 6
] as suggested by [23] 50% training set, 20% validation set and 30% testing set. To
an out
where fan in and fan out respectively denote the number of evaluate the results we considered a variety of testing metrics.
nodes in the previous hidden layer and in the current layer. The accuracy metric is the used metric in our evaluations. In
Given this initialization and setting t = 0.01, SGD is running our first set of experiments we considered a range of CNN
for 2000 epochs, during which t is decreased by 10% every architectures for the binary classification task. Early experi-
25 epochs to ensure convergence. mentation suggested that the number of filters and neurons per
layer were less significant than the number of layers. Thus, to
simplify analysis the first convolutional layer used seven filters
VII. S IMULATION R ESULTS with size 5×5×5, the second convolutional layer used 17 filters
with 5×5×3 and all fully connected layers used 256 neurons.
The experiments are conducted using DSB dataset. In These were found to generally perform well and we considered
this dataset, a thousand low-dose CT images from high-risk the impact of one or two convolutional layers followed by one
patients in DICOM format is given. The DSB database consists or two fully connected layers. The networks were trained as
of 1397 CT scans and 248580 slices. Each scan contains a described above and the results of these experiments can be
series with multiple axial slices of the chest cavity. Each scan found in Table I. Our results suggest that two convolutional
has a variable number of 2D slices (Fig. 9), which can vary layers followed by a single hidden layer is one of the optimal
based on the machine taking the scan and patient. The DICOM network architecture for this dataset. The average error for
files have a header that contains the necessary information training is described in Fig. 10.
about the patient id, as well as scan parameters such as the
slice thickness. It is publicly available in the Kaggle [13]. 3D CNN Training Error
0.7
Dicom is the de-facto file standard in medical imaging. This
pixel size/coarseness of the scan differs from scan to scan
(e.g. the distance between slices may differ), which can hurt 0.6
500 0.4
400
0.3
Number of Slices
300
0.2
200
0.1
100
0
0 10 20 30 40 50 60 70 80 90 100
0 Iteration Number
0 200 400 600 800 1000 1200 1400
Patient Number
Number of Slices Figure 10: Average training error in 3D CNN.
Figure 9: Number of slices per patient in data science bowl
dataset. Another important parameter in the training of neural
networks is the number of observations that are sampled
[Link] 415 | P a g e
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No. 8, 2017
[Link] 416 | P a g e
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No. 8, 2017
[Link] 417 | P a g e