{"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/learning-to-segment-3d-point-clouds-in-2d","title":"Learning to Segment 3D Point Clouds in 2D Image Space","arxiv_id":"2003.05593","date":"2020-03-12","proceeding":"CVPR 2020 6","authors":["Yecheng Lyu","Xinming Huang","Ziming Zhang"],"abstract":"In contrast to the literature where local patterns in 3D point clouds are captured by customized convolutional operators, in this paper we study the problem of how to effectively and efficiently project such point clouds into a 2D image space so that traditional 2D convolutional neural networks (CNNs) such as U-Net can be applied for segmentation. To this end, we are motivated by graph drawing and reformulate it as an integer programming problem to learn the topology-preserving graph-to-grid mapping for each individual point cloud. To accelerate the computation in practice, we further propose a novel hierarchical approximate algorithm. With the help of the Delaunay triangulation for graph construction from point clouds and a multi-scale U-Net for segmentation, we manage to demonstrate the state-of-the-art performance on ShapeNet and PartNet, respectively, with significant improvement over the literature. Code is available at https://github.com/Zhang-VISLab.","url_abs":"https://arxiv.org/abs/2003.05593v4","url_pdf":"https://arxiv.org/pdf/2003.05593v4.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":"learning-to-segment-3d-point-clouds-in-2d","repo_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-part-segmentation","task_name":"3D Part Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"graph-construction","task_name":"graph construction"}],"methods":[{"method_slug":"concatenated-skip-connection","method_name":"Concatenated Skip Connection"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"u-net","method_name":"U-Net"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.05593","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.05593"}},"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/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":10},"by_repo_kind":{"listed":{"samples":11,"ran":1,"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":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_provider.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_provider.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":"06353aadebc1724b"}},{"code_sha256_prefix":"4a551dab5b703efc","entry":"Inception","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_network.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_network.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":"4a551dab5b703efc"}},{"code_sha256_prefix":"c4714636eb06db84","entry":"build_mask","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_network.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_network.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":"c4714636eb06db84"}},{"code_sha256_prefix":"8deee068597b8123","entry":"fun_GPGL_layout_push","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"PartNet/fun_GPGL_partnet.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/PartNet/fun_GPGL_partnet.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":"8deee068597b8123"}},{"code_sha256_prefix":"947161ea6effa9da","entry":"fun_GPGL_layout_push","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_GPGL.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_GPGL.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":"947161ea6effa9da"}},{"code_sha256_prefix":"ffc4125320b5f799","entry":"fun_graph_cosntruct","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"PartNet/fun_GPGL_partnet.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/PartNet/fun_GPGL_partnet.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":"ffc4125320b5f799"}},{"code_sha256_prefix":"622aebccc897c871","entry":"graph_cut","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"PartNet/fun_GPGL_partnet.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/PartNet/fun_GPGL_partnet.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":"622aebccc897c871"}},{"code_sha256_prefix":"890b21bde638e520","entry":"iou","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_network.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_network.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":"890b21bde638e520"}},{"code_sha256_prefix":"2fe034a769df407a","entry":"pc_to_cmatrix","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_GPGL.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_GPGL.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":"2fe034a769df407a"}},{"code_sha256_prefix":"eeb72089477daa91","entry":"rotate_point_cloud","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_provider.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_provider.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":"eeb72089477daa91"}},{"code_sha256_prefix":"67798f2786483fc6","entry":"rotate_point_cloud_by_angle","repo":"Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space","repo_kind":"listed","path":"fun_provider.py","file_url":"https://github.com/Zhang-VISLab/Learning-to-Segment-3D-Point-Clouds-in-2D-Image-Space/blob/HEAD/fun_provider.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":"67798f2786483fc6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}