StrongSORT

StrongSORT

先进多目标跟踪算法全面升级DeepSORT技术

StrongSORT是对DeepSORT多目标跟踪算法的全面升级。该项目在检测、嵌入和关联等核心环节进行了优化,并引入AFLink和GSI两个轻量级插件算法。经过改进的StrongSORT在MOT17和MOT20数据集上刷新了HOTA和IDF1指标记录,性能显著优于现有方法。项目开源了完整代码实现和使用说明,便于研究人员复现和拓展。

StrongSORT多目标跟踪DeepSORT目标检测深度学习Github开源项目

StrongSORT

StrongSORT:让DeepSORT再次伟大

arXiv 许可证: GPL 测试

PWC

PWC

MOTA-IDF1-HOTA

新闻

星标历史

星标历史图表

摘要

现有的多目标跟踪(MOT)方法大致可分为基于检测的跟踪和联合检测关联范式。尽管后者受到更多关注并展示出与前者相当的性能,我们认为基于检测的跟踪范式在跟踪精度方面仍是最佳解决方案。在本文中,我们重新审视了经典跟踪器DeepSORT,并从检测、嵌入和关联等多个方面对其进行升级。由此产生的跟踪器,称为StrongSORT,在MOT17和MOT20上创造了新的HOTA和IDF1记录。我们还提出了两种轻量级且即插即用的算法来进一步完善跟踪结果。首先,提出了一种无外观链接模型(AFLink)来将短轨迹关联成完整轨迹。据我们所知,这是第一个不需要外观信息的全局链接模型。其次,我们提出了高斯平滑插值(GSI)来补偿缺失的检测。与忽略运动信息的线性插值不同,GSI基于高斯过程回归算法,可以实现更准确的定位。此外,AFLink和GSI可以插入各种跟踪器中,几乎不会增加额外的计算成本(在MOT17上分别为591.9和140.9 Hz)。通过将StrongSORT与这两种算法相结合,最终的跟踪器StrongSORT++在MOT17和MOT20的HOTA和IDF1指标上排名第一,并超过第二名1.3 - 2.2。代码将很快发布。

与最先进方法的比较

比较

数据和模型准备

  1. 官方网站下载MOT17和MOT20。

    数据集路径/MOTChallenge
    ├── MOT17
    	│   ├── test
    	│   └── train
    └── MOT20
        ├── test
        └── train
    
  2. 下载我们准备的数据(Google云盘)或百度网盘(提取码:sort)

    数据空间路径
    ├── AFLink_epoch20.pth  # AFLink模型的检查点
    ├── MOT17_ECC_test.json  # CMC模型
    ├── MOT17_ECC_val.json  # CMC模型
    ├── MOT17_test_YOLOX+BoT  # 检测结果 + 特征
    ├── MOT17_test_YOLOX+simpleCNN  # 检测结果 + 特征
    ├── MOT17_trainval_GT_for_AFLink  # 用于训练和评估AFLink模型的真实值
    ├── MOT17_val_GT_for_TrackEval  # 用于评估跟踪结果的真实值
    ├── MOT17_val_YOLOX+BoT  # 检测结果 + 特征
    ├── MOT17_val_YOLOX+simpleCNN  # 检测结果 + 特征
    ├── MOT20_ECC_test.json  # CMC模型
    ├── MOT20_test_YOLOX+BoT  # 检测结果 + 特征
    ├── MOT20_test_YOLOX+simpleCNN  # 检测结果 + 特征
    
  3. 在"opts.py"中设置数据集和其他文件的路径,即root_dataset、path_AFLink、dir_save、dir_dets、path_ECC。

注意:如果您想自行生成ECC结果、检测结果和特征,请参考辅助教程

环境要求

  • pytorch
  • opencv
  • scipy
  • sklearn

例如,我们已经测试了以下命令来为StrongSORT创建环境:

conda create -n strongsort python=3.8 -y conda activate strongsort pip3 install torch torchvision torchaudio pip install opencv-python pip install scipy pip install scikit-learn==0.19.2

跟踪

  • 在MOT17-val上运行DeepSORT

    python strong_sort.py MOT17 val
  • 在MOT17-val上运行StrongSORT

    python strong_sort.py MOT17 val --BoT --ECC --NSA --EMA --MC --woC
  • 在MOT17-val上运行StrongSORT++

    python strong_sort.py MOT17 val --BoT --ECC --NSA --EMA --MC --woC --AFLink --GSI
  • 在MOT17-test上运行StrongSORT++

    python strong_sort.py MOT17 test --BoT --ECC --NSA --EMA --MC --woC --AFLink --GSI
  • 在MOT20-test上运行StrongSORT++

    python strong_sort.py MOT20 test --BoT --ECC --NSA --EMA --MC --woC --AFLink --GSI

评估

我们使用官方代码TrackEval来评估MOT17-val集上的结果。 为了方便您开始,我们在Google百度网盘上提供了MOT17-val注释,在"MOT17-train"文件夹中。

请首先准备TrackEval的代码和环境,并将下载的"MOT17-train"文件夹与TrackEval的"data/gt/mot_challenge"文件夹链接,如下:

ln -s xxx/MOT17-train xxx/TrackEval/data/gt/mot_challenge

我们还在网盘上提供了一些跟踪结果,在"MOT17-val_results"文件夹中。 您可以下载它们,进入TrackEval目录,并尝试评估StrongSORT++,如下:

python scripts/run_mot_challenge.py \ --BENCHMARK MOT17 \ --SPLIT_TO_EVAL train \ --TRACKERS_TO_EVAL xxx/MOT17-val_results/StrongSORT++ \ --TRACKER_SUB_FOLDER '' \ --METRICS HOTA CLEAR Identity VACE \ --USE_PARALLEL False \ --NUM_PARALLEL_CORES 1 \ --GT_LOC_FORMAT '{gt_folder}/{seq}/gt/gt_val_half_v2.txt' \ --OUTPUT_SUMMARY False \ --OUTPUT_EMPTY_CLASSES False \ --OUTPUT_DETAILED False \ --PLOT_CURVES False

注意:您可能还需要准备SEQMAPS来指定要评估的序列。

注意事项

  • 您也可以尝试将AFLink和GSI应用到其他跟踪器上。如果您能告诉我们您的新结果,我们将非常高兴。
  • 仔细调整超参数会带来更好的性能。

引用

@article{du2023strongsort,
  title={Strongsort: Make deepsort great again},
  author={Du, Yunhao and Zhao, Zhicheng and Song, Yang and Zhao, Yanyun and Su, Fei and Gong, Tao and Meng, Hongying},
  journal={IEEE Transactions on Multimedia},
  year={2023},
  publisher={IEEE}
}

您也可以考虑阅读并引用我们的相关工作GIAOTracker,该工作在ICCV研讨会的VisDrone2021 MOT挑战赛中获得第二名:

@InProceedings{Du_2021_ICCV,
    author    = {Du, Yunhao and Wan, Junfeng and Zhao, Yanyun and Zhang, Binyu and Tong, Zhihang and Dong, Junhao},
    title     = {GIAOTracker: A Comprehensive Framework for MCMOT With Global Information and Optimizing Strategies in VisDrone 2021},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops},
    month     = {October},
    year      = {2021},
    pages     = {2809-2819}
}

致谢

大部分代码、想法和结果都借鉴自DeepSORTJDEYOLOXByteTrack。感谢他们的出色工作!

↳ 点赞者

Stargazers repo roster for @dyhBUPT/StrongSORT

↳ 复刻者

Forkers repo roster for @dyhBUPT/StrongSORT

↳ 访问者

Visit tracker

编辑推荐精选

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多