{"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/an-empirical-study-of-end-to-end-temporal","title":"An Empirical Study of End-to-End Temporal Action Detection","arxiv_id":"2204.02932","date":"2022-04-06","proceeding":"CVPR 2022 1","authors":["Xiaolong Liu","Song Bai","Xiang Bai"],"abstract":"Temporal action detection (TAD) is an important yet challenging task in video understanding. It aims to simultaneously predict the semantic label and the temporal interval of every action instance in an untrimmed video. Rather than end-to-end learning, most existing methods adopt a head-only learning paradigm, where the video encoder is pre-trained for action classification, and only the detection head upon the encoder is optimized for TAD. The effect of end-to-end learning is not systematically evaluated. Besides, there lacks an in-depth study on the efficiency-accuracy trade-off in end-to-end TAD. In this paper, we present an empirical study of end-to-end temporal action detection. We validate the advantage of end-to-end learning over head-only learning and observe up to 11\\% performance improvement. Besides, we study the effects of multiple design choices that affect the TAD performance and speed, including detection head, video encoder, and resolution of input videos. Based on the findings, we build a mid-resolution baseline detector, which achieves the state-of-the-art performance of end-to-end methods while running more than 4$\\times$ faster. We hope that this paper can serve as a guide for end-to-end learning and inspire future research in this field. Code and models are available at \\url{https://github.com/xlliu7/E2E-TAD}.","url_abs":"https://arxiv.org/abs/2204.02932v1","url_pdf":"https://arxiv.org/pdf/2204.02932v1.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":"an-empirical-study-of-end-to-end-temporal","repo_url":"https://github.com/xlliu7/E2E-TAD","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"action-classification","task_name":"Action Classification"},{"task_slug":"action-detection","task_name":"Action Detection"},{"task_slug":"action-recognition","task_name":"Temporal Action Localization"},{"task_slug":"video-understanding","task_name":"Video Understanding"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/temporal-action-localization-on-activitynet","task":"Temporal Action Localization","dataset":"ActivityNet-1.3","model":"E2E-TAD (SlowFast R50+TadTR)","rank_in_archive_order":21,"of":33,"metrics":{"mAP":"35.10","mAP IOU@0.5":"50.47","mAP IOU@0.75":"35.99","mAP IOU@0.95":"10.83"},"uses_additional_data":false},{"leaderboard":"/sota/temporal-action-localization-on-thumos14","task":"Temporal Action Localization","dataset":"THUMOS’14","model":"E2E-TAD (SlowFast R50+TadTR)","rank_in_archive_order":19,"of":42,"metrics":{"Avg mAP (0.3:0.7)":"54.2","mAP IOU@0.3":"69.4","mAP IOU@0.4":"64.3","mAP IOU@0.5":"56.0","mAP IOU@0.6":"46.4","mAP IOU@0.7":"34.9"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2204.02932","atlas_url":"https://app.syntology.ai/?focus=2204.02932","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.02932"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/xlliu7/E2E-TAD","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":9,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":11,"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":11,"samples":[{"code_sha256_prefix":"76faea88c8139707","entry":"bgr2gray","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"datasets/e2e_lib/image_utils.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/datasets/e2e_lib/image_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"76faea88c8139707"}},{"code_sha256_prefix":"080939369832624b","entry":"get_norm","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"models/tadtr.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/models/tadtr.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"080939369832624b"}},{"code_sha256_prefix":"c7302fc0e601e244","entry":"imnormalize","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"datasets/e2e_lib/videotransforms.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/datasets/e2e_lib/videotransforms.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c7302fc0e601e244"}},{"code_sha256_prefix":"441eb57f9c15784e","entry":"imnormalize_","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"datasets/e2e_lib/videotransforms.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/datasets/e2e_lib/videotransforms.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"441eb57f9c15784e"}},{"code_sha256_prefix":"8a2672223e6157fc","entry":"imrotate","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"datasets/e2e_lib/image_utils.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/datasets/e2e_lib/image_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"8a2672223e6157fc"}},{"code_sha256_prefix":"b62a2ee10ebd56fe","entry":"rgb2gray","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"datasets/e2e_lib/image_utils.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/datasets/e2e_lib/image_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"b62a2ee10ebd56fe"}},{"code_sha256_prefix":"5c0711aada67957e","entry":"sigmoid_focal_loss","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"models/custom_loss.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/models/custom_loss.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"5c0711aada67957e"}},{"code_sha256_prefix":"f25fba8e79d45d48","entry":"str2bool","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"opts.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/opts.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"f25fba8e79d45d48"}},{"code_sha256_prefix":"6e29604338e1f78a","entry":"to_device","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"engine.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/engine.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"6e29604338e1f78a"}},{"code_sha256_prefix":"c4adc4a5ca79c522","entry":"unfold","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"models/video_encoder.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/models/video_encoder.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c4adc4a5ca79c522"}},{"code_sha256_prefix":"195bd49d761ecd2c","entry":"group_inv_transform","repo":"xlliu7/E2E-TAD","repo_kind":"official","path":"datasets/e2e_lib/videotransforms.py","file_url":"https://github.com/xlliu7/E2E-TAD/blob/HEAD/datasets/e2e_lib/videotransforms.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"195bd49d761ecd2c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}