56 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 17, NO. 1, JANUARY 2008
capture some correlation between the channels and to recon-
struct the image without adding artifacts. Both simple methods,
such as denoising each channel separately and denoising di-
rectly each patch as a long concatenated RGB vector, fail, re-
spectively, in one of these two challenges. Moreover, for clas-
sical color image processing applications such as demosaicing,
denoising, and image inpainting [47], spatial and/or spectral
nonuniform noise has to be handled. These challenges are ad-
dressed next.
IV. S
PARSE
COLOR IMAGE
REPRESENTATION
We now turn to detail the proposed fundamental extensions
to the above grayscale framework, and put forward algorithms
addressing several different tasks, such as denoising of color im-
ages, denoising with nonuniform noise, inpainting small holes
of color images, and demosaicing.
A. Denoising of Color Images
The simplest way to extend the K-SVD algorithm to the de-
noising of color images is to denoise each single channel using
a separate algorithm with possibly different dictionaries. How-
ever, our goal is to take advantage of the learning capabilities
of the K-SVD algorithm to capture the correlation between the
different color channels. We will show in our experimental re-
sults that a joint method outperforms this trivial plane-by-plane
denoising. Recall that although, in this paper, we concentrate
on color images, the key extension components here introduced
are valid for other modalities of vector-valued images, where
the correlation between the planes might be even stronger.
The problem we address is the denoising of RGB color im-
ages, represented by a column vector
, contaminated by some
white Gaussian noise
with a known deviation , which has
been added to each channel. (As we show in the following, the
noise does not have to be uniform across the channels or across
the image). Color spaces such as YCbCr, Lab, and other lu-
minance/chrominance separations are often used in image de-
noising because it is natural to handle the chroma and luma
layers differently, and also because the
-norm in these spaces
is more reliable and better reflects the human visual system’s
perception. However, in this work, we choose to stay with the
original RGB space, as any color conversion changes the struc-
ture of the noise. Since the OMP step in the algorithm uses an
intrinsic hypothesis of a noise with a sphere structure in the
patches’ space, such an assumption remains valid only in the
RGB domain. Other noise geometries do not necessarily guar-
antee the performance of the OMP in its current form. Another
motivation for working in the RGB space is that digital cam-
eras capture images and add noise within this space. One should
note also that another extension, which is presented later in this
paper, allows to handle nonhomogeneous noise and permits us
to, therefore, process images when the noise characteristics are
estimated in another color space.
In order to keep a reasonable computational complexity for
the color extensions presented in this work, we use dictionaries
that are not particularly larger than those practiced in the
grayscale version of the algorithm. More specifically, in [2],
the authors use dictionaries with 256 atoms and patches of size
8
8. Applying directly the K-SVD algorithm on (3-D) patches
of size 8
8 3 (containing the RGB layers) with 256 atoms
leads already to substantially better results than denoising each
channel separately. However, this direct approach produces
artifacts—especially a tendency to reduce the color saturation
in the reconstruction. We observe that during the algorithm,
the OMP is likely to follow the “gray” axis, which is the axis
defined by
in the RGB color space.
Before proceeding to explain the proposed solution to this
color bias and washing effect, let us explain why it happens. As
mentioned before, this effect can be seen in the results in [28],
although it has not been explicitly addressed there.
First, at the intuitive level, relatively small dictionaries within
the order of 256 atoms, for example, are not rich enough to
represent the diversity of colors in natural images. Therefore,
training a dictionary on a generic database leads to many gray or
low chrominance atoms which represent the basic spatial struc-
tures of the images. This behavior can be observed in Fig. 2. This
result is not unexpected since this global dictionary is aiming at
being generic. This predominance of gray atoms in the dictio-
nary encourages the image patches approximation to “follow”
the gray axis by picking some gray atoms (via the OMP step,
see the following), and this introduces a bias and color washing
in the reconstruction. Examples of such color artifacts resulting
from global dictionaries are presented in Fig. 3. Using an adap-
tive dictionary tends to reduce but not eliminate these artifacts.
A look at the dictionary in Fig. 4, learned on a specific image
instead of a database (global dictionary), shows that the atoms
are usually more colored. Our experiments showed that these
color artifacts are still present on some image details even with
adaptive dictionaries. One might be tempted to solve the above
problem by increasing
and, thus, adding redundancy to the
dictionary. This, however, is counterproductive in two important
ways—the obtained algorithm becomes computationally more
demanding and, as the images we handle are getting close in
size to the dictionary, over-fitting in the learning process is un-
avoidable.
We address this color problem by changing the metric of the
OMP as will be explained shortly. The OMP is a greedy algo-
rithm that aims to approximate a solution of (2). It consists of se-
lecting at each iteration the best atom from the dictionary, which
is the one that maximizes its inner product with the residual
(minimizing the error metric), and then updating the residual
by performing an orthogonal projection of the signal one wants
to approximate onto the vectorial space generated by the previ-
ously selected atoms. This orthogonalization is important since
it gives more stability and a faster convergence for this greedy
algorithm. For details, the reader should refer to [21]–[23] and
[48].
An additional, more formal way to explain the lack of colors
and the color bias in the reconstruction is to note that the OMP
does not guarantee that the reconstructed patch will maintain
the average color of the original one. Therefore, the following
relationship for the patch
, does not necessarily hold. If the diversity of colors
is not important enough in the dictionary, the pursuit is likely
to follow some other direction in the patches’ space. However,
with color images and the corresponding increase in the dimen-
sionality, our experiments show that this is clearly the case. To