![]() |
Visual Servoing Platform version 3.7.0
|
#include <vpRBVisualOdometryUtils.h>
Static Public Member Functions | |
| static std::pair< std::vector< unsigned int >, std::vector< unsigned int > > | computeIndicesObjectAndEnvironment (const vpMatrix &keypoints, const vpRBFeatureTrackerInput &frame, double minMaskConfidence, double minEdgeDistObject, double minEdgeDistEnv) |
| static void | levenbergMarquardtKeypoints2D (const vpMatrix &points3d, const vpMatrix &observations, const vpLevenbergMarquardtParameters ¶meters, vpHomogeneousMatrix &cTw) |
| static void | levenbergMarquardtKeypoints3D (const vpMatrix &points3d, const vpMatrix &observations, const vpLevenbergMarquardtParameters ¶meters, vpHomogeneousMatrix &cTw) |
Tutorials
If you want to have an in-depth presentation of the Render-Based Tracker (RBT), you may have a look at:
Definition at line 63 of file vpRBVisualOdometryUtils.h.
|
static |
Compute the indices of the keypoints that belong to either the object (the renderered depth is greater than 0) or the environment Keypoints that are too close to the silhouette edges are discarded. There are two thresholds, one for object candidates and another for environment candidates Points can also be filtered with the probability mask, if it is available and minMaskConfidence is greater than 0.
| keypoints | the keypoints that should be split between object and environment |
| frame | Input frame data, containing the renders |
| minMaskConfidence | The minimum mask confidence value to consider a point has belonging to the object. If 0, it is unused |
| minEdgeDistObject | Minimum euclidean distance between an object keypoint and the object silhouette's points to consider the keypoint as valid |
| minEdgeDistEnv | Minimum euclidean distance between an environment keypoint and the object silhouette's points to consider the keypoint as a valid one |
Definition at line 46 of file vpRBVisualOdometryUtils.cpp.
References vpRBRenderData::depth, vpImage< Type >::getHeight(), vpArray2D< Type >::getRows(), vpImage< Type >::getWidth(), vpRBFeatureTrackerInput::hasMask(), vpRBFeatureTrackerInput::mask, vpRBFeatureTrackerInput::renders, vpRBFeatureTrackerInput::silhouettePoints, and vpMath::sqr().
|
static |
Definition at line 113 of file vpRBVisualOdometryUtils.cpp.
References vpException::dimensionError, vpExponentialMap::direct(), vpMatrix::eye(), vpLevenbergMarquardtParameters::gain, vpArray2D< Type >::getCols(), vpArray2D< Type >::getRows(), vpHomogeneousMatrix::inverse(), vpLevenbergMarquardtParameters::maxNumIters, vpRobust::MEstimator(), vpLevenbergMarquardtParameters::minImprovementFactor, vpLevenbergMarquardtParameters::muInit, vpLevenbergMarquardtParameters::muIterFactor, vpMatrix::mult2Matrices(), vpMatrix::t(), and vpRobust::TUKEY.
|
static |
Definition at line 186 of file vpRBVisualOdometryUtils.cpp.
References vpException::dimensionError, vpExponentialMap::direct(), vpMatrix::eye(), vpLevenbergMarquardtParameters::gain, vpArray2D< Type >::getCols(), vpArray2D< Type >::getRows(), vpHomogeneousMatrix::inverse(), vpLevenbergMarquardtParameters::maxNumIters, vpRobust::MEstimator(), vpLevenbergMarquardtParameters::minImprovementFactor, vpLevenbergMarquardtParameters::muInit, vpLevenbergMarquardtParameters::muIterFactor, vpMatrix::mult2Matrices(), vpMatrix::t(), and vpRobust::TUKEY.