这是笔者目前碰到的性能最好的传统目标跟踪算法,所以这里也简单介绍下这个算法的由来。
一、算法介绍
KCF全称为Kernel Correlation Filter 核相关滤波算法。是在2014年由Joao F. Henriques, Rui Caseiro, Pedro Martins, and Jorge Batista提出来的,算法出来之后也算是轰动一时,这个算法不论是在跟踪效果还是跟踪速度上都有十分亮眼的表现。属于判别式跟踪,主要是使用给出的样本去训练一个判别分类器,判断跟踪到的是目标还是周围的背景信息。主要使用轮转矩阵对样本进行采集,使用快速傅里叶变化对算法进行加速计算。
对原理很感兴趣的小伙伴可以看这个博客,写得很详细。
第一点,KCF因为在跟踪过程当中目标框是已经设定好的,从始至终大小为发生变化,但是我们的跟踪序列当中目标大小时有发生变化,这个就会导致跟踪器跟踪过程当中目标框漂移,从而导致跟踪失败。
第二点,KCF对在跟踪过程当中当目标被遮挡时候的处理问题没有进行很好的解决。
二、代码
int main(int argc, char* argv[])
{
VideoCapture capture(2);
if (!capture.isOpened())
return 1;
Mat firframe, frame;
capture>>fir

KCF是一种高性能的传统目标跟踪算法,由JoaoF.Henriques等人在2014年提出。该算法利用核相关滤波和快速傅里叶变换实现高效计算,但存在目标大小不变和遮挡处理不佳的问题。文中给出了OpenCV的代码示例,并提及用YOLOv4-tiny改进跟踪效果。
最低0.47元/天 解锁文章
813

被折叠的 条评论
为什么被折叠?



