This repository contains the implementation of a Convolutional Neural Network (CNN) based on the InceptionResNetV2 architecture for detecting cervical spine fractures in medical images, particularly CT scans.
- Python 3.x
- TensorFlow
- Keras
- NumPy
- Matplotlib
The model is trained on a diverse dataset of cervical spine CT scans from Kaggle's RSNA 2022 Cervical Spine Fracture dataset. It is a multilabel classification problem, where we'll have to detect the probability of fracture in C1-C7 vertebrae.
The custom CNN architecture is designed from scratch, incorporating Convolutional, Pooling, and Dropout layers. This approach allows us to tailor the network to the specific characteristics of cervical spine fracture detection.
This section explores the utilization of pre-trained deep learning models for improved performance. Models such as DenseNet121, InceptionV3, and InceptionResNetV2 are fine-tuned on our dataset, leveraging the knowledge gained from diverse image datasets.
In this approach, an encoder-decoder architecture is implemented. The decoder employs the U-Net model for upsampling, known for its effectiveness in segmentation tasks. The best-performing transfer learning model is utilized as an encoder to enhance feature extraction and improve the precision of cervical spine fracture identification.
- The dataset contains additional data such as bounding boxes which will be useful in building more robust models, we can utilize that for to futher increase the performance of the models.
- Currently, we are considering only the images whose segmentation data is available due to the hardware restriction. It can be further extended to include images whose segmentation data is not available.