Category Archives: Lire

Creating Mosaic Images with LIRe

mosaic-example.pngAs already noted in the last post, LireDemo – the Swing based demonstrator of the capabilities of the LIRe library – includes now a mosaic creation option. So what actually is the mosaic? Let’s explain it this way: You have one input image, which should be resented through multiple other images (in the index). The mosaic image tries to look like the input image but replaces segments of the input image with images from the index. The example in above image shows the input image left and the mosaic on the right hand side (click for a larger version). Special thanks got to Lukas Esterle and Manuel Warum, who contributed the mosaic-engine!

So how can one make such an mosaic image: (i) A first step is to select an input image. (ii) Then configure the number of tiles per row and column of the mosaic. (iii) Click “Start” to run the mosaic  engine. (iv) After some processing time, which can be rather long depending on the number of tiles and the size of the input image you will see the result. (v) Save using the button on the bottom right corner.

For visual people I’ve put together a flash tutorial:


LIRe 0.5.4 Released

mosaic.pngIn Lire 0.5.4 some bugs were fixed: The scalable color descriptor (color histogram) was not compliant to the MPEG-7 standard, which is now fixed. The color only search was changed to use the color layout descriptor and a bug in the edge histogram descriptor was hunted down.

Note that you have to re-index your files: Your old index cannot be used with the new version as 2 descriptors have changed. Furthermore all binary files have been compiled with Java 6.0. So if you need a Java 1.5 version you’ll need to recompile yourself (ant build file is included) and include the swing layout class library from NetBeans.

The LireDemo GUI application has also been updated: A new function for creating image mosaics has been introduced and the indexing of digital photos is now faster than ever as only the EXIF thumbnails – if available – are used instead of the whole image.

Go to the LIRe page for download links and further information.

Lire 0.5.2 Released: Auto Color Correlogram

The 0.5.2 release of LIRe brings along a new descriptor, which is kind or “more advanced version of a color histogram”. The  so called color correlogram is based on the probability to find pixels of certain colors in certain neighborhoods. Leaving the theoretical part aside the color correlogram is a new way to retrieve photos with LIRe based on color and color distribution, which might be very interesting for applications heavily depending on colors. Further information on the correlogram might be found at the development Wiki.

Lucene for Java 2.1.0 Released

The release of Lucene 2.1.0 has been announced recently. The new release includes bugfixes, performance improvements, new features and removed some deprecated things. You can find the whole list of changes in the CHANGES.txt file. Some new features of interest are:

  • A new “Match All Documents” query option in QueryParser
  • New methods fro handling updates in IndexWriter
  • Support for leading wildcards in QueryParser

You can find the new release at

Lire 0.5.1 released

Today I released Lire 0.5.1: Since Lire already supports Color histograms (with the MPEG-7 ScalableColor descriptor), functions for searching for colors have been integrated by by adding a searcher for color only search operations, a document builder restricted to color and a document factory for fast and efficient creation of documents describing images with one color only.

Download Lire at the project page.

Lire 0.5 Released feat. Identification of Duplicate Images

The 0.5 release of lire includes one major bug fix as well as a new feature. Lire can now easily be used to identify duplicate images within an index. Sample code and documentation on the new feature can be found in the documentation wiki. The API docs are online available.

The bug, which is now fixed, was responsible for missing results in the result list in the special case of equal distance to the query image. Additionally the Lucene library packaged with Lire has been updated to version 2.0.0.

Download the new release at

Continue reading uses LIRE for Image Search

CorvusAlbusRecently a friend of mine – Roman – put up his all fresh and newly created personal information portal CorvusAlbus featuring Web 2.0 client side encryption, photo and text blogs, excessive use of style sheets and javascript and …. Tada: similarity search for images. He included LIRE to allow users to search for similar photos.

corvusalbus02.pngWhen you browse through the photos (as shown in above screenshot) you will find a small find similar link on the topo right of the browser window. Using this you will get all images visually similar to the current one. One more hint for visiting CorvusAlbus: Don’t go there with MS Internet Explorer, it won’t help you much! Only FireFox, Opera and Konqueror are supported.

Lire 0.3 released

Lire 0.3 updates all internals to Lucene 1.9.1 and brings the new Lucene along in the libraries. The scores are now normalized and semantically equivalent to the score value of Lucene: A score of 1.0 identifies best matches, the lower the score the worse the match.

Two critical bug fixes were made: Deleted documents are now skipped (THX to Roman Kern) and there were some issues with using the same instance of searcher for multiple searches.

Check out the new releases at sourceforge:

Lire 0.2 released

The Lire 0.2 release (Lucene Image REtrieval) offers a lot more performance for indexing and search. Depending on use case and parameters indexing and searching speed has doubled.

Tests have shown that searching in an index containing 3890 images can be done in 64 ms per search. Indexing ca be as fast as 308 ms per image.

Check out the new release at sourceforge:

CBIR Performance Issues resolved

After some hard work and bug tracking I’ve resolved the memory and runtime performance issues of the MPEG-7 EdgeHistogram Descriptor implementation I got from the VizIR project. Now it should be faster than ColorLayout and not much slower than ScalableColor.

But: What does this mean? For Lire indexing and search, for Caliph & Emir indexing and image loading is much faster now. The size of Caliph & Emir and Lire releases will also be reduced as the original VizIR packages were removed. Stay tuned for the next release, where these changes will be integrated.

Continue reading