COMPUTER VISION · IMAGE RETRIEVAL

Compact Composite Descriptors.

Open implementations, reference material and practical guidance for a family of compact visual descriptors developed for content-based image retrieval.

OVERVIEW

A compact vocabulary for visual content.

Traditional content-based image retrieval methods range from global and local features to deep learning approaches. Global descriptors represent an entire image with a single feature vector, offering low computational cost and strong performance in retrieval tasks suited to their visual assumptions.

Compact Composite Descriptors, or CCDs, are low-level features that combine complementary visual information in compact representations. Their localised versions are known as SIMPLE Descriptors.

NATURAL COLOR IMAGES

CEDD · CoMo · FCTH

Color and texture information for real-world color images.

Explore descriptors →

GRAYSCALE · MEDICAL

BTDH

Brightness, texture and spatial distribution for grayscale and radiology images.

Explore descriptor →

GENERATED IMAGES

SpCD

Spatial color distribution for computer graphics, color sketches and related imagery.

View availability →

Compact Composite Descriptors book

REFERENCE BOOK · 2011

Compact Composite Descriptors for Content-Based Image Retrieval.

Basics, Concepts, Tools · ISBN-10: 363937391X

The book introduces the principles and tools of content-based image description and retrieval, covering preprocessing, feature extraction, similarity matching and evaluation. It places particular emphasis on compact representations of color, texture and spatial distribution, together with fusion methods, standards, retrieval systems and open-source supplementary software.

Download the preface

01 · NATURAL COLOR IMAGES

CEDD, CoMo and FCTH.

These descriptors share a common 24-color representation produced by two fuzzy systems. Their principal difference lies in the method used to capture texture information. The resulting histograms provide compact global descriptions suitable for indexing and retrieval.

CEDD

Color and Edge Directivity Descriptor

Uses a fuzzy version of the five MPEG-7 Edge Histogram Descriptor filters to form six texture areas.

Storage: less than 54 bytes per image

CoMo

Color Moments

Uses Hu moments to capture texture information and forms six texture areas.

Storage: less than 54 bytes per image

FCTH

Fuzzy Color and Texture Histogram

Uses the high-frequency bands of the Haar wavelet transform in a fuzzy system to form eight texture areas.

Storage: 72 bytes per image

How the descriptors are formed

Each descriptor consists of n texture areas. Every texture area is divided into 24 sub-regions, with each sub-region representing one color in the shared custom palette.

When an image block enters the extraction process, the color unit assigns it to a palette value m, where m is in the range 0 to 23. The texture unit assigns it to a texture area a. The block contributes to bin a × 24 + m. After all image blocks have been processed, the histogram is normalised to the interval 0 to 1 and quantised using three bits per bin.

Benchmark performance

CEDD, CoMo and FCTH have been evaluated on widely used image-retrieval benchmarks. The figure below reports mean average precision for their global forms. Results for the localised CCDs are available on the SIMPLE Descriptors page.

Mean average precision results for global Compact Composite Descriptors

CODE · IMPLEMENTATIONS · TOOLS

Open implementations.

The archive includes implementations in C#, Java, MATLAB and CUDA, together with examples and supporting material. Some packages target legacy development environments, so compatibility with current toolchains may vary.

C# implementation notes

Add the appropriate DLL as a reference in the C# project and call the descriptor classes as shown in the legacy example below.

Legacy C# usage example for CEDD and FCTH

Example: searching more than one million images with the CEDD feature

MATLAB implementation

The main MATLAB function extracts the CEDD descriptor from an RGB image.

function [ DescriptorVector ] = CEDD(ImageRGB)

Download MATLAB version 1.0

Joint Composite Descriptor, JCD

CEDD and FCTH sometimes produce stronger results on different queries. Because both descriptors use color information from the same fuzzy system, their texture areas can be combined. The resulting representation is called the Joint Composite Descriptor.

Legacy C# usage example for the Joint Composite Descriptor
Download JCD source code

Descriptor comparison

The legacy implementation compares descriptor vectors using the Tanimoto coefficient.

Tanimoto coefficient implementation for comparing descriptors
Download retrieval example

Java version through LIRE

Java implementations of CEDD, CoMo, FCTH and JCD are available through LIRE, an open-source library for content-based image retrieval. LIRE supports complete indexing and search workflows as well as direct access to image features, and can be extended for research, teaching and application development.

Rotation invariance of CoMo

The figure reports mean average precision for CoMo and CEDD across benchmark databases under different rotations.

CoMo and CEDD performance under image rotation

CUDA-based implementation of CEDD

This legacy implementation targets the NVIDIA CUDA 4.2 environment. The CUDA runtime DLL must be placed in the same directory as the application. With no command-line argument, the application extracts CEDD descriptors from BMP images in its current directory. Supplying a full directory path processes BMP images from that location.

The archived CUDA toolkit is available from NVIDIA.


Average CUDA indexing time for 1000 images

Average indexing time for 1,000 images

02 · GRAYSCALE AND RADIOLOGY IMAGES

Brightness and Texture Directionality Histogram.

BTDH is a fuzzy rule-based scalable composite descriptor designed for indexing and retrieving radiology and other grayscale images. It combines brightness, texture and the spatial distribution of both characteristics in a compact one-dimensional vector.

Brightness values are classified into clusters using the Gustafson-Kessel fuzzy classifier. Texture information is derived from the Directionality histogram of the Tamura features, while spatial distribution can be represented through fractal scanning with the Hilbert Curve or the Z-Grid method. The descriptor size can adapt to the storage capacity of the target application.

Evaluation approaches and results

Seven approaches were evaluated. In the original experiments, approach E5 offered the strongest relationship between descriptor size and retrieval performance.

BTDH evaluation approaches
Download retrieval results

Downloads and implementation

Add the DLL as a reference in the C# project and call the BTDH class as shown below.

Legacy C# usage example for BTDH

03 · ARTIFICIALLY GENERATED IMAGES

Spatial Color Distribution Descriptor.

SpCD was designed to describe the spatial distribution of color in artificially generated images, including computer graphics and color sketches.

IMPLEMENTATION NOT CURRENTLY AVAILABLE