KCF kernelized Correlation Filters

在信号处理中,有相关性的概念。两张图片的相关性可以理解为两张图片之间的相似度。

MOSSE
min output sum of square error filter
这里写图片描述
这边为了保证追踪的准确性,采用了多张图片作为滤波器训练的样本。这边没有用卷积,而是矩阵点乘的方式,极大地减少了计算机的运算时间。

相关滤波器应用于目标追踪的原理:
先选取一些帧或一帧作为输入,从中提出目标所在的区域,并以此训练滤波器。对于之后的每一帧图片用FFT变换,然后与相关滤波器相乘,这样得到的最终的结果中反应最大的就是所追踪的目标所在的位置。
对于每次所检测到的目标都会返回去反馈给滤波器,对其训练更新。
KCF算法效果好,运算速度快的地方在于其使用了循环矩阵、FFT计算,以及HOG特征。

opencv中有相关的函数代码:
// create a tracker object
Ptr tracker = Tracker::create( “KCF” );

// get bounding box
roi=selectROI(“tracker”,frame);

// initialize the tracker
tracker->init(frame,roi);

for ( ;; ){
cap >> frame;
tracker->update(frame,roi);
rectangle( frame, roi, Scalar( 255, 0, 0 ), 2, 1 );
imshow(“tracker”,frame);
if(waitKey(1)==27)break;
}

补充知识:
循环矩阵用离散傅里叶变换解比较快,不用矩阵求逆

https://docs.opencv.org/3.1.0/d2/d0a/tutorial_introduction_to_tracker.html
本文参考引用了:http://blog.csdn.net/sgfmby1994/article/details/68490903

你可能感兴趣的:(ml)