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

[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...

#include <trws_adsal.hxx>

+ Inheritance diagram for opengm::ADSal< GM, ACC >:
+ Collaboration diagram for opengm::ADSal< GM, ACC >:

Public Types

typedef trws_base::SmoothingBasedInference< GM, ACC > parent
 
typedef ACC AccumulationType
 
typedef GM GraphicalModelType
 
typedef parent::Storage Storage
 
typedef parent::SumProdSolver SumProdSolver
 
typedef parent::MaxSumSolver MaxSumSolver
 
typedef parent::PrimalBoundEstimator PrimalBoundEstimator
 
typedef ADSal_Parameter< GM > Parameter
 
typedef visitors::VerboseVisitor< ADSal< GM, ACC > > VerboseVisitorType
 
typedef visitors::TimingVisitor< ADSal< GM, ACC > > TimingVisitorType
 
typedef visitors::EmptyVisitor< ADSal< GM, ACC > > EmptyVisitorType
 
- Public Types inherited from opengm::trws_base::SmoothingBasedInference< GM, ACC >
typedef Inference< GM, ACC > parent
 
typedef ACC AccumulationType
 
typedef GM GraphicalModelType
 
typedef trws_base::DecompositionStorage< GM > Storage
 
typedef trws_base::SumProdTRWS< GM, ACC > SumProdSolver
 
typedef trws_base::MaxSumTRWS< GM, ACC > MaxSumSolver
 
typedef PrimalLPBound< GM, ACC > PrimalBoundEstimator
 
typedef TRWS_Reparametrizer< Storage, ACC > ReparametrizerType
 
typedef SmoothingStrategy< GM, ACC > SmoothingStrategyType
 
typedef SmoothingBasedInference_Parameter< GM > Parameter
 
- Public Types inherited from opengm::Inference< GM, ACC >
typedef GM GraphicalModelType
 
typedef ACC 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

 ADSal (const GraphicalModelType &gm, const Parameter &param)
 
std::string name () const
 
InferenceTermination infer ()
 
template<class VISITOR >
InferenceTermination infer (VISITOR &visitor)
 
InferenceTermination oldinfer ()
 
- Public Member Functions inherited from opengm::trws_base::SmoothingBasedInference< GM, ACC >
 SmoothingBasedInference (const GraphicalModelType &gm, const Parameter &param)
 
virtual ~SmoothingBasedInference ()
 
InferenceTermination arg (std::vector< LabelType > &out, const size_t=1) const
 output a solution More...
 
const GraphicalModelTypegraphicalModel () const
 
ValueType bound () const
 return a bound on the solution More...
 
ValueType value () const
 return the solution (value) More...
 
ValueType UpdateSmoothDualEstimates (ValueType smoothingValue, ValueType *pderivativeValue)
 
void getTreeAgreement (std::vector< bool > &out, std::vector< LabelType > *plabeling=0, std::vector< std::vector< LabelType > > *ptreeLabelings=0)
 
StoragegetDecompositionStorage ()
 
const MaxSumSolver::FactorPropertiesgetFactorProperties () const
 
ReparametrizerTypegetReparametrizer (const typename ReparametrizerType::Parameter &params=typename ReparametrizerType::Parameter())
 
InferenceTermination marginal (const IndexType varID, IndependentFactorType &out)
 
template<class VISITOR >
opengm::InferenceTermination _Presolve (VISITOR &visitor, size_t *piterCounter)
 
- Public Member Functions inherited from opengm::Inference< GM, ACC >
virtual ~Inference ()
 
virtual void setStartingPoint (typename std::vector< LabelType >::const_iterator)
 set initial labeling 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...
 
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
 
- Public Attributes inherited from opengm::trws_base::SmoothingBasedInference< GM, ACC >
 OPENGM_GM_TYPE_TYPEDEFS
 

Additional Inherited Members

- Protected Member Functions inherited from opengm::trws_base::SmoothingBasedInference< GM, ACC >
template<class VISITOR >
InferenceTermination _Presolve (VISITOR &visitor, size_t *piterCounter=0)
 
template<class VISITOR >
size_t _EstimateStartingSmoothing (VISITOR &visitor)
 
bool _UpdateSmoothing (ValueType primalBound, ValueType dualBound, ValueType smoothDualBound, ValueType derivativeValue, size_t iterationCounterPlus1=0)
 

returns number of oracle calls;

More...
 
ValueType _EstimateRhoDerivative () const
 
ValueType _FastEstimateRhoDerivative () const
 
void _UpdatePrimalEstimator ()
 
void _SelectOptimalBoundsAndLabeling ()
 
bool _isLPBoundComputed () const
 
bool _CheckStoppingCondition (InferenceTermination *)
 
- Protected Attributes inherited from opengm::trws_base::SmoothingBasedInference< GM, ACC >
Parameter _parameters
 
Storage _storage
 
SumProdSolver _sumprodsolver
 
MaxSumSolver _maxsumsolver
 
PrimalBoundEstimator _estimator
 
ValueType _bestPrimalLPbound
 
ValueType _bestPrimalBound
 
ValueType _bestDualBound
 
ValueType _bestIntegerBound
 
std::vector< LabelType_bestIntegerLabeling
 
SmoothingStrategyTypepsmoothingStrategy
 
SumProdSolver::OutputContainerType _marginalsTemp
 

Detailed Description

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

it provides:

TODO: Code can be significantly speeded up!

Corresponding author: Bogdan Savchynskyy

Definition at line 97 of file trws_adsal.hxx.

Member Typedef Documentation

template<class GM , class ACC >
typedef ACC opengm::ADSal< GM, ACC >::AccumulationType

Definition at line 101 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef visitors::EmptyVisitor<ADSal<GM, ACC> > opengm::ADSal< GM, ACC >::EmptyVisitorType

Definition at line 114 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef GM opengm::ADSal< GM, ACC >::GraphicalModelType

Definition at line 102 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef parent::MaxSumSolver opengm::ADSal< GM, ACC >::MaxSumSolver

Definition at line 107 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef ADSal_Parameter<GM> opengm::ADSal< GM, ACC >::Parameter

Definition at line 110 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef trws_base::SmoothingBasedInference<GM, ACC> opengm::ADSal< GM, ACC >::parent

Definition at line 100 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef parent::PrimalBoundEstimator opengm::ADSal< GM, ACC >::PrimalBoundEstimator

Definition at line 108 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef parent::Storage opengm::ADSal< GM, ACC >::Storage

Definition at line 105 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef parent::SumProdSolver opengm::ADSal< GM, ACC >::SumProdSolver

Definition at line 106 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef visitors::TimingVisitor<ADSal<GM, ACC> > opengm::ADSal< GM, ACC >::TimingVisitorType

Definition at line 113 of file trws_adsal.hxx.

template<class GM , class ACC >
typedef visitors::VerboseVisitor<ADSal<GM, ACC> > opengm::ADSal< GM, ACC >::VerboseVisitorType

Definition at line 112 of file trws_adsal.hxx.

Constructor & Destructor Documentation

template<class GM , class ACC >
opengm::ADSal< GM, ACC >::ADSal ( const GraphicalModelType gm,
const Parameter param 
)
inline

Definition at line 116 of file trws_adsal.hxx.

+ Here is the call graph for this function:

Member Function Documentation

template<class GM , class ACC >
InferenceTermination opengm::ADSal< GM, ACC >::infer ( )
inlinevirtual

Implements opengm::Inference< GM, ACC >.

Definition at line 138 of file trws_adsal.hxx.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class GM , class ACC >
template<class VISITOR >
InferenceTermination opengm::ADSal< GM, ACC >::infer ( VISITOR &  visitor)

oracle calls counter

Definition at line 151 of file trws_adsal.hxx.

+ Here is the call graph for this function:

template<class GM , class ACC >
std::string opengm::ADSal< GM, ACC >::name ( ) const
inlinevirtual

Implements opengm::Inference< GM, ACC >.

Definition at line 137 of file trws_adsal.hxx.

+ Here is the caller graph for this function:

template<class GM , class ACC >
InferenceTermination opengm::ADSal< GM, ACC >::oldinfer ( )

Definition at line 263 of file trws_adsal.hxx.

Member Data Documentation

template<class GM , class ACC >
opengm::ADSal< GM, ACC >::OPENGM_GM_TYPE_TYPEDEFS

Definition at line 103 of file trws_adsal.hxx.