Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

O'Reilly logo
Visual Information Retrieval using Java and LIRE

Book Description

Visual information retrieval (VIR) is an active and vibrant research area, which attempts at providing means for organizing, indexing, annotating, and retrieving visual information (images and videos) from large, unstructured repositories. The goal of VIR is to retrieve matches ranked by their relevance to a given query, which is often expressed as an example image and/or a series of keywords. During its early years (1995-2000), the research efforts were dominated by content-based approaches contributed primarily by the image and video processing community. During the past decade, it was widely recognized that the challenges imposed by the lack of coincidence between an image's visual contents and its semantic interpretation, also known as semantic gap, required a clever use of textual metadata (in addition to information extracted from the image's pixel contents) to make image and video retrieval solutions efficient and effective. The need to bridge (or at least narrow) the semantic gap has been one of the driving forces behind current VIR research. Additionally, other related research problems and market opportunities have started to emerge, offering a broad range of exciting problems for computer scientists and engineers to work on. In this introductory book, we focus on a subset of VIR problems where the media consists of images, and the indexing and retrieval methods are based on the pixel contents of those images -- an approach known as content-based image retrieval (CBIR). We present an implementation-oriented overview of CBIR concepts, techniques, algorithms, and figures of merit. Most chapters are supported by examples written in Java, using Lucene (an open-source Java-based indexing and search implementation) and LIRE (Lucene Image REtrieval), an open-source Java-based library for CBIR.

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Dedication
  5. Contents
  6. Preface
  7. Acknowledgments
  8. 1 Introduction
    1. 1.1 Design Challenges
    2. 1.2 Getting Started with LIRE
      1. 1.2.1 Java Setup
      2. 1.2.2 Downloading, Unpacking, and Running LireDemo
      3. 1.2.3 Indexing an Image Collection
      4. 1.2.4 Browsing the Index, Selecting an Image, and Performing a Search
  9. 2 Information Retrieval: Selected Concepts and Techniques
    1. 2.1 Basic Concepts and Document Representation
      1. 2.1.1 Vector Retrieval Model
    2. 2.2 Retrieval Evaluation
    3. 2.3 Text Information Retrieval with Lucene
  10. 3 Visual Features
    1. 3.1 Digital Imaging in a Nutshell
      1. 3.1.1 Digital Imaging in Java
    2. 3.2 Global Features
      1. 3.2.1 Color Features
      2. 3.2.2 Texture Features
      3. 3.2.3 Combining Color and Texture
    3. 3.3 Local Features
      1. 3.3.1 Scale-Invariant Feature Transform (SIFT)
      2. 3.3.2 Speeded-Up Robust Features (SURF)
    4. 3.4 Metrics, Normalization, and Distance Functions
    5. 3.5 Evaluation of Visual Features
      1. 3.5.1 Figures of Merit
      2. 3.5.2 Datasets
      3. 3.5.3 Challenges
    6. 3.6 Feature Extraction Using LIRE
  11. 4 Indexing Visual Features
    1. 4.1 Indexing: The Naïve Approach
      1. 4.1.1 Basic Indexing and Linear Search in LIRE
    2. 4.2 Nearest-neighbor Search
    3. 4.3 Hashing
      1. 4.3.1 Locality Sensitive Hashing
      2. 4.3.2 Metric Spaces Approximate Indexing
    4. 4.4 Bag of Visual Words
      1. 4.4.1 Bag of Visual Words using LIRE
  12. 5 LIRE: An Extensible Java CBIR Library
    1. 5.1 Architecture and Low-Level Features
    2. 5.2 Indexing and Searching
    3. 5.3 Advanced Features
      1. 5.3.1 Bag of Visual Words
      2. 5.3.2 Result Re-Ranking and Filtering
    4. 5.4 How to Apply LIRE
      1. 5.4.1 Scenario Investigation
      2. 5.4.2 Benchmarking
      3. 5.4.3 Deployment Tests and Performance Optimization
  13. 6 Concluding Remarks
    1. 6.1 Research Directions, Challenges, and Opportunities
    2. 6.2 Resources
  14. Bibliography
  15. Authors’ Biographies