Integrating wavelets with clustering and indexing for effective content-based image retrieval

Integrating wavelets with clustering and indexing for effective content-based image retrieval

Knowledge-Based Systems 31 (2012) 55–66 Contents lists available at SciVerse ScienceDirect Knowledge-Based Systems journal homepage: www.elsevier.co...

1MB Sizes 0 Downloads 41 Views

Knowledge-Based Systems 31 (2012) 55–66

Contents lists available at SciVerse ScienceDirect

Knowledge-Based Systems journal homepage: www.elsevier.com/locate/knosys

Integrating wavelets with clustering and indexing for effective content-based image retrieval Ela Yildizer a, Ali Metin Balci b, Tamer N. Jarada c, Reda Alhajj c,d,⇑ a

Microsoft Inc., 1 Microsoft Way, Redmond, WA 98052, USA Turkish Navy Research Center, Ankara Cd. No: 252, PK: 46, 34890 Pendik, Istanbul, Turkey c Department of Computer Science, University of Calgary, Calgary, Alberta, Canada d Department of Computer Science, Global University, Beirut, Lebanon b

a r t i c l e

i n f o

Article history: Received 5 July 2011 Received in revised form 21 January 2012 Accepted 21 January 2012 Available online 2 February 2012 Keywords: Content-based image retrieval Wavelet transformation Clustering Cluster validity analysis Indexing

a b s t r a c t Recent development in technology influenced our daily life and the way people communicate and store data. There is a clear shift from traditional methods to sophisticated techniques; this maximizes the utilization of the widely available digital media. People are able to take photos using hand held devices and there is a massive increase in the volume of photos digitally stored. Digital devices are also shaping the medical field. Scanners are available for every part of the body to help identifying problems. However, this tremendous increase in the number of digitally captured and stored images necessitates the development of advanced techniques capable of classifying and effectively retrieving relevant images when needed. Thus, content-based image retrieval systems (CBIR) have become very popular for browsing, searching and retrieving images from a large database of digital images with minimum human intervention. The research community is competing for more efficient and effective methods as CBIR systems may be heavily employed in serving time critical monitoring applications in homeland security, scientific and medical domains, among others. All of this motivated for the work described in this paper. We propose a novel approach which uses a well-known clustering algorithm k-means and a database indexing structure B+-tree to facilitate retrieving relevant images in an efficient and effective way. Cluster validity analysis indexes combined with majority voting are employed to verify the appropriate number of clusters. While searching for similar images, we consider images from the closest cluster and from other nearby clusters. We introduced two new parameters named cG and cS to determine the distance range to be searched in each cluster. These parameters enable us to find similar images even if the query image is misclustered and to further narrow down the search space for large clusters. To determine values of cG and cS, we introduced a new formula for gain measurement and we iteratively find the best gain value and accordingly set the values. We used Daubechies wavelet transformation for extracting the feature vectors of images. The reported test results are promising. The results demonstrate how using data mining techniques could improve the efficiency of the CBIR task without sacrificing much from the accuracy of the overall process. Ó 2012 Elsevier B.V. All rights reserved.

1. Introduction Traditionally, people adapted various techniques to store and handle printed images. However, the need to deal with printed images is diminishing. The development in technology has influenced all aspects of our daily life from personal to business to security to medication, etc. Most people have hand held devices capable of storing large number of digital images and videos. Digital images ⇑ Corresponding author at: Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. E-mail addresses: [email protected] (E. Yildizer), [email protected] (A.M. Balci), [email protected] (R. Alhajj). 0950-7051/$ - see front matter Ó 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.knosys.2012.01.013

are available everywhere and in large volumes which make it extremely difficult if at all possible to handle them manually. Medical centers are equipped with sophisticated devices for scanning and capturing images for various parts of the body. Surveillance cameras are affordable even for personal use. They have been installed everywhere to help in maintaining better homeland security. However, the rapid increase in the number of images digitally stored has made it very difficult to browse and search digital libraries of images. Even manual annotation of images becomes a tedious process when we consider the large number of new images daily added to existing collections. Therefore, there is a need for advanced techniques to help in sorting out and easily searching the captured and stored images, including personal collections.

56

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

Content-based classification, storage and retrieval is the only affordable effective technique that could meet the expectations of naive and professional users. Fortunately, the research community realized this need several decades ago and there exist a number of software packages available to serve various application domains. Each of them has its own advantages and disadvantages which we will discuss later in Section 2. The target can be articulated as follows. For a given image locate all or most of the similar images in a given collection of previously captured and stored images. For instance, a medical lab may keep a database where images of various critical cases are classified and a new image from a current patient may be classified to predict the case for better diagnosis by the medical doctor. A surveillance camera may capture faces of humans entering the metro station and every face could be used to search the database for identifying suspects, if any. Motivated by existing and emerging needs, we concentrate on image databases and hence tackle the problem of developing effective and efficient ways for image retrieval from large databases. In general, images could be classified into two classes, texture and non-texture. Texture images form an important class, where one pattern is repeated periodically throughout the image. Some medical images such as X-rays, and some topographic images fall under this category. Non-texture images tend to have objects of interest clustered in one or more regions of an image. Most real world images that people are familiar with fall under this second category. In this study, we focus on non-texture images; they are more challenging to handle. However, the same technique can be used to analyze texture images; we have left as future work to report test results on texture images. To get more insight into the image retrieval systems, lets start by giving a brief definition of this term. An image retrieval system is a comprehensive system for browsing, searching and retrieving images from a large database of digital images. The system may be manual but it is mostly automated. Actually, manual techniques are ad hoc and reflect personal capabilities and preferences of the involved parties. Further, as the number of images increases manual techniques become impractical and the development of automated methods to deal with digital images becomes a need. First efforts to automate the process involve the development of naive approaches that map a given image into a set of attributes which are thought to best describe the image. Common attributes include captions, keywords, description of various parts within the image. The extraction of such attributes is highly subjective and could lead to a messy state in case persons involved in the process have different opinions and perspectives. Regardless of the accompanying difficulties, the latter process leads to storing images and their attributes in a database and using traditional queries to retrieve images by specifying some of their known attributes. All images with attributes that satisfy a given query will be retrieved as the answer set. Such a process limits the image only to its descriptive attributes and may not be acceptable in a professional environment where achieving high accuracy is a critical issue. An image is a rich source of information and every pixel in the image may count in the process of matching and retrieval. Therefore, the research community shifted the interest from attributedriven to content-based classification, storage and retrieval. As a result, a number of content-based image retrieval (CBIR) systems have been developed where the search engine can analyze the actual content of the image. The word ‘content’ in this context might refer to color, shape, texture, or any other information that can be derived from the image itself. Within this new trend every image is characterized by a feature vector rather than a set of attributes. A feature vector summarizes the content of the image rather than its characteristics. The target is to extract from each image a compact yet informative feature vector where the redundancy is minimized by considering pixels in groups rather than individually.

Feature vectors can be further reduced by applying a feature reduction technique. There are variety of techniques out there for effective feature reduction. Actually part of the framework described in this paper may be used for feature reduction as well. The same automated feature vector extraction process is applied on the stored images and on the query image. Thus, the matching of images in the querying phase is based on comparing feature vectors and hence will achieve higher accuracy. However, linear search of all existing feature vectors to find the one(s) matching the query image becomes unaffordable and time consuming as the number of images increases which is the case for real applications. Therefore, there is a need to applying some preprocessing techniques to categorize images into groups such that the search will be narrowed down to a manageable set of images without sacrificing the accuracy. In this paper, we are proposing a method in which we are integrating data mining, wavelet transform [24] and indexing techniques into the automated search process leading to effective and efficient content-based image retrieval system. Wavelets are employed for feature extraction and hence to help construct the feature vector per image. In the proposed approach, we combined a clustering algorithm [14] with an indexing technique. Clustering based image retrieval was also used in WAVEQ [5] which is another approached developed earlier by our research group; WAVEQ employs OPTICS [6] distance-based clustering to group images and then performs the search within each cluster. However, none of the clustering algorithms is perfect and there is always probability that most matches to the query image are found to be in cluster i while there are some images in cluster j which are closer to the query image that some of the images retrieved from cluster i. Further, though OPTICS claims to not requiring the number of clusters as input, it works based on two major values that implicitly encapsulate the number of clusters. In other words, OPTICS would require the distance threshold for determining objects in the neighborhood of a given object and an object is considered core if it has a minimum predefined number of objects in its neighborhood. These two values indirectly lead to the number of clusters, i.e., different clustering; and number of clusters will be achieved for different combinations of these two values. Thus, we would argue that going back to simplicity might be a better choice and hence we are using a simpler clustering algorithm, namely k-means [17,26] to group similar images together. Using a clustering algorithm, we can reduce the search space when a query image is entered to the system. Taking a closer look at the results from the approach that employs only clustering, we realized that filtering all images in different clusters is not a very accurate approach. We can overcome the problem of limiting the search to a single cluster by searching the images in other clusters as well, based on a distance range. For this purpose, we have to store the distance between the cluster center and images in the cluster. We are using B+-tree [25,33] in this phase in order to take advantage of indexing capabilities of B+-tree and hence reduce the total I/O cost. Searching clusters based on a distance range also has the other advantage when the cluster size is very large. In such a case, we do not have to search the whole cluster. To summarize, the main target of the research described in this paper is to develop a general purpose CBIR technique that can effectively and efficiently handle large image databases and can be smoothly embedded into different image retrieval systems. The following list outlines the main contributions of the work described in this paper. 1. The proposed approach is decomposable and the various ideas described in this paper can be embedded into other projects. For example, one can adapt another feature extraction algorithm in the preprocessing step and then use our models for narrowing down the search space or for reducing the

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

dimensionality of the feature vectors. Another effort to benefit from our approach is to embed the searching of clusters/classes in a range of B+-tree into any image retrieval project which is using classification or clustering. One could also use a different approach for extracting features and apply image segmentation on top of this. In such case, clustering the image segments and searching clusters in a range of B+-tree would provide many benefits as the search space will increase considerably after segmentation. 2. The proposed approach is scalable. When we developed our system efficiency and scalability were among our main priorities and we reduced the retrieval cost by minimizing the I/O cost, by narrowing the search space, and by reducing the dimensionality of the feature vector. 3. A well-known clustering algorithm is combined with B+-tree implementation. Using parameters cG and cS to search the clusters in a distance range enabled us to get more accurate results in small image clusters, whereas in large image clusters the search space was considerably narrowed down. Best values for these parameters can be found iteratively by using the gain measure proposed in this paper. 4. We have demonstrated the applicability, effectiveness and efficiency of the proposed integrated framework on widely used benchmark datasets. The rest of the paper is organized as follows. Section 2 provides the background information necessary to understand the proposed approach. We mainly cover the algorithms and data structures necessary to understand the different aspects of the CBIR system we have developed. This section also includes an overview of related work with emphasis on CBIR systems. The CBIR system we have developed by integrating B+-tree and k-means clustering algorithm is described in Section 3. Section 4 reports results of the experiments that we conducted for testing the proposed approach. In Section 5,we discuss the advantages and limitations of the proposed approach and we highlight future research.

2. Related work The development of automated CBIR systems has been an attractive research area due to its wide range of applications in critical fields like online monitoring, homeland security, bioinformatics and medical imaging, space images, etc. There are many CBIR approaches described in the literature, e.g., [10,11,18,22,27, 32,34,35,37,45,46,49]. The two papers [39,47] include good surveys of CBIR systems. In this section, we will briefly overview some of the already developed systems as described in the literature. QBIC [28] is one of the most-well known and earliest CBIR systems. It works both with image and video databases. It uses content of the images and videos such as color, shape, layout and texture information. One of the most important properties of QBIC is that it supports content of the images and user drawn graphics in its queries. In other words, a query is not restricted with images themselves but their content can also be queried. For example, a user can enter a query image and search for the images who have texture features similar to the query image’s texture. QBIC technology has been developed at IBM and it is currently used commercially. The VIR Image Engine [7], developed by Virage Inc., is similar to QBIC in the sense that it supports querying by color, shape, layout and texture. As in QBIC, user drawn sketch queries are also supported. It provides a GUI where developers can sketch the images or make modifications on the images. It also supports integration of image keywords into the query. VIR Image Engine has been integrated into several databases; it is a component of the Oracle DBMS.

57

Multimedia analysis and retrieval system (MARS) [19] project was started at the University of Illinois to develop an effective multimedia database management system. As a first step in the project, they had developed an image retrieval system. In this retrieval project, image features are extracted from the content of the image and the textual annotation of the images. Content of the images are stored as global color histogram, a texture histogram and shape features. Shape features are obtained after segmentation of the image and applying Fourier descriptor to each of the segments. User can query for any combination of the image features. For example a user can enter a query which contains an image’s color histogram and another image’s shape feature. Photobook [31] project was developed at MIT. It uses features of the images for comparison. Features of the images contain information about the image’s color, shape and texture. Features are compared according to any linear combination of the following distance measures: Euclidean, Mahalanobis, divergence, vector space angle, histogram, Fourier peak, and wavelet tree distances. Photobook also let developers to load their own distance measure. WBIIS [40] is a CBIR system developed by Wang et al. using Daubechies wavelet transformation. They first represent the Red (R), Green (G) and Blue (B) components of the images in a different domain which is based on RGB values of the original pixels to better reflect the human perception on the color distance. Then, they apply 4-level and 5-level Daubechies wavelet transformation on the images and store the low frequency components of the resulting images as a part of the feature vector. They also find the standard deviation of the matrix which they obtained after 5-level wavelet transformation and store the deviation matrix as part of the feature vector. During the query phase they have 2 steps for distance calculation. They first compare the standard deviation of the images and if the difference between their standard deviations is high, the image is not considered to be a good match and no more distance calculations are done for it. In the second step, they find the distance between the query image and images that passed the first criteria using a weighted version of Euclidean distance comparison. They sort these results and return the closest images to the query image. Wang et al. also developed SIMPLICITY [41], which is a CBIR system that covers different image types. An image is first segmented into its regions and classified as indoor–outdoor, textured–nontextured, city–landscape, with–without people, or graph–photograph image. These classes are manually defined and the feature extraction schema is decided according to the class label of the image. They defined a new similarity measure to find the distance between two images which are stored as a set that contains a feature vector for each individual region. WaveQ [5] which was developed earlier by our research group at the University of Calgary is another CBIR system that uses Wavelets. WaveQ uses LUV color space where L is the luminance of a pixel, U is the red–green color value of a pixel and V is the blue– yellow color value of a pixel. First an image is classified as texture or non-texture according to the standard deviation of the U component and different feature vector extraction methods are used for these classes. After feature vectors are calculated, texture images and non-texture images are clustered into subgroups using the OPTICS algorithm. Then a representative feature vector is calculated for each cluster. When a query is entered, it is first classified and then the feature vector of the image is calculated. Then the similar images are retrieved from the closest cluster. Kang et al. [21] developed a CBIR method that combines concept lattice and ensemble learning technique into a multi-instance ensemble learning model. Elalami [12] introduced an image retrieval framework based on a rule base system. His approach utilizes color and texture features to cluster the images; then the clusters are used to build a rule based classifier. Elalami [13] employed

58

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

feature selection in order to utilize the most relevant features for CBIR. He showed how the reduced set of features could be used for precise image retrieval in a short time. Wang et al. [42] developed a texture based algorithm for palmprint recognition by combining 2D Gabor wavelets and pulse coupled neural network. The recognition is done by involving a support vector machine [9,15,43,44] based classifier. Lancieri and Boubchir [23] employed fuzzy logic and adaptive clustering to propose an automatic method capable of characterizing images by comparing unknown images with somehow known examples. Sung and Hu [36] developed an icon driven image retrieval method which utilizes three characteristics of an icon, namely texture, color, and text attributes. Each characteristic leads to a similarity value and the combination of the three similarity values is used for identifying the final icon similarity by using a proven adaptive algorithm. 3. The proposed approach In this section, we present the proposed approach for CBIR system in which we use k-means as the clustering algorithm and B+tree for speeding up the retrieval process. For representing the images, we extract their feature vectors using Daubechies’ wavelets. Then we construct a model using k-means clustering and B+-tree. We use this model during the query phase to find similar images in short time. The proposed approach consists of three main steps: (1) feature extraction; (2) model construction and (3) query phase. First in the feature extraction step, we extract feature vectors of the images stored in the database. Then in the second step, we build from these feature vectors of the images a model that will narrow down the search space during the query phase. For this purpose, we cluster the images using their feature vectors and construct a B+-tree for every cluster using the distance of an image from the cluster’s center as the key value. During the query phase, a new query image is entered to the system and we find the feature vector of the query image. Then we find the distance between the query image and each cluster center. Using the model constructed in Step 2, we search for images that are (d + cG) or (d + cS) distance apart from the cluster center, where cG and cS are the similarity thresholds defined by the user (if the user is familiar with the data and can be considered as an expert capable of specifying c) or found by the system itself, and d is the distance between the cluster center and the query image. Best cG and cS values can be found by the system using the gain measure we introduce in Section 3.3.1. We illustrate the overall method in the block diagram shown in Fig.1. The rest of this section is organized as follows. In Section 3.1, we will explain the feature extraction phase which includes preprocessing of images, Daubechies’ wavelet transformation and feature vector construction. In Section 3.2, we will describe our approach to construct a model to speed up the query phase. In Section 3.3, we will explain the process to be executed during the query phase.

posed by Wang et al. for the image retrieval project WBIIS [40]. The basic steps of the process can be found in Algorithm 1. Algorithm 1: Feature Extraction Rescale the image using bilinear interpolation to size 128  128 Transform the image to a data space different than RGB and get components C1, C2, C3 R 0 for all Components of the image (C1, C2, C3) do Apply 4-level Daubechies wavelet transform X upper left 16  16 matrix Apply 5-level Daubechies wavelet transform Y upper left 8  8 matrix Z standard deviation of Y R + = (X + Y + Z) end for RETURN R

3.1.1. Preprocessing In order to normalize the data and not to have any differences related to sizes of the images, we first rescale the images to 128  128 pixels. There are 3 interpolation techniques built in Matlab for resizing images: nearest-neighbor interpolation, bilinear interpolation, and bicubic interpolation. Nearest neighbor interpolation is the simplest method of all these three methods and the color of a pixel in the new image is the color of the nearest pixel in the original image. Bilinear interpolation sets the value of a new pixel based on a weighted average of the 4 pixels. Bicubic interpolation is the most sophisticated of the three methods and determines the new pixel color by considering the closest 4  4 neighborhood of known pixels and by giving all the 4  4 pixels a weight using their distance to the new pixel. Although bicubic interpolation is the most accurate among the methods, it is more costly than the other methods. Therefore, we decided to use bilinear interpolation for image resizing. Since color distance in the RGB space is not the same as human perception of color distance, we transform images from RGB data space to another space. New values of these new components are calculated from the RGB values using the following formulas [40]:

ðR þ G þ BÞ 3 ðR þ ðmax  BÞÞ C2 ¼ 2 ðR þ 2  ðmax  GÞ þ BÞ C3 ¼ 4

C1 ¼

where max is the maximum value R, G, or B components can take. In MATLAB this value is 1 if the image is stored using double values, 255 if the image is stored using unsigned 8-bit integer, 65585 if the image is stored using unsigned 16-bit integer.

3.1. Feature extraction The image dataset that we work on consists of non-texture true-color images. Each true color (RGB) image is stored as a three-dimensional (m-by-n-by-3) array where the first dimension represents the ‘R’ component, the second dimension represents the ‘G’ component and the third dimension represents the ‘B’ component of the image [4]. During the feature extraction step, we first preprocess the image by resizing it and then transforming it into a data space based on RGB values of the original image. Then we apply Daubechies’ wavelet transformation to divide the image into its high and low frequency bands and construct feature vectors from the low-pass filtered image components. This method was pro-

3.1.2. Feature vector construction After the Daubechies’ wavelet transformation is completed, the original matrix is divided into four sections, where the upper left part is the image passed through horizontal and vertical low filters. We know that low frequency bands represent the gross features of the image which we are interested in. Daubechies’ wavelet transformation can be applied several times. When we say 4-level wavelet transformation, this means we apply transformation iteratively 4 times. In our approach, we apply 4-level wavelet transformation to all 3 components of the image; namely C1, C2, and C3. We store the upper left 16  16 matrixes, which are also divided into its high and low frequency components, as part of the feature vector.

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

59

Fig. 1. Overview of the proposed CBIR approach.

Fig. 2. Image partitions after 4-level Daubechies’ wavelet transformation.

Matrix components obtained after 4-level transformation are visualized in Fig. 2. Finally, we apply 1 more level transformation to each component and store these 8  8 matrixes and their standard deviations as part of the feature vector. For each color channel, we are storing a 8  8 and a 16  16 matrixes, and the standard deviation of the 8  8 matrix. The final size of our feature vector is (8 + 8  8 + 16  16)  3 which is equal to 984. 3.2. Model construction In this phase, we construct a model from the images in the database and use this model for narrowing down the search space. Our purpose for model construction is to find a model that will reduce the search space and, therefore, distance calculations during the query phase. However, while reducing the search space we must also consider not losing any relevant images. In this phase, different classification or clustering methods can be used. Once we classify or cluster the images in the database, we can find which class or cluster the query image belongs to and search for the most similar images in that class or cluster. For this purpose, we have tried different classification and clustering algorithms for model construction. After finding out that k-means clustering algorithm gives the most cost-effective results for reducing the search space and also for not losing any useful information, we proposed an approach that enhances the k-means

clustering model. We decided to overcome the major shortcoming of k-means (i.e., specifying the number of clusters as input) by employing majority voting on the results obtained from cluster validity analysis indexes. We mainly applied these cluster validity indexes: Calinski, Db, Hartigan, Ratkowsky, Scott, Marriot, Ball, Trcovw, Tracew, Friedman, Rubin, Ssi, Avg Silwidth and Dunn [29,30,8,16,20]. We run k-means for a range of the number of clusters and if the majority voting reports the upper bound of the range as the appropriate number of clusters, we repeat the process for the next five values, i.e., we expand the range by five more values and check these five values in addition to the reported upper bound. This process is recursively applied until the number of clusters reported is less than the upper bound of the last tested range of values. Here it is worth mentioning that the integration of B+-tree index into the process indirectly lead to neglecting outliers. In other words, outliers are mostly located near the boundaries of the clusters and hence their distance from the centroid will be large and hence will not be retrieved as part of the query result. After clustering the images in the database, when a new query image is entered to the system the common trend used in many existing CBIR systems is to find the closest cluster to the query image and search for similar images in that cluster. However, by considering Fig. 3, we can see that with this approach it is very possible to discard images which are close to the query image but not in the cluster identified as the candidate to be searched. In Fig. 3, the blue and red data points that represent data objects belonging to two different clusters and the green point is the query image. The query point falls into the red cluster while there are some blue data points which are very close to the query point. Therefore, narrowing down our search space to one cluster might filter out many relevant data points. Keeping this in mind, we can enhance our model as we will describe in the sequel. After clustering, we know images in each cluster and its centroid. For each image, we can calculate the distance between the image and the cluster center that the image belongs to. In the query phase, we will use the query image’s distance to cluster centroid and the queried image’s distance to cluster centroid as our similarity measurement for reducing distance calculations. Instead

60

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

Fig. 3. Two different clusters where red points fall into cluster 1, blue points fall into cluster 2 and the green point represents the query image. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

of calculating the distance between the queried image and the cluster centroid for each request, we save those distances as part of our model. This will reduce distance calculations during the query phase. When we store those distances in a sorted order, we can also cut down the search space. The computed distance values are used to construct one B+-tree per cluster. This step is described in Algorithm 2. Algorithm 2: Model Construction Call the k-Means algorithm combined with validity analysis (output will be cluster centers and the cluster of each image in the database) for all Cluster i do Initialize a B+-tree BTi c cluster center i for all Image j in cluster i do d distance between cluster center i and feature vector of image j Add (d, image name) to BTi where d is the key end for end for All BTs

At this point, one can ask why we are using B+-tree instead of any data structure which can store the images in sorted order according to their distance values. We could use a sorted linked list for this purpose as well. However, indexing schema of B+-tree enables us to reduce the total I/O cost which will be a bottleneck in large image databases. Moreover, dynamically changing the indexing data structure of B+-tree makes our system extensible. If the user of the database wants to add new images, this would be handled in an efficient way with the B+-tree as the index structure. Finally, it is worth mentioning that high dimensional index structures like VP-tree [38] or NAQ-tree [48] could be used as alternative to the whole process of clustering and constructing B+-tree index per cluster. However, high dimensional index structures are not very effective in handling dynamic databases. In other words, while the proposed clustering and B+-tree index model can effectively and smoothly deal with new images added to or dropped from the database, high dimensional index structures are mostly effective for dealing with static databases and would require rebuilding the whole structure in case any modifications are applied to the indexed database. The latter step is very costly and could not be afforded in a dynamic environment. 3.3. Query phase When a new query is entered to the system, first we find the feature vector of the image as described in Section 3.1. Then, we

find the closest cluster center to the query image. Most similar images will be most probably in that cluster. However, as we explained in Section 3.2, some similar images may also be in other clusters. Therefore, we do not only consider the closest cluster but also the other clusters in our search space. Here, it is worth noting that searching all clusters for similar images is not different from searching the whole database. However, we will be using the B+-trees we constructed in the previous step. From the triangle inequality, we know that the distance between two points must be greater than or equal to the difference between their distances to a third point. In Fig. 4, for the first triangle a P jd  c  dj = c and for the second triangle, a P jd + c  dj = c, assuming d > c. Assume we take c as our similarity threshold and we do not want to retrieve any images which are more than c distance apart from our query image. In this case, we only have to search images whose distance from the cluster center is greater than d  c and smaller than d + c. This search space can be seen in Fig. 5. As we have explained before, we can search for similar images in the cluster to which the query image belongs. Our modification on this algorithm could be articulated as follows: instead of searching the whole cluster, we search only images in distance range d  cG and d + cG. In traditional approaches, clusters other than the cluster that the query image belongs to are not searched against finding similar images. In our approach, we search images belonging to other clusters and whose distances from the first identified cluster center are greater than d  cS and smaller than d + cS. In Fig. 3, the blue and red triangles represent cluster centers. The green data point is the query point, whereas the red and blue points belong to two different clusters. The query image is closer to the red cluster center and images whose distances from the red cluster center are in the range of d  cG and d + cG and belong to the red cluster are searched. Images in other clusters, in this case the blue cluster, are searched with cS parameter instead of cG; cG and cS can be determined by the user (if he/she has the required expertise) or can be found by the program. 3.3.1. Determining parameters cG and cS To determine good values for cG and cS, we initially set cG to average of the distances between the images and centers of the clusters the images belong to and cS to 0. So we first find the accuracy of the model when only a part of the query image’s cluster is searched. Then we find the gain of the model when cG is equal to cG ± d and cS is equal to cS ± d. If none of these points increases the accuracy, we set the optimized parameters to current cG and cS. Otherwise, cG and cS are updated according to the values which give the maximum gain. This process is illustrated in Fig. 6. We first find the accuracy of the model, when cG and cS are set to the values denoted by the red point. Then we find the gain of the model when the black points are used as parameters. If any of these accuracies are greater than the accuracy obtained according to the red point, we update current best point and apply the same algorithm again. Otherwise, we terminate the process and return the coordinates of current red point. This approach might seem costly at the first glance, however this process is done only once when the model is constructed and its cost can be negligible compared to the overall cost of the process when repeated to locate query images. Using similarity thresholds cG and cS is the differentiating property of our method from existing CBIR systems. While calculating the gain, we have to consider two problems. When any of the c values is increased, the search space increases while the loss of important information decreases. Similarly, when c decreases, the search space decreases leading to an increase in the loss of relevant images. So there are two parameters of our gain measurement: (1) distance gain, and (2) search space loss.

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

61

Fig. 4. Triangles representing the distance measurements between the query image, cluster center and the searched image.

The maximum SSS value can be the size of the image database which is actually the SSS value of a linear model. All the models are implemented to reduce SSS and we define SSS loss as follows:

SSS Loss ¼

jSSSKMeans  SSSOurModel j SSSLinear  SSSKMeans

We define the overall gain of our model using these two parameters as follows:

Gain ¼

Fig. 5. x is the cluster center, and the shaded area contains images that will be searched in the cluster.

AD Gain SSS Loss

The larger the gain is, the smaller the average distance and the search space are. Finally, the effectiveness of this approach is demonstrated by the test results reported in the next section. 4. Experimental results

Fig. 6. Red point represents the current cG and cS, and black points represent possible cG and cS values reachable from the current point. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)

We will be using the terms ‘average distance’ and ‘size of search space’ frequently and we will denote them as AD and SSS, respectively, in this document. We define AD as the average distance between the query image and the first 5 most similar images to the query a particular model finds; and SSS is the average number of images whose distances to the query image are calculated during one query evaluation. We will be calculating our AD gain and SSS loss against the existing CBIR models using clustering. The minimum AD can be obtained when we search the whole space against the query image; we will call this method as ‘linear’ since it is similar to a linear search. We can get better AD gain with our model compared to a regular CBIR system using clustering depending on the database. If the size of the clusters is small and we have too many clusters, our model will give a lower AD since all the clusters will be searched with some similarity threshold. On the other hand, in large clusters it is possible that our model will give a higher AD since most of the clusters will not be included in the search space. We define the AD gain as follows:

AD Gain ¼

jADKMeans  ADOurModel j ADKMeans  ADLinear

In this section, we represent the experimental results of the proposed approach that we discussed in Section 3. We will compare our results with some existing image retrieval systems and explain the advantages of our approach compared to traditional models. We have tested our system with three different non-texture image databases. The first database contains 1000 general purpose images. The second database contains 224 non-texture images from five different classes; it has been taken from University of Washington’s web page for Object and Concept Recognition for CBIR project. The third database contains large number of images from 2 classes. In the following sections we will be representing results of using these databases for testing our CBIR System which combines Daubechies’ wavelets and k-means clustering algorithm. 4.1. Tests with Corel database Our system has been implemented and tested sing Corel image database containing 1000 general purpose images which are stored in JPEG format and whose sizes are 384  256 or 256  384. The database has been taken from [1]. The dataset contains 100 images from each of 10 different categories. Image categories are represented in Table 1. We first randomly partition our dataset into 2, where 90% of the images make the training dataset and 10% of the images are used during query phase. Then we preprocess the images, extract their feature vectors and construct a model for reducing the search space during the query phase. In the query phase, we find the distance between the query image and the images in the search space. Then, we sort these distances and return the first five images that are most similar to the query image. 4.1.1. Determination of cG and cS parameters As we have explained in Section 3.3.1, to find the gain measures we first need to find an appropriate value for cG and cS assuming it

62

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66 Table 1 Categories in the Corel image database.

Table 3 Results of the k-Means model combined with B+-tree for different cG and cS values reachable from (51, 0).

Categories African people and villages Beach Buildings Buses Dinosaurs Elephants Flowers Horses Mountains and Glaciers Food

cG = 46, cG = 46, cG = 51, cG = 51, cG = 56, cG = 56,

cS = 0 cS = 5 cS = 0 cS = 5 cS = 0 cS = 5

Average distance

Size of search space

Gain

52.209 51.923 52.198 51.911 52.173 51.887

103.61 146.65 103.84 146.88 103.96 147

1.389 6.718 1.417 6.747 1.432 6.761

Table 4 Results of the k-means model combined with B+-tree for different cG and cS values reachable from (51, 0). Table 2 Results of sequentially searching the image database and k-means model.

Linear k-Means

Average distance

Size of search space

50.881 52.212

900.00 92.39

is not supplied by the user. To find these parameters and compare our results with linear and k-means models, we first give the results of these approaches in Table 2. Initially we set cS to 0, d to 5, and cG to the average of the distances between the images and the centers of the clusters the images belong to, which is 50.6924  51. Then we start searching for optimum cG and cS values as described in Section 3.3.1. Possible cG and cS values reachable from (51, 0) and their results are given in Table 3. As you can see in the last row, the best gain is obtained when cG = 56 and cS = 5. Now we will see if we can obtain a better gain from (56.5). New reachable points from (56.5) and their gains are given in Table 4. We stop searching for best values of cG and cS, since the best points are again 56 and 5. Now let‘s compare the results of searching the whole database, using k-means model alone and using B+tree combined with k-means clustering algorithm. As can be seen in Fig. 7, k-means alone has decreased the search space considerably while it also increased the average distance a little when compared to searching the whole database. k-Means combined with B+-tree decreased the average distance while slightly increasing the search space when compared to k-means alone. To evaluate the accuracy of our system, we calculated precision values of our results. To objectively determine if an image is similar to another image, we will assume that images that belong to the same class are similar to each other. Our system was designed to return 5 images in the result set. On average 2.84 of the returned images are in the same class. So our precision value is 2:84 which 5 is 0.568 for a real world image database with 10 classes. Precision value for the same database with linear search is 0.576. Precision value is 0.556 by applying regular KNN search algorithm. 4.1.2. Query comparison with WaveQ In this section you will find the figures of some sample queries that we retrieved from WaveQ and from our approach. In all the figures, the first image is the query image and the following images are the images most similar to the query image. WaveQ reported results on the same database and we could find 6 sample query results in [5]; we calculated the average distance measure of WaveQ by extracting the feature vectors of those images, then by finding the average distance between the query image and the retrieved images. The average distance reported by WaveQ is 65.391, while our average distance for the same images is 37.277. WaveQ is also using a clustering method for model construction, so the search spaces are mostly comparable in both methods while our model

cG = 56, cG = 56, cG = 51, cG = 61, cG = 61, cG = 61,

cS = 5 cS = 10 cS = 10 cS = 0 cS = 5 cS = 10

Average distance

Size of search space

Gain

51.887 51.704 51.729 52.173 51.887 51.704

147 193.26 193.14 103.96 147 193.26

6.761 3.055 2.908 2.045 3.611 3.055

has given better results since all relevant clusters are searched against the query image. 4.1.3. Evaluation of test results with Corel database The reported results show that our algorithm works correctly when there is a single object in the image. For example in sample query 1 in Fig. 8, the background is the same in all images, and our approach finds similar single objects correctly. However, when there are multiple objects in the image like in sample query 3 in Fig. 10, most similar images found by our approach are not accurate according to human perception. This problem is due to the fact that we lose details of the images during the feature extraction phase, and multiple objects are now represented as one whole image. The results could be more accurate if we used image segmentation first and searched for similar objects within the images instead of comparing images by assuming each as a single component. For example, in query 3 in Fig. 10, there is a building in the background. In the first most similar image, the same building is again in the background and in the fourth image our approach finds a building similar to that building. When we first look at the image, bus is the object in that image we first see and we try to find buses in similar images. However, the reality does not reflect the human perception because the background is as important as the bus when the image is represented in the computer. If we segment the image and give the background object a smaller weight during query phase, this would be more consistent with human perception (see Fig. 9). Our experiments show that model construction reduces the search space effectively. Combining the model with a B+-tree implementation eliminates the number of missed matching images because the combined approach searches more clusters and hence gives results close to searching the whole database. We should also mention here that B+-tree also reduces the total I/O cost of the query phase. If our method is improved by using image segmentation first, the clustering method combined with B+tree will be really useful since there will be more than one object in every image which will be searched and distance calculations will be more expensive. 4.2. Tests with Ground Truth database We also tested our system using an image database that contains 224 images from 5 different categories. The database has

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

Fig. 7. Comparison of searching whole database, using k-means model alone and using k-means model combined with B+-tree.

Fig. 8. Sample query 1; images in the first row are results of WaveQ, images in the second row are results of our model.

Fig. 9. Sample query 2; images in the first row are results of WaveQ, images in the second row are results of our model.

63

64

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66 Table 5 Categories in the Ground Truth image database. Categories Arbor Greens Cherries Football Green Lake Swiss Mountains

Table 6 Results of sequentially searching the whole database, k-means model alone versus kmeans algorithm combined with B+-tree model.

Linear k-Means B+-tree and k-means

Average distance

Size of search space

48.138 48.83 48.83

202 57.273 56.682

been taken from [2] and has already been used for testing the CBIR system developed at the University of Washington. Image categories are represented in Table 5. We again partition our dataset into 2, where 90% of the images make the training dataset and 10% of the images will be used during the query phase. 4.2.1. Results of k-means algorithm combined With B+-tree implementation As we have done in Section 4.1.1 we find appropriate values for cG and cS by assuming that they are not supplied by the user. The best cG value is found to be 49 and the best cS value is found to be 0 when d is set to 5. The results reported in Table 6 show that k-means model alone and k-means model combined with B+-tree give approximately the same results for this database when cG is equal to 49. This is not a surprising result since the sizes of the clusters are very small. To calculate the precision of our results, we will again assume that images that belong to the same class are similar to each other. On average, 3.14 of the returned images were in the same class. So

Fig. 10. Sample query 3; images in the first row are results of WaveQ, images in the second row are results of our model.

Fig. 11. Sample query 4; images in the first row are results of University of Washington, images in the second row are results of our model.

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66 Table 7 Results of sequentially searching the whole database, k-means model and k-means algorithm combined with B+-tree model.

Linear k-Means B+tree and k-means

Average distance

Size of search space

25.117 25.117 25.406

1940 1296 683.6

our precision value is 3:14 , which is 0.628 for a real world image 5 database with 5 classes. Precision value for the same database with a linear search is 0.654; and it is 0.618 for a regular KNN search algorithm.

4.2.2. Comparing our results with University of Washington’s contentbased image retrieval process We compared our results with University of Washington’s efficient CBIR project whose demo can be found at [2]. We chose Wavelets distance measure in the demo to fairly compare the results. Fig. 11 represents the results of this project compared to our system. In all the images, the first picture is the query image and the following images are the images retrieved as most similar to the query image. As shown in Fig. 11, the results of our system and the system developed at the University of Washington are very similar.

65

Fig. 12 represents a sample query. From Fig. 12, it can be easily seen that our model only fails to find the second most similar image in the cluster. 5. Conclusions and future research directions The research scope for this paper focused on the development of CBIR system for non-texture image databases. In the proposed approach, we combined a well-known clustering algorithm k-means with B+-tree data structure for efficient image retrieval. Compared to WaveQ which uses a distance based clustering algorithm, our approach overcomes two main issues. We recursively apply k-means combined with validity analysis for a range of values until the appropriate number of clusters is identified. We eliminate the effect of outliers by using the distance to centroid based index structure. Handling these two issues gives advantage to our approach over WaveQ because WaveQ still requires some parameters specified in order to find appropriate clusters and tuning the two main parameters required by OPTICS is not straightforward. Searching images with a similarity threshold range gave us the opportunity to overcome the limitations of clustering in small sized clusters. For clusters which contain large number of images, our approach reduced the size of the search space considerably. We not only reduced the search space with this approach, but also reduced the total I/O cost which has vital importance for large scale databases. It is worth highlighting the following aspects of the proposed method.

4.3. Tests with Caltech database Clusters in Corel and Ground Truth databases contain small number of images. However, when the size of the clusters increases, searching a whole cluster becomes very costly and searching a range in the cluster reduces the search space significantly. To test this advantage of our proposed method, we tested our system with house and car pictures of Caltech database. The database contains 1155 car pictures and 1000 house pictures. This database has been taken from [3].

4.3.1. Results of k-means algorithm combined with B+-tree implementation We applied the tests on randomly chosen car images. We set cG to 10 and cS to 0. The results reported in Table 7 show that our proposed method significantly decreases the search space while still finds the same similar images. The number of images whose distance measures are calculated is 683.6 with our model while this number is 1296 with the traditional k-means method. This enhancement is due to the large size of the clusters and our system’s advantage of decreasing the search space in clusters.

1. Prior knowledge requirement: Our model has a great advantage that it does not require any prior knowledge or user input whereas our approach needs class labels determined by human experts. The k-means algorithm needs number of clusters as input; but we find this value by applying k-means recursively combined with cluster validity analysis using various indexes. 2. Dynamic: The model we constructed using B+-tree and k-means clustering algorithm can handle a growing database easily. 3. Similarity Measurement: In our method, we did not define a special similarity measurement for images. We simply used Euclidian distance metric for calculating the distance. 4. Performance: The proposed approach reduces the computation time of the retrieval system by choosing the most appropriate algorithms for model construction. Further, our approach has outperformed all existing systems in terms of performance gain. This gain is a natural result of feature vector dimensionality reduction. Finally, we will discuss some of the limitations of our approach that will be handled in our future work. We have not used image

Fig. 12. Sample query 5; images in the first row are results of k-means model, images in the second row are results of our model.

66

E. Yildizer et al. / Knowledge-Based Systems 31 (2012) 55–66

segmentation. Finding the segments of the images and developing a similarity criteria based on the similarity of objects in images would enhance the accuracy of our system for images which contain multiple objects. In this similarity criteria, we can give background a smaller weight and we can give a higher weight to the objects in the center. Such a similarity measure would reflect the human perception better. However, for this method it is very important to use a good segmentation algorithm and none of the existing image segmentation tools can give 100% accurate results. It is very important to handle the problematic cases in image segmentation. As another work in progress, we want to supply a Graphical User Interface (GUI) for the users in which they can select images or objects (assuming segmentation is supported). References [1] Penn state university’s web page for modeling objects, concepts, and aesthetics in images project. (accessed 30.03.10). [2] University of washington’s web page for object and concept recognition for content-based image retrieval project. (accessed on 08.06.10). [3] Visual geometry group’s web page. (accessed 08.06.10). [4] The MAthWorks website (accessed 15.03.10). [5] R. Alhajj, D. Gebara. Waveq: combining wavelet analysis and clustering for effective image retrieval, in: 21st International Conference on Advanced Information Networking and Applications Workshops, vol. 1, 2007, pp. 289– 294. [6] M. Ankerst, M.M. Breunig, H. Kriegel, J. Sander, Optics: ordering points to identify the clustering structure, in: Proceedings ACM SIGMOD International Conference on Management of Data, June 1999, pp. 49–60. [7] J. Bach, C. Fuller, A. Gupta, A. Hampapur, B. Gorowitz, R. Humphrey, R. Jain, C. Shu, Virage image search engine: an open framework for image management. in: Proceedings of the SPIE Conference on Storage and Retrieval for Image and Video Databases IV, February 1996, pp. 76–87. [8] J. Bezdek, R. Pal, Some new indexes of cluster validity, IEEE Transactions on Systems Man, and Cybernetics – Part B 28 (3) (1998) 301–315. [9] C. Chang and C. Lin. Libsvm – A library for support vector machines. (accessed 22.02.10). [10] T. Chang, C.C. Jay Kuo, Texture analysis and classification with tree-structured wavelet transform, IEEE Transactions on Image Processing 2 (3) (1993) 429– 441. [11] R. Datta, D. Joshi, J. Li, J.Z. Wang, Image retrieval: ideas, influences, and trends of the new age, ACM Computing Surveys 40 (2008) 1–60. [12] M.E. Elalami, Supporting image retrieval framework with rule base system, Knowledge-Based Systems 24 (2) (2011) 331–340. [13] M.E. Elalami, A novel image retrieval model based on the most relevant features, Knowledge-Based Systems 24 (1) (2011) 23–32. [14] F. Jurie, F. Moosmann, E. Nowak, Randomized clustering forests for image classification, IEEE Transactions on Pattern Analysis and Machine Intelligence 30 (9) (2008) 1632–1646. [15] A. Gidudu, G. Hulley, T. Marwala, Image classification using svms: one-againstone vs one-against-all, in: Proceedings of the 28th Asian Conference on Remote Sensing, 2007. [16] M. Halkidi, M. Vazirgiannis, Validity assessment: Finding the optimal partitioning of a data set, in: Proceedings of IEEE International Conference on Data Mining, California, November 2001, p. 187. [17] J.A. Hartigan, M.A. Wong, Algorithm as136: a k-means clustering algorithm, Applied Statistics 28 (1979) 100–108. [18] P. Howarth, S. Rüger, Evaluation of texture features for content-based image retrieval, in: Proceedings of the International Conference on Image and Video Retrieval, July 2004, pp. 326–334. [19] T.S. Huang, S. Mehrotra, K. Ramchandran, Multimedia analysis and retrieval system (mars) project, in: Proceedings of 33rd Annual Clinic on Library Application of Data Processing – Digital Image Access and Retrieval, 1996. [20] D. Jiang, C. Tang, A. Zhang, Cluster analysis for gene expression data: a survey, IEEE Transactions on Knowledge and Data Engineering 16 (11) (2004) 1370– 1386. [21] X. Kang, D. Li, S. Wang, A multi-instance ensemble learning model based on concept lattice, Knowledge-Based Systems 24 (8) (2011) 1203– 1213.

[22] M. Kubo, Z. Aghbari, A. Makinouchi, Content-based image retrieval technique using wavelet-based shift and brightness invariant edge feature, International Journal of Wavelets, Multiresolution and Information Processing 1 (2) (2003) 163–178. [23] L. Lancieri, L. Boubchir, Using multiple uncertain examples and adaptive fuzzy reasoning to optimize image characterization, Knowledge-Based Systems 20 (3) (2007) 266–276. [24] T. Li, Q. Li, S. Zhu, M. Ogihara, A survey on wavelet applications in data mining, ACM SIGKDD Explorations Newsletter 4 (2002) 49–68. [25] S. Lightstone, T. Teorey, T. Nadeau, Physical Database Design: The Database Professional’s Guide to Exploiting Indexes, Views, Storage, and More, Morgan Kaufmann Publishers, 2007. [26] O. Maimon, L. Rokach, Data Mining and Knowledge Discovery Handbook, Springer, 2005. [27] A. N’ev’eol, T.M. Deserno, S.J. Darmoni, M.O. Gld, A.R. Aronson, Natural language processing versus content-based image analysis for medical document retrieval, Journal of the American Society for Information Science and Technology 60 (1) (2009) 123–134. [28] W. Niblack, R. Barber, W. Equitz, M. Flickner, E. Glasman, D. Petkovic, P. Yanker, C. Faloutsos, G. Taubin, The qbic project: Querying images by content using color, texture, and shape, in: Proceedings of the SPIE Conference on Storage and Retrieval for Image and Video Databases, 1993, pp. 173–187. [29] T. Özyer, R. Alhajj, Clustering by integrating multi-objective optimization with weighted k-means and validity analysis, International Conference on Intelligent Data Engineering and Automated Learning, vol. 4224, SpringerVerlag, 2006. [30] T. Özyer, R. Alhajj, Combining validity indices and iterative multi-objective optimization based clustering, in: Proceedings of the International FLINS Conference on Applied Artificial Intelligence, World Scientific Press, 2006. [31] A. Pentland, R. Picard, S. Sclaroff, Photobook: tools for content-based manipulation of image databases, in: Proceedings of the SPIE Conference on Storage and Retrieval for Image and Video Databases II, February 1994. [32] D. Picard, A. Revel, M. Cord, An application of swarm intelligence to distributed image retrieval, Information Sciences, 2010, doi:10.1016/j.ins.2010.03.003. [33] G. Powell, Beginning Database Design and Implementation, Wrox Press, 2006. [34] J. Sklansky, Image segmentation and feature extraction, IEEE Transactions on Systems, Man, Cybernetics 8 (1978) 237–247. [35] Y. Sun, S. Ozawa. Semantic-meaningful content-based image retrieval in wavelet domain, in Proceedings of the 5th ACM SIGMM International Workshop on Multimedia Information Retrieval, November 2003, pp. 122– 129. [36] S.Y. Sung, T. Hu, Iconic pictorial retrieval using multiple attributes and spatial relationships, Knowledge-Based Systems 19 (8) (2006) 687–695. [37] N.D. Thang, T. Rasheed, Y.-K. Lee, S. Lee, T.-S. Kim, Content-based facial image retrieval using constrained independent component analysis, Information Sciences 181 (15) (2011) 3162–3174. [38] J.K. Uhlmann, Satisfying general proximity/similarity queries with metric trees, Information Processing Letters 40 (1991) 175–179. [39] R.C. Veltkamp, M. Tanase, Content-based image retrieval systems: a survey, Technical report, UU-CS-2000-34, October 2000. [40] J. Wang, G. Wiederhold, O. Firschein, S. Wei, Content-based image indexing and searching using Daubechies’ wavelets, International Journal on Digital Libraries 1 (4) (1997) 311–328. [41] J. Wang, J. Li, G. Wiederhold, Simplicity: semantics-sensitive integrated matching for picture libraries, IEEE Transactions On Pattern Analysis And Machine Intelligence 23 (9) (2001) 947–963. [42] X. Wang, L. Lei, M. Wang, Palmprint verification based on 2D – Gabor wavelet and pulse-coupled neural network, Knowledge-Based Systems, in press. . [43] L. Wang, Support Vector Machines: Theory and Applications, Springer, 2001. [44] L. Wang, V. Kecman, Introduction to Support Vector Machines and Other Kernel-based Learning Methods, Springer, 2005. [45] W.-T. Wong, F.Y. Shih, J. Liu, Shape-based image retrieval using support vector machines, Fourier descriptors and self-organizing maps, Information Sciences 177 (8) (2007) 1878–1891. [46] E. Yildizer, A.M. Balci, M. Hassan, R. Alhajj, Efficient content-based image retrieval using multiple support vector machines ensemble, Expert Systems with Applications 39 (3) (2012) 2385–2396. [47] J.M. Zachary, S.S. Iyengar, Content based image retrieval systems, in: Proceedings of the IEEE Symposium on Application-Specific Systems and Software Engineering and Technology, 1999, pp. 136–143. [48] M. Zhang, R. Alhajj, Effectiveness of naq-tree as index structure for similarity search in high-dimensional metric space, Knowledge and Information Systems 22 (1) (2010) 1–26. [49] X.S. Zhou, T.S. Huang, Relevance feedback in content-based image retrieval: some recent advances, Information Sciences 148 (1–4) (2002) 129–137.