{"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/towards-general-low-light-raw-noise-synthesis","title":"Towards General Low-Light Raw Noise Synthesis and Modeling","arxiv_id":"2307.16508","date":"2023-07-31","proceeding":"ICCV 2023 1","authors":["Feng Zhang","Bin Xu","Zhiqiang Li","Xinran Liu","Qingbo Lu","Changxin Gao","Nong Sang"],"abstract":"Modeling and synthesizing low-light raw noise is a fundamental problem for computational photography and image processing applications. Although most recent works have adopted physics-based models to synthesize noise, the signal-independent noise in low-light conditions is far more complicated and varies dramatically across camera sensors, which is beyond the description of these models. To address this issue, we introduce a new perspective to synthesize the signal-independent noise by a generative model. Specifically, we synthesize the signal-dependent and signal-independent noise in a physics- and learning-based manner, respectively. In this way, our method can be considered as a general model, that is, it can simultaneously learn different noise characteristics for different ISO levels and generalize to various sensors. Subsequently, we present an effective multi-scale discriminator termed Fourier transformer discriminator (FTD) to distinguish the noise distribution accurately. Additionally, we collect a new low-light raw denoising (LRD) dataset for training and benchmarking. Qualitative validation shows that the noise generated by our proposed noise model can be highly similar to the real noise in terms of distribution. Furthermore, extensive denoising experiments demonstrate that our method performs favorably against state-of-the-art methods on different sensors.","url_abs":"https://arxiv.org/abs/2307.16508v2","url_pdf":"https://arxiv.org/pdf/2307.16508v2.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":"towards-general-low-light-raw-noise-synthesis","repo_url":"https://github.com/fengzhang427/LRD","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-denoising","task_name":"Image Denoising"},{"task_slug":"low-light-image-enhancement","task_name":"Low-Light Image Enhancement"},{"task_slug":"noise-estimation","task_name":"Noise Estimation"}],"methods":[],"datasets_introduced":[{"slug":"lrd","name":"LRD","full_name":"Low-Light Raw Denoising Dataset"}],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-denoising-on-eld-sonya7s2-x100","task":"Image Denoising","dataset":"ELD SonyA7S2 x100","model":"LRD","rank_in_archive_order":6,"of":9,"metrics":{"PSNR (Raw)":"44.95","SSIM (Raw)":"0.979"},"uses_additional_data":false},{"leaderboard":"/sota/image-denoising-on-eld-sonya7s2-x200","task":"Image Denoising","dataset":"ELD SonyA7S2 x200","model":"LRD","rank_in_archive_order":6,"of":10,"metrics":{"PSNR (Raw)":"43.32","SSIM (Raw)":"0.966"},"uses_additional_data":false},{"leaderboard":"/sota/image-denoising-on-sid-sonya7s2-x100","task":"Image Denoising","dataset":"SID SonyA7S2 x100","model":"LRD","rank_in_archive_order":4,"of":5,"metrics":{"PSNR (Raw)":"41.95","SSIM (Raw)":"0.956"},"uses_additional_data":false},{"leaderboard":"/sota/image-denoising-on-sid-sonya7s2-x250","task":"Image Denoising","dataset":"SID SonyA7S2 x250","model":"LRD","rank_in_archive_order":8,"of":10,"metrics":{"PSNR (Raw)":"39.25","SSIM (Raw)":"0.931"},"uses_additional_data":false},{"leaderboard":"/sota/image-denoising-on-sid-sonya7s2-x300","task":"Image Denoising","dataset":"SID SonyA7S2 x300","model":"LRD","rank_in_archive_order":2,"of":2,"metrics":{"PSNR (Raw)":"36.03","SSIM (Raw)":"0.909"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2307.16508","atlas_url":"https://app.syntology.ai/?focus=2307.16508","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.16508"}},"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/fengzhang427/LRD","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":13,"ran_fixture":2,"unverified":5},"by_repo_kind":{"official":{"samples":20,"ran":15,"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":"70e90e19a49b549d","entry":"apply_ccms","repo":"fengzhang427/LRD","repo_kind":"official","path":"raw_process/LRD_post_process.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/raw_process/LRD_post_process.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":"70e90e19a49b549d"}},{"code_sha256_prefix":"63cc917598a67f63","entry":"apply_gains","repo":"fengzhang427/LRD","repo_kind":"official","path":"raw_process/SID_post_process.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/raw_process/SID_post_process.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":"63cc917598a67f63"}},{"code_sha256_prefix":"1da403b404f61152","entry":"demosaic","repo":"fengzhang427/LRD","repo_kind":"official","path":"raw_process/LRD_post_process.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/raw_process/LRD_post_process.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":"1da403b404f61152"}},{"code_sha256_prefix":"3ac6b7d76e8e3584","entry":"drop_path","repo":"fengzhang427/LRD","repo_kind":"official","path":"ViT_helper.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/ViT_helper.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":"3ac6b7d76e8e3584"}},{"code_sha256_prefix":"135aad478fe73cf5","entry":"forward_patches","repo":"fengzhang427/LRD","repo_kind":"official","path":"train_denoise_LRD.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/train_denoise_LRD.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":"135aad478fe73cf5"}},{"code_sha256_prefix":"f8c8b670d9bb8c81","entry":"gamma_compression","repo":"fengzhang427/LRD","repo_kind":"official","path":"raw_process/SID_post_process.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/raw_process/SID_post_process.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":"f8c8b670d9bb8c81"}},{"code_sha256_prefix":"6c071f2514ce8a40","entry":"get_psnr","repo":"fengzhang427/LRD","repo_kind":"official","path":"utils.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/utils.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":"6c071f2514ce8a40"}},{"code_sha256_prefix":"5fa7698e84d3a88c","entry":"get_scheduler","repo":"fengzhang427/LRD","repo_kind":"official","path":"utils.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/utils.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":"5fa7698e84d3a88c"}},{"code_sha256_prefix":"ed42d1958af188dc","entry":"pack_raw_DJI","repo":"fengzhang427/LRD","repo_kind":"official","path":"noise_profile/noise_profile_SonyA7S2.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/noise_profile/noise_profile_SonyA7S2.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":"ed42d1958af188dc"}},{"code_sha256_prefix":"37d9c6eba769af47","entry":"pack_raw_SID","repo":"fengzhang427/LRD","repo_kind":"official","path":"datasets/Denoise_dataset.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/datasets/Denoise_dataset.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":"37d9c6eba769af47"}},{"code_sha256_prefix":"77dad890b0d037bc","entry":"pack_raw_bayer","repo":"fengzhang427/LRD","repo_kind":"official","path":"noise_profile/noise_profile_SonyA7S2.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/noise_profile/noise_profile_SonyA7S2.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":"77dad890b0d037bc"}},{"code_sha256_prefix":"12e66c962c260d27","entry":"raw2stack_RGGB","repo":"fengzhang427/LRD","repo_kind":"official","path":"train_denoise_LRD.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/train_denoise_LRD.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":"12e66c962c260d27"}},{"code_sha256_prefix":"031ab536c74127bb","entry":"read_dorf","repo":"fengzhang427/LRD","repo_kind":"official","path":"raw_process/EMoR/EMoR.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/raw_process/EMoR/EMoR.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":"031ab536c74127bb"}},{"code_sha256_prefix":"7b94bb50a39ba2fd","entry":"stack2raw_RGGB","repo":"fengzhang427/LRD","repo_kind":"official","path":"train_denoise_LRD.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/train_denoise_LRD.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":"7b94bb50a39ba2fd"}},{"code_sha256_prefix":"02566da69866c48c","entry":"trunc_normal_","repo":"fengzhang427/LRD","repo_kind":"official","path":"ViT_helper.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/ViT_helper.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":"02566da69866c48c"}},{"code_sha256_prefix":"e6501a9602eb526b","entry":"apply_gains","repo":"fengzhang427/LRD","repo_kind":"official","path":"raw_process/LRD_post_process.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/raw_process/LRD_post_process.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":"e6501a9602eb526b"}},{"code_sha256_prefix":"785f3a8049b134d2","entry":"forward_patches","repo":"fengzhang427/LRD","repo_kind":"official","path":"train_denoise_SID.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/train_denoise_SID.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":"785f3a8049b134d2"}},{"code_sha256_prefix":"08a9da5a3c00e119","entry":"get_ssim","repo":"fengzhang427/LRD","repo_kind":"official","path":"utils.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/utils.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":"08a9da5a3c00e119"}},{"code_sha256_prefix":"fe0468e2d3603fb0","entry":"log","repo":"fengzhang427/LRD","repo_kind":"official","path":"noise_profile/noise_profile_SonyA7S2.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/noise_profile/noise_profile_SonyA7S2.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":"fe0468e2d3603fb0"}},{"code_sha256_prefix":"dfa0c71130d11161","entry":"read_emor","repo":"fengzhang427/LRD","repo_kind":"official","path":"raw_process/EMoR/EMoR.py","file_url":"https://github.com/fengzhang427/LRD/blob/HEAD/raw_process/EMoR/EMoR.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":"dfa0c71130d11161"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}