OC_SORT

noahcaoMIT更新放缓

OC-SORT 是 CVPR2023 提出的在线多目标跟踪算法,通过以观测为中心的设计提升遮挡和非线性运动场景下的跟踪鲁棒性,代码简单易用。

[CVPR2023] The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-SORT is simple, online and robust to occlusion/non-linear motion.

暂无版本1,160star155fork同步于 2026-11-07 07:32 UTC

怎么上手

由 README 提炼,执行前请确认
python3 tools/demo_track.py --demo_type video -f exps/example/mot/yolox_dancetrack_test.py -c pretrained/ocsort_dance_model.pth.tar --path videos/dance_demo.mp4 --fp16 --fuse --save_result --out_path demo_out.mp4
硬件要求按 README 说明

README 提到在 RTX 2080Ti 上约 28FPS;若已有检测结果,仅做关联在 i9-3.0GHz CPU 上可达 700FPS。未说明显存需求和具体支持的 GPU 厂商型号。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

纯运动模型的多目标跟踪器,在拥挤遮挡和非线性运动场景下比 SORT 更稳

OC-SORT 是 CVPR2023 提出的在线多目标跟踪算法,通过以观测为中心的设计提升遮挡和非线性运动场景下的跟踪鲁棒性,代码简单易用。

核心能力

  • 用观测中心重更新(ORU)修正卡尔曼滤波的误差累积
  • 纯运动模型关联,不依赖外观特征,保持在线实时
  • 可灵活替换检测器与匹配模块,支持 GIoU、CIoU 等代价
  • 提供 ONNX、TensorRT、ncnn 部署支持与 C++ 实现
  • 2026 年重构 Python 实现,推理提速 1.5~2 倍

容易踩的坑

需先按 docs/INSTALL.md 安装依赖组件;demo 需额外下载 YOLOX 权重 ocsort_dance_model.pth.tar;代码基于 YOLOX、filterpy、ByteTrack 构建,注意这些依赖的版本兼容

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    OC-SORT

    arXiv License: MIT test

    Observation-Centric SORT (OC-SORT) is a pure motion-model-based multi-object tracker. It aims to improve tracking robustness in crowded scenes and when objects are in non-linear motion. It is designed by recognizing and fixing limitations in Kalman filter and SORT. It is flexible to integrate with different detectors and matching modules, such as appearance similarity. It remains, Simple, Online and Real-time.

    Pipeline

    Observation-centric Re-Update

    News

    • [03/19/2026]: I refactored the python implementation to get a 1.5x ~ 2x acceleration of the inference process.
    • [07/09/2023]: A C++ support is provided. See the doc for instructions. Thanks for the contribution!
    • [07/01/2023]: Deep OC-SORT is accepted to ICIP2023. It adds an adaptive appeareance similarity-based association upon OC-SORT.
    • [03/15/2023]: We update the preprint version on Arxiv. We rename OOS to be "Observation-centric Re-Update" (ORU).
    • [02/28/2023]: OC-SORT is accepted to CVPR 2023. We will update the code and paper soon. We made intensive revision of the paper writing.
    • [02/26/2023]: Deep-OC-SORT, a combination of OC-SORT and deep visual appearance, is released on Github and Arxiv. Significant performance improvement on MOT17, MOT20 and DanceTrack.
    • [08/16/2022]: Support OC-SORT in mmtracking. If you want to do tracking with more advanced and customizable experience, you may want to give it a try. The mmtracking version is still in-preview. Performance on more datasets to be verified.
    • [04/27/2022]: Support intergration with BYTE and multiple cost metrics, such as GIoU, CIoU, etc.
    • [04/02/2022]: A preview version is released after a primary cleanup and refactor.
    • [03/27/2022]: The arxiv preprint of OC-SORT is released.

    Benchmark Performance

    DatasetHOTAAssAIDF1MOTAFPFNIDsFrag
    MOT17 (private)63.263.277.578.015,129107,0551,9502,040
    MOT17 (public)52.457.665.158.24,379230,4497842,006
    MOT20 (private)62.462.576.475.920,218103,7919381,004
    MOT20 (public)54.359.567.059.94,434202,5025542,345
    KITTI-cars76.576.4-90.32,685407250280
    KITTI-pedestrian54.759.1-65.16,4221,443204609
    DanceTrack-test55.138.054.289.4114,107139,0831,9923,838
    CroHD HeadTrack44.1-62.967.9102,050164,0904,24310,122
    • Results are from reusing detections of previous methods and shared hyper-parameters. Tune the implementation adaptive to datasets may get higher performance.

    • The inference speed is ~28FPS by a RTX 2080Ti GPU. If the detections are provided, the inference speed of OC-SORT association is 700FPS by a i9-3.0GHz CPU.

    • A sample from DanceTrack-test set is as below and more visualizatiosn are available on Google Drive

    Get Started

    • See INSTALL.md for instructions of installing required components.

    • See GET_STARTED.md for how to get started with OC-SORT.

    • See MODEL_ZOO.md for available YOLOX weights.

    • See DEPLOY.md for deployment support over ONNX, TensorRT and ncnn.

    Demo

    To run the tracker on a provided demo video from Youtube:

    python3 tools/demo_track.py --demo_type video -f exps/example/mot/yolox_dancetrack_test.py -c pretrained/ocsort_dance_model.pth.tar --path videos/dance_demo.mp4 --fp16 --fuse --save_result --out_path demo_out.mp4
    

    Roadmap

    We are still actively updating OC-SORT. We always welcome contributions to make it better for the community. We have some high-priorty to-dos as below:

    • Add more asssocitaion cost choices: GIoU, CIoU, etc.
    • Support OC-SORT in mmtracking.
    • Add more deployment options and improve the inference speed.
    • Make OC-SORT adaptive to customized detector (in the mmtracking version).

    Acknowledgement and Citation

    The codebase is built highly upon YOLOX, filterpy, and ByteTrack. We thank their wondeful works. OC-SORT, filterpy and ByteTrack are available under MIT License. And YOLOX uses Apache License 2.0 License.

    If you find this work useful, please consider to cite our paper:

    @inproceedings{cao2023observation,
      title={Observation-centric sort: Rethinking sort for robust multi-object tracking},
      author={Cao, Jinkun and Pang, Jiangmiao and Weng, Xinshuo and Khirodkar, Rawal and Kitani, Kris},
      booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
      pages={9686--9696},
      year={2023}
    }