{"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/ifusion-inverting-diffusion-for-pose-free","title":"iFusion: Inverting Diffusion for Pose-Free Reconstruction from Sparse Views","arxiv_id":"2312.17250","date":"2023-12-28","proceeding":null,"authors":["Chin-Hsuan Wu","Yen-Chun Chen","Bolivar Solarte","Lu Yuan","Min Sun"],"abstract":"We present iFusion, a novel 3D object reconstruction framework that requires only two views with unknown camera poses. While single-view reconstruction yields visually appealing results, it can deviate significantly from the actual object, especially on unseen sides. Additional views improve reconstruction fidelity but necessitate known camera poses. However, assuming the availability of pose may be unrealistic, and existing pose estimators fail in sparse view scenarios. To address this, we harness a pre-trained novel view synthesis diffusion model, which embeds implicit knowledge about the geometry and appearance of diverse objects. Our strategy unfolds in three steps: (1) We invert the diffusion model for camera pose estimation instead of synthesizing novel views. (2) The diffusion model is fine-tuned using provided views and estimated poses, turned into a novel view synthesizer tailored for the target object. (3) Leveraging registered views and the fine-tuned diffusion model, we reconstruct the 3D object. Experiments demonstrate strong performance in both pose estimation and novel view synthesis. Moreover, iFusion seamlessly integrates with various reconstruction methods and enhances them.","url_abs":"https://arxiv.org/abs/2312.17250v1","url_pdf":"https://arxiv.org/pdf/2312.17250v1.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":"ifusion-inverting-diffusion-for-pose-free","repo_url":"https://github.com/chinhsuanwu/ifusion","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-object-reconstruction","task_name":"3D Object Reconstruction"},{"task_slug":"camera-pose-estimation","task_name":"Camera Pose Estimation"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-reconstruction","task_name":"Object Reconstruction"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2312.17250","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.17250"}},"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/chinhsuanwu/ifusion","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":4,"ran_violates":2,"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":10,"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":"fe5dd5258046898c","entry":"always","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/modules/x_transformer.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/modules/x_transformer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fe5dd5258046898c"}},{"code_sha256_prefix":"424012cb37b31172","entry":"default","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/modules/attention.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/modules/attention.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"424012cb37b31172"}},{"code_sha256_prefix":"aa5486a3650902d8","entry":"exists","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/modules/attention.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/modules/attention.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aa5486a3650902d8"}},{"code_sha256_prefix":"221b2d116fdf1032","entry":"get_obj_from_str","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/util.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/util.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"221b2d116fdf1032"}},{"code_sha256_prefix":"4b4a8984a2737ae5","entry":"inject_trainable_lora","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/lora.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/lora.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4b4a8984a2737ae5"}},{"code_sha256_prefix":"0683bd3d30cf58dc","entry":"inject_trainable_lora_extended","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/lora.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/lora.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":"0683bd3d30cf58dc"}},{"code_sha256_prefix":"9a299fe5ae09e407","entry":"uniq","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/modules/attention.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/modules/attention.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9a299fe5ae09e407"}},{"code_sha256_prefix":"2f9880b526ff277e","entry":"extract_lora_ups_down","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/lora.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/lora.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":"2f9880b526ff277e"}},{"code_sha256_prefix":"e1fe8323a9d1d27a","entry":"instantiate_from_config","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/util.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/util.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":"e1fe8323a9d1d27a"}},{"code_sha256_prefix":"196d9447f1150f97","entry":"load_model_from_config","repo":"chinhsuanwu/ifusion","repo_kind":"official","path":"ldm/util.py","file_url":"https://github.com/chinhsuanwu/ifusion/blob/HEAD/ldm/util.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":"196d9447f1150f97"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}