3#include <pcl/tracking/coherence.h>
4#include <pcl/tracking/kld_adaptive_particle_filter.h>
5#include <pcl/tracking/tracking.h>
17template <
typename Po
intInT,
typename StateT>
48 using Ptr = shared_ptr<KLDAdaptiveParticleFilterOMPTracker<PointInT, StateT>>;
50 shared_ptr<const KLDAdaptiveParticleFilterOMPTracker<PointInT, StateT>>;
101#ifdef PCL_NO_PRECOMPILE
102#include <pcl/tracking/impl/kld_adaptive_particle_filter_omp.hpp>
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
KLDAdaptiveParticleFilterOMPTracker tracks the PointCloud which is given by setReferenceCloud within ...
shared_ptr< KLDAdaptiveParticleFilterOMPTracker< PointInT, StateT > > Ptr
typename PointCloudIn::ConstPtr PointCloudInConstPtr
PointCloudCoherence< PointInT > CloudCoherence
typename Coherence::ConstPtr CoherenceConstPtr
typename CloudCoherence::ConstPtr CloudCoherenceConstPtr
unsigned int threads_
The number of threads the scheduler should use.
typename PointCloudState::ConstPtr PointCloudStateConstPtr
typename Coherence::Ptr CoherencePtr
PointCoherence< PointInT > Coherence
typename CloudCoherence::Ptr CloudCoherencePtr
KLDAdaptiveParticleFilterOMPTracker(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
shared_ptr< const KLDAdaptiveParticleFilterOMPTracker< PointInT, StateT > > ConstPtr
void weight() override
weighting phase of particle filter method.
typename PointCloudState::Ptr PointCloudStatePtr
typename Tracker< PointInT, StateT >::PointCloudIn PointCloudIn
typename PointCloudIn::Ptr PointCloudInPtr
typename Tracker< PointInT, StateT >::PointCloudState PointCloudState
Tracker< PointInT, StateT > BaseClass
KLDAdaptiveParticleFilterTracker tracks the PointCloud which is given by setReferenceCloud within the...
void calcBoundingBox(double &x_min, double &x_max, double &y_min, double &y_max, double &z_min, double &z_max)
Compute the parameters for the bounding box of hypothesis pointclouds.
CloudCoherencePtr coherence_
A pointer to PointCloudCoherence.
bool changed_
A flag to be true when change of pointclouds is detected.
unsigned int change_detector_filter_
Minimum points in a leaf when calling change detector.
pcl::octree::OctreePointCloudChangeDetector< PointInT >::Ptr change_detector_
Change detector used as a trigger to track.
pcl::PassThrough< PointInT > pass_z_
Pass through filter to crop the pointclouds within the hypothesis bounding box.
std::vector< PointCloudInPtr > transed_reference_vector_
A list of the pointers to pointclouds.
pcl::PassThrough< PointInT > pass_y_
Pass through filter to crop the pointclouds within the hypothesis bounding box.
unsigned int change_counter_
A counter to skip change detection.
double alpha_
The weight to be used in normalization of the weights of the particles.
bool use_normal_
A flag to use normal or not.
PointCloudStatePtr particles_
A pointer to the particles
unsigned int change_detector_interval_
The number of interval frame to run change detection.
double normalizeParticleWeight(double w, double w_min, double w_max)
Normalize the weight of a particle using .
int particle_num_
The number of the particles.
pcl::PassThrough< PointInT > pass_x_
Pass through filter to crop the pointclouds within the hypothesis bounding box.
bool use_change_detector_
The flag which will be true if using change detection.
virtual void normalizeWeight()
Normalize the weights of all the particels.
PointCloudCoherence is a base class to compute coherence between the two PointClouds.
PointCoherence is a base class to compute coherence between the two points.
Tracker represents the base tracker class.
const std::string & getClassName() const
Get a string representation of the name of this class.
SearchPtr search_
A pointer to the spatial search object.
std::string tracker_name_
The tracker name.
pcl::PointCloud< StateT > PointCloudState