An AI-powered medical imaging system for brain tumor classification and clinical decision support.
This system analyzes MRI images and predicts tumor types using deep learning, while enhancing reliability through explainability and uncertainty estimation. It integrates Grad-CAM for visual interpretation, Monte Carlo Dropout for uncertainty quantification, and an LLM-based agent pipeline to generate structured clinical reports. Designed as a full-stack AI application, it bridges model predictions with interpretable and user-friendly outputs.
The project is a complete end-to-end medical AI system that combines:
- Deep Learning: MRI image classification.
- Explainable AI: Interpretability using Grad-CAM.
- Uncertainty Estimation: Reliability scoring via Monte Carlo Dropout.
- Agentic Reasoning: LLM-powered clinical reporting.
- Full-Stack Architecture: React frontend with a Flask backend.
- Classifies MRI scans into four categories: Glioma, Meningioma, Pituitary Tumor, and No Tumor.
- Built using a pretrained CNN (ResNet-based architecture).
- Generates heatmaps highlighting regions influencing model decisions.
- Provides visual interpretability for medical validation.
- Uses Monte Carlo Dropout for predictive uncertainty.
- Computes entropy-based uncertainty scores to assess reliability.
Multi-step reasoning pipeline including:
- Diagnosis Agent
- Knowledge Retrieval (RAG-based)
- Risk Assessment Agent
- Generates structured reports with confidence levels and safe medical recommendations.
- Dashboard: Upload MRI scans directly.
- Visualizations: View original MRI alongside Grad-CAM heatmaps.
- Real-time Metrics: Prediction results, confidence scores, and full clinical reports.
| Category | Tools & Libraries |
|---|---|
| Deep Learning | PyTorch, Torchvision |
| Computer Vision | OpenCV, PIL, Grad-CAM |
| Uncertainty | Monte Carlo Dropout, Entropy |
| Backend | Flask, Flask-CORS |
| Frontend | React, Vite, Tailwind CSS, Framer Motion |
| LLM Integration | Groq API (LLaMA-based models) |
| Data Processing | NumPy |
git clone https://github.com/BhaveshBhakta/Explainable-and-Uncertainty-Aware-AI-System-for-Brain-Tumor-Classification.git
cd Explainable-and-Uncertainty-Aware-AI-System-for-Brain-Tumor-Classificationcd app_flask
pip install -r requirements.txtCreate a .env file in the root directory:
GROQ_API_KEY=your_key_herecd ..
PYTHONPATH=. python app_flask/app.pycd frontend
npm install
npm run devNavigate to: http://localhost:5173
- Integrate advanced architectures (EfficientNet, Vision Transformers).
- Improve accuracy using better augmentation and fine-tuning.
- Combine MRI images with patient symptoms for enhanced diagnosis.
- Add conversational medical assistant.
- Integrate follow-up question answering using RAG.
- Add calibration techniques for better uncertainty estimation.
- Include out-of-distribution detection.