Open-source full stack AI tool for early glaucoma detection from fundus images, optimized for mobile and low-resource clinics.
- π Glaucoma prediction using lightweight MLP architecture
- πΌοΈ Supports fundus image upload via modern UI (Next.js)
- βοΈ FastAPI backend with modular components for preprocessing, training, and inference
- π§ Energy-efficient model optimized for low-resource clinics
- π³ Docker-ready for fast deployment
Try it: glaucoscan.ai Watch the video demo: YouTube Link
Grab the latest lightweight package for local prediction:
- Project Overview
- System Architecture
- Process Flow
- Folder Structure
- Quick Start
- More Details
- Contact
This repository combines two key components:
- π§
glaucoscan-API
: FastAPI-based backend for image processing and classification. - π
glaucoscan-UI
: Next.js frontend for uploading images, getting predictions, and user interaction.
flowchart LR
A[Retinal Image] --> B[ResNet50\nFeature Extractor]
B --> C[Feature Vector\n2048-dim]
C --> D[MLP Classifier]
D --> E{Prediction}
E -->|Yes| F[Glaucoma]
E -->|No| G[No Glaucoma]
style B fill:#f9d77e,stroke:#333,stroke-width:2px
style D fill:#a1de93,stroke:#333,stroke-width:2px
graph TD
A[Raw Retinal Images] --> B[Data Augmentation]
B --> C[Feature Extraction]
A --> C
C --> D[Feature Scaling]
D --> E[Feature Selection]
E --> F[Class Balancing\nSMOTE]
F --> G[Grid Search\nHyperparameter Tuning]
G --> H[Model Training]
H --> I[Trained Model]
style B fill:#f9d77e,stroke:#333,stroke-width:2px
style F fill:#a1de93,stroke:#333,stroke-width:2px
Glaucoma/
βββ glaucoscan-API/ # Backend: FastAPI service
βββ glaucoscan-UI/ # Frontend: Next.js application
βββ README.md # This file
Each subproject includes its own README.md
with setup instructions, configuration options, and advanced usage.
cd glaucoscan-API
pip install -r requirements.txt
python app.py
# API docs: http://localhost:8236/docs
cd glaucoscan-UI
npm install
npm run dev
# Access app at http://localhost:3000
Each component has its own run-docker.sh
script:
cd glaucoscan-API && ./run_docker.sh
cd glaucoscan-UI && ./run-docker.sh
You can test the trained model locally without running the full API or frontend.
cd glaucoscan-API
pip install -r requirements.txt
python predict.py
This uses example_input.csv, a sample 2048-dimensional feature vector, and outputs:
Prediction: Glaucoma (class 0)
- π API Documentation: See
glaucoscan-API/README.md
- π UI Documentation: See
glaucoscan-UI/README.md
For questions or support, reach out at:
- GitHub Issues: https://github.com/KrishNachnani/Glaucoma/issues
This software release is archived and citable via Zenodo.
If you use this work in your research, please cite the following papers:
-
Energy Efficient Learning Algorithms for Glaucoma Diagnosis
Proceedings of the 22nd IEEE International Conference on Machine Learning and Applications (ICMLA 2023)
Krish Nachnani
DOI: 10.1109/ICMLA58977.2023.00307 -
Leveraging GAN-based Data Augmentation for Advanced Glaucoma Diagnostics
In Recent Advances in Deep Learning Applications, CRC Press, Taylor & Francis Group.
Krish Nachnani
Available online (Extended version of the ICMLA 2023 paper, with additional results and discussion.) -
GlaucoScan v1.1: Lightweight AI for Early Glaucoma Detection (Software)
Krish Nachnani
Zenodo, 2025. DOI: 10.5281/zenodo.15567617
This project is licensed under the MIT License.