Traditional image enhancement techniques improve images by applying a series of filters, each of which repairs a specific type of flaw, but most modern digital cameras produce images with a variety of subtle interacting defects. Sequential repair is slow, and the interactions limit
This paper describes a fundamentally different approach in which a single filter is created to repair the potentially myriad interacting defects associated with a particular camera configuration and set of exposure parameters. Genetic programming (GP) is used to
automatically evolve a filter algorithm that will convert flawed images into images minimally differing at the pixel level from the corresponding provided ideal images. For example, the flawed images might be shot at a high ISO and the ideal ones might be the exact same static scenes, aligned
at the pixel level, but shot at a low ISO using appropriately longer exposure times. Just as easily, the flawed images might be technically wellcorrected, while the ideal ones were manually-edited to adjust and smooth skin tones, sharpen hair, enhance shadow regions, etc. The custom-coded
parallel GP, its performance, and performance of the generated filters is discussed with an example.