{"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/on-exploring-pde-modeling-for-point-cloud","title":"On Exploring PDE Modeling for Point Cloud Video Representation Learning","arxiv_id":"2404.04720","date":"2024-04-06","proceeding":null,"authors":["Zhuoxu Huang","Zhenkun Fan","Tao Xu","Jungong Han"],"abstract":"Point cloud video representation learning is challenging due to complex structures and unordered spatial arrangement. Traditional methods struggle with frame-to-frame correlations and point-wise correspondence tracking. Recently, partial differential equations (PDE) have provided a new perspective in uniformly solving spatial-temporal data information within certain constraints. While tracking tangible point correspondence remains challenging, we propose to formalize point cloud video representation learning as a PDE-solving problem. Inspired by fluid analysis, where PDEs are used to solve the deformation of spatial shape over time, we employ PDE to solve the variations of spatial points affected by temporal information. By modeling spatial-temporal correlations, we aim to regularize spatial variations with temporal features, thereby enhancing representation learning in point cloud videos. We introduce Motion PointNet composed of a PointNet-like encoder and a PDE-solving module. Initially, we construct a lightweight yet effective encoder to model an initial state of the spatial variations. Subsequently, we develop our PDE-solving module in a parameterized latent space, tailored to address the spatio-temporal correlations inherent in point cloud video. The process of solving PDE is guided and refined by a contrastive learning structure, which is pivotal in reshaping the feature distribution, thereby optimizing the feature representation within point cloud video data. Remarkably, our Motion PointNet achieves an impressive accuracy of 97.52% on the MSRAction-3D dataset, surpassing the current state-of-the-art in all aspects while consuming minimal resources (only 0.72M parameters and 0.82G FLOPs).","url_abs":"https://arxiv.org/abs/2404.04720v2","url_pdf":"https://arxiv.org/pdf/2404.04720v2.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":"on-exploring-pde-modeling-for-point-cloud","repo_url":"https://github.com/zhh6425/MotionPointNet","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.04720","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.04720"}},"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/zhh6425/MotionPointNet","reach":{"status":"ok"}}],"summary":{"ran":5,"ran_honours":1,"ran_fixture":1},"by_repo_kind":{"official":{"samples":7,"ran":7,"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":7,"samples":[{"code_sha256_prefix":"d077f65baf2246b1","entry":"create_act","repo":"zhh6425/MotionPointNet","repo_kind":"official","path":"layers/activation.py","file_url":"https://github.com/zhh6425/MotionPointNet/blob/HEAD/layers/activation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d077f65baf2246b1"}},{"code_sha256_prefix":"96cad624333a1efc","entry":"create_norm","repo":"zhh6425/MotionPointNet","repo_kind":"official","path":"layers/norm.py","file_url":"https://github.com/zhh6425/MotionPointNet/blob/HEAD/layers/norm.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"96cad624333a1efc"}},{"code_sha256_prefix":"560ef2fb0e086dd2","entry":"get_aggregation_feautres","repo":"zhh6425/MotionPointNet","repo_kind":"official","path":"layers/group.py","file_url":"https://github.com/zhh6425/MotionPointNet/blob/HEAD/layers/group.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"560ef2fb0e086dd2"}},{"code_sha256_prefix":"24400bc088ed228d","entry":"make_divisible","repo":"zhh6425/MotionPointNet","repo_kind":"official","path":"layers/helpers.py","file_url":"https://github.com/zhh6425/MotionPointNet/blob/HEAD/layers/helpers.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"24400bc088ed228d"}},{"code_sha256_prefix":"f1d9a9d6a76dbed2","entry":"random_sample","repo":"zhh6425/MotionPointNet","repo_kind":"official","path":"layers/subsample.py","file_url":"https://github.com/zhh6425/MotionPointNet/blob/HEAD/layers/subsample.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f1d9a9d6a76dbed2"}},{"code_sha256_prefix":"d22682eba701fc02","entry":"torch_grouping_operation","repo":"zhh6425/MotionPointNet","repo_kind":"official","path":"layers/group.py","file_url":"https://github.com/zhh6425/MotionPointNet/blob/HEAD/layers/group.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d22682eba701fc02"}},{"code_sha256_prefix":"02566da69866c48c","entry":"trunc_normal_","repo":"zhh6425/MotionPointNet","repo_kind":"official","path":"layers/weight_init.py","file_url":"https://github.com/zhh6425/MotionPointNet/blob/HEAD/layers/weight_init.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"02566da69866c48c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}