This an input layer and an output layer, with


paper attempts to compare the results of a variation of one of the most popular
approaches in CBIR (backpropagation) along with an unsupervised learning
approach based on the Hopfield network.



Introduction to Hopfield Networks:

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now


networks were developed to mimic the brain in terms of learning. They contain
an input layer and an output layer, with the possibility of containing one or
many “hidden” layers.  The input layer is
linked to the output layer via functions that process the input, which may be
further transformed while being processed through the hidden layers. The
weights of transformations change with iterations to reach an optimum value,
the local minimum.


statistical methods dependent on Bayesian distribution and distance metrics are
traditionally used in CBIRS, neural networks have the added advantage of being
self-adapting, making them an exceedingly versatile alternative. Among the
neural networks used for CBIRS, the feed forward back propagation (FFBP)
approach is particularly popular. FFBP process images and match outputs in the
forward pass, following which errors against the desired output are computed
and propagated backwards equation (1.1). While efficient, FFBP require a
desired output for each image to train against, making it a supervised learning


ek = dk
– yk                                                                                                      …(1.1)


ek is the error, dk is the desired output and yk
is the actual output.


learning algorithms offer the advantage of organizing more chaotic data, and
indeed finding similarity characteristics that may not be obvious to annotators,
making it invaluable in big data analytics. A Hopfield network is an
unsupervised learning approach.


neural networks are a type of recurrent auto-associative neural network that
are guaranteed to find a local minimum. Hopfield networks also serve as models
of human memory, which could perhaps, if properly implemented using adequate
datasets, features and enough processing power, address the problem of the
semantic gap in CBIR.  


networks make use of a binarization approach, based on the biological
principles of Hebbian learning. Hebbian learning is a model of biological
learning which attempts to explain associative memory, through a process called
synaptic plasticity, where association between neurons are strengthened if outputs
are correlated, using a reinforcement system to strengthen connections between
associated variables equation (1.2). Hopfield networks therefore can be
visualized as a network of associative factors within and between (in the case
of CBIRS) two images, making them particularly suited to analyzing complex,
non-linear datasets. They are therefore a tempting approach to retrieve images
on the basis of content information.


networks use a physical analogy, wherein the goal is to find the least energy
state. In order to do so, randomly selected units are updated to classify
features in binary activation values of +1 or -1, if activation is greater
than, or less than zero respectively. Updates are dependent upon the value of
the unit itself and other units in the network based on a threshold value.


            Dw = wi . wj                                                                                        …(1.2)


Where, Dw is the change in weight, wi is the binary
neural activity of node i, and wj is the binary neural activity of
node j.


advantages include the fact that Hopfield networks are global and utilize
content addressable memories, created using only a single layer, therefore
taking into consideration the factors of each image input, testing the
association of each, albeit at the cost of speed.


of these factors enable Hopfield networks to be used as potent unsupervised
pattern recognizers. Hopfield networks thus have the powerful ability of
classifying completely unannotated and unclassified data, eliminating the
tedium of the same.


Proposed Method:


following method attempts to undertake content based image retrieval using a
Hopfield network. The aim of the method is to improve image retrieval


the approach is divided into three stages. In the first step, low level
features (texture and color) are extracted. This dataset is then split into
three sets. Each set may be used as a training set or as a  test set, allowing the program’s efficiency
against variation of test and training sets. In the second step, the training set
is trained using an unsupervised Hopfield network. A Hopfield network was
selected for implementation of CBIR because of its auto-classification ability,
i.e. lack of supervision. The mean weights for each feature determined by the
Hopfield is used in a space vector of the test set which is used for validation
and testing. The latter approach is integrated into the Hopfield training model
to enable faster retrieval across large databases. The results of the program
are visualized in the third step. In the following sections, these steps are
discussed in more details.


1: Feature extraction


the first step, described below, a feature vector is created for each image
with a total of 190 features, Fi = Fi1, Fi2, Fi3…Fin,
where Fij indicates the jth feature of the ith
image.  Of the 190 features in the
feature vector, 96 features are used to extract the color features using a
color histogram and auto-correlogram. Six features extract the mean and
standard deviation of the R, G, B colors of the images. The texture of the
image is extracted using a Gabor wavelet function that yields 48 texture features.

These features are further processed by a wavelet transform function to yield a
further 40 features. Histograms are used to extract color features (including
gray scale images).


Load folder with images and find its

For all images (i)

if greyscale or color


Gabor wavelet to extract image texture

Create dataset of features for all images

Split dataset into training and test sets

Create vector and extract features into


2: Create Neural Network