1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// SPDX-License-Identifier: CC-BY-SA-4.0
// Copyright © Paweł Redman
#import "/common.typ": post, link-self, static, img
#show: post.with(
title: "Otsu et al. (2018), part 4",
date: datetime(year: 2020, month: 8, day: 10),
)
In the #link-self("gsoc/otsu2018_3")[previous part] I mentioned that reflectances reconstructed using this method can exceed the [0, 1] range and violate conservation of energy. Indeed, I could simply ask it for an imaginary color and get a weird, unphysical spectrum.
What's interesting is that this doesn't happen in practice, when upsampling real data. Out of almost 1300 reflectances I tested, I found only one bad reconstruction. Using the original clustering, the result for `magenta` from `BabelColor Average` colorchecker reflects 100.6% of light at 730 nm. Clipping this value to 100% creates a tiny color difference, orders of magnitude smaller than the #link("https://en.wikipedia.org/wiki/Just-noticeable_difference")[just-noticeable difference].
#figure(
img(static("gsoc/otsu2018_error.png")),
caption: [You can see the small difference between the clipped and unclipped reflectances in the upper right corner of the figure. (Click to enlarge.)],
)
Many methods have this property of being able to create perfect metamers, so looking at ΔE's isn't very interesting. In a future post I'll take a look at MSE (mean square error), which quantifies differences between spectra themselves, and compare a few methods.
|