{"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/mambairv2-attentive-state-space-restoration","title":"MambaIRv2: Attentive State Space Restoration","arxiv_id":"2411.15269","date":"2024-11-22","proceeding":"CVPR 2025 1","authors":["Hang Guo","Yong Guo","Yaohua Zha","Yulun Zhang","Wenbo Li","Tao Dai","Shu-Tao Xia","Yawei Li"],"abstract":"The Mamba-based image restoration backbones have recently demonstrated significant potential in balancing global reception and computational efficiency. However, the inherent causal modeling limitation of Mamba, where each token depends solely on its predecessors in the scanned sequence, restricts the full utilization of pixels across the image and thus presents new challenges in image restoration. In this work, we propose MambaIRv2, which equips Mamba with the non-causal modeling ability similar to ViTs to reach the attentive state space restoration model. Specifically, the proposed attentive state-space equation allows to attend beyond the scanned sequence and facilitate image unfolding with just one single scan. Moreover, we further introduce a semantic-guided neighboring mechanism to encourage interaction between distant but similar pixels. Extensive experiments show our MambaIRv2 outperforms SRFormer by even 0.35dB PSNR for lightweight SR even with 9.3\\% less parameters and suppresses HAT on classic SR by up to 0.29dB. Code is available at https://github.com/csguoh/MambaIR.","url_abs":"https://arxiv.org/abs/2411.15269v2","url_pdf":"https://arxiv.org/pdf/2411.15269v2.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":"mambairv2-attentive-state-space-restoration","repo_url":"https://github.com/csguoh/mambair","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"image-restoration","task_name":"Image Restoration"},{"task_slug":"mamba","task_name":"Mamba"}],"methods":[{"method_slug":"mamba","method_name":"Mamba"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2411.15269","atlas_url":"https://app.syntology.ai/?focus=2411.15269","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.15269"}},"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/csguoh/mambair","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_fixture":3,"ran_draft_wrong":2,"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":0,"samples":[{"code_sha256_prefix":"52d96aa31ed74a56","entry":"drop_path","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/model_zoo/hat.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/model_zoo/hat.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"52d96aa31ed74a56"}},{"code_sha256_prefix":"15c613ecceb6aa71","entry":"img2windows","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/model_zoo/cat.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/model_zoo/cat.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"15c613ecceb6aa71"}},{"code_sha256_prefix":"60363d0620f5778d","entry":"window_partition","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/model_zoo/hat.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/model_zoo/hat.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"60363d0620f5778d"}},{"code_sha256_prefix":"4f003e9ad9b7a7cb","entry":"window_reverse","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/model_zoo/hat.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/model_zoo/hat.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4f003e9ad9b7a7cb"}},{"code_sha256_prefix":"8cb23a62748d3b1c","entry":"windows2img","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/model_zoo/cat.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/model_zoo/cat.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8cb23a62748d3b1c"}},{"code_sha256_prefix":"5f390d616fb142ad","entry":"flops_selective_scan_fn","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/utils_fvcore.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/utils_fvcore.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5f390d616fb142ad"}},{"code_sha256_prefix":"0b84e99fd1e93dd6","entry":"flops_selective_scan_ref","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/utils_fvcore.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/utils_fvcore.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0b84e99fd1e93dd6"}},{"code_sha256_prefix":"e582f87a53fb23d4","entry":"import_abspy","repo":"csguoh/mambair","repo_kind":"official","path":"analysis/utils_fvcore.py","file_url":"https://github.com/csguoh/mambair/blob/HEAD/analysis/utils_fvcore.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e582f87a53fb23d4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}