{"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/stripformer-strip-transformer-for-fast-image","title":"Stripformer: Strip Transformer for Fast Image Deblurring","arxiv_id":"2204.04627","date":"2022-04-10","proceeding":null,"authors":["Fu-Jen Tsai","Yan-Tsung Peng","Yen-Yu Lin","Chung-Chi Tsai","Chia-Wen Lin"],"abstract":"Images taken in dynamic scenes may contain unwanted motion blur, which significantly degrades visual quality. Such blur causes short- and long-range region-specific smoothing artifacts that are often directional and non-uniform, which is difficult to be removed. Inspired by the current success of transformers on computer vision and image processing tasks, we develop, Stripformer, a transformer-based architecture that constructs intra- and inter-strip tokens to reweight image features in the horizontal and vertical directions to catch blurred patterns with different orientations. It stacks interlaced intra-strip and inter-strip attention layers to reveal blur magnitudes. In addition to detecting region-specific blurred patterns of various orientations and magnitudes, Stripformer is also a token-efficient and parameter-efficient transformer model, demanding much less memory usage and computation cost than the vanilla transformer but works better without relying on tremendous training data. Experimental results show that Stripformer performs favorably against state-of-the-art models in dynamic scene deblurring.","url_abs":"https://arxiv.org/abs/2204.04627v2","url_pdf":"https://arxiv.org/pdf/2204.04627v2.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":"stripformer-strip-transformer-for-fast-image","repo_url":"https://github.com/pp00704831/Stripformer","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"stripformer-strip-transformer-for-fast-image","repo_url":"https://github.com/pp00704831/Stripformer-ECCV-2022-","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"image-deblurring","task_name":"Image Deblurring"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/deblurring-on-gopro","task":"Deblurring","dataset":"GoPro","model":"Stripformer","rank_in_archive_order":25,"of":56,"metrics":{"PSNR":"33.08","SSIM":"0.962"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-hide-trained-on-gopro","task":"Deblurring","dataset":"HIDE (trained on GOPRO)","model":"Stripformer","rank_in_archive_order":16,"of":26,"metrics":{"PSNR (sRGB)":"31.03","SSIM (sRGB)":"0.94"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-realblur-j-1","task":"Deblurring","dataset":"RealBlur-J","model":"Stripformer","rank_in_archive_order":11,"of":17,"metrics":{"PSNR (sRGB)":"32.48","Params(M)":"20","SSIM (sRGB)":"0.929"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-realblur-r","task":"Deblurring","dataset":"RealBlur-R","model":"Stripformer","rank_in_archive_order":10,"of":17,"metrics":{"PSNR (sRGB)":"39.84","Params":"20","SSIM (sRGB)":"0.974"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2204.04627","atlas_url":"https://app.syntology.ai/?focus=2204.04627","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.04627"}},"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/pp00704831/Stripformer-ECCV-2022-","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/pp00704831/Stripformer","reach":null}],"summary":{"ran":5,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"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":8,"samples":[{"code_sha256_prefix":"86ce74bd6f20dd97","entry":"Attention","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"86ce74bd6f20dd97"}},{"code_sha256_prefix":"d5983093919ca007","entry":"Embeddings","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d5983093919ca007"}},{"code_sha256_prefix":"b9376341cce61165","entry":"Intra_SA","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b9376341cce61165"}},{"code_sha256_prefix":"e18d4ea8b6351e78","entry":"Mlp","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e18d4ea8b6351e78"}},{"code_sha256_prefix":"fd7cefc1235adb52","entry":"PEG","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"fd7cefc1235adb52"}},{"code_sha256_prefix":"f96852389442e5f0","entry":"Embeddings_output","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f96852389442e5f0"}},{"code_sha256_prefix":"da4c7837feabc4e7","entry":"Inter_SA","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"da4c7837feabc4e7"}},{"code_sha256_prefix":"81641b2c3c000b12","entry":"Stripformer","repo":"pp00704831/Stripformer","repo_kind":"official","path":"models/Stripformer.py","file_url":"https://github.com/pp00704831/Stripformer/blob/HEAD/models/Stripformer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"81641b2c3c000b12"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}