ECO: Efficient Convolution Operators for Tracking,用于跟踪的高效卷积运算符是Martin Danelljan继C-COT又推出的新作。
废话不多说,先上资源:
文章地址https://arxiv.org/pdf/1611.09224.pdf
matlab源代码https://github.com/martin-danelljan/ECO
python版本的代码https://github.com/StrangerZhang/pyECO
ECO原则上仍然是基于相关滤波器的,该方法较之前的Discriminative Correlation Filter(DCF)的改进之处在于以下3点:
1)定义了分解卷积算子,大大减少了模型中的参数数量。
2)为训练样本训练了一个分布紧凑的生成模型,可显着降低记忆和时间复杂度,同时提供更好的样本多样性。
3)采用了较为保守的更新策略,增加了鲁棒性,降低了模型复杂度。
先说安装,笔者采用的是python版本的,以下是提供的安装教程:
cd pyECO/eco/features/
python setup.py build_ext --inplace
pip install numpy scipy python-opencv glob pandas pillow
# if you want to use deep feature
pip install mxnet-cu80(or 90 according to your cuda version)
pip install cupy-cu80(or 90 according to your cuda version)
cd pyECO/
python bin/demo_ECO_hc.py --video_dir path/to/video
此程序是基于mxnet和cupy的,笔者安装的是cuda9.0,将上述的修改为90即可。path/to/video是图片的路径,OTB的数据集仅修改路径便可直接用。
效果图如下:
在一定范围内,追踪器可以进行有效调节,即便有几帧图片没有追踪上,在后几帧也可以进行有效的调节。