Color difference

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

The difference or distance between two colors is a metric of interest in color science. It allows quantified examination of a notion that formerly could only be described with adjectives. Quantification of these properties is of great importance to those whose work is color critical. Common definitions make use of the Euclidean distance in a device independent color space.

Delta E

The International Commission on Illumination (CIE) calls their distance metric ΔE*ab (also called ΔE*, dE*, dE, or "Delta E") where delta is a Greek letter often used to denote difference, and E stands for Empfindung; German for "sensation". Use of this term can be traced back to the influential Hermann von Helmholtz and Ewald Hering.[1][2]

Different studies have proposed different ΔE values that have a JND (just noticeable difference). Unempirically, a value of '1.0' is often mentioned, but in a recent study, Mahy et al. (1994) assessed a JND of 2.3 ΔE. However, perceptual non-uniformities in the underlying CIELAB color space prevent this and have led to the CIE's refining their definition over the years, leading to the superior (as recommended by the CIE) 1994 and 2000 formulas.[3] These non-uniformities are important because the human eye is more sensitive to certain colors than others. A good metric should take this into account in order for the notion of a "just noticeable difference" to have meaning. Otherwise, a certain ΔE that may be insignificant between two colors that the eye is insensitive to may be conspicuous in another part of the spectrum.[4]

CIE76

The 1976 formula is the first color-difference formula that related a measured to a known set of CIELAB coordinates. This formula has been succeeded by the 1994 and 2000 formulas because the CIELAB space turned out to be not as perceptually uniform as intended, especially in the saturated regions. This means that this formula rates these colors too highly as opposed to other colors.

Using ({L^*_1},{a^*_1},{b^*_1}) and ({L^*_2},{a^*_2},{b^*_2}), two colors in L*a*b*:

\Delta E_{ab}^* = \sqrt{ (L^*_2-L^*_1)^2+(a^*_2-a^*_1)^2 + (b^*_2-b^*_1)^2 }

\Delta E_{ab}^* \approx 2.3 corresponds to a JND (just noticeable difference).[5]

CIE94

The 1976 definition was extended to address perceptual non-uniformities, while retaining the L*a*b* color space, by the introduction of application-specific weights derived from an automotive paint test's tolerance data.[6]

ΔE (1994) is defined in the L*C*h* color space with differences in lightness, chroma and hue calculated from L*a*b* coordinates. Given a reference color[7] (L^*_1,a^*_1,b^*_1) and another color (L^*_2,a^*_2,b^*_2), the difference is:[8][9][10]

\Delta E_{94}^* = \sqrt{ \left(\frac{\Delta L^*}{k_L S_L}\right)^2 + \left(\frac{\Delta C^*_{ab}}{k_C S_C}\right)^2 + \left(\frac{\Delta H^*_{ab}}{k_H S_H}\right)^2 }

where:

\Delta L^* = L^*_1 - L^*_2
C^*_1 = \sqrt{ {a^*_1}^2 + {b^*_1}^2 }
C^*_2 = \sqrt{ {a^*_2}^2 + {b^*_2}^2 }
\Delta C^*_{ab} = C^*_1 - C^*_2
\Delta H^*_{ab} = \sqrt{ {\Delta E^*_{ab}}^2 - {\Delta L^*}^2 - {\Delta C^*_{ab}}^2 } = \sqrt{ {\Delta a^*}^2 + {\Delta b^*}^2 - {\Delta C^*_{ab}}^2 }
\Delta a^* = a^*_1 - a^*_2
\Delta b^* = b^*_1 - b^*_2
S_L = 1
S_C = 1+K_1 C^*_1
S_H = 1+K_2 C^*_1

and where kC and kH are usually both unity and the weighting factors kL, K1 and K2 depend on the application:

graphic arts textiles
k_L 1 2
K_1 0.045 0.048
K_2 0.015 0.014

Geometrically, the quantity \Delta H^*_{ab} corresponds to the arithmetic mean of the chord lengths of the equal chroma circles of the two colors. [11]

CIEDE2000

Since the 1994 definition did not adequately resolve the perceptual uniformity issue, the CIE refined their definition, adding five corrections:[12][13]

  • A hue rotation term (RT), to deal with the problematic blue region (hue angles in the neighborhood of 275°):[14]
  • Compensation for neutral colors (the primed values in the L*C*h differences)
  • Compensation for lightness (SL)
  • Compensation for chroma (SC)
  • Compensation for hue (SH)
\Delta E_{00}^* = \sqrt{ \left(\frac{\Delta L'}{k_L S_L}\right)^2 + \left(\frac{\Delta C'}{k_C S_C}\right)^2 + \left(\frac{\Delta H'}{k_H S_H}\right)^2 + R_T \frac{\Delta C'}{k_C S_C}\frac{\Delta H'}{k_H S_H} }
Note: The formulae below should use degrees rather than radians; the issue is significant for RT.
The kL, kC, and kH are usually unity.
\Delta L^\prime = L^*_2 - L^*_1
\bar{L} = \frac{L^*_1 + L^*_2}{2} \quad \bar{C} = \frac{C^*_1 + C^*_2}{2}

  a_1^\prime = a_1^* + \frac{a_1^*}{2} \left( 1 - \sqrt{\frac{\bar{C}^7}{\bar{C}^7 + 25^7}} \right) \quad
  a_2^\prime = a_2^* + \frac{a_2^*}{2} \left( 1 - \sqrt{\frac{\bar{C}^7}{\bar{C}^7 + 25^7}} \right)

  \bar{C}^\prime = \frac{C_1^\prime + C_2^\prime}{2} \mbox{ and }
  \Delta{C'}=C'_2-C'_1 \quad
  \mbox{where }
    C_1^\prime = \sqrt{a_1^{'^2} + b_1^{*^2}} \quad
    C_2^\prime = \sqrt{a_2^{'^2} + b_2^{*^2}} \quad

  h_1^\prime=\text{atan2} (b_1^*, a_1^\prime) \mod 360^\circ, \quad
  h_2^\prime=\text{atan2} (b_2^*, a_2^\prime) \mod 360^\circ
Note: The inverse tangent (tan−1) can be computed using a common library routine atan2(b, a′) which usually has a range from −π to π radians; color specifications are given in 0 to 360 degrees, so some adjustment is needed. The inverse tangent is indeterminate if both a′ and b are zero (which also means that the corresponding C′ is zero); in that case, set the hue angle to zero. See Sharma 2005, eqn. 7.

  \Delta h' = \begin{cases}
    h_2^\prime - h_1^\prime & \left| h_1^\prime - h_2^\prime \right| \leq 180^\circ \\
    h_2^\prime - h_1^\prime + 360^\circ & \left| h_1^\prime - h_2^\prime \right| > 180^\circ, h_2^\prime \leq h_1^\prime \\
    h_2^\prime - h_1^\prime - 360^\circ & \left| h_1^\prime - h_2^\prime \right| > 180^\circ, h_2^\prime > h_1^\prime
  \end{cases}
Note: When either C′1 or C′2 is zero, then Δh′ is irrelevant and may be set to zero. See Sharma 2005, eqn. 10.

  \Delta H^\prime = 2 \sqrt{C_1^\prime C_2^\prime} \sin (\Delta h^\prime/2), \quad \bar{H}^\prime=\begin{cases}
    (h_1^\prime + h_2^\prime)/2 & \left| h_1^\prime - h_2^\prime \right| \leq 180^\circ \\
    (h_1^\prime + h_2^\prime + 360^\circ)/2 & \left| h_1^\prime - h_2^\prime \right| > 180^\circ, h_1^\prime + h_2^\prime < 360^\circ \\
    (h_1^\prime + h_2^\prime - 360^\circ)/2 & \left| h_1^\prime - h_2^\prime \right| > 180^\circ, h_1^\prime + h_2^\prime \geq 360^\circ 
    \end{cases}
Note: When either C′1 or C′2 is zero, then H′ is h′1+h′2 (no divide by 2; essentially, if one angle is indeterminate, then use the other angle as the average; relies on indeterminate angle being set to zero). See Sharma 2005, eqn. 7 and p. 23 stating most implementations on the internet at the time had "an error in the computation of average hue".

  T = 1 - 0.17 \cos ( \bar{H}^\prime - 30^\circ )
        + 0.24 \cos (2\bar{H}^\prime)
        + 0.32 \cos (3\bar{H}^\prime + 6^\circ )
        - 0.20 \cos (4\bar{H}^\prime - 63^\circ)

  S_L = 1 + \frac{0.015 \left( \bar{L} - 50 \right)^2}{\sqrt{20 + {\left(\bar{L} - 50 \right)}^2} } \quad
  S_C = 1+0.045 \bar{C}^\prime \quad
  S_H = 1+0.015 \bar{C}^\prime T
R_T = -2 \sqrt{\frac{\bar{C}'^7}{\bar{C}'^7+25^7}} \sin \left[ 60^\circ \cdot \exp \left( -\left[ \frac{\bar{H}'-275^\circ}{25^\circ} \right]^2 \right) \right]

CMC l:c (1984)

In 1984, the Colour Measurement Committee of the Society of Dyers and Colourists defined a difference measure, also based on the L*C*h color model. Named after the developing committee, their metric is called CMC l:c. The quasimetric has two parameters: lightness (l) and chroma (c), allowing the users to weight the difference based on the ratio of l:c that is deemed appropriate for the application. Commonly used values are 2:1[15] for acceptability and 1:1 for the threshold of imperceptibility.

The distance of a color (L^*_2,C^*_2,h_2) to a reference (L^*_1,C^*_1,h_1) is:[16]

\Delta E^*_{CMC} = \sqrt{ \left( \frac{L^*_2-L^*_1}{l S_L} \right)^2 + \left( \frac{C^*_2-C^*_1}{c S_C} \right)^2 + \left( \frac{\Delta H^*_{ab}}{S_H} \right)^2 }

S_L=\begin{cases} 0.511 & L^*_1 < 16 \\ \frac{0.040975 L^*_1}{1+0.01765 L^*_1} & L^*_1 \geq 16 \end{cases} \quad S_C=\frac{0.0638 C^*_1}{1+0.0131 C^*_1} + 0.638 \quad S_H=S_C (FT+1-F)

F = \sqrt{\frac{C^{*^4}_1}{C^{*^4}_1+1900}} \quad T=\begin{cases} 0.56 + |0.2 \cos (h_1+168^\circ)| & 164^\circ \leq h_1 \leq 345^\circ \\ 0.36 + |0.4 \cos (h_1+35^\circ) | & \mbox{otherwise} \end{cases}

CMC l:c is designed to be used with D65 and the CIE Supplementary Observer.[17]

Tolerance

File:CIExy1931 MacAdam.png
A MacAdam diagram in the CIE 1931 color space. The ellipses are shown ten times their actual size.

Tolerancing concerns the question "What is a set of colors that are imperceptibly/acceptably close to a given reference?" If the distance measure is perceptually uniform, then the answer is simply "the set of points whose distance to the reference is less than the just-noticeable-difference (JND) threshold." This requires a perceptually uniform metric in order for the threshold to be constant throughout the gamut (range of colors). Otherwise, the threshold will be a function of the reference color—cumbersome as a practical guide.

In the CIE 1931 color space, for example, the tolerance contours are defined by the MacAdam ellipse, which holds L* (lightness) fixed. As can be observed on the diagram on the right, the ellipses denoting the tolerance contours vary in size. It is partly this non-uniformity that led to the creation of CIELUV and CIELAB.

More generally, if the lightness is allowed to vary, then we find the tolerance set to be ellipsoidal. Increasing the weighting factor in the aforementioned distance expressions has the effect of increasing the size of the ellipsoid along the respective axis.[18]


See also

Footnotes

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Real World Color Management, Second Edition (Bruce Fraser)
  4. Evaluation of the CIE Color Difference Formulas[dead link]
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Called such because the operator is not commutative. This makes it a quasimetric.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. The "Blue Turns Purple" Problem, Bruce Lindbloom
  15. Meaning that the lightness contributes half as much to the difference (or, identically, is allowed twice the tolerance) as the chroma
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. CMC
  18. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links