Visual Servoing Platform  version 3.6.1 under development (2025-02-17)

#include <visp3/rbt/vpRBDriftDetector.h>

+ Inheritance diagram for vpRBDriftDetector:

Public Member Functions

 vpRBDriftDetector ()=default
 
virtual ~vpRBDriftDetector ()=default
 
virtual void update (const vpRBFeatureTrackerInput &previousFrame, const vpRBFeatureTrackerInput &frame, const vpHomogeneousMatrix &cTo, const vpHomogeneousMatrix &cprevTo)=0
 
virtual double getScore () const =0
 
virtual bool hasDiverged () const =0
 
virtual void display (const vpImage< vpRGBa > &I)=0
 
virtual void loadJsonConfiguration (const nlohmann::json &)=0
 

Detailed Description

Base interface for algorithms that should detect tracking drift for the render-based tracker.

In the tracking loop, these algorithms should be used as follows:

Definition at line 61 of file vpRBDriftDetector.h.

Constructor & Destructor Documentation

◆ vpRBDriftDetector()

vpRBDriftDetector::vpRBDriftDetector ( )
default

◆ ~vpRBDriftDetector()

virtual vpRBDriftDetector::~vpRBDriftDetector ( )
virtualdefault

Member Function Documentation

◆ display()

virtual void vpRBDriftDetector::display ( const vpImage< vpRGBa > &  I)
pure virtual

Displays the information used for drift detection.

Parameters
Ithe image in which to display the information

Implemented in vpRBProbabilistic3DDriftDetector.

◆ getScore()

virtual double vpRBDriftDetector::getScore ( ) const
pure virtual

Get the estimated tracking reliability. A high score should mean that the tracking is reliable. Different algorithms may use different value ranges.

Returns
The estimated tracking accuracy

Implemented in vpRBProbabilistic3DDriftDetector.

◆ hasDiverged()

virtual bool vpRBDriftDetector::hasDiverged ( ) const
pure virtual

Returns whether the tracking has diverged and should be reinitialized. This function should be called after update.

Implemented in vpRBProbabilistic3DDriftDetector.

◆ loadJsonConfiguration()

virtual void vpRBDriftDetector::loadJsonConfiguration ( const nlohmann::json &  )
pure virtual

◆ update()

virtual void vpRBDriftDetector::update ( const vpRBFeatureTrackerInput previousFrame,
const vpRBFeatureTrackerInput frame,
const vpHomogeneousMatrix cTo,
const vpHomogeneousMatrix cprevTo 
)
pure virtual

Update the algorithm after a new tracking step.

Parameters
previousFrameThe previous frame data: contains the input images at t-1 (linked to cprevTo) and the renders at t-2. May be empty for the first iteration
frameThe current frame data: contains the input images at time t (linked to the newly estimated cTo) and the renders at t-1 (linked to cprevTo)
cTothe newly estimated object pose in the camera frame
cprevTothe previously estimated object pose in the camera frame

Implemented in vpRBProbabilistic3DDriftDetector.