Fig 1.
The processing required to generate a device-specific RGB to XYZ mapping from flash no-flash image pairs captured of a colorcard and grey card with no ambient light. The subtracted RGB values for each colorcard patch are divided by the corresponding grey card intensity values obtained from the green channel to perform an Intensity Non-Uniformity Correction (INUC). The linear least squares mapping (M) is then constructed from known XYZ values (H) and the extracted RGB values (R). Note that due to the use of ambient subtraction this calibration needs only to be carried out once per device.
Fig 2.
An image pair of the colorimetric subject is captured. The subtracted RGB value for the particular region of interest is then calculated by subtracting the median RGB values for each image. The previously calculated RGB to XYZ mapping (M) is then applied and xy chromaticity values are calculated, yielding device and ambient light independent color values.
Fig 3.
Impact of ambient subtraction.
DC card rg chromaticity patch values for ambient fluorescent lighting are shown for an example Nexus phone before (A) and after (B) subtraction, as pale pink triangles and dark pink diamonds respectively. The ground truth rg values are denoted by blue circles, and the histogram of rg distances from the ground truth is shown as an inset in each subfigure. Note that after subtraction the match is greatly improved and the average rg distance decreases dramatically as the ambient subtraction minimises the effect of ambient light.
Fig 4.
Visualisation of ambient subtraction.
A subset of the example Nexus phone DC card patches shown in Fig 3 are shown to enable a clearer visualisation of the impact of ambient subtraction. An image of the DC card is shown in A with the selected patches outlined in yellow. The impact of ambient subtraction on these patches is shown in B. The outer limit of the ground truth rg values is shown with a blue dashed line and the subset of points have been selected to cover the gamut. The ground truth values are shown using large filled colored circles, where the circle color is given by the ground truth color of the patch. The values before and after subtraction are denoted by pale pink triangles and dark pink diamonds respectively, as before, and corresponding points are joined by an arrow. Note how in all cases the subtracted points move into close proximity of the ground truth value.
Fig 5.
Determination of SSNR threshold.
The Classic card was imaged under varying intensity ambient light. The rg distance of each patch from the ground truth, found using images under no ambient light, is plotted as a function of the SSNR value for the patch for an example S8 phone. The color of the points varies from black to pale grey according to increasing SSNR. The intrinsic threshold rg distance and the threshold plus one standard deviation are shown with dashed lines in blue and green respectively. The required SSNR for useable data is defined as the point at which all points are below the upper line, and therefore not limited in accuracy by SSNR. The overall experimentally determined SSNR threshold is 3.4, shown as a solid vertical green line. Additionally, an inset shows a subset of data points for an example patch. The square pale orange point represents the ground truth rg value for the selected patch, where the color of the square is given by the ground truth color of the patch. The green dashed line shows the threshold rg distance determined for adequate SSNR. Finally, the grayscale circles outlined in pink (as also outlined in pink in the main figure) show the initial large impact of increasing SSNR on the rg distance until the threshold where the results are comparable even for increased SSNR.
Fig 6.
CAMP4 (Classification Accuracy for Multiple Phones, 4 phones) for different subsets of patches from images of the DC card under fluorescent illumination for our proposed method and dcraw are shown as a function of the average minimum xy separation. Note the large increase in classification accuracy for our approach at lower xy separations compared to dcraw, the simplest alternative. The blue dashed lines indicate the xy distance at which a 90% CAMP4 is achieved for each method, with corresponding example DC patch subsets shown below to enable a visual understanding of different colors that can be discriminated between with the two approaches. xy chromaticity diagrams generated using [37].
Fig 7.
Custom mapping classification accuracy.
An image of the yellows card used for testing is shown in A with the CAMP4 (Classification Accuracy for Multiple Phones, 4 phones) shown in B. Results are presented for mappings developed using the Classic card and training yellows card (with images of the cards in the legend) as a function of the average minimum xy separation for different point subsets of the test yellows card with no ambient light. Note the increase in classification accuracy for small xy separations when the yellows card approach was used, crucial when trying to discriminate between very similar colors.
Table 1.
Accuracy of Classic and custom mappings on test yellows card.