{"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/random-sub-samples-generation-for-self","title":"Random Sub-Samples Generation for Self-Supervised Real Image Denoising","arxiv_id":"2307.16825","date":"2023-07-31","proceeding":"ICCV 2023 1","authors":["Yizhong Pan","Xiao Liu","Xiangyu Liao","Yuanzhouhan Cao","Chao Ren"],"abstract":"With sufficient paired training samples, the supervised deep learning methods have attracted much attention in image denoising because of their superior performance. However, it is still very challenging to widely utilize the supervised methods in real cases due to the lack of paired noisy-clean images. Meanwhile, most self-supervised denoising methods are ineffective as well when applied to the real-world denoising tasks because of their strict assumptions in applications. For example, as a typical method for self-supervised denoising, the original blind spot network (BSN) assumes that the noise is pixel-wise independent, which is much different from the real cases. To solve this problem, we propose a novel self-supervised real image denoising framework named Sampling Difference As Perturbation (SDAP) based on Random Sub-samples Generation (RSG) with a cyclic sample difference loss. Specifically, we dig deeper into the properties of BSN to make it more suitable for real noise. Surprisingly, we find that adding an appropriate perturbation to the training images can effectively improve the performance of BSN. Further, we propose that the sampling difference can be considered as perturbation to achieve better results. Finally we propose a new BSN framework in combination with our RSG strategy. The results show that it significantly outperforms other state-of-the-art self-supervised denoising methods on real-world datasets. The code is available at https://github.com/p1y2z3/SDAP.","url_abs":"https://arxiv.org/abs/2307.16825v1","url_pdf":"https://arxiv.org/pdf/2307.16825v1.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":"random-sub-samples-generation-for-self","repo_url":"https://github.com/p1y2z3/sdap","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"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.16825","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.16825"}},"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/p1y2z3/sdap","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/p1y2z3/SDAP","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":2},"by_repo_kind":{"official":{"samples":10,"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":0,"samples":[{"code_sha256_prefix":"be63ea41aa726661","entry":"DBSNl","repo":"p1y2z3/SDAP","repo_kind":"official","path":"model/DBSNl.py","file_url":"https://github.com/p1y2z3/SDAP/blob/HEAD/model/DBSNl.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be63ea41aa726661"}},{"code_sha256_prefix":"3e07384abe7fc87e","entry":"DC_branchl","repo":"p1y2z3/SDAP","repo_kind":"official","path":"model/DBSNl.py","file_url":"https://github.com/p1y2z3/SDAP/blob/HEAD/model/DBSNl.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3e07384abe7fc87e"}},{"code_sha256_prefix":"3d9a131d04397172","entry":"DCl","repo":"p1y2z3/SDAP","repo_kind":"official","path":"model/DBSNl.py","file_url":"https://github.com/p1y2z3/SDAP/blob/HEAD/model/DBSNl.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3d9a131d04397172"}},{"code_sha256_prefix":"325c196bdade18cd","entry":"batch_MSE","repo":"p1y2z3/sdap","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/p1y2z3/sdap/blob/HEAD/utils/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":"325c196bdade18cd"}},{"code_sha256_prefix":"dfb0c5a8cd82c611","entry":"batch_PSNR","repo":"p1y2z3/sdap","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/p1y2z3/sdap/blob/HEAD/utils/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":"dfb0c5a8cd82c611"}},{"code_sha256_prefix":"e67c868ff1d84a67","entry":"chw_to_hwc","repo":"p1y2z3/sdap","repo_kind":"official","path":"utils/loader.py","file_url":"https://github.com/p1y2z3/sdap/blob/HEAD/utils/loader.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":"e67c868ff1d84a67"}},{"code_sha256_prefix":"9318caa23dede2a9","entry":"hwc_to_chw","repo":"p1y2z3/sdap","repo_kind":"official","path":"utils/loader.py","file_url":"https://github.com/p1y2z3/sdap/blob/HEAD/utils/loader.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":"9318caa23dede2a9"}},{"code_sha256_prefix":"6d55b07ac4659765","entry":"read_img","repo":"p1y2z3/sdap","repo_kind":"official","path":"utils/loader.py","file_url":"https://github.com/p1y2z3/sdap/blob/HEAD/utils/loader.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":"6d55b07ac4659765"}},{"code_sha256_prefix":"31514d86924b6489","entry":"CentralMaskedConv2d","repo":"p1y2z3/SDAP","repo_kind":"official","path":"model/DBSNl.py","file_url":"https://github.com/p1y2z3/SDAP/blob/HEAD/model/DBSNl.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":"31514d86924b6489"}},{"code_sha256_prefix":"d5fdeb4f6105f2fa","entry":"batch_SSIM","repo":"p1y2z3/sdap","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/p1y2z3/sdap/blob/HEAD/utils/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":"d5fdeb4f6105f2fa"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}