libmpopt

Fusion Moves for Graph Matching (ICCV 2021 Publication)

This pages is dedicated to our ICCV 2021 publication “Fusion Moves for Graph Matching”. We try our best to make the results reproducible and keep them available in the future. Therefore we publish all used dataset instances on this site. We also keep a historic iccv2021 branch in our source code repository so that the specific code used in the publication is preserved.

Citation

L. Hutschenreiter, S. Haller, L. Feineis, C. Rother, D. Kainmüller, B. Savchynskyy. “Fusion Moves for Graph Matching”. Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021. [pdf]

BibTeX entry:

@inproceedings{hutschenreiter2021fusion,
  title={Fusion Moves for Graph Matching},
  author={Hutschenreiter, Lisa and Haller, Stefan and Feineis, Lorenz and Rother, Carsten and Kainm{\"u}ller, Dagmar and Savchynskyy, Bogdan},
  booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
  year={2021}
}

An extensive evaluation of our algorithm can be also found in our new graph matching benchmark:

S. Haller, L. Feineis, L. Hutschenreiter, F. Bernard, C. Rother, D. Kainmüller, P. Swoboda, B. Savchynskyy. “A Comparative Study of Graph Matching Algorithms in Computer Vision”. Proceedings of the European Conference on Computer Vision (ECCV), 2022. [pdf]

BibTeX entry:

@inproceedings{haller2022comparative,
    title={A Comparative Study of Graph Matching Algorithms in Computer Vision},
    author={Haller, Stefan and Feineis, Lorenz and Hutschenreiter, Lisa and Bernard, Florian and Rother, Carsten and Kainm\"uller, Dagmar and Swoboda, Paul and Savchynskyy, Bogdan},
    booktitle={Proceedings of the European Conference on Computer Vision},
    year={2022}
}

Source Code

The latest version of the optimizer features an improved primal heuristics. It includes an efficient local search (not described in the ICCV’21 paper), in addition to the fusion moves. This version can be found on the feature/grasp branch in our source code repository on GitHub.

However, we also keep a historic iccv2021 branch to preserve the source code that was used for preparation of our paper.

The eccv2022 branch contains the source code that was used for the preparation of our new graph matching benchmark and the accompanying paper.

Graph Matching Datasets

On this page we also distribute the datasets that have been used in our ICCV 2021 publication.

While we created the C. elegans pairs dataset, we are not the creators of all other datasets in this archive. Please also cite the corresponding original work if you are using these instances. Note that we have processed and modified some instances in order to improve compatibility. Each dataset contains a README where all the changes are mentioned. Below you find a description and URLs to the original files of all datasets.

File format

We use the same data format as the one used in “Feature Correspondence Via Graph Matching: Models and Global Optimization”.

c comment line
p <N0> <N1> <A> <E>     // # points in the left image, # points in the right image, # assignments, # edges
a <a> <i0> <i1> <cost>  // specify assignment
e <a> <b> <cost>        // specify edge

i0 <id> {xi} {yi}       // optional - specify coordinate of a point in the left image
i1 <id> {xi} {yi}       // optional - specify coordinate of a point in the left image
n0 <i> <j>              // optional - specify that points <i> and <j> in the left image are neighbors
n1 <i> <j>              // optional - specify that points <i> and <j> in the right image are neighbors

Overview Datasets

Wide baseline matching (hotel, house) is based on a series of images of the same object from different view angles. We use the same image pairs, landmarks, and cost structure as in “Feature Correspondence Via Graph Matching: Models and Global Optimization” based on the work by “Learning Graph Matching”.

Keypoint matching (car, motor) contains car and motorbike instances from the PASCAL VOC 2007 Challenge with the features and costs from “Unsupervised Learning For Graph Matching”. We preprocessed the models by removing edges with zero cost, thereby reducing graph density substantially.

Large displacement flow (flow) was introduced by “GraphFlow – 6D large displacement scene flow via graph matching” for key point matching on scenes with large displacement flow. We use the keypoints and costs from “A study of Lagrangean decompositions and dual ascent solvers for graph matching”.

OpenGM matching (opengm) is a set of non-rigid point matching problems by “Beyond loose LP-relaxations: Optimizing MRFs by repairing cycles.”, now part of the OpenGM Benchmark.

Worm atlas matching (worms) has the goal to annotate nuclei of C. elegans, a well-known model organism used in developmental biology, by assigning nuclei names from a precomputed atlas of the organism. We use the models from “Active graph matching for automatic joint segmentation and annotation of C. elegans” (data files).

Worm-to-worm matching (pairs), in contrast to the worms dataset, directly matches the cell nuclei of individual C. elegans worms to each other. This alleviates the need to precompute an atlas based on manual annotations. Unary and pairwise costs of the respective graph matching problems are derived by averaging the nucleus-(pair-)specific covariance matrices captured by the atlas over all nuclei. This coarsens the model to a level achievable without manual annotations. For our experiments we randomly chose 16 instances out of the 30 × 29 = 870 non-trivial pairs of worms based on the same data as worms.

Download

Please do not link directly to the files as the URLs are subject to be changed. We try to keep this page itself (permalink) updated and link to the current location of the data files.

Download: iccv2021_fusion_moves_graph_matching.7z (334 MiB, SHA256: 470fabb122f0c200e2fc29559913f09d970318527daa781ebc21d7096b5b53c9)