37 #ifndef PCL_RECOGNITION_HV_PAPAZOV_H_
38 #define PCL_RECOGNITION_HV_PAPAZOV_H_
40 #include <pcl/recognition/boost.h>
41 #include <pcl/pcl_macros.h>
42 #include <pcl/common/common.h>
43 #include <pcl/recognition/hv/hypotheses_verification.h>
44 #include <boost/graph/adjacency_list.hpp>
54 template<
typename ModelT,
typename SceneT>
65 float conflict_threshold_size_;
66 float penalty_threshold_;
67 float support_threshold_;
69 class RecognitionModel
72 std::vector<int> explained_;
79 std::vector<int> explained_by_RM_;
80 std::vector< boost::shared_ptr<RecognitionModel> > recognition_models_;
81 std::vector< std::vector <boost::shared_ptr<RecognitionModel> > > points_explained_by_rm_;
82 std::map<int, boost::shared_ptr<RecognitionModel> > graph_id_model_map_;
84 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, boost::shared_ptr<RecognitionModel> > Graph;
85 Graph conflict_graph_;
88 void buildConflictGraph();
90 void nonMaximaSuppresion();
96 support_threshold_ = 0.1f;
97 penalty_threshold_ = 0.1f;
98 conflict_threshold_size_ = 0.02f;
102 conflict_threshold_size_ = t;
106 support_threshold_ = t;
110 penalty_threshold_ = t;
119 #ifdef PCL_NO_PRECOMPILE
120 #include <pcl/recognition/impl/hv/hv_papazov.hpp>