  Cameras currently allow access to two image states: (i) a minimally processed
linear raw-RGB image state (i.e., raw sensor data) or (ii) a highly-processed
nonlinear image state (e.g., sRGB). There are many computer vision tasks that
work best with a linear image state, such as image deblurring and image
dehazing. Unfortunately, the vast majority of images are saved in the nonlinear
image state. Because of this, a number of methods have been proposed to
"unprocess" nonlinear images back to a raw-RGB state. However, existing
unprocessing methods have a drawback because raw-RGB images are
sensor-specific. As a result, it is necessary to know which camera produced the
sRGB output and use a method or network tailored for that sensor to properly
unprocess it. This paper addresses this limitation by exploiting another camera
image state that is not available as an output, but it is available inside the
camera pipeline. In particular, cameras apply a colorimetric conversion step to
convert the raw-RGB image to a device-independent space based on the CIE XYZ
color space before they apply the nonlinear photo-finishing. Leveraging this
canonical image state, we propose a deep learning framework, CIE XYZ Net, that
can unprocess a nonlinear image back to the canonical CIE XYZ image. This image
can then be processed by any low-level computer vision operator and re-rendered
back to the nonlinear image. We demonstrate the usefulness of the CIE XYZ Net
on several low-level vision tasks and show significant gains that can be
obtained by this processing framework. Code and dataset are publicly available
at https://github.com/mahmoudnafifi/CIE_XYZ_NET.
