{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/memotr-long-term-memory-augmented-transformer","title":"MeMOTR: Long-Term Memory-Augmented Transformer for Multi-Object Tracking","arxiv_id":"2307.15700","date":"2023-07-28","proceeding":"ICCV 2023 1","authors":["Ruopeng Gao","LiMin Wang"],"abstract":"As a video task, Multiple Object Tracking (MOT) is expected to capture temporal information of targets effectively. Unfortunately, most existing methods only explicitly exploit the object features between adjacent frames, while lacking the capacity to model long-term temporal information. In this paper, we propose MeMOTR, a long-term memory-augmented Transformer for multi-object tracking. Our method is able to make the same object's track embedding more stable and distinguishable by leveraging long-term memory injection with a customized memory-attention layer. This significantly improves the target association ability of our model. Experimental results on DanceTrack show that MeMOTR impressively surpasses the state-of-the-art method by 7.9% and 13.0% on HOTA and AssA metrics, respectively. Furthermore, our model also outperforms other Transformer-based methods on association performance on MOT17 and generalizes well on BDD100K. Code is available at https://github.com/MCG-NJU/MeMOTR.","url_abs":"https://arxiv.org/abs/2307.15700v3","url_pdf":"https://arxiv.org/pdf/2307.15700v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"memotr-long-term-memory-augmented-transformer","repo_url":"https://github.com/mcg-nju/memotr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"multi-object-tracking","task_name":"Multi-Object Tracking"},{"task_slug":"multiple-object-tracking","task_name":"Multiple Object Tracking"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-tracking","task_name":"Object Tracking"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/multi-object-tracking-on-dancetrack","task":"Multi-Object Tracking","dataset":"DanceTrack","model":"MeMOTR","rank_in_archive_order":8,"of":37,"metrics":{"AssA":"58.4","DetA":"80.5","HOTA":"68.5","IDF1":"71.2","MOTA":"89.9"},"uses_additional_data":false},{"leaderboard":"/sota/multi-object-tracking-on-dancetrack","task":"Multi-Object Tracking","dataset":"DanceTrack","model":"MeMOTR (Deformable DETR)","rank_in_archive_order":16,"of":37,"metrics":{"AssA":"52.3","DetA":"77.0","HOTA":"63.4","IDF1":"65.5","MOTA":"85.4"},"uses_additional_data":false},{"leaderboard":"/sota/multi-object-tracking-on-sportsmot","task":"Multi-Object Tracking","dataset":"SportsMOT","model":"MeMOTR","rank_in_archive_order":14,"of":22,"metrics":{"AssA":"59.1","DetA":"83.1","HOTA":"70.0","IDF1":"71.4","MOTA":"91.5"},"uses_additional_data":false},{"leaderboard":"/sota/multi-object-tracking-on-sportsmot","task":"Multi-Object Tracking","dataset":"SportsMOT","model":"MeMOTR (Deformable-DETR)","rank_in_archive_order":16,"of":22,"metrics":{"AssA":"57.8","DetA":"82.0","HOTA":"68.8","IDF1":"69.9","MOTA":"90.2"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-object-tracking-on-sportsmot","task":"Multiple Object Tracking","dataset":"SportsMOT","model":"MeMOTR","rank_in_archive_order":13,"of":19,"metrics":{"AssA":"59.1","DetA":"83.1","HOTA":"70.0","IDF1":"71.4","MOTA":"91.5"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-object-tracking-on-sportsmot","task":"Multiple Object Tracking","dataset":"SportsMOT","model":"MeMOTR (Deformable-DETR)","rank_in_archive_order":14,"of":19,"metrics":{"AssA":"57.8","DetA":"82.0","HOTA":"68.8","IDF1":"69.9","MOTA":"90.2"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.15700","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.15700"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mcg-nju/memotr","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/MCG-NJU/MeMOTR","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"ran_draft_wrong":3,"unverified":4},"by_repo_kind":{"official":{"samples":14,"ran":10,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"3b4766dc8db5676c","entry":"BackboneWithPE","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3b4766dc8db5676c"}},{"code_sha256_prefix":"6f70643bd82efe2a","entry":"DeformableEncoder","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6f70643bd82efe2a"}},{"code_sha256_prefix":"dffc33ac23b8e8c7","entry":"MLP","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dffc33ac23b8e8c7"}},{"code_sha256_prefix":"9e000b2a48eac77c","entry":"NestedTensor","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9e000b2a48eac77c"}},{"code_sha256_prefix":"3b24f29e53388fbe","entry":"TrackInstances","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3b24f29e53388fbe"}},{"code_sha256_prefix":"871c3d5d01b0c75a","entry":"eval_model","repo":"mcg-nju/memotr","repo_kind":"official","path":"eval_engine.py","file_url":"https://github.com/mcg-nju/memotr/blob/HEAD/eval_engine.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"871c3d5d01b0c75a"}},{"code_sha256_prefix":"d58a53879397eff0","entry":"get_activation_layer","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d58a53879397eff0"}},{"code_sha256_prefix":"d48189dd4977ee78","entry":"get_clones","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d48189dd4977ee78"}},{"code_sha256_prefix":"bd7d1844c78a5ac3","entry":"inverse_sigmoid","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd7d1844c78a5ac3"}},{"code_sha256_prefix":"a542c79696b8b5ae","entry":"sigmoid_focal_loss","repo":"mcg-nju/memotr","repo_kind":"official","path":"models/criterion.py","file_url":"https://github.com/mcg-nju/memotr/blob/HEAD/models/criterion.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a542c79696b8b5ae"}},{"code_sha256_prefix":"e2c30130f6dac006","entry":"DeformableEncoderLayer","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e2c30130f6dac006"}},{"code_sha256_prefix":"a825241e0a1aed5b","entry":"DeformableTransformer","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a825241e0a1aed5b"}},{"code_sha256_prefix":"51c349d5ad7507ea","entry":"MeMOTR","repo":"MCG-NJU/MeMOTR","repo_kind":"official","path":"models/memotr.py","file_url":"https://github.com/MCG-NJU/MeMOTR/blob/HEAD/models/memotr.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"51c349d5ad7507ea"}},{"code_sha256_prefix":"8302d68a2f073468","entry":"build","repo":"mcg-nju/memotr","repo_kind":"official","path":"models/deformable_transformer.py","file_url":"https://github.com/mcg-nju/memotr/blob/HEAD/models/deformable_transformer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8302d68a2f073468"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}