projects:labelmeworkbench printable version

LabelMeWorkbench

The LabelMeWorkbench is an application for browsing and querying the LabelMe database.
I develop the application for GNU/Linux, there is no support for the MS-Windows platform.

LabelMeWorkbench provides:

  • a cleaning of the whole dataset that consists in:
    • all annotation files are parsed, text content is normalized (special characters are removed)
    • visual objects (i.e. polygons) with no name are removed [activated by default]
    • the XML annotation file is re-formatted for an easier reading
    • all images are verified (and reconverted using ImageMagick if they contain errors like “corrupted JPEG data” etc.) [not activated by default]
    • all images can be resized if they are larger than a specific dimension
    • annotation and image filenames are normalized (some of them contains special character, URL-encoding, this can be an issue for some indexation engine)
  • some indices are built (considering annotations that are not marked deleted):
    • a Lucene index with KeywordAnalyzer
    • a Lucene index with WhitespaceAnalyzer
    • with the Lucene indices you can make advanced queries like for instance the following:
      mouse AND NOT computer AND NOT keyboard AND NOT screen
    • a DBXML index, that allows to make complex query using XQuery, for example:
      for $i in collection('LabelMe.dbxml') where $i/annotation/object[name='head' and deleted='0'] and count($i/annotation/object[deleted='0'])>3 
      return concat($i/annotation/folder/text(),'/',$i/annotation/filename/text(),',',string-join(for $j in $i/annotation/object/name/text() return $j, ","))
      
      So, the Berkeley DBXML library and her java binding are needed, you can download it here: http://www.oracle.com/technology/software/products/berkeley-db/index.html (add --enable-java on the build command line for enabling the java binding).
  • a browser for the results of a query on the indices.
    The browser is brought by the Galatee library, you have some key shortcuts CTRL+f for searching, + and - managing the table, CTRL-P for display preferences. Popup menu with mouse button 3 for image infomation, and Galatee plugins (face detection etc.).
  • an image/annotation viewer.
    You can get the image and the annotated polygons in a SVG format.
    The viewer is brought by the Jmagine library, you have some key shortcuts * for switching SVG objects visibility, CTRL+mouse wheel for zooming.

Screenshots

How to use it?

  1. download the LabelMe dataset using the Matlab toolbox http://labelme.csail.mit.edu/instructions.html
  2. you need:
    • ImageMagick
    • Berkeley DBXML
  3. get the LabelMeWorkbench archive
  4. update the path to the LabelMeWorkbench in the 3 shell scripts LabelMeClearnerNormalizer.sh, LabelMeIndexer.sh, LabelMeBrowser.sh (line 4)
  5. update the path to the libraries of Berkeley DBXML, the shell variable BDBXML_LIB_PATH in the shell scripts LabelMeIndexer.sh and LabelMeBrowser.sh
  6. update the LabelMeWorkbench.properties file with your configuration:
    • path where you have installed the LabelMe dataset
    • paths to where the indices will be created
  7. update the Galatee.properties file with your configuration:
    • path to a temporary directory
  8. launch LabelMeCleanerNormalizer.sh
  9. launch LabelMeIndexer.sh
  10. launch LabelMeBrowser.sh

Using the library

The LabelMeWorkbench library can be used for getting LabelMe images annotated by a specific text with the class net.trevize.lucene.InstanceSearcher.

Download

Develoment tracks

  • the query are case-sentitive.
  • in the Lucene index, the field annotation folder is not relative, but the field image folder is relative. The two field must be relative, and the path to the dataset has to be indicated through the Configuration object.
  • add an option for show/unshow deleted objects, and a special label for the nodes relative to deleted objects
 
projects/labelmeworkbench.txt · Last modified: 2011/01/01 14:46 by njames

 © Nicolas James 2009-2011

 Valid XHTML 1.0 Transitional Valid CSS! DokuWiki