Evolving The Fittest Image
Where we speak of “populations of images”…
I have been writing of late about my digital image processing practise, which is still young in terms of years. What I want to do here is discuss the more “Global” picture of what I’m trying to do with image processing in general.
It might be best to just speak of “populations” of images, rather than images in the particular. I have already mentioned that I begin each image with pure noise. I start with basic “data” which I call noise, as “initial conditions”, and then “evolve” the images through the use of primitive image processing operations/functions. What I want to describe, though, is how each image is just an “instance” of a “possible image”, a kind of imagistic “potential”.
That is to say, as soon as I start with some noise, there are a near-infinite number of ways that the image can end up. If I only use simple functions/operations, then I myself can only “evolve” each image “so far”, since I must terminate at some point in time. I only have limited time and space resources, so I can only go “so far”. But even if there are “finite” possibilities for each image, there are still countless numbers of ways in which they might end up.
It is this vast “sea of possible images” that I want to speak about today. Each image is an “instance” of the “image potential” of each procedural noise texture that I start with as initial data/initial conditions. I use an “experimental” method of investigation in my image processing work. I am investigating, researching the many ways in which I can “modulate noise” to create digital images with some level of “interestingness”. Here is an example of something I did today:
I literally start “from nothing”, a.k.a. “ex nihilo”. I “seed” the image file, that is, I generate some “noise” procedurally. In this case, I only used various “scaling” functions, i.e. I used various layers and also used the “difference blend mode” on them, and all were based on “pixelated” variations on the initial “noise conditions”.
With nothing but layers of noise, pixelization and the Difference blend mode, I was able to “generate” the image you see above. But I also generated a good hundred other images. Since I began making digital images this way, I have amassed thousands of these little images, which is why I speak now of a great “population” of images.
The idea is to produce the “best image”. It really IS survival of the fittest for my little images. It might be interesting to remind the reader that a digital image to me is nothing more than a simple MATRIX, a two-dimensional matrix, a bitmap (even though I am using the JPEG compression algorithm). What that means is that I start with a 512 pixel by 512 pixel image in which each pixel is a random value. I try to use pure Gaussian noise, but am trying to experiment with other kinds or colors of noise.
To me an image is just a “distribution of pixels”, that is, it is a 2D matrix of pixels with a “distribution” of values for each pixel. That is how I treat each and every image, and my goal is to get the “fittest distribution”, the one that has the greatest “visual appeal”, or what I am calling visual “interestingness”.
Here above is another “variation” on the original series/sequence I started earlier today, or one of the series I worked on today (note: There are many series). If you wanted to, you could take both images I have posted above and analyze them numerically and see that they are actually variations on one another. They both come from the same “seed” and that could potentially be explained mathematically, though I myself lack the discipline. I just know they are in the same series because I generated them myself and have “named” them in consequence.
So in other words, these two images above are “samples” from today’s “run” of the genetic algorithm of image processing that I am using. It is an “interactive” genetic algorithm because I am using my own human senses at the moment to “evaluate” and “select” each image. I “evaluated” and “selected” these two from the ongoing series, which had many false starts and stops.
I work in an “iterated” manner, going image after image, modulation by modulation, transformation by transformation, towards “the fittest image”. I will leave it at this for now and come back to it later.
Note: A PhotoMosaic created with 400+ of my little digital images, a.k.a. a “population of images”: