Generative Art

Generative art is art wholly or partly created by a computer program. Generative AI art makes use of artificial intelligence (AI), more specifically machine learning (ML), to create or adapt images.

Generative visual art has, so far, a reputation for mainly creating surreal patterns or strange combinations of people and/or things, pixel art or creating images from textual descriptions.

Instead, my use of generative art is restricted to adapting my best photographs to look like hand painted art. I tune the processing and select my images to achieve a particular feel or style.

Examples of my generative art

My machine learning is considerably superior to filters typically found in smartphone apps and programs such as Photoshop. The AI understands what’s in the image rather than just seeing lines. It also provides arbitrarily large images that are of significantly better quality than legacy bicubic resizing.

The above diagram shows the machine learning process. A large complex model is designed that can understand images. The model is trained to learn a style of image. This requires a lot of training data (input images) and takes a very long time of the order of a few hours. This is performed using a graphics processing unit (GPU), containing thousands of processors usually used for gaming, that can process thousands of permutations at the same time. Training also has to be performed lots of times, with different input parameters, to obtain the desired result.

While machine learning might sound like magic, the model can be thought of as a series of very large filters with different size holes (actually weight values in the model) that change different detected objects in the image. Training sets the weight values for a particular output style based on controlled trial and error.

The trained model is used every time I need to process a new photograph (the test data in above diagram). This inference is relatively quick, of the order of seconds, but still needs to be performed on a computer with a huge amount of memory due to the large size of the images.

The results aren’t always good and I have to select which to keep.