6001CEM Project
This repository contains the created neural networks for my 6001CEM Final Year Project.
The project was conducted to answer the research question: To what extent can deep learning algorithm based neural networks identify the presence of Alzheimer’s Disease from patient MRI scans?
The dataset used can be found at: https://www.kaggle.com/datasets/sachinkumar413/alzheimer-mri-dataset
This project involved creating neural networks that would detect the presence of Alzheimer's Disease (AD) from patient MRI scans (binary classification - accuracy score is based on a yes/no answer as to whether the neural network detects the presence of AD) and networks that would detect the severity of AD from a patient's MRI scan, if present (4 class classification - accuracy score is based on the neural network classifying the patient's MRI scans into 1 of 4 distinct categories).
There a total of 6 neural networks (there are technically 3 but were split into 6 - binary and multi-class classification - so they would run faster):
-
'TensorFlow4Class' - Neural network created using TensorFlow, provides an accuracy score for 4 class classification.
-
'TensorFlowBinary' - Neural network created using TensorFlow, provides an accuracy score for binary classification.
-
'ResNet4Class' - Neural network created using PyTorch and a pretrained ResNet model, provides an accuracy score for 4 class classification.
-
'ResNetBinary' - Neural network created using PyTorch and a pretrained ResNet model, provides an accuracy score for binary classification.
-
'PyTorchBinary' - Neural network created using PyTorch, provides an accuracy score for binary classification.
-
'PyTorch4Class' - Neural network created using PyTorch, provides an accuracy score for 4 class classification.
There are 4 datasets present:
-
'clean_dataset' - Used in 'TensorFlow4Class'. This dataset is the original and contains 4 classes ('Non Demented', 'Moderate Demented', 'Mild Demented', 'Very Mild Demented'), obtained from: https://www.kaggle.com/datasets/sachinkumar413/alzheimer-mri-dataset.
-
'clean_dataset_binary' - Used in 'TensorFlowBinary'. Same as the original dataset, except the images are categorised into two folders ('Demented' and 'Non Demented').
-
'clean_dataset_split' - Used in 'PyTorch4Class' and 'ResNet4Class', same as the original dataset but images are split into 'train' and 'test' folders at a split of 75/25 respectively; the original 4 classes remain.
-
'clean_dataset_split_binary' - Used in 'PyTorchBinary' and 'ResNetBinary', images are categorised into 'train' and 'test' folders at a split of 75/25; images are also categorised into 'Demented' and 'Non Demented' within these folders.