Lire Nightly Builds

March 19, 2012 on 5:07 pm | Tags: , , | In Dev, Java, Software | No Comments

Obviously the release cycle of lire is quite a long one. Therefore I just added a cronjob for a nightly build on one of our institute’s servers. The current SVN version of Lire will be downloaded, compiled, packaged and put online at 0:01 am CET everyday, 7 days a week. While there won’t be too much change on an everyday scale, you still can obtain a freshly compiled lire.jar for use in your project.

You’ll find the link in the right column of the page or at the end of this post. Please let me know if there are any errors etc.

Links

Apache Commons Sanselan – Image and Metadata I/O

March 16, 2012 on 9:32 am | Tags: , , , | In Dev, General, Java, Software | No Comments

Apache Commons has a nice sub project called Sanselan. It’s a pure Java image library for reading and writing images from and to PNG, PSD (partially), GIF, BMP, ICO, TGA, JPEG and TIFF. It also supports EXIF, IPTC and XMP metadata formats, read for all, write for some. Examples for reading and writing images, EXIF, guessing image formats etc. are provided in the source package. Currently Sanselan is available in version 0.9.7 and the release date of this version seems to be in 2009. I’m not sure if this counts as abandoned project, but it definitely doesn’t count as alive :)

Dealing with images Java can’t handle out of the box

March 8, 2012 on 10:43 am | Tags: , , , , | In General, Java, Software | No Comments

Frequently asked question in the mailing list is: Lire cannot handle my images, what can I do? In most cases it turns out that Java can’t read those images and therefore the indexing routine can’t create a pixel array from the file. Java is unfortunately limited in it’s ability to handle images. But there are two basic workarounds.

(1) You can convert all images to a format that Java can handle. Just use ImageMagick or some other great tool to batch process yout images and convert them all to RGB color JPEGs. This is a non Java approach and definitely the faster one.

(2) You can circumvent the ImageIO.read(..) method by using ImageJ. In ImageJ you’ve got the ImagePlus class, which supports loading and decoding of various formats and is much more error resilient than the pure Java SDK method. Speed, however, is not increased by this approach. It’s more the other way round.

Find some code example on how to do this in the wiki.

Extracting SURF features – convenience command line utility for Windows

March 2, 2012 on 4:36 pm | Tags: , , | In Dev, General, Multimedia, Software | No Comments

Sometimes you just need a small command line utility to extract some local feature from an image … and you have no time to set up and compile OpenCV right this time. Here’s the solution: I did the task (actually for my students and for me, but still you might use it :) .

The utility is absolutely basic stuff. Just start “extractSurf.exe” on Windows 7, give it an image as first parameter and it will spit out the surf feature descriptors (on stdout) headed by the x and y coordinates and the response value. Source – of course – is also provided … but it’s not magic. It’s all about the convenience of the binary.

Links to the OpenCV wiki on how to compile the stuff are provided in a small README in the source archive.

Links

LireDemo 0.9.1 released

February 28, 2012 on 11:55 am | Tags: , , , | In Dev, General, Java, Software | No Comments

LireDemo 0.9.1 was released earlier today. Changes include several bug fixes, whereas the most critical was the one that prevented the indexing process from indexing a whole directory. Also the an SVN version of Lire has been compiled and added.

Links:

LIRe presentation and poster at ACM MM 2011

November 29, 2011 on 11:18 pm | Tags: , , , | In Conference, Dev, General, Multimedia, Software | No Comments

Just finished my presentation at ACM MM’s open source competition in 2011. Many interested researchers and developers came by to discuss ideas and developments. I’m looking forward to turning many of those idea into code ;)

For those of you interested in the poster I uploaded it here.

I also uploaded the presentation to slideshare.

Searching with Lire in big datasets

October 27, 2011 on 10:17 am | Tags: , , , , | In General, Java, Software | 1 Comment

Having received several complaints about the slowness of Lire when searching in 100k+ documents I took my time to write a small how to to explain approaches for search in big (relatively) data sets.

Lire has the ability to create indexes with lots of different features (descriptors, like RGB color histograms or CEDD). While this opens the opportunity to flexibility at search time as we can select the feature at the time we create a query, the index tends to get bigger and bigger and searcher take longer and longer.

With a data set of 121,379 images the index created with the features selected for default in Lire Demo has a size of 14,3 GB on the disk. In contrast to that an index just storing the CEDD feature along with the image identifier has a size of 29 MB.

Due to the size of the index also linear search tends to get slower. While for the index stripped down to the CEDD feature and the identifier searching takes (on a AMD Quad-Core computer with 4GB RAM and Java 1.7) roughly 0.33 seconds, searching the big index takes 7 minutes and 3 seconds.

So if you want to index and search big data sets (> 100.000 images for instance) I recommend to

  • select which features you need,
  • create the index with a minimum set of features, and
  • eventually split the index per feature and select the index on the fly instead of the feature
  • also you can load the index into RAM

For more on loading the index to RAM and the option to use local features read on in the developer wiki.

Lire publication in the top 10 downloads of ACM SIGMM

October 24, 2011 on 1:42 pm | Tags: , , , | In General, Java, Software | 1 Comment

As to be found in this month’s SIGMM record, which is the electronic SIGMM newsletter, a publication about Lire is in the top 10 downloads of the ACM special interest group on multimedia for September 2011.

I co-authored the paper with Savvas Chatzichristofis:

Mathias Lux, Savvas A. Chatzichristofis. Lire: lucene image retrieval: an extensible java CBIR library. In ACM Multimedia 2008

It’s also the paper I recommend to include in references if Lire is used within a scientific publication, so my thanks also go to the authors citing and therefore pointing to our work!

Lire and Lire Demo v 0.9 released

October 20, 2011 on 12:37 pm | Tags: , , , , , , , | In Dev, General, Java, Multimedia, Software | No Comments

I just released Lire and Lire Demo in version 0.9 on sourceforge.net. Basically it’s the alpha version with additional speed and stability enhancements for bag of visual words (BoVW) indexing. While this has already been possible in earlier versions I re-furbished vocabulary creation (k-means clustering) and indexing to support up to 4 CPU cores. I also integrated a function to add documents to BoVW indexes incrementally. So a list of major changes since Lire 0.8 includes

  • Major speed-up due to change and re-write of indexing strategies for local features
  • Auto color correlation and color histogram features improved
  • Re-ranking filter based on global features and LSA
  • Parallel bag of visual words indexing and search supporting SURF and SIFT including incremental index updates (see also in the wiki)
  • Added functionality to Lire Demo including support for new Lire features and a new result list view

Download and try:

Lire Demo 0.9 alpha 2 just released

August 5, 2011 on 11:41 am | Tags: , , , , , | In Dev, Java, Multimedia, Software | No Comments

Finally I found some time to go through Lire and fix several of the — for me — most annoying bugs. While this is still work in progress I have a preview with the demo uploaded to sf.net. New features are:

  • Auto Color Correlogram and Color Histogram features improved
  • Re-ranking based on different features supported
  • Enhanced results view
  • Much faster indexing (parallel, use -server switch for your JVM)
  • Much faster search (re-write of the searhc code in Lire)
  • New developer menu for faster switching of search features
  • Re-ranking of results based on latent semantic analysis

You can find the updated Lire Demo along with a windows launcher here, Mac and Linux users please run it using “java -jar … ” or double click (if your windows manager supports actions like that :)

The source is — of course — GPL and available in the SVN.

Next Page »

© 2004-2010 by Mathias Lux
>> Contents of this page are licensed under the Creative Commons Attribution-Share Alike 3.0 Austria License license <<