Create your new painting by testing differents styles and find a painter ready to do it



Step 1


First, you need to upload a photo that you like. It can be you, a friend, your family, an object or a famous art paintings. We have train our algorithm to present you different style. Here are some example : Picasso Style, Van Gogh Style, Andy Warrhol Style, Urban Style, Pop art Style, Discover more style by using it !

Step 2


Try to change the style of your photo on the interface by choosing the best style that fit with what you want.

Step 3


To finish, we have a database of artist who are specialized on the style you choose. He will reproduce the photo you have created. According to the paintings and the size you choose, the price will be different.



What is Style Transfer and ml5.js ?

Style Transfer is a technique which enable to create images in the style of other images. The idea is to create a convolutional neural networks which enable to learned style representation by giving some pictures and then apply it to another image.

ml5.js is a JavaScript librabry that enable to access easily to machine learning audience. Artists, coders and students can use ml5.js without knowing a lot in algorithm and machine learning because it is very approachable and there are lot of documentation. The library provides access to machine learning algorithms and models in the browser, building on top of TensorFlow.js with no other external dependencies. A good way to do it is to train a model in Python using GPU acceleration thanks to Gradient°, export the model to JavaScript and run everything on the browser with the ml5.styleTransfer() method.

How it works ?

The first step is to train the model with the different style you want. You can use VGG16 in order to train the machine learning model but other algorithm are available for free on internet. VGG enables to extract the feature of the image and then you can classify it with kMeans in Scikit-Learn. VGG16 extracts:

  • Low-levels features
  • Mid-levels features
  • High-levels features
  • source: https://medium.com/@franky07724_57962/using-keras-pre-trained-models-for-feature-extraction-in-image-clustering-a142c6cdf5b1

    In order to extract the features You need to call the function VGG16 for extracting the features of the image

    source : https://keras.io/applications/#vgg16

    For more information about the learning process and the image feature extraction and classification you can check those webpage.

  • https://keras.io/applications/#vgg16
  • https://medium.com/@franky07724_57962/using-keras-pre-trained-models-for-feature-extraction-in-image-clustering-a142c6cdf5b1
  • https://ml5js.org/reference/api-StyleTransfer/

  • The last step is to run the model using ml5. Here are videos that explain well on how to do it.