{"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/retinexmamba-retinex-based-mamba-for-low","title":"Retinexmamba: Retinex-based Mamba for Low-light Image Enhancement","arxiv_id":"2405.03349","date":"2024-05-06","proceeding":null,"authors":["Jiesong Bai","Yuhao Yin","Qiyuan He","Yuanxian Li","Xiaofeng Zhang"],"abstract":"In the field of low-light image enhancement, both traditional Retinex methods and advanced deep learning techniques such as Retinexformer have shown distinct advantages and limitations. Traditional Retinex methods, designed to mimic the human eye's perception of brightness and color, decompose images into illumination and reflection components but struggle with noise management and detail preservation under low light conditions. Retinexformer enhances illumination estimation through traditional self-attention mechanisms, but faces challenges with insufficient interpretability and suboptimal enhancement effects. To overcome these limitations, this paper introduces the RetinexMamba architecture. RetinexMamba not only captures the physical intuitiveness of traditional Retinex methods but also integrates the deep learning framework of Retinexformer, leveraging the computational efficiency of State Space Models (SSMs) to enhance processing speed. This architecture features innovative illumination estimators and damage restorer mechanisms that maintain image quality during enhancement. Moreover, RetinexMamba replaces the IG-MSA (Illumination-Guided Multi-Head Attention) in Retinexformer with a Fused-Attention mechanism, improving the model's interpretability. Experimental evaluations on the LOL dataset show that RetinexMamba outperforms existing deep learning approaches based on Retinex theory in both quantitative and qualitative metrics, confirming its effectiveness and superiority in enhancing low-light images.","url_abs":"https://arxiv.org/abs/2405.03349v2","url_pdf":"https://arxiv.org/pdf/2405.03349v2.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":"retinexmamba-retinex-based-mamba-for-low","repo_url":"https://github.com/YhuoyuH/RetinexMamba","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"image-enhancement","task_name":"Image Enhancement"},{"task_slug":"low-light-image-enhancement","task_name":"Low-Light Image Enhancement"},{"task_slug":"mamba","task_name":"Mamba"},{"task_slug":"management","task_name":"Management"},{"task_slug":"state-space-models","task_name":"State Space Models"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2405.03349","atlas_url":"https://app.syntology.ai/?focus=2405.03349","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.03349"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/YhuoyuH/RetinexMamba","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":12,"ran_draft_wrong":1,"ran_fixture":5,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":21,"ran":19,"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":"f73eaea4d5f18212","entry":"calc_psnr","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"Enhancement/RMSE.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/Enhancement/RMSE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f73eaea4d5f18212"}},{"code_sha256_prefix":"9fd9f7965e5e9672","entry":"calc_rmse","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"Enhancement/RMSE.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/Enhancement/RMSE.py","link_basis":"first_harvest_node","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":"9fd9f7965e5e9672"}},{"code_sha256_prefix":"eb63f9501a5d6798","entry":"calc_ssim","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"Enhancement/RMSE.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/Enhancement/RMSE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eb63f9501a5d6798"}},{"code_sha256_prefix":"1d7ce6d6dd7ff5c1","entry":"calculate_fid","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/fid.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/fid.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1d7ce6d6dd7ff5c1"}},{"code_sha256_prefix":"d292dd965ab59629","entry":"calculate_psnr","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"Enhancement/utils.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/Enhancement/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d292dd965ab59629"}},{"code_sha256_prefix":"a05b184dc6c264a0","entry":"calculate_ssim","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"Enhancement/utils.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/Enhancement/utils.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"DEP_MISSING","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a05b184dc6c264a0"}},{"code_sha256_prefix":"5170ff1c4106b27a","entry":"compute_feature","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/niqe.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/niqe.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5170ff1c4106b27a"}},{"code_sha256_prefix":"4cf5ae1af7c80889","entry":"conv","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/models/archs/RetinexMamba_arch.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/models/archs/RetinexMamba_arch.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4cf5ae1af7c80889"}},{"code_sha256_prefix":"a1282a48b0941f5d","entry":"estimate_aggd_param","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/niqe.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/niqe.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1282a48b0941f5d"}},{"code_sha256_prefix":"c9fb213c957dc82d","entry":"extract_inception_features","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/fid.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/fid.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c9fb213c957dc82d"}},{"code_sha256_prefix":"91788abc3267bdda","entry":"flops_selective_scan_ref","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/models/archs/SS2D_arch.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/models/archs/SS2D_arch.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"91788abc3267bdda"}},{"code_sha256_prefix":"cd569444547de84f","entry":"get_position_from_periods","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/models/lr_scheduler.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/models/lr_scheduler.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cd569444547de84f"}},{"code_sha256_prefix":"95c6eba9350a455a","entry":"prepare_for_ssim","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/psnr_ssim.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/psnr_ssim.py","link_basis":"plan_row","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":"95c6eba9350a455a"}},{"code_sha256_prefix":"fb93712db7064ac4","entry":"prepare_for_ssim_rgb","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/psnr_ssim.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/psnr_ssim.py","link_basis":"plan_row","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":"fb93712db7064ac4"}},{"code_sha256_prefix":"95067518dc16b3e5","entry":"reorder_image","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/metric_util.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/metric_util.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"95067518dc16b3e5"}},{"code_sha256_prefix":"7b904d88704f6a90","entry":"shift_back","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/models/archs/RetinexMamba_arch.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/models/archs/RetinexMamba_arch.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":"7b904d88704f6a90"}},{"code_sha256_prefix":"82a15cc1e46f7e4d","entry":"to_3d","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/models/archs/IFA_arch.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/models/archs/IFA_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":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/models/archs/IFA_arch.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/models/archs/IFA_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":"afa459e9e9c02c4f","entry":"trunc_normal_","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/models/archs/RetinexMamba_arch.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/models/archs/RetinexMamba_arch.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"afa459e9e9c02c4f"}},{"code_sha256_prefix":"8eccacd101833667","entry":"PSNR","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"Enhancement/utils.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/Enhancement/utils.py","link_basis":"harvester_set","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":"8eccacd101833667"}},{"code_sha256_prefix":"0029cb1566e47350","entry":"niqe","repo":"YhuoyuH/RetinexMamba","repo_kind":"official","path":"basicsr/metrics/niqe.py","file_url":"https://github.com/YhuoyuH/RetinexMamba/blob/HEAD/basicsr/metrics/niqe.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":"0029cb1566e47350"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}