GMMC is a generalized method for geometric graph matching. It uses descriptors to calculate compatibilities between curves and a search algorithm inspired on the Monte Carlo tree search to group compatible curves to obtain a match between graphs.

It is implemented in C++ with a wrapper on MATLAB using mex. It uses the Eigen library for matrix operations.

Source code

The code is available at our Faculty's repository. To clone it, use the command

git clone

To compile the mex file, use the compile_gmmc_mex.m script. The code uses has the following dependencies:

Eigen library

In compile_gmmc_mex.m, change the variable eigen_dir to provide the path of Eigen. Then run the script to compile the mex function. An example of how to run the function is provided in the script run_gmmc_mex.m.

Recommended literature

Geometrical Graph Matching using Monte Carlo Tree Search

M.A. Pinheiro, J.
IEEE International Conference in Image Processing, 2015

A survey of Monte Carlo tree search methods

C. Browne, E.J. Powley, D. Whitehouse, S.M. Lucas, P.I. Cowling, P. Rohlfshagen, S. Tavener, D. Perez, S. Samothrakis, S. Colton
IEEE Trans. on Computational Intelligence and AI in Games, 2012

Some results

In our experiments, we found that GMMC is able to match graphs independently of their initial disposition, is more robust to deformation, noise and missing data, and faster than any method we experimented against.