Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches
vpRBVisualOdometryUtils Class Reference

#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 &parameters, vpHomogeneousMatrix &cTw)
static void levenbergMarquardtKeypoints3D (const vpMatrix &points3d, const vpMatrix &observations, const vpLevenbergMarquardtParameters &parameters, vpHomogeneousMatrix &cTw)

Detailed Description

Tutorials & Examples

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.

Member Function Documentation

◆ computeIndicesObjectAndEnvironment()

BEGIN_VISP_NAMESPACE std::pair< std::vector< unsigned int >, std::vector< unsigned int > > vpRBVisualOdometryUtils::computeIndicesObjectAndEnvironment ( const vpMatrix & keypoints,
const vpRBFeatureTrackerInput & frame,
double minMaskConfidence,
double minEdgeDistObject,
double minEdgeDistEnv )
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.

Parameters
keypointsthe keypoints that should be split between object and environment
frameInput frame data, containing the renders
minMaskConfidenceThe minimum mask confidence value to consider a point has belonging to the object. If 0, it is unused
minEdgeDistObjectMinimum euclidean distance between an object keypoint and the object silhouette's points to consider the keypoint as valid
minEdgeDistEnvMinimum euclidean distance between an environment keypoint and the object silhouette's points to consider the keypoint as a valid one
Returns
std::pair<std::vector<unsigned int>, std::vector<unsigned int>>

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().

◆ levenbergMarquardtKeypoints2D()

◆ levenbergMarquardtKeypoints3D()