{"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/blind-super-resolution-with-iterative-kernel","title":"Blind Super-Resolution With Iterative Kernel Correction","arxiv_id":"1904.03377","date":"2019-04-06","proceeding":"CVPR 2019 6","authors":["Jinjin Gu","Hannan Lu","WangMeng Zuo","Chao Dong"],"abstract":"Deep learning based methods have dominated super-resolution (SR) field due to their remarkable performance in terms of effectiveness and efficiency. Most of these methods assume that the blur kernel during downsampling is predefined/known (e.g., bicubic). However, the blur kernels involved in real applications are complicated and unknown, resulting in severe performance drop for the advanced SR methods. In this paper, we propose an Iterative Kernel Correction (IKC) method for blur kernel estimation in blind SR problem, where the blur kernels are unknown. We draw the observation that kernel mismatch could bring regular artifacts (either over-sharpening or over-smoothing), which can be applied to correct inaccurate blur kernels. Thus we introduce an iterative correction scheme -- IKC that achieves better results than direct kernel estimation. We further propose an effective SR network architecture using spatial feature transform (SFT) layers to handle multiple blur kernels, named SFTMD. Extensive experiments on synthetic and real-world images show that the proposed IKC method with SFTMD can provide visually favorable SR results and the state-of-the-art performance in blind SR problem.","url_abs":"https://arxiv.org/abs/1904.03377v2","url_pdf":"https://arxiv.org/pdf/1904.03377v2.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":"blind-super-resolution-with-iterative-kernel","repo_url":"https://github.com/sweetcocoa/IKC","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"blind-super-resolution-with-iterative-kernel","repo_url":"https://github.com/yuanjunchai/IKC","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"blind-super-resolution-with-iterative-kernel","repo_url":"https://github.com/Lornatang/SFTMD-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"blind-super-resolution","task_name":"Blind Super-Resolution"},{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[{"method_slug":"spatial-feature-transform","method_name":"Spatial Feature Transform"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/blind-super-resolution-on-bsd100-2x-upscaling","task":"Blind Super-Resolution","dataset":"BSD100 - 2x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"31.36","SSIM":"0.8790"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-bsd100-3x-upscaling","task":"Blind Super-Resolution","dataset":"BSD100 - 3x upscaling","model":"IKC","rank_in_archive_order":2,"of":2,"metrics":{"PSNR":"28.56","SSIM":"0.8493"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-bsd100-4x-upscaling","task":"Blind Super-Resolution","dataset":"BSD100 - 4x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"27.29","SSIM":"0.8014"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-manga109-2x","task":"Blind Super-Resolution","dataset":"Manga109 - 2x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"36.06","SSIM":"0.9474"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-manga109-3x","task":"Blind Super-Resolution","dataset":"Manga109 - 3x upscaling","model":"IKC","rank_in_archive_order":2,"of":2,"metrics":{"PSNR":"28.21","SSIM":"0.8739"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-manga109-4x","task":"Blind Super-Resolution","dataset":"Manga109 - 4x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"29.9","SSIM":"0.8793"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set14-2x-upscaling","task":"Blind Super-Resolution","dataset":"Set14 - 2x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"32.82","SSIM":"0.8999"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set14-3x-upscaling","task":"Blind Super-Resolution","dataset":"Set14 - 3x upscaling","model":"IKC","rank_in_archive_order":2,"of":2,"metrics":{"PSNR":"29.46","SSIM":"0.8229"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set14-4x-upscaling","task":"Blind Super-Resolution","dataset":"Set14 - 4x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"28.26","SSIM":"0.7688"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set5-2x-upscaling","task":"Blind Super-Resolution","dataset":"Set5 - 2x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"36.62","SSIM":"0.9658"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set5-3x-upscaling","task":"Blind Super-Resolution","dataset":"Set5 - 3x upscaling","model":"IKC","rank_in_archive_order":2,"of":2,"metrics":{"PSNR":"32.16","SSIM":"0.942"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set5-4x-upscaling","task":"Blind Super-Resolution","dataset":"Set5 - 4x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"31.52","SSIM":"0.9278"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-urban100-2x","task":"Blind Super-Resolution","dataset":"Urban100 - 2x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"30.36","SSIM":"0.8949"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-urban100-3x","task":"Blind Super-Resolution","dataset":"Urban100 - 3x upscaling","model":"IKC","rank_in_archive_order":2,"of":2,"metrics":{"PSNR":"25.94","SSIM":"0.8165"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-urban100-4x","task":"Blind Super-Resolution","dataset":"Urban100 - 4x upscaling","model":"IKC","rank_in_archive_order":3,"of":3,"metrics":{"PSNR":"25.33","SSIM":"0.776"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.03377","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.03377"}},"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/Lornatang/SFTMD-PyTorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yuanjunchai/IKC","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sweetcocoa/IKC","reach":{"status":"ok"}}],"summary":{"ran":2,"unverified":4},"by_repo_kind":{"listed":{"samples":6,"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":0,"samples":[{"code_sha256_prefix":"9394ff2c25b8a988","entry":"calculate_psnr","repo":"yuanjunchai/IKC","repo_kind":"listed","path":"metrics/calculate_PSNR_SSIM.py","file_url":"https://github.com/yuanjunchai/IKC/blob/HEAD/metrics/calculate_PSNR_SSIM.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9394ff2c25b8a988"}},{"code_sha256_prefix":"ba721aeacc165234","entry":"ssim","repo":"yuanjunchai/IKC","repo_kind":"listed","path":"metrics/calculate_PSNR_SSIM.py","file_url":"https://github.com/yuanjunchai/IKC/blob/HEAD/metrics/calculate_PSNR_SSIM.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ba721aeacc165234"}},{"code_sha256_prefix":"5aef99e58703c44a","entry":"calculate_ssim","repo":"yuanjunchai/IKC","repo_kind":"listed","path":"metrics/calculate_PSNR_SSIM.py","file_url":"https://github.com/yuanjunchai/IKC/blob/HEAD/metrics/calculate_PSNR_SSIM.py","link_basis":"harvester_set","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":"5aef99e58703c44a"}},{"code_sha256_prefix":"1df4cd01e272e4cc","entry":"image2tensor","repo":"Lornatang/SFTMD-PyTorch","repo_kind":"listed","path":"imgproc.py","file_url":"https://github.com/Lornatang/SFTMD-PyTorch/blob/HEAD/imgproc.py","link_basis":"harvester_set","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":"1df4cd01e272e4cc"}},{"code_sha256_prefix":"b757e6fc17cab8f0","entry":"principal_component_analysis","repo":"Lornatang/SFTMD-PyTorch","repo_kind":"listed","path":"imgproc.py","file_url":"https://github.com/Lornatang/SFTMD-PyTorch/blob/HEAD/imgproc.py","link_basis":"harvester_set","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":"b757e6fc17cab8f0"}},{"code_sha256_prefix":"bc562954fab9c9fb","entry":"tensor2image","repo":"Lornatang/SFTMD-PyTorch","repo_kind":"listed","path":"imgproc.py","file_url":"https://github.com/Lornatang/SFTMD-PyTorch/blob/HEAD/imgproc.py","link_basis":"harvester_set","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":"bc562954fab9c9fb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}