BLOG

Regressor Based Image Stylization

March 20, 2015 | Image Data Use Case, Machine Learning, Tutorials

Back to Blog

We’re happy to showcase a side project from our Head of Research, Alec Radford. Using regression based machine learning techniques, he’s recently released an open-source image stylization library, stylize, for Python. Feel free to check out the repo and play with the code there!
Here’s what he has to say about it:

Inspired by the various projects implementing polygonal stylization of images via blends of genetic algorithms and hill climbing and Andrej Karpathy’s rephrasing of the problem in a machine learning framework.

Whereas genetic algorithm and hill climbing approaches can take hours, stylize runs in seconds with much greater flexibility and higher fidelity when desired.

 


Usage (example.py has more detail):

from stylize import render
from scipy.misc import imread
image = imread('image.jpg')
defaults = render(image)

 

Our Test Subject, my cat IggyIggy the Cat

 

Default stylizationDefault stylization

render(image)

 


 

AbstractAbstract

render(image,depth=4)

 

SmoothSmooth

render(image,iterations=25)

 

More DetailMore Detail

render(image,ratio=0.00005)

 

Less DetailLess Detail

render(image,ratio=0.001)

 


 

Visualizing the Process

Iggy the Stylized CatHow it Worksstylize

is currently based off of regression trees and an ensembled version of that model, the random forest regressor. Regression trees work by recursively partitioning (“splitting”) their input feature space and assigning associations to those partitions (such as colors). At each frame the model splits every partition in half again until hitting its minimum partition size.

Get started with Indico

Interactive demo

Transform your own unstructured documents with our OOTB models

Free trial

Explore firsthand the value the Indico Platform delivers

Talk with us

Discuss how the Indico Platform can help you tackle your unstructured data problems

Resources

Customer stories

Webinars

eBooks

Analyst reports

Subscribe to our blog

Get our best content on intelligent automation sent to your inbox weekly!