{"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/puzzlefusion-auto-agglomerative-3d-fracture","title":"PuzzleFusion++: Auto-agglomerative 3D Fracture Assembly by Denoise and Verify","arxiv_id":"2406.00259","date":"2024-06-01","proceeding":null,"authors":["Zhengqing Wang","Jiacheng Chen","Yasutaka Furukawa"],"abstract":"This paper proposes a novel \"auto-agglomerative\" 3D fracture assembly method, PuzzleFusion++, resembling how humans solve challenging spatial puzzles. Starting from individual fragments, the approach 1) aligns and merges fragments into larger groups akin to agglomerative clustering and 2) repeats the process iteratively in completing the assembly akin to auto-regressive methods. Concretely, a diffusion model denoises the 6-DoF alignment parameters of the fragments simultaneously, and a transformer model verifies and merges pairwise alignments into larger ones, whose process repeats iteratively. Extensive experiments on the Breaking Bad dataset show that PuzzleFusion++ outperforms all other state-of-the-art techniques by significant margins across all metrics, in particular by over 10% in part accuracy and 50% in Chamfer distance. The code will be available on our project page: https://puzzlefusion-plusplus.github.io.","url_abs":"https://arxiv.org/abs/2406.00259v1","url_pdf":"https://arxiv.org/pdf/2406.00259v1.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":"puzzlefusion-auto-agglomerative-3d-fracture","repo_url":"https://github.com/eric-zqwang/puzzlefusion-plusplus","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.00259","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.00259"}},"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/eric-zqwang/puzzlefusion-plusplus","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":3},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"70e7896c41fd87ec","entry":"betas_for_alpha_bar","repo":"eric-zqwang/puzzlefusion-plusplus","repo_kind":"official","path":"puzzlefusion_plusplus/denoiser/model/modules/custom_diffusers.py","file_url":"https://github.com/eric-zqwang/puzzlefusion-plusplus/blob/HEAD/puzzlefusion_plusplus/denoiser/model/modules/custom_diffusers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"70e7896c41fd87ec"}},{"code_sha256_prefix":"0b62c851491c2743","entry":"build_geometry_dataloader","repo":"eric-zqwang/puzzlefusion-plusplus","repo_kind":"official","path":"puzzlefusion_plusplus/verifier/dataset/dataset.py","file_url":"https://github.com/eric-zqwang/puzzlefusion-plusplus/blob/HEAD/puzzlefusion_plusplus/verifier/dataset/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0b62c851491c2743"}},{"code_sha256_prefix":"02c9eb20188afb75","entry":"trans_metrics","repo":"eric-zqwang/puzzlefusion-plusplus","repo_kind":"official","path":"puzzlefusion_plusplus/denoiser/evaluation/evaluator.py","file_url":"https://github.com/eric-zqwang/puzzlefusion-plusplus/blob/HEAD/puzzlefusion_plusplus/denoiser/evaluation/evaluator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"02c9eb20188afb75"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}