Week3

Week №3 Report: Outfit Predict #

Implemented MVP features #

  1. Possibility to upload images of your clothes from the wardrobe.
  1. Possibility to view uploaded images from your wardrobe
  1. Possibility to get best outfits based on your wardrobe (Core Idea of this project)

Summary: The MVP currently contains the core functionality of our project: finding best outfits with items from your wardrobes. For future improvements, we will improve the user interface, try different models (for detection and embeddings), add more features (such as finding outfits based on filters).

Demonstration of the working MVP #

ML #

  • Link to the training code
  • Links to the initial model artifacts
  • Training the model: We firstly downloaded a dataset from kaggle called - ‘Colorful-Fashion-Dataset’ which consists of ~6000 images with bounding boxes on each clothing item. Then we formatted this dataset according to the Ultralytics dataset format. After that, we fine tuned the already pre-trained YOLO v11 model on this dataset. Our model uses default hyperparameters for making predictions, as their balance perfectly between precision and recall. Our model needs only the image as parameter to make predictions of bounding boxes for clothing items.

Internal Demo #

  • From the demo we have identified that we need to improve the visual part of our project. We plan to make it black-and-white and adapt to the current fashion store’s style.
  • We also noticed the need for developing authentication for the user, as different users have different wardrobes.
  • In the demonstration our model suggested wearing ‘Sunflower’ as a part of the outfit. We found out the reason for the bag: The embeddings model which we used - ‘CLIP’ - have very low performance on differentiating images. Therefore, the embeddings produced by this model could not efficiently describe the images. The similarity score on which we perform suggestions ranking are directly computed from embeddings, and therefore, the embedder model directly influences our performance. We already point out better solutions - such as ‘Dino V2’ and ‘Fashion Clip’, which has much better performance. We plan to incorporate these models next week.

Weekly commitments #

Individual contribution of each participant

  • Bulat Sharipov: Defined which tasks to complete this week. Distributed the tasks for team members. Provided notes from internal demonstration and identified future steps. Wrote the report, updated README and added a logo. Link to commit
  • Artyom Grishin: Synthesized feedback from this week customer development(MVP), provided hypotheses for the next features in our project ( Link). Provided hypotheses for features based on product analogues ( Link).
  • Victor Mazanov: Refined questions for customer development process. Conducted this week customer development. Link
  • Dinar Yakupov: Created design-prototypes for pages of user’s wardrobe, outfit predictions, updated the main page. Developed the frontend application for aforementioned pages. Link to commit
  • Remal Gareev: Update backend, added migrations, deployed the project. Link to commit
  • Danil Fathutdinov: Uploaded training scripts, updated the search algorithm. Link to commit

Plan for the next week

  • Incorporating new models for creating embeddings. Evaluating the models against similar images and different images, so that similar clothes are close, and non-clothes images are far away from clothes images.
  • Creating authorization: developing frontend page and backend endpoints.
  • Updating the backend so that it is possible to delete images from databases. (Currently we can only add and edit).
  • Updating frontend for printing the errors that could be produced by backend.
  • Developing possibility to choose only a subset of clothes from the wardrobe to make outfit predictions.
  • Possibility to filter outfit searches by gender (i.e. showing clothes for girls only).
  • Possibility to filter outfit based on styles (i.e. casual, official).
  • Possibility to filter outfit based on dominated color on the outfit (i.e. yellow outfits).
  • Possibility to download outfit images.
  • Customer development.

Confirmation of the code’s operability # #

We confirm that the code in the main branch:

  • In working condition.
  • Run via docker-compose (or another alternative described in the README.md).