Loading repository data…
Loading repository data…
JordiCorbilla / repository
ODIR-2019: Ocular Disease Intelligent Recognition is a project leveraging state-of-the-art deep learning architectures to analyze and classify ocular diseases based on medical imaging data. This repository implements advanced machine learning techniques and modern neural network architectures to push the boundaries of intelligent recognition
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Welcome to the repository for Jordi Corbilla's MSc dissertation, titled "Ocular Disease Intelligent Recognition Through Deep Learning Architectures." The dissertation was published by Universitat Oberta de Catalunya in 2020 and can be accessed through this link: [http://openaccess.uoc.edu/webapps/o2/handle/10609/113126].
The PDFs and sources for the dissertation are licensed under the Creative Commons Attribution license, which is detailed in the LICENSE file. We hope you find the dissertation and associated materials helpful in your own research and learning endeavors.
Image classification, Deep learning, Retinography, Convolutional neural networks, Eye diseases, Medical imaging analysis.
What is our methodology?
The Dataset is part of the ODIR 2019 Grand Challenge. In order to use the data you need to register and download it from there: https://odir2019.grand-challenge.org/introduction/
tensorflow-2.0 - use branch master
The full list of packages used can be seen below:
- tensorboard-2.0.0
- tensorflow-2.0.0
- tensorflow-estimator-2.0.1
- tensorflow-gpu-2.0
- matplotlib-3.1.1
- keras-applications-1.0.8
- keras-preprocessing-1.0.5
- opencv-python-4.1.1.26
- django-2.2.6
- image-1.5.27
- pillow-6.2.0
- sqlparse-0.3.0
- IPython-7.8.0
- keras-2.3.1
- scikit-learn-0.21.3
- pydot-1.4.1
- graphviz-0.13.2
- pylint-2.4.4
- imbalanced-learn-0.5.0
- seaborn-0.9.0
- scikit-image-0.16.2
- pandas-0.25.1
- numpy 1.17.2
- scipy-1.3.1
All the training images must be in JPEG format and with 224x224px.
Place all the files in the following folders (Training and Validation images):
c:\temp\ODIR-5K_Training_Dataset
c:\temp\ODIR-5K_Testing_Images
The training images Dataset should contain 7000 images and the testing Dataset 1000 images. Below is a screenshot of the images in the training dataset folder:
Then, create the following folders:
c:\temp\ODIR-5K_Testing_Images_cropped
c:\temp\ODIR-5K_Testing_Images_treated_128
c:\temp\ODIR-5K_Testing_Images_treated_224
c:\temp\ODIR-5K_Training_Dataset_cropped
c:\temp\ODIR-5K_Training_Dataset_treated_128
c:\temp\ODIR-5K_Training_Dataset_treated_224
c:\temp\ODIR-5K_Training_Dataset_augmented_128
c:\temp\ODIR-5K_Training_Dataset_augmented_224
run the following command to treat the training and validation images:
//These two remove the black pixels
python odir_image_crop_job.py
python odir_image_testing_crop_job.py
//These two resize the images to 224 pixels
python odir_training_image_treatment_job.py
python odir_testing_image_treatment_job.py
The odir_image_crop_job.py job will treat all the Training Dataset images and remove the black area of the images so the images end up like in the image below (same job for the odir_image_testing_crop_job.py which will act upon the training images):
The second job will perform the resize and squaring functionality to 224 pixels x 224 pixels. The parameters image_width and keep_aspect_ratio variables can be edited in the python file to test different values/scenarios. This should give you images like the ones below:
run the following command to generate the additional images:
python.exe odir_data_augmentation_runner.py
This will generate the odir_augmented.csv file.
Now that we have all the images. We need to translate them into a td.Data component so we can load them into our model. Run the following command to generate the dataset for training and validation:
python.exe odir_patients_to_numpy.py
Note that any changes in the images will need a re-run of this script to rebuild the .npy files.
If you take a