Inspiration

Eye diseases like cataracts, conjunctivitis, and uveitis often go undetected until symptoms become severe. Early detection can prevent vision loss and improve quality of life. We wanted to build an accessible AI tool that empowers people to get a quick screening right from their computer.

What it does

Eye Disease Detector is a deep learning–powered web app that classifies uploaded eye images into five categories:

  • Cataract
  • Conjunctivitis
  • Eyelid Drooping
  • Normal
  • Uveitis

Users upload a picture of their eye, and the app instantly provides a prediction along with confidence scores for all classes.

How we built it

  • Collected and preprocessed eye disease image datasets.
  • Trained transfer learning models (EfficientNetV2 variants) in TensorFlow/Keras.
  • Tuned hyperparameters, augmentations, and model variants to improve validation accuracy.
  • Built a Gradio-based web app for simple, intuitive deployment.
  • Packaged the model so it can run locally and be easily shared.

Challenges we ran into

  • Dataset limitations: publicly available datasets are small and imbalanced.
  • Overfitting: balancing validation accuracy vs. training accuracy took careful augmentation.
  • Model size: large EfficientNetV2 models require lots of memory and long training times.
  • Deployment quirks: ensuring consistent preprocessing between training and inference.

Accomplishments that we're proud of

  • Achieved promising validation accuracy despite a limited dataset.
  • Successfully deployed a working end-to-end web app for eye disease detection.
  • Created an accessible tool that anyone can try in just a few clicks.

What we learned

  • Importance of data quality and balance for medical AI tasks.
  • How to fine-tune state-of-the-art models like EfficientNetV2.
  • Best practices for connecting deep learning pipelines with user-friendly interfaces.
  • Practical deployment skills with Gradio.

What's next for Eye Disease Detector

  • Collect and curate a larger, clinically validated dataset.
  • Expand to more eye conditions for broader coverage.
  • Integrate explainability (heatmaps / Grad-CAM) so users can see what parts of the eye the model focused on.
  • Deploy as a mobile app for on-the-go accessibility.
  • Collaborate with medical professionals for potential real-world testing.

Built With

  • efficientnetv2
  • gradio
  • keras
  • python
  • tensorflow
Share this project:

Updates