多目标跟踪之(CTracker)Chained-Tracker: Chaining Paired Attentive Regression Results for End-to-End Joint Multiple-Object Detection and Tracking
摘要
现有的多对象跟踪(MOT)方法要么遵循按检测跟踪的范式分别进行对象检测,特征提取和数据关联,要么将三个子任务中的两个集成在一起以形成部分端到端解决方案。除了这些次优框架之外,我们还提出了一个名为Chained-Tracker(CTracker)的简单在线模型,该模型自然将所有三个子任务集成到了端到端解决方案中(据我们所知,这是第一个)。它链接从重叠节点估计的成对的边界框回归结果,其中每个节点覆盖两个相邻的帧。通过对象注意(由检测模块带来)和身份注意(由ID验证模块确保)使成对的回归变得专心。两个主要的新颖性:链式结构和成对的注意力回归使CTracker变得简单,快速和有效,无需依赖任何额外的训练数据即可在MOT16和MOT17挑战数据集(分别为67.6和66.6)上设置新的MOTA记录
(此处为谷歌翻译)
引言
本文是针对该论文在github上代码的一个简单实现,主要介绍一下代码实现的具体步骤,希望能够对读者有一定的帮助。(由于本人刚开始接触,做的不好的请大家批评指正,欢迎交流!)
论文地址:
https://github.com/pjl1995/CTracker
源码地址:
https://arxiv.org/pdf/2007.14557.pdf
声明
文章来源: 腾讯优图实验室;复旦大学;NAIST
论文名称:Chained-Tracker Chaining Paired Attentive Regression Results for End-to-End Joint Multiple-Object Detection and Tracking
原文作者:Jinlong Peng
环境搭建
首先:安装所需的工具包(如若你的系统安装过了,就不需要安装了)
apt-get install tk-dev python-tk
第二:创建一个代码所需的虚拟环境
// 创建虚拟环境。
conda create -n CTracker Python=3.6.5
//之后激活环境
conda activate CTracker
第三:安装环境所需的pytorch版本及相关的包(在激活后的环境中,按如下操作)
// 安装所需pytorch版本
conda install pytorch=0.4.1 cuda90 -c pytorch
// 接着进入到你代码所在文件夹下,进行相关包的安装
cd {你自己代码的所属路径}
pip install -r requirements.txt
sh lib/build.sh
注:如果pytorch下载缓慢,可以换成清华镜像源之后,再下载。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --setshow_channel_urls yes
准备数据集
下载MOT17数据集,建立文件夹MOT17_ROOT,之后将MOT17的训练集和测试集放在新建的文件夹下。具体格式如下图所示:(其中的两个CSV文件为CTracker代码文件夹下的data文件夹下的文件,复制过来即可)。
注:train_annots.csv文件的每一行的格式为:
path/to/image.jpg,id,x1,y1,x2,y2,class_name
当你进行训练时,要注意path/to/image.jpg是否跟你的文件夹的路径一致。
训练
注:如果只求能运行,则训练时原代码上的epoch为100,你可以将其设置为50,因为10个epoch运行时间大概1时45分,即在源代码文件夹下,train.py里边第51行,修改default=50即可。
CUDA_VISIBLE_DEVICES=0 python train.py --root_path MOT17_ROOT --model_dir ./ctracker/ --depth 50
默认情况下,训练结束后即可开始进行测试。
测试
你也可以下载训练好的模型进行相关测试。
CUDA_VISIBLE_DEVICES=0 python test.py --dataset_path MOT17_ROOT --model_dir ./trained_model/
相关说明
本篇文章引用自CTracker。
@inproceedings{peng2020ctracker,
title={Chained-Tracker: Chaining Paired Attentive Regression Results for End-to-End Joint Multiple-Object Detection and Tracking},
author={Peng, Jinlong and Wang, Changan and Wan, Fangbin and Wu, Yang and Wang, Yabiao and Tai, Ying and Wang, Chengjie and Li, Jilin and Huang, Feiyue and Fu, Yanwei},
booktitle={Proceedings of the European Conference on Computer Vision},
year={2020},
}