A full-stack application that leverages advanced Deep Learning (CNNs), Explainable AI (GradCAM), and Image Segmentation to analyze skin lesions directly from uploaded images. The system predicts risks for various skin conditions, such as Melanoma, and provides actionable insights with visual explanations, empowering users with a reliable tool for preliminary dermatological screening.
- Unified ML Pipeline: End-to-end processing integrating Image Classification (ResNet/CNNs), GradCAM heatmap generation, Lesion Segmentation, and a specialized Risk Scoring algorithm.
- Explainability (XAI): Visual heatmaps overlay exactly where the model focuses when making predictions, increasing trust and interpretability.
- Full-stack Integration: Secure user authentication (JWT), history tracking, and interactive clinical dashboards using React.
- Robust Machine Learning: Engineered using widely-recognized medical datasets (HAM10000) and evaluated on the PH2 dataset.
- Frontend: React.js 19, Vite, Tailwind CSS (Handles user interface, secure image uploading, and interactive charts).
- Backend: FastAPI & Uvicorn (Robust Python REST API to handle processing requests, run ML inference pipelines securely, and validate users).
- Machine Learning Layer: PyTorch & Torchvision pipelines designed for high-accuracy skin lesion classification and pixel-wise segmentation.
- Database: MongoDB & Motor (Stores scan histories securely with asynchronous I/O access).
| Component | Technologies Used |
|---|---|
| Frontend | React, Vite, Tailwind CSS, Recharts, Framer Motion |
| Backend | Python 3.9+, FastAPI, PyMongo, Motor, Passlib, Uvicorn |
| Data Sci / ML | PyTorch, Torchvision, OpenCV, Scikit-Learn, NumPy, Pillow |
| Database | MongoDB |
- Python 3.9 or higher
- Node.js & npm
- MongoDB (Running locally or a URI for an Atlas cluster)
- Open a terminal and navigate to the project root.
- Initialize a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate pip install -r requirements.txt
- Set up the
.envfile in thebackend/app/(or root) directory pointing to your MongoDB instance (if required). - Run the FastAPI server:
The backend should now run at
cd backend uvicorn app.main:app --reload --port 8000http://localhost:8000.
- Open another terminal in the
frontenddirectory:cd frontend npm install - Start the Vite development server:
The application UI will be available at
npm run dev
http://localhost:5173.
backend/: FastApi application files, database initialization, routes, user authentication, and API controllers.frontend/: React components, views, layout styles, and client utilities.ml_pipeline/: Dedicated scripts for model training, HAM10000 processing, segmentation testing, and overall risk pipelines.PH2_Explainability/: Data outputs focusing on explainability layers and GradCAM inference derived from the PH2 dataset.
- Developed collaboratively with Pranav-Dawange and ronitjain7.