What the brain does

The appearance model takes XYZ

CIECAM16 predicts how a colour looks, and its input is three tristimulus values computed through a standard observer. Everything this round measures happens before the model is called, so an appearance prediction inherits six observer departures and a choice of cone space before it begins.

Assumes The identity is in the eye's own coordinates, The cones an appearance model uses and A viewing condition is an argument.

An appearance model is the most elaborate machinery in this collection, and everything it does happens downstream of three numbers. This round is about how those three numbers are made.

What choosing a space to divide the white out in is worth. Three pairs of routes to the same colour, over forty-two surfaces: dividing the white out in tristimulus values, in a published cone space, and in the observer's own cones. The first two agree to 0.59 ΔE₀₀ at the median. Either of them differs from the observer's own cones by more than fifteen. That is why the two exact conditions in this round are exact only in the eye's own coordinates: the identity belongs to the receptors, and every published arithmetic works in a basis somebody else chose.
Fig. 1 Three routes to the same colour. An appearance model is handed the output of one of them and has no way of knowing which.

The claim

An appearance model’s input is a projection through a standard observer, so every departure this round measures is applied before the model is called and none of them is visible to it.

  • CIECAM16 takes XYZ, a white point, an adapting luminance, a background and a surround. The first two carry the observer; the last three are the viewing condition.
  • Six departures totalling about three colour differences are already in the input by the time the model sees it.
  • The model then applies its own cone transform, CAT16’s, which is not the physiological basis and is a further fifteen units away from it.
  • And the model cannot compensate, because a model whose input is three numbers cannot recover the spectrum those numbers came from.

What the model’s inputs are

CIECAM16 is a function of a stimulus’s tristimulus values, the tristimulus values of the adopted white, an adapting luminance, a relative background luminance and a categorical surround. It returns lightness, brightness, chroma, colourfulness, saturation and hue.

A viewing condition is an argument established the structural point about the last three: an appearance model differs from a matching model precisely in taking them, and that is why it can say a patch looks different in two rooms while a colorimetric calculation says it is the same colour.

What has never been said here is what the first two arguments are. They are integrals of spectra against three tabulated functions — the observer, applied before the model exists — and the model has no argument for which observer produced them.

So the model is exact about everything it is given and inherits everything about how the giving was done. That is the ordinary situation for any model taking pre-processed input and it is worth naming because the pre-processing here is a contract rather than a measurement.

Two observers inside one calculation

There is a subtlety that makes this worse than a simple inheritance, and this collection has already found half of it.

The cones an appearance model uses established that CIECAM16’s internal cone space is CAT16’s, which is a sharpened basis fitted to corresponding-colour data rather than a set of physiological fundamentals. The model transforms its input XYZ into that space, adapts, applies its nonlinearities and comes back out.

So an appearance prediction passes through two observer-like objects: the standard observer that made the XYZ, and CAT16’s cones that the model adapts in. Neither is a receptor set, and this round measures that the second is fifteen colour differences from the physiological basis at the median.

The two are not composable into one. The standard observer decides what the stimulus is; CAT16’s cones decide how the adaptation is done to it; and a change in either moves the answer in a different way.

A model with two internal observers has two places for the audit’s terms to enter, and the literature discusses the second and not the first.

The conditions under which an observer's departure is exactly zero. A departure of the observer is the pairing of something belonging to the observer with something belonging to the stimulus, so emptying either factor empties the product. The axis is logarithmic in what is left when the condition is imposed. Six rows empty the stimulus's factor — a perfectly neutral sample is the same colour for every observer, at any age and any field size — and two empty the observer's, since a gain on each cone and a change of basis are both absorbed exactly. All eight are identities rather than small numbers. The last two are the same two conditions imposed in a published cone space rather than in the observer's own, and they are worth eight and thirteen units: the identity is about the eye, and the arithmetic everybody uses is in somebody else's coordinates.
Fig. 2 The ten conditions of the audit. The two limits at the bottom are what happens when the exact conditions are imposed in CAT16’s basis rather than the eye’s, which is the basis an appearance model adapts in.

What the model would need to see them

A model that could account for observer variation would need something a colour cannot supply.

The departures are spectral: they depend on where the stimulus’s structure sits relative to where an observer’s parameters live. Three tristimulus values have thrown that away — that is what a projection onto three numbers means — so no function of XYZ can recover how much observer spread the stimulus carries.

The model would have to take the spectrum as its argument. That is not a small change: CIECAM16’s whole structure is a chain of transforms on three numbers, and every published test vector, every implementation and every ICC workflow is built on that interface.

A spectral appearance model is not an unheard-of idea and nothing in this collection is one. What is worth noting is that the barrier is the interface rather than the arithmetic: a model taking a spectrum could apply any observer, compute the spread, and return an appearance with an uncertainty on it, and everything it needs beyond the current model is already available.

What an observer argument would give

A cheaper version is available and it is what the CIE’s own 2006 fundamental observer suggests.

An appearance model could take an observer as an argument beside its viewing condition — an age and a field size, which is what the 2006 observer is parameterised by. It would compute the stimulus’s tristimulus values through that observer rather than being handed them, which means the interface moves upstream but only by one step.

That would let an appearance prediction be made for a specific person, which is the thing every appearance model’s evaluation data is an average over. It would also let the spread be computed by running the model twice.

Nothing prevents it. The obstacles are that the input to most workflows is already XYZ by the time an appearance model is reached, and that the corresponding-colour data the models were fitted to are themselves averages over unreported panels, so a per-observer model would be fitted on population-average data.

A model parameterised by an observer and fitted on an average is a model that is precise about the wrong thing, which is a real objection and is not a reason to leave the parameter out.

The one thing the model does absorb

There is a term the model handles well and it is worth crediting, because it is the one most likely to be confused with the ones it does not.

An appearance model’s adaptation step divides by a white point, and a great deal of what a change of observer does to a stimulus is shared with what it does to the white. So the relative effect is smaller than the absolute one, and an appearance prediction is less exposed than a raw colorimetric one.

That is the pairing structure again, and it is why a neutral is everyone’s colour — a stimulus that is a scalar multiple of the white is unaffected by any observer, and an appearance model computing on the ratio inherits that identity exactly.

So the model absorbs the part of the observer’s departure that is common to the stimulus and the white, and is exposed to the part that is not. That is the same division the whole round has been making, and it means an appearance prediction’s exposure scales with the stimulus’s departure from the white in the same linear way everything else does.

A departure against how far the sample sits from the light. The sample is mixed with a flat reflectance, from the flat one at the left to its own at the right, and two observers differing in the macular pigment look at each mixture. The straight line is the distance between their relative cone excitations, and it is straight to 0.0 per cent: the departure is a pairing, and scaling one factor scales the product. The curved line is the same sequence in ΔE₀₀, which is not a linear function of the excitations and cannot be — it has cube roots in it and a chroma weighting underneath. The identity is about the eye; the curvature belongs to the unit.
Fig. 3 The departure against how far a stimulus sits from the light. An appearance model’s exposure follows the same line, because its adaptation step divides by the white.
Six departures of the observer, each at a stated strength, under a 6500 K thermal radiator. Each bar is two observers differing in one argument, looking at the same sample under the same light, in ΔE₀₀. The strengths are the literature's: the working-age lens, two standard deviations of the reported macular and density spreads, the long-wavelength polymorphism, the CIE's own second observer, and a rod contribution of a tenth. They are within a factor of 2.0 of one another, which is the point: there is no single term to fix. Every one of them is above the ΔE of about one that a delivery tolerance is written in.
Fig. 4 The six departures at their literature strengths. All six are applied before an appearance model is called and none of them is an argument it takes.

Putting the ladder beside the model’s argument list is the clearest statement of the essay’s point. CIECAM16 takes five arguments and is exact about all of them; six more exist, they are of comparable size to the effects the model predicts, and there is nowhere to put them.

That comparison is worth making carefully. The model’s own predictions — the Hunt effect, the surround’s effect on lightness contrast, the shift in colourfulness with adapting luminance — are effects of between a few per cent and a factor of two on their respective correlates. The observer departures are two to three colour differences. Those are not directly comparable quantities and they are the same order of consequence.

So an appearance prediction for a specific person carries an uncertainty comparable with the phenomena the model exists to predict. That is not an argument against the model; it is an argument for the parameter it does not take.

Each departure over forty-two surfaces rather than one. The same six departures measured over a family of forty-two analytic reflectances — an absorption band of stated centre, width and depth — with the smallest, the median, the ninety-fifth percentile and the largest marked. Every one of them spans more than a factor of three, and the ranking between them is not stable across the family: what decides a departure's size is which sample it is asked about, because a departure is a pairing and the sample is one of the two factors. Quoting any single number for what an observer's age is worth is quoting a choice of example.
Fig. 5 The six departures over forty-two surfaces. The distributions are what an appearance prediction for an unknown viewer would have to carry as an error bar.

What this does to the model’s evaluation

The audit has something to say about how appearance models are judged against each other, and it is a caution rather than a finding.

Models are compared by how well they predict measured corresponding colours: pairs of stimuli reported to look alike under two different lights. The measurements come from panels of observers and are averaged, and the averaging is over people whose lens densities, macular pigments and cone peaks differ by the amounts this round measures.

So the data a model is fitted to carry an observer spread of a few colour differences, and models are being distinguished by residuals of a similar size. A fit can be exact and empty, and a comparison between two models whose residuals differ by less than the data’s own observer spread is a comparison the data cannot support.

This collection cannot check that, because it has no corresponding-colour data — an absence recorded for six rounds and now recorded for a seventh, with one more reason attached.

What was computed, and how

Nothing is recomputed. The six departures and the fifteen-unit route gap are this round’s, and the description of CIECAM16’s interface is from the model as implemented in this collection, which is checked against the published test vector to four significant figures in all six correlates.

The claim that no function of XYZ can recover the spectral information is a statement about the projection rather than a measurement: three numbers are three numbers, and a metameric black is invisible to them by construction.

The claim that the model absorbs the common part follows from its adaptation step being a division by the white, which is the same argument the round’s identities rest on.

One further consequence is worth drawing out for anybody building a soft-proofing or colour-appraisal application on top of an appearance model. Such an application predicts what a viewer will see, in a stated room, from a stated stimulus, and presents the result as a picture or a number.

The prediction is exact for the standard observer and carries the round’s spread for the actual viewer. So a soft proof shown to a fifty-year-old is a prediction for a young eye, presented without qualification, and the gap is largest exactly for the saturated colours a proof is usually being consulted about.

The repair is the same one the round has proposed everywhere: compute the allowance, which needs the spectrum and is available in a spectral workflow, and present it. A prediction with an uncertainty is a different object from a prediction, and every part of the machinery needed to produce the first already exists.

Where the model stops

Everything here is about the inputs. Nothing in this round examines CIECAM16’s internal parameters — its nonlinearity exponent, its surround constants, its hue quadrature — which have their own uncertainties and their own fitted origins.

The audit’s observers are constructed rather than tabulated, so the departures fed into an appearance calculation would carry the construction’s residual as well.

And the whole essay is about a matching uncertainty entering an appearance calculation. Whether a person with a different observer also has a different appearance response is a question about neural processing downstream of the receptors, and nothing here bears on it. It is quite possible that the visual system’s own normalisation absorbs a large part of what the arithmetic reports, which is the argument the lens essay makes and cannot settle.

The two internal observers could be reconciled. There is a version of the model that would remove one of the two, and it is worth sketching because it is closer than it sounds.

If the model took cone responses rather than tristimulus values, its first internal transform would disappear: the stimulus would arrive in a receptor basis and the adaptation would be applied there. The question of which cone space to adapt in would become the question of which cone fundamentals to use, and those are measurable objects.

What stops it is that the model’s adaptation transform was fitted in a sharpened basis, and it was fitted there because a receptor-basis gain does not predict corresponding colours as well. So moving the interface to the receptors would require refitting the adaptation on data the field has and this collection does not, and the refit might well be worse.

That is the same standing difficulty the basis work has recorded from several directions: the basis that is physiologically motivated and the basis that fits the behaviour are not the same, and every model in use has chosen the second. This round adds the size of the gap and does not resolve it.

The three cone absorptances at two settings of the field size. Solid and dashed are the same construction at the two ends of the CIE's own second observer. The curves are built from one pigment template through its ocular media, which is the same model its population of two hundred eyes is drawn from. The largest difference between the two sets is 16.0 per cent of the peak, and where it sits along the wavelength axis is what decides which stimuli the two observers disagree about — a departure concentrated in the blue is invisible on a sample with no blue in it.
Fig. 6 The three cone absorptances at two field sizes. An appearance model takes a viewing condition with a surround and a background in it and does not take the field size of the stimulus, which is an observer argument rather than a room one.

The field size is the sharpest illustration of where the interface sits, because it is a viewing-condition parameter that is also an observer parameter and the model takes viewing conditions.

CIECAM16 takes a surround, a background luminance and an adapting luminance — three properties of the room — and no field size, because a field size acts on the observer rather than on the room and the observer arrives already applied. So a model that carefully distinguishes a dim surround from an average one is silent about whether the sample subtends two degrees or ten, which is worth 1.33 ΔE₀₀ and is a property of the same viewing situation.

That is the interface’s boundary drawn in one example: everything about the room is an argument and everything about the eye is upstream, and the field size sits on the line and went upstream.

The generalisation

The habit is about the interface a model is written against.

A model’s interface fixes what it can be right or wrong about. A model taking three numbers can be a very good model of everything downstream of those numbers and can say nothing whatever about how they were made — and if the making carries a term larger than the model’s own accuracy, the model’s accuracy is not the limiting factor.

The move is to look upstream of an interface before improving what is downstream of it. That is unfashionable, because downstream is where the model is and upstream is somebody else’s code.

The failure mode is a chain of well-validated components each accurate to a tenth of a unit, connected by an interface that discards the information a term of three units depends on. The accuracy of a chain is not the accuracy of its parts, and the losses are at the joins.

A last note about the size of what is at stake, because the essay could be read as claiming an appearance model is unreliable and it does not. CIECAM16 is checked here against the published test vector to four significant figures in all six correlates and round-trips across the whole sRGB cube to 4 × 10⁻¹³ under three surrounds and five decades of adapting luminance. It is an exact and well-behaved piece of arithmetic.

What the round says is that its inputs are a projection through a contract and its internal adaptation is in a fitted basis, and that both carry terms of a few colour differences that the model neither creates nor can see. Those are statements about the surrounding machinery rather than about the model, and they would be true of any model with the same interface.

Who found it, and when

CIECAM97s and its successors have taken tristimulus values since the beginning, because that is what a colour management pipeline has and because the models were built to slot into one.

The CIE’s 2006 fundamental observer, parameterised by age and field size, is the standardised object that would let an appearance model take an observer argument, and it has been available since 2006. No appearance model in general use takes one, and the reason is the interface rather than the science.

One thing this round does leave the appearance work in better shape about. Its two internal observers are now measured against each other and against the physiology, so a reader of any appearance result here knows that the adaptation basis contributes and by how much. That was previously a known choice with no number attached, and a choice with a number is a different object from a choice.

Where the ladder goes next

The audit’s terms have now been traced through every part of this collection’s machinery. What remains is the case they were always about: two observers and one metamer, which is where an observer difference stops being an abstraction and becomes a disagreement about whether two things match.

What this makes readable

Essays that name this one as a prerequisite.

Named alongside this one

Essays reaching for the same objects. Nobody chose these; they are what the index of named objects makes visible.

What links here

Every essay whose body links to this one.

The objects this essay names

Each one links to every other essay that touches it.

Appearance modelBasisCAT16CIECAM16Colour appearanceCone fundamentalsIndividual variationStandard observerStructural choiceViewing condition