Ocular Disease Recognition (ODIR)
Abstract: Developed a machine learning model to detect and classify multiple ocular diseases from retinal images using multi-label classification and deep learning.
Tech: #Python#TensorFlow#Keras#Pandas#Scikit-learn#Machine Learning#Computer Vision
The Challenge
Ocular diseases are a leading cause of blindness, but early detection can significantly improve outcomes. The challenge was to build a machine learning model capable of automatically detecting the presence of multiple different diseases from a single fundus (retinal) photograph, a task known as multi-label image classification.
The Solution
For my final project as part of the Google Bangkit Academy, I developed a deep learning model to perform Ocular Disease Recognition (ODIR). The project covered the end-to-end machine learning workflow, from data processing to model deployment.
Model Development
- Data Processing: I used Pandas and Scikit-learn to preprocess and prepare the ODIR-5K dataset for training.
- Deep Learning with TensorFlow: The core of the solution was a model built with TensorFlow and Keras.
- Transfer Learning: To achieve high accuracy with a limited dataset, I leveraged transfer learning, fine-tuning pre-trained models such as MobileNet and VGG19 for this specific medical imaging task.
Deployment
To demonstrate the model's real-world applicability, I deployed it to two endpoints:
- An Android application that could run the model on a mobile device.
- A simple web interface using TensorFlow.js for in-browser inference.
This project demonstrated my ability to apply deep learning and computer vision techniques to solve a complex, real-world problem in the medical domain.