ATOM: Accurate Tracking by Overlap Maximization (atom_paper and code [后面有下载code的操作])
DiMP: Learning Discriminative Model Prediction for Tracking (dimp_paper and code [后有下载])
前期准备
Ubuntu 18.04 system, Anaconda, Nvidia及其驱动, Cuda
Note: Nvidia 驱动 和 Cuda 的版本兼容可参考此处。Me: Nvidia (440.33), Cuda (10.2)
1)最好开启VPN,有些资源需要在外网下载;
2)建议一条条的执行下列命令,并仔细阅读终端给出的反馈,以便及时调整操作。
配置追踪环境
1.创建并激活一个conda环境 。
conda create --name pytracking python=3.7 #环境名为pytracking, python为3.7版
source activate pytracking #激活环境
Note:
1)创建结果见此处①②③,pytracking 被建在 ~/anaconda3/envs 目录下。若资源一次没有下载完(网不好时),终端会提醒再次执行这条命令,直至全部下载完毕,并出现 “Executing transacting: done”。
2)激活结果见此处④⑤。图⑤中的第三行最前面出现“(pytracking)”说明激活成功。(请参考上述的激活命令而不要借鉴我的实际操作)
2.安装 PyTorch,结果见⑤⑥⑦(有个包第一次没下载完整,补加后验证通过)。
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
Note: cudatoolkit 版本需要跟 cuda 的一致。上述命令可参考PyTorch官网。
3.安装 matplotlib 和 pandas ⑧⑨。
conda install matplotlib pandas
4.安装 opencv, visdom 和 tensorboad ⑩ ♬
pip install opencv-python visdom tb-nightly
5.安装 coco(数据集) 工具包 ♫♪
conda install cython
pip install pycocotools
6.安装 ninja-build 以编译精确的ROI合并模块 ♪
sudo apt-get install ninja-build
7.安装 jpeg4py 以加载图像 ♪ ♮♩
sudo apt-get install libturbojpeg
pip install jpeg4py
下载追踪代码
1.安装 git (若有,跳过此步)◰
sudo apt-get install git
2.使用 git 克隆ATOM的GIT存储库 ◰
git clone https://github.com/visionml/pytracking.git
Note: 使用 “ls -l” 命令显示目录下的内容列表◱,确定文件pytracking已下载完成。使用“pwd”命令显示当前工作目录◱,并去该处将文件夹pytracking中的内容(pytracking, Itr, …)放到 上述第一步创建的pytracking环境 所在的目录下(Me: /home/zhangziyou/anaconda3/envs/pytracking ) [不在终端进行,去文件夹复制粘贴即可]。
3.设置环境(创建默认的环境设置文件,在pytracking环境目录下进行) ◲ [前两个“环境” 指文件间的地址关系,后一个“环境” 指深度学习框架的虚拟环境]
cd anaconda3/envs/pytracking #跳转目录
# 在 ~/anaconda3/envs/pytracking/pytracking/evaluation/ 目录下生成 local.py 文件
python -c "from pytracking.evaluation.environment import create_default_local_file; create_default_local_file()"
# 在 ~/anaconda3/envs/pytracking/ltr/admin/ 目录下生成 local.py 文件(不同与上一个)
python -c "from ltr.admin.environment import create_default_local_file; create_default_local_file()"
Note: 双击打开第一个local.py文件,可以看到文件中设置了追踪网络和运行结果的默认存放位置。据此创建文件夹“networks”和“tracking_results”◳。
4.下载预训练网络到文件夹networks中 ◴◵
# Network for ATOM (114.0 MB)
bash pytracking/utils/gdrive_download 1VNyr-Ds0khjM0zaq6lU-xfY74-iWxBvU pytracking/networks/atom_default.pth
# Network for DiMP-50 (381.4 MB) and DiMP-18 (164.7 MB)
bash pytracking/utils/gdrive_download 1qgachgqks2UGjKx-GdO1qylBDdB1f9KN pytracking/networks/dimp50.pth
bash pytracking/utils/gdrive_download 1MAjrRJDCbL0DSjUKFyDkUuYS1-cYBNjk pytracking/networks/dimp18.pth
5.克隆ATOM的子模块 ◶
git submodule update --init #克隆子模块
测试追踪代码
1.测试 atom tracker ◶
cd pytracking #跳转到 run_webcam.py 所在的目录下
python run_webcam.py atom default
Note:
1)使用摄像头输入来运行ATOM tracker。
2)若报错: PILLOW_VERSION…,则将 pillow 降到版本7以下◷,讨论见此处。
2.测试 dimp tracker ♘
python run_webcam.py dimp dimp50
Note: 关闭终端后,下次再次运行这两个追踪算法时,需要先激活下环境。
NOTE
1)atom code 包含两个主要内容:pytracking-用于运行tracker ;ltr-用于训练tracker。
2)虽然 PyTorch 官网显示最高只兼容到10.1版的Cuda (见此处), 但实际上可以兼容到10.2版(见此处)。
3)第一次用Linux,笔记写的很细。 如果你也一直打算尝试,不妨借这次机会操作下 ^^。
4)欢迎交流,有用点赞哦!