OpenGM  2.3.x
Discrete Graphical Model Library
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
opengm::QPBO< GM, MIN_ST_CUT > Class Template Reference

QPBO Algorithm

C. Rother, V. Kolmogorov, V. Lempitsky, and M. Szummer, "Optimizing binary MRFs via extended roof duality", CVPR 2007. More...

#include <qpbo.hxx>

+ Inheritance diagram for opengm::QPBO< GM, MIN_ST_CUT >:
+ Collaboration diagram for opengm::QPBO< GM, MIN_ST_CUT >:

Classes

struct  Parameter
 

Public Types

typedef GM GraphicalModelType
 
typedef opengm::Minimizer AccumulationType
 
typedef visitors::VerboseVisitor< QPBO< GM, MIN_ST_CUT > > VerboseVisitorType
 
typedef visitors::TimingVisitor< QPBO< GM, MIN_ST_CUT > > TimingVisitorType
 
typedef visitors::EmptyVisitor< QPBO< GM, MIN_ST_CUT > > EmptyVisitorType
 
- Public Types inherited from opengm::Inference< GM, opengm::Minimizer >
typedef GM GraphicalModelType
 
typedef opengm::Minimizer AccumulationType
 
typedef GraphicalModelType::LabelType LabelType
 
typedef GraphicalModelType::IndexType IndexType
 
typedef GraphicalModelType::ValueType ValueType
 
typedef GraphicalModelType::OperatorType OperatorType
 
typedef GraphicalModelType::FactorType FactorType
 
typedef GraphicalModelType::IndependentFactorType IndependentFactorType
 
typedef GraphicalModelType::FunctionIdentifier FunctionIdentifier
 

Public Member Functions

 QPBO (const GraphicalModelType &, Parameter=Parameter())
 
std::string name () const
 
const GraphicalModelTypegraphicalModel () const
 
InferenceTermination infer ()
 
template<class VISITOR >
InferenceTermination infer (VISITOR &)
 
InferenceTermination arg (std::vector< LabelType > &, const size_t &=1) const
 
double partialOptimality (std::vector< bool > &) const
 
- Public Member Functions inherited from opengm::Inference< GM, opengm::Minimizer >
virtual ~Inference ()
 
virtual void setStartingPoint (typename std::vector< LabelType >::const_iterator)
 set initial labeling More...
 
virtual InferenceTermination arg (std::vector< LabelType > &, const size_t=1) const
 output a solution More...
 
virtual InferenceTermination args (std::vector< std::vector< LabelType > > &) const
 
virtual InferenceTermination marginal (const size_t, IndependentFactorType &) const
 output a solution for a marginal for a specific variable More...
 
virtual InferenceTermination factorMarginal (const size_t, IndependentFactorType &) const
 output a solution for a marginal for all variables connected to a factor More...
 
virtual ValueType bound () const
 return a bound on the solution More...
 
virtual ValueType value () const
 return the solution (value) More...
 
InferenceTermination constrainedOptimum (std::vector< IndexType > &, std::vector< LabelType > &, std::vector< LabelType > &) const
 
InferenceTermination modeFromMarginal (std::vector< LabelType > &) const
 
InferenceTermination modeFromFactorMarginal (std::vector< LabelType > &) const
 

Public Attributes

 OPENGM_GM_TYPE_TYPEDEFS
 

Detailed Description

template<class GM, class MIN_ST_CUT>
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.

Definition at line 19 of file qpbo.hxx.

Member Typedef Documentation

template<class GM , class MIN_ST_CUT >
typedef opengm::Minimizer opengm::QPBO< GM, MIN_ST_CUT >::AccumulationType

Definition at line 23 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
typedef visitors::EmptyVisitor<QPBO<GM,MIN_ST_CUT> > opengm::QPBO< GM, MIN_ST_CUT >::EmptyVisitorType

Definition at line 27 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
typedef GM opengm::QPBO< GM, MIN_ST_CUT >::GraphicalModelType

Definition at line 22 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
typedef visitors::TimingVisitor<QPBO<GM,MIN_ST_CUT> > opengm::QPBO< GM, MIN_ST_CUT >::TimingVisitorType

Definition at line 26 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
typedef visitors::VerboseVisitor<QPBO<GM,MIN_ST_CUT> > opengm::QPBO< GM, MIN_ST_CUT >::VerboseVisitorType

Definition at line 25 of file qpbo.hxx.

Constructor & Destructor Documentation

template<class GM , class MIN_ST_CUT >
opengm::QPBO< GM, MIN_ST_CUT >::QPBO ( const GraphicalModelType ,
Parameter  = Parameter() 
)

Member Function Documentation

template<class GM , class MIN_ST_CUT >
InferenceTermination opengm::QPBO< GM, MIN_ST_CUT >::arg ( std::vector< LabelType > &  arg,
const size_t n = 1 
) const
inline

Definition at line 130 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
const QPBO< GM, MIN_ST_CUT >::GraphicalModelType & opengm::QPBO< GM, MIN_ST_CUT >::graphicalModel ( ) const
inlinevirtual

Implements opengm::Inference< GM, opengm::Minimizer >.

Definition at line 104 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
InferenceTermination opengm::QPBO< GM, MIN_ST_CUT >::infer ( )
inlinevirtual

Implements opengm::Inference< GM, opengm::Minimizer >.

Definition at line 111 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
template<class VISITOR >
InferenceTermination opengm::QPBO< GM, MIN_ST_CUT >::infer ( VISITOR &  visitor)
inline

Definition at line 119 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
std::string opengm::QPBO< GM, MIN_ST_CUT >::name ( ) const
inlinevirtual

Implements opengm::Inference< GM, opengm::Minimizer >.

Definition at line 97 of file qpbo.hxx.

template<class GM , class MIN_ST_CUT >
double opengm::QPBO< GM, MIN_ST_CUT >::partialOptimality ( std::vector< bool > &  optVec) const

Definition at line 155 of file qpbo.hxx.

Member Data Documentation

template<class GM , class MIN_ST_CUT >
opengm::QPBO< GM, MIN_ST_CUT >::OPENGM_GM_TYPE_TYPEDEFS

Definition at line 24 of file qpbo.hxx.