A Perceptually Inspired Variational Framework for Color Enhancement
Rodrigo Palma-Amestoy, Edoardo Provenzi, Marcelo Bertalmío, Vicent Caselles
TL;DR
This work introduces a principled variational framework for color enhancement inspired by human vision, formulating energy functionals that balance local contrast amplification with global dispersion control around gray and the original data. By deriving three explicit inverse-contrast terms and an entropic dispersion term, the authors connect perceptual principles to practical color correction, and show how gradient-descent minimization yields effective algorithms. They establish existence and stability, draw connections to ACE and Retinex, and provide a computational strategy to reduce complexity from O(N^2) to O(N log N) using FFT-based convolutions. Extensive tests on diverse images demonstrate improved contrast and reduced color cast, with a simple noise-control workflow to mitigate noise amplification in dark regions. This framework offers a transparent, perceptually grounded alternative to existing color enhancement methods with clear tunable parameters and theoretical guarantees.
Abstract
Basic phenomenology of human color vision has been widely taken as an inspiration to devise explicit color correction algorithms. The behavior of these models in terms of significative image features (such as contrast and dispersion) can be difficult to characterize. To cope with this, we propose to use a variational formulation of color contrast enhancement that is inspired by the basic phenomenology of color perception. In particular, we devise a set of basic requirements to be fulfilled by an energy to be considered as `perceptually inspired', showing that there is an explicit class of functionals satisfying all of them. We single out three explicit functionals that we consider of basic interest, showing similarities and differences with existing models. The minima of such functionals is computed using a gradient descent approach. We also present a general methodology to reduce the computational cost of the algorithms under analysis from ${\cal O}(N^2)$ to ${\cal O}(N\log N)$, being $N$ the number of input pixels.
