{"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/part2object-hierarchical-unsupervised-3d","title":"Part2Object: Hierarchical Unsupervised 3D Instance Segmentation","arxiv_id":"2407.10084","date":"2024-07-14","proceeding":null,"authors":["Cheng Shi","Yulin Zhang","Bin Yang","Jiajin Tang","Yuexin Ma","Sibei Yang"],"abstract":"Unsupervised 3D instance segmentation aims to segment objects from a 3D point cloud without any annotations. Existing methods face the challenge of either too loose or too tight clustering, leading to under-segmentation or over-segmentation. To address this issue, we propose Part2Object, hierarchical clustering with object guidance. Part2Object employs multi-layer clustering from points to object parts and objects, allowing objects to manifest at any layer. Additionally, it extracts and utilizes 3D objectness priors from temporally consecutive 2D RGB frames to guide the clustering process. Moreover, we propose Hi-Mask3D to support hierarchical 3D object part and instance segmentation. By training Hi-Mask3D on the objects and object parts extracted from Part2Object, we achieve consistent and superior performance compared to state-of-the-art models in various settings, including unsupervised instance segmentation, data-efficient fine-tuning, and cross-dataset generalization. Code is release at https://github.com/ChengShiest/Part2Object","url_abs":"https://arxiv.org/abs/2407.10084v1","url_pdf":"https://arxiv.org/pdf/2407.10084v1.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":"part2object-hierarchical-unsupervised-3d","repo_url":"https://github.com/chengshiest/part2object","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-instance-segmentation-1","task_name":"3D Instance Segmentation"},{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"object","task_name":"Object"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"unsupervised-instance-segmentation","task_name":"Unsupervised Instance Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.10084","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.10084"}},"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/chengshiest/part2object","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"ran_fixture":1,"unverified":5},"by_repo_kind":{"official":{"samples":10,"ran":5,"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":"b270cbbfbd5c7d44","entry":"dice_loss","repo":"chengshiest/part2object","repo_kind":"official","path":"models/criterion.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/models/criterion.py","link_basis":"first_harvest_node","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":"b270cbbfbd5c7d44"}},{"code_sha256_prefix":"5ea6027b55d9b643","entry":"get_iou","repo":"chengshiest/part2object","repo_kind":"official","path":"models/criterion.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/models/criterion.py","link_basis":"first_harvest_node","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":"5ea6027b55d9b643"}},{"code_sha256_prefix":"da426b749d2b3e6b","entry":"make_pred_info","repo":"chengshiest/part2object","repo_kind":"official","path":"benchmark/evaluate_semantic_instance.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/benchmark/evaluate_semantic_instance.py","link_basis":"first_harvest_node","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":"da426b749d2b3e6b"}},{"code_sha256_prefix":"818099bdffc93897","entry":"shift_scale_points","repo":"chengshiest/part2object","repo_kind":"official","path":"models/position_embedding.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/models/position_embedding.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"818099bdffc93897"}},{"code_sha256_prefix":"c0938fc9bc7ebddd","entry":"sigmoid_ce_loss","repo":"chengshiest/part2object","repo_kind":"official","path":"models/criterion.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/models/criterion.py","link_basis":"first_harvest_node","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":"c0938fc9bc7ebddd"}},{"code_sha256_prefix":"bc2cb481a75c370d","entry":"batch_dice_loss","repo":"chengshiest/part2object","repo_kind":"official","path":"models/matcher.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/models/matcher.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":"bc2cb481a75c370d"}},{"code_sha256_prefix":"1edd24985036b0bf","entry":"batch_sigmoid_ce_loss","repo":"chengshiest/part2object","repo_kind":"official","path":"models/matcher.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/models/matcher.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":"1edd24985036b0bf"}},{"code_sha256_prefix":"0ff7346cfa2f35ee","entry":"compute_averages","repo":"chengshiest/part2object","repo_kind":"official","path":"benchmark/evaluate_semantic_instance.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/benchmark/evaluate_semantic_instance.py","link_basis":"first_harvest_node","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":"0ff7346cfa2f35ee"}},{"code_sha256_prefix":"9ae40dc3d72a968c","entry":"evaluate_matches","repo":"chengshiest/part2object","repo_kind":"official","path":"benchmark/evaluate_semantic_instance.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/benchmark/evaluate_semantic_instance.py","link_basis":"first_harvest_node","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":"9ae40dc3d72a968c"}},{"code_sha256_prefix":"58cc9ff3bf75e753","entry":"nested_tensor_from_tensor_list","repo":"chengshiest/part2object","repo_kind":"official","path":"models/misc.py","file_url":"https://github.com/chengshiest/part2object/blob/HEAD/models/misc.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":"58cc9ff3bf75e753"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}