[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71112":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},71112,"ByteTrack","FoundationVision\u002FByteTrack","FoundationVision","[ECCV 2022] ByteTrack: Multi-Object Tracking by Associating Every Detection Box","",null,"Python",6443,1120,46,301,0,11,24,79,33,105.05,"MIT License",false,"main",true,[27,28,29,30],"deployment","multi-object-tracking","pytorch","real-time","2026-06-12 04:00:59","# ByteTrack\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fbytetrack-multi-object-tracking-by-1\u002Fmulti-object-tracking-on-mot17)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fmulti-object-tracking-on-mot17?p=bytetrack-multi-object-tracking-by-1)\n\n[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002Fbytetrack-multi-object-tracking-by-1\u002Fmulti-object-tracking-on-mot20-1)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002Fmulti-object-tracking-on-mot20-1?p=bytetrack-multi-object-tracking-by-1)\n\n#### ByteTrack is a simple, fast and strong multi-object tracker.\n\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Fsota.png\" width=\"500\"\u002F>\u003C\u002Fp>\n\n> [**ByteTrack: Multi-Object Tracking by Associating Every Detection Box**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.06864)\n> \n> Yifu Zhang, Peize Sun, Yi Jiang, Dongdong Yu, Fucheng Weng, Zehuan Yuan, Ping Luo, Wenyu Liu, Xinggang Wang\n> \n> *[arXiv 2110.06864](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.06864)*\n\n## Demo Links\n| Google Colab Demo | Huggingface Demo |                  YouTube Tutorial                   | Original Paper: ByteTrack |\n|:-----------------:|:----------------:|:---------------------------------------------------:|:-------------------------:|\n|[![Open In Colab](https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg)](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1bDilg4cmXFa8HCKHbsZ_p16p0vrhLyu0?usp=sharing)|[![Hugging Face Spaces](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fakhaliq\u002Fbytetrack)|[![YouTube](https:\u002F\u002Fbadges.aleen42.com\u002Fsrc\u002Fyoutube.svg)](https:\u002F\u002Fyoutu.be\u002FQCG8QMhga9k)|[arXiv 2110.06864](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.06864) |\n* Integrated to [Huggingface Spaces](https:\u002F\u002Fhuggingface.co\u002Fspaces) with [Gradio](https:\u002F\u002Fgithub.com\u002Fgradio-app\u002Fgradio).\n\n\n## Abstract\nMulti-object tracking (MOT) aims at estimating bounding boxes and identities of objects in videos. Most methods obtain identities by associating detection boxes whose scores are higher than a threshold. The objects with low detection scores, e.g. occluded objects, are simply thrown away, which brings non-negligible true object missing and fragmented trajectories. To solve this problem, we present a simple, effective and generic association method, tracking by associating every detection box instead of only the high score ones. For the low score detection boxes, we utilize their similarities with tracklets to recover true objects and filter out the background detections. When applied to 9 different state-of-the-art trackers, our method achieves consistent improvement on IDF1 scores ranging from 1 to 10 points. To put forwards the state-of-the-art performance of MOT, we design a simple and strong tracker, named ByteTrack. For the first time, we achieve 80.3 MOTA, 77.3 IDF1 and 63.1 HOTA on the test set of MOT17 with 30 FPS running speed on a single V100 GPU.\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Fteasing.png\" width=\"400\"\u002F>\u003C\u002Fp>\n\n## News\n* (2022.07) Our paper is accepted by ECCV 2022!\n* (2022.06) A [nice re-implementation](https:\u002F\u002Fgithub.com\u002FPaddlePaddle\u002FPaddleDetection\u002Ftree\u002Fdevelop\u002Fconfigs\u002Fmot\u002Fbytetrack) by Baidu [PaddleDetection](https:\u002F\u002Fgithub.com\u002FPaddlePaddle\u002FPaddleDetection)!\n\n## Tracking performance\n### Results on MOT challenge test set\n| Dataset    |  MOTA | IDF1 | HOTA | MT | ML | FP | FN | IDs | FPS |\n|------------|-------|------|------|-------|-------|------|------|------|------|\n|MOT17       | 80.3 | 77.3 | 63.1 | 53.2% | 14.5% | 25491 | 83721 | 2196 | 29.6 |\n|MOT20       | 77.8 | 75.2 | 61.3 | 69.2% | 9.5%  | 26249 | 87594 | 1223 | 13.7 |\n\n### Visualization results on MOT challenge test set\n\u003Cimg src=\"assets\u002FMOT17-01-SDP.gif\" width=\"400\"\u002F>   \u003Cimg src=\"assets\u002FMOT17-07-SDP.gif\" width=\"400\"\u002F>\n\u003Cimg src=\"assets\u002FMOT20-07.gif\" width=\"400\"\u002F>   \u003Cimg src=\"assets\u002FMOT20-08.gif\" width=\"400\"\u002F>\n\n## Installation\n### 1. Installing on the host machine\nStep1. Install ByteTrack.\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack.git\ncd ByteTrack\npip3 install -r requirements.txt\npython3 setup.py develop\n```\n\nStep2. Install [pycocotools](https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi).\n\n```shell\npip3 install cython; pip3 install 'git+https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi.git#subdirectory=PythonAPI'\n```\n\nStep3. Others\n```shell\npip3 install cython_bbox\n```\n### 2. Docker build\n```shell\ndocker build -t bytetrack:latest .\n\n# Startup sample\nmkdir -p pretrained && \\\nmkdir -p YOLOX_outputs && \\\nxhost +local: && \\\ndocker run --gpus all -it --rm \\\n-v $PWD\u002Fpretrained:\u002Fworkspace\u002FByteTrack\u002Fpretrained \\\n-v $PWD\u002Fdatasets:\u002Fworkspace\u002FByteTrack\u002Fdatasets \\\n-v $PWD\u002FYOLOX_outputs:\u002Fworkspace\u002FByteTrack\u002FYOLOX_outputs \\\n-v \u002Ftmp\u002F.X11-unix\u002F:\u002Ftmp\u002F.X11-unix:rw \\\n--device \u002Fdev\u002Fvideo0:\u002Fdev\u002Fvideo0:mwr \\\n--net=host \\\n-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \\\n-e DISPLAY=$DISPLAY \\\n--privileged \\\nbytetrack:latest\n```\n\n## Data preparation\n\nDownload [MOT17](https:\u002F\u002Fmotchallenge.net\u002F), [MOT20](https:\u002F\u002Fmotchallenge.net\u002F), [CrowdHuman](https:\u002F\u002Fwww.crowdhuman.org\u002F), [Cityperson](https:\u002F\u002Fgithub.com\u002FZhongdao\u002FTowards-Realtime-MOT\u002Fblob\u002Fmaster\u002FDATASET_ZOO.md), [ETHZ](https:\u002F\u002Fgithub.com\u002FZhongdao\u002FTowards-Realtime-MOT\u002Fblob\u002Fmaster\u002FDATASET_ZOO.md) and put them under \u003CByteTrack_HOME>\u002Fdatasets in the following structure:\n```\ndatasets\n   |——————mot\n   |        └——————train\n   |        └——————test\n   └——————crowdhuman\n   |         └——————Crowdhuman_train\n   |         └——————Crowdhuman_val\n   |         └——————annotation_train.odgt\n   |         └——————annotation_val.odgt\n   └——————MOT20\n   |        └——————train\n   |        └——————test\n   └——————Cityscapes\n   |        └——————images\n   |        └——————labels_with_ids\n   └——————ETHZ\n            └——————eth01\n            └——————...\n            └——————eth07\n```\n\nThen, you need to turn the datasets to COCO format and mix different training data:\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Fconvert_mot17_to_coco.py\npython3 tools\u002Fconvert_mot20_to_coco.py\npython3 tools\u002Fconvert_crowdhuman_to_coco.py\npython3 tools\u002Fconvert_cityperson_to_coco.py\npython3 tools\u002Fconvert_ethz_to_coco.py\n```\n\nBefore mixing different datasets, you need to follow the operations in [mix_xxx.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002Fc116dfc746f9ebe07d419caa8acba9b3acfa79a6\u002Ftools\u002Fmix_data_ablation.py#L6) to create a data folder and link. Finally, you can mix the training data:\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Fmix_data_ablation.py\npython3 tools\u002Fmix_data_test_mot17.py\npython3 tools\u002Fmix_data_test_mot20.py\n```\n\n\n## Model zoo\n\n### Ablation model\n\nTrain on CrowdHuman and MOT17 half train, evaluate on MOT17 half val\n\n| Model    |  MOTA | IDF1 | IDs | FPS |\n|------------|-------|------|------|------|\n|ByteTrack_ablation [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1iqhM-6V_r1FpOlOzrdP_Ejshgk0DxOob\u002Fview?usp=sharing), [[baidu(code:eeo8)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1W5eRBnxc4x9V8gm7dgdEYg) | 76.6 | 79.3 | 159 | 29.6 |\n\n### MOT17 test model\n\nTrain on CrowdHuman, MOT17, Cityperson and ETHZ, evaluate on MOT17 train.\n\n* **Standard models**\n\n| Model    |  MOTA | IDF1 | IDs | FPS |\n|------------|-------|------|------|------|\n|bytetrack_x_mot17 [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1P4mY0Yyd3PPTybgZkjMYhFri88nTmJX5\u002Fview?usp=sharing), [[baidu(code:ic0i)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1OJKrcQa_JP9zofC6ZtGBpw) | 90.0 | 83.3 | 422 | 29.6 |\n|bytetrack_l_mot17 [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1XwfUuCBF4IgWBWK2H7oOhQgEj9Mrb3rz\u002Fview?usp=sharing), [[baidu(code:1cml)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1242adimKM6TYdeLU2qnuRA) | 88.7 | 80.7 | 460 | 43.7 |\n|bytetrack_m_mot17 [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F11Zb0NN_Uu7JwUd9e6Nk8o2_EUfxWqsun\u002Fview?usp=sharing), [[baidu(code:u3m4)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1fKemO1uZfvNSLzJfURO4TQ) | 87.0 | 80.1 | 477 | 54.1 |\n|bytetrack_s_mot17 [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1uSmhXzyV1Zvb4TJJCzpsZOIcw7CCJLxj\u002Fview?usp=sharing), [[baidu(code:qflm)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1PiP1kQfgxAIrnGUbFP6Wfg) | 79.2 | 74.3 | 533 | 64.5 |\n\n* **Light models**\n\n| Model    |  MOTA | IDF1 | IDs | Params(M) | FLOPs(G) |\n|------------|-------|------|------|------|-------|\n|bytetrack_nano_mot17 [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1AoN2AxzVwOLM0gJ15bcwqZUpFjlDV1dX\u002Fview?usp=sharing), [[baidu(code:1ub8)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1dMxqBPP7lFNRZ3kFgDmWdw) | 69.0 | 66.3 | 531 | 0.90 | 3.99 |\n|bytetrack_tiny_mot17 [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1LFAl14sql2Q5Y9aNFsX_OqsnIzUD_1ju\u002Fview?usp=sharing), [[baidu(code:cr8i)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1jgIqisPSDw98HJh8hqhM5w) | 77.1 | 71.5 | 519 | 5.03 | 24.45 |\n\n\n\n### MOT20 test model\n\nTrain on CrowdHuman and MOT20, evaluate on MOT20 train.\n\n\n| Model    |  MOTA | IDF1 | IDs | FPS |\n|------------|-------|------|------|------|\n|bytetrack_x_mot20 [[google]](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1HX2_JpMOjOIj1Z9rJjoet9XNy_cCAs5U\u002Fview?usp=sharing), [[baidu(code:3apd)]](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1bowJJj0bAnbhEQ3_6_Am0A) | 93.4 | 89.3 | 1057 | 17.5 |\n\n\n## Training\n\nThe COCO pretrained YOLOX model can be downloaded from their [model zoo](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX\u002Ftree\u002F0.1.0). After downloading the pretrained models, you can put them under \u003CByteTrack_HOME>\u002Fpretrained.\n\n* **Train ablation model (MOT17 half train and CrowdHuman)**\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Ftrain.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_ablation.py -d 8 -b 48 --fp16 -o -c pretrained\u002Fyolox_x.pth\n```\n\n* **Train MOT17 test model (MOT17 train, CrowdHuman, Cityperson and ETHZ)**\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Ftrain.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py -d 8 -b 48 --fp16 -o -c pretrained\u002Fyolox_x.pth\n```\n\n* **Train MOT20 test model (MOT20 train, CrowdHuman)**\n\nFor MOT20, you need to clip the bounding boxes inside the image.\n\nAdd clip operation in [line 134-135 in data_augment.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002F72cd6dd24083c337a9177e484b12bb2b5b3069a6\u002Fyolox\u002Fdata\u002Fdata_augment.py#L134), [line 122-125 in mosaicdetection.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002F72cd6dd24083c337a9177e484b12bb2b5b3069a6\u002Fyolox\u002Fdata\u002Fdatasets\u002Fmosaicdetection.py#L122), [line 217-225 in mosaicdetection.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002F72cd6dd24083c337a9177e484b12bb2b5b3069a6\u002Fyolox\u002Fdata\u002Fdatasets\u002Fmosaicdetection.py#L217), [line 115-118 in boxes.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002F72cd6dd24083c337a9177e484b12bb2b5b3069a6\u002Fyolox\u002Futils\u002Fboxes.py#L115).\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Ftrain.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_mix_mot20_ch.py -d 8 -b 48 --fp16 -o -c pretrained\u002Fyolox_x.pth\n```\n\n* **Train custom dataset**\n\nFirst, you need to prepare your dataset in COCO format. You can refer to [MOT-to-COCO](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002Fmain\u002Ftools\u002Fconvert_mot17_to_coco.py) or [CrowdHuman-to-COCO](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002Fmain\u002Ftools\u002Fconvert_crowdhuman_to_coco.py). Then, you need to create a Exp file for your dataset. You can refer to the [CrowdHuman](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002Fmain\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_ch.py) training Exp file. Don't forget to modify get_data_loader() and get_eval_loader in your Exp file. Finally, you can train bytetrack on your dataset by running:\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Ftrain.py -f exps\u002Fexample\u002Fmot\u002Fyour_exp_file.py -d 8 -b 48 --fp16 -o -c pretrained\u002Fyolox_x.pth\n```\n\n\n## Tracking\n\n* **Evaluation on MOT17 half val**\n\nRun ByteTrack:\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Ftrack.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_ablation.py -c pretrained\u002Fbytetrack_ablation.pth.tar -b 1 -d 1 --fp16 --fuse\n```\nYou can get 76.6 MOTA using our pretrained model.\n\nRun other trackers:\n```shell\npython3 tools\u002Ftrack_sort.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_ablation.py -c pretrained\u002Fbytetrack_ablation.pth.tar -b 1 -d 1 --fp16 --fuse\npython3 tools\u002Ftrack_deepsort.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_ablation.py -c pretrained\u002Fbytetrack_ablation.pth.tar -b 1 -d 1 --fp16 --fuse\npython3 tools\u002Ftrack_motdt.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_ablation.py -c pretrained\u002Fbytetrack_ablation.pth.tar -b 1 -d 1 --fp16 --fuse\n```\n\n* **Test on MOT17**\n\nRun ByteTrack:\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Ftrack.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py -c pretrained\u002Fbytetrack_x_mot17.pth.tar -b 1 -d 1 --fp16 --fuse\npython3 tools\u002Finterpolation.py\n```\nSubmit the txt files to [MOTChallenge](https:\u002F\u002Fmotchallenge.net\u002F) website and you can get 79+ MOTA (For 80+ MOTA, you need to carefully tune the test image size and high score detection threshold of each sequence).\n\n* **Test on MOT20**\n\nWe use the input size 1600 x 896 for MOT20-04, MOT20-07 and 1920 x 736 for MOT20-06, MOT20-08. You can edit it in [yolox_x_mix_mot20_ch.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002Fmain\u002Fexps\u002Fexample\u002Fmot\u002Fyolox_x_mix_mot20_ch.py)\n\nRun ByteTrack:\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Ftrack.py -f exps\u002Fexample\u002Fmot\u002Fyolox_x_mix_mot20_ch.py -c pretrained\u002Fbytetrack_x_mot20.pth.tar -b 1 -d 1 --fp16 --fuse --match_thresh 0.7 --mot20\npython3 tools\u002Finterpolation.py\n```\nSubmit the txt files to [MOTChallenge](https:\u002F\u002Fmotchallenge.net\u002F) website and you can get 77+ MOTA (For higher MOTA, you need to carefully tune the test image size and high score detection threshold of each sequence).\n\n## Applying BYTE to other trackers\n\nSee [tutorials](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Ftree\u002Fmain\u002Ftutorials).\n\n## Combining BYTE with other detectors\n\nSuppose you have already got the detection results 'dets' (x1, y1, x2, y2, score) from other detectors, you can simply pass the detection results to BYTETracker (you need to first modify some post-processing code according to the format of your detection results in [byte_tracker.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002Fmain\u002Fyolox\u002Ftracker\u002Fbyte_tracker.py)):\n\n```\nfrom yolox.tracker.byte_tracker import BYTETracker\ntracker = BYTETracker(args)\nfor image in images:\n   dets = detector(image)\n   online_targets = tracker.update(dets, info_imgs, img_size)\n```\n\nYou can get the tracking results in each frame from 'online_targets'. You can refer to [mot_evaluators.py](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FByteTrack\u002Fblob\u002Fmain\u002Fyolox\u002Fevaluators\u002Fmot_evaluator.py) to pass the detection results to BYTETracker.\n\n## Demo\n\n\u003Cimg src=\"assets\u002Fpalace_demo.gif\" width=\"600\"\u002F>\n\n```shell\ncd \u003CByteTrack_HOME>\npython3 tools\u002Fdemo_track.py video -f exps\u002Fexample\u002Fmot\u002Fyolox_x_mix_det.py -c pretrained\u002Fbytetrack_x_mot17.pth.tar --fp16 --fuse --save_result\n```\n\n## Deploy\n\n1.  [ONNX export and ONNXRuntime](.\u002Fdeploy\u002FONNXRuntime)\n2.  [TensorRT in Python](.\u002Fdeploy\u002FTensorRT\u002Fpython)\n3.  [TensorRT in C++](.\u002Fdeploy\u002FTensorRT\u002Fcpp)\n4.  [ncnn in C++](.\u002Fdeploy\u002Fncnn\u002Fcpp)\n5.  [Deepstream](.\u002Fdeploy\u002FDeepStream)\n\n## Citation\n\n```\n@article{zhang2022bytetrack,\n  title={ByteTrack: Multi-Object Tracking by Associating Every Detection Box},\n  author={Zhang, Yifu and Sun, Peize and Jiang, Yi and Yu, Dongdong and Weng, Fucheng and Yuan, Zehuan and Luo, Ping and Liu, Wenyu and Wang, Xinggang},\n  booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},\n  year={2022}\n}\n```\n\n## Acknowledgement\n\nA large part of the code is borrowed from [YOLOX](https:\u002F\u002Fgithub.com\u002FMegvii-BaseDetection\u002FYOLOX), [FairMOT](https:\u002F\u002Fgithub.com\u002Fifzhang\u002FFairMOT), [TransTrack](https:\u002F\u002Fgithub.com\u002FPeizeSun\u002FTransTrack) and [JDE-Cpp](https:\u002F\u002Fgithub.com\u002Fsamylee\u002FTowards-Realtime-MOT-Cpp). Many thanks for their wonderful works.\n","ByteTrack 是一种简单、快速且强大的多目标跟踪算法。其核心功能是通过关联视频中每个检测框来实现对多个对象的持续追踪，特别之处在于它不仅处理高置信度的检测结果，也利用低置信度检测与轨迹间的相似性恢复被遮挡的目标或过滤背景误检，从而有效减少了真实物体丢失和轨迹断裂的情况。该技术基于 PyTorch 开发，支持实时处理，并已在多个国际标准数据集上展示了优异性能。ByteTrack 适用于需要高效准确地在复杂环境中进行多目标追踪的应用场景，如智能监控、自动驾驶等。",2,"2026-06-11 03:35:57","high_star"]