[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...
#include <mqpbo.hxx>
Classes | |
class | Parameter |
Public Types | |
enum | PermutationType { NONE, RANDOM, MINMARG } |
typedef ACC | AccumulationType |
typedef GM | GmType |
typedef GM | GraphicalModelType |
typedef VerboseVisitor< MQPBO < GM, ACC > > | VerboseVisitorType |
typedef EmptyVisitor< MQPBO < GM, ACC > > | EmptyVisitorType |
typedef TimingVisitor< MQPBO < GM, ACC > > | TimingVisitorType |
typedef ValueType | GraphValueType |
Public Member Functions | |
MQPBO (const GmType &, const Parameter &=Parameter()) | |
[class mqpbo] | |
~MQPBO () | |
std::string | name () const |
const GmType & | graphicalModel () const |
InferenceTermination | infer () |
void | reset () |
reset assumes that the structure of the graphical model has not changed | |
GM::ValueType | bound () const |
return a bound on the solution | |
GM::ValueType | value () const |
return the solution (value) | |
template<class VisitorType > | |
InferenceTermination | infer (VisitorType &) |
InferenceTermination | testQuess (std::vector< LabelType > &guess) |
InferenceTermination | testPermutation (PermutationType permutationType) |
void | setStartingPoint (typename std::vector< LabelType >::const_iterator) |
set initial labeling | |
virtual InferenceTermination | arg (std::vector< LabelType > &, const size_t=1) const |
output a solution | |
const std::vector < opengm::Tribool > & | partialOptimality (IndexType var) const |
bool | partialOptimality (IndexType var, LabelType &l) const |
double | optimalityV () const |
double | optimality () const |
Public Attributes | |
OPENGM_GM_TYPE_TYPEDEFS |
[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)
Corresponding author: Joerg Hendrik Kappes
Definition at line 37 of file mqpbo.hxx.
typedef ACC opengm::MQPBO< GM, ACC >::AccumulationType |
Reimplemented from opengm::Inference< GM, ACC >.
typedef EmptyVisitor<MQPBO<GM, ACC> > opengm::MQPBO< GM, ACC >::EmptyVisitorType |
typedef GM opengm::MQPBO< GM, ACC >::GmType |
typedef GM opengm::MQPBO< GM, ACC >::GraphicalModelType |
Reimplemented from opengm::Inference< GM, ACC >.
typedef ValueType opengm::MQPBO< GM, ACC >::GraphValueType |
typedef TimingVisitor<MQPBO<GM, ACC> > opengm::MQPBO< GM, ACC >::TimingVisitorType |
typedef VerboseVisitor<MQPBO<GM, ACC> > opengm::MQPBO< GM, ACC >::VerboseVisitorType |
enum opengm::MQPBO::PermutationType |
opengm::MQPBO< GM, ACC >::MQPBO | ( | const GmType & | gm, | |
const Parameter & | parameter = Parameter() | |||
) | [inline] |
opengm::MQPBO< GM, ACC >::~MQPBO | ( | ) | [inline] |
InferenceTermination opengm::MQPBO< GM, ACC >::arg | ( | std::vector< LabelType > & | arg, | |
const size_t | argIndex = 1 | |||
) | const [inline, virtual] |
output a solution
[out] | arg | labeling |
argIndex | solution index (0=best, 1=second best, etc.) |
Reimplemented from opengm::Inference< GM, ACC >.
Definition at line 933 of file mqpbo.hxx.
GM::ValueType opengm::MQPBO< GM, ACC >::bound | ( | ) | const [inline, virtual] |
return a bound on the solution
Reimplemented from opengm::Inference< GM, ACC >.
const MQPBO< GM, ACC >::GmType & opengm::MQPBO< GM, ACC >::graphicalModel | ( | ) | const [inline, virtual] |
Implements opengm::Inference< GM, ACC >.
InferenceTermination opengm::MQPBO< GM, ACC >::infer | ( | VisitorType & | visitor | ) | [inline] |
InferenceTermination opengm::MQPBO< GM, ACC >::infer | ( | ) | [inline, virtual] |
Implements opengm::Inference< GM, ACC >.
std::string opengm::MQPBO< GM, ACC >::name | ( | ) | const [inline, virtual] |
Implements opengm::Inference< GM, ACC >.
double opengm::MQPBO< GM, ACC >::optimality | ( | ) | const [inline] |
double opengm::MQPBO< GM, ACC >::optimalityV | ( | ) | const [inline] |
bool opengm::MQPBO< GM, ACC >::partialOptimality | ( | IndexType | var, | |
LabelType & | l | |||
) | const [inline] |
const std::vector<opengm::Tribool>& opengm::MQPBO< GM, ACC >::partialOptimality | ( | IndexType | var | ) | const [inline] |
void opengm::MQPBO< GM, ACC >::reset | ( | ) | [inline] |
void opengm::MQPBO< GM, ACC >::setStartingPoint | ( | typename std::vector< LabelType >::const_iterator | begin | ) | [virtual] |
set initial labeling
begin | iterator to the beginning of a sequence of labels |
Reimplemented from opengm::Inference< GM, ACC >.
InferenceTermination opengm::MQPBO< GM, ACC >::testPermutation | ( | PermutationType | permutationType | ) | [inline] |
InferenceTermination opengm::MQPBO< GM, ACC >::testQuess | ( | std::vector< LabelType > & | guess | ) | [inline] |
GM::ValueType opengm::MQPBO< GM, ACC >::value | ( | ) | const [inline, virtual] |
return the solution (value)
Reimplemented from opengm::Inference< GM, ACC >.
Definition at line 924 of file mqpbo.hxx.
opengm::MQPBO< GM, ACC >::OPENGM_GM_TYPE_TYPEDEFS |