Giter Site home page Giter Site logo

cuibeibei-1990 / rrwm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jlowenz/rrwm

0.0 0.0 0.0 164 KB

Reweighted Random Walk Matching (RRWM) code repository from http://cv.snu.ac.kr/research/~RRWM/

MATLAB 45.54% C++ 43.92% C 8.07% Shell 0.27% CMake 2.21%

rrwm's Introduction

MATLAB demo code of Reweighted Random Walks Graph Matching of ECCV 2010

Minsu Cho, Jungmin Lee, and Kyoung Mu Lee, 
Reweighted Random Walks for Graph Matching, 
Proc. European Conference on Computer Vision (ECCV), 2010
http://cv.snu.ac.kr/research/~RRWM/

Please cite our work if you find this code useful in your research. 

written by Minsu Cho & Jungmin Lee, 2010, Seoul National University, Korea
http://cv.snu.ac.kr/~minsucho/
http://cv.snu.ac.kr/~jungminlee/


Date: 31/05/2013
Version: 1.22

* Update report
  This code is updated to be easily applied to any affinity matrix of candidate matches. 
  For image matching demo, combine this with some additional codes and data provided in our site.
  
  - 31/05/2013: A small bug in eliminating conflicting elements is fixed. Thanks to Liang XIAO.
  - 28/12/2011: A bug in the density experiment is fixed.
==================================================================================================


1. Overview

do_GraphMatchingTest.m   : main script for graph matching demo
do_PointMatchingTest.m   : main script for point matching demo

Current test parameters are set to deformation-varing experiments.
For other tests, modify 'setGraphMatching.m' or 'setPointMatching.m' in the folder 'utils'.
Refer to our paper for the settings in our experiments. 
Performance of each algorithm is represented in terms of accuracy, score,and time.
   Accuracy: the ratio between # of true positive matches and # of groundtruth matches.
   Score: the sum of all affinity values related to the matching result.               


compile.m             : script for c-mex compile

If c-mex functions are incompatible, re-comple c-mex functions by running 'compile.m'

setMethods.m        : script for settings of algorithms being tested
                      the list of methods and their options for visualization

RRWM.m              : Matlab function of Reweighted Random Walk Graph Matching 

If you want to add your own algorithm for comparison, three steps are required:
1. Create 'YOUR_ALGORITHM_NAME' folder in 'Methods' folder. Then put your code in it.
2. Add the folder in the script 'setPath.m' so that your method can be called.
3. Modify 'setMethods.m' for your method. Note that you should follow the 'methods' structure. 

If you find this code useful in your research, please cite our paper
Minsu Cho, Jungmin Lee, and Kyoung Mu Lee, Reweighted Random Walks for Graph Matching, 
Proc. European Conference on Computer Vision (ECCV), 2010


2. References

This code includes our implementation of spectral matching for comparison:
M. Leordeanu and M. Hebert. "A Spectral Technique for Correspondence Problems Using Pairwise Constraints", ICCV 2005. 

We utilized some functions of the following public implementations;

bistocastic normalization functions of Timothee Cour's: 
http://www.seas.upenn.edu/~timothee/software/graph_matching/graph_matching.html

Hungarian algorithm of Markus Buehren's for final discretization (optional):
http://www.markusbuehren.de/

rrwm's People

Contributors

jlowenz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.