{"id":19932114,"url":"https://github.com/amazon-science/siam-mot","last_synced_at":"2025-04-05T02:12:26.215Z","repository":{"id":38212434,"uuid":"369039418","full_name":"amazon-science/siam-mot","owner":"amazon-science","description":"SiamMOT: Siamese Multi-Object Tracking","archived":false,"fork":false,"pushed_at":"2024-04-03T15:25:37.000Z","size":14841,"stargazers_count":471,"open_issues_count":33,"forks_count":64,"subscribers_count":18,"default_branch":"main","last_synced_at":"2024-05-22T07:37:19.743Z","etag":null,"topics":["computer-vision","multi-object-tracking","video-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amazon-science.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":"2021-05-20T00:54:57.000Z","updated_at":"2024-08-02T23:22:46.429Z","dependencies_parsed_at":"2024-08-02T23:36:11.547Z","dependency_job_id":null,"html_url":"https://github.com/amazon-science/siam-mot","commit_stats":null,"previous_names":["amazon-research/siam-mot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-science%2Fsiam-mot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-science%2Fsiam-mot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-science%2Fsiam-mot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-science%2Fsiam-mot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amazon-science","download_url":"https://codeload.github.com/amazon-science/siam-mot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"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":["computer-vision","multi-object-tracking","video-analysis"],"created_at":"2024-11-12T23:09:09.895Z","updated_at":"2025-04-05T02:12:26.198Z","avatar_url":"https://github.com/amazon-science.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SiamMOT\n\nSiamMOT is a region-based Siamese Multi-Object Tracking network that detects and associates object instances simultaneously.\n\n\n![](readme/SiamMOT.png)\n\n\u003e [**SiamMOT: Siamese Multi-Object Tracking**](https://www.amazon.science/publications/siammot-siamese-multi-object-tracking),            \n\u003e Bing Shuai, Andrew Berneshawi, Xinyu Li, Davide Modolo, Joseph Tighe,        \n\n\n    @inproceedings{shuai2021siammot,\n      title={SiamMOT: Siamese Multi-Object Tracking},\n      author={Shuai, Bing and Berneshawi, Andrew and Li, Xinyu and Modolo, Davide and Tighe, Joseph},\n      booktitle={CVPR},\n      year={2021}\n    }\n    \n![](readme/ablation.gif)\n    \n## Abstract\nIn this paper, we focus on improving online multi-object tracking (MOT). In particular, we introduce a region-based Siamese Multi-Object Tracking network, which we name SiamMOT. SiamMOT includes a motion model that estimates the instance’s movement between two frames such that detected instances are associated. To explore how the motion modelling affects its tracking capability, we present two variants of Siamese tracker, one that implicitly models motion and one that models it explicitly. We carry out extensive quantitative experiments on three different MOT datasets: MOT17, TAO-person and Caltech Roadside Pedestrians, showing the importance of motion modelling for MOT and the ability of SiamMOT to substantially outperform the state-of-the-art. Finally, SiamMOT also outperforms the winners of ACM MM’20 HiEve Grand Challenge on HiEve dataset. Moreover, SiamMOT is efficient, and it runs at 17 FPS for 720P videos on a single modern GPU.\n\n\n## Installation\n\nPlease refer to [INSTALL.md](readme/INSTALL.md) for installation instructions.\n\n\n## Try SiamMOT demo\nFor demo  purposes,  we provide two tracking models -- tracking person (visible part) or jointly tracking person and vehicles (bus, car, truck, motorcycle, etc).\nThe person tracking model is trained on COCO-17 and CrowdHuman, while the latter model is trained on COCO-17 and VOC12.\nCurrently, both models used in demos use EMM as its motion model, which performs best among different alternatives.\n\nIn order to run the demo, use the following command:\n~~~\npython3 demos/demo.py --demo-video  PATH_TO_DEMO_VIDE --track-class person --dump-video True\n~~~\nYou can choose `person` or  `person_vehicel` for `track-class` such that person tracking or person/vehicle tracking model is used accordingly.\n\nThe model would be automatically downloaded to `demos/models`,\nand the visualization of tracking outputs is automatically saved to `demos/demo_vis`\n\n![](readme/demo_volleyball.gif)\n\n![](readme/demo_person_vehicle.gif) \n\nWe also provide several pre-trained models in [model_zoos.md](readme/model_zoo.md) that can be used for demo. \n\n## Dataset Evaluation and Training\nAfter [installation](readme/INSTALL.md), follow the instructions in [DATA.md](readme/DATA.md) to setup the datasets.\nAs a sanity check, the models presented in [model_zoos.md](readme/model_zoo.md) can be used to for benchmark testing. \n\nUse the following command to train a model on an 8-GPU machine:\nBefore running training / inference, setup the [configuration file](configs) properly\n~~~\npython3 -m torch.distributed.launch --nproc_per_node=8 tools/train_net.py --config-file configs/dla/DLA_34_FPN.yaml --train-dir PATH_TO_TRAIN_DIR --model-suffix MODEL_SUFFIX \n~~~\n\nUse the following command to test a model on a single-GPU machine:\n~~~\npython3 tools/test_net.py --config-file configs/dla/DLA_34_FPN.yaml --output-dir PATH_TO_OUTPUT_DIR --model-file PATH_TO_MODEL_FILE --test-dataset DATASET_KEY --set val\n~~~\n\n**Note:** If you get an error `ModuleNotFoundError: No module named 'siammot'` when running in the git root then make\nsure your PYTHONPATH includes the current directory, which you can add by running: `export PYTHONPATH=.:$PYTHONPATH`\nor you can explicitly add the project to the path by replacing the '.' in the export command with the absolute path to\nthe git root.\n\nMulti-gpu testing is going to be supported later.\n\n## Version\nThis is the preliminary version specifically for [Airbone Object Tracking (AOT) workshop](https://www.aicrowd.com/challenges/airborne-object-tracking-challenge).\nThe current version only support the motion model being EMM.\n\n* [Update 06/02/2021] Refactor of configuration file\n* [Update 06/02/2021] Operator patching for amodal inference (needed in MOT17) and model release of MOT17 model\n* [Update 06/02/2021] Support inference based on provided public detection\n\nStay tuned for more updates\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazon-science%2Fsiam-mot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famazon-science%2Fsiam-mot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazon-science%2Fsiam-mot/lists"}