{"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/reti-diff-illumination-degradation-image","title":"Reti-Diff: Illumination Degradation Image Restoration with Retinex-based Latent Diffusion Model","arxiv_id":"2311.11638","date":"2023-11-20","proceeding":null,"authors":["Chunming He","Chengyu Fang","Yulun Zhang","Tian Ye","Kai Li","Longxiang Tang","Zhenhua Guo","Xiu Li","Sina Farsiu"],"abstract":"Illumination degradation image restoration (IDIR) techniques aim to improve the visibility of degraded images and mitigate the adverse effects of deteriorated illumination. Among these algorithms, diffusion model (DM)-based methods have shown promising performance but are often burdened by heavy computational demands and pixel misalignment issues when predicting the image-level distribution. To tackle these problems, we propose to leverage DM within a compact latent space to generate concise guidance priors and introduce a novel solution called Reti-Diff for the IDIR task. Reti-Diff comprises two key components: the Retinex-based latent DM (RLDM) and the Retinex-guided transformer (RGformer). To ensure detailed reconstruction and illumination correction, RLDM is empowered to acquire Retinex knowledge and extract reflectance and illumination priors. These priors are subsequently utilized by RGformer to guide the decomposition of image features into their respective reflectance and illumination components. Following this, RGformer further enhances and consolidates the decomposed features, resulting in the production of refined images with consistent content and robustness to handle complex degradation scenarios. Extensive experiments show that Reti-Diff outperforms existing methods on three IDIR tasks, as well as downstream applications. Code will be available at \\url{https://github.com/ChunmingHe/Reti-Diff}.","url_abs":"https://arxiv.org/abs/2311.11638v2","url_pdf":"https://arxiv.org/pdf/2311.11638v2.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":"reti-diff-illumination-degradation-image","repo_url":"https://github.com/chunminghe/reti-diff","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"image-restoration","task_name":"Image Restoration"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.11638","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.11638"}},"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/chunminghe/reti-diff","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"ran":6,"ran_fixture":2},"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":9,"samples":[{"code_sha256_prefix":"8b0e794d4d8f9b13","entry":"default_conv","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/archs/common.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/archs/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8b0e794d4d8f9b13"}},{"code_sha256_prefix":"dbccb0b6ad8ea20c","entry":"get_batchnorm_layer","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/models/S1_model.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/models/S1_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dbccb0b6ad8ea20c"}},{"code_sha256_prefix":"ba8d1aa10db78e26","entry":"get_batchnorm_layer","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/models/S2_Interface_model.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/models/S2_Interface_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ba8d1aa10db78e26"}},{"code_sha256_prefix":"9c2458094a5033a8","entry":"get_conv2d_layer","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/models/S1_model.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/models/S1_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9c2458094a5033a8"}},{"code_sha256_prefix":"bd8b4639cf489239","entry":"get_conv2d_layer","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/models/S2_Interface_model.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/models/S2_Interface_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bd8b4639cf489239"}},{"code_sha256_prefix":"e0f0c7cbf987dd5c","entry":"get_deconv2d_layer","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/models/S1_model.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/models/S1_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e0f0c7cbf987dd5c"}},{"code_sha256_prefix":"cd569444547de84f","entry":"get_position_from_periods","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/models/lr_scheduler.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/models/lr_scheduler.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cd569444547de84f"}},{"code_sha256_prefix":"82a15cc1e46f7e4d","entry":"to_3d","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/archs/S1_arch.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/archs/S1_arch.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"82a15cc1e46f7e4d"}},{"code_sha256_prefix":"b20f2a5df739a59e","entry":"to_4d","repo":"chunminghe/reti-diff","repo_kind":"official","path":"Reti-Diff/archs/S1_arch.py","file_url":"https://github.com/chunminghe/reti-diff/blob/HEAD/Reti-Diff/archs/S1_arch.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b20f2a5df739a59e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}