Spaces:
Sleeping
title: FastAPI Model
sdk: docker
emoji: π
colorFrom: blue
colorTo: purple
pinned: false
<<<<<<< HEAD
AI-Powered Body Measurement & Apparel Sizing
This project is a FastAPI-based AI system that predicts body measurements and recommends clothing sizes using deep learning. It processes front and side images, removes backgrounds, and utilizes a trained Keras model for accurate predictions.
π Features
β
AI-powered body measurement estimation using images.
β
Automatic background removal for clean image processing.
β
Deep learning-based predictions using a trained model.
β
FastAPI integration for quick and efficient API responses.
π Installation
To set up the project, follow these steps:
1οΈβ£ Clone the Repository
git clone https://github.com/CloozyBrands/AI-BodyMeasurement.git
2οΈβ£ Install Dependencies
pip install -r requirements.txt
3οΈβ£ Run the FastAPI Server
uvicorn app.main:app --reload
Then open http://127.0.0.1:8000/docs to test the API.
π οΈ How It Works
1οΈβ£ Upload Images
- The API accepts two images:
- Front view
- Side view
2οΈβ£ AI-Based Processing
- The images are processed using
single_person_processor.py
, which:
β Removes the background usingrembg
.
β Converts the images into a model-compatible format.
β Predicts body measurements like chest, waist, and height.
3οΈβ£ Clothing Size Prediction
- Based on the body measurements, the system suggests a T-shirt and pants size using predefined size charts.
π API Endpoints
1οΈβ£ /predict/
(POST) - Predict Body Measurements
π Example Request:
POST /predict/
π Request Parameters:
Parameter | Type | Description |
---|---|---|
front_image |
File | Front view image (JPEG/PNG) |
side_image |
File | Side view image (JPEG/PNG) |
input_data |
JSON | User data (height, weight, gender) |
π Example JSON Payload:
{
"gender": 0,
"height_cm": 175,
"weight_kg": 70,
"apparel_type": "all"
}
π Example Response:
{
"results": {
"body_measurements": {
"chest": 100.5,
"waist": 80.2,
"hip": 97.3
},
"tshirt_size": "L",
"pants_size": 34
}
}
π― Model & AI Processing
π The model used in this project is a TensorFlow/Keras model stored as best_model.keras
.
π The AI processing is handled inside single_person_processor.py
, which:
- Loads the trained model using
tf.keras.models.load_model
. - Extracts measurements based on input images.
- Maps the measurements to standard clothing sizes.
π License
This project is licensed under the MIT License β feel free to modify and use it.
π€ Contributing
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
We welcome contributions and improvements! π
>>>>>>> 4e80050 (FastAPI model for size recommendation)