Windsurf (Wavelet-based INDexing of ImageS Using Region Fragmentation)



Software library

Windsurf system

Related papers



The Windsurf framework tackles the problem of region-based image retrieval (RBIR), providing efficient techniques for the processing of queries arising in such context. Since the framework is extendible, one can exploit the query processing techniques in Windsurf by opportunely instantiating the relevant parametric portions of the framework. For this, Windsurf provides a Java library including classes that can be appropriately extended to realize the required RBIR model (see this publication for more details).

The following figure illustrates the framework architecture. It is mainly composed by four modules:

  • the Query processor, that is in charge of efficient query resolution;
  • the Feature extractor, dealing with low-level features extraction and image segmentation;
  • persistence of raw-data and features is guaranteed by means of abstract managers (RD-manager and F-manager); concrete implementations of the managers include the use of text files and relational DBMSs;
  • finally, for efficient access to low-level features, a Feature index is built upon request and used for query solving; the framework supports the use of different kinds of indices and includes the implementation of M-tree.

The Query processor provides sequential and efficient index-based algorithms for the resolution of several types of queries (full vs. part-of queries, k-NN vs. Skyline queries, and so on) and is parametric with respect to three basic ingredients:

  • the distance function used to compare image regions;
  • the matching type specifying how regions of the images being compared have to be coupled (either one-to-one or many-to-many);
  • the aggregation function combining distance values between matched regions into an overall image distance value (this does not apply to Skyline queries).

We also note that, although we present query processing algorithms in the context of RBIR, they are general enough to accommodate other document types. The only requirement is that the document can be splitted into sub-documents (e.g., regions for images) and that comparison between documents is performed using the three above described ingredients.

The Feature extractor is orthogonal to the Query processor, in the sense that query processing techniques can be applied to any feature. The Feature extractor is an abstract component of the framework; its concrete implementations are realized by properly extending framework classes dealing with:

  • low-level image representation,
  • image segmentation, and
  • regions features extraction.

The library also includes an instance of the Feature extractor, implementing the Windsurf system; the following figure shows how feature extraction is carried out in such system.