====== 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 [[http://njames.trevize.net/wiki/projects:galatee|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 [[http://njames.trevize.net/wiki/projects:jmagine|Jmagine]] library, you have some key shortcuts ** * ** for switching SVG objects visibility, **CTRL+mouse wheel** for zooming.
====== Screenshots =======
{{:projects:labelmeworkbench.jpg?768|}}
====== How to use it? ======
- download the LabelMe dataset using the Matlab toolbox http://labelme.csail.mit.edu/instructions.html
- you need:
* ImageMagick
* Berkeley DBXML
- get the LabelMeWorkbench archive
- update the path to the LabelMeWorkbench in the 3 shell scripts LabelMeClearnerNormalizer.sh, LabelMeIndexer.sh, LabelMeBrowser.sh (line 4)
- update the path to the libraries of Berkeley DBXML, the shell variable BDBXML_LIB_PATH in the shell scripts LabelMeIndexer.sh and LabelMeBrowser.sh
- update the LabelMeWorkbench.properties file with your configuration:
* path where you have installed the LabelMe dataset
* paths to where the indices will be created
- update the Galatee.properties file with your configuration:
* path to a temporary directory
- launch LabelMeCleanerNormalizer.sh
- launch LabelMeIndexer.sh
- 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 ======
* an archive with shell scripts [[/docs-repo/public/LabelMeWorkbench/LabelMeWorkbench-0.45-2010.07.08-SNAPSHOT.tar.bz2]]
* online javadoc [[/docs-repo/public/LabelMeWorkbench/doc]]
====== Develoment tracks ======
* the query are case-sentitive.
*