{"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/spatio-temporal-deformable-attention-network","title":"Spatio-Temporal Deformable Attention Network for Video Deblurring","arxiv_id":"2207.10852","date":"2022-07-22","proceeding":null,"authors":["Huicong Zhang","Haozhe Xie","Hongxun Yao"],"abstract":"The key success factor of the video deblurring methods is to compensate for the blurry pixels of the mid-frame with the sharp pixels of the adjacent video frames. Therefore, mainstream methods align the adjacent frames based on the estimated optical flows and fuse the alignment frames for restoration. However, these methods sometimes generate unsatisfactory results because they rarely consider the blur levels of pixels, which may introduce blurry pixels from video frames. Actually, not all the pixels in the video frames are sharp and beneficial for deblurring. To address this problem, we propose the spatio-temporal deformable attention network (STDANet) for video delurring, which extracts the information of sharp pixels by considering the pixel-wise blur levels of the video frames. Specifically, STDANet is an encoder-decoder network combined with the motion estimator and spatio-temporal deformable attention (STDA) module, where motion estimator predicts coarse optical flows that are used as base offsets to find the corresponding sharp pixels in STDA module. Experimental results indicate that the proposed STDANet performs favorably against state-of-the-art methods on the GoPro, DVD, and BSD datasets.","url_abs":"https://arxiv.org/abs/2207.10852v1","url_pdf":"https://arxiv.org/pdf/2207.10852v1.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":"spatio-temporal-deformable-attention-network","repo_url":"https://github.com/huicongzhang/stdan","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"deblurring","task_name":"Deblurring"},{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"video-deblurring","task_name":"Video Deblurring"}],"methods":[{"method_slug":"align","method_name":"ALIGN"},{"method_slug":"base","method_name":"BASE"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/deblurring-on-dvd-1","task":"Deblurring","dataset":"DVD","model":"STDAN","rank_in_archive_order":6,"of":7,"metrics":{"PSNR":"33.05","SSIM":"0.9374"},"uses_additional_data":false},{"leaderboard":"/sota/deblurring-on-gopro","task":"Deblurring","dataset":"GoPro","model":"STDAN","rank_in_archive_order":35,"of":56,"metrics":{"PSNR":"32.29","SSIM":"0.9313"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.10852","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.10852"}},"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/huicongzhang/stdan","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"unverified":5},"by_repo_kind":{"official":{"samples":12,"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":0,"samples":[{"code_sha256_prefix":"678eeae42f3728ec","entry":"conv","repo":"huicongzhang/stdan","repo_kind":"official","path":"models/submodules.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/models/submodules.py","link_basis":"harvester_set","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":"678eeae42f3728ec"}},{"code_sha256_prefix":"df23da82fbd7ff7b","entry":"count_parameters","repo":"huicongzhang/stdan","repo_kind":"official","path":"utils/network_utils.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/utils/network_utils.py","link_basis":"harvester_set","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":"df23da82fbd7ff7b"}},{"code_sha256_prefix":"4ec1f46edd412686","entry":"get_same_padding","repo":"huicongzhang/stdan","repo_kind":"official","path":"models/model/blocks.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/models/model/blocks.py","link_basis":"harvester_set","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":"4ec1f46edd412686"}},{"code_sha256_prefix":"00743d6b5327d649","entry":"get_weight_parameters","repo":"huicongzhang/stdan","repo_kind":"official","path":"utils/network_utils.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/utils/network_utils.py","link_basis":"harvester_set","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":"00743d6b5327d649"}},{"code_sha256_prefix":"6831a4cc075e6346","entry":"resnet_block","repo":"huicongzhang/stdan","repo_kind":"official","path":"models/submodules.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/models/submodules.py","link_basis":"harvester_set","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":"6831a4cc075e6346"}},{"code_sha256_prefix":"5e2116b26e2147fb","entry":"upconv","repo":"huicongzhang/stdan","repo_kind":"official","path":"models/submodules.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/models/submodules.py","link_basis":"harvester_set","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":"5e2116b26e2147fb"}},{"code_sha256_prefix":"6b1ad2156e46dae6","entry":"var_or_cuda","repo":"huicongzhang/stdan","repo_kind":"official","path":"utils/network_utils.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/utils/network_utils.py","link_basis":"harvester_set","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":"6b1ad2156e46dae6"}},{"code_sha256_prefix":"933f49a6f925621f","entry":"PSNR","repo":"huicongzhang/stdan","repo_kind":"official","path":"losses/multi_loss.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/losses/multi_loss.py","link_basis":"harvester_set","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":"933f49a6f925621f"}},{"code_sha256_prefix":"090e64b28e61cd7f","entry":"l1Loss","repo":"huicongzhang/stdan","repo_kind":"official","path":"losses/multi_loss.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/losses/multi_loss.py","link_basis":"harvester_set","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":"090e64b28e61cd7f"}},{"code_sha256_prefix":"fc6f52f692c85fca","entry":"load_file_list","repo":"huicongzhang/stdan","repo_kind":"official","path":"datasets/make_dataset.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/datasets/make_dataset.py","link_basis":"harvester_set","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":"fc6f52f692c85fca"}},{"code_sha256_prefix":"4add91bf0b53d34f","entry":"load_file_list","repo":"huicongzhang/stdan","repo_kind":"official","path":"datasets/make_json.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/datasets/make_json.py","link_basis":"harvester_set","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":"4add91bf0b53d34f"}},{"code_sha256_prefix":"c1857e1331f0f261","entry":"mseLoss","repo":"huicongzhang/stdan","repo_kind":"official","path":"losses/multi_loss.py","file_url":"https://github.com/huicongzhang/stdan/blob/HEAD/losses/multi_loss.py","link_basis":"harvester_set","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":"c1857e1331f0f261"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}