{"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/neural-degradation-representation-learning","title":"Neural Degradation Representation Learning for All-In-One Image Restoration","arxiv_id":"2310.12848","date":"2023-10-19","proceeding":null,"authors":["Mingde Yao","Ruikang Xu","Yuanshen Guan","Jie Huang","Zhiwei Xiong"],"abstract":"Existing methods have demonstrated effective performance on a single degradation type. In practical applications, however, the degradation is often unknown, and the mismatch between the model and the degradation will result in a severe performance drop. In this paper, we propose an all-in-one image restoration network that tackles multiple degradations. Due to the heterogeneous nature of different types of degradations, it is difficult to process multiple degradations in a single network. To this end, we propose to learn a neural degradation representation (NDR) that captures the underlying characteristics of various degradations. The learned NDR decomposes different types of degradations adaptively, similar to a neural dictionary that represents basic degradation components. Subsequently, we develop a degradation query module and a degradation injection module to effectively recognize and utilize the specific degradation based on NDR, enabling the all-in-one restoration ability for multiple degradations. Moreover, we propose a bidirectional optimization strategy to effectively drive NDR to learn the degradation representation by optimizing the degradation and restoration processes alternately. Comprehensive experiments on representative types of degradations (including noise, haze, rain, and downsampling) demonstrate the effectiveness and generalization capability of our method.","url_abs":"https://arxiv.org/abs/2310.12848v2","url_pdf":"https://arxiv.org/pdf/2310.12848v2.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":"neural-degradation-representation-learning","repo_url":"https://github.com/mdyao/NDR-Restore","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"all","task_name":"All"},{"task_slug":"image-restoration","task_name":"Image Restoration"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"unified-image-restoration","task_name":"Unified Image Restoration"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.12848","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.12848"}},"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/mdyao/NDR-Restore","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":3,"ran_fixture":2,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"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":"8b0e794d4d8f9b13","entry":"default_conv","repo":"mdyao/NDR-Restore","repo_kind":"official","path":"models/modules/common.py","file_url":"https://github.com/mdyao/NDR-Restore/blob/HEAD/models/modules/common.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":"8b0e794d4d8f9b13"}},{"code_sha256_prefix":"40c52ad98161c17b","entry":"dict2str","repo":"mdyao/NDR-Restore","repo_kind":"official","path":"options/options.py","file_url":"https://github.com/mdyao/NDR-Restore/blob/HEAD/options/options.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":"40c52ad98161c17b"}},{"code_sha256_prefix":"ada7273eee7081c7","entry":"dict_to_nonedict","repo":"mdyao/NDR-Restore","repo_kind":"official","path":"options/options.py","file_url":"https://github.com/mdyao/NDR-Restore/blob/HEAD/options/options.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":"ada7273eee7081c7"}},{"code_sha256_prefix":"82a15cc1e46f7e4d","entry":"to_3d","repo":"mdyao/NDR-Restore","repo_kind":"official","path":"models/modules/NDR.py","file_url":"https://github.com/mdyao/NDR-Restore/blob/HEAD/models/modules/NDR.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":"mdyao/NDR-Restore","repo_kind":"official","path":"models/modules/NDR.py","file_url":"https://github.com/mdyao/NDR-Restore/blob/HEAD/models/modules/NDR.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":"7965a5360a9aa1ef","entry":"parse","repo":"mdyao/NDR-Restore","repo_kind":"official","path":"options/options.py","file_url":"https://github.com/mdyao/NDR-Restore/blob/HEAD/options/options.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":"7965a5360a9aa1ef"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}