Content uploaded by Renzo Shamey
Author content
All content in this area was uploaded by Renzo Shamey on Jan 03, 2014
Content may be subject to copyright.
Comparison of the performance of inverse
transformation methods from
OSA-UCS to CIEXYZ
Renbo Cao,
1
H. Joel Trussell,
2
and Renzo Shamey
1,
*
1
Color Science and Imaging Laboratory, North Carolina State University, Raleigh, North Carolina 27695, USA
2
Department of Electrical and Computer Engineering, North Carolina State University, Raleigh,
North Carolina 27695, USA
*Corresponding author: rshamey@ncsu.edu
Received April 19, 2013; revised June 11, 2013; accepted June 12, 2013;
posted June 14, 2013 (Doc. ID 189143); published July 15, 2013
The Optical Society of America’s Uniform Color Scales (OSA-UCS) is one of the color spaces that most closely
approximate a “true” uniform color space. Different techniques have been used to convert OSA-UCS-based color
specification parameters, L, j, and g, to the CIE tristimulus values, X, Y, and Z. However, none of these methods
provides a direct method of inverting OSA-UCS to CIEXYZ values. Thus, numerical algorithms, such as the
Newton–Raphson method, have been employed to obtain the transformations. The relative low accuracy and long
computation time of this method makes it undesirable for practical applications. An artificial neural network
(ANN) was employed to convert OSA-UCS to CIEXYZ. Its performance was compared with that of numerical
methods. After optimization, ANN gave a better performance with a mean error (ΔEX Y Z )of1.0 × 10
−4
and a
conversion time of less than 1 s for 1891 samples. © 2013 Optical Society of America
OCIS codes: (330.1730) Colorimetry; (200.4260) Neural networks; (110.6980) Transforms; (350.6980)
Transforms.
http://dx.doi.org/10.1364/JOSAA.30.001508
1. INTRODUCTION
The complexity of the CIEDE2000 color-difference equation
indicates that CIELAB color space might not be an ideal start-
ing point for color-difference modeling [
1–3]. A more uniform
color space would likely result in a much simpler and more
convenient color difference model. To date, several uniform
color spaces, such as Optical Society of America’s Uniform
Color Scales (OSA-UCS) [
4,5], and a number of associated
color-difference models, such as those based on DIN99 [
6]
and CIECAM02 [
7], have been developed. Recent research
has found that the color-difference equations based on
OSA-UCS, i.e., OSA-GP (Granada-Parma) and OSA-Eu
(Euclidean), generate competitive or better performances
over CIEDE2000 for the BFD, Leeds, RIT-DuPont, and Witt
visual datasets [
8,9].
The OSA-UCS was developed in 1947 by the Optical Society
of America’s Committee on Uniform Color Scales [10] and
most closely approximates a “true” uniform color space.
The committee started with 59 colored ceramic tiles having
approximately similar luminous reflectance of about 30%,
and the colors were characterized using the CIE 1964 Stan-
dard Colorimetric Observer and CIE D65 Standard illuminant.
Judgments of relative magnitudes of color differences exhib-
ited by 128 selected nearest-neighbor pairs of 59 colored tiles
were recorded by 49 to 76 observers. Very complex formulas
were derived from those visual datasets to convert CIEXYZ
(10°, D65) to OSA-UCS space, whose three color coordinates
L, j, and g broadly represent lightness, yellowness, and green-
ness, respectively. We will denote this transformation as
ϕX; Y; Z L; j; g: (1)
The equations for the OSA-UCS transformation are given
below. The conversion incorporates Helmholtz–Kohlrausch
and lightness crispening effects using the Sanders–Wyszecki
and modified Semmelroth formulas shown in Eqs. (
3) and (4),
respectively:
x
X
X Y Z
;
y
Y
X Y Z
; (2)
Y
0
4.4934x
2
4.3034y
2
− 4.27xy − 1.3744x
− 2.5643y 1.8103Y; (3)
Λ 5.9Y
1∕3
0
− 2∕3 0.042Y
0
− 30
1∕3
; (4)
C
Λ
5.9Y
1∕3
0
− 2∕3
; (5)
R 0.799X 0.4194Y − 0.1648Z;
G −0.4493X 1.3265Y 0.0927Z;
B −0.1149X 0.3394Y 0.717Z; (6)
1508 J. Opt. Soc. Am. A / Vol. 30, No. 8 / August 2013 Cao et al.
1084-7529/13/081508-08$15.00/0 © 2013 Optical Society of America
L
Λ − 14.4
2
1∕2
;
j C1.7R
1∕3
8G
1∕3
− 9.7B
1∕3
;
g C−13.7R
1∕3
17 .7G
1∕3
− 4B
1∕3
: (7)
Later, several color difference formulas were proposed by
different researchers. In 2004, Oleari investigated color oppo-
nency in the OSA-UCS, and derived a new formula on which
the OSA-GP color difference formula is based [
5,11]. In 2009,
Oleari et al. demonstrated a more uniform log-compressed
OSA-UCS color space, and proposed the OSA-Eu color differ-
ence model based on this space [
4]. These formulas showed
good performance when compared to other models.
One of the shortcomings of the OSA-UCS system is that un-
fortunately no closed-form transformation equation from
OSA-UCS notations to XYZ notations is available, mainly
due to the nonreversibility of the Semmelroth formula. Thus,
iterative numerical methods are required. This has limited the
use and practical application of the OSA system. Among the
methods examined, the most widely used root-locating for-
mula is probably the Newton–Raphson method. Kobayasi
and Yosiki [
12] and Moroney et al. [13] derived approaches
based on the Newton–Raphson method to convert the OSA-
UCS notations to XYZ notations. However, the intrinsic short-
coming of the Newton–Raphson method is that good initial
estimates are usually required to ensure convergence, and
the process of exploring the root is usually time-consuming.
Furthermore, the convergence of the approximation is not
guaranteed even when a good initial estimate is provided.
The application of an artificial neural network (ANN)
model is an alternative method to obtain the inverse trans-
form. ANNs are broadly modeled based on the reasoning of
the human brain, and their main feature is their ability to
“learn” and build upon their rules of behavior through what
we usually refer to as “experience.” ANNs can be used for
function approximation, especially for highly complex func-
tions that may inhibit a straightforward inverse transforma-
tion [
14]. There are many types of neural networks based
on different algorithms, and extensive references are available
for readers interested in their basic principles [
14,15].
In this work, a multilayer perceptron (MLP) was applied to
obtain the inverse transformation of CIEXYZ notation to OSA-
UCS notation. The performance of this system was compared
with that of Kobayasi’s and Moroney’s methods.
2. PREVIOUS METHODS
In 2002, Kobayasi et al. derived a numerical conversion algo-
rithm based on Newton–Raphson method [
12]. Here, first for a
given L, Y
0
can be solved using a numerical method according
to Eqs. (
3), (4), and (7) because their derivatives are comput-
able. Once Y
0
is obtained, Λ can be easily calculated using
Eq. (
4). In order to obtain (X, Y, Z) from g, j, and Y
0
, three
nonlinear equations [Eqs. (
3), (6), and (7)] for the three un-
knowns, X, Y , and Z may be employed. Thus, X, Y , and Z
can be obtained, in principle, as a simultaneous solution of
these equations, as shown in following equations:
X 1.0626ω
3
− 0.4121ω a
0
3
0.2975ω b
0
3
;
Y 0.3599ω
3
0.6401ω a
0
3
− 0.0000ω b
0
3
;
Z −0.0001ω
3
− 0.3690ω a
0
3
1.4424ω b
0
3
; (8)
where ω R
1∕3
; a
0
9.7a − 4b∕139.69; b
0
8a − 17.7b∕
139.69; a g∕C, b j∕C.
Furthermore, in Eq. (
3), Y
0
is a function of x, y, and Y , thus
it can be represented as a function of one variable, ω,as
denoted below:
Y
0
ψω. (9)
The Newton–Raphson method is then used again to solve
for ω in Eq. (
9). Finally, X, Y , and Z are calculated
from Eq. (
8).
However, in the calculation of Y
0
from L, the samples with
L 0 cannot converge since its derivative is zero at that
value. To solve this problem, one may set t Y
1∕3
0
; then
Eq. (
7) can be transformed into a simple cubic function of
t as shown below, and this equation can be solved for t using
the Newton–Raphson method:
2
1∕2
L 14.4
5.9
− t
2
3
3
− 0.042
3
t
3
− 30 0: (10)
In addition, a function in MATLAB, fzero , was used to con-
vert L to Y
0
to avoid setting t Y
1∕3
0
. The fzero algorithm uses
a combination of bisection, secant, and inverse quadratic in-
terpolation methods [
16].
Recently, Moroney et al. employed a variation of Newton–
Raphson method using finite-difference approximations to
compute the partial derivatives of the function ϕ· in
Eq. (
1)[13]. In their method, three variables are processed
at a time instead of a single variable described in the previous
method, as shown in following equations:
L
0
;j
0
;g
0
ϕX
i
;Y
i
;Z
i
;
L
1
;j
1
;g
1
ϕX
i
ΔX; Y
i
;Z
i
;
L
2
;j
2
;g
2
ϕX
i
;Y
i
ΔY;Z
i
;
L
3
;j
3
;g
3
ϕX
i
;Y
i
;Z
i
ΔZ: (11)
The iterative process can be written as the function shown
below. To reduce the update step, the incremental term was
divided by 5 plus the cube root of the iteration number before
adding it to the tristimulus values from the previous iteration:
2
6
6
4
X
i1
Y
i1
Z
i1
3
7
7
5
2
6
6
4
L
1
− L
0
∕ΔX L
2
− L
0
∕ΔY L
3
− L
0
∕ΔZ
j
1
− j
0
∕ΔX j
2
− j
0
∕ΔY j
3
− j
0
∕ΔZ
g
1
− g
0
∕ΔX g
2
− g
0
∕ΔY g
3
− g
0
∕ΔZ
3
7
7
5
−1
×
2
6
6
4
L − L
0
j − j
0
g − g
0
3
7
7
5
2
6
6
4
X
i
Y
i
Z
i
3
7
7
5
: (12)
3. RECENT APPROACHES
In order to improve the computation speed and conversion
accuracy, we describe a multilayer perceptron method that
is easy to encode [
17,18]. The fminsearch method in MATLAB
is also used due to its simplicity for the conversion proc-
ess [
17,18].
Cao et al. Vol. 30, No. 8 / August 2013 / J. Opt. Soc. Am. A 1509
A. fminsearch Method
The fminsearch routine uses the Nelder–Mead simplex algo-
rithm [
19], which is a direct search method that does not use
numerical or analytical gradients.
Let
L
k
f
1
X
k
;Y
k
;Z
k
;
j
k
f
2
X
k
;Y
k
;Z
k
;
g
k
f
3
X
k
;Y
k
;Z
k
; (13)
FX
i
;Y
i
;Z
i
f
1
X
i
;Y
i
;Z
i
− L
0
2
f
2
X
i
;Y
i
;Z
i
− j
0
2
f
3
X
i
;Y
i
;Z
i
− g
0
2
; (14)
where L
k
, j
k
, and g
k
are the outputs for sample k; L
0
, j
0
and g
0
are known; and X
i
, Y
i
, and Z
i
are the initial estimates of the
function F ·. The X
i
, Y
i
, and Z
i
in Eq. (12) can be trans-
formed to find the values of L
0
, j
0
, and g
0
to minimize the dif-
ference shown in Eq. (
14). Finally, fminsearch in MATLAB
was used to solve Eq. (
14). The initial estimate for all L, j,
and g was X
in
;Y
in
;Z
in
28.4; 30.0; 32.2, the same starting
point used in Moroney’s method.
B. Multilayer Perceptron Method
The MLP neural network consists of an interconnected group
of artificial neurons, and it processes information using a con-
nectionist approach to computation [
14]. It is an adaptive sys-
tem that changes its synaptic weights or the topology based on
external or internal information that flows through the net-
work during the supervised learning phase to minimize the
cost function. A general architecture of the MLP neural net-
work is shown in Fig.
1. It contains four layers, one input layer,
two hidden layers, and one output layer. Both the input and
output signals are three-dimensional and all the neurons are
fully connected. In this study, the MATLAB neural network
toolbox was used [
18].
The mathematical expression for this system can be de-
scribed as shown below. Let the training set τ be defined as
τ fxi; dig
N
i1
; (15)
where N denotes the number of training samples, xi is the
ith input sample, and di is the ith desired output. In this
study, xi is L
i
;j
i
;g
j
and di is X
i
;Y
i
;Z
i
.
The output of the MLP can be expressed as a universal
approximator shown in Eq. (
16):
Fx; ΓΦW
M
ΦW
1
x b
1
b
M
; (16)
where Φ· is an activation function defining the output of
that neuron given an input or set of inputs; Γ
fW
1
W
M
; b
1
b
M
g is the entire set of synaptic weights
W and biases b ordered by the layer.
The cost function can be defined as
ξ
av
Γ
1
2N
X
N
i1
di − F xi; Γ
2
: (17)
The cost function can be minimized to obtain relatively op-
timal synaptic weights and bias, Γ. This supervised learning
(training) procedure can be viewed as a problem in numerical
optimization. Many optimization methods, such as the
conjugate-gradient, quasi-Newton and Levenberg–Marquardt
methods, can be used to solve this problem [
14].
Here the activation functions include the nonlinear func-
tion, tansig, for the hidden layers and the linear function,
purelin, for the output layer. The Levenberg–Marquardt
method was employed to train the neural network with a goal
of obtaining a mean square error that is smaller than 10
−4
.We
used 1513 samples for training, which was about 80% of the
total set, and 378 samples for testing. In addition, 10% of
the training data was employed for the cross validation to pre-
vent over-training or premature termination of training. This
dataset is described in Section
4.A. As is common in neural
network training [
14], all samples were normalized to
−1; 1. One, two, and three hidden layers with different neu-
rons in each layer were examined. Each configuration of the
neural network was run 100 times with the dataset sequence
shuffled in each iteration. The sequence of the training dataset
and architecture of the one running with minimum mean er-
rors for all 1891 samples were recorded for future use and
reference. Listed in Table
3 are the details for each configu-
ration and its corresponding results, including the average,
maximum, and standard deviation of errors for one trial with
minimum mean error, plus the total number of weights and the
range of errors for 100 trials.
4. EXPERIMENTAL DESIGN
The dataset is based on that described by MacAdam [20]. For
performance evaluation, average, maximum errors in the Ljg
and XYZ spaces and computation time for all samples are
reported and compared.
A. Dataset
The dataset described by MacAdam [
20] was used as a basis
for this study. The set consists of 558 samples, with given L, j,
g and Y , x, y values. Y , x, and y can be transformed to X, Y ,
and Z values using standard equations. Since there are some
round-off errors for nominal L, j, and g values, and a need of
more samples for MLP training and testing, 1333 additional
points are generated within the gamut determined by the
558 samples in Ljg space. Then all the samples are converted
to CIEXYZ system using fminsearch method. Their corre-
sponding L, j, and g values can be obtained via Eqs. (
1)–(6).
The distribution of all samples in the Ljg space and the XY Z
system are shown in Figs.
2 and 3.
The dataset Ω is defined as
Ω fL
i
;j
i
;g
i
; X
i
;Y
i
;Z
i
g
N1891
i1
: (18)
Fig. 1. Architecture of an MLP neural network.
1510 J. Opt. Soc. Am. A / Vol. 30, No. 8 / August 2013 Cao et al.
The distributions of training and testing data for the MLP
method used are shown in Fig.
4. As Fig. 4 illustrates, the train-
ing samples span the Ljg space defined by MacAdam [
20].
Note that all data pairs satisfy Eq. (
1) as closely as
machine precision allows.
B. Evaluation Method
The iterations were terminated when the difference (ε) be-
tween two successive iterations was smaller than 10
−7
for
Kobayasi’s method and 10
−4
for Moroney’s method, the same
as what was used in their methods. As a safeguard, the
Fig. 2. Distribution of the dataset in the Ljg space.
Fig. 3. Distribution of the dataset in the XYZ space.
Cao et al. Vol. 30, No. 8 / August 2013 / J. Opt. Soc. Am. A 1511
maximum number of iterations for Kobayasi’s and Moroney’s
methods was set to 5000.
To evaluate the accuracy of conversion via different
methods, the error for the X
i
;Y
i
;Z
i
was defined as shown
in following equation:
ΔE
XYZi
‖O
i
− D
i
‖
ΔX
2
i
ΔY
2
i
ΔZ
2
i
q
: (19)
Here O
i
and D
i
are the predicted and desired X
i
;Y
i
;Z
i
,
respectively, for the ith color sample.
In order to compare the perceptual performance of these
techniques, all the converted X, Y , and Z were transformed
to L, j, and g using Eqs. (
1)–(6), and the error for L
i
;j
i
;g
i
was computed using
ΔE
Ljgi
ΔL
2
i
Δj
2
i
Δg
2
i
q
: (20)
The average and maximum error were obtained. Also, the
total computation time for all 1891 samples for each method
was recorded.
5. RESULTS
The results based on all methods described here are shown in
Table
1. The samples that did not converge were excluded
from the calculation of errors.
A. Kobayasi’s Method
According to the Kobayasi’s method, two steps are needed for
the transformation of color space vectors, where L is trans-
formed to Y
0
, and then Y
0
, j, g are converted to X, Y, Z.In
the conversion of L to Y
0
, samples with L 0 do not converge
when using the Newton–Raphson method to solve Eq. (
6).
Here this is denoted as method 1. Two modifications have
been proposed to overcome this problem. In the first method,
Y
1∕3
0
in Eq. (8) is substituted with t, and then the Newton–
Raphson method is used as proposed by Kobayasi. This is de-
noted as method 2. Another method is to use the fzero func-
tion in MATLAB to solve Eq. (
6). This technique, which was
used in this study, is denoted as method 3. The results of the
transformation from L to Y
0
are shown in Table 2. The points
that did not converge were excluded from the computation of
Fig. 4. Distribution of all data in the Ljg space (blue circles, training samples; red dots, testing samples).
Table 1. Results of the Conversion of L, j, g to X, Y, and Z
ΔE
XYZ
ΔE
Ljg
Method Avg. Max. STD. Max. Iteration Min. Iteration Time (second) Avg. Max. STD.
Kobayasi 1 0.0051 0.0104 0.0019 DNC
a
5 DNC
a
0.0005 0.0005 0.0000
2 0.0057 0.0529 0.0045 13 5 5.5 0.0011 0.0210 0.0033
3 0.0049 0.0104 0.0020 6 2 6.9 0.0005 0.0007 0.0000
Moroney 0.0036 0.0048 0.0008 712 5 163.8 0.0012 0.0156 0.0020
fminsearch 0.0051 0.0365 0.0024 ——122.6 0.0006 0.0117 0.0006
MLP(30-30-30) 0.0001 0.0058 0.0002 ——0.6 0.0003 0.0371 0.0019
a
DNC: do not converge.
1512 J. Opt. Soc. Am. A / Vol. 30, No. 8 / August 2013 Cao et al.
errors. Results indicate that methods 2 and 3 give comparable
performance with mean and maximum errors of around
0.0030 and 0.0060, respectively.
The converted results of L; j; g to X; Y ;Z are shown in
Table
1. Results demonstrate that the accuracy of the three
methods described above was similar, with almost the same
ΔE
XYZ
of 0.0050 with the exception of nonconvergence points
in method 1. The computation time for method 3 is slightly
longer than for method 2.
B. Moroney’s Method
The initial estimate of X; Y; Z based on Moroney’s method
was [28.4, 30.0, 32.2]. The total computation time for this
method was approximately 163.8 s. The mean error of
ΔE
XYZ
was 0.0036 for all samples here, which was slightly
smaller than those obtained via Kobayasi’s methods 2 and
3. The maximum error was significantly smaller than those
of Kobayasi.
C. fminsearch Method
Results given in Table
1 showed that the fminsearch method
gave a performance similar to that of Kobayasi’s methods 2
and 3, with a mean error of 0.0051. The computation time
was 122.6 s, which was much longer than that of Kobayasi’s
methods 2 and 3, but shorter than Moroney’s method.
Moroney’s method produced better means and maximum
errors.
D. MLP Method
In order to find the relatively optimal architecture of MLP,
eight different configurations were investigated, as shown
in Table
3. Results in Table 3 demonstrate that all MLP con-
figurations investigated, except those with a single layer, gave
much smaller overall mean ΔE
XYZ
than both Kobayasi’s and
Moroney’s method. The two best structures among those in-
vestigated were the one with three hidden layers with 30 neu-
rons in each hidden layer and the one with two hidden layers
with 40 neurons in each hidden layer, giving an overall mean
ΔE
XYZ
of 0.0001, as shown in Table 3. The training time for
each trial was about 100 s, and once the structure of the
MLP neural network was set, the computation of all 1891
samples took only about 0.6 s.
E. Comparisons
Distributions of ΔE
XYZ
and ΔE
Ljg
for all methods are shown
in Table
4. It can be noted that the MLP method gave the best
Table 2. Results of Approximation of Y
0
in Kobayasi’s Method
Method Avg: ΔE
Y 0
Max: ΔE
Y0
STD: ΔE
Y 0
Max. Iteration Min. Iteration
1 0.0030 0.0058 0.0011 DNC 5
2 0.0031 0.0067 0.0021 1714 1
3 0.0029 0.0058 0.0013 ——
Table 3. Results of Approximation of X, Y, and Z Using Different MLP Architectures
Architectures Dataset Avg: ΔE
XYZ
Max: ΔE
XYZ
STD: ΔE
XYZ
Tot:W
a
Avg:ΔE
XYZ
Range
b
60 Testing data 0.0143 0.1160 0.0097 360 0.0133–0.1334
Training data 0.0130 0.0992 0.0080
All data 0.0133 0.1160 0.0084
100 Testing data 0.0095 0.0589 0.0073 600 0.0075–0.0588
Training data 0.0071 0.0433 0.0043
All data 0.0075 0.0589 0.0051
Testing data 0.0008 0.0103 0.0011 1080 0.0005–0.0395
30-30 Training data 0.0005 0.0114 0.0006
All data 0.0005 0.0114 0.0007
40-40 Testing data 0.0002 0.0052 0.0004 1840 0.0001–0.0202
Training data 0.0001 0.0064 0.0002
All data 0.0001 0.0064 0.0002
45-45 Testing data 0.0003 0.0144 0.0010 2295 0.0002–0.0186
Training data 0.0001 0.0021 0.0001
All data 0.0002 0.0144 0.0004
20-30-20 Testing data 0.0005 0.0128 0.0012 1320 0.0003–1.4139
Training data 0.0003 0.0041 0.0003
All data 0.0003 0.0128 0.0006
30-30-30 Testing data 0.0001 0.0058 0.0004 1980 0.0001–0.0156
Training data 0.0001 0.0035 0.0001
All data 0.0001 0.0058 0.0002
30-35-30 Testing data 0.0002 0.0226 0.0012 2280 0.0001–0.0182
Training data 0.0001 0.0018 0.0001
All data 0.0001 0.0226 0.0006
a
Tot:W: total number of weights.
b
ΔE
XYZ
range: the mean error of all samples for 100 runs.
Cao et al. Vol. 30, No. 8 / August 2013 / J. Opt. Soc. Am. A 1513
performance over all the other methods, with the smallest
average and maximum ΔE
XYZ
, the smallest variances about
means, and the shortest computation time. When processing
large images, MLP is preferred due to its fast computation
speed. For Moroney’s method, if the stop criterion was set
to 10
−7
, its performance was comparable to that of MLP
method in terms of mean and variance of ΔE
XYZ
and
ΔE
Ljg
. But the iterations for some samples with L near to zero
samples reach up to the preset maximum number of itera-
tions, resulting in a much longer computation time.
To evaluate the perceptual effect of the errors, we compare
their ΔE
Ljg
errors. It is of interest to notice that ΔE
Ljg
of all
samples for Kobayasi method 3 are smaller than 0.0007, but
for the MLP method, there are 58 samples of which the
ΔE
Ljg
are larger than 0.001, with the maximum of 0.0371
and the L values of all these samples are zero. The reason
why larger errors in XYZ space can result in a smaller error
in Ljg space for Kobayasi method 3 is that the error of X, Y ,
and Z (ΔX, ΔY , and ΔZ) are highly correlated, as shown in
Fig.
5. To verify this assumption, each sample with L 0,
10
5
[ΔX, ΔY, ΔZ] was randomly generated within the range
of error of X, Y , and Z that was produced by Kobayasi method
3. It was found that the samples [ΔX, ΔY, ΔZ] for which
ΔE
XYZ
is larger than ΔE
Ljg
, lie in a plane. One example with
Ljg value of [0 −2 0] is shown in Fig.
6. Results in Fig. 6 illus-
trate that the [ΔX, ΔY , ΔZ] generated by Kobayasi method 3
lies in the plane defined by the set of random errors that pro-
duced small errors. The MLP method produces a more con-
centrated, but less correlated, distribution. We are currently
investigating the cause for the biased-error distribution. It
is thought to be related to first estimating the Y
0
parameter
and then solving for the other two parameters in a 2D-space.
It should be noted that the formulas are based on the gamut
determined by the OSA color samples, thus the high accuracy
of the model is restricted to the area [
10] shown in Fig. 7.
6. CONCLUSIONS
The purpose of this work was to investigate the application
and performance of an ANN, with MLP, in the conversion
from OSA-UCS notations to CIEXYZ values. The accuracy
and conversion times were compared with those of the pre-
viously reported methods based on the Newton–Raphson
method. A relatively optimal ANN architecture with three hid-
den layers and 30 neurons in each layer was obtained. A com-
parison of results showed that this MLP structure generated a
mean ΔE
XYZ
of 0.0001 with a conversion time of less than 1 s
for 1891 samples. This indicates that ANN can be successfully
used to quickly and accurately invert OSA notation to XYZ
Table 4. Distributions of ΔE
XYZ
and ΔE
Ljg
Methods Kobayasi 1 Kobayasi 2 Kobayasi 3 Moroney fminsearch MLP (30-30-30)
ΔE
XYZ
<0.001 0 0 63 52 37 1882
0.001–0.01 1819
a
1824 1825 1839 1838 9
0.01–0.05 3 65 3 0 16 0
0.05–102000 0
ΔE
Ljg
<0.001 1822 1821 1891 1300 1867 1823
0.001–0.01 0 1 0 539 22 58
0.01–0.04 0 69 0 52 2 10
a
There are 69 points that do not converge.
Fig. 5. Distribution of ΔX, ΔY , and ΔZ of the Kobayasi 3 (K3) and
MLP methods for all samples.
Fig. 6. Distribution of the ΔX, ΔY , and ΔZ simulated, Kobayasi 3
(K3), and MLP methods for a sample with Ljg value [0 −2 0].
Fig. 7. Distribution of OSA color samples in an xy chromaticity
diagram.
1514 J. Opt. Soc. Am. A / Vol. 30, No. 8 / August 2013 Cao et al.
values. The relatively simple and quick nature of applying neu-
ral networks to invert OSA notation is expected to increase
the practical application and use of the OSA-UCS system
for color specification, as well as color difference predictions.
APPENDIX A
The reader may use the inverse transformation formula below
to generate corresponding XYZ values based on given Ljg
values:
Fx; ΓΨW
O
3×30
W
3
30×30
ΦW
2
30×30
ΦW
1
30×3
x b
1
30×1
b
2
30×1
b
3
30×1
b
O
30×1
;
where Φ· is the tansig function,
Φx
2
1 e
−2x
− 1;
Ψ· is the linear transformation function in the output
layer, and
Ψxx.
Γ fW
1
W
2
W
3
W
O
; b
1
b
2
b
3
b
O
g is the entire set of syn-
aptic weights W and biases b ordered by the layer. The inputs
should be normalized to −1; 1 based on the given normaliza-
tion structures. The outputs should be rescaled to normal
range in terms of given normalization structures.
The weights, biases, and the MATLAB code can be found in
the Resources [
21] tab in the following address: http://www.tx
.ncsu.edu/color.
REFERENCES AND NOTES
1. R. G. Kuehni, “CIEDE2000, milestone or final answer?” Color
Res. Appl. 27, 126–127 (2002).
2. R. G. Kuehni, “Color difference formulas: an unsatisfactory state
of affairs,” Color Res. Appl. 33, 324–326 (2008).
3. M. R. Luo, G. Cui, and B. Rigg, “The development of the CIE 2000
colour-difference formula: CIEDE2000,” Color Res. Appl. 26,
340–350 (2001).
4. C. Oleari, M. Melgosa, and R. Huertas, “Euclidean color-
difference formula for small-medium color differences in
log-compressed OSA-UCS space,” J. Opt. Soc. Am. A 26,
121–134 (2009).
5. R. Huertas, M. Melgosa, and C. Oleari, “Performance of a color-
difference formula based on OSA-UCS space using small-
medium color differences,” J. Opt. Soc. Am. A 23, 2077–2084
(2006).
6. G. Cui, M. R. Luo, B. Rigg, G. Roesler, and K. Witt, “Uniform col-
our spaces based on the DIN99 colour-difference formula,”
Color Res. Appl. 27, 282–290 (2002).
7. M. R. Luo, G. Cui, and C. Li, “Uniform colour spaces based
on CIECAM02 colour appearance model,” Color Res. Appl.
31, 320–330 (2006).
8. R. Shamey, D. Hinks, M. Melgosa, R. Luo, G. Cui, R. Huertas, L.
Cárdenas, and S. G. Lee, “Evaluation of performance of twelve
color-difference formulae using two ncsu experimental data-
sets,” in The 5th European Conference on Colour in Graphics,
Imaging, and Vision and the 12th International Symposium
on Multispectral Colour Science, Joensuu, Finland (2010),
pp. 423–428.
9. M. Melgosa, R. Huertas, and R. S. Berns, “Performance of recent
advanced color-difference formulas using the standardized
residual sum of squares index,” J. Opt. Soc. Am. A 25,
1828–1834 (2008).
10. D. L. MacAdam,
“Uniform color scales,” J. Opt. Soc. Am. 64,
1691–1702 (1974).
11. C. Oleari, “Color opponencies in the system of the uniform color
scales of the Optical Society of America,” J. Opt. Soc. Am. A 21,
677–682 (2004).
12. M. Kobayasi and K. Yosiki, “Effective conversion algorithm from
OSA-UCS to CIEXYZ,” Proc. SPIE 4421, 4 (2002).
13. N. Moroney, H. S. Fairman, and P. Chong, “An inverse to the
Optical Society of America-Uniform Color System,” Color
Res. Appl. 37, 106–108 (2012).
14. S. Haykin, Neural Networks and Learning Machines, 3rd ed.
(Prentice-Hall, 2009).
15. M. H. Beale, M. T. Hagan, and H. B. Demuth, Neural Network
Toolbox User’s Guide (The MathWorks, 2011).
16. http://www.mathworks.com/help/techdoc/ref/fzero.html.
17. http://www.mathworks.com/help/matlab/ref/fminsearch.html.
18. Maltab and Neural Network Toolbox Release 2011b (The
MathWorks, Inc.).
19. J. C. Lagarias, J. A. Reeds, M. H. Wright, and P. E. Wright,
“Convergence properties of the Nelder-Mead simplex
method in low dimensions,” SIAM J. Optim. 9, 112–147 (1998).
20. D. L. MacAdam, “Colorimetric data for samples of OSA uniform
color scales,” J. Opt. Soc. Am. 68, 121–130 (1978).
21. Disclosure: While we have made attempts to ensure the code is
safe and risk free, the resources are offered “as is” with no war-
ranty. No liability for any damage to your system or material will
be accepted.
Cao et al. Vol. 30, No. 8 / August 2013 / J. Opt. Soc. Am. A 1515
A preview of this full-text is provided by Optica Publishing Group.
Content available from Journal of the Optical Society of America A
This content is subject to copyright. Terms and conditions apply.