Collaborative Drawing

Collaborative Drawing was a project that allowed participants to draw interactively with an artificial intelligence. It consists of a custom desktop application that allows a user to draw collaboratively with an AI, and a number of trained neural networks.

Collab_Draw is a custom application that allows the user to draw collaboratively with an AI. Using default parameters, the user and machine draw strokes in turn. It is compatible with tensorflow-trained neural networks. Exchange parameters allow the user to modify how the computer and human artists interact such as in terms of: the rate of exchange (number of strokes from human vs. computer), the memory of the computer (how many  prior strokes the computer considers when deciding the next stroke), how the computer uses the user input (decode, encode-decoder, random generation). The application is implemented using Kivy in Python.

This AI was trained using vectorized data of hand-drawn images. The vectorization process consisted of edge detection, centerline tracing, and line simplification (a process I describe in detail here). The program learns to continue flowing curved/straight lines and connect closed from shapes. The resulting neural net was capable of independently producing  a wide range of stroke styles:

The project was presented as an interactive demo with The Laboratory and Spark Central in Spokane, Washington.