A report by Georg Petschnigg, June 2002
|
Flash Image with redeye |
Automatically corrected using noisy non-flash image |
Digital Photography inherited some baggage from traditional photography. One of these problems is "redeye", which often occurs when taking pictures of people in dark environments using a compact camera. For small camera frames the flash is located too close to the camera's optical axis, causing flash light to reflect from a subject's retina back onto the image sensor. This causes "redeye". Both traditional and digital compact cameras are subject to this industrial design size constraint. However we can take advantage of a digital camera's variable sensitivity, multiple exposure and image processing capabilities to correct a redeye automatically if it occurs. This report describes an algorithm for automatically detecting correcting redeye using a flash and non flash image pair taken in rapid succession.
OverviewRedeye has been a boon to compact cameras for years. For small cameras the built in flash is located to closely to the optical axis,
causing flash light to be reflected back from a person's retina. This algorithm
will take advantage of a digital camera's multi-exposure and variable sensitivity
settings to create a pair of registered images: One image is taken at noise free ISO 200 with
flash, the other at a higher ISO setting without flash. This image pair
is the used to detect a redeye, using the assumption that the redeye will exhibited
the greatest increase in red from non flash to flash image. After a redeye mask
is created a color correction steps creates the fixed image For a discussion
how to reduce noise in the non-flash image see
here.
The system works as follows:
The detailed processing pipeline is located here.
ResultsSee sample results here.
Matlab code will be made available soon.
The main accomplishment I showed in this project was that a flash and noisy non-flash image can be used
for seeding a redeye detection algorithm, To my
knowledge many semi-automatic correction algorithms exist, but few of them if
at all fully automatically detect redeye. Using a multi image digital camera
and appropriate color conversions, I showed that the detection process can be
improved and a simple correction routine suffices to fix redeye in a
pleasant way.
While locating a redeye using the proposed system seems plausible, it currently has no solid indicator for the absence of a redeye. An improvement suggestion is discussed in the implementation description. Secondly the correction step currently is limited to elliptical axis aligned redeye. A better algorithm is given by [Patti98], which could easily be extended to use the seed eye my algorithm finds. The main advantage of [Patti98] is that it is applied in an iterative manner and in the final step performs a localized color search. I intentionally omitted such an improvement to show the strength of the flash and non flash image pair classification.
ReferencesAutomatic digital redeye reduction
Patti, A.; Konstantinides, K.; Tretter, D.; Qian Lin
Image Processing, 1998. ICIP 98. Proceedings. 1998 International Conference on
, Volume: 3 , 1998
Differences in the
infrared bright pupil response of human eyes
K. Nguyen; C. Wagner; D. Koons; M. Flickner
Proceedings of the symposium on ETRA 2002. 2002
Copyright © 2002 Georg Petschnigg