KCF跟踪算法(1):KCF跟踪demo

前言:

最近在看跟踪算法,看了下比较久远的meanshift、Lk光流算法等,感觉效果和速度都不是很满意。直到我看了KCF跟踪算法,这个算法速度快,效果好,具有很强的鲁棒性,思路清晰。此外作者在主页上给出了matlab和c的代码,可以更好的理解算法。本来我打算叙述一下算法的原理,但是因为网上已经有了很好的博客对KCF进行了详细的介绍,对论文原理进行了推导,所以我打算从另一个方面去看算法——从代码上看算法。为了防止过程比较枯燥,我们先让程序跑进来,相信你看到效果后会有很大的兴趣想去了解算法的。

matlab代码:

1.下载作者主页下最新的matlab代码
2.运行download_videos下载视频,我运行的时候报错了,提示是:
这里写图片描述
这个问题应该是高版本的matlab把低版本的这个函数给删掉了,函数本身对算法没什么影响。所以只需要删除掉这个函数对应的代码就好了,也就是
这里写图片描述
3.下载视频完成后,就可以运行run_tracker。同样先把run_tracke下的matlabpool代码给删除。
这里写图片描述
然后再把show_video.m下的这个函数给改了,
这里写图片描述
,改成
这里写图片描述
运行后会弹出一个GUI界面,选择刚才所下载的视频,然后就开始进行跟踪了,效果很好。
这里写图片描述
这里写图片描述
注:我的matlab是2015版本的,所修改的地方应该是matlab版本不同造成的,如果你运行的时候没有报错,也就不需要修改了。

C++代码:

作者给出的配置是Linux下的,但是代码没有什么本质区别,没有用到什么Linux下特有的函数。所以让代码在Windows跑通的方法很简单,就是新建个解决方案,然后把里面的Cpp和hpp文件拖进去:
这里写图片描述
这里写图片描述
根据作者的要求,需要OpenCV 3.0.0的支持。 另外C++版本的和matlab版本的读取的都是图片序列,并且需要对应的groundtruth_rect,比较麻烦。所以我修改了下runtracker.cpp,直接读取视频或摄像头,然后手动画框进行跟踪。如下:
这里写图片描述
这里写图片描述
这里写图片描述
我加入了OpenCV320的dll,以便没有OpenCV的同学也可以体验,程序链接(源码也在里面)

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值