M. José Escalona, Manuel Mejías, and Jesús Torres. This article ... Joaquín Adiego, Pablo de la Fuente, Jesús Vegas, and Miguel Villarroel. A system that uses ...
The European Online Magazine for the IT Professional http://www.upgrade-cepis.org Vol. III, No. 3, June 2002
UPGRADE is the European Online Magazine for the Information Technology Professional, published bimonthly at Publisher UPGRADE is published on behalf of CEPIS (Council of European Professional Informatics Societies, ) by Novática , journal of the CEPIS society ATI (Asociación de Técnicos de Informática, Spain ) UPGRADE is also published in Spanish (full issue printed, some articles online) by Novática, and in Italian (online edition, abstracts only) by the Italian CEPIS society ALSI and the Italian IT portal Tecnoteca UPGRADE was created in October 2002 by CEPIS and was first published by Novática and by Informatik/Informatique, bimonthly journal of SVI/FSI (Swiss Federation of Professional Informatics Societies, ) Chief Editors François Louis Nicolet, Zurich Rafael Fernández Calvo, Madrid Editorial Board Prof. Wolffried Stucky, CEPIS President Fernando Piera Gómez and Rafael Fernández Calvo, ATI (Spain) François Louis Nicolet, SI (Switzerland) Roberto Carniel, ALSI - Tecnoteca (Italy) English Editors: Mike Andersson, Richard Butchart, David Cash, Arthur Cook, Tracey Darch, Laura Davies, Nick Dunn, Rodney Fennemore, Hilary Green Roger Harris, Michael Hird, Jim Holder, Alasdair MacLeod, Pat Moody, Adam David Moss, Phil Parkin, Brian Robson Cover page designed by Antonio Crespo Foix, © ATI 2002 Layout: Pascale Schürmann E-mail addresses for editorial correspondence: and E-mail address for advertising correspondence: Copyright © Novática. All rights reserved. Abstracting is permitted with credit to the source. For copying, reprint, or republication permission, write to the editors. The opinions expressed by the authors are their exclusive responsibility.
2 Editorial: UPGRADE grows and matures – Prof. Wolffried Stucky (President of CEPIS)
Information Retrieval and the Web Guest Editors: Ricardo Baeza-Yates, Peter Schäuble
Joint issue with NOVÁTICA 3 Presentation – Retrieving Information: A Discipline with a Tradition – Ricardo Baeza-Yates, Peter Schäuble Includes a list of useful references for those interested in knowing more about Information Retrieval (IR)
5 Information Retrieval for Enterprise Content – Prabhakar Raghavan The author describes a broad set of commercial applications of IR techniques.He also elaborates on the differences between Internet and Intranet retrieval.
9 Information Retrieval on the Web: A New Paradigm – Jacques Savoy A survey of information retrieval on the Web is presented with emphasis on distributed retrieval, link-based ranking, and evaluation of search engines.
12 An Analysis of Query Languages for XML – Adelaida Delgado Domínguez, Ricardo Baeza-Yates Several query languages for XML are analysed emphasizing the W3C proposal, Xquery, from the perspective of semistructured data as well as text retrieval.
25 Methodologies to develop Web Information Systems and Comparative Analysis – M. José Escalona, Manuel Mejías, and Jesús Torres This article presents a comparative analysis of development methodologies for Web Information Systems.
37 Distributed Information Retrieval from Web-Accessible Digital Libraries using Mobile Agents – J. Alfredo Sánchez, Sandra Nava Muñoz, Lourdes Fernández Ramírez, and Griselda Chevalier Dueñas An agent-based framework to support distributed information retrieval from heterogeneous Webaccessible digital libraries is described.
44 Automatic Extraction of Semantically-Meaningful Information from the Web – Rafael Corchuelo, José Luis Arjona, and Antonio Ruiz This paper introduces another agent-based framework for automatic extraction of semantic information of Web pages.
52 Ontologies for Database Federation – Nieves R. Brisaboa, Miguel R. Penabad, Ángeles S. Places, and Francisco J. Rodríguez Presents an architecture to integrate Web databases based on ontologies.
62 System for Compressing and Retrieving Structured Documents – Joaquín Adiego, Pablo de la Fuente, Jesús Vegas, and Miguel Villarroel A system that uses compressed inverted indices to retrieve documents considering content and structure of SGML or XML documents is described.
70 TEXRET: An Interactive TEXture RETrieval System – Javier Ruiz-del-Solar, Pablo Navarrete, and Patricio Parada Describes an interactive system to retrieve textures from image databases using soft-computing techniques.
78 The CLEF Campaigns: Evaluation of Cross-Language Information Retrieval Systems – Martin Braschler, Carol Peters
Coming issue: “XML, eXtensible Markup Language”
The authors describe the European Cross Language Evaluation Forum CLEF. Beside the US forum Trec and the Japanese forum NTCIR,CLEF is among the major venues to advance information retrieval technology.
82 The Web of Spain – Ricardo Baeza Yates An analysis of the Spanish Web comparing it to the Brazilian and Chilean Web is presented, concluding that the results should be similar for the Webs of other European countries.
1
Information Retrieval and the Web
TEXRET: An Interactive TEXture RETrieval System Javier Ruiz-del-Solar, Pablo Navarrete, and Patricio Parada
Although texture perception plays an important role in human vision – and textures are becoming increasingly important in multimedia communication, design and marketing – people are unable to describe textures precisely. To address the problem of texture retrieval from image databases the TEXRET system was developed. TEXRET (TEXture RETrieval) uses soft-computing technologies to allow an interactive communication with the user. TEXRET main features are: (i) direct access from the Internet, (ii) high interactivity, (iii) texture retrieval using human-like or fuzzy description of the textures, (iv) content-based texture retrieval using user-feedback, and (v) generation of the requested textures when these are not found in the database, which allows a growing of the database. TEXRET is described in this article. Keywords: Texture Retrieval Systems, Relevance Feedback, Content-based Texture Retrieval, Texture Synthesis Introduction Textures are homogeneous visual patterns that we perceive in natural and synthetic scenes. They are made of local micropatterns, repeated somehow, producing the sensation of uniformity. Texture perception plays an important role in human vision. It is used to detect and distinguish objects, to infer surface orientation and perspective, and to determine shape in 3D-scenes [Ruiz-del-Solar 99]. An interesting psychological observation is the fact that human beings are not able to describe textures clearly and objectively, but only subjectively by using a fuzzy characterization of them. On the other hand, with the new advances in communication and multimedia computing technologies, accessing massive amounts of digital information (image databases) is becoming a reality. In this context, textures, due to their esthetical properties, play today an important role in the consumer-oriented design, marketing, selling and exchange of products and/or product information. For this reason, systems that allow the search and retrieval of textures in image databases are of increasing interest [Parada et al. 01], [Ruiz-del-Solar 99]. The aim of this work is the construction of the TEXRET system, a texture retrieval system based on soft-computing technologies. The importance of this kind of systems is increasing due to the massive access to digital image databases, which also demand the existence of systems that can understand human high-level requests. The TEXRET system has the following features: (i) direct access from the Internet, (ii) high interactivity, (iii) texture retrieval using human-like or fuzzy description of the textures, (iv) content-based texture retrieval using user-feedback, and (v) synthesis or generation of the requested textures when these are not found in the database, which allows a growing of the database. This paper shows the structure of TEXRET, and explains how a non-expert user can employ each of the system features.
1
© Novática
The article is structured as follows. The Soft-Computing paradigm and its main disciplines are briefly presented in section 2. TEXRET is outlined in section 3. In section 4 is described the interaction process between the user and TEXRET. In sections 5, 6 and 7 are described the TEXRET main subsystems. Finally, in section 8 some conclusions are given. Soft-Computing Since the early days of Artificial Intelligence scientists and engineers have been searching for new computational paradigms capable of solving real-world problems efficiently. Soft-Computing (SC) is one of such paradigms that has emerged in the recent past as a collection of several models of computation which work synergetically and provide the capability of flexible information processing. The principal constituents of SC are fuzzy logic, neural networks, evolutionary computing, probabilistic reasoning, chaotic theory and parts of machine learning theory. In words of Lofti Zadeh the father of Fuzzy Logic and founder of Soft-Computing “Soft computing differs from conventional (hard) computing in that, unlike hard computing, it is
2
Javier Ruiz-del-Solar received his diploma in Electrical Engineering and the M.S. degree in Electronic Engineering from the Technical University Federico Santa Maria (Chile) in 1991 and 1992, respectively, and the Doctor-Engineer degree from the Technical University of Berlin in 1997. In March 1998 he became an Assistant Professor of Electrical Engineering at the University of Chile. Pablo Navarrete received the B.S. degree in Physics from the University of Chile in 2000 and he is finishing his diploma in Electrical Engineering at the same university. Patricio Parad a received his diploma in Electrical Engineering from the University of Chile in 2001 and he is pursuing a Ph.D. at the University of Illinois at Urbana-Champaign.
UPGRADE Vol. III, No. 3, June 2002
70
Information Retrieval and the Web tolerant of imprecision, uncertainty, partial truth, and approximation. In effect, the role model for soft computing is the human mind. The guiding principle of soft computing is: Exploit the tolerance for imprecision, uncertainty, partial truth, and approximation to achieve tractability, robustness and low solution cost”. From a wider and practical point of view, we can say that SC more than to model the human mind is inspired in processing and adaptation mechanisms present in the nature. SC technologies are currently attracting a great deal of attention and have already found a number of practical applications ranging from industrial process control, fault diagnosis and smart appliances to speech recognition, image processing and biometric systems. We are going to concentrate ourselves in the description of fuzzy logic, neural networks and evolutionary computing, because these are the SC technologies used in TEXRET. In this perspective, the principal contribution of fuzzy logic is to provide algorithms for dealing with imprecision and approximate reasoning and computing with words, while neural network theory provides an effective methodology for learning from examples, and evolutionary computing a way to solve search and optimization problems. A. Fuzzy Logic/Sets Fuzzy Logic (FL) corresponds to a mathematical approach for translating the fuzziness of linguistic concepts into a representation that computers can understand and manipulate. Because FL can transform linguistic variables into numerical ones without jettisoning partial truth along the way, it allows the construction of improved models of human reasoning and expert knowledge. FL and in general the fuzzy sets theory provides an approximate, effective and flexible means of describing the behaviour of systems which are too complex or too illdefined to admit precise mathematical analysis by classical methods and tools. Since the theory of fuzzy sets is a generalization of classical set theory, it has greater flexibility to capture faithfully the various aspects of incompleteness or ambiguity in information of a situation. In this way, more than to operate just with linguistic variables, modern fuzzy sets systems are designed to deal with any kind of information uncertainty. In the framework of fuzzy sets theory, real-world problems (their variables) are mapped into a “fuzzy world” where they are solved. After that, the “fuzzy” solution of the problem is mapped back into the real world. The processes of mapping input variables into the fuzzy world and out variables into the real world are called fuzzification and defuzzification, respectively. Problems are represented by means of fuzzy variables in the fuzzy world. These variables are handled using membership functions, which allow quantify the membership degree of the variables to fuzzy sets. In FL, rules (input-output relationships) contain the knowledge of the system and operate over fuzzy variables and membership grades. A basic introduction to these aspects can be found in [Kartalopoulos 96]. B. Artificial Neural Networks Artificial neural network (ANN) research takes its inspiration from biological neuronal systems. ANNs have some attributes as universal approximation, the ability to learn from
71
UPGRADE Vol. III, No. 3, June 2002
and adapt to their environment, and the ability to invoke weak assumptions about the underlying physical phenomena responsible for the generation of the input data [Haykin 94]. ANNs are suitable to solve problems where no analytical model exists or where the analytical model is to complex to be applied. An ANN is composed by basic units called artificial neurons that somehow model the working principles of their biological counterparts. ANNs try to model not only the biological neurons but also their interconnection mechanisms and global functional properties. An ANN can be defined as “a massively parallel distributed processor that has a natural propensity for storing experiential knowledge and making it available for use. It resembles the brain in two aspects. 1. Knowledge can be acquired by the network through a learning process. 2. Interneuron connection strengths known as synaptic weights are used to store the knowledge” [Aleksander/Morton 90]. Implemented in hardware or software, an ANN can be trained by exposing it to example inputs, and sometimes to target outputs, and iteratively adjusting the connection weights among its neurons. The result is a quick-to-build, robust and adaptable problem solver capable of generalization. In the basic neuron model inputs xi are weighted (pondered) by synaptic weights wi that represents the synaptic strength of the inter-neuron connections. The weighted inputs are summed (considering a bias value) and further modulated by a nonlinear function f. Learning is achieved through the iterative adjustment of the synaptic weights. Depending on the mechanism used to implement this process, learning can be supervised, unsupervised, competitive or reinforced [Kartalopoulos 96]. The architecture of the network depends on the goal one is trying to achieve. The massive connectivity among the neurons usually makes the system fault tolerant (with respect to noise and component failure) while the parallel processing capability enables the system to produce output in real-time. The network topology will be determined by different aspects as the number and type of the neuron layers (usually input, output and hidden layers), the direction flow of the network data (feed forward, with feedback, etc.) and the learning algorithm employed. C. Evolutionary Computing The mechanisms that drive natural evolution are reproduction, mutation and survival of the fittest. They allow the adaptation of life forms to particular changing environments over successive generation. From a computational point of view this can be seen as an optimization process. The application of evolution mechanisms by artificial/computational systems is called Evolutionary Computing (EC). From that we can say “EC takes the power of natural selection to turn computers into automatic optimization tools”. EC algorithms are efficient, adaptive and robust search processes, producing near optimal solutions and have a large amount of implicit parallelism. An evolutionary algorithm consists of a population of candidate solutions and a fitness function, which measures how well each individual within the population, performs in terms of a given task. Due to the rules for generating new solutions from parent solutions mimic the mechanisms that drive evolution in
© Novática
Information Retrieval and the Web
Figure 1: Block Diagram of TEXRET.
nature, EC can be used to breed progressively better solutions to a wide variety of complex problems. Currently, four main lines of investigation are being pursued: genetic algorithms [Holland 75], genetic programming [Koza 92], evolution strategies [Rechenberg 73], and evolutionary programming [Fogel 64]. As applied to optimization problems, the procedures generally adopt the following framework: 1. Code the problem parameters into an EC representation (e.g. chromosome) and formulate a fitness function that serves to measure candidate solutions to the task at hand. 2. Initialize a population of candidate solutions (parents) in the chosen representation typically at random over some available search space. 3. Create offspring from the parents using various operators incorporating stochastic effects (e.g. random mutation, crossover). 4. Evaluate the parents and offspring, and assign fitness or error scores to each individual in the population. 5. Compete and select candidate solutions to be parents for the next generation based on their evaluated scores. 6. If a solution of sufficiently quality has been discovered, or the available time has expired, then exit; otherwise go to 3. The TEXRET System TEXRET, whose block diagram is shown in figure 1, is made of three main subsystems: Query-based Texture Retrieval
3
© Novática
(A), Interactive Content-based Texture Retrieval (B) and Interactive Texture Generation (C). These subsystems do not work in parallel but sequentially. First, the user interacts with subsystem A, performing the texture retrieval using a human-like description of the textures. If this process fails, then she interacts with subsystem B, carrying out a content-based texture retrieval that utilizes user-feedback. Finally, if both retrieval subsystems fail, then she has the possibility of performing an interactive generation of the requested texture. A. Query-based Texture Retrieval The stages of this subsystem are FI (Fuzzy Interface), Q2TPT (Qualitative to Quantitative Textural Properties Transformation), and TR (Texture Retrieval). The on-line phase of the texture retrieval process works as follows: A human user makes a query of a texture using a subjective, linguistic or human-like texture description (see section 4). The FI module enters this description into the system using a fuzzy representation of it. The Q2TPT module interprets the query and translates it into a quantitative texture description that is implemented using Tamura Descriptors [Tamura et al. 78] (see section 4). This quantitative description is used in the TR module to search the texture in the database (see description in [Ruiz-del-Solar 99]). The subjective or human-like texture description that TEXRET accepts was determined by a psychological study described in [Ruiz-del-Solar/Jochmann 01].
UPGRADE Vol. III, No. 3, June 2002
72
Information Retrieval and the Web
Figure 2: BDIV user interface for the query-based texture retrieval.
B. Interactive Content-based Texture Retrieval There are many forms in order to develop an efficient system for content-based image retrieval. We have developed our system based in the PicSOM implementation [Laaksonen et al. 00]. That system uses a tree-structured self-organizing map (TS-SOM [Koikkalainen/Oja 90]) for auto-organizing similar feature vectors (Tamura Descriptors in our case) together in the database, and user-feedback to search the requested texture using these vectors. Under this approach, called relevance feedback, previous human-computer interactions are employed to refine subsequent queries, which iteratively approximate the wishes of the user [Laaksonen et al. 00]. In order to know in which part of the TS-SOM the requested texture is mapped, TEXRET asks the user to select textures, which she consider are similar to the requested one, from a given set of textures. Then, the system shows the user new textures (from the database), which have neighbor positions in the TS-SOM (their corresponding descriptors), respect to the ones selected by the user. The user and TEXRET iterate until the interaction process converges.
73
UPGRADE Vol. III, No. 3, June 2002
C. Interactive Texture Generation The stages of this subsystem are EPA (Evolutionary Parameter Adjustment) and TG (Texture Generation). In the case that the requested texture is not found in the database, i.e. the retrieved textures does not satisfy previous queries or selections, the user can choose the automatic generation of it. The TG module generates the texture using an Autoregressive model [Chellappa/Kashyap 85], whose parameters are calculated from the retrieved textures. Within this framework other generation models, as for example Markov Random Fields, can be used without problems (see explanation in [Parada et al. 01]). As a result of the generation process a set of textures is presented to the user. If she considers that one of the generated textures satisfies her query, the process finishes here. If not, the user enters into an iterative process. The iterative generation of the textures is implemented in the (EPA module). D. Internet Access The Internet access to the TEXRET system is through a WEB site (BDIV), whose user interface for the query-based texture retrieval is shown in figure 2. This user interface allows
© Novática
Information Retrieval and the Web both the local and also the remote (Internet) use of TEXRET. BDIV is based on an Apache server and programmed in PHP. As it can be seen in figure 2, this interface is written in Spanish and for the moment has no public access. We are planning to have an English, public access version by the end of this year. User-TEXRET Interaction TEXRET has many possibilities to succeed in retrieving a texture within a large database. In order to allow that a nonexpert user can employ all these possibilities, a user-TEXRET interaction procedure was designed (see figure 3). Within this procedure, steps 1, 2 and 3 correspond to the query-based texture retrieval process. Steps 4, 5 and 6 correspond to the interactive content-based texture retrieval process. Finally, steps 7, 8 and 9 correspond to the interactive texture generation process. The steps indicated by (*) correspond to actions performed by TEXRET. All the rest correspond to user actions. The texture retrieval procedure starts in step 1. The user enters a description of a texture into the system using a qualitative representation of it. After processing this information, in step 2, the system gives the user a set of retrieved textures. In step 3 the user has to take a decision on the retrieved textures. If the requested texture is one of the retrieved textures, the user exits the system (3.a). If no similar textures were found two things could happen: the user is tired and she exits the system (3.b.1) or the user is not tired and she goes into step 1 again to redefine her query (3.b.2). Finally, if similar textures were found (3.c), the process continues with step 4. In step 4 the user selects similar textures within the retrieved ones. In step 5 this information is processed, the system searches for textures similar to those selected (using the TS-SOM) and gives the user a new set of retrieved textures. In step 6 the user has to take a decision on the retrieved textures. If one of the retrieved textures is the requested texture, then the database is updated (the database quantitative description associated to the requested texture is refined considering the initial textural query), and the user exits the system (6.a). If no similar textures were found (6.b), then the user must decide whether or not to go into the texture generation subsystem. If not, the user exits the system (6.b.1), and in other case the process continues with step 7 (6.b.2). Finally, if similar textures were found (6.c), the user goes into step 4 again. In step 7 the user must select the most similar textures within the generated or retrieved textures. In step 8, the system generates a new set of textures. In step 9 the user has to take a decision on the generated textures. If the user finds the generation was successful, then the database is updated and she exits the system (9.a). If no similar textures were generated two things could happen: the user is tired and she exits the system (9.b.1), or the user is not tired and she wants another texture generation iteration, going to step 8 (9.b.2). In this last case, TEXRET should automatically generate a texture-set seed for the next generation iteration. Finally, if similar textures were found (9.c), the user goes into step 7 again.
1 USER QUERY GENERATION 2 QUERY-BASED TEXTURE RETRIEVAL 3 USER ANALYSIS OF RETRIEVED TEXTURES 3 . a. Texture found
4
© Novática
EXIT
3 . b. No similar textures found 3 . b. 1. User is tired 3 . b. 2. User is not tired
EXIT 1
GO TO GO TO
3 c. Similar textures found 4 4 USER INTERACTIVE TEXTURE SELECTION 5 INTERACTIVE CONTENT-BASED TEXTURE RETRIEVAL (*) 6 . USER ANALYSIS OF RETRIEVED TEXTURES 6 . a. Texture found 6 . a. 1. Database updated (*) 6 . a. 2. EXIT 6 . b. No similar textures found 6 . b. 1. User doesn’t want texture generation 6 . b. 2. User wants texture generation 6 . c. Similar textures found
EXIT GO TO
7
GO TO
4
7 . USER INTERACTIVE TEXTURE SELECTION 8 . INTERACTIVE TEXTURE GENERATION (*) 9 . USER ANALYSIS OF GENERATED TEXTURES 9 . a. Successful Texture Generation 9 . a. 1. Database updated (*) 9 . a. 2. EXIT 9 . b. No similar textures were generated 9 . b. 1. User is tired
EXIT
9 b. 2. User wants more generation 9 . b. 2. 1. System generates a different texture-set seed (*) 9 . b. 2. 1. GO TO 9 . c. Similar textures were generated
GO TO
7
Figure 3: User-TEXRET interaction procedure. The actions performed by TEXRET are indicated by (*).
Query-Based Texture Retrieval As mentioned, the Q2TPT module should translate a human-like or qualitative texture description into a quantitative or mathematical description. The quantitative descriptors or features we use are the Tamura ones (coarseness, directionality, contrast, line-likeness, regularity and roughness). Tamura gave a mathematical procedure to calculate them. A description of our own implementation can be found in [Ruiz-del-Solar 99]. The human-like texture description that TEXRET accepts was determined by a psychological study, described in [Ruizdel-Solar/Jochmann 01]. This study consisted in three surveys in which we asked directly to humans how they describe textures. As a result of this study, we found a set of 12 adjective pairs to be used in our system: “soft / rough”, “fine / coarse”, “natural / artificial”, “clear / dark”, “homogeneous / non homo-
5
UPGRADE Vol. III, No. 3, June 2002
74
Information Retrieval and the Web Tamura Features . . .
Neural Network
100 Textures
Human-like description Figure 4: Association between qualitative and quantitative texture descriptions.
geneous”, “defined / diffuse”, “regular / irregular”, “symmetrical / non symmetrical”, “simple / complex”, “flat / non flat”, “geometrical / non geometrical”, and “with lines / without lines”. It should be mentioned that this study was performed in Chile (Spanish spoken country), using Spanish words. However, each of the used adjectives has a direct translation into English. For this reason we believe that the results obtained in the Spanish language can be directly applied to English. In the Appendix, the original Spanish adjectives we used are listed. To that point a question is still open. How can the Q2TPT module make the translation from qualitative to quantitative description of textures? That is, how can it relate the both mentioned kinds of texture descriptions? To solve this problem we took 100 textures and we obtained both kinds of descriptors from them. Then, we trained a neural network to relate both kinds of descriptors (see description in [Ruiz-del-Solar 99]). This network perform a kind of association between these descriptors (see figure 4). The quantitative description of the 100 textures was directly obtained using the Tamura equations. To obtain the human-like description of the textures was necessary to ask humans again. This was the subject of a last survey, performed in the Internet (see http:// cipres.cec.uchile.cl/~pnavarre/). Interactive Content-Based Texture Retrieval As mentioned TEXRET uses a tree-structured self-organizing map (TS-SOM [Koikkalainen/Oja 90]) for auto-organizing similar feature vectors (Tamura Descriptors in our case) together in the database, and user-feedback to search the requested texture using these vectors. In order to know in which part of the TS-SOM the requested texture is mapped, TEXRET asks the user to select textures, which she consider are similar to the requested one, from a given set of textures. Then, it shows the user new textures (from the database), which have neighbour positions in the TS-SOM (their corresponding descriptors), respect to the ones selected by the user. The user and TEXRET iterate until the interaction process converges. The specific mechanism employed is the following: a so-called selection matrix is updated using the user-feedback (textures selected or not selected), by increasing/decreasing those elements corresponding to the nodes on the TS-SOM network in which the texture images selected/ignored are respectively located. A low-pass filter is then applied on the selection matrix in order to spread the positive/negative responses. The new set of retrieved textures is selected by choosing images whose
6
75
UPGRADE Vol. III, No. 3, June 2002
Figure 5: Example of a two-dimensional TS-SOM structure of 3 levels.
nodes have the highest values in the selection matrix. The hypothesis assumed under this approach is that the Tamura Descriptors together with the similarity measure used in the off-line TS-SOM training (usually Euclidean metric) are consistent with the user-criteria utilized for the selection of similar texture images. If this happened, then the highest values in the selection matrix should move the searching process towards the zone in the TS-SOM map in which the requested texture is located. The TS-SOM training procedure begins with the highest map and it continues with the lower ones. As in any Self-Organizing Map, each node (or neuron) has a weight-vector that represents a certain area of the high-dimensional input space. In addition, the TS-SOM structure allows connections between each node (the parent) and four nodes in the next level (the children), as shown in Figure 5. The TS-SOM is trained using the Tamura descriptors of the database textures. In order to determine the weight-vectors of all nodes at all TS-SOM levels, using the training samples (Tamura descriptors), the TS-SOM algorithm carries out the following iteration procedure: 0) In the first level (that has one node) the weight-vector is the mean of all the training samples. 1) In the other levels, weight-vectors of the previous level are copied into the children of the current level (initialization). 2) The centroid associated to each node is determined as the mean of the closest training samples. The set of closest samples is found based on limited search, that is comparing the distance of each sample to the node with the distance of each sample to a selected set of nodes. This set is composed by the children nodes of the parent (best matching unit) of the previous level and the children of the parent’s neighbours. 3) The new weight-vectors are calculated as the mean of the neighbour centroids, weighted by the number of closest samples (of each node) and a kernel function that gives more importance to the closest neighbours (usually a Gaussian function). 4) If the weight-vectors do not change more than a given value, then the procedure continues with the next TS-SOM level in step 1). If not, then it goes into step 2). In order to use a self-organizing map for a content-based image retrieval we must worry about the complexity involved in the training process. A standard SOM map needs a long time to train huge maps using large databases. TS-SOM was originally intended as a fast implementation of the SOM. In fact, the
© Novática
Information Retrieval and the Web
N Textures
M Parameter Vectors
M Textures The user selects M textures from a N textures set
Variation
Parameter Codification
Texture Analysis
....... .
Mutation, Crossover, or another variation operator Parameter Vector
Output of the Texture Retrieval Process. This image is used in the first iteration of the Texture Synthesis Process
....... .
Population Generation Iteration i > 0
....... . N Parameter Vectors
EPA
Iteration 0
N Parameter Vectors
Texture Synthesis
TG
Figure 6: Block Diagram of the Interactive Texture Synthesis.
TS-SOM algorithm works much faster because of the limited updating in each training level. Also the search space on the underlying SOM levels is restricted to a predefined portion of the map, just below the best-matching unit on the above SOM. Then, the complexity of searches in a TS-SOM structure with n units is O(logpn) with p the number of children per node. This property explains the reasons for using this structure in our content-based retrieval system. Interactive Texture Generation Interactive Texture Generation or Synthesis is a dynamic process, where the user plays an important role in the synthesis of textures. This approach follows the “synthesis-by-analysis” paradigm, which means that the system analyses a texturesample and then it creates a new image. In the here proposed subsystem (see block diagram in Figure 6) a set of generated textures is presented to the user at each iteration. She selects a subset of textures that better achieve her requirements. This information is used to adjust the parameters of the texture-generation model. The subsystem and the user iterate until the required texture is generated. What really happens is that the user performs an interactive adjustment of the texture-generation model parameters by using Interactive Genetic Algorithms [Parada et al. 01] (IGA). IGA can be defined as genetic algorithms that do not use a standard fitness function but a user’s choice as fitness criterion.
7
© Novática
Classical texture synthesis algorithms are not universal because, they cannot be used to generate any kind of texture. If we use an adaptive approach, where the user assists the system in the texture generation, it is probable to get better results (a systems that generates a wider variety of textures). It should to be pointed out that any adaptive method that allows a usersystem interaction could be used. Genetic Algorithms were chosen due to their simplicity and capabilities. As in any genetic algorithm application, the parameters of the model are packed into a chromosome (array), whose size depends on the texture-generation model being used. The texture generation process starts with the result of the retrieval process. The first vector parameters population is constructed using the parameter estimation performed by the Texture Analysis module (see block diagram in figure 6). Then, these parameters are coded into a vector by the Parameter Codification module. Thereafter the subsystem creates N chromosomes using mutation and crossover operations in the Population Generation module. After these operations have been carried out, the Texture Synthesis module builds N texture images using the parameter vectors recently generated. Then, these textures are shown to the user. In that moment, the user can interact in three ways: • Selecting one of the images, if the corresponding texture satisfies her/his query,
UPGRADE Vol. III, No. 3, June 2002
76
Information Retrieval and the Web • Selecting the M textures that best approach to her/his goal for to continue the iterative process, or • Rejecting all the images, in the case that none of the textures look similar to her/his query. The user selection of the textures is the only interactive part in the evolutionary procedure, and replaces the usual fitness selection. By selecting the texture images the corresponding chromosomes are selected as well. From these M parameter vectors, crossover and mutation operators create N new chromosomes. After that, N new texture images are generated (Texture Synthesis module) and presented to the user, who again has the same three options before described to interact with the system. The whole procedure is repeated until the generated textures satisfy the user wishes or after the user stop the generation process. A detailed description of the whole process can be found in [Parada et al. 01]. Conclusions Providing the facility of a user-friendly texture retrieval system comes out to be a very complex task. The TEXRET project corresponds to an effort in this direction. To address the problem of texture retrieval from image databases TEXRET uses a neural network to translate user queries in the form of linguistic texture descriptions into quantitative texture descriptions. The corresponding quantitative textural features (Tamura features) are computed and used to retrieve the texture images from a database. If this process fails, the textures can be interactively retrieved using self-organizing maps. In particular, the PicSOM approach is utilized. The interactive retrieval process allows also an update of the texture database. When the requested texture is found, its quantitative description, the one stored in the database, is refined considering the initial textural query. Finally, if the requested texture can not be found in the database, i.e. both retrieval subsystems fail, the user can choose to interactively generate it. The generation of the requested textures when these are not found in the database is one of the main TEXRET characteristics. In order to satisfy the requirements of the user an interactive genetic algorithm synthesizes missing textures. When the user has interactively found her texture, the database can be expanded and a new pair of data is supplied as well (the userquery and the texture selected by her). From this, even a smallat-the-beginning texture database can grow from the very beginning on.
8
Speech and Signal Processing, Vol. ASSP – 33, No. 1, February 1985, pp. 194 – 203. [Fogel 64] L. J. Fogel: On the organization of the intellect, Ph.D. dissertation, UCLA, USA, 1964. [Haykin 94] S. Haykin: Neural Networks, Macmillan, NY, 1994. [Holland 75] J. H. Holland: Adaptation in Natural and Artificial Systems, Ann Arbor, MI: Univ. Mich. Press, 1975. [Kartalopoulos 96] S. V. Kartalopoulos: Understanding Neural Networks and Fuzzy Logic, IEEE Press, 1996. [Koikkalainen/Oja 90] P. Koikkalainen, E. Oja: “Self-organizing hierarchical feature maps”, Proc. of 1990 Int. Joint Conf. on Neural Networks, Vol. II. IEEE, INNS, San Diego, CA, 1990. [Koza 92] J. R. Koza, Genetic Programming, Cambridge, MA: MIT Press, 1992. [Laaksonen et al. 00] J. Laaksonen, M. Koskela, S. Laakso and E. Oja: “PicSOM – content-based image retrieval with self-organizing maps”, Pattern Recognition Letters, Vol. 21, pp. 1199–1207, 2000. [Parada et al. 01] P. Parada, J. Ruiz-del-Solar, M. Köppen, and W. Plagges: “Interactive Texture Synthesis”, Proc. of the 11th Int. Conf. on Image Analysis and Processing ICIAP 2001, September 2001, pp. 434 – 439. [Rechenberg 73] I. Rechenberg: Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution, Stuttgart, Germany: Frommann-Hozboog, 1973. [Ruiz-del-Solar 99] J.Ruiz-del-Solar: “Neuro-fuzzy System for the Administration of Texture Databases”, Proc. of the XIII Chilean Congress on Electrical Eng., Nov. 1999, pp. 55 – 60 (in Spanish). [Ruiz-del-Solar/Jochmann 01] J. Ruiz-del-Solar, and M. Jochmann, “On Determining Human Description of Textures”. Proc. of the 12th Scandinavian Conf. on Image Analysis – SCIA 2001, Bergen, Norway, June 2001, pp. 288 – 294. [Tamura et al. 78] H. Tamura, S. Mori, and T. Yamawaki: “Textural Features Corresponding to Visual Perception”, IEEE Trans. on System, Man and Cybernetics, Vol. SMC – 8, No. 6, July 1978, pp. 460 – 472. Appendix: Original Adjective Pairs in Spanish Identifier Characteristic 1
homogénea / no homogénea
2
geométrica / no geométrica
3
suave / rugosa
4
fina / no fina
5
con líneas / sin líneas
6
plana / no plana
7
regular / irregular
References
8
simétrica / no simétrica
[Aleksander/Morton 90] I. Aleksander, H. Morton: An Introduction to Neural Computing, London: Chapman & Hall, 1990. [Chellappa/Kashyap 85] R. Chellappa, R. Kashyap: “Texture Synthesis Using 2D-Noncausal Autoregressive Models”, IEEE Trans. on Acoustics,
9
clara / oscura
10
simple / compleja
11
natural / artificial
12
definida / difusa
Acknowledgements This research was supported by the DID (U. de Chile) under Project ENL-2001/11 and by the join “Program of Scientific Cooperation” of CONICYT (Chile) and BMBF (Germany).
77
UPGRADE Vol. III, No. 3, June 2002
© Novática