{"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/multi-scale-progressive-fusion-network-for","title":"Multi-Scale Progressive Fusion Network for Single Image Deraining","arxiv_id":"2003.10985","date":"2020-03-24","proceeding":"CVPR 2020 6","authors":["Kui Jiang","Zhongyuan Wang","Peng Yi","Chen Chen","Baojin Huang","Yimin Luo","Jiayi Ma","Junjun Jiang"],"abstract":"Rain streaks in the air appear in various blurring degrees and resolutions due to different distances from their positions to the camera. Similar rain patterns are visible in a rain image as well as its multi-scale (or multi-resolution) versions, which makes it possible to exploit such complementary information for rain streak representation. In this work, we explore the multi-scale collaborative representation for rain streaks from the perspective of input image scales and hierarchical deep features in a unified framework, termed multi-scale progressive fusion network (MSPFN) for single image rain streak removal. For similar rain streaks at different positions, we employ recurrent calculation to capture the global texture, thus allowing to explore the complementary and redundant information at the spatial dimension to characterize target rain streaks. Besides, we construct multi-scale pyramid structure, and further introduce the attention mechanism to guide the fine fusion of this correlated information from different scales. This multi-scale progressive fusion strategy not only promotes the cooperative representation, but also boosts the end-to-end training. Our proposed method is extensively evaluated on several benchmark datasets and achieves state-of-the-art results. Moreover, we conduct experiments on joint deraining, detection, and segmentation tasks, and inspire a new research direction of vision task-driven image deraining. The source code is available at \\url{https://github.com/kuihua/MSPFN}.","url_abs":"https://arxiv.org/abs/2003.10985v2","url_pdf":"https://arxiv.org/pdf/2003.10985v2.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":"multi-scale-progressive-fusion-network-for","repo_url":"https://github.com/kuihua/MSPFN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"multi-scale-progressive-fusion-network-for","repo_url":"https://github.com/kuijiang0802/mspfn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"multi-scale-progressive-fusion-network-for","repo_url":"https://github.com/kuijiang94/mspfn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"rain-removal","task_name":"Rain Removal"},{"task_slug":"single-image-deraining","task_name":"Single Image Deraining"}],"methods":[{"method_slug":"mspfn","method_name":"MSPFN"}],"datasets_introduced":[{"slug":"synthetic-rain-datasets","name":"Synthetic Rain Datasets","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/single-image-deraining-on-rain100h","task":"Single Image Deraining","dataset":"Rain100H","model":"MSPFN","rank_in_archive_order":13,"of":19,"metrics":{"PSNR":"28.66","SSIM":"0.86"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-rain100l","task":"Single Image Deraining","dataset":"Rain100L","model":"MSPFN","rank_in_archive_order":13,"of":19,"metrics":{"PSNR":"32.40","SSIM":"0.933"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-test100","task":"Single Image Deraining","dataset":"Test100","model":"MSPFN","rank_in_archive_order":7,"of":12,"metrics":{"PSNR":"27.50","SSIM":"0.876"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-test1200","task":"Single Image Deraining","dataset":"Test1200","model":"MSPFN","rank_in_archive_order":8,"of":14,"metrics":{"PSNR":"32.39","SSIM":"0.916"},"uses_additional_data":false},{"leaderboard":"/sota/single-image-deraining-on-test2800","task":"Single Image Deraining","dataset":"Test2800","model":"MSPFN","rank_in_archive_order":6,"of":12,"metrics":{"PSNR":"32.82","SSIM":"0.930"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.10985","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.10985"}},"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/kuijiang94/mspfn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kuijiang0802/mspfn","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kuihua/MSPFN","reach":{"status":"ok"}}],"summary":{"ran_violates":1},"by_repo_kind":{"listed":{"samples":1,"ran":1,"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":1,"samples":[{"code_sha256_prefix":"661e108915783dcb","entry":"normalize","repo":"kuijiang94/mspfn","repo_kind":"listed","path":"model/train_MSPFN.py","file_url":"https://github.com/kuijiang94/mspfn/blob/HEAD/model/train_MSPFN.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"661e108915783dcb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}