{"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/semantics-guided-neural-networks-for","title":"Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition","arxiv_id":"1904.01189","date":"2019-04-02","proceeding":"CVPR 2020 6","authors":["Pengfei Zhang","Cuiling Lan","Wen-Jun Zeng","Junliang Xing","Jianru Xue","Nanning Zheng"],"abstract":"Skeleton-based human action recognition has attracted great interest thanks to the easy accessibility of the human skeleton data. Recently, there is a trend of using very deep feedforward neural networks to model the 3D coordinates of joints without considering the computational efficiency. In this paper, we propose a simple yet effective semantics-guided neural network (SGN) for skeleton-based action recognition. We explicitly introduce the high level semantics of joints (joint type and frame index) into the network to enhance the feature representation capability. In addition, we exploit the relationship of joints hierarchically through two modules, i.e., a joint-level module for modeling the correlations of joints in the same frame and a framelevel module for modeling the dependencies of frames by taking the joints in the same frame as a whole. A strong baseline is proposed to facilitate the study of this field. With an order of magnitude smaller model size than most previous works, SGN achieves the state-of-the-art performance on the NTU60, NTU120, and SYSU datasets. The source code is available at https://github.com/microsoft/SGN.","url_abs":"https://arxiv.org/abs/1904.01189v3","url_pdf":"https://arxiv.org/pdf/1904.01189v3.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":"semantics-guided-neural-networks-for","repo_url":"https://github.com/microsoft/SGN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"semantics-guided-neural-networks-for","repo_url":"https://github.com/urw7rs/torch_skeleton","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"action-recognition-in-videos","task_name":"Action Recognition"},{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"skeleton-based-action-recognition","task_name":"Skeleton Based Action Recognition"},{"task_slug":"action-recognition","task_name":"Temporal Action Localization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/skeleton-based-action-recognition-on-n-ucla","task":"Skeleton Based Action Recognition","dataset":"N-UCLA","model":"SGN","rank_in_archive_order":21,"of":25,"metrics":{"Accuracy":"92.5%"},"uses_additional_data":false},{"leaderboard":"/sota/skeleton-based-action-recognition-on-ntu-rgbd","task":"Skeleton Based Action Recognition","dataset":"NTU RGB+D","model":"SGN","rank_in_archive_order":67,"of":135,"metrics":{"Accuracy (CS)":"89.0","Accuracy (CV)":"94.5"},"uses_additional_data":false},{"leaderboard":"/sota/skeleton-based-action-recognition-on-sysu-3d","task":"Skeleton Based Action Recognition","dataset":"SYSU 3D","model":"SGN","rank_in_archive_order":1,"of":9,"metrics":{"Accuracy":"86.9%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.01189","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.01189"}},"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/microsoft/SGN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/urw7rs/torch_skeleton","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran_fixture":1,"unverified":10},"by_repo_kind":{"official":{"samples":3,"ran":3,"repositories":1},"listed":{"samples":10,"ran":0,"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":"d63c7bd0fe3e1881","entry":"denoising_by_length","repo":"microsoft/SGN","repo_kind":"official","path":"data/ntu/get_raw_denoised_data.py","file_url":"https://github.com/microsoft/SGN/blob/HEAD/data/ntu/get_raw_denoised_data.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d63c7bd0fe3e1881"}},{"code_sha256_prefix":"a521d7380bf90c08","entry":"denoising_by_spread","repo":"microsoft/SGN","repo_kind":"official","path":"data/ntu/get_raw_denoised_data.py","file_url":"https://github.com/microsoft/SGN/blob/HEAD/data/ntu/get_raw_denoised_data.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a521d7380bf90c08"}},{"code_sha256_prefix":"7bdf5bd91eaabb7e","entry":"get_valid_frames_by_spread","repo":"microsoft/SGN","repo_kind":"official","path":"data/ntu/get_raw_denoised_data.py","file_url":"https://github.com/microsoft/SGN/blob/HEAD/data/ntu/get_raw_denoised_data.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7bdf5bd91eaabb7e"}},{"code_sha256_prefix":"6b0cdc54f0be85d8","entry":"downloaded","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/utils.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/utils.py","link_basis":"harvester_set","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":"6b0cdc54f0be85d8"}},{"code_sha256_prefix":"1fca1af804c2a135","entry":"filter_split","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/datasets/ucla.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/datasets/ucla.py","link_basis":"harvester_set","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":"1fca1af804c2a135"}},{"code_sha256_prefix":"000b53fddf4c7be7","entry":"get_camera","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/datasets/ucla.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/datasets/ucla.py","link_basis":"harvester_set","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":"000b53fddf4c7be7"}},{"code_sha256_prefix":"aeefc2fb74373e0a","entry":"get_filename","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/datasets/ntu.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/datasets/ntu.py","link_basis":"harvester_set","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":"aeefc2fb74373e0a"}},{"code_sha256_prefix":"756a7b2dc4c4f0c7","entry":"get_indices","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/transforms/functional.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/transforms/functional.py","link_basis":"harvester_set","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":"756a7b2dc4c4f0c7"}},{"code_sha256_prefix":"0467f83477d7c817","entry":"get_mask","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/transforms/functional.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/transforms/functional.py","link_basis":"harvester_set","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":"0467f83477d7c817"}},{"code_sha256_prefix":"c4b7f9203fdb9f3d","entry":"listdir","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/utils.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/utils.py","link_basis":"harvester_set","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":"c4b7f9203fdb9f3d"}},{"code_sha256_prefix":"d780706a227ca858","entry":"loads","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/datasets/ntu.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/datasets/ntu.py","link_basis":"harvester_set","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":"d780706a227ca858"}},{"code_sha256_prefix":"42c7e6ad59d7eafd","entry":"pad_bodies","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/transforms/functional.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/transforms/functional.py","link_basis":"harvester_set","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":"42c7e6ad59d7eafd"}},{"code_sha256_prefix":"847a989802c341f5","entry":"to_numpy","repo":"urw7rs/torch_skeleton","repo_kind":"listed","path":"torch_skeleton/datasets/ntu.py","file_url":"https://github.com/urw7rs/torch_skeleton/blob/HEAD/torch_skeleton/datasets/ntu.py","link_basis":"harvester_set","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":"847a989802c341f5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}