Discussion:
Metameric Mismatch
Brad Funkhouser
2014-10-10 17:52:28 UTC
Permalink
For building camera profiles, I primarily use targets created with Argyll on
an Epson 9900 printer. So the target patches are constructed from just 7
pigmented colors plus 3 levels of black. I measure them with Eye-One Pro
Rev D in high resolution mode.

It seems like there must be some degree of metameric failure going on when
I'm using these camera profiles to capture images from a wide variety of
sources: watercolors, colored pencil, pastels, photographic papers,
acryllic paint, lithographic prints, oil paint, etc.

What tools and techniques would help me gain a better understanding of any
metameric mismatch that is happening? I'd love to be able to predict it and
quantify it. I'm not sure where to start.

Thanks.

- Brad
Ben Goren
2014-10-10 18:45:57 UTC
Permalink
What tools and techniques would help me gain a better understanding of any metameric mismatch that is happening? I'd love to be able to predict it and quantify it. I'm not sure where to start.
You can do one better.

Make your own charts using the same pigments as your artists are using. Doesn't take any skills more advanced than you learned in kindergarden -- or, you could elicit the help of one of your artists if you don't have ready access to the materials.

Keep the charts relatively physically small; 8" x 10" is an easy-to-work with size. Use larger patches, on the order of half-inch squares, meaning you'd have room for ~300 patches per chart, or ~100 for larger patches. As much as possible, strive for uniformity of application, which will take either a couple-few coats if you don't know what you're doing or some careful brushwork if you do.

Don't be afraid to make multiple charts; they're trivial to merge electronically with Argyll. Just be most carefully consistent in your workflow -- the exact same lighting, exposure, everything, for both shooting the charts and the artwork. Doesn't hurt to shoot the charts each time you set up the studio for a copy run just to be sure. If you wind up with a chart each for watercolor, oil, litho, etc., go ahead and shoot them all (as well as your inkjet) even if you're just shooting one medium; the more patches, the better.

If you want a single does-everything chart, go for Golden Fluid Acrylics. They've got the same basic chemistry as all other artist pigments use but they tend to be both more saturated and easier to work with. You'll need to mix many of them with white to bring the chroma values up, but include multiple tints including solid masstones. You'll need to apply them to a well-gessoed surface that's been sanded smooth; plexiglass makes a good substrate (apply thickly with a roller for a few coats, then another coat or two with a squeegee for a smooth surface, then work your way up through sandpaper grades to a glossy finish). If you've got enough patches to spare, mix up not just tints but blends of different pigments; just doing so at random is going to get you some metameric matches.

Cheers,

b&
Brad Funkhouser
2014-10-10 19:25:52 UTC
Permalink
Ben,

I've done some of what you describe and I intend to embark on a more
thorough custom target effort at some point. Thanks for the suggestion to
use Golden Fluid Acryllics.

But first I want to understand how well my existing inkjet generated targets
do as a proxy for other sources of reflective color, like Fuji Crystal
Archive photographic paper for example. Seems like there should be some
significant metameric failure in that instance. I want to understand where
things break down and why; visualize it, quantify it, be able to explain it.


Once I can do that, then I'll feel better about making the effort to build
more custom targets.

Maybe I'm making it more complicated than it needs to be, but I feel like
I'm flying blind to some extent. How much benefit will I get from the
custom targets? How can I know? Should I really combine inkjet target data
with photographic paper target data and acrylic paint target data, or is
that going to dilute the effectiveness of the effort?

What's the best way to go about answering these questions?

Thanks.

- Brad


-----Original Message-----
From: argyllcms-bounce-***@public.gmane.org [mailto:argyllcms-bounce-***@public.gmane.org]
On Behalf Of Ben Goren
Sent: Friday, October 10, 2014 1:46 PM
To: argyllcms-***@public.gmane.org
Subject: [argyllcms] Re: Metameric Mismatch
Post by Brad Funkhouser
What tools and techniques would help me gain a better understanding of any
metameric mismatch that is happening? I'd love to be able to predict it and
quantify it. I'm not sure where to start.

You can do one better.

Make your own charts using the same pigments as your artists are using.
Doesn't take any skills more advanced than you learned in kindergarden --
or, you could elicit the help of one of your artists if you don't have ready
access to the materials.

Keep the charts relatively physically small; 8" x 10" is an easy-to-work
with size. Use larger patches, on the order of half-inch squares, meaning
you'd have room for ~300 patches per chart, or ~100 for larger patches. As
much as possible, strive for uniformity of application, which will take
either a couple-few coats if you don't know what you're doing or some
careful brushwork if you do.

Don't be afraid to make multiple charts; they're trivial to merge
electronically with Argyll. Just be most carefully consistent in your
workflow -- the exact same lighting, exposure, everything, for both shooting
the charts and the artwork. Doesn't hurt to shoot the charts each time you
set up the studio for a copy run just to be sure. If you wind up with a
chart each for watercolor, oil, litho, etc., go ahead and shoot them all (as
well as your inkjet) even if you're just shooting one medium; the more
patches, the better.

If you want a single does-everything chart, go for Golden Fluid Acrylics.
They've got the same basic chemistry as all other artist pigments use but
they tend to be both more saturated and easier to work with. You'll need to
mix many of them with white to bring the chroma values up, but include
multiple tints including solid masstones. You'll need to apply them to a
well-gessoed surface that's been sanded smooth; plexiglass makes a good
substrate (apply thickly with a roller for a few coats, then another coat or
two with a squeegee for a smooth surface, then work your way up through
sandpaper grades to a glossy finish). If you've got enough patches to spare,
mix up not just tints but blends of different pigments; just doing so at
random is going to get you some metameric matches.

Cheers,

b&
Ben Goren
2014-10-10 21:27:26 UTC
Permalink
Post by Brad Funkhouser
Seems like there should be some
significant metameric failure in that instance.
Well, the problem is that it's all illuminant-dependent. If your profiling process is good, prints will match when compared in the same light as you photographed the original, but could potentially be radically different when viewed under various other illuminants.

If the object you're photographing has any metameric tendencies, or has any sort of fluorescent or iridescent or metallic or other color-shifting properties, you're not going to be able to reproduce it save by duplicating the material itself or restricting viewing conditions to the same as when you photographed it.

(There're some sophisticated multi-spectral techniques that could be applied to create prints that matched arbitrary illuminants, but it would again be one print per illuminant...and that sort of thing is, not to put too fine a point on it, way out of your league and mine as well.)

Fortunately, most artists don't work with those sorts of materials, and the ones who do understand the limitation; if they're looking for copy work, it's either for something "good enough" or as a base upon which they'll hand-apply the special materials.

That leaves you with traditional artist pigments, which tend to be reasonably stable, such that you generally only have to get a decent shot under standard photographic lighting equipment with a good profile. You <i>can</i> get a not-miserable profile out of an inkjet-only print, but you'll do much better if you add in a bunch of other pigments as well.

Cheers,

b&
Brad Funkhouser
2014-10-11 14:01:42 UTC
Permalink
I'm not really talking about the metamerism issue of matching prints to an
original when displayed under different illuminants, though that's a whole
other interesting problem as you point out.
Ben said: "If your profiling process is good, prints will match when
compared in the same light as you photographed the original." <===
Actually, they'll match under D50, right? They'd only match under the same
light you photographed them if you explicitly define your illuminant in the
profile rather than the standard D50, correct?

And I'm not really thinking about fluorescent, iridescent or metallic issues
in this case.

What I'm grappling with is determining whether there's a way to pre-compute
the metameric defects caused by camera's spectral response curves in
conjunction with my lighting and profiling targets on colors coming into D50
Lab.

In a dream I have 72 equal wattage lasers spaced every 5nm (380 to 730) from
which Argyll can compute my camera's spectral response curves.

Then Argyll can to take existing D50 spectral art color data (say from
spectrashop), transform it using the measured spectral illuminant data for
my actual lighting, and feed it through the computed camera's response
curves to get predicted RGB values.
From there I can send the RGB values through the inkjet target generated
camera profile to get D50 Lab values for comparison with the known D50 Lab
values of the art colors.

This would show me how well my inkjet targets serve as a proxy for any set
of art colors for which there is available spectral data.

So, is there any realistic way to approximate my camera's spectral response
curves? Can some fancy color science math utility take RGB values for a
measured ptfe white patch shot under 4 or 5 significantly different measured
illuminants and somehow glean a close approximation? If this is possible,
is there a utility to feed D50 spectral color data through an illuminant
then through a set of response curves to get expected RGB values?

Thanks.

- Brad



-----Original Message-----
From: argyllcms-bounce-***@public.gmane.org [mailto:argyllcms-bounce-***@public.gmane.org]
On Behalf Of Ben Goren
Sent: Friday, October 10, 2014 4:27 PM
To: argyllcms-***@public.gmane.org
Subject: [argyllcms] Re: Metameric Mismatch
Seems like there should be some
significant metameric failure in that instance.
Well, the problem is that it's all illuminant-dependent. If your profiling
process is good, prints will match when compared in the same light as you
photographed the original, but could potentially be radically different when
viewed under various other illuminants.

If the object you're photographing has any metameric tendencies, or has any
sort of fluorescent or iridescent or metallic or other color-shifting
properties, you're not going to be able to reproduce it save by duplicating
the material itself or restricting viewing conditions to the same as when
you photographed it.

(There're some sophisticated multi-spectral techniques that could be applied
to create prints that matched arbitrary illuminants, but it would again be
one print per illuminant...and that sort of thing is, not to put too fine a
point on it, way out of your league and mine as well.)

Fortunately, most artists don't work with those sorts of materials, and the
ones who do understand the limitation; if they're looking for copy work,
it's either for something "good enough" or as a base upon which they'll
hand-apply the special materials.

That leaves you with traditional artist pigments, which tend to be
reasonably stable, such that you generally only have to get a decent shot
under standard photographic lighting equipment with a good profile. You
<i>can</i> get a not-miserable profile out of an inkjet-only print, but
you'll do much better if you add in a bunch of other pigments as well.

Cheers,

b&
Ben Goren
2014-10-11 16:33:51 UTC
Permalink
Post by Brad Funkhouser
So, is there any realistic way to approximate my camera's spectral response
curves?
I have a lot of mixed news for you.

First, the good: you're groping towards the right answer, and, indeed, once you're there, your immediate concern becomes moot. And it's all perfectly doable.

The bad: it's not particularly well-trodden territory.

The not-so-bad: I'm pretty far down the trail and hope, before too terribly long, to have some straightforward solutions.

Basically, what you're aiming for is to photograph a known spectrum. The common way to do this is with a monochromator whose output you measure and photograph at each slice of the spectrum at whatever resolution you're looking for. I'm pretty close to an easy and cheap way to do it with the entire spectrum in one photograph, provided you have an i1 Pro or equivalent instrument. You'd build a basic spectroscope and photograph the spectrum it projects...but the devil is in the details. Specifically, you need to know the distribution of the spectrum that gets generated, which is either going to involve equipment that costs more than your mortgage or some cruder measurements and math...and it's that latter part I'm working on now. Specifically, I'm building a monochromator so I can measure the transmission efficiency of the grating film I'm using.

But, once I've got that, a bit of spreadsheet work should be the only other remaining piece of the puzzle. The final workflow will basically be getting an ambient measurement of the illuminant and a reflective measurement of the diffuser you're bouncing your illuminant off of and into the spectroscope...and then photograph the spectrum, treat it like a chart with Argyll with a custom set of reference files, and feed the .ti3 to a spreadsheet for a bit of mangling before handing it back to Argyll to generate your profile.

When it's all put together, you won't need to worry about how good a chart you can make with your printer; you'll already have the ideal chart, limited only by the quality of your process control and your equipment. Though I've spent far more on experimentation, the final bill of materials for those who use the same diffraction grating and who trust my measurement will be all of about $10; those who want to build a monochromator to get their own measurements would be looking at three or four times that cost. And the equipment, though far from laboratory grade by any modern sense of the term, surpasses the state-of-the-art from a century or so ago when all the famous groundbreaking work was done in the field of spectroscopy.

Also, in practice, high-end modern DSLRs have spectral sensitivities that are "good enough" that you generally don't have to worry about different metameric interpretations between the camera and the standard observer. They're not perfect, of course, but the differences between the camera and the standard observer are less than other errors in the system. And, if you _really_ need to worry about that sort of thing, then you can get into the realm of multi-spectral imaging by shooting your work through various carefully-selected color filters and applying some high-powered math; see the work of Dr. Roy Berns at the Rochester Institute of Technology for all the necessary peer-reviewed publications.

Hope this helps, and that you don't mind the teaser...and, now, if you'll excuse me, I need to figure out how I'm going to mount the diffraction grating in the monochromator....

Cheers,

b&
Gerhard Fuernkranz
2014-10-12 16:01:57 UTC
Permalink
So, is there any realistic way to approximate my camera's spectral response curves?
There are a couple of approaches described in the literature to reconstruct/estimate the sensor sensitivities, but not from a single sample, but rather from as many as possible linearly independent spectral training samples (the key property here is "linearly independent" - even a huge number of samples won't actually help if they are linearly dependent).

Due to measurement errors and due to lack of real-world samples with a sufficient dimensionality in spectral space, the reconstruction becomes an ill-conditioned inverse problem though, so that some kind of regularization (e.g. PCR) and/or additional constraints (e.g. positivity, unimodal, smoothness) need to be applied in order to obtain recovered curve shapes which look plausible at all.

Or in other words: The problem is that there exists an infinite number of potential sensitivity curve candidates, _each of them_ fitting with the given spectral training samples, but only one of these candiate curves matches the actual sensor sensitivity - but how to find this candiate? One can only guess, by selecting a candidate with a reasonably looking shape, still the selected one may deviate from the right one, as the true shape is unknown.

Note that _any_ of the candidate curves gives correct (*) RGB estimates for spectra _inside_ the training set, but they are not guaranteed to give also correct RGB estimates for arbitrary other spectra, which not part of the training set (-> only the right one of the candidates would).

(*)...with "correct" I mean within the accuracy limits implied by the given measurement errors

Regards,
Gerhard
Can some fancy color science math utility take RGB values for a measured ptfe white patch shot under 4 or 5 significantly different measured illuminants and somehow glean a close approximation? If this is possible, is there a utility to feed D50 spectral color data through an illuminant then through a set of response curves to get expected RGB values?
Ben Goren
2014-10-12 16:32:40 UTC
Permalink
Post by Gerhard Fuernkranz
Note that _any_ of the candidate curves gives correct (*) RGB estimates for spectra _inside_ the training set, but they are not guaranteed to give also correct RGB estimates for arbitrary other spectra, which not part of the training set (-> only the right one of the candidates would).
Gerhard, what about the reverse? If you have a chart with both reference values and profiled RGB / XYZ values from a photograph, how practical is it to estimate the spectrum of the illuminant used for the photograph? Assume, of course, a chart with lots of different reflective spectra, maybe even some shifty metamers.

b&
Gerhard Fuernkranz
2014-10-12 21:20:04 UTC
Permalink
Post by Ben Goren
Gerhard, what about the reverse? If you have a chart with both reference values and profiled RGB / XYZ values from a photograph, how practical is it to estimate the spectrum of the illuminant used for the photograph? Assume, of course, a chart with lots of different reflective spectra, maybe even some shifty metamers.
Hi Ben,if you know the reflectance spectra of the patches and the corresponding XYZ numbers under an unknown light source spectrum, then IMO you still need samples spanning the full dimensionality of spectral space in order to reconstruct the spectrum of this light source. And since one can hardly provide samples with rank of 10 or more in practice, I'd say this reconstruction problem is eventually ill-conditioned either.[ At least on the fly no other method comes into my mind than solving the inverse problem - I'd need to think about it in more detail... ]

Regards,
Gerhard
Ben Goren
2014-10-12 22:01:42 UTC
Permalink
Post by Gerhard Fuernkranz
Post by Ben Goren
Gerhard, what about the reverse? If you have a chart with both reference values and profiled RGB / XYZ values from a photograph, how practical is it to estimate the spectrum of the illuminant used for the photograph? Assume, of course, a chart with lots of different reflective spectra, maybe even some shifty metamers.
Hi Ben,if you know the reflectance spectra of the patches and the corresponding XYZ numbers under an unknown light source spectrum, then IMO you still need samples spanning the full dimensionality of spectral space in order to reconstruct the spectrum of this light source. And since one can hardly provide samples with rank of 10 or more in practice, I'd say this reconstruction problem is eventually ill-conditioned either.[ At least on the fly no other method comes into my mind than solving the inverse problem - I'd need to think about it in more detail... ]
Does it get any easier by initially narrowing down the search space -- such as specifying the standard illuminant closest to the environmental one? I'm thinking that, if you know it's outdoors you can get an initial fit with D?? and the ?? filled in from the white point, and use that as your starting point. Same thing with incandescent. Fluorescents are trickier, of course, but, again, they tend to cluster around certain sets. Once the predominant spectrum is established, it's then a case of refinement, such as from strongly-colored reflections (or, say light filtered through tree leaves) or mixed lighting (commonly, incandescent and fluorescent indoors, or <whatever> and xenon flash).

I'm hoping the problem might be like data compression: difficult (if not guaranteed impossible) for the universal case, but not that bad and "good enough" effective for almost any situation one might actually encounter.

b&
Gerhard Fuernkranz
2014-10-12 22:58:45 UTC
Permalink
Post by Ben Goren
Does it get any easier by initially narrowing down the search space
Sure, in order to solve otherwise ill-conditioned problems, it is eventually necessary to make assumptions which constrain the solution space. The assumptions should be likely though, for the given scenario, in order that the found solution is likely the correct solution, or close to the correct solution.

Regards,
Gerhard
Gerhard Fuernkranz
2014-10-12 23:09:47 UTC
Permalink
Ben, btw, do you really have a scenario where you know the reflectance spectra of a set of patches, and also know the XYZ colors emit these patches when illuminated by an unknown light source, but where you do not know the light source spectrum?

Regards,
Gerhard
Post by Gerhard Fuernkranz
Post by Ben Goren
Does it get any easier by initially narrowing down the search space
Sure, in order to solve otherwise ill-conditioned problems, it is eventually necessary to make assumptions which constrain the solution space. The assumptions should be likely though, for the given scenario, in order that the found solution is likely the correct solution, or close to the correct solution.
Regards,
Gerhard
Ben Goren
2014-10-13 05:06:38 UTC
Permalink
Post by Gerhard Fuernkranz
Ben, btw, do you really have a scenario where you know the reflectance spectra of a set of patches, and also know the XYZ colors emit these patches when illuminated by an unknown light source, but where you do not know the light source spectrum?
That's the project I'm working on right now...I think I've figured out the worst of the final geometry of my DIY monochromator, and hope to start taping foamcore together this week....

b&
Graeme Gill
2014-10-13 06:22:04 UTC
Permalink
Post by Brad Funkhouser
So, is there any realistic way to approximate my camera's spectral response
curves? Can some fancy color science math utility take RGB values for a
measured ptfe white patch shot under 4 or 5 significantly different measured
illuminants and somehow glean a close approximation? If this is possible,
is there a utility to feed D50 spectral color data through an illuminant
then through a set of response curves to get expected RGB values?
Hi,
such things have been done, but the problem tends to be under-constrained,
so a lot of assumptions need to be made, resulting in curves that are often
quite sensitive to measurement noise and not very accurate overall.
To get greater accuracy you really need a target with finely spaced
transitions throughout the wavelength range.

I have had a play with some code that does this, using the i1d3
spectral sensitivities as an example "ground truth" set, but something
like the ColorCheckerDC really doesn't seem to have the range of spectral
shapes to give dependable real world results.

Graeme Gill.
Brad Funkhouser
2014-10-13 14:49:02 UTC
Permalink
Interesting problem.

And a very practical issue for me.

I don't want to go through the effort of building custom input targets using
actual art colors just for fun. It seems like color science utilities
together with the measurement capabilities of my Eye-One Pro and
pre-existing spectral data for the art colors should somehow allow me to
compute delta Es for my current profiles on those colors.

I wonder what targets camera manufacturers use for testing the spectral
response curves of their sensors?

Thanks.

- Brad



-----Original Message-----
From: argyllcms-bounce-***@public.gmane.org [mailto:argyllcms-bounce-***@public.gmane.org]
On Behalf Of Graeme Gill
Sent: Monday, October 13, 2014 1:22 AM
To: argyllcms-***@public.gmane.org
Subject: [argyllcms] Re: Metameric Mismatch
Post by Brad Funkhouser
So, is there any realistic way to approximate my camera's spectral response
curves? Can some fancy color science math utility take RGB values for a
measured ptfe white patch shot under 4 or 5 significantly different measured
illuminants and somehow glean a close approximation? If this is possible,
is there a utility to feed D50 spectral color data through an illuminant
then through a set of response curves to get expected RGB values?
Hi,
such things have been done, but the problem tends to be
under-constrained,
so a lot of assumptions need to be made, resulting in curves that are often
quite sensitive to measurement noise and not very accurate overall.
To get greater accuracy you really need a target with finely spaced
transitions throughout the wavelength range.

I have had a play with some code that does this, using the i1d3
spectral sensitivities as an example "ground truth" set, but something
like the ColorCheckerDC really doesn't seem to have the range of spectral
shapes to give dependable real world results.

Graeme Gill.
Ben Goren
2014-10-13 15:01:55 UTC
Permalink
Post by Brad Funkhouser
I wonder what targets camera manufacturers use for testing the spectral
response curves of their sensors?
They are almost assuredly not using reflective targets but rather typical tunable monochromators.

And, even then, the hard part isn't generating the monochromatic light...it's measuring the _intensity_ of the monochromatic light you're generating. All sorts of chicken-and-egg problems abound that make the standard laboratory equipment used for this sort of thing not exactly cheap. Then, just to put the icing on the cake, they're likely going to be doing this at all sorts of intensities, possibly including some relatively bright ones at some point.

However, if you've already got an i1 Pro or similar spectrophotometer and you're just looking to profile an existing camera rather than design and engineer the whole system, it should be possible to do the rest on the cheap -- limited, of course, by the specifications of the i1 plus all the other sources of error you're going to introduce. That's the project I'm working on now....

Cheers,

b&
Brad Funkhouser
2014-10-13 16:23:19 UTC
Permalink
Alright, that's a bold undertaking. I already own a diffraction grating.

Thanks.

- Brad
Post by Ben Goren
Post by Brad Funkhouser
I wonder what targets camera manufacturers use for testing the spectral
response curves of their sensors?
They are almost assuredly not using reflective targets but rather typical tunable monochromators.
And, even then, the hard part isn't generating the monochromatic light...it's measuring the _intensity_ of the monochromatic light you're generating. All sorts of chicken-and-egg problems abound that make the standard laboratory equipment used for this sort of thing not exactly cheap. Then, just to put the icing on the cake, they're likely going to be doing this at all sorts of intensities, possibly including some relatively bright ones at some point.
However, if you've already got an i1 Pro or similar spectrophotometer and you're just looking to profile an existing camera rather than design and engineer the whole system, it should be possible to do the rest on the cheap -- limited, of course, by the specifications of the i1 plus all the other sources of error you're going to introduce. That's the project I'm working on now....
Cheers,
b&
Graeme Gill
2014-10-13 21:20:57 UTC
Permalink
Post by Brad Funkhouser
I don't want to go through the effort of building custom input targets using
actual art colors just for fun.
That may be the easier path though, if it gets you to a practical result.

Measuring camera spectral sensitivities accurately is not easily done,
since it is not so common, the tools to do something useful with
the curves is not so readily available either. If you are developing
cameras, there are people who can help you for a price.

Graeme Gill.

Loading...