kalman filter
KCF
尺度变化是跟踪中比较基本和常见的问题,前面介绍的三个算法都没有尺度更新,如果目标缩小,滤波器就会学习到大量背景信息,如果目标扩大,滤波器就跟着目标局部纹理走了,这两种情况都很可能出现非预期的结果,导致漂移和失败。
http://www.robots.ox.ac.uk/~joao/circulant/
https://elbauldelprogramador.com/en/how-to-compile-opencv3-nonfree-part-from-source/
https://github.com/joaofaro/KCFcpp
struct CV_EXPORTS Params
{
/**
* \brief Constructor
*/
Params();
/**
* \brief Read parameters from a file
*/
void read(const FileNode& /*fn*/);
/**
* \brief Write parameters to a file
*/
void write(FileStorage& /*fs*/) const;
float detect_thresh; //!< detection confidence threshold
float sigma; //!< gaussian kernel bandwidth
float lambda; //!< regularization
float interp_factor; //!< linear interpolation factor for adaptation
float output_sigma_factor; //!< spatial bandwidth (proportional to target)
float pca_learning_rate; //!< compression learning rate
bool resize; //!< activate the resize feature to improve the processing speed
bool split_coeff; //!< split the training coefficients into two matrices
bool wrap_kernel; //!< wrap around the kernel values
bool compress_feature; //!< activate the pca method to compress the features
int max_patch_size; //!< threshold for the ROI size
int compressed_size; //!< feature size after compression
int desc_pca; //!< compressed descriptors of TrackerKCF::MODE
int desc_npca; //!< non-compressed descriptors of TrackerKCF::MODE
};
/** @brief Constructor
@param parameters KCF parameters TrackerKCF::Params
*/
static Ptr<TrackerKCF> create(const
dlib中自带的correlation_tracker类
http://dlib.net/python/index.html#dlib.correlation_tracker
Danelljan, Martin, et al. ‘Accurate scale estimation for robust visual tracking.’ Proceedings of the British Machine Vision Conference BMVC. 2014.
完