Alzheimer Disease

Detection


Project Members

  1. Mohit Bhasi (mohitbt@vt.edu)

  2. Srija Gurijala (gsrija@vt.edu)

Project Resources

All the code, dataset, presentation and the final paper are available in this Google Drive Folder

Project Video

AML_Presentation_Srija_Mohit.mp4


Abstract

Alzheimer's Disease (AD) is a progressive disease that occurs commonly as humans age. Brain cell connections degenerate over time and cause memory impairments. This degenerative process is the root cause of AD. Although no cure exists for the disease, certain medications have proven to temporarily improve symptoms.

The AD detection process contains a various set of cognitive tests which judge the patient's thinking ability, judgemental ability, etc. There does not exist a universal method to detect the disease, however, certain neurologists believe that analyzing the anatomic structure of the brain can indeed be fruitful. To ease the work of neurologists, machine learning enthusiasts have taking up the responsibility to build a variety of models for the detection of this disease.

In this project, we aim to solve a multi-class classification problem of detecting AD using 3D MRI scans. We perform empirical analysis (Option A) of three common variants of convolutional neural networks (CNNs) to successfully classify our dataset.

Dataset

Various datasets exist for the presented problem. The dataset we used was procured from the Alzheimer's Disease Neuroimaging Initiative (ADNI). ADNI was launched by the efforts of principal investigator Michael W. Weiner, MD in 2003 with the aim to understand how different modalities of medical imaging could help detect AD. A consortium of universities across the Unites States of America and Canada are currently members of the initiative.

The dataset contains a variety of medical data related to AD including MRI scans from different machines across the USA. We have used the MPRAGE T1-weighted images from the dataset due to the high contrast provided by T1 weighting. This dataset contains 5,273 MRI scans from 1,070 subjects, we use all the scans for our experiments. The dataset is split into 70% training data, 20% validation data and 10% testing data.

Data Preprocessing

The dataset is obtain in the 3D form following which we carry out skull stripping. This is done to ensure that the models do not learn features from the skull regions of the brain as AD does not affect this region. The skull stripping was done using a Python library called DeepBrain after which the 2D axial views of the MRI scans were obtained. Axial views were used as they contain the maximum brian volume compare to sagittal or coronal views. The training data was augmented (rotation, zoom, flipping, translation) before being fed into the models, this was done to introduce variance. All the images (training, testing, validation) were normalized as well to make sure the gradients formed during training aren't too large.

Models

We developed 3 models similar to that commonly used in existing literature - ADNet, ADDenseNet and ADResNet which draws inspiration from AlexNet, DenseNet-B and ResNet respectively. Each convolution block in ADNet consists of a 3x3 convolution layer (no padding), a batch normalization layer and a ReLU activation layer. Each dense block in ADDenseNet is a concatenation of 3 convolution blocks where each convolution block is the same as the one used for ADNet. Each residual block in ADResnet contains 3 convolution blocks and a skip connection from the first to the third block. In the case of ADDenseNet and ADResNet the convolution layers used are padded convolutions. Padding was used to prevent the feature size from reducing drastically. All the models were trained using the Adam optimizer and using the Early Stopping callback. Early stopping was used to ensure that the models do no overfit. The categorical accuracy, precision, recall and the AUC were the metrics tracked in the training phase. The architecture diagrams of the models are shown below -

ADNet

ADDenseNet

ADResNet

Results