https://www.youtube.com/watch?v=P2Y8-JbCPIk
Welcome to the Clothing Recommender project! This web application recommends clothing items similar to users' favorite clothes by analyzing user-uploaded images. The recommendations are based on feature extraction using the pre-trained CNN model, ResNet50.
The Clothing Recommender is designed to help users discover clothing items that are similar to their favorite clothing items. We utilized a dataset of over 10,000 clothing items from Kaggle (VITON HD) and processed them using the ResNet50 model to extract features. These features are embedded in a vector space, and user-uploaded images are similarly processed to obtain the top 10 similar clothing items.
- Image Upload: Upload images of your favorite clothing items.
- Clothing Recommendation: Get recommendations for similar clothing items based on image analysis.
- Interactive UI: User-friendly interface built with React.
Currently, images for this project are stored in Google Cloud Services. The images used for this project can be found below. In the provided embeddings.csv and uploaded_images csv, the train/cloth images were used.
Obtain Vector Embeddings (Optional): Generate Embeddings with Google Colab
-
If you are working with different images, generate the
embeddings.csv
file using our provided Colab notebook. -
Upload the
embeddings.csv
to Google Drive and obtain the file ID. -
In back/app.py replace the existing file ID with the new ID:
EMBEDDINGS_FILE_ID = '<file ID>'
Feel free to make a copy of the notebooks for your own use, and don’t hesitate to contact me at [email protected] if you encounter any issues or have questions.
- Python 3.7+
- Node.js
- Flask
- React
git clone https://github.com/khmorad/clothingRecommendationApp.git
cd clothingRecommendationApp
- Create a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the required Python packages:
pip install -r requirements.txt
- Run the Flask server:
flask run
- Navigate to the
frontend
directory:
cd frontend
- Install the required Node.js packages:
npm install
- Run the React development server:
npm start
- Start the Flask backend server.
- Start the React frontend development server.
- Open your web browser and go to
http://localhost:3000
. - Upload an image of a clothing item to receive recommendations.
- Frontend: React, HTML, CSS, JavaScript
- Backend: Flask, Python
- Machine Learning: TensorFlow, ResNet50
- Yar Moradpour
- Shizuka Takao
- Image Recognition Constraints: The app only accurately recognizes images where the clothing item is shown from the front in a straight manner. Sideways or angled images may lead to inaccurate results.
- Female Clothing Only: Currently, the app is designed to recognize and recommend only female clothing items.
- Limited to Tops: The application is limited to identifying and recommending tops only. It does not support pants, dresses, or accessories.
This project is licensed under the MIT License.