MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式

1. 论文基本信息

  • 论文标题:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking
  • 论文作者:Hyeonseob Nam(Dept. of Computer Science and Engineering, POSTECH, Korea)等人
  • 论文出处:CVPR 2016
  • 在线阅读:https://arxiv.org/pdf/1510.07945v2.pdf
  • 源码链接1:https://github.com/HyeonseobNam/MDNet (MATLAB版本)
  • 源码链接2:https://github.com/HyeonseobNam/py-MDNet (Python版本)

2. 运行环境介绍

  • NVIDIA GTX 1070
  • Windows 10 x64
  • Visual Studio 2013
  • MATLAB R2016b(MATLAB R2016b需要配置VS2013作为C和C++编译器)
  • CUDA 7.5.18 for win10
    注: 就本文的范围而言,无需手工在操作系统中配置环境变量)

3. 下载VOT训练数据集

S1. 下载VOT2013、VOT2014、VOT2015数据集并整理。

  • VOT2013下载地址:http://www.votchallenge.net/vot2013/dataset.html
  • VOT2014下载地址:http://www.votchallenge.net/vot2014/dataset.html
  • VOT2015下载地址:http://www.votchallenge.net/vot2015/dataset.html

下载好之后将数据集整理好(从VOT官网下载,会发现2013和2014的下载方式为每个视频独立下载,并且图像和标注文件是分开下载的,因此下载之后需要整理。VOT2015则提供了打包下载,无需整理。),放到一个自己指定的目录中并记好路径,如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第1张图片
注: VOT数据集的习惯做法是:视频图像文件和标注文件是存放在一起的。在整理VOT2013和VOT2014时需要留意这一点,整理好的视频内部如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第2张图片
S2. 修改上述三个VOT数据集文件夹的名字,为2013、2014、2015,即:

  • VOT2013 → 2013
  • VOT2014 → 2014
  • VOT2015 → 2015

S3. 将上述修改了名字的三个文件夹复制到MDNet源码中的dataset/VOT目录中,复制后的VOT文件夹内部如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第3张图片


4. 下载OTB100训练数据集

S1. 在这里下载OTB100训练数据集:http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html 一共有100个视频序列(实际的视频是98个,因为有两个视频各自有两个ground-truth),每个视频独立下载。

S2. 将下载的98个视频解压,把对应的98个文件夹复制到MDNet源码的dataset/OTB目录下,复制后如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第4张图片


5. 编译源码自带的MatConvNet

S1. 首先确定MATLAB已经配置了VS2013作为其C和C++语言的混合编程编译器。如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第5张图片

S2. 在MATLAB中进入源码文件夹,打开compile_matconvnet.m文件,修改参数cudaRoot的值为自己CUDA的安装路径,如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第6张图片

S3. 运行上述compile_matconvnet.m文件进行编译。编译过程中会有一些警告,不必理会,编译成功后控制台会有如下输出:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第7张图片


6. Training

S1. 运行源码目录中的setup_mdnet.m文件。

S2. 保持MATLAB的工作目录仍然为源码的根目录。现在,在MATLAB命令行中,输入如下命令进行training:

run demo_pretraining.m

回车后,需要等待大约几分钟,MATLAB命令行才会有相应的training信息输出,如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第8张图片
S3. 大约经过5 - 6个小时训练完成(具体时间因计算机配置而异),此时会发现源码中的models文件夹下会多出四个mat文件以及三个文件夹,如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第9张图片

在上述四个mat文件中,后面三个即为可用于跟踪的深度网络文件。以最后一个文件mdnet_vot-otb_new.mat为例,vot-otb表示该网络利用VOT数据集(包含VOT2013、VOT2014和VOT2015)训练,其适用于在OTB数据集上Testing。其他同理。


7. Testing

S1. 在MATLAB中打开源码中tracking目录下的demo_tracking.m文件,修改第15行中的网络文件为刚刚训练生成的网络文件名mdnet_vot-otb_new.mat,如下所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第10张图片
S2. 运行源码目录中的setup_mdnet.m文件。

S3. 保持MATLAB的工作目录仍然为源码的根目录。现在,在MATLAB命令行中,输入如下命令进行跟踪:

run demo_tracking.m

默认将使用源码包内部自带的视频进行跟踪,效果如下图所示:
MDNet视频目标跟踪源码运行笔记(MATLAB版本)——Training and then Testing模式_第11张图片

你可能感兴趣的:(视频目标跟踪(Visual,tracking),论文笔记,MATLAB,深度学习(Deep,learning),CUDA,MatConvNet,数字图像处理,模式识别与深度学习)