Authors: Ahmed Al Mahrooqi, Dmitrii Medvedev, Rand Muhtaseb, Mohammad Yaqub
Instituion: Mohamed bin Zayed University of Artificial Intelligence
Glaucoma is one of the most severe eye diseases, characterized by rapid progression and leading to irreversible blindness. It is often the case that diagnostics is carried out when one’s sight has already significantly degraded due to the lack of noticeable symptoms at early stage of the disease. Regular glaucoma screenings of the population shall improve early-stage detection, however the desirable frequency of etymological checkups is often not feasible due to the excessive load imposed by manual diagnostics on limited number of specialists. Considering the basic methodology to detect glaucoma is to analyze fundus images for the optic-disc-to-optic-cup ratio, Machine Learning algorithms can offer sophisticated methods for image processing and classification. In our work, we propose an advanced image pre-processing technique combined with a multi-view network of deep classification models to categorize glaucoma. Our Glaucoma Automated Retinal Detection Network (GARDNet) has been successfully tested on Rotterdam EyePACS AIROGS dataset with an AUC of 0.92, and then additionally fine-tuned and tested on RIM-ONE DL dataset with an AUC of 0.9308 outperforming the state- of-the-art of 0.9272.
This work has been accepted at MICCAI 2022 workshop OMIA9.
Glaucoma Classification, Color Fundus Images. Computer Aided Diagnosis
/
├── configs # contains experiment configuration .yaml files required to train
├── notebooks # contains .ipynb notebooks for preprocessing and testing
├── GradCAM.ipynb # GradCAM Visualization script
├── Testing Ensemble-AIROGS.ipynb # Testing script for the ensemble model on AIROGS
├── Testing Ensemble-RIM-ONE DL.ipynb # Testing script for the ensemble model on RIM-ONE DL
├── Testing RIM ONE DL.ipynb # Finetune and testing script on RIM-ONE DL
├── bbox_crop.ipynb # Preprocessing script for cropping AIROGS using bounding box coords
├── central_crop.ipynb # Preprocessing scrirpt for cropping AIROGS using central crop
└── Optic Disc Segmentation and Crop.ipynb # Optic disc segmentation and bounding box coords for preprocessing
├── README.md
├── airogs_dataset.py # contains dataset class for AIROGS
├── early_stopping.py # contains script for early stopping
├── requirements.txt # contains packages and libraries needed to run our code
├── run.py # contains training script
└── run_fold.py # contains training script with cross validation
- Download the training images from the Airogs Challenge Website
- Download the training and testing images for RIM-ONE DL Dataset
- Download the the CSVs and checkpoints from this Google Drive link:
You can install all requirements using pip
by running this command:
pip install -r requirements.txt
Generally speaking, our code uses the following core packages:
- PyTorch 1.9.0
- wandb: you need to create an account for logging purposes
For training, you can run the following code:
python run_fold.py configs/sample.yaml
For all code related questions, please create a GitHub Issue above and our team will respond to you as soon as possible.