Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

An algorithm for a drawing and painting robot - any tips?

Algorithm for a drawing and painting robot -

Hello

I want to write a piece of software which analyses an image, and then produces an image which captures what a human eye perceives in the original image, using a minimum of bezier path objects of varying of colour and opacity.

Unlike the recent twitter super compression contest (see: stackoverflow.com/questions/891643/twitter-image-encoding-challenge), my goal is not to create a replica which is faithful to the image, but instead to replicate the human experience of looking at the image.

As an example, if the original image shows a red balloon in the top left corner, and the reproduction has something that looks like a red balloon in the top left corner then I will have achieved my goal, even if the balloon in the reproduction is not quite in the same position and not quite the same size or colour.

When I say "as perceived by a human", I mean this in a very limited sense. i am not attempting to analyse the meaning of an image, I don't need to know what an image is of, i am only interested in the key visual features a human eye would notice, to the extent that this can be automated by an algorithm which has no capacity to conceptualise what it is actually observing.

Why this unusual criteria of human perception over photographic accuracy?

This software would be used to drive a drawing and painting robot, which will be collaborating with a human artist (see: video.google.com/videosearch?q=mr%20squiggle).

Rather than treating marks made by the human which are not photographically perfect as necessarily being mistakes, The algorithm should seek to incorporate what is already on the canvas into the final image.

So relative brightness, hue, saturation, size and position are much more important than being photographically identical to the original. The maintaining the topology of the features, block of colour, gradients, convex and concave curve will be more important the exact size shape and colour of those features

Still with me?

My problem is that I suffering a little from the "when you have a hammer everything looks like a nail" syndrome. To me it seems the way to do this is using a genetic algorithm with something like the comparison of wavelet transforms (see: grail.cs.washington.edu/projects/query/) used by retrievr (see: labs.systemone.at/retrievr/) to select fit solutions.

But the main reason I see this as the answer, is that these are these are the techniques I know, there are probably much more elegant solutions using techniques I don't now anything about.

It would be especially interesting to take into account the ways the human vision system analyses an image, so perhaps special attention needs to be paid to straight lines, and angles, high contrast borders and large blocks of similar colours.

Do you have any suggestions for things I should read on vision, image algorithms, genetic algorithms or similar projects?

Thank you

Mat

PS. Some of the spelling above may appear wrong to you and your spellcheck. It's just international spelling variations which may differ from the standard in your country: e.g. Australian standard: colour vs American standard: color

like image 575
compound eye Avatar asked Jul 06 '09 03:07

compound eye


People also ask

Can a robot make a painting?

In a small room at London's British Library, Ai-Da – assigned the she/her pronoun – has become the first robot to paint as artists have painted for centuries.

Can Ai paint?

Ai-Da is touted as the “first robot to paint like an artist”, and an exhibition of her work called Leaping into the Metaverse opened at the Venice Biennale. Ai-Da produces portraits of sitting subjects using a robotic hand attached to her lifelike feminine figure.

Who owns Ai-Da?

Ai-Da, whose name is a tribute to pioneering mathematician Ada Lovelace, makes drawings, paintings, and sculptures, and is also something of a performance artist, interacting with viewers. Her creator, gallerist Aidan Meller, considers her both an artist in her own right, and a work of conceptual art.


1 Answers

There is an model that can implemented as an algorithm to calculate a saliency map for an image, determining which parts of the image would get the most attention from a human.

The model is called itti koch model
You can find a startin paper here
And more resources and c++ sourcecode here

like image 85
Janusz Avatar answered Oct 05 '22 01:10

Janusz