Update of "FLCC"
Not logged in

Artifact ID: 3dfa3e39d721999d432c2024af59acf9ea7f6e46
Page Name:FLCC
Date: 2011-07-15 15:38:08
Original User: gpapamak
Parent: e8fa767de397fb66297e112a8babe7f03753f1b3

FLCC: Fast computation of Local Correlation Coefficients

Quick Links

The FLCC Library (which stands for Fast Local Correlation Coefficients) is a programming tool that provides an interface for the fast computation of two fundamental image processing operations: the distribution of Correlation Coefficients with Local Normalization (also known as LCCs) and the sum of Convolution, between an image (or a stream of images) and an image template. Generally speaking, LCCs and Convolution are basic image-based information processing steps that find numerous applications in a wide spectrum of areas concerning image processing, such as template or pattern matching, image registration, motion detection, computer vision and many more. However, these operations (especially LCCs) have always been considered of high arithmetic complexity and time consuming, particularly for real-time applications, thus making their usage rather troublesome.

This library intends to overcome this problem and provide users with a simple yet powerful interface for carrying out the computations under consideration. Especially in the case of LCCs, many implementations so far have tried to reduce computation time by sacrificing the local normalization characteristic of the LCCs or approximating the result in other lossy ways. This library, though, manages to reduce computation time to a minimum, yet without making any compromises on the quality of the result. The user can be sure that the output result is accurately the “real” LCC distribution in any case, as exactly it is defined formally.

The performance benefit is achieved by two routes. On the one hand, the library implements a set of optimized fast algorithms for computing LCCs or convolutions, selecting the most appropriate for each case, depending on the size of the input images and templates and the capability of the machine it runs on. On the other hand, it fully exploits current top-notch architectures, namely multicore CPU processors and manycore GPU devices. In other words, the library takes advantage of the system's computational resources, executing in parallel on multiple CPU threads or having the work load carried out by the powerful GPU devices of the system (according to what it deems to be faster).

The FLCC Library Version 1.2, although being fully operational, is still in a stage of infancy and more features are sure to be added in the future. For now, FLCC Library Version 1.2 features:

Current version 1.2 compiles under Linux or Windows (via Cygwin).