Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches

#include <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 score (const vpRBFeatureTrackerInput &frame, const vpHomogeneousMatrix &cTo)=0
virtual double getScore () const =0
virtual bool hasDiverged () const =0
virtual void reset ()
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:

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 68 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

◆ reset()

virtual void vpRBDriftDetector::reset ( )
inlinevirtual

Reimplemented in vpRBProbabilistic3DDriftDetector.

Definition at line 103 of file vpRBDriftDetector.h.

◆ score()

virtual double vpRBDriftDetector::score ( const vpRBFeatureTrackerInput & frame,
const vpHomogeneousMatrix & cTo )
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.