Generating art with Machine Learning algorithms and painting it on canvas with an industrial robot.

If art is expression of deep thoughts and complex emotions, a communication of intimate parts of one’s soul or reflected commentary on historical events, then creating authentic art may be an important proof of an intelligent author.



~15.000 B.C.


This cave painting is among the oldest art ever discovered. It marks the beginning of behavioral modernity, as the homo sapiens started to distinguish itself from all other animals. If the creation of human cave art has a chronical parallel to the evolution from animal to intelligent species, then this process must be considered when trying to make machines intelligent.



This physical painting has been created entirely by a machine. It’s brain was trained for several days on recognizing unique features of human faces and art, until it was capable of creating completely novel portraits. An industrial robot then took acrylic paint on a brush and brought his fantasy on canvas. It changed colors, refreshed paint and cleaned it’s tool afterwards, with no human intervention.



What is being painted

A computer learned to generate this art.

A Generative Adversarial Network (Karras et al.) has been trained on thousands of artworks as well as on human faces. Afterwards it generates completely new art or portraits which serve as the basis for the paintings. No person supervises this process in order to remove the authorship of a human and give it all to a machine.

Trained for well over 60 hours

Just like for humans, computing art appears to be really demanding. Well, all of image synthesis is.

Trained on NVIDIA V100’s

Currently the most powerful GPU’s on the earth. That’s a solid Silicon Frontal Cortex. Fueled by free AWS credit.

Custom art dataset

18,000 images of relevant art have been scraped and cropped for GAN usage based on face detection on portraits.

The machine decides what to paint.

Two clicks suffice for the system to generate a random picture and start painting. While the provided tool offers lots of fine tuning options, as well as custom image sources, the system is designed for producing art with very limited human authorship and no supervision.

The Algorithm

In order to be able to paint full color pictures with different tools, a novel algorithm is proposed. It’s capable of matching input colors with any paint palette and has infinite color support, regardless of shape and size of the end effector.


Load a custom image or generate a realistic face, portrait or abstract art. The input will be pre-processed according to user defined settings in order to optimize the output.

Color Matching

You can paint with an extremely limited color palette. A k-means algorithm will reduce colors and match them to your physical palette, according to their Euclidean distances.

Onion Thinning

The algorithm finds contours of every single color cluster and shrinks it multiple times according to the paint-tools dimensions. The contours act as arrays of scaled CNC coordinates.

Works with any effector

No need to use a brush or make art in general. Put a laser on your robot and cut steel according to an image. Whether you want a tattoo from a robot, or drill a portrait of your loved one in a chunk of metal*. Any raster image will be translated to CNC points. Canvas size and depth can be easily setup with the provided tool.

*Yeah, some of these ideas aren’t particularly recommended. All of them are untested.





Try it out yourself!

You happen to have a KUKA robot at hand? You can start painting any image you want with my Open Source tool. All that is needed is a KUKA robot with Ethernet-KRL. You can also use the tool to convert CNC coordinates from Pixel data and deliver it to any CNC device you can think of. ABB, Mitsubishi or just your printer at home.

There is even an extensive Readme