  Image-adaptive lookup tables (LUTs) have achieved great success in real-time
image enhancement tasks due to their high efficiency for modeling color
transforms. However, they embed the complete transform, including the color
component-independent and the component-correlated parts, into only a single
type of LUTs, either 1D or 3D, in a coupled manner. This scheme raises a
dilemma of improving model expressiveness or efficiency due to two factors. On
the one hand, the 1D LUTs provide high computational efficiency but lack the
critical capability of color components interaction. On the other, the 3D LUTs
present enhanced component-correlated transform capability but suffer from
heavy memory footprint, high training difficulty, and limited cell utilization.
Inspired by the conventional divide-and-conquer practice in the image signal
processor, we present SepLUT (separable image-adaptive lookup table) to tackle
the above limitations. Specifically, we separate a single color transform into
a cascade of component-independent and component-correlated sub-transforms
instantiated as 1D and 3D LUTs, respectively. In this way, the capabilities of
two sub-transforms can facilitate each other, where the 3D LUT complements the
ability to mix up color components, and the 1D LUT redistributes the input
colors to increase the cell utilization of the 3D LUT and thus enable the use
of a more lightweight 3D LUT. Experiments demonstrate that the proposed method
presents enhanced performance on photo retouching benchmark datasets than the
current state-of-the-art and achieves real-time processing on both GPUs and
CPUs.
