Filter object recognition results. More...
#include <false_positives_filter.h>
Classes | |
struct | Parameters |
Public Types | |
typedef PosesFromMatches::PoseEstimate | PoseEstimate |
typedef PosesFromMatches::PoseEstimatesVector | PoseEstimates |
Public Member Functions | |
void | doIcp (const RangeImage &scene, const ObjectModel &model, PoseEstimates &pose_estimates, bool fast_icp) const |
Perform a fast ICP step. | |
FalsePositivesFilter () | |
void | filterResults (const RangeImage &scene, const ObjectModel &model, PoseEstimates &pose_estimates) const |
Do all the filtering steps. | |
Parameters & | getParameters () |
Get a reference to the parameters struct. | |
void | keepBest (PoseEstimates &pose_estimates, int max_no_of_results) const |
Only keep the given number of best pose estimates. | |
void | maximumRange (const RangeImage &scene, const ObjectModel &model, PoseEstimates &pose_estimates, float maximum_range) const |
Filter results regarding maximumdistance between object center and observer. | |
void | setViewSimulationImagesPtr (std::vector< RangeImage > *vsi_ptr) |
Set the pointer to store view simulation results. | |
void | similarPoses (const ObjectModel &model, PoseEstimates &pose_estimates) const |
Filter results that are in the same place. Keep only the one with the highest score. | |
void | sortAndApplyMinScore (PoseEstimates &pose_estimates, float min_score) const |
Sort the pose estimates regarding decreasing score and keep only those above the minimum score. | |
void | validationPoints (const RangeImage &scene, const ObjectModel &model, PoseEstimates &pose_estimates, float min_score, float max_dist_error=-1.0f) const |
Filter results based on the reprojection of validation points. | |
void | viewSimulation (const RangeImage &scene, const ObjectModel &model, PoseEstimates &pose_estimates, float min_score, float max_dist_error=-1.0f, std::vector< RangeImage > *results=NULL) const |
virtual | ~FalsePositivesFilter () |
Protected Member Functions | |
float | getBorderValidationPointScore (const std::vector< Eigen::Vector3f > &border_points, const Eigen::Affine3f &pose, const RangeImage &scene, float max_dist_error, float min_score) const |
void | getRangeImagesForComparison (const RangeImage &scene, const ObjectModel &model, const PoseEstimate &pose_estimate, RangeImage &object_image, RangeImage &scene_sub_image) const |
float | getSurfaceValidationPointScore (const std::vector< Eigen::Vector3f > &surface_points, const Eigen::Affine3f &pose, const RangeImage &scene, float max_dist_error, float min_score) const |
float | getViewSimulationNormalsScore (const RangeImage &object_image, const RangeImage &scene_sub_image, RangeImage *score_image=NULL) const |
float | getViewSimulationScore (const RangeImage &object_image, const RangeImage &scene_sub_image, float max_dist_error, float &border_score, RangeImage *score_image=NULL) const |
Protected Attributes | |
Parameters | parameters_ |
std::vector< RangeImage > * | view_simulation_images_ |
Filter object recognition results.
Definition at line 52 of file false_positives_filter.h.
typedef PosesFromMatches::PoseEstimate pcl::FalsePositivesFilter::PoseEstimate |
Definition at line 56 of file false_positives_filter.h.
typedef PosesFromMatches::PoseEstimatesVector pcl::FalsePositivesFilter::PoseEstimates |
Definition at line 57 of file false_positives_filter.h.
Constructor
Definition at line 50 of file false_positives_filter.cpp.
pcl::FalsePositivesFilter::~FalsePositivesFilter | ( | ) | [virtual] |
Destructor
Definition at line 54 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::doIcp | ( | const RangeImage & | scene, |
const ObjectModel & | model, | ||
PoseEstimates & | pose_estimates, | ||
bool | fast_icp | ||
) | const |
Perform a fast ICP step.
Definition at line 656 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::filterResults | ( | const RangeImage & | scene, |
const ObjectModel & | model, | ||
PoseEstimates & | pose_estimates | ||
) | const |
Do all the filtering steps.
Definition at line 685 of file false_positives_filter.cpp.
float pcl::FalsePositivesFilter::getBorderValidationPointScore | ( | const std::vector< Eigen::Vector3f > & | border_points, |
const Eigen::Affine3f & | pose, | ||
const RangeImage & | scene, | ||
float | max_dist_error, | ||
float | min_score | ||
) | const [protected] |
Definition at line 239 of file false_positives_filter.cpp.
Parameters& pcl::FalsePositivesFilter::getParameters | ( | ) | [inline] |
Get a reference to the parameters struct.
Definition at line 166 of file false_positives_filter.h.
void pcl::FalsePositivesFilter::getRangeImagesForComparison | ( | const RangeImage & | scene, |
const ObjectModel & | model, | ||
const PoseEstimate & | pose_estimate, | ||
RangeImage & | object_image, | ||
RangeImage & | scene_sub_image | ||
) | const [protected] |
Get range image of the part in the scene where the object is supposed to be and a simulated view of the model from the same perspective
Definition at line 59 of file false_positives_filter.cpp.
float pcl::FalsePositivesFilter::getSurfaceValidationPointScore | ( | const std::vector< Eigen::Vector3f > & | surface_points, |
const Eigen::Affine3f & | pose, | ||
const RangeImage & | scene, | ||
float | max_dist_error, | ||
float | min_score | ||
) | const [protected] |
Definition at line 321 of file false_positives_filter.cpp.
float pcl::FalsePositivesFilter::getViewSimulationNormalsScore | ( | const RangeImage & | object_image, |
const RangeImage & | scene_sub_image, | ||
RangeImage * | score_image = NULL |
||
) | const [protected] |
Definition at line 82 of file false_positives_filter.cpp.
float pcl::FalsePositivesFilter::getViewSimulationScore | ( | const RangeImage & | object_image, |
const RangeImage & | scene_sub_image, | ||
float | max_dist_error, | ||
float & | border_score, | ||
RangeImage * | score_image = NULL |
||
) | const [protected] |
Definition at line 124 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::keepBest | ( | PoseEstimates & | pose_estimates, |
int | max_no_of_results | ||
) | const |
Only keep the given number of best pose estimates.
Definition at line 471 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::maximumRange | ( | const RangeImage & | scene, |
const ObjectModel & | model, | ||
PoseEstimates & | pose_estimates, | ||
float | maximum_range | ||
) | const |
Filter results regarding maximumdistance between object center and observer.
Definition at line 576 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::setViewSimulationImagesPtr | ( | std::vector< RangeImage > * | vsi_ptr | ) | [inline] |
Set the pointer to store view simulation results.
Definition at line 170 of file false_positives_filter.h.
void pcl::FalsePositivesFilter::similarPoses | ( | const ObjectModel & | model, |
PoseEstimates & | pose_estimates | ||
) | const |
Filter results that are in the same place. Keep only the one with the highest score.
Definition at line 598 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::sortAndApplyMinScore | ( | PoseEstimates & | pose_estimates, |
float | min_score | ||
) | const |
Sort the pose estimates regarding decreasing score and keep only those above the minimum score.
Definition at line 647 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::validationPoints | ( | const RangeImage & | scene, |
const ObjectModel & | model, | ||
PoseEstimates & | pose_estimates, | ||
float | min_score, | ||
float | max_dist_error = -1.0f |
||
) | const |
Filter results based on the reprojection of validation points.
Definition at line 400 of file false_positives_filter.cpp.
void pcl::FalsePositivesFilter::viewSimulation | ( | const RangeImage & | scene, |
const ObjectModel & | model, | ||
PoseEstimates & | pose_estimates, | ||
float | min_score, | ||
float | max_dist_error = -1.0f , |
||
std::vector< RangeImage > * | results = NULL |
||
) | const |
Calculate a score based on the comparison of the part in the scene where the object is supposed to be and a simulated view of the model from the same perspective. The produced range images can be retrieved for debug purposes by setting results.
Definition at line 488 of file false_positives_filter.cpp.
Parameters pcl::FalsePositivesFilter::parameters_ [protected] |
Definition at line 195 of file false_positives_filter.h.
std::vector<RangeImage>* pcl::FalsePositivesFilter::view_simulation_images_ [protected] |
Definition at line 196 of file false_positives_filter.h.