{"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/a-comparative-study-of-image-restoration","title":"A Comparative Study of Image Restoration Networks for General Backbone Network Design","arxiv_id":"2310.11881","date":"2023-10-18","proceeding":null,"authors":["Xiangyu Chen","Zheyuan Li","Yuandong Pu","Yihao Liu","Jiantao Zhou","Yu Qiao","Chao Dong"],"abstract":"Despite the significant progress made by deep models in various image restoration tasks, existing image restoration networks still face challenges in terms of task generality. An intuitive manifestation is that networks which excel in certain tasks often fail to deliver satisfactory results in others. To illustrate this point, we select five representative networks and conduct a comparative study on five classic image restoration tasks. First, we provide a detailed explanation of the characteristics of different image restoration tasks and backbone networks. Following this, we present the benchmark results and analyze the reasons behind the performance disparity of different models across various tasks. Drawing from this comparative study, we propose that a general image restoration backbone network needs to meet the functional requirements of diverse tasks. Based on this principle, we design a new general image restoration backbone network, X-Restormer. Extensive experiments demonstrate that X-Restormer possesses good task generality and achieves state-of-the-art performance across a variety of tasks.","url_abs":"https://arxiv.org/abs/2310.11881v4","url_pdf":"https://arxiv.org/pdf/2310.11881v4.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":"a-comparative-study-of-image-restoration","repo_url":"https://github.com/andrew0613/x-restormer","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-restoration","task_name":"Image Restoration"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.11881","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.11881"}},"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/andrew0613/x-restormer","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":3,"ran_fixture":4,"ran":1,"ran_honours":1},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":"ad4c565716dab068","entry":"conv","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/MPRNet_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/MPRNet_arch.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ad4c565716dab068"}},{"code_sha256_prefix":"52d96aa31ed74a56","entry":"drop_path","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/Uformer_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/Uformer_arch.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52d96aa31ed74a56"}},{"code_sha256_prefix":"042da966a79899bf","entry":"expand_dim","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/xrestormer_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/xrestormer_arch.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"042da966a79899bf"}},{"code_sha256_prefix":"cd569444547de84f","entry":"get_position_from_periods","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/models/restormer_model.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/models/restormer_model.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cd569444547de84f"}},{"code_sha256_prefix":"3e27684df29ad41d","entry":"pair","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/xrestormer_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/xrestormer_arch.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3e27684df29ad41d"}},{"code_sha256_prefix":"0bb26a83df4e7b0b","entry":"to","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/xrestormer_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/xrestormer_arch.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0bb26a83df4e7b0b"}},{"code_sha256_prefix":"82a15cc1e46f7e4d","entry":"to_3d","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/restormer_base_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/restormer_base_arch.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"82a15cc1e46f7e4d"}},{"code_sha256_prefix":"b20f2a5df739a59e","entry":"to_4d","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/restormer_base_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/restormer_base_arch.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b20f2a5df739a59e"}},{"code_sha256_prefix":"c4b5a8b25f271a68","entry":"window_partition","repo":"andrew0613/x-restormer","repo_kind":"official","path":"xrestormer/archs/Uformer_arch.py","file_url":"https://github.com/andrew0613/x-restormer/blob/HEAD/xrestormer/archs/Uformer_arch.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c4b5a8b25f271a68"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}