{"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/gibbsddrm-a-partially-collapsed-gibbs-sampler","title":"GibbsDDRM: A Partially Collapsed Gibbs Sampler for Solving Blind Inverse Problems with Denoising Diffusion Restoration","arxiv_id":"2301.12686","date":"2023-01-30","proceeding":null,"authors":["Naoki Murata","Koichi Saito","Chieh-Hsin Lai","Yuhta Takida","Toshimitsu Uesaka","Yuki Mitsufuji","Stefano Ermon"],"abstract":"Pre-trained diffusion models have been successfully used as priors in a variety of linear inverse problems, where the goal is to reconstruct a signal from noisy linear measurements. However, existing approaches require knowledge of the linear operator. In this paper, we propose GibbsDDRM, an extension of Denoising Diffusion Restoration Models (DDRM) to a blind setting in which the linear measurement operator is unknown. GibbsDDRM constructs a joint distribution of the data, measurements, and linear operator by using a pre-trained diffusion model for the data prior, and it solves the problem by posterior sampling with an efficient variant of a Gibbs sampler. The proposed method is problem-agnostic, meaning that a pre-trained diffusion model can be applied to various inverse problems without fine-tuning. In experiments, it achieved high performance on both blind image deblurring and vocal dereverberation tasks, despite the use of simple generic priors for the underlying linear operators.","url_abs":"https://arxiv.org/abs/2301.12686v2","url_pdf":"https://arxiv.org/pdf/2301.12686v2.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":"gibbsddrm-a-partially-collapsed-gibbs-sampler","repo_url":"https://github.com/sony/gibbsddrm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"blind-image-deblurring","task_name":"Blind Image Deblurring"},{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-deblurring","task_name":"Image Deblurring"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2301.12686","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2301.12686"}},"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/sony/gibbsddrm","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":6,"ran":4,"ran_fixture":1,"ran_honours":1,"unverified":8},"by_repo_kind":{"official":{"samples":20,"ran":12,"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":"c3a6b977022957cb","entry":"Normalize","repo":"sony/gibbsddrm","repo_kind":"official","path":"models/diffusion.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/models/diffusion.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":"c3a6b977022957cb"}},{"code_sha256_prefix":"9215fb189fbfb9f4","entry":"compute_alpha","repo":"sony/gibbsddrm","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/functions/denoising.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9215fb189fbfb9f4"}},{"code_sha256_prefix":"e41367ad14ff58fd","entry":"get_param_groups_and_shapes","repo":"sony/gibbsddrm","repo_kind":"official","path":"guided_diffusion/fp16_util.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/guided_diffusion/fp16_util.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":"e41367ad14ff58fd"}},{"code_sha256_prefix":"cb49209c125de1b4","entry":"get_timestep_embedding","repo":"sony/gibbsddrm","repo_kind":"official","path":"models/diffusion.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/models/diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cb49209c125de1b4"}},{"code_sha256_prefix":"915e1c6c38494be9","entry":"list_dir","repo":"sony/gibbsddrm","repo_kind":"official","path":"datasets/utils.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/datasets/utils.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":"915e1c6c38494be9"}},{"code_sha256_prefix":"208e196e9582a9a6","entry":"list_files","repo":"sony/gibbsddrm","repo_kind":"official","path":"datasets/utils.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/datasets/utils.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":"208e196e9582a9a6"}},{"code_sha256_prefix":"e20dd5102da3b050","entry":"make_master_params","repo":"sony/gibbsddrm","repo_kind":"official","path":"guided_diffusion/fp16_util.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/guided_diffusion/fp16_util.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":"e20dd5102da3b050"}},{"code_sha256_prefix":"bcd8b4acab199405","entry":"make_output_format","repo":"sony/gibbsddrm","repo_kind":"official","path":"guided_diffusion/logger.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/guided_diffusion/logger.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":"bcd8b4acab199405"}},{"code_sha256_prefix":"07d90bd6ae1be7db","entry":"md5_hash","repo":"sony/gibbsddrm","repo_kind":"official","path":"functions/ckpt_util.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/functions/ckpt_util.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":"07d90bd6ae1be7db"}},{"code_sha256_prefix":"3137073275f8c21a","entry":"nonlinearity","repo":"sony/gibbsddrm","repo_kind":"official","path":"models/diffusion.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/models/diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3137073275f8c21a"}},{"code_sha256_prefix":"f321f54723433661","entry":"pil_loader","repo":"sony/gibbsddrm","repo_kind":"official","path":"datasets/imagenet_subset.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/datasets/imagenet_subset.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f321f54723433661"}},{"code_sha256_prefix":"64fff1e30802b815","entry":"unflatten_master_params","repo":"sony/gibbsddrm","repo_kind":"official","path":"guided_diffusion/fp16_util.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/guided_diffusion/fp16_util.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":"64fff1e30802b815"}},{"code_sha256_prefix":"404fb2b2daa1ae78","entry":"accimage_loader","repo":"sony/gibbsddrm","repo_kind":"official","path":"datasets/imagenet_subset.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/datasets/imagenet_subset.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":"404fb2b2daa1ae78"}},{"code_sha256_prefix":"7c9d85e6d6fdaff2","entry":"calc_vars_for_xupdate","repo":"sony/gibbsddrm","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/functions/denoising.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":"7c9d85e6d6fdaff2"}},{"code_sha256_prefix":"7345763c9b9300fb","entry":"check_integrity","repo":"sony/gibbsddrm","repo_kind":"official","path":"datasets/utils.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/datasets/utils.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":"7345763c9b9300fb"}},{"code_sha256_prefix":"7bf07d5f59aae36d","entry":"default_loader","repo":"sony/gibbsddrm","repo_kind":"official","path":"datasets/imagenet_subset.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/datasets/imagenet_subset.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":"7bf07d5f59aae36d"}},{"code_sha256_prefix":"d80f2146cfc85e9a","entry":"get_ckpt_path","repo":"sony/gibbsddrm","repo_kind":"official","path":"functions/ckpt_util.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/functions/ckpt_util.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":"d80f2146cfc85e9a"}},{"code_sha256_prefix":"e515a67f7f32e76d","entry":"mpi_weighted_mean","repo":"sony/gibbsddrm","repo_kind":"official","path":"guided_diffusion/logger.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/guided_diffusion/logger.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":"e515a67f7f32e76d"}},{"code_sha256_prefix":"0c6607473a4c4c55","entry":"profile","repo":"sony/gibbsddrm","repo_kind":"official","path":"guided_diffusion/logger.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/guided_diffusion/logger.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":"0c6607473a4c4c55"}},{"code_sha256_prefix":"fe842ce9711163cc","entry":"sample_gibbsddrm","repo":"sony/gibbsddrm","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/sony/gibbsddrm/blob/HEAD/functions/denoising.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":"fe842ce9711163cc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}