14
Journal of Visual Languages and Computing (1997) 8, 359372 An Efficient Parallel Texture Classification for Image Retrieval J. YOU*, H. SHEN* AND H. A. COHEN *School of Computing and Information Technology, Griffith University, Nathan Campus, Brisbane, QLD 4111, Australia, Myou, hongN@cit.gu.edu.au and Department of Computer Science and Computer Engineering , La Trobe University , Bundoora, Victoria 3083, Australia, harvey@latcs1.lat.oz.au Received 12 July 1996; revised 2 January 1997; accepted 17 January 1997 This paper proposes an efficient parallel approach to texture classification for image retrieval. The idea behind this method is to pre-extract texture features in terms of texture energy measurement associated with a ‘tuned’ mask and store them in a multi- scale and multi-orientation texture class database via a two-dimensional linked list for query. Thus, each texture class sample in the database can be traced by its texture energy in a two-dimensional row-sorted matrix. The parallel searching strategies are introduced for fast identification of the entities closest to the input texture throughout the given texture energy matrix. In contrast to the traditional search methods, our approach incorporates different computation patterns for different cases of available processor numbers and concerns with robust and work-optimal parallel algorithms for row-search and minimum-find based on the accelerated cascading technique and the dynamic processor allocation scheme. Applications of the proposed parallel search and multi- search algorithms to both single image classification and multiple image classification are discussed. The time complexity analysis shows that our proposal will speed up the classification tasks in a simple but dynamic manner. Examples of the texture classifica- tion task applied to image retrieval of Brodatz textures, comprising various orientations and scales are presented. ( 1997 Academic Press Limited Keywords: feature extraction, texture energy, texture classification, matrix search problem, parallel algorithm, time complexity. 1. Introduction IMAGE FEATURES play a fundamental role in content-based image retrieval (CBIR). Current approaches to CBIR differ in terms of which image features are extracted, the level of abstraction manifested in the features and the degree of desired domain independence [9]. Texture is one of the most important visual cues in many natural images and provides a vital element in retrieving images and interpreting scenes. The analysis of texture requires the identification of those texture attributes which can be used for segmentation, discrimination, recognition or shape computation. Texture classification can be viewed as a decision-making process which allocates an input image sample to one of the classes or categories of the standard texture album (database). In traditional classification problems, various ad hoc means are used to derive feature sets, and this process is clearly demarcated as the feature stage [5]. What is involved in the general 1045-926X/97/030359 # 14 $25.00/0/vl970044 ( 1997 Academic Press Limited

An efficient parallel texture classification for image retrieval

Embed Size (px)

Citation preview

Journal of Visual Languages and Computing (1997) 8, 359—372

An Efficient Parallel Texture Classificationfor Image Retrieval

J. YOU*, H. SHEN* AND H. A. COHEN†

*School of Computing and Information Technology, Griffith University, Nathan Campus, Brisbane,QLD 4111, Australia, Myou, [email protected] and †Department of Computer Science and Computer

Engineering , La Trobe University , Bundoora, Victoria 3083, Australia, [email protected]

Received 12 July 1996; revised 2 January 1997; accepted 17 January 1997

This paper proposes an efficient parallel approach to texture classification for imageretrieval. The idea behind this method is to pre-extract texture features in terms oftexture energy measurement associated with a ‘tuned’ mask and store them in a multi-scale and multi-orientation texture class database via a two-dimensional linked list forquery. Thus, each texture class sample in the database can be traced by its texture energyin a two-dimensional row-sorted matrix. The parallel searching strategies are introducedfor fast identification of the entities closest to the input texture throughout the giventexture energy matrix. In contrast to the traditional search methods, our approachincorporates different computation patterns for different cases of available processornumbers and concerns with robust and work-optimal parallel algorithms for row-searchand minimum-find based on the accelerated cascading technique and the dynamicprocessor allocation scheme. Applications of the proposed parallel search and multi-search algorithms to both single image classification and multiple image classificationare discussed. The time complexity analysis shows that our proposal will speed up theclassification tasks in a simple but dynamic manner. Examples of the texture classifica-tion task applied to image retrieval of Brodatz textures, comprising various orientationsand scales are presented.( 1997 Academic Press Limited

Keywords: feature extraction, texture energy, texture classification, matrix search problem, parallelalgorithm, time complexity.

1. Introduction

IMAGE FEATURES play a fundamental role in content-based image retrieval (CBIR). Currentapproaches to CBIR differ in terms of which image features are extracted, the level ofabstraction manifested in the features and the degree of desired domain independence[9]. Texture is one of the most important visual cues in many natural images andprovides a vital element in retrieving images and interpreting scenes. The analysis oftexture requires the identification of those texture attributes which can be used forsegmentation, discrimination, recognition or shape computation. Texture classificationcan be viewed as a decision-making process which allocates an input image sample toone of the classes or categories of the standard texture album (database). In traditionalclassification problems, various ad hoc means are used to derive feature sets, and thisprocess is clearly demarcated as the feature stage [5]. What is involved in the general

1045-926X/97/030359#14 $25.00/0/vl970044 ( 1997 Academic Press Limited

360 J. YOU ET AL.

classification stage is the abstraction of features of the classes of entities beingconsidered. For the classification to be useful, it must be reliable and computationallyattractive. This means the choice of the textural features or the models must be ascompact as possible, and yet as discriminating as possible.

Historically, structural and statistical approaches have been adopted for texturefeature extraction [10, 17, 22]. The structural approach assumes the texture is character-ized by some primitives following a placement rule. In this view, to describe a textureone needs to describe both the primitives and the placement rule. The descriptionshould be sufficiently flexible that a class of equivalent textures can be generated byusing similar primitives in similar relationships. Although there has been reportedprogress in this area [10], the approach is restricted by the complications encountered indetermining the primitives and the placement rules that operate on these primitives.Therefore, textures suitable for structural analysis have been confined to quite regulartextures rather than more natural textures in practice.

In the statistical approach, texture is regarded as a sample from a probabilitydistribution on the image space and defined by a stochastic model or characterized bya set of statistical features. The most common features used in practice are based on thetonal properties and the pattern properties [22]. These are measured from first- andsecond-order statistics and have been used as discriminators between textures. Thoughthese features have been used widely in the classification and segmentation of texturedimages, they cannot cope with changes in rotation and scale.

The classification of textured images can be considered as allocating an unknowninput texture sample to one of possible texture classes in the training texture album.Briefly stated, there is a finite number of classes C

i, i"1,2,m. A training tex-

ture album comprising a number of so-called training images belonging to each classis available. Based on the feature extracted from these sets, a classifier is designedto recognize a given test image of unknown class to one of the m classes. The keystep in any classification problem is the texture feature extraction policy which reduc-es the dimension of data to a computationally reasonable amount while preservingmuch of the classifying information present in the actual data. Almost all of theliterature dealing with the texture classification problem proceeds under the restrict-ing (and unrealistic) assumption that the test samples from a given texture possess thesame orientation and scale as the training samples. Although sometimes such anorientation and resolution-dependency property is desirable in some cases (such as whendiscriminating between similar textures which are scaled and oriented differently), ingeneral, it reduces the flexibility of the classification method. This paper focusses on theclassification strategy which is not affected by the zooming and/or rotation of the testtexture.

Unlike the usual approaches involving feature extraction and classification ruleconstruction, the special interest of our proposed method for texture classification is todetermine a feature, the texture energy computed using texture ‘tuned’ masks tofunction directly as a classifier in a single stage by extending both Laws’ texture energyconcept [15] and Benke et al.’s mask tuning scheme [1]. In such a method, the principaltexture statistic utilized to represent the texture feature is the normalized ‘texture energy’TE: the standard deviation of pixel gray scale within a 15 * 15 window size computedafter convolution with a texture ‘tuned’ mask through task-aimed training. The textureenergy TE via the ‘tuned’ mask is used as a rotation and scale-invariant classifier. The

AN EFFICIENT PARALLEL TEXTURE CLASSIFICATION 361

method consists of first optimizing the mask parameters on the two-dimensional (2D)linked training samples to characterize the rotation and scale-invariant features of eachtexture by maximizing the inner-class convergence and inter-class dispersion, thenclassifying samples from different textures that have been rotated by different angles andmagnified with different scale factors. The classification is based on a distance rulewhich measures the difference between the global texture energy TE of the test imageand the reference values in the 2D matrix of the training texture database. The texture isclassified to the category for which such a distance is minimum. A parallel algorithm isapplied for the fast searching of the minimum distance.

The purposes of this paper are (1) to develop an adaptive texture feature classifierincorporating rotation and scale changes in the texture due to rotation and zooming ofthe camera, (2) to simplify and speed up a texture classification procedure for imageretrieval by parallel searching through a 2D matrix, (3) to run experimentation on realtextures to show the value of the method and (4) to provide some theoretic analysis forthe performance evaluation. The work is organized as follows: Section 2 introducesa dynamic method to extract texture features; Section 3 discusses the multi-scale andmulti-resolution texture class database for image retrieval; Section 4 summarizes thebasic parallel searching strategies for fast classification and the corresponding timecomplexity analysis; and Sections 5 and 6 present our experimental results and con-clusion, respectively.

2. Dynamic Texture Feature Extraction

The statistical approach to texture classification pioneered by Laws [15] is notablefor its computational simplicity. He introduced the notion of a single parameter,the local ‘texture energy’(TE ) evaluated at each pixel location (i, j ) in the convolvedimage over a large window size 15 * 15 as the measure of texture features in thespatial domain. Basically, his approach to texture characterization consists of two steps.The first step involves convolving the whole image by a zero-sum mask. The 2Dconvolution of the image I(i, j ) and mask A (i, j ) with size 2a#1 by 2a#1 is given bythe relation:

F(i, j )"A(i, j ) * I(i, j )

"

a

+k/~a

a

+l/~a

A (k, l ) I(i#k, j#l ) (1)

for i"0, 1,2, N!1 and j"0, 1,2, N!1, where * denotes 2D convolution. Afterconvolving, the (signed) image F(i, j ) has mean zero over a significantly large region ofuniform texture. In most cases, the size of the mask A(i, j ) is 5 * 5. The convolutionmasks are intended to be sensitive to visual structure such as edges, ripples and spots.Figure 1 shows four of Laws’ most powerful masks with the best discrimination in histest.

The second step involves determining the difference between the convolved imageF(i, j ) and the real image I(i, j ). For a zero-sum mask, the local texture measures aredetermined as statistical variances of the filtered image by computing the squared signal

Figure 1. Laws’ four most powerful masks

362 J. YOU ET AL.

values in the filtered image. From the computational efficiency point of view, the samplemean deviation of the filtered image, called ABSAVE, is introduced as the most usefulstatistics by Laws. The ABSAVE E(i, j ) is defined as the mean deviation withina 2n#1 by 2n#1 window at point (i, j ) and is given by

E(i, j )"1

(2n#1)2i`n

+k/i~n

j`n

+l/j~n

DF(k, l )!M(i, j ) D (2)

where the mean M(i, j ) is given by

M(i, j )"1

(2n#1)2i`n

+k/i~n

j`n

+l/j~n

F(k, l ) (3)

The mean is zero over a large window, therefore, the ABSAVE E(i, j ) becomes

E(i, j )"1

(2n#1)2i`n

+k/i~n

j`n

+l/j~n

DF(k, l ) D (4)

which Laws called the texture energy measure, and is used in his test as the texturefeature.

Although, individually, Laws’ masks can be used in isolation as a texture classifier,they are subject to a number of limitations due to the lack of robustness with respect tothe fixed masks. One feasible approach to improve the performance is to replace thefixed masks with adaptive masks ‘tuned’ to be invariant to changes in rotation and scale.This process involves the determination of texture class ‘tuned’ mask which whenapplied to a textured image smooth out regions of common texture so that the varianceof the convolved image, typically over a 15 * 15 local window, is (a) reasonably constantover all locations within a region of uniform texture, so that such a region is essentiallyconverted into a region of uniform gray scale and (b) markedly different in valuebetween regions of different texture. The approach reported here is an extension of the

AN EFFICIENT PARALLEL TEXTURE CLASSIFICATION 363

work of Benke et al. Although Benke—Skinner introduced and applied the adaptive maskconcept [1], we have further revised this methodology which leads to satisfactorysegmentation of 15 distinct textures using a single mask [24]. In our approach, the localvariance after convolution is well-approximated over the sum of squared values ofconvolved image within the test window, which is expressed as

TE(i, j )"+Wx

+Wy(I * A )2rs

P 2WxWy(5)

where the rs sum is over all pixels within a square window W of size Wx * Wy centered onthe pixel at i, j, A is a zero sum ‘tuned’ 5 * 5 convolution mask and P is the parameternormalizer P 2

"+i, j (Ai, j)2.The problem of texture class classification is to find a way of assigning a new

texture sample on the basis of a set of measurements to one of a number of possibleclasses. The group method requires, in the hierarchical approach, a single mask tobe tuned so that within each texture class, dispersion of the TE is minimal, while thedispersion between classes is maximized. At the same time, it is useful to attempt torestrain the TE to be linear in the numeric rank of the textures. We use figures ofmerit for mask tuning of the form D"XY/Z, where X is the well-known ex-pression for the regression of the least-squares line of best fit line (x, f (x)) through thepoints (x, TE(x)):

X"

+Nx/1(TE(x) f (x))2

+Nx/1 f 2(x)+N

x/1 TE2(x)(6)

while Y and Z are the measure of inter- and intra-dispersion, respectively,

Y"minGABS(TE(x, sx, rx)!TE( y, sy, r y))

TE(x, sx, rx)#TE( y, sy, r y) H (7)

Z"maxGABS(TE(x, sx, rx)!TE(x, sy, r y))

TE(x, sx, sx)#TE(x, sy, r y) H (8)

where sx, sy refer to different scales, r x, r y refer to different rotations while x, y refer todifferent textures in the given texture set, and TE (x, sx, rx), TE( y, sy, r y) represent thetexture energy with certain scale and orientation.

Mask tuning is performed by a combination of random-search techniques throughthe space of mask coefficients, used in combination with dynamic reordering of textureranking; see You and Cohen [24]. To simplify the process, a re-ranking procedure isapplied to the two-dimensional texture set in training so that all the texture samples ineach trial are ordered in the monotonically increasing sequence of classifier value. Thus,for each mask, a sorting procedure is called to rank all the texture samples of the giventexture set: different textures are linked and ordered from top to bottom while texturesamples of one texture in different cases are linked and ordered from left to right(see Figure 2).

Figure 2. Linked list data structure used to enable re-ranking of textures during training

364 J. YOU ET AL.

3. Texture Class Database

In texture classification, the success of the classifier is judged by the number of similartextures which have been dispersed. Moreover, such a classifier should be rotation andscale-invariant. In a word, the more the textures can be separated with less rotation andscale effect, the more powerful the classifier is. Thus, a dynamic and large texture classdatabase is required for our mask tuning scheme.

For experimental purposes, Brodatz textures have been chosen as the natural texturesamples by the researchers in this area such as Laws [15], Pietikainen et al. [19] and Benkeet al. [1], etc. However, the number of textures involved in their tests is very limited, andthe images are assumed to be digitized under the same condition without any changes inrotation and scale. Eight Brodatz textures—wood, water, leather, grass, wool, pigskin,sand and raffia—are chosen by Laws for their visual similarity and later used byPietikainen, Pentland and Benke as benchmark or as a worst-case data set designed toprovide a severe test for a texture analyser.

From the practical point of view, these eight textures under the ideal condition are farless than what is required. By introducing a 2D linked list, we create a dynamic textureclass database of large size, in which the low labels are texture class, while the columnsare labelled by orientation and scale. Figure 3 shows the structure, in which each texturesample is a node of the list.

With such a structure, the user can add, delete and sort easily a certain texture sampleby adding, deleting or sorting the node in the list, respectively. Meanwhile, the size of thelist depends on the number of textures to be involved in classification, which isdetermined by the user dynamically. The textures used in our initial test were selectedfrom Brodatz’s well-known compilation [4]. We chose the following 15 textures,including eight Brodatz textures used by other researchers augmented by seven visuallysimilar textures: calfd24, canvd20, canv21, corkd4, grassd9, paperd57, pebblesd54,pigskind92, raffiad84, sandd28, sandd29, strawd15, wired6, wired14 and woold19.

Figure 3. Two-dimensional linked list, (o1, o2,2,ok refers to the scale factor; h1, h2,2, hk refers to therotation angle)

Figure 4. Fifteen unrotated and unscaled texture samples

AN EFFICIENT PARALLEL TEXTURE CLASSIFICATION 365

Figure 4 shows these 15 unrotated and unscaled histogram equalized texture samples.The range of scale changes of the images in our texture database is (1 : 2)2, (1 : 1)2, and(2 : 1)2, and the orientation is from 0 to 315° by 45° steps. Figure 5 shows examples ofrotated and scaled textures corkd4 and raffiad84 in different cases.

Figure 5. Samples of the rotated/scaled variants of two Brodatz texture classes

.

366 J. YOU ET AL.

AN EFFICIENT PARALLEL TEXTURE CLASSIFICATION 367

4. Parallel Texture Classification

Fast searching and indexing is a key issue for efficient information retrieval. Indexingtabular data for exact matching or range searches in traditional databases is a well-understood problem, and structures like B-trees provide efficient access mechanisms.However, in the context of similarity matching for visual images, traditional indexingmethods may not be appropriate. Consequently, data structures for fast access ofhigh-dimensional features for spatial relationships have to be developed. As detailed inSection 2, we introduce ‘texture energy’ TE via ‘tuned’ mask as texture featuremeasurement for classification. Corresponding to the texture class database, a 2D matrixis used to represent the texture energy entities in the database, which is row-ordered interms of the TE measurement. The classification task is to identify candidates in thematrix which has the minimum difference with the input sample measurement. Conse-quently, a fast parallel searching procedure in such a matrix with sorted rows is essential.In the work reported in this paper, we aim to apply parallel search and multisearchalgorithms to improve efficiency. We use the C(oncurrent)R(ead)E(xclusive)W(rite)PRAM as our computation model. It is known that an algorithm running in the CREWPRAM can be simulated on many practical parallel machines within logarithmic factoroverhead in time complexity.

4.1. Single Image Classification

Given an m]n matrix TE with sorted rows and input image with texture energy x to beclassified on TE, our algorithm composes the following two steps:

f Row-search: Search each row of TE for x to obtain mini"minMx!ei, j, ei, j`1!xN,where ei, j4x4ei, j`1 in row i. (Add two dummy elements e

0"!R and en`1"R.)

f Min-find: Compute min"minMmin1 ,2, minmN.

Assume that we have 14p4mn processors available. For efficient implementationof the two steps above, we employ different techniques for different cases of p values.The following lemmas summarize the results, with their proofs indicating the corres-ponding algorithms:

Lemma 1. Row-search can be completed in time

(1) O( log(n#1)/log( xp/my#1)), if p5m ;(2) O((m/p#log p) ( log logm#log(k/m))), where k is x’s rank in TE, if p(m.

Proof. For case (1) we allocate p/m processors to each row and for every row in parallelapply (xp/my#1)-way search. The complexity is proved in Kruskal’s algorithm [14].

For case (2), we generalize Jain’s algorithm [11] which proceeds first with the one-sidedbinary search [2] in each row (each processor is allocated with m/p rows) until the totalnumber of elements in remaining intervals to be searched is O(maxMm, kN) and thenswitches to the ordinary binary search over these intervals. The complexity followsdirectly from Jain’s result and we leave it to the reader to verify. h

368 J. YOU ET AL.

Lemma 2. Min-find can be completed in time

(1) O( logm), if p5m;(2) O(m/p#log p), if p(m.

Proof. Case (1) holds obviously by using standard balanced tree strategy [12].Note that this is in fact the best time due to the limitation of X( log m) time lowerbound for finding the minimum among m data on CREW (with any number ofprocessors) [8].

For case (2) we allocate each processor with m/p data, first in parallel for every groupof data compute the local minimum and then compute the global minimum amongp local minimums in parallel. h

Hence, we have the following theorem:

Theorem 1. Having a texture class database represented by an m]n matrix with sorted rows,a single image identified by its texture energy x can be classified on a CREW PRAM with p processorsin O( log(n#1)/log(xp/my#1)#logm) time if p5m and O((m/p#log p) ( log log m#log(k/m))) time if p(m, respectively, where k is x ’s rank in TE.

4.2. Classification of Multiple Images

We now consider the problem of parallel classification of a batch of r images. Assumethat these images are sorted in increasing order of their texture energies: x1(2(xr .

Similar to single-image classification, our algorithm contains the following two steps:f Row-search: Search each row of TE for x"x1,2 , xr to obtain min

i(x)"

minMx!ei, j, ei, j`1!xN, where ei, j4x4ei, j`1 in row i.f Min-find: Compute min(x)"minMmin1(x),2, minm(x)N for x"x1,2 , xr .

These steps can be implemented by using different techniques for different cases ofprocessor numbers.

Lemma 3. Row-search can be completed in time

(1) OAlog(n#1)#log(r#1)

log(xp/(mr)y#1) B, if p5mr ;

(2) O(rm/p( log n#log(m/p))), if m4p(rm ;(3) O(r(m/p#log p) ( log logm#log(k/m))), where k is x ’s rank in TE, if p(m.

Proof. For (1) we allocate p/(mr ) processors to each xjin each row ( p/m processors

allocated to each row in total), and apply Chen’s parallel multiselection algorithm [6],with binary search being replaced with (xp/(mr)y#1)-way search. The complexityfollows directly.

For (2) we allocate p/m processors to each row and one-by-one process each batch ofp/m elements of Mx

1,2, x

rN by Chen’s algorithm (there are mr/p such batches), resulting

in the complexity.

AN EFFICIENT PARALLEL TEXTURE CLASSIFICATION 369

For (3) searching xjone by one with the generalized Jain’s algorithm [11] as in case (2)

of Lemma 1 yields the result. h

Lemma 4. Min-find can be completed in time

(1) O( logm), if p5mr ;(2) O(mr/p#log( p/r)), if m4p(rm ;(3) O(r(m/p#log p)), if p(m.

Proof. Case (1) is implemented in the same way as in Lemma 2, with p/r5mprocessors per min(x).

For case (2) we allocate mr/p data per processor and, hence, divide eachMmin1(x),q , minm (x)N into p/r groups. We first compute the local minimum in O(mr/p)time in parallel for every group and then compute the global minimum in O( log( p/r))time in parallel for all groups.

For case (3) we compute min(x) one by one, each using p processors in the same wayas in Lemma 2. h

Hence we have the following theorem:

Theorem 2. Having a texture class database represented by an m]n matrix with sortedrows, a batch of r images identified by their texture energy array x

1(q(x

rcan be classified on

a CREW PRAM with p processors in O(( log(n#1)#log(r#1))/(log(xp/(mr)y#1))#logm) time if p5mr, O(rm/p( log n#log(m/p)) time if m4p(rm, andO(r(m/p#log p) (log logm#log(k/m))) time if p(m, respectively, where k is x ’s rank in TE.

5. Experimental Results

Two sets of experiments were completed to assess the classification effectiveness oftexture energy measurement by means of our mask tuning scheme. We used 15 differentBrodatz textures, with a scale range (1 : 2)2, (1 : 1)2, (2 : 1)2 and a rotation range 0, 45,90,2, 315°. The samples in the training set are histogram equalized and of 256 * 256size. In the first set, the training texture album consists of all the possible test samples,and indicates that the classifier ‘sees’ instances of each texture under each condition. Inthe second set of experiments it was expected that the test samples not included in thetraining set could be detected as a new category.

The test samples are of four sizes (512 * 512, or 256 * 256, or 128 * 128, or 64 * 64)with three scales and orientations. Therefore, for the first experiment there are 36 testsamples of each texture category including all the possible image sizes, scales andorientations. The classification result is shown in Figure 6 in the form of a confusionmatrix. The diagonal row shows how many samples out of 36 test samples for eachcategory were classified correctly. Classification rates for individual categories are listedto the right of each row. Ten of the classes are classified with 100% accuracy. Theclassification results of the other five classes are 96, 80, 78, 66 and 58%, respectively.The misclassification of test samples is due to the very close distance differences oftexture energy TE between some samples.

Figure 6. Confusion matrix showing the class assignment accuracy for the 540 texture samples

Figure 7. Confusion matrix showing the classification accuracy with untrained texture classes

370 J. YOU ET AL.

In the second experiment there were 96 test samples of each texture superclass.A sample was either assigned to a class accordingly or classified as new. The classifica-tion result is shown in Figure 7 in the form of a confusion matrix.

AN EFFICIENT PARALLEL TEXTURE CLASSIFICATION 371

6. Conclusion

In this paper the rotation and scale invariant texture feature extraction is introducedfor effective classification of images involving textures of unknown rotation andscale changes. It was found that the tuning process, although computationally in-tensive, converged efficiently and that the classifier values of the mean of the textureenergy TE for a particular texture at different orientations and different scales weretightly clustered. As a result, this dynamic global texture classifier associated withthe ‘tuned’ mask will recognize an unknown input texture sample as belonging toa particular class in the texture database irrespective of scale and rotation. In addi-tion, the execution time can be further reduced by using parallel-search algorithmsfor classification. The proposed parallel algorithms for classification of both singleimage and multiple images employ efficient parallel algorithms for row-search andminimum-find and are robust in terms of the classification tasks and the number ofprocessors.

References

1. K. K. Benke, D. R. Skinner & C. J. Woodruff (1988) Convolution operators as a basis forobjective correlates for texture perception. Institute of Electrical and Electronic Engineers Transac-tions on Systems, Man and Cybernetics 18, 158—163.

2. J. L. Bentley & A. C. Yao (1976) An almost optimal algorithm for unbounded searching.Information Processing Letters 5, 82—87.

3. C. Y. C. Bie, H. C. Shen & D. K. Y. Chiu (1993) Hierarchical maximum entropy partitioningin texture image analysis. Pattern Recognition Letters 14, 421—429.

4. P. Brodatz (1966) Textures: A Photographic Album for Artists and Designers. Dover, New York.5. T. M. Caelli & D. Reye (1993) On the classification of image regions by colour, texture and

shape. Pattern Recognition 26, 461—470.6. D. Z. Chen (1990) Efficient parallel binary search on sorted arrays. Technical Report No.

1009, Department of Computer Science, Purdue University.7. F. S. Cohen, Z. Fan & M. A. Patel (1991) Classification of rotated and scaled textured images

using gaussian Markov random field models. Institute of Electrical and Electronic EngineersTransactions on Pattern Analysis Machine Intelligence 13, 192—202.

8. S. A. Cook, C. Dwork & R. Reischuk (1986) Upper and lower time bounds for randomaccess machines without simultaneous writes. Society for Industrial and Applied MathematicsJournal on Computing 15, 87—97.

9. V. N. Gudivada & V. V. Raghavan (1995) Special issue on content-based image retrievalsystems. Computer 28.

10. R. M. Haralick (1979) Statistical and structural approaches to texture. Proceedings of the Instituteof Electrical and Electronic Engineers 67, 786—804.

11. A. Jain (1995) Parallel search in matrices with sorted columns. Proceedings of the 7th Institute ofElectrical and Electronic Engineers Symposium on Parallel and Distributed Processing, San Antonio,TX, USA, 25—28 October, 224—230.

12. J. JaJa (1992) An Introduction to Parallel Algorithms. Addison-Wesley, Reading, MA.13. R. L. Kashyap & A. Khotanzad (1986) A model based method for rotation invariant texture

classification. Institute of Electrical and Electronic Engineers Transactions on Pattern Analysis ofMachine Intelligence 8, 472—481.

14. C. Kruskal (1983) Searching, merging, and sorting in parallel computation, Institute of Electricaland Electronic Engineers Transactions of Computing 32, 942—946.

15. K. I. Laws ( January 1980) Textured image segmentation, PhD Thesis, University ofSouthern California.

372 J. YOU ET AL.

16. J. Mao & A. Jain (1992) Texture classification and segmentation using multiresolutionsimultaneous autoregressive models. Pattern Recognition 25, 173—188.

17. S. Peleg, J. Naor, R. Hartley & D. Avnir (1984) Multiple resolution texture analysis andclassification. Institute of Electrical and Electronic Engineers Transactions on Pattern Analysis ofMachine Intelligence 6, 518—527.

18. R. Picard (1993) Finding similar patterns in large databases. Proceedings of IEEE InternationalConference on Acoustics, Speech & Signal Processing, 1993, 27—30 April, Minneapolis, Minnesota.

19. M. Pietikainen, A. Rosenfeld, & L. S. Davis (1983) Experiments with texture classificationusing averages of local pattern matches. Institute of Electrical and Electronic Engineers Transactionson System, Man and Cybernitics 13, 421—425.

20. H. Sakou, H. Matsushima & M. Ejiri (1990) Texture discrimination using an adaptivemultiresolution network filter. Proceedings of the IAPR Workshop on Machine Vision Applications,Tokyo, 28—30 November, pp. 257—261.

21. M. Unser (1986) Local linear transforms for texture measurements. Signal Processing 11,61—79.

22. H. Wechsler & T. Citron (1980) Feature extraction for texture classification. Pattern Recogni-tion 12, 301—311.

23. J. S. Weszka, C. R. Dyer & A. Rosenfeld (1976) A comparative study of texture measures forterrain classification. Institute of Electrical and Electronic Engineers Transactions on System Man andCybernetics 6, 269—285.

24. J. You & H. A. Cohen (1993) Classification and segmentation of rotated and scaled texturedimages using texture ‘tuned’ masks. Pattern Recognition 26, 245—258.

.