{"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/image-super-resolution-via-iterative","title":"Image Super-Resolution via Iterative Refinement","arxiv_id":"2104.07636","date":"2021-04-15","proceeding":null,"authors":["Chitwan Saharia","Jonathan Ho","William Chan","Tim Salimans","David J. Fleet","Mohammad Norouzi"],"abstract":"We present SR3, an approach to image Super-Resolution via Repeated Refinement. SR3 adapts denoising diffusion probabilistic models to conditional image generation and performs super-resolution through a stochastic denoising process. Inference starts with pure Gaussian noise and iteratively refines the noisy output using a U-Net model trained on denoising at various noise levels. SR3 exhibits strong performance on super-resolution tasks at different magnification factors, on faces and natural images. We conduct human evaluation on a standard 8X face super-resolution task on CelebA-HQ, comparing with SOTA GAN methods. SR3 achieves a fool rate close to 50%, suggesting photo-realistic outputs, while GANs do not exceed a fool rate of 34%. We further show the effectiveness of SR3 in cascaded image generation, where generative models are chained with super-resolution models, yielding a competitive FID score of 11.3 on ImageNet.","url_abs":"https://arxiv.org/abs/2104.07636v2","url_pdf":"https://arxiv.org/pdf/2104.07636v2.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":"image-super-resolution-via-iterative","repo_url":"https://github.com/Janspiry/Image-Super-Resolution-via-Iterative-Refinement","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"image-super-resolution-via-iterative","repo_url":"https://github.com/lshaw8317/mlmcfordms","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null},{"paper_slug":"image-super-resolution-via-iterative","repo_url":"https://github.com/omerb01/puq","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"image-super-resolution-via-iterative","repo_url":"https://github.com/guillaumeboniface/super_resolution","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null}],"tasks":[{"task_slug":"conditional-image-generation","task_name":"Conditional Image Generation"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[{"method_slug":"concatenated-skip-connection","method_name":"Concatenated Skip Connection"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"u-net","method_name":"U-Net"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-super-resolution-on-celeba-hq-128x128","task":"Image Super-Resolution","dataset":"CelebA-HQ 128x128","model":"SR3","rank_in_archive_order":4,"of":4,"metrics":{"Consistency":"2.68","PSNR":"23.04","SSIM":"0.65"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2104.07636","atlas_url":"https://app.syntology.ai/?focus=2104.07636","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.07636"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/omerb01/puq","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/guillaumeboniface/super_resolution","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Janspiry/Image-Super-Resolution-via-Iterative-Refinement","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lshaw8317/mlmcfordms","reach":null}],"summary":{"ran":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"listed":{"samples":3,"ran":2,"repositories":2}},"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":2,"samples":[{"code_sha256_prefix":"66ca813ef88512ea","entry":"GaussianDiffusion","repo":"lshaw8317/mlmcfordms","repo_kind":"listed","path":"Superresolution/model/sr3_modules/diffusion.py","file_url":"https://github.com/lshaw8317/mlmcfordms/blob/HEAD/Superresolution/model/sr3_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"66ca813ef88512ea"}},{"code_sha256_prefix":"90be2f67f3d453d7","entry":"make_beta_schedule","repo":"lshaw8317/mlmcfordms","repo_kind":"listed","path":"Superresolution/model/sr3_modules/diffusion.py","file_url":"https://github.com/lshaw8317/mlmcfordms/blob/HEAD/Superresolution/model/sr3_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"90be2f67f3d453d7"}},{"code_sha256_prefix":"1a97dc5a5793d7e7","entry":"GaussianDiffusion","repo":"Janspiry/Image-Super-Resolution-via-Iterative-Refinement","repo_kind":"listed","path":"model/sr3_modules/diffusion.py","file_url":"https://github.com/Janspiry/Image-Super-Resolution-via-Iterative-Refinement/blob/HEAD/model/sr3_modules/diffusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1a97dc5a5793d7e7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}