Laurence Meylan and Sabine Süsstrunk
We propose a new method to render high dynamic range images that models global and local adaptation of the human visual system. Our method is based on the center-surround Retinex model. The novelties of our method is first to use an adaptive surround, whose shape follows the image high contrast edges, thus reducing halo artifacts common to other methods. Secondly, only the luminance channel is processed, which is defined by the first component of a principal component analysis. Principal component analysis provides orthogonality between channels and thus reduces the chromatic changes caused by the modification of luminance. We show that our method efficiently renders high dynamic range images and we compare our results with the current state of the art.
PDF version of the article
L. Meylan and S. Süsstrunk, High dynamic range image rendering using a Retinex-based Adaptive filter, IEEE Transactions on Image Processing, Vol. 15, Nr. 9, pp. 2820-2830, 2006.
Matlab and C code
Meylan05_codeLinux.tar (60 KB), Matlab and C code to reproduce all the results under Linux or Unix OS (mex function). While the authors have tried to ensure that the program works correctly, we do not guarantee usability for all purposes. Please send your comments to laurence.meylan AT a3.epfl.ch.
Meylan05_codeWindows.tar (60 KB), Matlab and C code to reproduce all the results under Windows OS (dll). While the authors have tried to ensure that the program works correctly, we do not guarantee usability for all purposes. Please send your comments to laurence.meylan AT a3 epfl.ch. We would like to thanks Irwin Scollar for sharing his version of the code.
Figure 1. Example of high dynamic range scene that requires local processing. Left: Image rendered using a gamma function. Right: Image rendered with the Retinex-based adaptive filter method proposed in this article that combines global compression and local processing.
Figure 5. Difference between using a PCA and a YUV transform to compute the luminance. The image computed using YUV looks slightly green. Left: Image computed using PCA. Right: Image computed using YUV.
Figure 6. The adaptive filter method allows to preserve detail visibility even along high contrast edges. Left: Non-adaptive filter method. Right: Adaptive filter method.
Figure 7. The edge-preserving properties of the mask prevents areas of different intensity to influence areas beyond high contrast edges. Left: Input image. Middle: Mask with adaptive filter. Right: Mask without adaptive filter.
Figure 8. Left: Image treated with MSRCR. Right: Image treated with the adaptive filter method.
Figure 9. Left: Image treated with Fattal’s gradient attenuation method. Right: Image treated with the adaptive filter method.
Figure 11. Top: Gamma-encoded image. Center: Image treated with the adaptive filter method. Bottom: Image treated with the fast bilateral filtering method.
Figure 12. Results of the Retinex-based adaptive filter method. Left: Gamma-encoded image. Right: Image treated with our method.