Loading repository data…
Loading repository data…
AliDmrcIo / repository
AI-Powered Background Remover: A full-stack application using DeepLabV3+, FastAPI, and Streamlit. Features Google OAuth authentication, history tracking, and Dockerized deployment on AWS EC2.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
🔗 Live on: https://removedbackground.duckdns.org This is the live production version of the project. You can directly upload your images and test the AI-based background removal system from this link.
https://github.com/user-attachments/assets/6083e043-fd01-4880-9e18-e37b568b7a19
This project is a full-stack, production-ready AI-powered background removal system. Users can authenticate with their Google accounts, upload images, remove image backgrounds using a state-of-the-art semantic segmentation deep learning model, and manage their processed image history through a secure cloud-based system.
The project is designed as a complete End-to-End MLOps application, covering:
The main goal of this project is to build a robust, scalable, and secure AI application that automatically removes image backgrounds using semantic segmentation. The focus is not only on machine learning performance but also on:
DeepLabV3+ (Latest generation segmentation architecture)MobileNetV3-Large (Optimized for lightweight and CPU-based inference)PyTorch, Torchvision, Albumentations, OpenCVFastAPIGoogle OAuth 2.0JWT (JSON Web Token)SQLiteSQLAlchemyStreamlitextra-streamlit-componentsDocker, Docker ComposeAWS EC2 (Ubuntu)DuckDNSiptables Port Forwardingai/
main.py → FastAPI application entry pointbackend/
auth.py → Google OAuth, JWT generation & validationpicture_operations.py → Image upload, processing & history endpointsfrontend/
login_page.py → Google authentication interfacehistory_page.py → Displays past user operationsremove_background_page.py → Image upload & background removal interfacehistory_detail_page.py → Shows details of a selected generationdb/
database.py → Database connectiontables.py → User & image metadata modelsDockerfile
docker-compose.yml
.env
You can run the system in two different ways:
Create a file named .env in the project root directory and configure it exactly like this:
# --- Google OAuth Configuration ---
GOOGLE_CLIENT_ID=your_google_client_id_here
GOOGLE_CLIENT_SECRET=your_google_client_secret_here
# --- Security ---
SECRET_KEY=your_random_secret_string
JWT_SECRET_KEY=your_random_jwt_secret_string
# --- Redirect Configuration ---
REDIRECT_URL=http://localhost:8000/auth/callback
FRONTEND_URL=http://localhost:8501
Without these variables:
This is the fastest and cleanest way to run the project.
docker-compose up --build
When you see:
Application startup complete
Open your browser:
http://localhost:8501
Backend will automatically run on:
http://localhost:8000
Everything (backend, frontend, AI model, database) runs inside containers.
You will need two separate terminals.
pip install -r requirements.txt
uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload
Backend runs at:
http://localhost:8000
streamlit run frontend/remove_background_page.py
Frontend runs at:
http://localhost:8501
AWS EC2 (Ubuntu)DuckDNSiptablesThis project is not just a background remover. It is a complete full-stack, cloud-deployed, authenticated, AI-powered MLOps system that demonstrates: