1
0
mirror of https://github.com/opencv/opencv_contrib.git synced 2025-10-19 11:21:39 +08:00
Files
opencv_contrib/modules/tracking/doc/tracker_algorithms.rst
Alex Leontiev 2fda95b80f The implementation of particle filtering tracker
This contribution aims to implement the sampler based on particle
filtering within a generic tracking API that opencv has. It still
remains to write the documentation.
2013-12-16 23:52:39 +08:00

122 lines
3.7 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Tracker Algorithms
==================
.. highlight:: cpp
The following algorithms are implemented at the moment.
.. [MIL] B Babenko, M-H Yang, and S Belongie, Visual Tracking with Online Multiple Instance Learning, In CVPR, 2009
.. [OLB] H Grabner, M Grabner, and H Bischof, Real-time tracking via on-line boosting, In Proc. BMVC, volume 1, pages 47 56, 2006
TrackerBoosting
---------------
This is a real-time object tracking based on a novel on-line version of the AdaBoost algorithm.
The classifier uses the surrounding background as negative examples in update step to avoid the drifting problem. The implementation is based on
[OLB]_.
.. ocv:class:: TrackerBoosting
Implementation of TrackerBoosting from :ocv:class:`Tracker`::
class CV_EXPORTS_W TrackerBoosting : public Tracker
{
public:
TrackerBoosting( const TrackerBoosting::Params &parameters = TrackerBoosting::Params() );
virtual ~TrackerBoosting();
void read( const FileNode& fn );
void write( FileStorage& fs ) const;
};
TrackerBoosting::Params
-----------------------------------------------------------------------
.. ocv:struct:: TrackerBoosting::Params
List of BOOSTING parameters::
struct CV_EXPORTS Params
{
Params();
int numClassifiers; //the number of classifiers to use in a OnlineBoosting algorithm
float samplerOverlap; //search region parameters to use in a OnlineBoosting algorithm
float samplerSearchFactor; // search region parameters to use in a OnlineBoosting algorithm
int iterationInit; //the initial iterations
int featureSetNumFeatures; // #features
void read( const FileNode& fn );
void write( FileStorage& fs ) const;
};
TrackerBoosting::TrackerBoosting
-----------------------------------------------------------------------
Constructor
.. ocv:function:: bool TrackerBoosting::TrackerBoosting( const TrackerBoosting::Params &parameters = TrackerBoosting::Params() )
:param parameters: BOOSTING parameters :ocv:struct:`TrackerBoosting::Params`
TrackerMIL
----------
The MIL algorithm trains a classifier in an online manner to separate the object from the background. Multiple Instance Learning avoids the drift problem for a robust tracking. The implementation is based on [MIL]_.
Original code can be found here http://vision.ucsd.edu/~bbabenko/project_miltrack.shtml
.. ocv:class:: TrackerMIL
Implementation of TrackerMIL from :ocv:class:`Tracker`::
class CV_EXPORTS_W TrackerMIL : public Tracker
{
public:
TrackerMIL( const TrackerMIL::Params &parameters = TrackerMIL::Params() );
virtual ~TrackerMIL();
void read( const FileNode& fn );
void write( FileStorage& fs ) const;
};
TrackerMIL::Params
------------------
.. ocv:struct:: TrackerMIL::Params
List of MIL parameters::
struct CV_EXPORTS Params
{
Params();
//parameters for sampler
float samplerInitInRadius; // radius for gathering positive instances during init
int samplerInitMaxNegNum; // # negative samples to use during init
float samplerSearchWinSize; // size of search window
float samplerTrackInRadius; // radius for gathering positive instances during tracking
int samplerTrackMaxPosNum; // # positive samples to use during tracking
int samplerTrackMaxNegNum; // # negative samples to use during tracking
int featureSetNumFeatures; // # features
void read( const FileNode& fn );
void write( FileStorage& fs ) const;
};
TrackerMIL::TrackerMIL
----------------------
Constructor
.. ocv:function:: bool TrackerMIL::TrackerMIL( const TrackerMIL::Params &parameters = TrackerMIL::Params() )
:param parameters: MIL parameters :ocv:struct:`TrackerMIL::Params`