Skip to Content
All Projects

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.