{"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/invertible-denoising-network-a-light-solution","title":"Invertible Denoising Network: A Light Solution for Real Noise Removal","arxiv_id":"2104.10546","date":"2021-04-21","proceeding":"CVPR 2021 1","authors":["Yang Liu","Zhenyue Qin","Saeed Anwar","Pan Ji","Dongwoo Kim","Sabrina Caldwell","Tom Gedeon"],"abstract":"Invertible networks have various benefits for image denoising since they are lightweight, information-lossless, and memory-saving during back-propagation. However, applying invertible models to remove noise is challenging because the input is noisy, and the reversed output is clean, following two different distributions. We propose an invertible denoising network, InvDN, to address this challenge. InvDN transforms the noisy input into a low-resolution clean image and a latent representation containing noise. To discard noise and restore the clean image, InvDN replaces the noisy latent representation with another one sampled from a prior distribution during reversion. The denoising performance of InvDN is better than all the existing competitive models, achieving a new state-of-the-art result for the SIDD dataset while enjoying less run time. Moreover, the size of InvDN is far smaller, only having 4.2% of the number of parameters compared to the most recently proposed DANet. Further, via manipulating the noisy latent representation, InvDN is also able to generate noise more similar to the original one. Our code is available at: https://github.com/Yang-Liu1082/InvDN.git.","url_abs":"https://arxiv.org/abs/2104.10546v1","url_pdf":"https://arxiv.org/pdf/2104.10546v1.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":"invertible-denoising-network-a-light-solution","repo_url":"https://github.com/Yang-Liu1082/InvDN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-denoising","task_name":"Image Denoising"}],"methods":[{"method_slug":"danet","method_name":"DANet"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.10546","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.10546"}},"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/Yang-Liu1082/InvDN","reach":null}],"summary":{"ran":3},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":"c023113866818edd","entry":"HaarDownsampling","repo":"Yang-Liu1082/InvDN","repo_kind":"official","path":"codes/models/modules/Inv_arch.py","file_url":"https://github.com/Yang-Liu1082/InvDN/blob/HEAD/codes/models/modules/Inv_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c023113866818edd"}},{"code_sha256_prefix":"1dcb7dcbafa101a5","entry":"InvBlockExp","repo":"Yang-Liu1082/InvDN","repo_kind":"official","path":"codes/models/modules/Inv_arch.py","file_url":"https://github.com/Yang-Liu1082/InvDN/blob/HEAD/codes/models/modules/Inv_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1dcb7dcbafa101a5"}},{"code_sha256_prefix":"2485b9243f607ae1","entry":"InvNet","repo":"Yang-Liu1082/InvDN","repo_kind":"official","path":"codes/models/modules/Inv_arch.py","file_url":"https://github.com/Yang-Liu1082/InvDN/blob/HEAD/codes/models/modules/Inv_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2485b9243f607ae1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}