{"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/deep-constrained-least-squares-for-blind","title":"Deep Constrained Least Squares for Blind Image Super-Resolution","arxiv_id":"2202.07508","date":"2022-02-15","proceeding":"CVPR 2022 1","authors":["Ziwei Luo","Haibin Huang","Lei Yu","Youwei Li","Haoqiang Fan","Shuaicheng Liu"],"abstract":"In this paper, we tackle the problem of blind image super-resolution(SR) with a reformulated degradation model and two novel modules. Following the common practices of blind SR, our method proposes to improve both the kernel estimation as well as the kernel-based high-resolution image restoration. To be more specific, we first reformulate the degradation model such that the deblurring kernel estimation can be transferred into the low-resolution space. On top of this, we introduce a dynamic deep linear filter module. Instead of learning a fixed kernel for all images, it can adaptively generate deblurring kernel weights conditional on the input and yield a more robust kernel estimation. Subsequently, a deep constrained least square filtering module is applied to generate clean features based on the reformulation and estimated kernel. The deblurred feature and the low input image feature are then fed into a dual-path structured SR network and restore the final high-resolution result. To evaluate our method, we further conduct evaluations on several benchmarks, including Gaussian8 and DIV2KRK. Our experiments demonstrate that the proposed method achieves better accuracy and visual improvements against state-of-the-art methods.","url_abs":"https://arxiv.org/abs/2202.07508v3","url_pdf":"https://arxiv.org/pdf/2202.07508v3.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":"deep-constrained-least-squares-for-blind","repo_url":"https://github.com/megvii-research/dcls-sr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-constrained-least-squares-for-blind","repo_url":"https://github.com/algolzw/dcls","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"blind-super-resolution","task_name":"Blind Super-Resolution"},{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"image-restoration","task_name":"Image Restoration"},{"task_slug":"image-super-resolution","task_name":"Image Super-Resolution"},{"task_slug":"super-resolution","task_name":"Super-Resolution"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/blind-super-resolution-on-bsd100-2x-upscaling","task":"Blind Super-Resolution","dataset":"BSD100 - 2x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"32.04","SSIM":"0.8907"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-bsd100-3x-upscaling","task":"Blind Super-Resolution","dataset":"BSD100 - 3x upscaling","model":"DCLS","rank_in_archive_order":1,"of":2,"metrics":{"PSNR":"29.07","SSIM":"0.7956"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-bsd100-4x-upscaling","task":"Blind Super-Resolution","dataset":"BSD100 - 4x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"27.6","SSIM":"0.7285"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-div2krk-2x","task":"Blind Super-Resolution","dataset":"DIV2KRK - 2x upscaling","model":"DCLS","rank_in_archive_order":1,"of":5,"metrics":{"PSNR":"32.75","SSIM":"0.9094"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-div2krk-4x","task":"Blind Super-Resolution","dataset":"DIV2KRK - 4x upscaling","model":"DCLS","rank_in_archive_order":1,"of":6,"metrics":{"PSNR":"28.99","SSIM":"0.7946"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-manga109-2x","task":"Blind Super-Resolution","dataset":"Manga109 - 2x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"38.31","SSIM":"0.974"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-manga109-3x","task":"Blind Super-Resolution","dataset":"Manga109 - 3x upscaling","model":"DCLS","rank_in_archive_order":1,"of":2,"metrics":{"PSNR":"33.54","SSIM":"0.9414"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-manga109-4x","task":"Blind Super-Resolution","dataset":"Manga109 - 4x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"30.86","SSIM":"0.9086"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set14-2x-upscaling","task":"Blind Super-Resolution","dataset":"Set14 - 2x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"33.46","SSIM":"0.9103"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set14-3x-upscaling","task":"Blind Super-Resolution","dataset":"Set14 - 3x upscaling","model":"DCLS","rank_in_archive_order":1,"of":2,"metrics":{"PSNR":"30.29","SSIM":"0.8329"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set14-4x-upscaling","task":"Blind Super-Resolution","dataset":"Set14 - 4x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"28.54","SSIM":"0.7728"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set5-2x-upscaling","task":"Blind Super-Resolution","dataset":"Set5 - 2x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"37.63","SSIM":"0.9554"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set5-3x-upscaling","task":"Blind Super-Resolution","dataset":"Set5 - 3x upscaling","model":"DCLS","rank_in_archive_order":1,"of":2,"metrics":{"PSNR":"34.21","SSIM":"0.9218"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-set5-4x-upscaling","task":"Blind Super-Resolution","dataset":"Set5 - 4x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"32.12","SSIM":"0.889"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-urban100-2x","task":"Blind Super-Resolution","dataset":"Urban100 - 2x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"31.69","SSIM":"0.9202"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-urban100-3x","task":"Blind Super-Resolution","dataset":"Urban100 - 3x upscaling","model":"DCLS","rank_in_archive_order":1,"of":2,"metrics":{"PSNR":"28.03","SSIM":"0.8444"},"uses_additional_data":false},{"leaderboard":"/sota/blind-super-resolution-on-urban100-4x","task":"Blind Super-Resolution","dataset":"Urban100 - 4x upscaling","model":"DCLS","rank_in_archive_order":1,"of":3,"metrics":{"PSNR":"26.15","SSIM":"0.7809"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2202.07508","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.07508"}},"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/algolzw/dcls","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/megvii-research/dcls-sr","reach":null}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"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":"99aa6966a166e993","entry":"CLS","repo":"megvii-research/dcls-sr","repo_kind":"official","path":"codes/config/DCLS/models/modules/dcls_arch.py","file_url":"https://github.com/megvii-research/dcls-sr/blob/HEAD/codes/config/DCLS/models/modules/dcls_arch.py","link_basis":"first_harvest_node","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":"99aa6966a166e993"}},{"code_sha256_prefix":"33653a69fe625918","entry":"DCLS","repo":"megvii-research/dcls-sr","repo_kind":"official","path":"codes/config/DCLS/models/modules/dcls_arch.py","file_url":"https://github.com/megvii-research/dcls-sr/blob/HEAD/codes/config/DCLS/models/modules/dcls_arch.py","link_basis":"first_harvest_node","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":"33653a69fe625918"}},{"code_sha256_prefix":"6d17723c7dd847a6","entry":"DPCAB","repo":"megvii-research/dcls-sr","repo_kind":"official","path":"codes/config/DCLS/models/modules/dcls_arch.py","file_url":"https://github.com/megvii-research/dcls-sr/blob/HEAD/codes/config/DCLS/models/modules/dcls_arch.py","link_basis":"first_harvest_node","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":"6d17723c7dd847a6"}},{"code_sha256_prefix":"07a1c6d96c7e56c1","entry":"DPCAG","repo":"megvii-research/dcls-sr","repo_kind":"official","path":"codes/config/DCLS/models/modules/dcls_arch.py","file_url":"https://github.com/megvii-research/dcls-sr/blob/HEAD/codes/config/DCLS/models/modules/dcls_arch.py","link_basis":"first_harvest_node","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":"07a1c6d96c7e56c1"}},{"code_sha256_prefix":"8fa6861f618410ad","entry":"Estimator","repo":"megvii-research/dcls-sr","repo_kind":"official","path":"codes/config/DCLS/models/modules/dcls_arch.py","file_url":"https://github.com/megvii-research/dcls-sr/blob/HEAD/codes/config/DCLS/models/modules/dcls_arch.py","link_basis":"first_harvest_node","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":"8fa6861f618410ad"}},{"code_sha256_prefix":"5d00cb9592e350f6","entry":"Restorer","repo":"megvii-research/dcls-sr","repo_kind":"official","path":"codes/config/DCLS/models/modules/dcls_arch.py","file_url":"https://github.com/megvii-research/dcls-sr/blob/HEAD/codes/config/DCLS/models/modules/dcls_arch.py","link_basis":"first_harvest_node","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":"5d00cb9592e350f6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}