
第一点:选择Cmake中的源目录如下:
这里写图片描述
第二点:下图红色框里面的解决方案要分别设置运行库
这里写图片描述
第三点:运行程序时候不能直接点exe,必须传参启动,具体看README文件,可以自己写个bat文件启动
在exe所在目录新建个txt文件,里面添加下面这句话:
run_tld.exe -p ../../parameters.yml -s ../../datasets/06_car/car.mpg -b ../../datasets/06_car/init.txt
1
1
这里写图片描述
改后缀为bat文件,运行就可以看到效果,还是那句话,具体看README
跟踪是一个很混乱的方向。比如TLD、CT、Struct这些效果不错的Tracker其实都不是单纯的Tracker了。09年的时候我记得比较流行的是Particle Filtering, 或者一些MeanShift/CamShift的变形,比如特征变了,比如对问题的假设变了。
后来突然出现一些tracking by detection的方法,之前的很多朋友就觉得这是耍流氓。比如TLD,严格的跟踪算法也许只是里面的Forward/Backward Opitcal Flow的部分,但是效果很Impressive,所以不管怎样,一下就火了。
之后所谓的跟踪就不再是一个传统的跟踪问题,而是一个综合的工程问题。online learning,random projection ,sparse learning的东西都加进来,大家其实到底是在做跟踪还是在做检测或者online learning,其实已经不重要,因为衡量的标准是你在某些public dataset上的精度。
但这些对实际的项目有没有帮助呢?
这是个很有意思的地方,在很多时候,我们之所以需要跟踪算法,是因为我们的检测算法很慢,跟踪很快。基本上当前排名前几的跟踪算法都很难用在这样的情况下,因为你实际的速度已经太慢了,比如TLD,CT,还有Struct,如果目标超过十个,基本上就炸了。况且还有些跟踪算法自己drift掉了也不知道,比如第一版本的CT是无法处理drift的问题的,TLD是可以的,究其原因还是因为检测算法比较鲁棒啊……
实际中我觉得速度极快,实现也简单的纯跟踪算法居然是NCC和Overlap。
NCC很简单,这个是对点进行的,对于区域也有很多变种,网上有一些相关的资源。
Overlap是我取的名字,一般用在里面,假如你的摄像头是静止的,背景建模之后出来的前景可以是一个一个的blob,对相邻两帧的blob检测是否Overlap就可以得到track。在一些真实场景下,这个算法是非常有效的。关于背景template的问题在真实的里面也是很好解决的。
坐在电脑前面调试代码tuning 各种阈值让跟踪算法在某一个帧下面不要drift的事情我是再也不想干了。
顺祝你2015幸福快乐。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)