Inspiration

Art is always present as we experience the world. We find it everywhere through life; nature, sports and sculptures. It is part of what defines the human race. As we are overwhelmed with information, sometimes we do not have time to appreciate the art in the experiences we have. We believe our experiences should be art. This why Pyvinci was created, to make life trips and experiences a beautiful canvas.

What it does

Pyvinci is a hashtag generator and an image art painter that allows the user to upload images for a given experience or trip and it generates art according to the objects observed in the image. Besides creating beautiful art, Pyvinci provides the right hashtags for the user to use in their social media platforms.

How we built it

The main areas of the application; client, server, and the models were deployed in separate docker containers to allow the app to have easier and faster deployment. The machine learning model of Pyvinci was deployed as a worker so it could be a more scalable solution. The model picks new jobs for every new projects that runs the model. We used a panoptic segmentation model to catch every possible background and foreground object image. The main server API receives a new job from the client and adds it to the database for the workers to pick up and perform modeling on.

Challenges we ran into

The biggest challenge we encountered was when developing the algorithm that creates the art. We wanted to use a layer base sequential framework for scene generator with GANs as the second worker model. However, the strategy that we use did not allow us to have the required time to train the model to the level of accuracy that we wanted.

Accomplishments that we're proud of

We are very proud to have complete a deployed app that uses a machine learning model.

What we learned

How to work with PyTorch and its all many of its components. How to create panoptic segmentation models and many other types with Detectron2. Also, how to work with docker containers to have a better structure to scale the application. How to best deploy machine learning models with an application.

What's next for PyVinci

We are going to better train the GAN model to be able to generate art from the multiple objects we extract from the images to give users the ability to control how the image is generated. Also we would like to create a queue that the workers pick up jobs from rather than pick them up from the database.

Built With

Share this project:

Updates