Inspiration

Some members of our team are studying Data Science and had a little experience with embedding images into a latent space, so they thought it would be a nice application of what they knew, into a new, much larger model, applied to a real use case.

What it does

The rater itself receives a list of images and outputs the rating. We made 12 different versions of the model with different small variations. All models are composed of a CNN that summarizes images, an RNN that merges all image summaries and the MLP that rates the summary.

We then use this rater in two applications: Complete_outfit.ipynb takes a list of image file paths and adds the image file path of the image that best complements the incomplete outfit. Random_outfit.ipynb and generates a lot of random outfits and returns the best one.

To visualize these outfits we created a simple web using Streamlit (outfit_visualizer.py). It takes a list of codes of images and displays them in an ordered manner, top, bottom, feet and all accessories.

How we built it

We used Google Colab for the machine learning and Streamlit for the small webpage.

Challenges we ran into

Many... We didn't have experience with Streamlit but we managed to make it work eventually, the greater problem was the time management surrounding the model creation. Model training was very slow, so we didn't have time to iterate. Also, data was limited and we did not have experience with models this large. We tried to run them in Google Colab but eventually GPU runtime run out.

Accomplishments that we're proud of

We worked quite well as a team, managed to share tasks efficiently and supported each other. It was quite fun. On the technical side, we managed to make quite a complex model ourselves in 24h, even if the results were suboptimal. And on the side of the webpage, it was quite satisfying to make it work and see its output.

What we learned

It seems that the model we created was not large enought for the task we wanted to accomplish, and the same can be said about the data, it was quite limited for the sort of model we wanted to make.

We had different backgrounds, so we all different things, but we learned a lot about pandas, pytorch, csv and, of course, Streamlit.

What's next for Digital Stylist

The next step would be to make the code more designer-friendly and connect the outfit_visualizer to the models to aid in interpretation of the results. And after that, we would start to iterate on the architecture and collect more data, even if it had to be worse quality.

Built With

Share this project:

Updates