Lire 0.7 is a major release fixing a lot of bugs and introducing several new features including new descriptor, a simplified way to use descriptors by introducing new generic searchers and indexers as well as an generalized interface for image descriptors. There are also several improvements in indexing and search speed (especially in autocolorcorrelogram). Furthermore retrieval performance was optimized based on the Wang 1000 data set. If you use Lire 0.7 to update an existing version, please make sure that your indices are created newly from scratch. All new features have also found their way into LireDemo, which now also supports multi-threaded indexing.
Thanks for comments, code and general comments go again to Savvas Chatzichristofis, Rodrigo Carvalho Rezende, Marko Keuschnig, Christian Penz, Oge Marques, Anna-Maria Pasterk and Christoph Kofler.
I recently submitted Lire and LireDemo to the ACM Multimedia Open Source Software Competition 2008. As I’d really like to go there I hope it will judged as relevant contribution and a demo at the ACM Multimedia is requested. Note that I’ve integrated a new feature in LireDemo for the ACM Multimedia submission: Now its easier to test Lire by just indexing random photos from Flickr. By just hitting the “Index” button without giving a directory of images the download will start automatically.
The new release contains three additional features: (i) Tamura texture features, (ii) Color and Edge Directivity Descriptor (CEDD) and (iii) a configurable color histogram implementation. While the last one was integrated for comparison only the other two provide additional improvements, especially the CEDD feature. Furthermore a FastMap implementation was included in the release for optimization of the indexing process in a later release. Also some bugs were fixed in the MPEG-7 EdgeHistogram descriptor provided in the cbir-library jar file and in color-only search. Note that due to the increased number of features the extensive document builder, which extracts all available features, needs significantly more time for extraction than in the last release.
Due to requests I took some time and built a Java 1.5 version instead of the 1.6 versions. A simple compile with 1.5 wouldn’t help as I use the swing layout classes of NetBeans (now integrated in Java 1.6), so imports have to be re-adjusted and the library has to be added. Furthermore I created an explicit build target in Caliph to create a 1.5 version of the cbir jar file. This snapshot works fine with MacOS (as far as I’ve heard) and on Windows.
While it has been quiet for some time around Lire, recently development has been pushed forward. I switched to SVN for development and integrated simple RGB color histograms as a feature for comparison with the MPEG-7 features. Savvas Chatzichristofis (or on facebook, his image search engine) contributed the CEDD feature, which works great! Marko Keuschnig and Christian Penz contributed implementations for the Gabor texture feature and the Tamura texture features, where the latter is already in the SVN. I also integrated the new features in LireDemo. A new version – already compiled – can be downloaded here: liredemo-svn-2008-05-29-jdk16.tar.bz2 Note that Java 1.6 is required.
Today I did something I should have done a long time ago: I switched (within sf.net) from cvs to subversion. Now login, update and commit are much faster and development gets easier. If you are interested you can browse the repository here: http://caliph-emir.svn.sourceforge.net/viewvc/caliph-emir/. If you want to check out and get the code, then you can find the documentation on sf.net.
As 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.