{"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/multi-stage-progressive-image-restoration","title":"Multi-Stage Progressive Image Restoration","arxiv_id":"2102.02808","date":"2021-02-04","proceeding":"CVPR 2021 1","authors":["Syed Waqas Zamir","Aditya Arora","Salman Khan","Munawar Hayat","Fahad Shahbaz Khan","Ming-Hsuan Yang","Ling Shao"],"abstract":"Image restoration tasks demand a complex balance between spatial details and high-level contextualized information while recovering images. In this paper, we propose a novel synergistic design that can optimally balance these competing goals. Our main proposal is a multi-stage architecture, that progressively learns restoration functions for the degraded inputs, thereby breaking down the overall recovery process into more manageable steps. Specifically, our model first learns the contextualized features using encoder-decoder architectures and later combines them with a high-resolution branch that retains local information. At each stage, we introduce a novel per-pixel adaptive design that leverages in-situ supervised attention to reweight the local features. A key ingredient in such a multi-stage architecture is the information exchange between different stages. To this end, we propose a two-faceted approach where the information is not only exchanged sequentially from early to late stages, but lateral connections between feature processing blocks also exist to avoid any loss of information. The resulting tightly interlinked multi-stage architecture, named as MPRNet, delivers strong performance gains on ten datasets across a range of tasks including image deraining, deblurring, and denoising. The source code and pre-trained models are available at https://github.com/swz30/MPRNet.","url_abs":"https://arxiv.org/abs/2102.02808v2","url_pdf":"https://arxiv.org/pdf/2102.02808v2.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":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/swz30/MPRNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/HDCVLab/MC-Blur-Dataset","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/sotiraslab/AgileFormer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/swz30/CycleISP","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/swz30/MIRNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/swz30/mirnetv2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/swz30/restormer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"multi-stage-progressive-image-restoration","repo_url":"https://github.com/taowangzj/llformer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-deblurring","task_name":"Image Deblurring"},{"task_slug":"image-denoising","task_name":"Image Denoising"},{"task_slug":"image-restoration","task_name":"Image Restoration"},{"task_slug":"rain-removal","task_name":"Rain Removal"},{"task_slug":"single-image-deraining","task_name":"Single Image Deraining"},{"task_slug":"spectral-reconstruction","task_name":"Spectral Reconstruction"}],"methods":[{"method_slug":"mprnet","method_name":"MPRNet"}],"datasets_introduced":[],"methods_introduced":[{"slug":"mprnet","name":"MPRNet","full_name":"MPRNet"}],"results":[{"leaderboard":"/sota/deblurring-on-gopro","task":"Deblurring","dataset":"GoPro","model":"MPRNet","rank_in_archive_order":33,"of":56,"metrics":{"PSNR":"32.66","SSIM":"0.959"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-hide-trained-on-gopro","task":"Deblurring","dataset":"HIDE (trained on GOPRO)","model":"MPRNet","rank_in_archive_order":17,"of":26,"metrics":{"PSNR (sRGB)":"30.96","Params (M)":"20.1","SSIM (sRGB)":"0.939"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-rsblur","task":"Deblurring","dataset":"RSBlur","model":"MPRNet","rank_in_archive_order":9,"of":12,"metrics":{"Average PSNR":"33.61"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-realblur-j-1","task":"Deblurring","dataset":"RealBlur-J","model":"MPRNet","rank_in_archive_order":15,"of":17,"metrics":{"PSNR (sRGB)":"31.76","Params(M)":"20.1","SSIM (sRGB)":"0.922"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-realblur-j-trained-on-gopro","task":"Deblurring","dataset":"RealBlur-J (trained on GoPro)","model":"MPRNet","rank_in_archive_order":10,"of":15,"metrics":{"PSNR (sRGB)":"28.70","SSIM (sRGB)":"0.873"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-realblur-r","task":"Deblurring","dataset":"RealBlur-R","model":"MPRNet","rank_in_archive_order":14,"of":17,"metrics":{"PSNR (sRGB)":"39.31","SSIM (sRGB)":"0.972"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-realblur-r-trained-on-gopro","task":"Deblurring","dataset":"RealBlur-R (trained on GoPro)","model":"MPRNet","rank_in_archive_order":8,"of":19,"metrics":{"PSNR (sRGB)":"35.99","SSIM (sRGB)":"0.952"},"uses_additional_data":false},{"leaderboard":"/sota/image-deblurring-on-gopro","task":"Image Deblurring","dataset":"GoPro","model":"MPRNet","rank_in_archive_order":34,"of":55,"metrics":{"PSNR":"32.66","Params (M)":"20.1","SSIM":"0.959"},"uses_additional_data":false},{"leaderboard":"/sota/image-denoising-on-dnd","task":"Image Denoising","dataset":"DND","model":"MPRNet","rank_in_archive_order":9,"of":16,"metrics":{"PSNR (sRGB)":"39.80","SSIM (sRGB)":"0.954"},"uses_additional_data":false},{"leaderboard":"/sota/image-denoising-on-sidd","task":"Image Denoising","dataset":"SIDD","model":"MPRNet","rank_in_archive_order":12,"of":22,"metrics":{"PSNR (sRGB)":"39.71","SSIM (sRGB)":"0.958"},"uses_additional_data":false},{"leaderboard":"/sota/image-restoration-on-cdd-11","task":"Image Restoration","dataset":"CDD-11","model":"MPRNet","rank_in_archive_order":9,"of":14,"metrics":{"Average PSNR (dB)":"25.47","SSIM":"0.8555"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-rain100h","task":"Single Image Deraining","dataset":"Rain100H","model":"MPRNet","rank_in_archive_order":10,"of":19,"metrics":{"PSNR":"30.41","SSIM":"0.89"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-rain100l","task":"Single Image Deraining","dataset":"Rain100L","model":"MPRNet","rank_in_archive_order":12,"of":19,"metrics":{"PSNR":"36.40","SSIM":"0.965"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-test100","task":"Single Image Deraining","dataset":"Test100","model":"MPRNet","rank_in_archive_order":6,"of":12,"metrics":{"PSNR":"30.27","SSIM":"0.897"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-test1200","task":"Single Image Deraining","dataset":"Test1200","model":"MPRNet","rank_in_archive_order":7,"of":14,"metrics":{"PSNR":"32.91","SSIM":"0.916"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-test2800","task":"Single Image Deraining","dataset":"Test2800","model":"MPRNet","rank_in_archive_order":5,"of":12,"metrics":{"PSNR":"33.64","SSIM":"0.938"},"uses_additional_data":false},{"leaderboard":"/sota/spectral-reconstruction-on-arad-1k","task":"Spectral Reconstruction","dataset":"ARAD-1K","model":"MPRNet","rank_in_archive_order":3,"of":11,"metrics":{"MRAE":"0.1817","PSNR":"33.50","RMSE":"0.0270"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2102.02808","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2102.02808"}},"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":"deterministic:regex_extraction","url":"https://github.com/swz30/MPRNet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/swz30/MIRNet","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/swz30/mirnetv2","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/swz30/restormer","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/taowangzj/llformer","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/swz30/CycleISP","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sotiraslab/AgileFormer","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/HDCVLab/MC-Blur-Dataset","reach":{"status":"ok"}}],"summary":{"ran":17,"ran_draft_wrong":1,"unverified":8},"by_repo_kind":{"official":{"samples":4,"ran":2,"repositories":1},"listed":{"samples":22,"ran":16,"repositories":4}},"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":25,"samples":[{"code_sha256_prefix":"9905ed97879ec410","entry":"ContextBlock","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"9905ed97879ec410"}},{"code_sha256_prefix":"fc4aa1da5676f5f6","entry":"DAB","repo":"swz30/CycleISP","repo_kind":"listed","path":"networks/denoising_rgb.py","file_url":"https://github.com/swz30/CycleISP/blob/HEAD/networks/denoising_rgb.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"fc4aa1da5676f5f6"}},{"code_sha256_prefix":"3803599e00731bf3","entry":"DenoiseNet","repo":"swz30/CycleISP","repo_kind":"listed","path":"networks/denoising_rgb.py","file_url":"https://github.com/swz30/CycleISP/blob/HEAD/networks/denoising_rgb.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3803599e00731bf3"}},{"code_sha256_prefix":"95877fdf404e7e2d","entry":"Down","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"95877fdf404e7e2d"}},{"code_sha256_prefix":"823880bb4a4fd803","entry":"DownSample","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"823880bb4a4fd803"}},{"code_sha256_prefix":"2e4380a675a7a636","entry":"FeedForward","repo":"taowangzj/llformer","repo_kind":"listed","path":"model/LLFormer.py","file_url":"https://github.com/taowangzj/llformer/blob/HEAD/model/LLFormer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2e4380a675a7a636"}},{"code_sha256_prefix":"9f0ec2d0ebd79268","entry":"MRB","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.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":"9f0ec2d0ebd79268"}},{"code_sha256_prefix":"dcfcd2cfc0518597","entry":"NextAttentionImplZ","repo":"taowangzj/llformer","repo_kind":"listed","path":"model/LLFormer.py","file_url":"https://github.com/taowangzj/llformer/blob/HEAD/model/LLFormer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"dcfcd2cfc0518597"}},{"code_sha256_prefix":"f3c858250a132490","entry":"NextAttentionZ","repo":"taowangzj/llformer","repo_kind":"listed","path":"model/LLFormer.py","file_url":"https://github.com/taowangzj/llformer/blob/HEAD/model/LLFormer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f3c858250a132490"}},{"code_sha256_prefix":"0248b30780d949dc","entry":"ORB","repo":"swz30/MPRNet","repo_kind":"official","path":"Deblurring/MPRNet.py","file_url":"https://github.com/swz30/MPRNet/blob/HEAD/Deblurring/MPRNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0248b30780d949dc"}},{"code_sha256_prefix":"92fe045c36c149b1","entry":"RCB","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"92fe045c36c149b1"}},{"code_sha256_prefix":"69df2e5e6ab1bfad","entry":"RRG","repo":"swz30/CycleISP","repo_kind":"listed","path":"networks/denoising_rgb.py","file_url":"https://github.com/swz30/CycleISP/blob/HEAD/networks/denoising_rgb.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"69df2e5e6ab1bfad"}},{"code_sha256_prefix":"cecd263c57a13552","entry":"SKFF","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.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":"cecd263c57a13552"}},{"code_sha256_prefix":"1c8472333e5c2601","entry":"Up","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1c8472333e5c2601"}},{"code_sha256_prefix":"6f67ba4ae094dbdf","entry":"UpSample","repo":"swz30/MPRNet","repo_kind":"official","path":"Deblurring/MPRNet.py","file_url":"https://github.com/swz30/MPRNet/blob/HEAD/Deblurring/MPRNet.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":"6f67ba4ae094dbdf"}},{"code_sha256_prefix":"7ad799995cd1b005","entry":"UpSample","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7ad799995cd1b005"}},{"code_sha256_prefix":"dddca40fb4dbccdc","entry":"conv","repo":"swz30/CycleISP","repo_kind":"listed","path":"networks/denoising_rgb.py","file_url":"https://github.com/swz30/CycleISP/blob/HEAD/networks/denoising_rgb.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"dddca40fb4dbccdc"}},{"code_sha256_prefix":"55ca1005128011e2","entry":"spatial_attn_layer","repo":"swz30/CycleISP","repo_kind":"listed","path":"networks/denoising_rgb.py","file_url":"https://github.com/swz30/CycleISP/blob/HEAD/networks/denoising_rgb.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"55ca1005128011e2"}},{"code_sha256_prefix":"df51bfb12d6bab5a","entry":"LAM_Module_v2","repo":"taowangzj/llformer","repo_kind":"listed","path":"model/LLFormer.py","file_url":"https://github.com/taowangzj/llformer/blob/HEAD/model/LLFormer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"df51bfb12d6bab5a"}},{"code_sha256_prefix":"e1acb5598af874ea","entry":"LLFormer","repo":"taowangzj/llformer","repo_kind":"listed","path":"model/LLFormer.py","file_url":"https://github.com/taowangzj/llformer/blob/HEAD/model/LLFormer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e1acb5598af874ea"}},{"code_sha256_prefix":"e229ec6cd3be0368","entry":"MIRNet_v2","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e229ec6cd3be0368"}},{"code_sha256_prefix":"f07bf53bd31a377c","entry":"MPRNet","repo":"swz30/MPRNet","repo_kind":"official","path":"Deblurring/MPRNet.py","file_url":"https://github.com/swz30/MPRNet/blob/HEAD/Deblurring/MPRNet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f07bf53bd31a377c"}},{"code_sha256_prefix":"e3f5a4be55c14019","entry":"ORSNet","repo":"swz30/MPRNet","repo_kind":"official","path":"Deblurring/MPRNet.py","file_url":"https://github.com/swz30/MPRNet/blob/HEAD/Deblurring/MPRNet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e3f5a4be55c14019"}},{"code_sha256_prefix":"ab472a2ed659eb18","entry":"RRG","repo":"swz30/mirnetv2","repo_kind":"listed","path":"basicsr/models/archs/mirnet_v2_arch.py","file_url":"https://github.com/swz30/mirnetv2/blob/HEAD/basicsr/models/archs/mirnet_v2_arch.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ab472a2ed659eb18"}},{"code_sha256_prefix":"266026630c2bfcd7","entry":"Restormer","repo":"swz30/restormer","repo_kind":"listed","path":"basicsr/models/archs/restormer_arch.py","file_url":"https://github.com/swz30/restormer/blob/HEAD/basicsr/models/archs/restormer_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":"266026630c2bfcd7"}},{"code_sha256_prefix":"2d417e1b35e33481","entry":"TransformerBlock","repo":"taowangzj/llformer","repo_kind":"listed","path":"model/LLFormer.py","file_url":"https://github.com/taowangzj/llformer/blob/HEAD/model/LLFormer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2d417e1b35e33481"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}