class mp2p_icp::QualityEvaluator_RangeImageSimilarity¶
Overview¶
Matching quality evaluator: simple ratio [0,1] of paired entities. More…
#include <QualityEvaluator_RangeImageSimilarity.h> class QualityEvaluator_RangeImageSimilarity: public mp2p_icp::QualityEvaluator { public: // fields mrpt::img::TCamera rangeCamera; double sigma = 0.1; double penalty_not_visible = 2.0; bool debug_show_all_in_window = false; bool debug_save_all_matrices = false; // methods virtual void initialize(const mrpt::containers::yaml& params); virtual double evaluate( const metric_map_t& pcGlobal, const metric_map_t& pcLocal, const mrpt::poses::CPose3D& localPose, const Pairings& pairingsFromICP ) const; mrpt::math::CMatrixDouble projectPoints( const mrpt::maps::CPointsMap& pts, const std::optional<mrpt::poses::CPose3D>& relativePose = std::nullopt ) const; std::vector<double> scores( const mrpt::math::CMatrixDouble& m1, const mrpt::math::CMatrixDouble& m2 ) const; };
Inherited Members¶
public: // methods virtual void initialize(const mrpt::containers::yaml& params) = 0; virtual double evaluate( const metric_map_t& pcGlobal, const metric_map_t& pcLocal, const mrpt::poses::CPose3D& localPose, const Pairings& pairingsFromICP ) const = 0;
Detailed Documentation¶
Matching quality evaluator: simple ratio [0,1] of paired entities.
Implementation of the method in the papper:
- “Analyzing the Quality of Matched 3D Point Clouds of Objects”, Igor Bogoslavskyi, Cyrill Stachniss, IROS 2017.
This implementation reprojects points into range images with the resolution defined in parameters and compares the likelihood of both range images to be generated from the same point clouds.
At present, the PT_LAYER_RAW layer of points is the only one that is used to evaluate the depth images.
Fields¶
mrpt::img::TCamera rangeCamera
Parameters for the simulated camera
double penalty_not_visible = 2.0
!< Uncertainty of depth ranges [meters]
Penalty for pixels only visible from one view point [in “sigmas”]
Methods¶
virtual void initialize(const mrpt::containers::yaml& params)
See base class. Parameters :
ncols: 200 nrows: 100 cx: 100 cy: 50 fx: 50 fy: 50 sigma: 0.1 #debug_show_all_in_window: false
virtual double evaluate( const metric_map_t& pcGlobal, const metric_map_t& pcLocal, const mrpt::poses::CPose3D& localPose, const Pairings& pairingsFromICP ) const
See base class. This implementation does NOT use pairingsFromICP
at all, it can be empty.