{"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/unrolled-decomposed-unpaired-learning-for","title":"Unrolled Decomposed Unpaired Learning for Controllable Low-Light Video Enhancement","arxiv_id":"2408.12316","date":"2024-08-22","proceeding":null,"authors":["Lingyu Zhu","Wenhan Yang","Baoliang Chen","Hanwei Zhu","Zhangkai Ni","Qi Mao","Shiqi Wang"],"abstract":"Obtaining pairs of low/normal-light videos, with motions, is more challenging than still images, which raises technical issues and poses the technical route of unpaired learning as a critical role. This paper makes endeavors in the direction of learning for low-light video enhancement without using paired ground truth. Compared to low-light image enhancement, enhancing low-light videos is more difficult due to the intertwined effects of noise, exposure, and contrast in the spatial domain, jointly with the need for temporal coherence. To address the above challenge, we propose the Unrolled Decomposed Unpaired Network (UDU-Net) for enhancing low-light videos by unrolling the optimization functions into a deep network to decompose the signal into spatial and temporal-related factors, which are updated iteratively. Firstly, we formulate low-light video enhancement as a Maximum A Posteriori estimation (MAP) problem with carefully designed spatial and temporal visual regularization. Then, via unrolling the problem, the optimization of the spatial and temporal constraints can be decomposed into different steps and updated in a stage-wise manner. From the spatial perspective, the designed Intra subnet leverages unpair prior information from expert photography retouched skills to adjust the statistical distribution. Additionally, we introduce a novel mechanism that integrates human perception feedback to guide network optimization, suppressing over/under-exposure conditions. Meanwhile, to address the issue from the temporal perspective, the designed Inter subnet fully exploits temporal cues in progressive optimization, which helps achieve improved temporal consistency in enhancement results. Consequently, the proposed method achieves superior performance to state-of-the-art methods in video illumination, noise suppression, and temporal consistency across outdoor and indoor scenes.","url_abs":"https://arxiv.org/abs/2408.12316v1","url_pdf":"https://arxiv.org/pdf/2408.12316v1.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":"unrolled-decomposed-unpaired-learning-for","repo_url":"https://github.com/lingyzhu0101/udu","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":"low-light-image-enhancement","task_name":"Low-Light Image Enhancement"},{"task_slug":"video-enhancement","task_name":"Video Enhancement"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.12316","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.12316"}},"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/lingyzhu0101/UDU","reach":null}],"summary":{"ran":5,"ran_draft_wrong":3,"unverified":1},"by_repo_kind":{"official":{"samples":9,"ran":8,"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":"502798c8e8274547","entry":"ConvBlock","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","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":"502798c8e8274547"}},{"code_sha256_prefix":"d2596c70d537b8d9","entry":"GAM","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.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":"d2596c70d537b8d9"}},{"code_sha256_prefix":"91426aa0d99f6e9b","entry":"Interpolate","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","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":"91426aa0d99f6e9b"}},{"code_sha256_prefix":"08f6db311dd0d7ee","entry":"SNConv","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","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":"08f6db311dd0d7ee"}},{"code_sha256_prefix":"28f7a5c00218727e","entry":"SpectralNorm","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"28f7a5c00218727e"}},{"code_sha256_prefix":"cd7a90fbdabd648f","entry":"Swish","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cd7a90fbdabd648f"}},{"code_sha256_prefix":"8a9609058a6a7767","entry":"get_act_fun","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8a9609058a6a7767"}},{"code_sha256_prefix":"b8864618be0483d1","entry":"get_norm_fun","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b8864618be0483d1"}},{"code_sha256_prefix":"0087c9075670dff7","entry":"Generator","repo":"lingyzhu0101/UDU","repo_kind":"official","path":"src/models.py","file_url":"https://github.com/lingyzhu0101/UDU/blob/HEAD/src/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0087c9075670dff7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}