1. Introduction
Surface-spectral reflectance is typically defined as the ratio of light reflected from an object’s surface to the incident light as a function of wavelength. It provides physical features that are inherent and discriminative to the surfaces of objects composed of different materials, such as natural and man-made objects. Hence, knowledge regarding the spectral reflectance of objects can be applied extensively to color science, image science and technology, computer vision, and computer graphics. Problems in estimating the surface-spectral reflectance from camera responses have been investigated concurrently with the development of cameras and imaging systems; consequently, many methods have been proposed.
Spectral reflectance estimation methods based on camera responses can be classified into two primary approaches: model-based approach [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13] and training (or learning)-based approach [
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26].
In the model-based approach, camera responses are described using camera spectral sensitivities, surface-spectral reflectance, and illuminant spectral power distributions. This approach is the more typically used approach and includes finite-dimensional modeling methods [
1,
3] and Wiener estimation methods [
4,
5,
6,
7,
8,
9,
10,
11,
12]. The Wiener estimation methods are based on a statistical approach, in which noise in the imaging system and a certain statistic of the spectral reflectance are considered. The Wiener estimation methods are one of the most typically used and reliable methods when the spectral sensitivity functions of the imaging system are known. Recently, an improved estimation method, known as the “linear minimum mean square error (LMMSE)” method [
13] was proposed to minimize the estimation error of spectral reflectance. Its estimation accuracy was theoretically verified to be better than that of the conventional Wiener method.
The training-based approach is typically constructed without knowledge regarding the camera spectral sensitivities and illuminant spectral distributions; instead, a large training dataset, which is a large table comprising a pair of camera responses and the corresponding spectral reflectances, is used. Regression methods directly establish the relationship between RGB responses and spectral reflectances and include support vector regression [
17,
18], kernel regression [
19,
20], linear regression [
21,
22], and neural networks [
26]. This method does not necessitate the assumption of a linear relationship between RGB values and the spectral sensitivity function and allows the camera response to be mapped nonlinearly to the spectral sensitivity function. Therefore, raw camera data are not required. However, this approach requires a significant amount of training data to establish reliable mapping and can be utilized solely for a specific imaging system. The camera responses are acquired under specific conditions of the illumination environment and imaging geometries, and the corresponding spectral reflectances are measured using a spectrometer or obtained using a spectral imaging device. Thus, the training data depend on the illumination environment, unless an additional operation such as white balance is implemented [
24,
25].
Recently, software that can store images captured as raw data has become publicly available when using digital single-lens reflex (DSLR) cameras and mobile phone cameras. The spectral sensitivity function represents the image sensor output per unit of incident light energy at each wavelength within the spectral range in which the camera system operates. This function results in a linear relationship between the camera inputs and outputs using raw image data [
27]. Under these conditions, spectral sensitivity can be measured using monochromatic light. The measured spectral sensitivities for different cameras have been published [
27,
28]; for instance, databases for 28 DSLR cameras [
29] and 20 mobile phone cameras [
30] are currently available. Considering recent imaging environments on software development and database availability, as the model-based approach does not require prior training, it can be a more direct estimation method for estimating surface-spectral reflectances.
In this paper, we propose a novel method to effectively use a reflectance database and significantly improve the estimation accuracy of spectral reflectance from image data acquired using an RGB digital camera. The imaging system is a multispectral image acquisition system extended from a simple RGB system, where an RGB camera captures multiple images of an object scene under multiple light sources with different illuminant spectra in the visible range. We adopt a general imaging model, in which the camera responses are described by combining the camera spectral sensitivities, surface-spectral reflectance, illuminant spectral power distributions, additive noise terms, and gain parameters.
We do not use the entire data of the spectral reflectance database, but effectively select a subset of the database to optimally estimate the spectral reflectance. Similar ideas were proposed for recovering spectral reflectance from tristimulus values [
31] and for adaptively reconstructing spectral reflectance based on the Wiener estimator from image data [
7,
11]. In this study, we estimate the spectral reflectance from image data in two stages. In the first stage, a set of the most reliable candidates for the optimal estimation of the spectral reflectance is selected from the reflectance database based on observations of a target object surface, which is known as the
local optimal reflectance dataset. In the second stage, the best reflectance is estimated using only the local optimal dataset. We present multiple estimation algorithms that can provide the best estimates, i.e., those that minimize the estimation error. One class of algorithms comprises the statistical method, where the mean values, autocorrelation matrices, and covariance matrices are calculated from locally extracted optimal data only and then used as the statistical characteristics to describe the best estimate. Another class comprises a mathematical programming method that uses local optimal reflectances and solves the optimization problem to minimize the prediction error under weight constraints.
In the following,
Section 2 describes an observation model for a multispectral image acquisition system that uses an RGB camera and multiple light sources. The model is constructed with three spectral functions, i.e., known camera spectral sensitivities, known illuminant spectra, and unknown surface-spectral reflectance, and includes two parameters, i.e., gain and independent noise.
Section 3 describes the selection of a local optimal reflectance dataset. The camera responses recorded from an actual object are compared with observations predicted from the respective spectral reflectance in the reflectance database. The prediction errors calculated for all reflectances in the database are arranged in ascending order, and only a certain number of spectral reflectances from the beginning are selected as the local optimal candidates for spectral reflectance estimation.
Section 4 describes the method used to determine the best reflectance estimate using the local optimal dataset. The Wiener and LMMSE estimators are proposed as first-class statistical methods based on a limited number of local optimal reflectance data. Linear programming and quadratic programming methods are proposed as second-class methods for solving optimization problems under constraints imposed.
Section 5 presents the experiments performed to validate the proposed methods for estimating surface-spectral reflectance. Different mobile phone cameras, LED light sources, a standard spectral reflectance database, and standard test samples are used in those experiments. The performances of the proposed methods are examined in detail and compared with those of other methods.
2. Observation Model
The observation model for our multispectral image acquisition system is depicted schematically in
Figure 1. It is constructed using an RGB camera with three color channels (
c = 1, 2, 3) and multiple light sources with
L different illuminant spectra (
l = 1, 2, ...,
L). Therefore, we obtain
m = 3
L observations for a single target object. Because a linear relationship exists between the camera responses and surface-spectral reflectance (see [
27]), we express the observations
as
where
is the surface-spectral reflectance of the target object,
(
l = 1, 2, …,
L) represents the spectral power distribution of the light sources,
and (
c = 1, 2, 3) denotes the spectral sensitivity functions of the camera. The wavelength
is in the visible range of 400–700 nm. The additive noise
in the imaging system is assumed to be white noise with zero mean and variance
a and is uncorrelated with
. Here,
represents the digital camera outputs, while
,
, and
are physical quantities.
The coefficient
in Equation (1) is the weight used to convert the model outputs to the practical digital outputs, called the
gain parameter. The parameter
is unique to the imaging system and depends on the conditions of the imaging system, such as the locations of the camera and light sources, including illumination intensities. How to determine the noise variance
a and the gain parameter
g was shown in [
13].
The spectral functions of reflectance, illuminants, and sensitivities are sampled at
n wavelength points with equal intervals in the range of 400–700 nm and described using
n-dimensional column vectors as follows:
where
l = 1, 2, …,
L and
c = 1, 2, 3. The discrete representation of the observation model is expressed as follows:
where
The symbol (.*), superscript t, and represent elementwise multiplication, matrix transposition, and the wavelength sampling interval, respectively. Therefore, A is an (m × n) matrix defined by the illuminant spectra and the spectral sensitivities, and n is an n-dimensional noise vector.
3. Selection of Local Optimal Reflectance Dataset
Previously, adaptive Wiener estimation methods were proposed to improve the estimation accuracy of spectral reflectance, where training samples were adaptively selected to perform autocorrelation matrix calculation in the Wiener estimator [
7,
11]. Although the original Wiener estimator uses all data of a spectral reflectance database, the basic idea of the adaptive method is as follows: if the training reflectance samples for calculating the autocorrelation matrix are close to the target reflectance and close to each other, then the estimation may be reliable. Therefore, first, the spectral reflectance estimate
is calculated from observation
y using the original Wiener estimator. Second, the spectral similarity or distance
is calculated between the estimated spectral reflectance
and each spectral reflectance
in the original database. Third, a set of spectral reflectances
is selected based on the similarity or distance from the reflectance database. However, we should note that because the estimate
obtained in the first step is contaminated with the estimation error, the most similar reflectances or the reflectances with the shortest distance to
are not necessarily the best estimates.
Herein, we propose a more direct method for selecting a local optimal reflectance dataset. Let
N be the number of spectral reflectances in the database. First, we predict the observations using Equation (3) in the form of
for each spectral reflectance
(
i = 1, 2, ...,
N) in the database, as shown in
Figure 2. Second, we calculate the prediction error for observation
y as follows:
where the norm
is defined as
. Third, the prediction errors are arranged in the ascending order as
, and the corresponding spectral reflectances are
,
, …,
. Finally, the first
K spectral reflectances
,
, …,
are selected as the local optimal candidates to estimate the spectral reflectance. The superiority of this method is demonstrated in subsequent experiments.
4. Determination of Reflectance Estimate Using Local Optimal Dataset
The best spectral reflectance estimate can be obtained using only the local optimal reflectance dataset. We herein propose four algorithms that can yield the best estimates, which minimize the estimation error. The Wiener estimator and LMMSE estimator are used as first-class statistical methods based on a limited number of local optimal reflectance data. Linear programming and quadratic programming are applied as second-class methods for solving optimization problems under constraints imposed.
4.1. Local Wiener Method
The estimate of
x,
, is written in the form
where
B is an (
n × m) matrix. The matrix
B is determined to minimize the mean-square error (MSE) between the estimate
and original
x, which is defined as
where the expectation operator
E[
x] denotes the mean or average of
x, and tr(
X) represents the trace of a square matrix
X. Consequently, the estimate is solved as
where
R is the autocorrelation matrix
, and
I is the (
n × n) identity matrix, with 1’s in the diagonal and 0’s elsewhere.
Although the autocorrelation matrix is typically calculated using all available datasets of various spectral reflectances, in this study,
R is calculated using only the
K local optimal reflectances. When we define an (
n × K) matrix
X as
we have
The autocorrelation matrix can be more statistically precise compared with using a dataset that includes many other reflectances.
4.2. Local LMMSE Method
In LMMSE estimation, the estimate
is determined in the more general form
where
b is an
n-dimensional constant vector. Because the average surface-spectral reflectance is not zero, we set the averages of
x and
y as
and
, respectively, and the optimal estimate to minimize the MSE is expressed as
where
P is the covariance matrix of
x, defined as
[
13]. When we compare the estimation error
of the LMMSE estimator to the error
of the Wiener estimator, a clear relationship exists, i.e.,
(see [
13]). In other words, the estimation accuracy of the LMMSE estimator always exceeds that of the Wiener estimator.
In this study, the average of surface-spectra reflectance is calculated as
The covariance matrix is calculated using only the
K local optimal reflectances and the average as
Notably, because the covariance matrix is approximated using a small number of spectral reflectances, the relationship does not necessarily hold.
4.3. Linear Programming Method
The spectral reflectance is estimated in a linear combination of
K local optimal data as
where
(
i = 1, 2, …,
K) are weighting coefficients. Let
be the
j-th element of the estimate,
Because of the physical constraint of spectral reflectance, we have
As a sufficient condition to satisfy this constraint, we define a constraint on
as follows:
Next, we consider the L
1-norm minimization problem as follows:
where
This minimization is equivalent to the following linear programming problem (see [
32]):
In addition, when we define a K-dimensional column vector p with all elements equal to 1, we can rewrite the constraint on the weights in Equation (16) as , which is equivalent to and . The constraint of (i = 1, 2, …, K) is expressed as , where demotes a (K × K) identity matrix. Let u be an (m × 1) vector whose i-th component is .
Therefore, the linear programming problem above can be summarized as
where
denotes a (1 × (
K +
m)) matrix comprising
K 0’s and
m 1’s, and
denotes an (
m ×
m) identity matrix. The MATLAB function “linprog” is available for solving the present problem [
33]. To utilize this function, we introduce the following matrices:
Subsequently, we can use
to solve the linear programming problem. The solution is given as
where
is the optimal estimate of the weights. The spectral reflectance estimate is written as
.
4.4. Quadratic Programming Method
Next, we consider the following L
2-norm minimization problem:
where
F and
are defined in Equations (18) and (19), respectively. Quadratic programming is the optimization problem of identifying a vector
z that minimizes a quadratic function
The current L
2-norm minimization problem can be rewritten to fit the quadratic programming problem as follows:
The MATLAB function “quadprog” is available for solving the present problem [
34]. To utilize this function, we define the function arguments as
Then, solves the quadratic programming problem. The solution is , and the spectral reflectance estimate is written as .
7. Conclusions
We have proposed a novel method to estimate the surface-spectral reflectance from camera responses using a local optimal reflectance dataset. The imaging system was a multispectral image acquisition system, where an RGB camera was used to capture multiple images of an object scene under multiple light sources with different illuminant spectra. The camera responses in the multispectral imaging system were described by combining the camera spectral sensitivities, surface-spectral reflectance, illuminant spectra, additive noise terms, and gain parameters.
The proposed spectral estimation method was constructed in two stages. In the first stage, the local optimal reflectance dataset was selected as a set of the most reliable candidates for the optimal estimation of the spectral reflectance from the reflectance database. We predicted the observations of the camera responses for the respective spectral reflectances in the database, which were then compared with the camera responses observed from an actual object. The optimal reflectance dataset was selected so that the prediction error was minimized. In the second stage, the best reflectance was estimated using only the local optimal dataset. We proposed multiple estimation methods of two statistical methods using the Wiener and LMMSE estimators and two mathematical programming methods using linear and quadratic programming.
Experiments were conducted using three mobile phone cameras, seven LED light sources, and a standard spectral reflectance database. First, we examined the performances of the proposed methods. All the proposed methods were significantly more accurate than the methods without using the local optimal reflectance dataset. In particular, the quadratic programming method performed much better than the other three methods. Next, we compared the proposed method with the previous methods. Our method, which involved selecting the local optimal reflectance dataset, is superior to the previous adaptive method. Additionally, we performed a comparison with the single RGB-based approach, the result of which demonstrated the superiority of the multispectral imaging approach.
We point out that the proposed approach has good features. The estimation algorithm is simple and effective. A much smaller local optimal dataset consisting of about 20 reflectances among 1776 spectral reflectance data is enough to obtain the optimal estimates. Also, the mathematical programming methods based on linear and quadratic programming without requiring noise covariance enable simpler estimations.
As the parameters of gain and noise are imaging condition dependent and multiple exposures are required, the present multispectral imaging system may not be easy to apply in open or uncontrolled illumination/lighting environments, such as the normal natural scene. Full development of an imaging system and spectral estimation method available in an open environment remains as future work.