{"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/quaternion-equivariant-capsule-networks-for-1","title":"Quaternion Equivariant Capsule Networks for 3D Point Clouds","arxiv_id":"1912.12098","date":"2019-12-27","proceeding":"ECCV 2020 8","authors":["Yongheng Zhao","Tolga Birdal","Jan Eric Lenssen","Emanuele Menegatti","Leonidas Guibas","Federico Tombari"],"abstract":"We present a 3D capsule module for processing point clouds that is equivariant to 3D rotations and translations, as well as invariant to permutations of the input points. The operator receives a sparse set of local reference frames, computed from an input point cloud and establishes end-to-end transformation equivariance through a novel dynamic routing procedure on quaternions. Further, we theoretically connect dynamic routing between capsules to the well-known Weiszfeld algorithm, a scheme for solving \\emph{iterative re-weighted least squares} (IRLS) problems with provable convergence properties. It is shown that such group dynamic routing can be interpreted as robust IRLS rotation averaging on capsule votes, where information is routed based on the final inlier scores. Based on our operator, we build a capsule network that disentangles geometry from pose, paving the way for more informative descriptors and a structured latent space. Our architecture allows joint object classification and orientation estimation without explicit supervision of rotations. We validate our algorithm empirically on common benchmark datasets.","url_abs":"https://arxiv.org/abs/1912.12098v3","url_pdf":"https://arxiv.org/pdf/1912.12098v3.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":"quaternion-equivariant-capsule-networks-for-1","repo_url":"https://github.com/tolgabirdal/qecnetworks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"quaternion-equivariant-capsule-networks-for-1","repo_url":"https://github.com/yongheng1991/qec_net","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[{"method_slug":"fixcaps","method_name":"Capsule Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1912.12098","atlas_url":"https://app.syntology.ai/?focus=1912.12098","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1912.12098"}},"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/tolgabirdal/qecnetworks","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yongheng1991/qec_net","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"ran_honours":1},"by_repo_kind":{"listed":{"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":0,"samples":[{"code_sha256_prefix":"79dcda1585241d66","entry":"color_distance","repo":"tolgabirdal/qecnetworks","repo_kind":"listed","path":"my_dataloader/utils.py","file_url":"https://github.com/tolgabirdal/qecnetworks/blob/HEAD/my_dataloader/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"79dcda1585241d66"}},{"code_sha256_prefix":"8e24f454a69939ee","entry":"get_random_color","repo":"tolgabirdal/qecnetworks","repo_kind":"listed","path":"my_dataloader/utils.py","file_url":"https://github.com/tolgabirdal/qecnetworks/blob/HEAD/my_dataloader/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8e24f454a69939ee"}},{"code_sha256_prefix":"d513dbe59ed7766e","entry":"my_get_n_random_lines","repo":"tolgabirdal/qecnetworks","repo_kind":"listed","path":"my_dataloader/utils.py","file_url":"https://github.com/tolgabirdal/qecnetworks/blob/HEAD/my_dataloader/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d513dbe59ed7766e"}},{"code_sha256_prefix":"4783fbece52f500e","entry":"pc_normalize","repo":"tolgabirdal/qecnetworks","repo_kind":"listed","path":"my_dataloader/modelnet_with_lrf_sample_index_loader.py","file_url":"https://github.com/tolgabirdal/qecnetworks/blob/HEAD/my_dataloader/modelnet_with_lrf_sample_index_loader.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4783fbece52f500e"}},{"code_sha256_prefix":"1ea3f58d3f4f2644","entry":"qmul","repo":"tolgabirdal/qecnetworks","repo_kind":"listed","path":"models/quat_ops.py","file_url":"https://github.com/tolgabirdal/qecnetworks/blob/HEAD/models/quat_ops.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ea3f58d3f4f2644"}},{"code_sha256_prefix":"13288e7c4c62508e","entry":"qrotv","repo":"tolgabirdal/qecnetworks","repo_kind":"listed","path":"models/quat_ops.py","file_url":"https://github.com/tolgabirdal/qecnetworks/blob/HEAD/models/quat_ops.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"13288e7c4c62508e"}},{"code_sha256_prefix":"14cb8e812720184c","entry":"qrotv3","repo":"tolgabirdal/qecnetworks","repo_kind":"listed","path":"models/quat_ops.py","file_url":"https://github.com/tolgabirdal/qecnetworks/blob/HEAD/models/quat_ops.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"14cb8e812720184c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}