{"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/efficient-bayesian-computational-imaging-with","title":"Variational Bayesian Imaging with an Efficient Surrogate Score-based Prior","arxiv_id":"2309.01949","date":"2023-09-05","proceeding":null,"authors":["Berthy T. Feng","Katherine L. Bouman"],"abstract":"We propose a surrogate function for efficient yet principled use of score-based priors in Bayesian imaging. We consider ill-posed inverse imaging problems in which one aims for a clean image posterior given incomplete or noisy measurements. Since the measurements do not uniquely determine a true image, a prior is needed to constrain the solution space. Recent work turned score-based diffusion models into principled priors for solving ill-posed imaging problems by appealing to an ODE-based log-probability function. However, evaluating the ODE is computationally inefficient and inhibits posterior estimation of high-dimensional images. Our proposed surrogate prior is based on the evidence lower bound of a score-based diffusion model. We demonstrate the surrogate prior on variational inference for efficient approximate posterior sampling of large images. Compared to the exact prior in previous work, our surrogate accelerates optimization of the variational image distribution by at least two orders of magnitude. We also find that our principled approach gives more accurate posterior estimation than non-variational diffusion-based approaches that involve hyperparameter-tuning at inference. Our work establishes a practical path forward for using score-based diffusion models as general-purpose image priors.","url_abs":"https://arxiv.org/abs/2309.01949v2","url_pdf":"https://arxiv.org/pdf/2309.01949v2.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":"efficient-bayesian-computational-imaging-with","repo_url":"https://github.com/berthyf96/score_prior","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok"}}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"variational-inference","method_name":"Variational Inference"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.01949","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.01949"}},"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/berthyf96/score_prior","reach":{"status":"ok"}}],"summary":{"ran":4,"ran_violates":1,"ran_draft_wrong":4,"unverified":4},"by_repo_kind":{"official":{"samples":13,"ran":9,"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":13,"samples":[{"code_sha256_prefix":"ba575cda3781df1f","entry":"batch_add","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/utils.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ba575cda3781df1f"}},{"code_sha256_prefix":"705aea0955c9050d","entry":"batch_mul","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/sde_lib.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/sde_lib.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"705aea0955c9050d"}},{"code_sha256_prefix":"6c419026e778dee2","entry":"get_data_inverse_scaler","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/datasets.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/datasets.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6c419026e778dee2"}},{"code_sha256_prefix":"346d2e6cc8b48a5d","entry":"get_data_scaler","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/datasets.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/datasets.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"346d2e6cc8b48a5d"}},{"code_sha256_prefix":"69394cd870ed9898","entry":"get_optimizer","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/losses.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"69394cd870ed9898"}},{"code_sha256_prefix":"53f39e2a10eaea69","entry":"optimization_manager","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/losses.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"53f39e2a10eaea69"}},{"code_sha256_prefix":"e2e76a11168d6b4a","entry":"plot_image_grid","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/utils.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e2e76a11168d6b4a"}},{"code_sha256_prefix":"a05b1d0cf3f508b4","entry":"register_corrector","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/sampling.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/sampling.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a05b1d0cf3f508b4"}},{"code_sha256_prefix":"473066ddf62a075a","entry":"register_predictor","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/sampling.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/sampling.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"473066ddf62a075a"}},{"code_sha256_prefix":"54a00db9aadf092f","entry":"classifier_fn_from_tfhub","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/evaluation.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"54a00db9aadf092f"}},{"code_sha256_prefix":"fd14d238ccd5f679","entry":"crop_resize","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/datasets.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/datasets.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fd14d238ccd5f679"}},{"code_sha256_prefix":"a58facb8fe71823a","entry":"get_predictor","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/sampling.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/sampling.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a58facb8fe71823a"}},{"code_sha256_prefix":"beaa2ce502047cbf","entry":"load_dataset_stats","repo":"berthyf96/score_prior","repo_kind":"official","path":"score_flow/evaluation.py","file_url":"https://github.com/berthyf96/score_prior/blob/HEAD/score_flow/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"beaa2ce502047cbf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}