{"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/path-invariant-map-networks","title":"Path-Invariant Map Networks","arxiv_id":"1812.11647","date":"2018-12-31","proceeding":"CVPR 2019 6","authors":["Zaiwei Zhang","Zhenxiao Liang","Lemeng Wu","Xiaowei Zhou","Qi-Xing Huang"],"abstract":"Optimizing a network of maps among a collection of objects/domains (or map synchronization) is a central problem across computer vision and many other relevant fields. Compared to optimizing pairwise maps in isolation, the benefit of map synchronization is that there are natural constraints among a map network that can improve the quality of individual maps. While such self-supervision constraints are well-understood for undirected map networks (e.g., the cycle-consistency constraint), they are under-explored for directed map networks, which naturally arise when maps are given by parametric maps (e.g., a feed-forward neural network). In this paper, we study a natural self-supervision constraint for directed map networks called path-invariance, which enforces that composite maps along different paths between a fixed pair of source and target domains are identical. We introduce path-invariance bases for efficient encoding of the path-invariance constraint and present an algorithm that outputs a path-variance basis with polynomial time and space complexities. We demonstrate the effectiveness of our approach on optimizing object correspondences, estimating dense image maps via neural networks, and semantic segmentation of 3D scenes via map networks of diverse 3D representations. In particular, for 3D semantic segmentation, our approach only requires 8% labeled data from ScanNet to achieve the same performance as training a single 3D segmentation network with 30% to 100% labeled data.","url_abs":"https://arxiv.org/abs/1812.11647v3","url_pdf":"https://arxiv.org/pdf/1812.11647v3.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":"path-invariant-map-networks","repo_url":"https://github.com/zaiweizhang/path_invariance_map_network","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"3d-semantic-segmentation","task_name":"3D Semantic Segmentation"},{"task_slug":"scene-segmentation","task_name":"Scene Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1812.11647","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1812.11647"}},"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/zaiweizhang/path_invariance_map_network","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran":1,"ran_fixture":1,"unverified":11},"by_repo_kind":{"official":{"samples":13,"ran":2,"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":"06353aadebc1724b","entry":"shuffle_data","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"provider.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/provider.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"06353aadebc1724b"}},{"code_sha256_prefix":"a97f76b9c0811c93","entry":"shuffle_points","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"provider.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/provider.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"a97f76b9c0811c93"}},{"code_sha256_prefix":"31662b40ae35eb80","entry":"conv","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"ops.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"31662b40ae35eb80"}},{"code_sha256_prefix":"18d51d8d06002af3","entry":"conv1d","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"tf_util.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/tf_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"18d51d8d06002af3"}},{"code_sha256_prefix":"dd4ea839e0207aea","entry":"conv2d","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"tf_util.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/tf_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"dd4ea839e0207aea"}},{"code_sha256_prefix":"5d5a54e9e61f622c","entry":"conv2d_transpose","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"tf_util.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/tf_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"5d5a54e9e61f622c"}},{"code_sha256_prefix":"8f90e1aa22b5dec8","entry":"deconv","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"ops.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8f90e1aa22b5dec8"}},{"code_sha256_prefix":"9229925c26b23e7e","entry":"get_loss","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"pointnet2_sem_seg.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/pointnet2_sem_seg.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9229925c26b23e7e"}},{"code_sha256_prefix":"0d4c28990da51518","entry":"placeholder_inputs","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"pointnet2_sem_seg.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/pointnet2_sem_seg.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"0d4c28990da51518"}},{"code_sha256_prefix":"96e3a1a94a60fb90","entry":"placeholder_inputs","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"pointnet2_sem_seg_voxel.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/pointnet2_sem_seg_voxel.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"96e3a1a94a60fb90"}},{"code_sha256_prefix":"9518b8490afb46d3","entry":"pool","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"ops.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9518b8490afb46d3"}},{"code_sha256_prefix":"1f9e48ada82a799b","entry":"rotate_point_cloud","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"provider.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/provider.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"1f9e48ada82a799b"}},{"code_sha256_prefix":"142a56400c483118","entry":"sample_and_group_all","repo":"zaiweizhang/path_invariance_map_network","repo_kind":"official","path":"pointnet_util.py","file_url":"https://github.com/zaiweizhang/path_invariance_map_network/blob/HEAD/pointnet_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"142a56400c483118"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}