{"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/tbsn-transformer-based-blind-spot-network-for","title":"Rethinking Transformer-Based Blind-Spot Network for Self-Supervised Image Denoising","arxiv_id":"2404.07846","date":"2024-04-11","proceeding":null,"authors":["Junyi Li","Zhilu Zhang","WangMeng Zuo"],"abstract":"Blind-spot networks (BSN) have been prevalent neural architectures in self-supervised image denoising (SSID). However, most existing BSNs are conducted with convolution layers. Although transformers have shown the potential to overcome the limitations of convolutions in many image restoration tasks, the attention mechanisms may violate the blind-spot requirement, thereby restricting their applicability in BSN. To this end, we propose to analyze and redesign the channel and spatial attentions to meet the blind-spot requirement. Specifically, channel self-attention may leak the blind-spot information in multi-scale architectures, since the downsampling shuffles the spatial feature into channel dimensions. To alleviate this problem, we divide the channel into several groups and perform channel attention separately. For spatial selfattention, we apply an elaborate mask to the attention matrix to restrict and mimic the receptive field of dilated convolution. Based on the redesigned channel and window attentions, we build a Transformer-based Blind-Spot Network (TBSN), which shows strong local fitting and global perspective abilities. Furthermore, we introduce a knowledge distillation strategy that distills TBSN into smaller denoisers to improve computational efficiency while maintaining performance. Extensive experiments on real-world image denoising datasets show that TBSN largely extends the receptive field and exhibits favorable performance against state-of-theart SSID methods.","url_abs":"https://arxiv.org/abs/2404.07846v3","url_pdf":"https://arxiv.org/pdf/2404.07846v3.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":"tbsn-transformer-based-blind-spot-network-for","repo_url":"https://github.com/nagejacob/tbsn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-denoising","task_name":"Image Denoising"},{"task_slug":"image-restoration","task_name":"Image Restoration"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"knowledge-distillation","method_name":"Knowledge Distillation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.07846","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.07846"}},"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/nagejacob/tbsn","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":4,"ran_draft_wrong":2,"ran_honours":1},"by_repo_kind":{"official":{"samples":7,"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":7,"samples":[{"code_sha256_prefix":"0baba56e0db84838","entry":"aug_3","repo":"nagejacob/tbsn","repo_kind":"official","path":"dataset/base_function.py","file_url":"https://github.com/nagejacob/tbsn/blob/HEAD/dataset/base_function.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"0baba56e0db84838"}},{"code_sha256_prefix":"2c28b6c4a8d289d9","entry":"crop_3","repo":"nagejacob/tbsn","repo_kind":"official","path":"dataset/base_function.py","file_url":"https://github.com/nagejacob/tbsn/blob/HEAD/dataset/base_function.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"2c28b6c4a8d289d9"}},{"code_sha256_prefix":"042da966a79899bf","entry":"expand_dim","repo":"nagejacob/tbsn","repo_kind":"official","path":"network/base_function.py","file_url":"https://github.com/nagejacob/tbsn/blob/HEAD/network/base_function.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"042da966a79899bf"}},{"code_sha256_prefix":"3e27684df29ad41d","entry":"pair","repo":"nagejacob/tbsn","repo_kind":"official","path":"network/base_function.py","file_url":"https://github.com/nagejacob/tbsn/blob/HEAD/network/base_function.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"3e27684df29ad41d"}},{"code_sha256_prefix":"5a7b1360795e6a1d","entry":"pixel_shuffle_down_sampling","repo":"nagejacob/tbsn","repo_kind":"official","path":"model/apbsn.py","file_url":"https://github.com/nagejacob/tbsn/blob/HEAD/model/apbsn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"5a7b1360795e6a1d"}},{"code_sha256_prefix":"4741240984522cdf","entry":"pixel_shuffle_up_sampling","repo":"nagejacob/tbsn","repo_kind":"official","path":"model/apbsn.py","file_url":"https://github.com/nagejacob/tbsn/blob/HEAD/model/apbsn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4741240984522cdf"}},{"code_sha256_prefix":"0bb26a83df4e7b0b","entry":"to","repo":"nagejacob/tbsn","repo_kind":"official","path":"network/base_function.py","file_url":"https://github.com/nagejacob/tbsn/blob/HEAD/network/base_function.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"0bb26a83df4e7b0b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}