ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式

友情提示:如果只希望了解如何利用作者发布的预训练网络直接进行tracking(免训练模式),可以阅读本人另一篇博客:https://blog.csdn.net/discoverer100/article/details/86497284

1. 论文基本信息

  • 论文标题:Action-Decision Networks for Visual Tracking with Deep Reinforcement
    Learning
  • 论文作者:Sangdoo Yun(Seoul National University, South Korea)等人
  • 论文出处:CVPR 2017
  • 在线阅读:http://openaccess.thecvf.com/content_cvpr_2017/papers/Yun_Action-Decision_Networks_for_CVPR_2017_paper.pdf
  • 补充材料:http://openaccess.thecvf.com/content_cvpr_2017/supplemental/Yun_Action-Decision_Networks_for_2017_CVPR_supplemental.pdf
  • 源码链接1:https://github.com/hellbell/ADNet (MATLAB版本)
  • 源码链接2:https://github.com/ildoonet/tf-adnet-tracking (TensorFlow版本)

2. 运行环境介绍

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

3. 准备

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则提供了打包下载,无需整理。),放到一个自己指定的目录中并记好路径,如下图所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第1张图片
注: VOT数据集的习惯做法是:视频图像文件和标注文件是存放在一起的。在整理VOT2013和VOT2014时需要留意这一点,整理好的视频内部如下图所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第2张图片

S2. 下载初始化的网络模型imagenet-vgg-m-conv1-3.mat,下载地址:https://raw.githubusercontent.com/HyeonseobNam/MDNet/master/models/imagenet-vgg-m-conv1-3.mat

下载后,将imagenet-vgg-m-conv1-3.mat放入到ADNet源码models目录中,如下图所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第3张图片


4. 编译源码自带MatConvNet(如果已经编译过则可以省略)

S1. 打开adnet_compile.m文件,修改cudaRoot的路径,可以根据自己的系统类型来选择修改,如下如所示(注: 这里用8.0版本的CUDA):
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第4张图片

S2. 根据自己的系统类型,打开utils\cropRectanglesMex目录下的build_cropRectanglesMex_on_windows.mbuild_cropRectanglesMex.m文件,修改cudaRoot的路径,如下如所示(注: 这里用7.5版本的CUDA):
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第5张图片

S3. 运行S1中的adnet_compile.m文件,对MatConvNet进行编译。编译成功后如下图所示(不必理会warning):
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第6张图片


5. Training操作步骤

S1. 打开源码utils目录下的get_benchmark_path.m文件,修改对应的VOT三处路径,如下图所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第7张图片

S2. 运行源码中的adnet_train.m,即可进行网络训练,训练期间会有如下输出:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第8张图片

S3. 大约经过2.5小时(Core i5 + GTX 1070平台),会发现训练完成,并且在models目录下会有一个新生成的net.mat文件,如下图所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第9张图片

6. Test操作步骤

S1. 打开adnet_demo.m文件, 修改网络文件的路径为上述第4节S2步骤得到的网络文件net.mat,如下图所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第10张图片

S2. 运行adnet_demo.m文件,默认跟踪自带的Freeman1 视频,如下所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第11张图片
MATLAB的输出如下图所示:
ADNet视频目标跟踪源码运行笔记(MATLAB版本)——training and then test模式_第12张图片

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