Point Cloud Library (PCL)
1.14.1-dev
|
PersonCluster represents a class for representing information about a cluster containing a person. More...
#include <pcl/people/person_cluster.h>
Public Types | |
using | PointCloud = pcl::PointCloud< PointT > |
using | PointCloudPtr = typename PointCloud::Ptr |
using | PointCloudConstPtr = typename PointCloud::ConstPtr |
Public Member Functions | |
PersonCluster (const PointCloudPtr &input_cloud, const pcl::PointIndices &indices, const Eigen::VectorXf &ground_coeffs, float sqrt_ground_coeffs, bool head_centroid, bool vertical=false) | |
Constructor. More... | |
virtual | ~PersonCluster () |
Destructor. More... | |
float | getHeight () const |
Returns the height of the cluster. More... | |
float | updateHeight (const Eigen::VectorXf &ground_coeffs) |
Update the height of the cluster. More... | |
float | updateHeight (const Eigen::VectorXf &ground_coeffs, float sqrt_ground_coeffs) |
Update the height of the cluster. More... | |
float | getDistance () const |
Returns the distance of the cluster from the sensor. More... | |
float | getAngle () const |
Returns the angle formed by the cluster's centroid with respect to the sensor (in radians). More... | |
float | getAngleMin () const |
Returns the minimum angle formed by the cluster with respect to the sensor (in radians). More... | |
float | getAngleMax () const |
Returns the maximum angle formed by the cluster with respect to the sensor (in radians). More... | |
pcl::PointIndices & | getIndices () |
Returns the indices of the point cloud points corresponding to the cluster. More... | |
Eigen::Vector3f & | getTTop () |
Returns the theoretical top point. More... | |
Eigen::Vector3f & | getTBottom () |
Returns the theoretical bottom point. More... | |
Eigen::Vector3f & | getTCenter () |
Returns the theoretical centroid (at half height). More... | |
Eigen::Vector3f & | getTop () |
Returns the top point. More... | |
Eigen::Vector3f & | getBottom () |
Returns the bottom point. More... | |
Eigen::Vector3f & | getCenter () |
Returns the centroid. More... | |
Eigen::Vector3f & | getMin () |
Returns the point formed by min x, min y and min z. More... | |
Eigen::Vector3f & | getMax () |
Returns the point formed by max x, max y and max z. More... | |
float | getPersonConfidence () const |
Returns the HOG confidence. More... | |
int | getNumberPoints () const |
Returns the number of points of the cluster. More... | |
void | setHeight (float height) |
Sets the cluster height. More... | |
void | setPersonConfidence (float confidence) |
Sets the HOG confidence. More... | |
void | drawTBoundingBox (pcl::visualization::PCLVisualizer &viewer, int person_number) |
Draws the theoretical 3D bounding box of the cluster in the PCL visualizer. More... | |
Protected Member Functions | |
void | init (const PointCloudPtr &input_cloud, const pcl::PointIndices &indices, const Eigen::VectorXf &ground_coeffs, float sqrt_ground_coeffs, bool head_centroid, bool vertical) |
PersonCluster initialization. More... | |
Protected Attributes | |
bool | head_centroid_ |
float | min_x_ |
Minimum x coordinate of the cluster points. More... | |
float | min_y_ |
Minimum y coordinate of the cluster points. More... | |
float | min_z_ |
Minimum z coordinate of the cluster points. More... | |
float | max_x_ |
Maximum x coordinate of the cluster points. More... | |
float | max_y_ |
Maximum y coordinate of the cluster points. More... | |
float | max_z_ |
Maximum z coordinate of the cluster points. More... | |
float | sum_x_ |
Sum of x coordinates of the cluster points. More... | |
float | sum_y_ |
Sum of y coordinates of the cluster points. More... | |
float | sum_z_ |
Sum of z coordinates of the cluster points. More... | |
int | n_ |
Number of cluster points. More... | |
float | c_x_ |
x coordinate of the cluster centroid. More... | |
float | c_y_ |
y coordinate of the cluster centroid. More... | |
float | c_z_ |
z coordinate of the cluster centroid. More... | |
float | height_ |
Cluster height from the ground plane. More... | |
float | distance_ |
Cluster distance from the sensor. More... | |
float | angle_ |
Cluster centroid horizontal angle with respect to z axis. More... | |
float | angle_max_ |
Maximum angle of the cluster points. More... | |
float | angle_min_ |
Minimum angle of the cluster points. More... | |
Eigen::Vector3f | top_ |
Cluster top point. More... | |
Eigen::Vector3f | bottom_ |
Cluster bottom point. More... | |
Eigen::Vector3f | center_ |
Cluster centroid. More... | |
Eigen::Vector3f | ttop_ |
Theoretical cluster top. More... | |
Eigen::Vector3f | tbottom_ |
Theoretical cluster bottom (lying on the ground plane). More... | |
Eigen::Vector3f | tcenter_ |
Theoretical cluster center (between ttop_ and tbottom_). More... | |
Eigen::Vector3f | min_ |
Vector containing the minimum coordinates of the cluster. More... | |
Eigen::Vector3f | max_ |
Vector containing the maximum coordinates of the cluster. More... | |
pcl::PointIndices | points_indices_ |
Point cloud indices of the cluster points. More... | |
bool | vertical_ |
If true, the sensor is considered to be vertically placed (portrait mode). More... | |
float | person_confidence_ |
PersonCluster HOG confidence. More... | |
Friends | |
bool | operator< (const PersonCluster< PointT > &c1, const PersonCluster< PointT > &c2) |
For sorting purpose: sort by distance. More... | |
PersonCluster represents a class for representing information about a cluster containing a person.
Definition at line 58 of file person_cluster.h.
using pcl::people::PersonCluster< PointT >::PointCloud = pcl::PointCloud<PointT> |
Definition at line 137 of file person_cluster.h.
using pcl::people::PersonCluster< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Definition at line 139 of file person_cluster.h.
using pcl::people::PersonCluster< PointT >::PointCloudPtr = typename PointCloud::Ptr |
Definition at line 138 of file person_cluster.h.
pcl::people::PersonCluster< PointT >::PersonCluster | ( | const PointCloudPtr & | input_cloud, |
const pcl::PointIndices & | indices, | ||
const Eigen::VectorXf & | ground_coeffs, | ||
float | sqrt_ground_coeffs, | ||
bool | head_centroid, | ||
bool | vertical = false |
||
) |
Constructor.
Definition at line 47 of file person_cluster.hpp.
|
virtualdefault |
Destructor.
void pcl::people::PersonCluster< PointT >::drawTBoundingBox | ( | pcl::visualization::PCLVisualizer & | viewer, |
int | person_number | ||
) |
Draws the theoretical 3D bounding box of the cluster in the PCL visualizer.
[in] | viewer | PCL visualizer. |
[in] | person_number | progressive number representing the person. |
Definition at line 385 of file person_cluster.hpp.
References pcl::visualization::PCLVisualizer::addCube(), pcl::visualization::PCL_VISUALIZER_COLOR, pcl::visualization::PCL_VISUALIZER_LINE_WIDTH, pcl::visualization::PCLVisualizer::removeShape(), pcl::visualization::PCLVisualizer::setShapeRenderingProperties(), and pcl::ModelCoefficients::values.
float pcl::people::PersonCluster< PointT >::getAngle |
Returns the angle formed by the cluster's centroid with respect to the sensor (in radians).
Definition at line 343 of file person_cluster.hpp.
float pcl::people::PersonCluster< PointT >::getAngleMax |
Returns the maximum angle formed by the cluster with respect to the sensor (in radians).
Definition at line 349 of file person_cluster.hpp.
float pcl::people::PersonCluster< PointT >::getAngleMin |
Returns the minimum angle formed by the cluster with respect to the sensor (in radians).
Definition at line 355 of file person_cluster.hpp.
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getBottom |
Returns the bottom point.
Definition at line 319 of file person_cluster.hpp.
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getCenter |
float pcl::people::PersonCluster< PointT >::getDistance |
Returns the distance of the cluster from the sensor.
Definition at line 289 of file person_cluster.hpp.
float pcl::people::PersonCluster< PointT >::getHeight |
Returns the height of the cluster.
Definition at line 261 of file person_cluster.hpp.
pcl::PointIndices & pcl::people::PersonCluster< PointT >::getIndices |
Returns the indices of the point cloud points corresponding to the cluster.
Definition at line 255 of file person_cluster.hpp.
Referenced by pcl::people::HeightMap2D< PointT >::compute(), and pcl::people::HeadBasedSubclustering< PointT >::createSubClusters().
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getMax |
Returns the point formed by max x, max y and max z.
Definition at line 337 of file person_cluster.hpp.
Referenced by pcl::people::HeightMap2D< PointT >::compute().
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getMin |
Returns the point formed by min x, min y and min z.
Definition at line 331 of file person_cluster.hpp.
Referenced by pcl::people::HeightMap2D< PointT >::compute().
int pcl::people::PersonCluster< PointT >::getNumberPoints |
Returns the number of points of the cluster.
Definition at line 361 of file person_cluster.hpp.
float pcl::people::PersonCluster< PointT >::getPersonConfidence |
Returns the HOG confidence.
Definition at line 367 of file person_cluster.hpp.
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTBottom |
Returns the theoretical bottom point.
Definition at line 301 of file person_cluster.hpp.
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTCenter |
Returns the theoretical centroid (at half height).
Definition at line 307 of file person_cluster.hpp.
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTop |
Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTTop |
Returns the theoretical top point.
Definition at line 295 of file person_cluster.hpp.
|
protected |
PersonCluster initialization.
Definition at line 59 of file person_cluster.hpp.
References pcl::PointIndices::indices.
void pcl::people::PersonCluster< PointT >::setHeight | ( | float | height | ) |
void pcl::people::PersonCluster< PointT >::setPersonConfidence | ( | float | confidence | ) |
Sets the HOG confidence.
[in] | confidence |
Definition at line 373 of file person_cluster.hpp.
float pcl::people::PersonCluster< PointT >::updateHeight | ( | const Eigen::VectorXf & | ground_coeffs | ) |
Update the height of the cluster.
[in] | ground_coeffs | The coefficients of the ground plane. |
Definition at line 267 of file person_cluster.hpp.
float pcl::people::PersonCluster< PointT >::updateHeight | ( | const Eigen::VectorXf & | ground_coeffs, |
float | sqrt_ground_coeffs | ||
) |
Update the height of the cluster.
[in] | ground_coeffs | The coefficients of the ground plane. |
[in] | sqrt_ground_coeffs | The norm of the vector [a, b, c] where a, b and c are the first three coefficients of the ground plane (ax + by + cz + d = 0). |
Definition at line 274 of file person_cluster.hpp.
|
friend |
For sorting purpose: sort by distance.
|
protected |
Cluster centroid horizontal angle with respect to z axis.
Definition at line 101 of file person_cluster.h.
|
protected |
Maximum angle of the cluster points.
Definition at line 104 of file person_cluster.h.
|
protected |
Minimum angle of the cluster points.
Definition at line 106 of file person_cluster.h.
|
protected |
Cluster bottom point.
Definition at line 111 of file person_cluster.h.
|
protected |
x coordinate of the cluster centroid.
Definition at line 89 of file person_cluster.h.
|
protected |
y coordinate of the cluster centroid.
Definition at line 91 of file person_cluster.h.
|
protected |
z coordinate of the cluster centroid.
Definition at line 93 of file person_cluster.h.
|
protected |
Cluster centroid.
Definition at line 113 of file person_cluster.h.
|
protected |
Cluster distance from the sensor.
Definition at line 99 of file person_cluster.h.
|
protected |
Definition at line 62 of file person_cluster.h.
|
protected |
Cluster height from the ground plane.
Definition at line 96 of file person_cluster.h.
|
protected |
Vector containing the maximum coordinates of the cluster.
Definition at line 125 of file person_cluster.h.
|
protected |
Maximum x coordinate of the cluster points.
Definition at line 72 of file person_cluster.h.
|
protected |
Maximum y coordinate of the cluster points.
Definition at line 74 of file person_cluster.h.
|
protected |
Maximum z coordinate of the cluster points.
Definition at line 76 of file person_cluster.h.
|
protected |
Vector containing the minimum coordinates of the cluster.
Definition at line 123 of file person_cluster.h.
|
protected |
Minimum x coordinate of the cluster points.
Definition at line 65 of file person_cluster.h.
|
protected |
Minimum y coordinate of the cluster points.
Definition at line 67 of file person_cluster.h.
|
protected |
Minimum z coordinate of the cluster points.
Definition at line 69 of file person_cluster.h.
|
protected |
Number of cluster points.
Definition at line 86 of file person_cluster.h.
|
protected |
PersonCluster HOG confidence.
Definition at line 133 of file person_cluster.h.
|
protected |
Point cloud indices of the cluster points.
Definition at line 128 of file person_cluster.h.
|
protected |
Sum of x coordinates of the cluster points.
Definition at line 79 of file person_cluster.h.
|
protected |
Sum of y coordinates of the cluster points.
Definition at line 81 of file person_cluster.h.
|
protected |
Sum of z coordinates of the cluster points.
Definition at line 83 of file person_cluster.h.
|
protected |
Theoretical cluster bottom (lying on the ground plane).
Definition at line 118 of file person_cluster.h.
|
protected |
Theoretical cluster center (between ttop_ and tbottom_).
Definition at line 120 of file person_cluster.h.
|
protected |
Cluster top point.
Definition at line 109 of file person_cluster.h.
|
protected |
Theoretical cluster top.
Definition at line 116 of file person_cluster.h.
|
protected |
If true, the sensor is considered to be vertically placed (portrait mode).
Definition at line 131 of file person_cluster.h.