Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
pcl::GlobalHypothesesVerification< ModelT, SceneT > Class Template Reference

A hypothesis verification method proposed in "A Global Hypotheses Verification Method for 3D Object Recognition", A. Aldoma and F. Tombari and L. Di Stefano and Markus Vincze, ECCV 2012. More...

#include <hv_go.h>

Inheritance diagram for pcl::GlobalHypothesesVerification< ModelT, SceneT >:
Inheritance graph
[legend]

List of all members.

Classes

class  move
class  move_manager
struct  RecognitionModel
class  SAModel

Public Member Functions

 GlobalHypothesesVerification ()
void setClutterRegularizer (float cr)
void setDetectClutter (bool d)
void setInitialTemp (float t)
void setMaxIterations (int i)
void setRadiusClutter (float r)
void setRadiusNormals (float r)
void setRegularizer (float r)
void verify ()

Private Types

typedef pcl::NormalEstimation
< SceneT, pcl::Normal
NormalEstimator_
typedef
GlobalHypothesesVerification
< ModelT, SceneT > 
SAOptimizerT

Private Member Functions

bool addModel (typename pcl::PointCloud< ModelT >::ConstPtr &model, typename pcl::PointCloud< ModelT >::ConstPtr &complete_model, boost::shared_ptr< RecognitionModel > &recog_model)
void computeClutterCue (boost::shared_ptr< RecognitionModel > &recog_model)
mets::gol_type evaluateSolution (const std::vector< bool > &active, int changed)
int getDuplicity ()
int getDuplicityCM ()
float getExplainedValue ()
float getPreviousBadInfo ()
float getPreviousUnexplainedValue ()
float getTotalBadInformation (std::vector< boost::shared_ptr< RecognitionModel > > &recog_models)
float getTotalExplainedInformation (std::vector< int > &explained_, std::vector< float > &explained_by_RM_distance_weighted, int *duplicity_)
float getUnexplainedInformationInNeighborhood (std::vector< float > &unexplained, std::vector< int > &explained)
void initialize ()
void SAOptimize (std::vector< int > &cc_indices, std::vector< bool > &sub_solution)
void setPreviousBadInfo (float f)
void setPreviousDuplicity (int v)
void setPreviousDuplicityCM (int v)
void setPreviousExplainedValue (float v)
void setPreviousUnexplainedValue (float v)
void updateCMDuplicity (std::vector< int > &vec, std::vector< int > &occupancy_vec, float sign)
void updateExplainedVector (std::vector< int > &vec, std::vector< float > &vec_float, std::vector< int > &explained_, std::vector< float > &explained_by_RM_distance_weighted, float sign)
void updateUnexplainedVector (std::vector< int > &unexplained_, std::vector< float > &unexplained_distances, std::vector< float > &unexplained_by_RM, std::vector< int > &explained, std::vector< int > &explained_by_RM, float val)

Private Attributes

SAModel best_seen_
std::vector< std::vector< int > > cc_
pcl::PointCloud
< pcl::PointXYZI >::Ptr 
clusters_cloud_
float clutter_regularizer_
std::vector< int > complete_cloud_occupancy_by_RM_
bool detect_clutter_
std::vector< int > explained_by_RM_
std::vector< float > explained_by_RM_distance_weighted
std::vector< size_t > indices_
float initial_temp_
int max_iterations_
int n_cc_
float previous_bad_info_
int previous_duplicity_
int previous_duplicity_complete_models_
float previous_explained_value
float previous_unexplained_
float radius_neighborhood_GO_
float radius_normals_
std::vector< boost::shared_ptr
< RecognitionModel > > 
recognition_models_
float regularizer_
float res_occupancy_grid_
pcl::PointCloud< pcl::Normal >::Ptr scene_normals_
std::vector< float > unexplained_by_RM_neighboorhods
float w_occupied_multiple_cm_

Detailed Description

template<typename ModelT, typename SceneT>
class pcl::GlobalHypothesesVerification< ModelT, SceneT >

A hypothesis verification method proposed in "A Global Hypotheses Verification Method for 3D Object Recognition", A. Aldoma and F. Tombari and L. Di Stefano and Markus Vincze, ECCV 2012.

Author:
Aitor Aldoma

Definition at line 27 of file hv_go.h.


Member Typedef Documentation

template<typename ModelT , typename SceneT >
typedef pcl::NormalEstimation<SceneT, pcl::Normal> pcl::GlobalHypothesesVerification< ModelT, SceneT >::NormalEstimator_ [private]

Definition at line 189 of file hv_go.h.

template<typename ModelT , typename SceneT >
typedef GlobalHypothesesVerification<ModelT, SceneT> pcl::GlobalHypothesesVerification< ModelT, SceneT >::SAOptimizerT [private]

Definition at line 49 of file hv_go.h.


Constructor & Destructor Documentation

template<typename ModelT , typename SceneT >
pcl::GlobalHypothesesVerification< ModelT, SceneT >::GlobalHypothesesVerification ( ) [inline]

Definition at line 434 of file hv_go.h.


Member Function Documentation

template<typename ModelT , typename SceneT >
bool pcl::GlobalHypothesesVerification< ModelT, SceneT >::addModel ( typename pcl::PointCloud< ModelT >::ConstPtr &  model,
typename pcl::PointCloud< ModelT >::ConstPtr &  complete_model,
boost::shared_ptr< RecognitionModel > &  recog_model 
) [private]

Definition at line 486 of file hv_go.hpp.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::computeClutterCue ( boost::shared_ptr< RecognitionModel > &  recog_model) [private]

Definition at line 652 of file hv_go.hpp.

template<typename ModelT , typename SceneT >
mets::gol_type pcl::GlobalHypothesesVerification< ModelT, SceneT >::evaluateSolution ( const std::vector< bool > &  active,
int  changed 
) [private]

Definition at line 138 of file hv_go.hpp.

template<typename ModelT , typename SceneT >
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::getDuplicity ( ) [inline, private]

Definition at line 262 of file hv_go.h.

template<typename ModelT , typename SceneT >
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::getDuplicityCM ( ) [inline, private]

Definition at line 267 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getExplainedValue ( ) [inline, private]

Definition at line 257 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getPreviousBadInfo ( ) [inline, private]

Definition at line 227 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getPreviousUnexplainedValue ( ) [inline, private]

Definition at line 252 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getTotalBadInformation ( std::vector< boost::shared_ptr< RecognitionModel > > &  recog_models) [inline, private]

Definition at line 395 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getTotalExplainedInformation ( std::vector< int > &  explained_,
std::vector< float > &  explained_by_RM_distance_weighted,
int *  duplicity_ 
) [inline, private]

Definition at line 376 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getUnexplainedInformationInNeighborhood ( std::vector< float > &  unexplained,
std::vector< int > &  explained 
) [inline, private]

Definition at line 404 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::initialize ( ) [private]

Definition at line 182 of file hv_go.hpp.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::SAOptimize ( std::vector< int > &  cc_indices,
std::vector< bool > &  sub_solution 
) [private]

Definition at line 372 of file hv_go.hpp.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setClutterRegularizer ( float  cr) [inline]

Definition at line 476 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setDetectClutter ( bool  d) [inline]

Definition at line 481 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setInitialTemp ( float  t) [inline]

Definition at line 461 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setMaxIterations ( int  i) [inline]

Definition at line 456 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousBadInfo ( float  f) [inline, private]

Definition at line 222 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousDuplicity ( int  v) [inline, private]

Definition at line 237 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousDuplicityCM ( int  v) [inline, private]

Definition at line 242 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousExplainedValue ( float  v) [inline, private]

Definition at line 232 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousUnexplainedValue ( float  v) [inline, private]

Definition at line 247 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setRadiusClutter ( float  r) [inline]

Definition at line 471 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setRadiusNormals ( float  r) [inline]

Definition at line 451 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setRegularizer ( float  r) [inline]

Definition at line 466 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::updateCMDuplicity ( std::vector< int > &  vec,
std::vector< int > &  occupancy_vec,
float  sign 
) [inline, private]

Definition at line 355 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::updateExplainedVector ( std::vector< int > &  vec,
std::vector< float > &  vec_float,
std::vector< int > &  explained_,
std::vector< float > &  explained_by_RM_distance_weighted,
float  sign 
) [inline, private]

Definition at line 323 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::updateUnexplainedVector ( std::vector< int > &  unexplained_,
std::vector< float > &  unexplained_distances,
std::vector< float > &  unexplained_by_RM,
std::vector< int > &  explained,
std::vector< int > &  explained_by_RM,
float  val 
) [inline, private]

Definition at line 272 of file hv_go.h.

template<typename ModelT , typename SceneT >
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::verify ( ) [virtual]

Implements pcl::HypothesisVerification< ModelT, SceneT >.

Definition at line 467 of file hv_go.hpp.


Member Data Documentation

template<typename ModelT , typename SceneT >
SAModel pcl::GlobalHypothesesVerification< ModelT, SceneT >::best_seen_ [private]

Definition at line 216 of file hv_go.h.

template<typename ModelT , typename SceneT >
std::vector<std::vector<int> > pcl::GlobalHypothesesVerification< ModelT, SceneT >::cc_ [private]

Definition at line 220 of file hv_go.h.

template<typename ModelT , typename SceneT >
pcl::PointCloud<pcl::PointXYZI>::Ptr pcl::GlobalHypothesesVerification< ModelT, SceneT >::clusters_cloud_ [private]

Definition at line 191 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::clutter_regularizer_ [private]

Definition at line 204 of file hv_go.h.

template<typename ModelT , typename SceneT >
std::vector<int> pcl::GlobalHypothesesVerification< ModelT, SceneT >::complete_cloud_occupancy_by_RM_ [private]

Definition at line 193 of file hv_go.h.

template<typename ModelT , typename SceneT >
bool pcl::GlobalHypothesesVerification< ModelT, SceneT >::detect_clutter_ [private]

Definition at line 205 of file hv_go.h.

template<typename ModelT , typename SceneT >
std::vector<int> pcl::GlobalHypothesesVerification< ModelT, SceneT >::explained_by_RM_ [private]

Definition at line 197 of file hv_go.h.

template<typename ModelT , typename SceneT >
std::vector<float> pcl::GlobalHypothesesVerification< ModelT, SceneT >::explained_by_RM_distance_weighted [private]

Definition at line 198 of file hv_go.h.

template<typename ModelT , typename SceneT >
std::vector<size_t> pcl::GlobalHypothesesVerification< ModelT, SceneT >::indices_ [private]

Definition at line 201 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::initial_temp_ [private]

Definition at line 217 of file hv_go.h.

template<typename ModelT , typename SceneT >
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::max_iterations_ [private]

Definition at line 215 of file hv_go.h.

template<typename ModelT , typename SceneT >
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::n_cc_ [private]

Definition at line 219 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_bad_info_ [private]

Definition at line 212 of file hv_go.h.

template<typename ModelT , typename SceneT >
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_duplicity_ [private]

Definition at line 210 of file hv_go.h.

template<typename ModelT , typename SceneT >
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_duplicity_complete_models_ [private]

Definition at line 211 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_explained_value [private]

Definition at line 209 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_unexplained_ [private]

Definition at line 213 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::radius_neighborhood_GO_ [private]

Definition at line 206 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::radius_normals_ [private]

Definition at line 207 of file hv_go.h.

template<typename ModelT , typename SceneT >
std::vector<boost::shared_ptr<RecognitionModel> > pcl::GlobalHypothesesVerification< ModelT, SceneT >::recognition_models_ [private]

Definition at line 200 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::regularizer_ [private]

Definition at line 203 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::res_occupancy_grid_ [private]

Definition at line 194 of file hv_go.h.

template<typename ModelT , typename SceneT >
pcl::PointCloud<pcl::Normal>::Ptr pcl::GlobalHypothesesVerification< ModelT, SceneT >::scene_normals_ [private]

Definition at line 190 of file hv_go.h.

template<typename ModelT , typename SceneT >
std::vector<float> pcl::GlobalHypothesesVerification< ModelT, SceneT >::unexplained_by_RM_neighboorhods [private]

Definition at line 199 of file hv_go.h.

template<typename ModelT , typename SceneT >
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::w_occupied_multiple_cm_ [private]

Definition at line 195 of file hv_go.h.


The documentation for this class was generated from the following files:


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:41:22