{"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/direcformer-a-directed-attention-in","title":"DirecFormer: A Directed Attention in Transformer Approach to Robust Action Recognition","arxiv_id":"2203.10233","date":"2022-03-19","proceeding":"CVPR 2022 1","authors":["Thanh-Dat Truong","Quoc-Huy Bui","Chi Nhan Duong","Han-Seok Seo","Son Lam Phung","Xin Li","Khoa Luu"],"abstract":"Human action recognition has recently become one of the popular research topics in the computer vision community. Various 3D-CNN based methods have been presented to tackle both the spatial and temporal dimensions in the task of video action recognition with competitive results. However, these methods have suffered some fundamental limitations such as lack of robustness and generalization, e.g., how does the temporal ordering of video frames affect the recognition results? This work presents a novel end-to-end Transformer-based Directed Attention (DirecFormer) framework for robust action recognition. The method takes a simple but novel perspective of Transformer-based approach to understand the right order of sequence actions. Therefore, the contributions of this work are three-fold. Firstly, we introduce the problem of ordered temporal learning issues to the action recognition problem. Secondly, a new Directed Attention mechanism is introduced to understand and provide attentions to human actions in the right order. Thirdly, we introduce the conditional dependency in action sequence modeling that includes orders and classes. The proposed approach consistently achieves the state-of-the-art (SOTA) results compared with the recent action recognition methods, on three standard large-scale benchmarks, i.e. Jester, Kinetics-400 and Something-Something-V2.","url_abs":"https://arxiv.org/abs/2203.10233v1","url_pdf":"https://arxiv.org/pdf/2203.10233v1.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":"direcformer-a-directed-attention-in","repo_url":"https://github.com/uark-cviu/direcformer","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"action-classification","task_name":"Action Classification"},{"task_slug":"action-recognition-in-videos","task_name":"Action Recognition"},{"task_slug":"action-recognition-in-videos-2","task_name":"Action Recognition In Videos"},{"task_slug":"gesture-recognition","task_name":"Gesture Recognition"},{"task_slug":"action-recognition","task_name":"Temporal Action Localization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/action-classification-on-kinetics-400","task":"Action Classification","dataset":"Kinetics-400","model":"DirecFormer","rank_in_archive_order":73,"of":207,"metrics":{"Acc@1":"82.75","Acc@5":"94.86"},"uses_additional_data":false},{"leaderboard":"/sota/action-recognition-on-jester-gesture","task":"Action Recognition","dataset":"Jester (Gesture Recognition)","model":"DirecFormer","rank_in_archive_order":1,"of":3,"metrics":{"Val":"98.15"},"uses_additional_data":false},{"leaderboard":"/sota/action-recognition-in-videos-on-something","task":"Action Recognition","dataset":"Something-Something V2","model":"DirecFormer","rank_in_archive_order":91,"of":123,"metrics":{"Top-1 Accuracy":"64.94","Top-5 Accuracy":"87.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.10233","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.10233"}},"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/uark-cviu/direcformer","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"ran":2,"unverified":4},"by_repo_kind":{"official":{"samples":8,"ran":4,"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":8,"samples":[{"code_sha256_prefix":"c8a06e6ec83e9e27","entry":"extract_layer","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/helpers.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/helpers.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c8a06e6ec83e9e27"}},{"code_sha256_prefix":"54e11386110ff042","entry":"get_same_padding","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/conv2d_same.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/conv2d_same.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"54e11386110ff042"}},{"code_sha256_prefix":"83ec90904c246b55","entry":"load_state_dict","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/helpers.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/helpers.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":"83ec90904c246b55"}},{"code_sha256_prefix":"a5912e0e800a1929","entry":"pad_same","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/conv2d_same.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/conv2d_same.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":"a5912e0e800a1929"}},{"code_sha256_prefix":"a4723eab8df61dbe","entry":"attention_pool","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/attention.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/attention.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":"a4723eab8df61dbe"}},{"code_sha256_prefix":"bcc1cdae3bb3212c","entry":"drop_path","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/common.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/common.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":"bcc1cdae3bb3212c"}},{"code_sha256_prefix":"909f6252536bbcf0","entry":"get_padding_value","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/conv2d_same.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/conv2d_same.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":"909f6252536bbcf0"}},{"code_sha256_prefix":"102b75f3481035d1","entry":"resume_checkpoint","repo":"uark-cviu/direcformer","repo_kind":"official","path":"slowfast/models/helpers.py","file_url":"https://github.com/uark-cviu/direcformer/blob/HEAD/slowfast/models/helpers.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":"102b75f3481035d1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}