40 #include <pcl/recognition/hv/hypotheses_verification.h>
41 #include <boost/graph/adjacency_list.hpp>
53 template<
typename ModelT,
typename SceneT>
64 float conflict_threshold_size_;
65 float penalty_threshold_;
66 float support_threshold_;
68 class RecognitionModel
71 std::vector<int> explained_;
78 using RecognitionModelPtr = std::shared_ptr<RecognitionModel>;
80 std::vector<int> explained_by_RM_;
81 std::vector<RecognitionModelPtr> recognition_models_;
82 std::vector<std::vector<RecognitionModelPtr>> points_explained_by_rm_;
83 std::map<int, RecognitionModelPtr> graph_id_model_map_;
85 using Graph = boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, RecognitionModelPtr>;
86 Graph conflict_graph_;
89 void buildConflictGraph();
91 void nonMaximaSuppresion();
97 support_threshold_ = 0.1f;
98 penalty_threshold_ = 0.1f;
99 conflict_threshold_size_ = 0.02f;
103 conflict_threshold_size_ = t;
107 support_threshold_ = t;
111 penalty_threshold_ = t;
116 void verify()
override;
120 #ifdef PCL_NO_PRECOMPILE
121 #include <pcl/recognition/impl/hv/hv_papazov.hpp>
Abstract class for hypotheses verification methods.
A hypothesis verification method proposed in "An Efficient RANSAC for 3D Object Recognition in Noisy ...
void setConflictThreshold(float t)
void setSupportThreshold(float t)
void setPenaltyThreshold(float t)
shared_ptr< PointCloud< PointT > > Ptr
Defines all the PCL and non-PCL macros used.