Structured Prediction for Smoothed Labeling Tasks
v1.343
by Daniel Munoz


Description
------------
A library for training Max-Margin Markov Networks with (Robust) Pott's
potentials, over arbitrary-sized cliques, trained with either:
  - vanilla parametric subgradients
  - Projected Euclidean functional subgradients (boosting)

This is a (better) re-implementation of the algorithm presented in:
   Contextual Classification with Functional Max-Margin Markov Networks,
   D. Munoz, J. A. Bagnell, N. Vandapel, M. Hebert,
   CVPR 2009
with some differences:
  - correct gradient calculation over Robust Pott's potentials
  - non-linear capabilities via OpenCV regression trees
    (and easily wrappable to any other regressor you may have)


License
----------
Modified BSD.  I am interested in your usage, please let me know!


Dependencies
------------
submodular_graphcut/
  - Boost Graph Library for maxflow (to maintain BSD license)
  - (Optional) Vladimir Kolmogorov's faster maxflow-v3.1
               (NOTE: this is a *research-only* license)

m3n/
  - submodular_graphcut for inference
  - Eigen (v2) linear algebra library for linear regression
  - (Optional) OpenCV for regression trees, see example.cc code
  - (Optional) gomp library http://gcc.gnu.org/projects/gomp, see example.cc code


Usage
---------
See m3n/examples/example.cc
Run ./example in m3n/examples for provided sample data.


Compiling
----------
Currently uses the CMake build infrastructure, run "cmake ."
Adjust CMakeLists.txt for opencv, gomp or custom path.


Citation
---------
If you use this software in a publication, you should cite:
Learning:
[1] D. Munoz, J. A. Bagnell, N. Vandapel, and M. Hebert,
    "Contextual Classification with Functional Max-Margin Markov Networks", CVPR 2009.
[2] N. Ratliff, D. Silver, and J. A. Bagnell,
    "Learning to Search: Functional Gradient Techniques for Imitation Learning", Autonomous Robots 2009
[3] B. Taskar, C. Guestrin, and D. Koller, "Max-Margin Markov Networks", NIPS 2003

Robust Pott's high-order cliques:
[4] P. Kohli, L. Ladicky, and P. H. S. Torr,
    "Robust Higher Order Potentials for Enforcing Label Consistency", IJCV 2009

Alpha-expansion:
[5] Y. Boykov, O. Veksler, and R. Zabih, "Fast Approximate Energy Minimization via Graph Cuts", PAMI 2001

Efficient maxflow:
[6] Y. Boykov, and V. Kolmogorov,
    "An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision", PAMI 2004
[7] V. Kolmogorov and R. Zabih,  "What Energy Functions can be Minimized via Graph Cuts?", PAMI 2004



Acknowledgements
----------------
- This was mostly written during a 2009 internship at Willow Garage
- Balint Cristian <cristian.balint@gmail.com>, for the CMake files

