39 #include <pcl/memory.h>
40 #include <pcl/pcl_exports.h>
41 #include <pcl/point_types.h>
42 #include <pcl/point_cloud.h>
43 #include <pcl/gpu/containers/device_array.h>
44 #include <pcl/gpu/people/colormap.h>
45 #include <pcl/gpu/people/label_blob2.h>
46 #include <pcl/gpu/people/label_common.h>
47 #include "pcl/gpu/people/person_attribs.h"
57 class MultiTreeLiveProc;
67 using Ptr = shared_ptr<RDFBodyPartsDetector>;
68 using ConstPtr = shared_ptr<const RDFBodyPartsDetector>;
69 using BlobMatrix = std::vector<std::vector<Blob2, Eigen::aligned_allocator<Blob2> > >;
77 int default_buffer_rows = 480,
int default_buffer_cols = 640);
87 void processProb (
const Depth& depth);
110 const Labels& getLabels()
const;
116 std::size_t getNumberTrees()
const;
137 std::shared_ptr<device::MultiTreeLiveProc> impl_;
139 int max_cluster_size_;
140 float cluster_tolerance_;
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);
shared_ptr< PersonAttribs > Ptr
pcl::device::LabelProbability P_l_Gaus_
pcl::device::LabelProbability P_l_2_
pcl::device::LabelProbability P_l_Gaus_Temp_
std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > BlobMatrix
pcl::device::LabelProbability P_l_prev_2_
Labels labels_
This contains the final body part labels.
shared_ptr< const RDFBodyPartsDetector > ConstPtr
pcl::device::LabelProbability P_l_
These contain the histograms of the labels for this detector.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
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.
pcl::device::LabelProbability P_l_1_
shared_ptr< RDFBodyPartsDetector > Ptr