Content-based image retrieval
), also known as query by image content
) and content-based visual information retrieval
) is the application of computer vision
to the image retrieval
problem, that is, the problem of searching for digital images
in large databases
. (see this survey for a recent scientific overview of the CBIR field)
"Content-based" means that the search will analyze the actual contents of the image. The term 'content' in this context might refer to colors, shapes, textures, or any other information that can be derived from the image itself. Without the ability to examine image content, searches must rely on metadata such as captions or keywords, which may be laborious or expensive to produce.
The term CBIR seems to have originated in 1992, when it was used by T. Kato to describe experiments into automatic retrieval of images from a database, based on the colors and shapes present. Since then, the term has been used to describe the process of retrieving desired images from a large collection on the basis of syntactical image features. The techniques, tools and algorithms that are used originate from fields such as statistics, pattern recognition, signal processing, and computer vision.
There is a growing interest in CBIR because of the limitations inherent in metadata-based systems, as well as the large range of possible uses for efficient image retrieval. Textual information about images can be easily searched using existing technology, but requires humans to personally describe every image in the database. This is impractical for very large databases, or for images that are generated automatically, e.g. from surveillance cameras
. It is also possible to miss images that use different synonyms in their descriptions. Systems based on categorizing images in semantic classes like "cat" as a subclass of "animal" avoid this problem but still face the same scaling issues.
Potential uses for CBIR include:
- Art collections
- Photograph archives
- Retail catalogs
- Medical diagnosis
- Crime prevention
- The military
- Intellectual property
- Architectural and engineering design
- Geographical information and remote sensing systems
CBIR software systems and techniques
Different implementations of CBIR make use of different types of user queries.
Query by example
Query by example
is a query technique that involves providing the CBIR system with an example image that it will then base its search upon. The underlying search algorithms may vary depending on the application, but result images should all share common elements with the provided example.
Options for providing example images to the system include:
- A preexisting image may be supplied by the user or chosen from a random set.
- The user draws a rough approximation of the image they are looking for, for example with blobs of color or general shapes.
This query technique removes the difficulties that can arise when trying to describe images with words.
An example of a system that allows users to draw their search criteria can be found here:
The ideal CBIR system from a user perspective would involve what is referred to as semantic
retrieval, where the user makes a request like "find pictures of dogs" or even "find pictures of Abraham Lincoln". This type of open-ended task is very difficult for computers to perform - pictures of chihuahuas and Great Danes look very different, and Lincoln may not always be facing the camera or in the same pose. Current CBIR systems therefore generally make use of lower-level features like texture, color, and shape, although some systems take advantage of very common higher-level features like faces (see facial recognition system
). Not every CBIR system is generic. Some systems are designed for a specific domain, e.g. shape matching can be used for finding parts inside a CAD
Other query methods
Other query methods include browsing for example images, navigating customized/hierarchical categories, querying by image region (rather than the entire image), querying by multiple example images, querying by visual sketch, querying by direct specification of image features, and multimodal queries (e.g. combining touch, voice, etc.)
CBIR systems can also make use of relevance feedback, where the user progressively refines the search results by marking images in the results as "relevant", "not relevant", or "neutral" to the search query, then repeating the search with the new information.
Content comparison techniques
The sections below describe common methods for extracting content from images so that they can be easily compared. The methods outlined are not specific to any particular application domain.
Retrieving images based on color similarity is achieved by computing a color histogram for each image that identifies the proportion of pixels within an image holding specific values (that humans express as colors). Current research is attempting to segment color proportion by region and by spatial relationship among several color regions.Examining images based on the colors they contain is one of the most widely used techniques because it does not depend on image size or orientation. Color searches will usually involve comparing color histograms
, though this is not the only technique in practice.
Texture measures look for visual patterns in images and how they are spatially defined. Textures are represented by texels
which are then placed into a number of sets, depending on how many textures are detected in the image. These sets not only define the texture, but also where in the image the texture is located.
Texture is a difficult concept to represent. The identification of specific textures in an image is achieved primarily by modeling texture as a two-dimensional gray level variation. The relative brightness of pairs of pixels is computed such that degree of contrast, regularity, coarseness and directionality may be estimated (Tamura, Mori & Yamawaki, 1978). However, the problem is in identifying patterns of co-pixel variation and associating them with particular classes of textures such as ``silky, or ``rough
Shape does not refer to the shape of an image but to the shape of a particular region that is being sought out. Shapes will often be determined first applying segmentation
or edge detection
to an image. In some cases accurate shape detection will require human intervention because methods like segmentation are very difficult to completely automate.
Some software producers are trying to push CBIR based applications into the filtering
and law enforcement markets for the purpose of identifying and censoring images with skin-tones and shapes that could indicate the presence of nudity
, with controversial results.
CBIR software systems
Free & Open Source
- imgSeek - opensource photo collection manager and viewer with content-based search and many other features. License: GPL. Windows, Linux and Mac OS versions available.
- imgSeek server - Server side implementation of a content-based images database. Employs the same wavelet-based algorithms as the opensource imgSeek application.
- GIFT - The GNU Image Finding Tool - an open source query by example system. License: GPL.
- Viper Demo - an online demonstration of the GIFT
- Perl MRML Client - another GIFT demo, using a different client, and combining textual annotation with visual features
- EyeVisionBot - An interface for eye-tracking based image search using the GIFT
- FIRE another open source query by visual example CBIR system. Developed at RWTH Aachen University. FIRE online demo, FIRE is a research system developed with extensibility in mind and can easily be combined with textual information retrieval systems.
- img(Anaktisi) This Web-Solution implements a new family of CBIR descriptors. These descriptors combine in one histogram color and texture information and are suitable for accurately retrieving images.
- Caliph & Emir: Creation and Retrieval of images based on MPEG-7 (GPL).
- img(Rummager): Image retrieval Engine (Freeware Applicaton).
- picporta - A picture management portal for organising pictures based on faces,content and other meta data.Site features automatic face based albums creation and searching.
- TinEye - A CBIR site for finding variations of web images.
- MFIRS Multi-Features Image Retrieval System, Abdol Hamid Pilevar
- RETIN Interactive images retrieval system - CNRS - ETIS Lab., MIDI Team
- PIRIA CBIR tool developed at CEA-LIST, LIC2M (Multimedia Multilingual Knowledge Engineering Laboratory).
- CIRES developed by the University of Texas at Austin.
- Tiltomo : Image Visual Search Engine CBIR (content based image retrieval) system uses advanced proprietary Subject, Color & Texture recognition algorithms to analyze image composition.
- IKONA - Online demonstration - Generic CBIR system - INRIA - IMEDIA
- Cortina - Content Based Image Retrieval for 3 Million Images. From UCSB.
- Behold Image Search - A search engine that uses image content analysis to index 1 million Flickr images with automatically generated tags.
- Retrievr - search and explore in a selection of Flickr images by drawing a rough sketch or uploading an image.
- MUVIS - MUVIS Image and Video Retrieval CBIR System at TUT- Tampere University of Technology.
- WebSEEk, 'A Content-Based Image and Video Search and Catalog Tool for the Web' at Columbia University using structured hierarchies and colour matching to search over 650,000 images and videos on the web.
- Multimedia Analysis and Retrieval Systems at the University of Illinois at Urbana-Champaign, using a combination of user feedback and salient points analysis:
- UIUC CBIR on the WEB is a web-based demo.
- ImageGrouper is a related Java interface to a CBIR system which lets users select a group of images and use it as the basis of a query, or bulk-annotate the group.
- CBIR applied in museum and heritage contexts:
- xcavator - an interactive image search portal integrated with large stock photography collections. Powered by technology developed by CogniSign.
- Piximilar - a demonstration website on 3 million images. Developed by Idée Inc.
- Picitup - an image search engine, which indexes pictures from Yahoo, Flickr and Google's picasa. Includes similarity search, shape, color and visual rank.
- AIRs - Web based demo for coinmedialab's similar image search engine. Content Based Image Retrieval for 4 Million Images.
Relevant research papers
- Query by Image and Video Content: The QBIC System, (Flickner, 1995)
- Finding Naked People (Fleck et al, 1996)
- Virage Video Engine, (Hampapur, 1997)
- Library-based Coding: a Representation for Efficient Video Compression and Retrieval, (Vasconcelos & Lippman, 1997)
- System for Screening Objectionable Images (Wang et al., 1998)
- Content-based Image Retrieval (JISC Technology Applications Programme Report 39) (Eakins & Graham 1999)
- A Probabilistic Architecture for Content-based Image Retrieval, (Vasconcelos & Lippman, 2000)
- A Unifying View of Image Similarity, (Vasconcelos & Lippman, 2000)
- Next Generation Web Searches for Visual Content, (Lew, 2000)
- Image Indexing with Mixture Hierarchies, (Vasconcelos, 2001)
- SIMPLIcity: Semantics-Sensitive Integrated Matching for Picture Libraries (Wang, Li, and Wiederhold, 2001)
- FACERET: An Interactive Face Retrieval System Based on Self-Organizing Maps (Ruiz-del-Solar et al, 2002)
- Automatic Linguistic Indexing of Pictures by a Statistical Modeling Approach (Li and Wang, 2003)
- Video google: A text retrieval approach to object matching in videos (Sivic & Zisserman, 2003)
- Minimum Probability of Error Image Retrieval (Vasconcelos, 2004)
- On the Efficient Evaluation of Probabilistic Similarity Functions for Image Retrieval (Vasconcelos, 2004)
- Extending image retrieval systems with a thesaurus for shapes (Hove, 2004)
- Names and Faces in the News (Berg et al, 2004)
- Cortina: a system for large-scale, content-based web image retrieval (Quack et al, 2004)
- A new perspective on Visual Information Retrieval (Eidenberger 2004)
- Costume: A New Feature for Automatic Video Content Indexing (Jaffre 2005)
- Automatic Face Recognition for Film Character Retrieval in Feature-Length Films (Arandjelovic & Zisserman, 2005)
- Algorithm on which Retrievr (Flickr search) and imgSeek is based on (Jacobs, Finkelstein, Salesin)
- Image Retrieval: Ideas, Influences, and Trends of the New Age (Datta et al., 2007)
- Evaluating Use of Interfaces for Visual Query Specification. (Hove, 2007)
- From Pixels to Semantic Spaces: Advances in Content-Based Image Retrieval (Vasconcelos, 2007)
- Content-based Image Retrieval by Indexing Random Subwindows with Randomized Trees (Maree et al., 2007)
- Real-Time Computerized Annotation of Pictures (Li and Wang, 2008)
- Bird, C.L.; P.J. Elliott, Griffiths (1996). "User interfaces for content-based image retrieval".
- Rui, Yong; Thomas S. Huang, Shih-Fu Chang (1999). "Image Retrieval: Current Techniques, Promising Directions, and Open Issues".
- Datta, Ritendra; Dhiraj Joshi, Jia Li, James Z. Wang (2008). "Image Retrieval: Ideas, Influences, and Trends of the New Age". ACM Computing Surveys 40 1.