Re: fine art reproduction questions
Re: fine art reproduction questions
- Subject: Re: fine art reproduction questions
- From: Klaus Karcher <email@hidden>
- Date: Fri, 07 May 2010 21:20:37 +0200
Ben Goren wrote:
Any chance there's more information on the process somewhere?
Perhaps, say, enough for somebody to figure out a way of doing
the same basic thing manually?
Robin Myers wrote:
HP has been very quiet with details of the process.
I don't know much about the internals of the HP Artist solution as well,
but let me try to conclude what's inside the "black HP box" from the
inputs and outputs (A patent research might reveal more details as well,
but I'm too lazy to do it).
The inputs are:
- the /spectral/ properties of the light source
- the /spectral/ properties of the camera or scanner
- the camera response (RGB image)
- spectral data of at least 50 arbitrary measuring points of the original
The "magic" part is that there has to be no relation between the
measured spectra and their RGB values: you don't have to tell the
software the /location/ of the measuring points and I suppose the
software also does not try to locate corresponding RGB values. So at
first sight the additional information is just a bunch of spectra
/without/ corresponding device values.
The output is an ordinary RGB image with an ordinary (image specific)
ICC profile, i.e. device values and a "dictionary" or mathematical
relation that permits to translate the device values into /colorimetric/
values.
So the question is: how can one use this bunch of unrelated spectra to
improve the colorimetric prediction accuracy of a spectrally
characterized system?
Before one can answer this question, one needs to understand what does
it mean to have a spectrally characterized system. One way to regard
spectral data is to treat every measured band as separate dimension. If
we measure spectral data e.g. from 380 through 750nm in 10nm intervals,
we can mark every measured spectrum as one vector in an 38-dimensional
space. We can treat the R,G and B sensor of our camera (or scanner or
colorimeter) as set of 3 vectors in this high-dimensional space and the
sensitivities of the human (standard) observer as another set of
vectors. The set of all possible device values of our camera spans a
3-dimensional subspace of our high-dimensional space and the set of
sensations of the Standard Observer spans another subspace.
If there exists a relation that maps (transforms) every possible device
value into exactly one corresponding sensation (and hence also vice
versa), our Camera is said to fulfill the Luther Condition and we are
off the hook: We can use this transformation to translate the camera
responses into human sensations. We've got a perfect camera as we can
bring it to "see" exactly the same as we see.
Unfortunately such a camera does not exist in real life.
Let's get back to our high dimensional space: I already mentioned that
the device values of an input device or the sensations of an observer
can be regarded as lower-dimensional subspaces of our hyperspace. If we
take an arbitrary spectrum (i.e. vector) our device response can be
regarded as the /projection/ of this vector onto the devices subspace.
As the dimensionality of our subspace is lower than the dimensionality
of our spectral space, the projection is not invertible: Though we can
map every spectrum to /one/ device value, there is an infinite number of
spectral vectors that map to exactly the /same/ RGB vector. All this
spectral vectors are metamers for this device (or observer) as they
evoke exactly the same device response (or sensation) and there is no
chance to find out which of the countless possible spectra caused a
certain camera response.
A good example for a projection onto a lower dimensional subspace might
be a shadow theater: what we see is the projection of an three
dimensional scene onto a two dimensional projection screen. We loose the
information of the third dimension and when we see the shadow of an
object we can only guess what's really behind the screen. Is the object
that casts this shadow a real person or is it just a cardboard
character? How tall is the object? How far is it away from our
projection screen? What's its volume? In fact we can imagine an
/infinite/ number of possible objects that project exactly the same
shadow. This infinite set of possible objects /has to/ share some common
properties (as all of them cast the same shadow onto our screen), but we
are not able to define exactly what's behind the screen from the limited
information we have.
If we had a second screen (e.g a slightly curved screen at a different
location), this screen might show different shadows for two objects we
can't distinguish on our first screen (e.g the real person and the
cardboard character), but there are also objects that look the same on
the /second/ screen but are indistinguishable on the first. In other
words: there is no unambiguous mapping between the shadows on our two
screens as long as our information is limited to (two-dimensional)
projections.
Back to the spectral space: the projection of spectra onto a device's or
observer's subspace is ambiguous. The set of spectra that causes the
same device response (the metamer set) can be regarded as a cloud of
points in spectral space. Every "metamer cloud" has an infinite number
of points, but fortunately metamer sets have two nice properties: If the
spread of our spectral space is finite, the clouds are always closed and
convex. Ok, maybe one needs a certain affinity to mathematics to feel
properties like closeness and convexity as nice ;-) but at least this
properties are practical as on can e.g. border and locate such sets,
calculate their volumes and intersections with others and so on. Another
nice propertiy of these metamer clouds is: The more we can narrow down
the set of /plausible/ input spectra, the smaller the metamer clouds
will get.
Another way of thinking about these clouds and spaces is: we are always
loosing information if we project onto lower-dimensional subspaces. The
more dimensions we loose, the more grave is the ambiguity we get. If
there were a way to reduce the dimensionality of our input space, it
would be easier to keep the projection "more unequivocal".
The key to reduce the dimensionality as "gently" as possible is to
"sort" the dimensions by importance and to leave of only less important
dimensions. The mathematical method to transform data into "sorted"
dimensions is called Principal Component Analysis (PCA) and I guess that
HP uses exactly this method in the Artist solution: I suppose they use
the bunch of measured spectra to derive a set of important basis
functions. The basis functions are intended to explain typical spectral
features of the original as good as possible and one can use this basis
functions to refine the prediction model. There is still a huge loss of
information, but if the basis functions are properly defined, the model
is able to make a more "educated guess" abut the eligible spectra and
hence tristimulus values that might have caused a certain device value:
The relevant regions of the metameric sets can be narrowed down.
But there are still remaining discrepancies between our perception and
the device values. I.e. there are still situations where two spectra can
result in the same device values but different perceptions or vice
versa. No ICC profile can ever resolve these remaining discrepancies.
And there's an additional catch: the selection of "important" basis
functions tries to minimize /spectral/ errors. But to minimize a
spectral error does not necessarily mean to minimize a cororimetric
error as the correlation between spectral an colorimetric errors is
anything but simple: tiny spectral errors can result in huge Delta E's
and very dissimilar spectra can evoke nearly indistinguishable color
sensations.
The HP Artist solution is certainly suitable to improve the colorimetric
accuracy of a camera or scanner, but it's not the magic answer to all
problems. There might be less complex solutions with comparable or even
better performance.
Klaus Karcher
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Colorsync-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden