-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathREADME.TXT
63 lines (39 loc) · 2.14 KB
/
README.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
This software implements the MATLAB mex-wrapper for QPBO energy minimization algorithm by V.Kolmogorov:
http://pub.ist.ac.at/~vnk/software/QPBO-v1.32.src.zip
Anton Osokin, (firstname.lastname@gmail.com)
24.09.2014
https://github.com/aosokin/qpboMex
Please cite the following paper in any resulting publication:
Vladimir Kolmogorov and Cartsen Rother.
Minimizing non-submodular functions with graph cuts - a review.
In IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 29(7):1274-1279, July 2007
PACKAGE
-----------------------------
./qpboMex.cpp - the C++ code of the wrapper
./build_qpboMex.m - function to build the wrapper
./qpboMex.m - the description of the implemented function
./example_qpboMex.m - the example of usage
./QPBO-v1.32.src - C++ code by Vladimir Kolmogorov (the code is used as is)
http://pub.ist.ac.at/~vnk/software/QPBO-v1.32.src.zip
./qpboMex.mexw64 - Win x64 binary file for the mex-function compiled using MATLAB R2014a + MSVC 2012
./qpboMex.mexa64 - Linux x64 binary file for the mex-function compiled using MATLAB R2012a + gcc-4.4
USING THE CODE
-----------------------------
0) Install MATLAB and one of the supported compilers
1) Run build_qpboMex.m
2) Run example_qpboMex.m to check if the code works
The code was tested under
- Win7-x64 using MATLAB R2014a and MSVC 2012;
- ubuntu-12.04-x64 using MATLAB R2012a and gcc-4.4
OTHER PACKAGES
-----------------------------
* BK max-flow/min-cut algorithm:
https://github.com/aosokin/graphCutMex_BoykovKolmogorov
BK-algorithm would be the most standard one to solve the graph cut problems.
* BK max-flow/min-cut algorithm with interface supporting dynamic graph cuts:
https://github.com/aosokin/graphCutDynamicMex_BoykovKolmogorov
If you need to solve many similar graph cut problems in a row consider using dynamic graph cuts.
* IBFS max-flow/min-cut algorithm: https://github.com/aosokin/graphCutMex_IBFS
The IBFS algorithm has polynomial time runtime guarantees. The BK does not.
In my experience BK works faster for graphs built for standard 4(8)-connected grid MRFs.
If the graph becomes more complicated (especially hierarchical) consider trying IBFS instead.