been shown that performance is improved by adapting
dictionary D for noisy patches, (for details see (Elad
and Aharon, 2006)). In (Aharon et al., 2006) the same
authors had proposed an elegant dictionary adapta-
tion algorithm called K-SVD and compared it with
its closest companion methods of optimal direction
(MOD) (Engan et al., 1999). Both techniques require
a set of training examples ({y
i
}
P
i=1
;y
i
∈ R
n
) selected
from either the given noisy image or a global set of
example images and arranged in column vectors of a
matrix Y = [y
1
...y
i
...y
P
]. Suppose, for the given ex-
amples, we have arranged the set of sparse represen-
tations appropriately in a matrix Z = [z
1
...z
i
...z
P
].
For the given training matrix (Y), K-SVD dictionary
learning algorithm tries to minimize the score func-
tion (kY−DZk
F
), where k.k
F
represents Frobenius
norm. Furthermore preserves non-zero valued loca-
tion or support of each training vector’s sparse rep-
resentation corresponding to the dictionary. In each
iteration of the K-SVD algorithm, one dictionary col-
umn and the corresponding non-zero representation
coefficient of all training vectors are being updated
simultaneously by doing rank-1 approximation using
singular value decomposition (SVD). The rank-1 ap-
proximation is done column-by-column using SVD,
which explains its name (for details see (Aharon
et al., 2006)). MOD (Engan et al., 1999) solves a
quadratic problem, whose analytic solution is given
by D = YZ
+
with Z
+
denoting the pseudo-inverse.
Notice that dictionary learning is a non-convex prob-
lem, hence any above technique (K-SVD/MOD) pro-
vides only a suboptimal dictionary which depends on
the initially chosen dictionary for algorithm.
In this article, we design and study a dictionary
learning scheme based on geometrical structure of
the training data selected from a given noisy im-
age. For an (N ×N) noisy image and patch size of
(
√
n×
√
n) the maximum possible number of training
data (N −
√
n + 1)
2
to construct a large data set. In
practice, such a huge data set is heterogeneoussince it
represents multiple different subpopulation or groups,
rather than one single homogeneous group. Cluster-
ing algorithms provides elegant ways to explore the
underlying structure of data. In the literature, some
algorithms like (Zhang et al., 2010) explore similar-
ities among patches within a local window. There-
fore, the similarity of a given patch is affected by
the chosen size of the window. It might be possi-
ble that similar patches exist outside of window. So,
we followed a simple global K-mean clustering tech-
nique. An algorithmic study of our proposed scheme
is done in section II. In section III, its effectiveness
is explored. Experimental results on several test im-
ages validate the efficiency of our proposed scheme
for low and high level additive Gaussian noise and
mostly surpasses the performance of denoising by a
K-SVD dictionary learning scheme. In the case of
additive medium level noise, the results are compara-
ble with the K-SVD learning scheme. The proposed
scheme can be easily extended to color image denois-
ing applications. Finally in section IV, the conclusion
and scope of further work is discussed.
2 ALGORITHM
Table 1 explains our proposed algorithm for dictio-
nary construction for denoising of an image. Let X is
an image vector and X
i
= R
i
X,i = 1,2,...N, denotes
the i
th
patch vector of size (
√
n×
√
n), where R
i
is a
matrix extracting patch X
i
from X. Better clustering
of similar patches can be found by using a first round
of denoising on the patches (using the classical sparse
coding approach of Eq. (1a) presented in the previ-
ous section) before grouping them. In turn, as shown
by our experiments, our denoising output using sparse
coding approach greatly improves upon the use of this
initial denoising step.
Table 1: Algorithm.
Algorithm: Clustering Based Denoising
Task: Denoise the given image Y
Parameters: Patch Vector Size- n, Dictionary
size- M Noise Gain - C Lagrangian Multiplier-
λ, Number of Clusters-K and Hard Threshold
-ing Parameter T
Initialization: N-Examples patches from
Y
Execute One time:
• Cleaning: Use pursuit algorithm (OMP)
to clean N-example vectors
• Clustering: Apply clustering algorithm (K-
means) to cluster cleaned example vectors
• Dictionary: For each cluster, all non-zero
eigen value principal components (PCs) are
cascaded in D matrix
• Averaging: Set
b
X using below equation as
in (Elad and Aharon, 2006). R
i, j
Y represents
patch vector corresponding to (i, j) top left
patch location in
Y
b
X = (λI +
∑
i, j
R
T
i, j
R
i, j
)
−1
(λ
Y+
∑
i, j
R
T
i, j
Dz
i, j
)
Once cleaning of patches is done, K-means clus-
tering algorithm is applied to get similar patches in re-
spective groups. Here K-means is used due to the sim-
plicity of the algorithm. Afterwards PCA (principal
component analysis) is applied to respective cluster
ICINCO2015-12thInternationalConferenceonInformaticsinControl,AutomationandRobotics
636