{"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/video-adverse-weather-component-suppression","title":"Video Adverse-Weather-Component Suppression Network via Weather Messenger and Adversarial Backpropagation","arxiv_id":"2309.13700","date":"2023-09-24","proceeding":"ICCV 2023 1","authors":["Yijun Yang","Angelica I. Aviles-Rivero","Huazhu Fu","Ye Liu","Weiming Wang","Lei Zhu"],"abstract":"Although convolutional neural networks (CNNs) have been proposed to remove adverse weather conditions in single images using a single set of pre-trained weights, they fail to restore weather videos due to the absence of temporal information. Furthermore, existing methods for removing adverse weather conditions (e.g., rain, fog, and snow) from videos can only handle one type of adverse weather. In this work, we propose the first framework for restoring videos from all adverse weather conditions by developing a video adverse-weather-component suppression network (ViWS-Net). To achieve this, we first devise a weather-agnostic video transformer encoder with multiple transformer stages. Moreover, we design a long short-term temporal modeling mechanism for weather messenger to early fuse input adjacent video frames and learn weather-specific information. We further introduce a weather discriminator with gradient reversion, to maintain the weather-invariant common information and suppress the weather-specific information in pixel features, by adversarially predicting weather types. Finally, we develop a messenger-driven video transformer decoder to retrieve the residual weather-specific feature, which is spatiotemporally aggregated with hierarchical pixel features and refined to predict the clean target frame of input videos. Experimental results, on benchmark datasets and real-world weather videos, demonstrate that our ViWS-Net outperforms current state-of-the-art methods in terms of restoring videos degraded by any weather condition.","url_abs":"https://arxiv.org/abs/2309.13700v1","url_pdf":"https://arxiv.org/pdf/2309.13700v1.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":"video-adverse-weather-component-suppression","repo_url":"https://github.com/scott-yjyang/ViWS-Net","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"}],"methods":[{"method_slug":"fail","method_name":"fail"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.13700","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.13700"}},"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/scott-yjyang/ViWS-Net","reach":null}],"summary":{"ran":10,"unverified":4},"by_repo_kind":{"official":{"samples":14,"ran":10,"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":14,"samples":[{"code_sha256_prefix":"291d3bfd91bc289f","entry":"Attention_dec","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"291d3bfd91bc289f"}},{"code_sha256_prefix":"078374dbe2138711","entry":"Block_dec","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"078374dbe2138711"}},{"code_sha256_prefix":"b553611d41aaf28c","entry":"ConvLayer","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b553611d41aaf28c"}},{"code_sha256_prefix":"8b8fc3634f07b09c","entry":"DWConv","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8b8fc3634f07b09c"}},{"code_sha256_prefix":"848137dc4a2cfd57","entry":"Mlp","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"848137dc4a2cfd57"}},{"code_sha256_prefix":"ba4960d6df10f365","entry":"OverlapPatchEmbed","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ba4960d6df10f365"}},{"code_sha256_prefix":"cdefd955bee4c8b0","entry":"ResidualBlock","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdefd955bee4c8b0"}},{"code_sha256_prefix":"805879ba72ea840b","entry":"UpsampleConvLayer","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"805879ba72ea840b"}},{"code_sha256_prefix":"94c44d3425aae50c","entry":"convprojection","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"94c44d3425aae50c"}},{"code_sha256_prefix":"729bcbe9c705b704","entry":"convprojection_base","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"729bcbe9c705b704"}},{"code_sha256_prefix":"b4a9af2ebf07d505","entry":"DecoderTransformer","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b4a9af2ebf07d505"}},{"code_sha256_prefix":"59ea6312615c317a","entry":"RefineNet","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"59ea6312615c317a"}},{"code_sha256_prefix":"c1d6b8614e168389","entry":"Tdec","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c1d6b8614e168389"}},{"code_sha256_prefix":"eee83655072ba53f","entry":"ViWSNet","repo":"scott-yjyang/ViWS-Net","repo_kind":"official","path":"modeling/model.py","file_url":"https://github.com/scott-yjyang/ViWS-Net/blob/HEAD/modeling/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"eee83655072ba53f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}