230 likes | 513 Views
Practical Scene Illuminant Estimation via Flash/No-Flash Pairs. Cheng Lu and Mark S. Drew Simon Fraser University {clu, mark}@cs.sfu.ca. Flash/No-flash Imagery – a Brief History. diCarlo, Xiao, & Wandell, CIC 2001. Combine flash/no-flash images to produce a pure-flash image.
E N D
Practical Scene Illuminant Estimation via Flash/No-Flash Pairs Cheng Lu and Mark S. Drew Simon Fraser University {clu, mark}@cs.sfu.ca
Flash/No-flash Imagery – a Brief History diCarlo, Xiao, & Wandell, CIC 2001 • Combine flash/no-flash images to • produce a pure-flash image. • Use dim=3 FDM + knowledge of flash SPD and sensor curves to estimate surface reflectance • most likely ambient illuminant Szeliski et al., Siggraph 2004 Transfer lower-noise information from flash image to higher-noise ambient-light image. Raskar et al., Non-Realistic Rendering 2004 Filling in night-time imagery with daytime image info. Blake et al., Poisson Image Editing, Siggraph 2004 Drew,Lu,Finlayson, Removing Shadows using Flash/Noflash Image Edges , ICME 2006 Copy edges from cloned image region into edge-map of target background; re-integrate. Find shadow-mask, copy edges inside shadow from flash image into ambient image, re-integrate.
Like diCarlo&Wandell approach, but replace knowledge of camera sensor curves with a camera RGB-based calibration using difference of with-flash and no-flash images. How? • Spectral sharpening • Subtract “both” – “no-flash” pure-flash image • Log’s • Project difference of flash minus ambient into • geometric-mean chromaticity color space Calibrate such to get illuminant chromaticity. This paper: Estimate Ambient Illuminant, using Flash/No-flash Pairs
What’s the point?: Can estimate scene (ambient) illuminant without knowing: • Flash SPD • Camera sensors • Surface reflectance
Why estimate the illuminant? White balance, plus many computer vision applications == intrinsic images without illumination. What’s good about this method? • Simple • Fast
+ The set-up: 2 images , one under ambient lighting, & another under flash. Under Ambient: Image “A”. Under Both: Image “B”.
- ( + ) = The Key: Pure-Flash Image • The ambient light from “A” is also in “B”. • Therefore if we subtract the two, we have “F”: the pure-flash image. Under Flash: Image “F”:
Image “F”: the scene as imaged under Flash light only. Incidentally, note that there are now extra shadows, from the flash (since it’s offset from the lens).
Simple Image Formation Model will guide us. Assumptions: 1., 2., 3. 1. Lambertian surface: RGB = Shading = normal effective light-direction Illuminant Surface Sensors
2. Narrow-band sensors: is exactly a single-spike sensor: so then
3. Planckian light: (in Wien’s approximation) But, can violate 1., 2., 3. and still succeed. Gives
Now take Log’s, to pull apart multiplications: Camera-dep’t vector Camera-dep’t vector Intensity and shading Surface Color-temperature of light where
We’d like to remove intensity/shading term: So form geometric-mean chromaticity: In logs: Surface Camera-dep’t vector where Color-temperature of light
The point: As temp (light color) changes, move along straight line. • But, we have “A” and “F” images: • Subract them, and use same chromaticity trick • Only illumination is left!
Log-difference Geometric-Mean Chromaticity { • So log-log delivers inverse-temperature difference: • Calibrate for 1/TA-1/TF, • then in new scene obtain TA!
What does this look like? Moved to 2D; color-matching functions in geo-mean chromaticity. (9 Planckians, Macbeth ColorChecker, spike sensors, xenon flash SPD)
Sony DXC930 sensors, Daylights+F2, actual xenon flash SPD: • How to proceed: • Sharpen • Find closest cluster “Reference locus”
Effect of sharpening: Kodak DCS420: Poor clusters Better clusters #’ing
Test: can we determine the illuminant? 102 illuminants, Sony camera, Macbeth patches 102 illuminants, Sony camera, Munsell patches Estimate illum. from Munsell to Macbeth Nearly 100% correctly identified.
Application: White Balance Image under CWF; CWF+Xenon No flash 4 calibration illuminants, HP camera, Macbeth chart (each cluster has 24 dots) With flash • Sharpen • Sample image at 24 locations • evenly over image • Same (“daylight”) color balance • for training and for testing
Overlaps best with CWF, so use white patch of Macbeth under CWF for white balance: Our color-balance– Much closer. “Auto” balance – Wrong. “Fluor” balance – Correct.
Thanks! To Natural Sciences and Engineering Research Council of Canada