{"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/leveraging-se-3-equivariance-for-learning-3d","title":"Leveraging SE(3) Equivariance for Learning 3D Geometric Shape Assembly","arxiv_id":"2309.06810","date":"2023-09-13","proceeding":"ICCV 2023 1","authors":["Ruihai Wu","Chenrui Tie","Yushi Du","Yan Zhao","Hao Dong"],"abstract":"Shape assembly aims to reassemble parts (or fragments) into a complete object, which is a common task in our daily life. Different from the semantic part assembly (e.g., assembling a chair's semantic parts like legs into a whole chair), geometric part assembly (e.g., assembling bowl fragments into a complete bowl) is an emerging task in computer vision and robotics. Instead of semantic information, this task focuses on geometric information of parts. As the both geometric and pose space of fractured parts are exceptionally large, shape pose disentanglement of part representations is beneficial to geometric shape assembly. In our paper, we propose to leverage SE(3) equivariance for such shape pose disentanglement. Moreover, while previous works in vision and robotics only consider SE(3) equivariance for the representations of single objects, we move a step forward and propose leveraging SE(3) equivariance for representations considering multi-part correlations, which further boosts the performance of the multi-part assembly. Experiments demonstrate the significance of SE(3) equivariance and our proposed method for geometric shape assembly. Project page: https://crtie.github.io/SE-3-part-assembly/","url_abs":"https://arxiv.org/abs/2309.06810v2","url_pdf":"https://arxiv.org/pdf/2309.06810v2.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":"leveraging-se-3-equivariance-for-learning-3d","repo_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"disentanglement","task_name":"Disentanglement"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2309.06810","atlas_url":"https://app.syntology.ai/?focus=2309.06810","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.06810"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","reach":{"status":"ok"}}],"summary":{"ran":7,"ran_fixture":2,"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":"09401b9f9ad5c094","entry":"bgdR","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/utils.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/utils.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":"09401b9f9ad5c094"}},{"code_sha256_prefix":"1ce807aee1e2d14d","entry":"compute_distance_between_rotations","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/utils.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/utils.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":"1ce807aee1e2d14d"}},{"code_sha256_prefix":"924c0a63f8856377","entry":"conv1x1","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/models/encoder/vn_layers.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/models/encoder/vn_layers.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":"924c0a63f8856377"}},{"code_sha256_prefix":"e199cd551c1e9c3e","entry":"get_graph_feature","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/models/encoder/dgcnn.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/models/encoder/dgcnn.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":"e199cd551c1e9c3e"}},{"code_sha256_prefix":"2cda2e4251432e39","entry":"get_graph_feature","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/models/encoder/vn_dgcnn.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/models/encoder/vn_dgcnn.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":"2cda2e4251432e39"}},{"code_sha256_prefix":"d5dbd8d8b3a240d1","entry":"get_graph_feature_cross","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/models/encoder/vn_dgcnn_util.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/models/encoder/vn_dgcnn_util.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":"d5dbd8d8b3a240d1"}},{"code_sha256_prefix":"cdd0141594039dcb","entry":"knn","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/models/encoder/vn_dgcnn.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/models/encoder/vn_dgcnn.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdd0141594039dcb"}},{"code_sha256_prefix":"35d6887261f3e988","entry":"knn","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/models/encoder/dgcnn.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/models/encoder/dgcnn.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"35d6887261f3e988"}},{"code_sha256_prefix":"e7f34080c5042332","entry":"load_data","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/datasets/baseline/dataloader_CR.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/datasets/baseline/dataloader_CR.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":"e7f34080c5042332"}},{"code_sha256_prefix":"19b639ea820e6dbc","entry":"mean_pool","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/models/encoder/vn_layers.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/models/encoder/vn_layers.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"19b639ea820e6dbc"}},{"code_sha256_prefix":"e2571b59c02be310","entry":"bgs","repo":"crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly","repo_kind":"official","path":"NSM/shape_assembly/utils.py","file_url":"https://github.com/crtie/leveraging-se-3-equivariance-for-learning-3d-geometric-shape-assembly/blob/HEAD/NSM/shape_assembly/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e2571b59c02be310"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}