OpenGM  2.3.x
Discrete Graphical Model Library
Classes | Enumerations | Functions
Inference Algorithms

Classes

struct  opengm::AlphaBetaSwap< GM, INF >::Parameter
 
class  opengm::AlphaBetaSwap< GM, INF >
 Alpha-Beta-Swap Algorithm. More...
 
struct  opengm::AlphaExpansion< GM, INF >::Parameter
 
class  opengm::AlphaExpansion< GM, INF >
 Alpha-Expansion Algorithm. More...
 
struct  opengm::AlphaExpansionFusion< GM, ACC >::Parameter
 
class  opengm::AlphaExpansionFusion< GM, ACC >
 Alpha-Expansion-Fusion Algorithm uses the code of Alexander Fix to reduce the higer order moves to binary pairwise problems which are solved by QPBO as described in Alexander Fix, Artinan Gruber, Endre Boros, Ramin Zabih: A Graph Cut Algorithm for Higher Order Markov Random Fields, ICCV 2011. More...
 
struct  opengm::AStar< GM, ACC >::Parameter
 
class  opengm::AStar< GM, ACC >
 A star search algorithm. More...
 
class  opengm::PrimalLPBound< GM, ACC >
 [class primallpbound] PrimalLPBound - estimating primal local polytope bound and feasible primal solution for the local polytope relaxation of the MRF energy minimization problem Based on the paper: B. Savchynskyy, S. Schmidt Getting Feasible Variable Estimates From Infeasible Ones: MRF Local Polytope Study. arXiv:1210.4081 Submitted Oct. 2012 More...
 
class  opengm::Bruteforce< GM, ACC >
 Brute force inference algorithm. More...
 
class  opengm::CombiLP< GM, ACC, LPSOLVER >
 CombiLP

Savchynskyy, B. and Kappes, J. H. and Swoboda, P. and Schnoerr, C.: "Global MAP-Optimality by Shrinking the Combinatorial Search Area with Convex Relaxation". In NIPS, 2013. More...
 
class  opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >::Parameter
 
class  opengm::DualDecompositionSubGradient< GM, INF, DUALBLOCK >
 Dual-Decomposition-Subgradient

Inference based on dual decomposition using sub-gradient descent
Reference:
Kappes, J. H. and Savchynskyy, B. and Schnoerr, C.: "A Bundle Approach To Efficient MAP-Inference by Lagrangian Relaxation". In CVPR 2012, 2012. More...
 
struct  opengm::DynamicProgramming< GM, ACC >::Parameter
 
class  opengm::DynamicProgramming< GM, ACC >
 DynamicProgramming. More...
 
struct  opengm::external::AD3Inf< GM, ACC >::Parameter
 
class  opengm::external::AD3Inf< GM, ACC >
 AD3
. More...
 
struct  opengm::external::DAOOPT< GM >::Parameter
 Parameter inherits from daoopt ProgramOptions. More...
 
class  opengm::external::DAOOPT< GM >
 DAOOPT DAOOPT inference algorithm class. More...
 
struct  opengm::external::FastPD< GM >::Parameter
 Parameter. More...
 
class  opengm::external::FastPD< GM >
 FastPD FastPD inference algorithm class. More...
 
struct  opengm::external::GCOLIB< GM >::Parameter
 Parameter. More...
 
class  opengm::external::GCOLIB< GM >
 GCOLIB GCOLIB inference algorithm class. More...
 
struct  opengm::external::GRANTE< GM >::Parameter
 Parameter. More...
 
struct  opengm::external::GRANTE< GM >::InsertFunctor< T, OBJECT >
 
class  opengm::external::GRANTE< GM >
 GRANTE GRANTE inference algorithm class. More...
 
struct  opengm::external::libdai::MeanField< GM, ACC >::Parameter
 
class  opengm::external::libdai::MeanField< GM, ACC >
 Mean Field :
[?]. More...
 
struct  opengm::external::libdai::TreeExpectationPropagation< GM, ACC >::Parameter
 
class  opengm::external::libdai::TreeExpectationPropagation< GM, ACC >
 Tree Expectation Propagation :
[?]. More...
 
struct  opengm::external::libdai::TreeReweightedBp< GM, ACC >::Parameter
 
class  opengm::external::libdai::TreeReweightedBp< GM, ACC >
 tree reweighted belief propagation :
[?] More...
 
struct  opengm::external::MPLP< GM >::Parameter
 
class  opengm::external::MPLP< GM >
 MPLP MPLP inference algorithm class. More...
 
struct  opengm::external::MRFLIB< GM >::Parameter
 Parameter. More...
 
class  opengm::external::MRFLIB< GM >
 MRFLIB MRFLIB inference algorithm class. More...
 
struct  opengm::external::QPBO< GM >::Parameter
 Parameter for opengm::external::QPBO. More...
 
class  opengm::external::QPBO< GM >
 QPBO Algorithm. More...
 
struct  opengm::external::TRWS< GM >::Parameter
 Parameter. More...
 
class  opengm::external::TRWS< GM >
 message passing (BPS, TRWS):
[?] More...
 
class  opengm::GibbsMarginalVisitor< GIBBS >
 Visitor for the Gibbs sampler to compute arbitrary marginal probabilities. More...
 
struct  opengm::GraphCut< GM, ACC, MINSTCUT >::Parameter
 
class  opengm::GraphCut< GM, ACC, MINSTCUT >
 A framework for min st-cut algorithms. More...
 
struct  opengm::GreedyGremlin< GM, ACC >::Parameter
 
class  opengm::GreedyGremlin< GM, ACC >
 GREEDY GREMLIN. More...
 
class  opengm::HQPBO< GM, ACC >
 HQPBO Algorithm

. More...
 
class  opengm::ICM< GM, ACC >::Parameter
 
class  opengm::ICM< GM, ACC >
 Iterated Conditional Modes Algorithm

J. E. Besag, "On the Statistical Analysis of Dirty Pictures", Journal of the Royal Statistical Society, Series B 48(3):259-302, 1986. More...
 
struct  opengm::InfAndFlip< GM, ACC, INF >::Parameter
 
class  opengm::InfAndFlip< GM, ACC, INF >
 Inference and Flip

. More...
 
struct  opengm::LazyFlipper< GM, ACC >::Parameter
 
class  opengm::LazyFlipper< GM, ACC >
 A generalization of ICM

B. Andres, J. H. Kappes, U. Koethe and Hamprecht F. A., The Lazy Flipper: MAP Inference in Higher-Order Graphical Models by Depth-limited Exhaustive Search, Technical Report, 2010, http://arxiv.org/abs/1009.4102. More...
 
class  opengm::LOC< GM, ACC >::Parameter
 
class  opengm::LOC< GM, ACC >
 LOC Algorithm

K. Jung, P. Kohli and D. Shah, "Local Rules for Global MAP: When Do They Work?", NIPS 2009. More...
 
class  opengm::LPCplex< GM, ACC >::Parameter
 
class  opengm::LPCplex< GM, ACC >
 Optimization by Linear Programming (LP) or Integer LP using IBM ILOG CPLEX

http://www.ilog.com/products/cplex/. More...
 
class  opengm::LPGurobi< GM, ACC >::Parameter
 
class  opengm::LPGurobi< GM, ACC >
 Optimization by Linear Programming (LP) or Integer LP using Guroi

http://www.gurobi.com. More...
 
struct  opengm::LSA_TR_WeightedEdge
 Local Submodular Approximation with Trust Region regularization

. More...
 
class  opengm::MQPBO< GM, ACC >::Parameter
 
class  opengm::MQPBO< GM, ACC >
 [class mqpbo] Multilabel QPBO (MQPBO) Implements the algorithms described in i) Ivan Kovtun: Partial Optimal Labeling Search for a NP-Hard Subclass of (max, +) Problems. DAGM-Symposium 2003 (part. opt. for potts) ii) P. Kohli, A. Shekhovtsov, C. Rother, V. Kolmogorov, and P. Torr: On partial optimality in multi-label MRFs, ICML 2008 (MQPBO) iii) P. Swoboda, B. Savchynskyy, J.H. Kappes, and C. Schnörr : Partial Optimality via Iterative Pruning for the Potts Model, SSVM 2013 (MQPBO with permutation sampling) More...
 
struct  opengm::ParamHeper
 Multicut Algorithm

[1] J. Kappes, M. Speth, B. Andres, G. Reinelt and C. Schnoerr, "Globally Optimal Image Partitioning by Multicuts", EMMCVPR 2011
[2] J. Kappes, M. Speth, G. Reinelt and C. Schnoerr, "Higher-order Segmentation via Multicuts", Technical Report (http://ipa.iwr.uni-heidelberg.de/ipabib/Papers/kappes-2013-multicut.pdf)
. More...
 
struct  opengm::PartitionMove< GM, ACC >::Parameter
 
class  opengm::PartitionMove< GM, ACC >
 Partition Move

Currently Partition Move only implements the Kernighan-Lin-Algorithm. More...
 
class  opengm::QPBO< GM, MIN_ST_CUT >
 QPBO Algorithm

C. Rother, V. Kolmogorov, V. Lempitsky, and M. Szummer, "Optimizing binary MRFs via extended roof duality", CVPR 2007. More...
 
class  opengm::ReducedInference< GM, ACC, INF >::Parameter
 
class  opengm::ReducedInference< GM, ACC, INF >
 [class reducedinference] Reduced Inference Implementation of the reduction techniques proposed in J.H. Kappes, M. Speth, G. Reinelt, and C. Schnörr: Towards Efficient and Exact MAP-Inference for Large Scale Discrete Computer Vision Problems via Combinatorial Optimization, CVPR 2013 More...
 
class  opengm::SAT< GM >
 2-SAT solver More...
 
struct  opengm::SwendsenWang< GM, ACC >::Parameter
 
class  opengm::SwendsenWang< GM, ACC >
 Generalized Swendsen-Wang sampling

A. Barbu, S. Zhu, "Generalizing swendsen-wang to sampling arbitrary posterior probabilities", PAMI 27:1239-1253, 2005. More...
 
class  opengm::ADSal< GM, ACC >
 [class adsal] ADSal - adaptive diminishing smoothing algorithm Based on the paper: B. Savchynskyy, S. Schmidt, J. H. Kappes, C. Schnörr Efficient MRF Energy Minimization via Adaptive Diminishing Smoothing, In UAI, 2012, pp. 746-755 More...
 
class  opengm::TRWSi< GM, ACC >
 [class trwsi] TRWSi - tree-reweighted sequential message passing Based on the paper: V. Kolmogorov Convergent tree-reweighted message passing for energy minimization. IEEE Trans. on PAMI, 28(10):1568–1583, 2006. More...
 
class  opengm::LPCplex2< GM_TYPE, ACC_TYPE >
 LP inference with CPLEX. More...
 
class  opengm::LPGurobi2< GM_TYPE, ACC_TYPE >
 LP inference with Gurobi. More...
 

Enumerations

enum  opengm::AlphaExpansion< GM, INF >::Parameter::LabelingIntitialType { opengm::AlphaExpansion< GM, INF >::Parameter::DEFAULT_LABEL, opengm::AlphaExpansion< GM, INF >::Parameter::RANDOM_LABEL, opengm::AlphaExpansion< GM, INF >::Parameter::LOCALOPT_LABEL, opengm::AlphaExpansion< GM, INF >::Parameter::EXPLICIT_LABEL }
 
enum  opengm::AlphaExpansion< GM, INF >::Parameter::OrderType { opengm::AlphaExpansion< GM, INF >::Parameter::DEFAULT_ORDER, opengm::AlphaExpansion< GM, INF >::Parameter::RANDOM_ORDER, opengm::AlphaExpansion< GM, INF >::Parameter::EXPLICIT_ORDER }
 
enum  opengm::AlphaExpansionFusion< GM, ACC >::Parameter::LabelingIntitialType { opengm::AlphaExpansionFusion< GM, ACC >::Parameter::DEFAULT_LABEL, opengm::AlphaExpansionFusion< GM, ACC >::Parameter::RANDOM_LABEL, opengm::AlphaExpansionFusion< GM, ACC >::Parameter::LOCALOPT_LABEL, opengm::AlphaExpansionFusion< GM, ACC >::Parameter::EXPLICIT_LABEL }
 
enum  opengm::AlphaExpansionFusion< GM, ACC >::Parameter::OrderType { opengm::AlphaExpansionFusion< GM, ACC >::Parameter::DEFAULT_ORDER, opengm::AlphaExpansionFusion< GM, ACC >::Parameter::RANDOM_ORDER, opengm::AlphaExpansionFusion< GM, ACC >::Parameter::EXPLICIT_ORDER }
 
enum  opengm::AStar< GM, ACC >::Heuristic { opengm::AStar< GM, ACC >::DEFAULT_HEURISTIC = 0, opengm::AStar< GM, ACC >::FAST_HEURISTIC = 1, opengm::AStar< GM, ACC >::STANDARD_HEURISTIC = 2 }
 
enum  opengm::external::AD3Inf< GM, ACC >::SolverType { opengm::external::AD3Inf< GM, ACC >::AD3_LP, opengm::external::AD3Inf< GM, ACC >::AD3_ILP, opengm::external::AD3Inf< GM, ACC >::PSDD_LP }
 
enum  opengm::external::GCOLIB< GM >::Parameter::InferenceType { opengm::external::GCOLIB< GM >::Parameter::EXPANSION, opengm::external::GCOLIB< GM >::Parameter::SWAP }
 possible optimization algorithms for GCOLIB More...
 
enum  opengm::external::GCOLIB< GM >::Parameter::EnergyType { opengm::external::GCOLIB< GM >::Parameter::VIEW, opengm::external::GCOLIB< GM >::Parameter::TABLES, opengm::external::GCOLIB< GM >::Parameter::WEIGHTEDTABLE }
 possible energy types for GCOLIB More...
 
enum  opengm::external::GRANTE< GM >::Parameter::InferenceType { opengm::external::GRANTE< GM >::Parameter::BRUTEFORCE, opengm::external::GRANTE< GM >::Parameter::BP, opengm::external::GRANTE< GM >::Parameter::DIFFUSION, opengm::external::GRANTE< GM >::Parameter::SA }
 
enum  opengm::external::libdai::MeanField< GM, ACC >::UpdateRule { opengm::external::libdai::MeanField< GM, ACC >::NAIVE, opengm::external::libdai::MeanField< GM, ACC >::HARDSPIN }
 
enum  opengm::external::libdai::MeanField< GM, ACC >::Init { opengm::external::libdai::MeanField< GM, ACC >::UNIFORM, opengm::external::libdai::MeanField< GM, ACC >::RANDOM }
 
enum  opengm::external::libdai::TreeExpectationPropagation< GM, ACC >::TreeEpType { opengm::external::libdai::TreeExpectationPropagation< GM, ACC >::ORG, opengm::external::libdai::TreeExpectationPropagation< GM, ACC >::ALT }
 
enum  opengm::external::libdai::TreeReweightedBp< GM, ACC >::UpdateRule { opengm::external::libdai::TreeReweightedBp< GM, ACC >::PARALL, opengm::external::libdai::TreeReweightedBp< GM, ACC >::SEQFIX, opengm::external::libdai::TreeReweightedBp< GM, ACC >::SEQRND, opengm::external::libdai::TreeReweightedBp< GM, ACC >::SEQMAX }
 
enum  opengm::external::MRFLIB< GM >::Parameter::InferenceType {
  opengm::external::MRFLIB< GM >::Parameter::ICM, opengm::external::MRFLIB< GM >::Parameter::EXPANSION, opengm::external::MRFLIB< GM >::Parameter::SWAP, opengm::external::MRFLIB< GM >::Parameter::MAXPRODBP,
  opengm::external::MRFLIB< GM >::Parameter::TRWS, opengm::external::MRFLIB< GM >::Parameter::BPS
}
 possible optimization algorithms for MRFLIB More...
 
enum  opengm::external::MRFLIB< GM >::Parameter::EnergyType {
  opengm::external::MRFLIB< GM >::Parameter::VIEW, opengm::external::MRFLIB< GM >::Parameter::TABLES, opengm::external::MRFLIB< GM >::Parameter::TL1, opengm::external::MRFLIB< GM >::Parameter::TL2,
  opengm::external::MRFLIB< GM >::Parameter::WEIGHTEDTABLE
}
 possible energy types for MRFLIB More...
 
enum  opengm::external::QPBO< GM >::TriBool { opengm::external::QPBO< GM >::TB0, opengm::external::QPBO< GM >::TB1, opengm::external::QPBO< GM >::TBX }
 TriBool. More...
 
enum  opengm::external::TRWS< GM >::Parameter::EnergyType { opengm::external::TRWS< GM >::Parameter::VIEW, opengm::external::TRWS< GM >::Parameter::TABLES, opengm::external::TRWS< GM >::Parameter::TL1, opengm::external::TRWS< GM >::Parameter::TL2 }
 possible energy types for TRWS More...
 
enum  opengm::ICM< GM, ACC >::MoveType { opengm::ICM< GM, ACC >::SINGLE_VARIABLE = 0, opengm::ICM< GM, ACC >::FACTOR = 1 }
 
enum  opengm::MQPBO< GM, ACC >::PermutationType { opengm::MQPBO< GM, ACC >::NONE, opengm::MQPBO< GM, ACC >::RANDOM, opengm::MQPBO< GM, ACC >::MINMARG }
 
enum  opengm::ParamHeper::MWCRounding { opengm::ParamHeper::NEAREST, opengm::ParamHeper::DERANDOMIZED, opengm::ParamHeper::PSEUDODERANDOMIZED }
 

Functions

template<class PARAMETERS >
void opengm::setSmoothingParametersForMarginals (PARAMETERS &params, size_t numIterations, typename PARAMETERS::ValueType temperature=1.0, typename PARAMETERS::Storage::StructureType decompositionType=PARAMETERS::Storage::GENERALSTRUCTURE)
 [function setSmoothingParametersForMarginals] setSmoothingParametersForMarginals - adjusts parameters of smoothing-based algorithms (NesterovAcceleratedGradient and ADSal) to obtain estimations of sum-prod margonals. More...
 

Detailed Description

Enumeration Type Documentation

possible energy types for GCOLIB

Enumerator
VIEW 
TABLES 
WEIGHTEDTABLE 

Definition at line 42 of file gco.hxx.

possible energy types for MRFLIB

Enumerator
VIEW 
TABLES 
TL1 
TL2 
WEIGHTEDTABLE 

Definition at line 50 of file mrflib.hxx.

possible energy types for TRWS

Enumerator
VIEW 
TABLES 
TL1 
TL2 

Definition at line 51 of file trws.hxx.

template<class GM , class ACC >
enum opengm::AStar::Heuristic
Enumerator
DEFAULT_HEURISTIC 
FAST_HEURISTIC 
STANDARD_HEURISTIC 

Definition at line 82 of file astar.hxx.

possible optimization algorithms for GCOLIB

Enumerator
EXPANSION 
SWAP 

Definition at line 40 of file gco.hxx.

Enumerator
BRUTEFORCE 
BP 
DIFFUSION 
SA 

Definition at line 45 of file grante.hxx.

possible optimization algorithms for MRFLIB

Enumerator
ICM 
EXPANSION 
SWAP 
MAXPRODBP 
TRWS 
BPS 

Definition at line 48 of file mrflib.hxx.

template<class GM , class ACC >
enum opengm::external::libdai::MeanField::Init
Enumerator
UNIFORM 
RANDOM 

Definition at line 35 of file mean_field.hxx.

template<class GM, class INF>
enum opengm::AlphaExpansion::Parameter::LabelingIntitialType
Enumerator
DEFAULT_LABEL 
RANDOM_LABEL 
LOCALOPT_LABEL 
EXPLICIT_LABEL 

Definition at line 27 of file alphaexpansion.hxx.

Enumerator
DEFAULT_LABEL 
RANDOM_LABEL 
LOCALOPT_LABEL 
EXPLICIT_LABEL 

Definition at line 31 of file alphaexpansionfusion.hxx.

template<class GM, class ACC>
enum opengm::ICM::MoveType
Enumerator
SINGLE_VARIABLE 
FACTOR 

Definition at line 27 of file icm.hxx.

Enumerator
NEAREST 
DERANDOMIZED 
PSEUDODERANDOMIZED 

Definition at line 73 of file multicut.hxx.

template<class GM, class INF>
enum opengm::AlphaExpansion::Parameter::OrderType
Enumerator
DEFAULT_ORDER 
RANDOM_ORDER 
EXPLICIT_ORDER 

Definition at line 28 of file alphaexpansion.hxx.

template<class GM, class ACC>
enum opengm::AlphaExpansionFusion::Parameter::OrderType
Enumerator
DEFAULT_ORDER 
RANDOM_ORDER 
EXPLICIT_ORDER 

Definition at line 32 of file alphaexpansionfusion.hxx.

template<class GM, class ACC>
enum opengm::MQPBO::PermutationType
Enumerator
NONE 
RANDOM 
MINMARG 

Definition at line 49 of file mqpbo.hxx.

template<class GM, class ACC>
enum opengm::external::AD3Inf::SolverType
Enumerator
AD3_LP 
AD3_ILP 
PSDD_LP 

Definition at line 33 of file ad3.hxx.

Enumerator
ORG 
ALT 

Definition at line 31 of file tree_expectation_propagation.hxx.

template<class GM>
enum opengm::external::QPBO::TriBool

TriBool.

Enumerator
TB0 
TB1 
TBX 

Definition at line 34 of file external/qpbo.hxx.

template<class GM , class ACC >
enum opengm::external::libdai::MeanField::UpdateRule
Enumerator
NAIVE 
HARDSPIN 

Definition at line 31 of file mean_field.hxx.

template<class GM , class ACC >
enum opengm::external::libdai::TreeReweightedBp::UpdateRule
Enumerator
PARALL 
SEQFIX 
SEQRND 
SEQMAX 

Definition at line 32 of file tree_reweighted_bp.hxx.

Function Documentation

template<class PARAMETERS >
void opengm::setSmoothingParametersForMarginals ( PARAMETERS &  params,
size_t  numIterations,
typename PARAMETERS::ValueType  temperature = 1.0,
typename PARAMETERS::Storage::StructureType  decompositionType = PARAMETERS::Storage::GENERALSTRUCTURE 
)

[function setSmoothingParametersForMarginals] setSmoothingParametersForMarginals - adjusts parameters of smoothing-based algorithms (NesterovAcceleratedGradient and ADSal) to obtain estimations of sum-prod margonals.

For mathematical details see the papers: B. Savchynskyy, J. H. Kappes, S. Schmidt, C. Schnörr A Study of Nesterov's Scheme for Lagrangian Decomposition and MAP Labeling, in CVPR 2011 and B. Savchynskyy, S. Schmidt, J. H. Kappes, C. Schnörr Efficient MRF Energy Minimization via Adaptive Diminishing Smoothing, In UAI, 2012, pp. 746-755

Usage examples:

/* With NesterovAcceleratedGradient: */ NesterovAcceleratedGradient<GraphicalModelType,Minimizer>::Parameter params; setSmoothingParametersForMarginals(params,100,1.0); NesterovAcceleratedGradient<GraphicalModelType,Minimizer> solver(gm,params); solver.infer();

GraphicalModelType::IndependentFactorType out; for (size_t i=0;i<gm.numberOfVariables();++i) { solver.marginal(i,out_nest); .../* do with the 'out' marginals what you want */ }

/* With ADSal: */ ADSal<GraphicalModelType,Minimizer>::Parameter params; setSmoothingParametersForMarginals(params,100,1.0); ADSal<GraphicalModelType,Minimizer> solver(gm,params); solver.infer(); GraphicalModelType::IndependentFactorType out; for (size_t i=0;i<gm.numberOfVariables();++i) { solver.marginal(i,out); .../* do with the 'out' marginals what you want */ }

Corresponding author: Bogdan Savchynskyy

Definition at line 59 of file smoothing_to_marginals.hxx.