{"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/i-2-sb-image-to-image-schrodinger-bridge","title":"I$^2$SB: Image-to-Image Schrödinger Bridge","arxiv_id":"2302.05872","date":"2023-02-12","proceeding":null,"authors":["Guan-Horng Liu","Arash Vahdat","De-An Huang","Evangelos A. Theodorou","Weili Nie","Anima Anandkumar"],"abstract":"We propose Image-to-Image Schr\\\"odinger Bridge (I$^2$SB), a new class of conditional diffusion models that directly learn the nonlinear diffusion processes between two given distributions. These diffusion bridges are particularly useful for image restoration, as the degraded images are structurally informative priors for reconstructing the clean images. I$^2$SB belongs to a tractable class of Schr\\\"odinger bridge, the nonlinear extension to score-based models, whose marginal distributions can be computed analytically given boundary pairs. This results in a simulation-free framework for nonlinear diffusions, where the I$^2$SB training becomes scalable by adopting practical techniques used in standard diffusion models. We validate I$^2$SB in solving various image restoration tasks, including inpainting, super-resolution, deblurring, and JPEG restoration on ImageNet 256x256 and show that I$^2$SB surpasses standard conditional diffusion models with more interpretable generative processes. Moreover, I$^2$SB matches the performance of inverse methods that additionally require the knowledge of the corruption operators. Our work opens up new algorithmic opportunities for developing efficient nonlinear diffusion models on a large scale. scale. Project page and codes: https://i2sb.github.io/","url_abs":"https://arxiv.org/abs/2302.05872v3","url_pdf":"https://arxiv.org/pdf/2302.05872v3.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":"i-2-sb-image-to-image-schrodinger-bridge","repo_url":"https://github.com/nvlabs/i2sb","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"i-2-sb-image-to-image-schrodinger-bridge","repo_url":"https://github.com/sobieskibj/rcsb","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"image-restoration","task_name":"Image Restoration"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2302.05872","atlas_url":"https://app.syntology.ai/?focus=2302.05872","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2302.05872"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/NVlabs/I2SB","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sobieskibj/rcsb","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nvlabs/i2sb","reach":null}],"summary":{"ran":3,"ran_honours":1,"ran_draft_wrong":1,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":5,"ran":5,"repositories":1},"listed":{"samples":3,"ran":1,"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":8,"samples":[{"code_sha256_prefix":"de2ed651b275f412","entry":"Diffusion","repo":"nvlabs/i2sb","repo_kind":"official","path":"i2sb/diffusion.py","file_url":"https://github.com/nvlabs/i2sb/blob/HEAD/i2sb/diffusion.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":"de2ed651b275f412"}},{"code_sha256_prefix":"86f3345582c34724","entry":"build_partition","repo":"NVlabs/I2SB","repo_kind":"official","path":"sample.py","file_url":"https://github.com/NVlabs/I2SB/blob/HEAD/sample.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":"86f3345582c34724"}},{"code_sha256_prefix":"845cc9c5a835cbee","entry":"build_subset_per_gpu","repo":"NVlabs/I2SB","repo_kind":"official","path":"sample.py","file_url":"https://github.com/NVlabs/I2SB/blob/HEAD/sample.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":"845cc9c5a835cbee"}},{"code_sha256_prefix":"1133984dd494a9ec","entry":"compute_gaussian_product_coef","repo":"nvlabs/i2sb","repo_kind":"official","path":"i2sb/diffusion.py","file_url":"https://github.com/nvlabs/i2sb/blob/HEAD/i2sb/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1133984dd494a9ec"}},{"code_sha256_prefix":"1cb7991f34faeabc","entry":"from_m1p1_to_01","repo":"sobieskibj/rcsb","repo_kind":"listed","path":"src/inpainters/src_cddb/i2sb/diffusion.py","file_url":"https://github.com/sobieskibj/rcsb/blob/HEAD/src/inpainters/src_cddb/i2sb/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1cb7991f34faeabc"}},{"code_sha256_prefix":"b24e228ace15da3f","entry":"unsqueeze_xdim","repo":"nvlabs/i2sb","repo_kind":"official","path":"i2sb/diffusion.py","file_url":"https://github.com/nvlabs/i2sb/blob/HEAD/i2sb/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b24e228ace15da3f"}},{"code_sha256_prefix":"aa50df59644ec392","entry":"Diffusion","repo":"sobieskibj/rcsb","repo_kind":"listed","path":"src/inpainters/src_cddb/i2sb/diffusion.py","file_url":"https://github.com/sobieskibj/rcsb/blob/HEAD/src/inpainters/src_cddb/i2sb/diffusion.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":"aa50df59644ec392"}},{"code_sha256_prefix":"341472cae9153acf","entry":"log_plot","repo":"sobieskibj/rcsb","repo_kind":"listed","path":"src/inpainters/src_cddb/i2sb/diffusion.py","file_url":"https://github.com/sobieskibj/rcsb/blob/HEAD/src/inpainters/src_cddb/i2sb/diffusion.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":"341472cae9153acf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}