38 #ifndef PCL_GPU_PEOPLE_RDF_BODYPARTS_DETECTOR_H 39 #define PCL_GPU_PEOPLE_RDF_BODYPARTS_DETECTOR_H 41 #include <pcl/pcl_exports.h> 43 #include <pcl/point_cloud.h> 44 #include <pcl/gpu/containers/device_array.h> 45 #include <pcl/gpu/people/colormap.h> 46 #include <pcl/gpu/people/label_blob2.h> 47 #include <pcl/gpu/people/label_common.h> 48 #include "pcl/gpu/people/person_attribs.h" 49 #include <boost/shared_ptr.hpp> 58 class MultiTreeLiveProc;
68 typedef boost::shared_ptr<RDFBodyPartsDetector>
Ptr;
69 typedef std::vector<std::vector<Blob2, Eigen::aligned_allocator<Blob2> > >
BlobMatrix;
77 int default_buffer_rows = 480,
int default_buffer_cols = 640);
87 void processProb (
const Depth& depth);
92 void processSmooth (
const Depth& depth,
const PointCloud<PointXYZ>& cloud,
int min_pts_per_cluster);
110 const Labels& getLabels()
const;
116 size_t getNumberTrees()
const;
117 const BlobMatrix& getBlobMatrix()
const;
137 boost::shared_ptr<device::MultiTreeLiveProc> impl_;
139 int max_cluster_size_;
140 float cluster_tolerance_;
142 BlobMatrix blob_matrix_;
145 std::vector<unsigned char> lmap_host_;
146 std::vector<int> dst_labels_;
147 std::vector<int> region_sizes_;
148 std::vector<int> remap_;
149 std::vector<float> means_storage_;
153 void allocate_buffers(
int rows = 480,
int cols = 640);
pcl::device::LabelProbability P_l_Gaus_
pcl::device::LabelProbability P_l_2_
pcl::device::LabelProbability P_l_Gaus_Temp_
pcl::device::LabelProbability P_l_prev_2_
boost::shared_ptr< RDFBodyPartsDetector > Ptr
Labels labels_
This contains the final body part labels.
DeviceArray2D< pcl::RGB > Image
Defines all the PCL implemented PointT point type structures.
std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > BlobMatrix
pcl::device::LabelProbability P_l_
These contain the histograms of the labels for this detector.
DeviceArray2D< unsigned short > Depth
pcl::device::LabelProbability P_l_prev_1_
These contain the histograms of the labels for this detector of the previous timestep.
Labels labels_smoothed_
This contains the smoothed final body part labels.
boost::shared_ptr< PersonAttribs > Ptr
pcl::device::LabelProbability P_l_1_
DeviceArray2D< unsigned char > Labels