这里对OTB使用介绍三进行一个补充介绍,以目前效果最好的跟踪算法ECO为例,将ECO加入OTB的比较中。这里仅仅是一个简单的自己的理解,ECO具体调用还没有深入了解。有问题可以指正,欢迎交流。
首先当然是下载ECO的matlab源代码,作者已经在GitHub上开源。地址:https://github.com/martin-danelljan/ECO
下载的时候可以看看作者写在GitHub上的一些说明。
额外库的下载(貌似最新ECO源码的已经包含了matconvnet和pdollar两个额外的库,但还是没有network)
下载完成后,将ECO解压到OTB的tracker文件夹和其他跟踪算法放一起。(参照OTB使用介绍三)
下图是作者提供下载的两个额外的库
在修改源码之前
如果你没有额外库的话。需要下载matconvnet和pdollar两个额外的库。用git的话,直接使用指令
git submodule init
git submodule update
作者的意思是建议用git下载,如果自己去网站下载可能会下载到不一致的版本。下载完成这两个后
还需要下载一个东西,连接:http://www.vlfeat.org/matconvnet/models/imagenet-vgg-m-2048.mat
貌似是特征提取阶段使用这个网络来提取特征。
这三个文件下载好了之后。如图解压放置
matconvnet和pdollar_toolbox分别放在external_libs文件夹下
imagenet-vgg-m-2048.mat这个就放在feature_extraction的networks文件夹下
这样,需要的额外库文件都准备完毕了。
说明ECO_HC是手工特征,即经典的HOG CN GRAY等等
ECO_DEEP就是深度学习获得的特征
这里以ECO_HC为例。
注意:看了一下ECO的源码,不知道是什么问题。在特征提取的文件夹(feature_extraction)中没有fhog.m。会出现提取hog特征出错
这里给出下载链接:https://pan.baidu.com/s/1q862dn1llgkzP6uBF1zkhg
如果失效就用这个吧:https://download.csdn.net/download/devil_08/10388821
下载后,解压缩到feature_extraction文件夹下
额外库准备结束,开始正式工作
第一步
对额外的库进行编译操作。运行如下指令
需要安装了VS。版本最好是最新的。不然可能有版本冲突。
mex -setup C++
运行完毕后再运行install.m这个文件。
第二步
如图
在runfiles的文件夹下,找到OTB_HC_settings.m文件,复制到ECO的文件夹下,并改名为run_ECO.m
然后就是修改run_ECO.m的代码。
这里贴出我修改后的
function results = run_ECO(seq, res_path, bSaveImage)
setup_paths();
% Feature specific parameters
hog_params.cell_size = 6;
hog_params.compressed_dim = 10;
cn_params.tablename = 'CNnorm';
cn_params.useForGray = false;
cn_params.cell_size = 4;
cn_params.compressed_dim = 3;
ic_params.tablename = 'intensityChannelNorm6';
ic_params.useForColor =