{"id":13521073,"url":"https://github.com/GXNU-ZhongLab/ODTrack","last_synced_at":"2025-03-31T20:30:36.118Z","repository":{"id":215236699,"uuid":"729698818","full_name":"GXNU-ZhongLab/ODTrack","owner":"GXNU-ZhongLab","description":"The official implementation for the paper [ODTrack: Online Dense Temporal Token Learning for Visual Tracking].","archived":false,"fork":false,"pushed_at":"2024-10-07T11:51:47.000Z","size":909,"stargazers_count":100,"open_issues_count":8,"forks_count":9,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-11-02T05:32:33.148Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GXNU-ZhongLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-10T03:57:19.000Z","updated_at":"2024-10-27T00:12:53.000Z","dependencies_parsed_at":"2024-11-02T05:30:58.223Z","dependency_job_id":"0bc46361-56ab-4e9c-9e6b-6f3a54e627ae","html_url":"https://github.com/GXNU-ZhongLab/ODTrack","commit_stats":null,"previous_names":["gxnu-zhonglab/odtrack"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GXNU-ZhongLab%2FODTrack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GXNU-ZhongLab%2FODTrack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GXNU-ZhongLab%2FODTrack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GXNU-ZhongLab%2FODTrack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GXNU-ZhongLab","download_url":"https://codeload.github.com/GXNU-ZhongLab/ODTrack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246535742,"owners_count":20793315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T06:00:28.046Z","updated_at":"2025-03-31T20:30:35.540Z","avatar_url":"https://github.com/GXNU-ZhongLab.png","language":"Python","funding_links":[],"categories":["Papers","Miscellaneous"],"sub_categories":["AAAI 2024","Papers"],"readme":"# [AAAI'2024] - ODTrack\n\nThe official implementation for the **AAAI 2024** paper \\[[_ODTrack: Online Dense Temporal Token Learning for Visual Tracking_](https://arxiv.org/abs/2401.01686)\\].\n\n[[Models](https://drive.google.com/drive/folders/17LacrfRO01R75bxU4bgA87eo1b_rX5Gj?usp=sharing)], [[Raw Results](https://drive.google.com/drive/folders/10I7aHb2J4SFTMuQ_LN33VbaiykD_M2hi?usp=sharing)], [[Training logs](https://drive.google.com/drive/folders/1BXnYmnGnSZIA0IR_gwdlDczl0ex4DgFF?usp=sharing)]\n\n\u003c!-- [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/seqtrack-sequence-to-sequence-learning-for/visual-object-tracking-on-tnl2k)](https://paperswithcode.com/sota/visual-object-tracking-on-tnl2k?p=seqtrack-sequence-to-sequence-learning-for)\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/seqtrack-sequence-to-sequence-learning-for/visual-object-tracking-on-lasot)](https://paperswithcode.com/sota/visual-object-tracking-on-lasot?p=seqtrack-sequence-to-sequence-learning-for)\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/seqtrack-sequence-to-sequence-learning-for/visual-object-tracking-on-lasot-ext)](https://paperswithcode.com/sota/visual-object-tracking-on-lasot-ext?p=seqtrack-sequence-to-sequence-learning-for)\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/seqtrack-sequence-to-sequence-learning-for/visual-object-tracking-on-trackingnet)](https://paperswithcode.com/sota/visual-object-tracking-on-trackingnet?p=seqtrack-sequence-to-sequence-learning-for)\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/seqtrack-sequence-to-sequence-learning-for/visual-object-tracking-on-got-10k)](https://paperswithcode.com/sota/visual-object-tracking-on-got-10k?p=seqtrack-sequence-to-sequence-learning-for)\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/seqtrack-sequence-to-sequence-learning-for/visual-object-tracking-on-uav123)](https://paperswithcode.com/sota/visual-object-tracking-on-uav123?p=seqtrack-sequence-to-sequence-learning-for)\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/seqtrack-sequence-to-sequence-learning-for/visual-object-tracking-on-needforspeed)](https://paperswithcode.com/sota/visual-object-tracking-on-needforspeed?p=seqtrack-sequence-to-sequence-learning-for) --\u003e\n\n\n## Highlights\n\n### :star2: New Video-Level Tracking Framework\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"85%\" src=\"assets/arch.png\" alt=\"Framework\"/\u003e\n\u003c/p\u003e\n\nODTrack is a simple, flexible and effective **video-level tracking pipeline**, which densely associates the contextual relationships of video frames in an online token propagation manner. ODTrack receives video frames of arbitrary length to capture the spatio-temporal trajectory relationships of an instance, and compresses the discrimination features (localization information) of a target into a token sequence to achieve frame-to-frame association. \n\nThis new solution brings the following benefits: \n1. the purified token sequences can serve as prompts for the inference in the next video frame, whereby past information is leveraged to guide future inference\n\n2. the complex online update strategies are effectively avoided by the iterative propagation of token sequences, and thus ODTrack can achieves more efficient model representation and computation.\n\n\n### :star2: Strong Performance\n\n| Tracker     | GOT-10K (AO) | LaSOT (AUC) | TrackingNet (AUC) | LaSOT_ext (AUC) | VOT2020 (EAO) | TNL2K (AUC) | OTB(AUC) |\n|:-----------:|:------------:|:-----------:|:-----------------:|:-----------:|:-----------:|:-----------:|:-----------:|\n| ODTrack-L | 78.2         | 74.0        | 86.1              | 53.9          | 0.605          | 61.7          | 72.4          |\n| ODTrack-B | 77.0         | 73.1        | 85.1              | 52.4          | 0.581          | 60.9          | 72.3          |\n\n\n\n\n## Install the environment\n```\nconda create -n odtrack python=3.8\nconda activate odtrack\nbash install.sh\n```\n\n\n## Data Preparation\nPut the tracking datasets in ./data. It should look like:\n   ```\n   ${PROJECT_ROOT}\n    -- data\n        -- lasot\n            |-- airplane\n            |-- basketball\n            |-- bear\n            ...\n        -- got10k\n            |-- test\n            |-- train\n            |-- val\n        -- coco\n            |-- annotations\n            |-- images\n        -- trackingnet\n            |-- TRAIN_0\n            |-- TRAIN_1\n            ...\n            |-- TRAIN_11\n            |-- TEST\n   ```\n\n\n## Set project paths\nRun the following command to set paths for this project\n```\npython tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir ./output\n```\nAfter running this command, you can also modify paths by editing these two files\n```\nlib/train/admin/local.py  # paths about training\nlib/test/evaluation/local.py  # paths about testing\n```\n\n\n## Training\nDownload pre-trained [MAE ViT-Base weights](https://dl.fbaipublicfiles.com/mae/pretrain/mae_pretrain_vit_base.pth) and put it under `$PROJECT_ROOT$/pretrained_networks` (different pretrained models can also be used, see [MAE](https://github.com/facebookresearch/mae) for more details).\n\n```\npython tracking/train.py \\\n--script odtrack --config baseline \\\n--save_dir ./output \\\n--mode multiple --nproc_per_node 4 \\\n--use_wandb 1\n```\n\nReplace `--config` with the desired model config under `experiments/odtrack`.\n\nWe use [wandb](https://github.com/wandb/client) to record detailed training logs, in case you don't want to use wandb, set `--use_wandb 0`.\n\n\n## Test and Evaluation\n\n- LaSOT or other off-line evaluated benchmarks (modify `--dataset` correspondingly)\n```\npython tracking/test.py odtrack baseline --dataset lasot --runid 300 --threads 8 --num_gpus 2\npython tracking/analysis_results.py # need to modify tracker configs and names\n```\n- GOT10K-test\n```\npython tracking/test.py odtrack baseline_got --dataset got10k_test  --runid 100 --threads 8 --num_gpus 2\npython lib/test/utils/transform_got10k.py --tracker_name odtrack --cfg_name baseline_got_100\n```\n- TrackingNet\n```\npython tracking/test.py odtrack baseline --dataset trackingnet  --runid 300 --threads 8 --num_gpus 2\npython lib/test/utils/transform_trackingnet.py --tracker_name odtrack --cfg_name baseline_300\n```\n\n- VOT2020\n```\ncd external/vot20/    \u003cworkspace_dir\u003e\nbash exp.sh\n```\n\n\n## Test FLOPs, and Speed\n*Note:* The speeds reported in our paper were tested on a single RTX2080Ti GPU.\n\n```\npython tracking/profile_model.py --script odtrack --config baseline\n```\n\n\n## Acknowledgments\n* Thanks for the [STARK](https://github.com/researchmm/Stark) and [PyTracking](https://github.com/visionml/pytracking) library, which helps us to quickly implement our ideas.\n\n\n## Citation\nIf our work is useful for your research, please consider citing:\n\n```Bibtex\n@inproceedings{zheng2024odtrack,\n  title={ODTrack: Online Dense Temporal Token Learning for Visual Tracking}, \n  author={Yaozong Zheng and Bineng Zhong and Qihua Liang and Zhiyi Mo and Shengping Zhang and Xianxian Li},\n  booktitle={AAAI},\n  year={2024}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGXNU-ZhongLab%2FODTrack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGXNU-ZhongLab%2FODTrack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGXNU-ZhongLab%2FODTrack/lists"}