Open Detection  1.0
od::g3d::ODCADDetector3DGlobal< PointT > Class Template Reference

Detector based on 3D global features like VFH, ESF, CVFH etc. More...

#include <ODCADDetector3DGlobal.h>

Inheritance diagram for od::g3d::ODCADDetector3DGlobal< PointT >:
Collaboration diagram for od::g3d::ODCADDetector3DGlobal< PointT >:

Public Member Functions

 ODCADDetector3DGlobal (std::string const &training_data_location="", std::string const &training_input_location="")
 
void init ()
 
ODDetectionsdetect (ODScenePointCloud< PointT > *scene)
 Function for performing detection on a segmented scene. More...
 
ODDetections3DdetectOmni (ODScenePointCloud< PointT > *scene)
 Function for performing detection on an entire scene. More...
 
int getNN () const
 
void setNN (int NN)
 
std::string const & getDescName () const
 
void setDescName (std::string const &desc_name)
 
- Public Member Functions inherited from od::ODDetector3D< PointT >
 ODDetector3D (std::string const &trained_data_location_)
 
- Public Member Functions inherited from od::ODDetector
 ODDetector (std::string const &training_data_location_)
 
virtual ODDetectionsdetect (ODScene *scene)
 
virtual ODDetectionsdetectOmni (ODScene *scene)
 
- Public Member Functions inherited from od::ODDetectorCommon
 ODDetectorCommon (std::string const &trained_data_location_="")
 
std::string getTrainingInputLocation () const
 Gets/Sets the directory containing the data for training. More...
 
void setTrainingInputLocation (std::string training_input_location_)
 Gets/Sets the directory containing the data for training. More...
 
std::string getTrainedDataLocation () const
 Gets/Sets the base directory for trained data. More...
 
virtual void setTrainedDataLocation (std::string trained_data_location_)
 The base directory for trained data. More...
 
std::string getSpecificTrainingDataLocation ()
 Gets the specific directory for a Trainer or a Detector inside trained_data_location_. More...
 
std::string getSpecificTrainingData ()
 
std::string const & getTrainedDataID () const
 
void setTrainedDataID (std::string const &trainedDataID)
 

Protected Attributes

int NN
 
std::string desc_name
 
boost::shared_ptr
< pcl::rec_3d_framework::GlobalClassifier
< pcl::PointXYZ > > 
global_
 
- Protected Attributes inherited from od::ODDetectorCommon
std::string training_input_location_
 
std::string trained_data_location_
 
std::string TRAINED_DATA_ID_
 
std::string TRAINED_LOCATION_DENTIFIER_
 

Additional Inherited Members

- Public Attributes inherited from od::ODDetector
bool metainfo_
 

Detailed Description

template<typename PointT = pcl::PointXYZRGBA>
class od::g3d::ODCADDetector3DGlobal< PointT >

Detector based on 3D global features like VFH, ESF, CVFH etc.

This class uses PCL 3d_recognition_framework in the background for the detection. First train your data using ODCADDetectTrainer3DGlobal and use this class for the detection. This detection will assume the presence of a plane (like a table top) in the pointcloud. It segments the point cloud assuming the presence of a plane and using a simple Euclidian segmentation. After that it finds the global features of each segmented scene match them with the trained data thereby performing a clssification. Read the documentation of ODCADDetectTrainer3DGlobal to know how the training data should be arranged and trained to get meaningful detection.

This class provides a detection for each segmented scenes which matches them the best. So the number of positive detection is same as the number of possible segmented scene in the point cloud.

Author
Kripasindhu Sarkar
Examples:
objectdetector/od_pc_global_files.cpp, and objectdetector/od_pc_global_real_time.cpp.

Definition at line 67 of file ODCADDetector3DGlobal.h.

Constructor & Destructor Documentation

template<typename PointT = pcl::PointXYZRGBA>
od::g3d::ODCADDetector3DGlobal< PointT >::ODCADDetector3DGlobal ( std::string const &  training_data_location = "",
std::string const &  training_input_location = "" 
)
inline

Definition at line 71 of file ODCADDetector3DGlobal.h.

Member Function Documentation

template<typename PointT>
ODDetections * od::g3d::ODCADDetector3DGlobal< PointT >::detect ( ODScenePointCloud< PointT > *  scene)
virtual

Function for performing detection on a segmented scene.

The purpose of this function is to perform detection on a segmented scene or an 'object candidate'. i.e. the entire scene is considered as an 'object' or an detection. It is possible for a scene to trigger multiple detections.

Parameters
[in]sceneAn instance of 3D scene
Returns
A number of detections as an ODDetections instance.

Implements od::ODDetector3D< PointT >.

Definition at line 165 of file ODCADDetector3DGlobal.hpp.

References od::ODScenePointCloud< PointType >::getPointCloud(), and od::ODDetections::push_back().

template<typename PointT>
ODDetections3D * od::g3d::ODCADDetector3DGlobal< PointT >::detectOmni ( ODScenePointCloud< PointT > *  scene)
virtual

Function for performing detection on an entire scene.

The purpose of this function is to detect an object in an entire scene. Thus, other than the type of detection we also have information about the location of the detection w.r.t. the scene.

Parameters
[in]sceneAn instance of 3D scene
Returns
A number of detections as an ODDetections3D instance containing information about the detection and its 3D pose.

Implements od::ODDetector3D< PointT >.

Definition at line 99 of file ODCADDetector3DGlobal.hpp.

References od::ODScenePointCloud< PointType >::getPointCloud(), od::ODDetections::push_back(), od::ODDetection::setId(), od::ODDetection3D::setLocation(), od::ODDetection3D::setMetainfoCluster(), and od::ODDetection::setType().

template<typename PointT = pcl::PointXYZRGBA>
std::string const& od::g3d::ODCADDetector3DGlobal< PointT >::getDescName ( ) const
inline

Definition at line 94 of file ODCADDetector3DGlobal.h.

template<typename PointT = pcl::PointXYZRGBA>
int od::g3d::ODCADDetector3DGlobal< PointT >::getNN ( ) const
inline

Definition at line 84 of file ODCADDetector3DGlobal.h.

template<typename PointT >
void od::g3d::ODCADDetector3DGlobal< PointT >::init ( )
virtual

Implements od::ODDetectorCommon.

Definition at line 15 of file ODCADDetector3DGlobal.hpp.

template<typename PointT = pcl::PointXYZRGBA>
void od::g3d::ODCADDetector3DGlobal< PointT >::setDescName ( std::string const &  desc_name)
inline

Definition at line 99 of file ODCADDetector3DGlobal.h.

template<typename PointT = pcl::PointXYZRGBA>
void od::g3d::ODCADDetector3DGlobal< PointT >::setNN ( int  NN)
inline

Definition at line 89 of file ODCADDetector3DGlobal.h.

Member Data Documentation

template<typename PointT = pcl::PointXYZRGBA>
std::string od::g3d::ODCADDetector3DGlobal< PointT >::desc_name
protected
template<typename PointT = pcl::PointXYZRGBA>
boost::shared_ptr<pcl::rec_3d_framework::GlobalClassifier<pcl::PointXYZ> > od::g3d::ODCADDetector3DGlobal< PointT >::global_
protected

Definition at line 107 of file ODCADDetector3DGlobal.h.

template<typename PointT = pcl::PointXYZRGBA>
int od::g3d::ODCADDetector3DGlobal< PointT >::NN
protected

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