Wednesday, July 14, 2010

Compact Shape Portrayal Descriptor (CSPD)

The CSPD is a MPEG-like descriptor that contains conventional contour and region shape features with a wide applicability from any arbitrary shape to document retrieval through word spotting. It is also, compact (it less than 16 bytes) and requires low computational cost. The obtained retrieval results are satisfactory in comparison with other MPEG-7 shapes descriptors. Particular, it has been designed with attention to its size and storage requirements, keeping it as small as possible without limiting its discriminating ability.

More specifically, the Compact Shape Portrayal Descriptor is a forty one dimension vector that it is created from five distinct features that capture satisfactory the shape of an object. Also, the values of the vector are quantized for binary representation in three bits for each so its storage requirements are only 123 bits per shape. As the block diagram portrays, the computation of the CSPD can be easily parallize as each feature can be calculated separately.

The advantage of this descriptor is its balance between its size, its calculation time and its retrieval results. It is suitable for existing retrieval systems that they need to add shape information to their descriptors without compromising theirs storing and computational requirements.

The following journal paper describes at every detail this descriptor:

K. Zagoris, Ε. Kavallieratou and N. Papamarkos, «Image Retrieval Systems Based On Compact Shape Descriptor and Relevance Feedback Information», Journal of Visual Communication and Image Representation , DOI information:10.1016/j.jvcir.2011.03.002,2011.

It was integrated into a shape retrieval system located at http://orpheus.ee.duth.gr/cspd. The system is based on Microsoft .NET 3.5/WPF. The interface was build by the XALM language and for the program logic the C# was used. The new img(Anaktisi) web site (currently in developing) will integrate the CSPD, too.

You can download the CSPD DLL here (mirror). In addition to the CSPD DLL file, an example solution for the Visual Studio 2010 is provided, which it is an extension to the TSRD example solution. You can download the example solution from here (mirror). The following commands are only needed in order to calculate the CSPD of a image:

// Creating the CSPD object
CSPD.CSPD myCSPD = new CSPD.CSPD();

// Load the Image from the pictureBox_word.
// Alternately you can load it from the hard disk.
// In the end you need a Bitmap object that it represents a
// black/white 24bit image.
Bitmap myImage = (Bitmap)pictureBox_word.Image.Clone();

// Get the Descriptor through the CSPD object
double[] myCSPDescriptor = myCSPD.GetCSPDescriptor(myImage);


For more information or questions email me at kzagoris@gmail.com.

Dr Konstantinos Zagoris (http://www.zagoris.gr) received the Diploma in Electrical and Computer Engineering in 2003 from Democritus University of Thrace, Greece and his phD from the same univercity in 2010. His research interests include document image retrieval, color image processing and analysis, document analysis, pattern recognition, databases and operating systems. He is a member of the Technical Chamber of Greece.

No comments: