XAVIER (Explainable Ai With Lime And Grad-Cam For Visual Interpretation And Fungi Skin Disease Recognition Using Efficientnet-B3) is a web-based diagnostic tool designed to augment dermatological screening for fungal skin diseases. The system implements a dual-branch architecture fusing two data modalities.
- Visual Analysis: An EfficientNet-B3 model analyzes skin lesion images.
- Symptom Processing: A Decision Tree algorithm processes patient-reported non-visual symptoms using Random Forest, Bagging, and AdaBoost.
- Explainability: Integrates Explainable AI (XAI) via Grad-CAM for visual localization and LIME for symptom-based reasoning.
- Backend: Python (FastAPI, Pydantic, Uvicorn)
- Frontend: PHP (Laravel), Tailwind CSS, Livewire & Flux UI
- Database: MySQL
- AI/ML: Pytorch, Scikit-learn
- Explainable AI: Grad-CAM, LIME
git clone --recurse-submodules git@github.com:csthesis-g8/Xavier-Website-Fully-Functional.gitImportant
When working on Xavier-Api, to avoid any conflict changes, please cd to the Xavier-Api/ to work on the project.
Once running, access the interactive API documentation:
- Swagger UI: http://127.0.0.1:8080/docs
- ReDoc: http://127.0.0.1:8080/redoc
-
Create a python virtual environment by
python3 -m venv .venv -
Enter the Virtual Environment by:
- For Windows using
.venv/Scripts/activate.bat. - For Linux & macOS use
source .venv/bin/activate
- For Windows using
-
Run the
install_dependencies.pyto automate the installation of packages (UV is optional) -
To download the models, run the
install_dependecies.py
python3 install_dependencies.py- to run, use
python3 main.pyORuvicorn main:app --host 0.0.0.0 --port 8080 --reload
Important
When working on Xavier-Website, to avoid any conflict changes, please cd to the Xavier-Website/ to work on the project.
-
Run the
composer install -
To have proper frotntend, copy the
.env.examplebycp .env.example .env- NOTE: replace the mysql part with your mysql credentials, create an database with preferred name
- NOTE : Edit the SMTP, email address and password for the email credentials used for sending email to the users
-
Generate new keys by :
php artisan key:generate -
Run the migration, to fully reflect in database by
php artisan migrate -
For frontend, simply run the
npm installORbun installfor bunJS framework
If already cloned without submodules:
git submodule update --init --recursiveTo refresh later (pull parent + submodules):
git pull --recurse-submodules
git submodule update --recursive --remoteTo ensure proper submodule handling, paste the two on your terminal OR git bash:
git config --global submodule.recurse true
git config --global push.recurseSubmodules on-demand