English only
IVRG - Images and Visual Representation Group
EPFL > I&C > IVRG > People > Clement
Supplem. Material
Software & Demos
Jobs & Internships
Panorama Livecam

Removing Shadows from Images

Clement Fredembach


A shadow is cast in a scene when an object lies in the path of direct illumination source. If a scene is illuminated by two or more sources, then the shadow and non-shadow region of an object differ not just in terms of their relative brightness, but also in terms of their relative colour. For example, in a typical outdoor scene the non-shadow parts of the image are illuminated by a mixture of direct sunlight and skylight. In contrast, shadow regions are lit mostly by skylight. This sudden change of illumination hinders a large number of computer vision algorithms that rely on illumination as a cue for, e.g., tracking or object recognition.

In photography, shadows are often accidental and/or unwanted artifacts that in some conditions (e.g., cityscapes, flash) cannot be avoided. Finally, when working with images that have a large bit depth, the presence of a shadow can indicate a high dynamic range image. These images cannot be displayed on typical monitors, however, if one can remove or attenuate the shadow, the dynamic range can be compressed and the image properly displayed.

Efficient shadow removal can be done in the log-gradient domain. Classical algorithms are based on thresholding and reintegrating shadow edges using a global approach, usually a Poisson Equation solver. While these approaches can work well, they are subject to high computational complexity, boundary conditions problems, and global reconstruction artifacts. We proposed that a simple, 1-D, hamiltonian path-based approach is better suited to shadow removal. Additionally, when the conditions of shadow occurrences are known (e.g., sunny outdoor scenes), simply adding a constant value, in the log-domain, to the shadow regions resulted in good quality removal.

sample shadow removal results
Shadow removal results using the methods of [1] and [2]


For more detailed information, look at:
[1] C. Fredembach and G. Finlayson, Hamiltonian path-based shadow removal , Proc. of the 16th British Machine Vision Conference (BMVC), Vol. 2, pp. 502-511, 2005.
[2] C. Fredembach and G. Finlayson, Simple Shadow Removal, Proc. of the 18th International Conference on Pattern Recognition, Vol. 1, pp. 832-835, 2006.


Prof. Graham D. Finlayson (University of East Anglia, U.K.)

Last update : Wednesday, 04-Feb-2009 17:52:39 CET
Comments/feedback to : webmaster [dot] lcav [at] epfl [dot] ch