{"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/generalized-lightness-adaptation-with-channel","title":"Generalized Lightness Adaptation with Channel Selective Normalization","arxiv_id":"2308.13783","date":"2023-08-26","proceeding":"ICCV 2023 1","authors":["Mingde Yao","Jie Huang","Xin Jin","Ruikang Xu","Shenglong Zhou","Man Zhou","Zhiwei Xiong"],"abstract":"Lightness adaptation is vital to the success of image processing to avoid unexpected visual deterioration, which covers multiple aspects, e.g., low-light image enhancement, image retouching, and inverse tone mapping. Existing methods typically work well on their trained lightness conditions but perform poorly in unknown ones due to their limited generalization ability. To address this limitation, we propose a novel generalized lightness adaptation algorithm that extends conventional normalization techniques through a channel filtering design, dubbed Channel Selective Normalization (CSNorm). The proposed CSNorm purposely normalizes the statistics of lightness-relevant channels and keeps other channels unchanged, so as to improve feature generalization and discrimination. To optimize CSNorm, we propose an alternating training strategy that effectively identifies lightness-relevant channels. The model equipped with our CSNorm only needs to be trained on one lightness condition and can be well generalized to unknown lightness conditions. Experimental results on multiple benchmark datasets demonstrate the effectiveness of CSNorm in enhancing the generalization ability for the existing lightness adaptation methods. Code is available at https://github.com/mdyao/CSNorm.","url_abs":"https://arxiv.org/abs/2308.13783v1","url_pdf":"https://arxiv.org/pdf/2308.13783v1.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":"generalized-lightness-adaptation-with-channel","repo_url":"https://github.com/mdyao/csnorm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-enhancement","task_name":"Image Enhancement"},{"task_slug":"image-retouching","task_name":"Image Retouching"},{"task_slug":"inverse-tone-mapping-1","task_name":"Inverse-Tone-Mapping"},{"task_slug":"low-light-image-enhancement","task_name":"Low-Light Image Enhancement"},{"task_slug":"tone-mapping","task_name":"Tone Mapping"},{"task_slug":"inverse-tone-mapping","task_name":"inverse tone mapping"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.13783","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.13783"}},"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/mdyao/CSNorm","reach":null}],"summary":{"ran":7,"unverified":4},"by_repo_kind":{"official":{"samples":11,"ran":7,"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":"cdf9cbfb1245b1ef","entry":"CosineAnnealingLR_Restart","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cdf9cbfb1245b1ef"}},{"code_sha256_prefix":"32b1b52ff3f87906","entry":"FFT_Loss","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.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":"32b1b52ff3f87906"}},{"code_sha256_prefix":"68eb3cb9baefa822","entry":"Generate_gate","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"68eb3cb9baefa822"}},{"code_sha256_prefix":"046fd7a21286d589","entry":"MultiStepLR_Restart","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"046fd7a21286d589"}},{"code_sha256_prefix":"21782d8f27153a1a","entry":"NAFNet","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.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":"21782d8f27153a1a"}},{"code_sha256_prefix":"b5d17b4ab3aea4df","entry":"SSIMLoss","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b5d17b4ab3aea4df"}},{"code_sha256_prefix":"f4be0291174eaba1","entry":"_ssim","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.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":"f4be0291174eaba1"}},{"code_sha256_prefix":"911948c0e6e6d01c","entry":"BaseModel","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.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":"911948c0e6e6d01c"}},{"code_sha256_prefix":"4f6a8930f4d094cf","entry":"CSNorm_Model","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.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":"4f6a8930f4d094cf"}},{"code_sha256_prefix":"8a9cf80181d95bfa","entry":"define_G","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.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":"8a9cf80181d95bfa"}},{"code_sha256_prefix":"271899e6c882ad1e","entry":"freeze_direct","repo":"mdyao/CSNorm","repo_kind":"official","path":"models/CSNorm_model.py","file_url":"https://github.com/mdyao/CSNorm/blob/HEAD/models/CSNorm_model.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":"271899e6c882ad1e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}