projects:mmgrwr printable version

MMG Mixed Multimedia Graph / RWR Random Walk with Restart

This software is the implementation of the image annotation system proposed in [pan2007cross].

cbiaproto

This implementation was previously based on the following libraries:

Implementations based on these libraries are compiled in the project http://svn.trevize.net/cbiaproto.

cbiaproto-parallelcolt

But with these libraries, when the learning dataset begin to be too important (some thousand of images), it becomes harsh to work with adjacency matrices from graph. Operations on matrices are the example of operations well multithreaded, and using monothreaded operations on large matrices is very costly. Furthermore all computers sold nowadays is provided with at least a dual-core processor.

Thus, the project use now Parallel Colt (thanks to Piotr Wendykier for his amazing library ! ). The same implementation as previously, but with Parallel Colt http://svn.trevize.net/cbiaproto-parallelcolt.

cbiaproto-parallelcolt2

Then, after some works for adding resizable sparse in ParallelColt and thus adding optimisation of the computation of the RWR algorithm: now the development is made in Java, using the Jung library and a bit modified (by me) version of ParallelColt allowing resizable sparse matrices (of ParallelColt, so using the OpenLongDoubleHashMap object) http://svn.trevize.net/cbiaproto-parallelcolt2.

cbiaproto2

The current implementation using my IIDF model and with the resizable sparse matrices http://svn.trevize.net/cbiaproto2.
The IIDF model has been modified and extended for an easy include of new modalities.

This software is made to be used in an automatic image annotation prototype with a large learning image dataset.

The software proceed like this:

  1. create an image index data file (IIDF), containing a list of images referenced by an id, the annotation vocabulary and for each image all the associated keywords.
  2. for each image indexing the image features, i.e. building the index Graph.
  3. build the graph and setting the NearestNeighbor of each image using the index Graph.
  4. extracting the adjacency matrix, saving on disk the adjacency matrix and the normalized adjacency matrix.
  5. for querying: modifying the graph, the matrix, renomalizing the columns that need to be, and process the RWR on the graph.

 
projects/mmgrwr.txt · Last modified: 2011/02/03 17:33 by njames

 © Nicolas James 2009-2011

 Valid XHTML 1.0 Transitional Valid CSS! DokuWiki