SiamMask是实时地执行视觉对象跟踪和半监督视频对象分割的一种强力算法,是由中科院王强提出并实践的,具体介绍请看论文Fast Online Object Tracking and Segmentation: A Unifying Approach
这个项目是基于pytorch的早期版本,以及里边诸多环境配置都是在linux下的,尽量不要用windows的系统,如果按照官方教程,需要保证系统装有git,wget,jq等软件。这是官方的测试环境Ubuntu 16.04, Python 3.6, Pytorch 0.4.1, CUDA 9.2, RTX 2080 GPUs。
首先跟着官方的教程安装官方github。
第一步,资源复制
git clone https://github.com/foolwood/SiamMask.git && cd SiamMask
export SiamMask=$PWD
第二步,安装环境
conda create -n siammask python=3.6
source activate siammask
pip install -r requirements.txt
bash make.sh
在这里的make.sh文件中主要执行基本的应用安装。
第三步,增加环境
export PYTHONPATH=$PWD:$PYTHONPATH
Demo是官方提供的训练好的例子,测试之初,先下载模型
cd $SiamMask/experiments/siammask
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_VOT.pth
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_DAVIS.pth
运行tools/demo.py
cd $SiamMask/experiments/siammask
export PYTHONPATH=$PWD:$PYTHONPATH
python ../../tools/demo.py --resume SiamMask_DAVIS.pth --config config_davis.json
可以实现例程
在这里用鼠标框选跟踪目标,空格确认
跟踪效果非常好。
首先需要获取测试数据,这里的测试数据包括VOT2016、VOT2018、DAVIS2016和DAVIS2017。
cd $SiamMask/data
bash get_test_data.sh
这里的get_test_data.sh执行的是下载过程,执行如果报错,显示无法进入trackdat文件夹,可能是当中可能拷贝下来的trackdat有保护,当前用户没有权限对其修改,可以在get_test_data.sh中cd trackdat 添加一句话
sudo chmod -R 777 trackdat
修改trackdat权限即可顺利执行。
下载预训练模型
cd $SiamMask/experiments/siammask
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_VOT.pth
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_DAVIS.pth
上述下载完毕后就可以开始测试了。