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>
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_ |
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.
typedef pcl::NormalEstimation<SceneT, pcl::Normal> pcl::GlobalHypothesesVerification< ModelT, SceneT >::NormalEstimator_ [private] |
typedef GlobalHypothesesVerification<ModelT, SceneT> pcl::GlobalHypothesesVerification< ModelT, SceneT >::SAOptimizerT [private] |
pcl::GlobalHypothesesVerification< ModelT, SceneT >::GlobalHypothesesVerification | ( | ) | [inline] |
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] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::computeClutterCue | ( | boost::shared_ptr< RecognitionModel > & | recog_model | ) | [private] |
mets::gol_type pcl::GlobalHypothesesVerification< ModelT, SceneT >::evaluateSolution | ( | const std::vector< bool > & | active, |
int | changed | ||
) | [private] |
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::getDuplicity | ( | ) | [inline, private] |
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::getDuplicityCM | ( | ) | [inline, private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getExplainedValue | ( | ) | [inline, private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getPreviousBadInfo | ( | ) | [inline, private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getPreviousUnexplainedValue | ( | ) | [inline, private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getTotalBadInformation | ( | std::vector< boost::shared_ptr< RecognitionModel > > & | recog_models | ) | [inline, private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getTotalExplainedInformation | ( | std::vector< int > & | explained_, |
std::vector< float > & | explained_by_RM_distance_weighted, | ||
int * | duplicity_ | ||
) | [inline, private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::getUnexplainedInformationInNeighborhood | ( | std::vector< float > & | unexplained, |
std::vector< int > & | explained | ||
) | [inline, private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::initialize | ( | ) | [private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::SAOptimize | ( | std::vector< int > & | cc_indices, |
std::vector< bool > & | sub_solution | ||
) | [private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setClutterRegularizer | ( | float | cr | ) | [inline] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setDetectClutter | ( | bool | d | ) | [inline] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setInitialTemp | ( | float | t | ) | [inline] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setMaxIterations | ( | int | i | ) | [inline] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousBadInfo | ( | float | f | ) | [inline, private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousDuplicity | ( | int | v | ) | [inline, private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousDuplicityCM | ( | int | v | ) | [inline, private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousExplainedValue | ( | float | v | ) | [inline, private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setPreviousUnexplainedValue | ( | float | v | ) | [inline, private] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setRadiusClutter | ( | float | r | ) | [inline] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setRadiusNormals | ( | float | r | ) | [inline] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::setRegularizer | ( | float | r | ) | [inline] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::updateCMDuplicity | ( | std::vector< int > & | vec, |
std::vector< int > & | occupancy_vec, | ||
float | sign | ||
) | [inline, private] |
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] |
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] |
void pcl::GlobalHypothesesVerification< ModelT, SceneT >::verify | ( | ) | [virtual] |
Implements pcl::HypothesisVerification< ModelT, SceneT >.
SAModel pcl::GlobalHypothesesVerification< ModelT, SceneT >::best_seen_ [private] |
std::vector<std::vector<int> > pcl::GlobalHypothesesVerification< ModelT, SceneT >::cc_ [private] |
pcl::PointCloud<pcl::PointXYZI>::Ptr pcl::GlobalHypothesesVerification< ModelT, SceneT >::clusters_cloud_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::clutter_regularizer_ [private] |
std::vector<int> pcl::GlobalHypothesesVerification< ModelT, SceneT >::complete_cloud_occupancy_by_RM_ [private] |
bool pcl::GlobalHypothesesVerification< ModelT, SceneT >::detect_clutter_ [private] |
std::vector<int> pcl::GlobalHypothesesVerification< ModelT, SceneT >::explained_by_RM_ [private] |
std::vector<float> pcl::GlobalHypothesesVerification< ModelT, SceneT >::explained_by_RM_distance_weighted [private] |
std::vector<size_t> pcl::GlobalHypothesesVerification< ModelT, SceneT >::indices_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::initial_temp_ [private] |
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::max_iterations_ [private] |
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::n_cc_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_bad_info_ [private] |
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_duplicity_ [private] |
int pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_duplicity_complete_models_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_explained_value [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::previous_unexplained_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::radius_neighborhood_GO_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::radius_normals_ [private] |
std::vector<boost::shared_ptr<RecognitionModel> > pcl::GlobalHypothesesVerification< ModelT, SceneT >::recognition_models_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::regularizer_ [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::res_occupancy_grid_ [private] |
pcl::PointCloud<pcl::Normal>::Ptr pcl::GlobalHypothesesVerification< ModelT, SceneT >::scene_normals_ [private] |
std::vector<float> pcl::GlobalHypothesesVerification< ModelT, SceneT >::unexplained_by_RM_neighboorhods [private] |
float pcl::GlobalHypothesesVerification< ModelT, SceneT >::w_occupied_multiple_cm_ [private] |