Inspiration

Seeing the wonderful challenge that mango presented we could not have chosen any other project. We believed that creating an outfit generator could be approached by many ends which allowed us to try machine learning, but also complement the program with advanced programming algorithms, which is our speciality. This duality of the problem and the fact that it had an interesting purpose applicable to the real world, let to us choosing Mango.

What it does

The program takes a description of a piece of clothing as an input, and completes the outfit using the items provided in the database. If the description of one of the pieces does not exactly match a piece in the database the program approximates it to the most similar one.

How we built it

We built the challenge with python and Cpp. This usage of languages allowed us to program the algorithmic part with Cpp and the front-end and more general part in python.

The webpage is built in python and uses the library streamlit. To build it we organised in two teams, the algorithmic team and the front-end team. One team designed the completion algorithm while the other worked on the front-end.

Challenges we ran into

The challenge that took the most time is designing the algorithm to choose the pieces. The big issue was that the machine learning that we tried at the beginning was not a viable option due to the size of the dataset, which was very small. This made us think outside the box and design from scratch an algorithm that optimizes the generated output.

Accomplishments that we're proud of

We are very proud to have been able finish the project in time and have produced a code that works decently well, generating completely new outfits that are pleasant to the eye.

What's next for Outfit generator

We have been trying to implement a colour theory algorithm that heavily improves the current selection algorithm that we have. However, we have run into big issues debugging and implementing it and we have run out of time. The idea behind this improvement is using textures and real colours of the pieces which can be extracted with computer vision to heavily improve the decision making of the algorithm.

Built With

Share this project:

Updates