{"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/mobilesamv2-faster-segment-anything-to","title":"MobileSAMv2: Faster Segment Anything to Everything","arxiv_id":"2312.09579","date":"2023-12-15","proceeding":null,"authors":["Chaoning Zhang","Dongshen Han","Sheng Zheng","Jinwoo Choi","Tae-Ho Kim","Choong Seon Hong"],"abstract":"Segment anything model (SAM) addresses two practical yet challenging segmentation tasks: \\textbf{segment anything (SegAny)}, which utilizes a certain point to predict the mask for a single object of interest, and \\textbf{segment everything (SegEvery)}, which predicts the masks for all objects on the image. What makes SegAny slow for SAM is its heavyweight image encoder, which has been addressed by MobileSAM via decoupled knowledge distillation. The efficiency bottleneck of SegEvery with SAM, however, lies in its mask decoder because it needs to first generate numerous masks with redundant grid-search prompts and then perform filtering to obtain the final valid masks. We propose to improve its efficiency by directly generating the final masks with only valid prompts, which can be obtained through object discovery. Our proposed approach not only helps reduce the total time on the mask decoder by at least 16 times but also achieves superior performance. Specifically, our approach yields an average performance boost of 3.6\\% (42.5\\% \\textit{v.s.} 38.9\\%) for zero-shot object proposal on the LVIS dataset with the mask AR@$K$ metric. Qualitative results show that our approach generates fine-grained masks while avoiding over-segmenting things. This project targeting faster SegEvery than the original SAM is termed MobileSAMv2 to differentiate from MobileSAM which targets faster SegAny. Moreover, we demonstrate that our new prompt sampling is also compatible with the distilled image encoders in MobileSAM, contributing to a unified framework for efficient SegAny and SegEvery. The code is available at the same link as MobileSAM Project \\href{https://github.com/ChaoningZhang/MobileSAM}{\\textcolor{red}{https://github.com/ChaoningZhang/MobileSAM}}. \\end{abstract}","url_abs":"https://arxiv.org/abs/2312.09579v1","url_pdf":"https://arxiv.org/pdf/2312.09579v1.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":"mobilesamv2-faster-segment-anything-to","repo_url":"https://github.com/chaoningzhang/mobilesam","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"object-discovery","task_name":"Object Discovery"},{"task_slug":null,"task_name":"valid"}],"methods":[{"method_slug":"sam","method_name":"SAM"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2312.09579","atlas_url":"https://app.syntology.ai/?focus=2312.09579","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.09579"}},"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/chaoningzhang/mobilesam","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_fixture":2,"unverified":5},"by_repo_kind":{"official":{"samples":7,"ran":2,"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":"733d7f0bedcb74c2","entry":"get_rel_pos","repo":"chaoningzhang/mobilesam","repo_kind":"official","path":"mobile_sam/modeling/image_encoder.py","file_url":"https://github.com/chaoningzhang/mobilesam/blob/HEAD/mobile_sam/modeling/image_encoder.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":"733d7f0bedcb74c2"}},{"code_sha256_prefix":"105fa08885dc36cc","entry":"window_partition","repo":"chaoningzhang/mobilesam","repo_kind":"official","path":"mobile_sam/modeling/image_encoder.py","file_url":"https://github.com/chaoningzhang/mobilesam/blob/HEAD/mobile_sam/modeling/image_encoder.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"105fa08885dc36cc"}},{"code_sha256_prefix":"f9bc5f31ce61cee8","entry":"build_sam_vit_b","repo":"chaoningzhang/mobilesam","repo_kind":"official","path":"mobile_sam/build_sam.py","file_url":"https://github.com/chaoningzhang/mobilesam/blob/HEAD/mobile_sam/build_sam.py","link_basis":"harvester_set","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":"f9bc5f31ce61cee8"}},{"code_sha256_prefix":"6b77c1f11fff3ed6","entry":"build_sam_vit_h","repo":"chaoningzhang/mobilesam","repo_kind":"official","path":"mobile_sam/build_sam.py","file_url":"https://github.com/chaoningzhang/mobilesam/blob/HEAD/mobile_sam/build_sam.py","link_basis":"harvester_set","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":"6b77c1f11fff3ed6"}},{"code_sha256_prefix":"3f8890e695469246","entry":"build_sam_vit_l","repo":"chaoningzhang/mobilesam","repo_kind":"official","path":"mobile_sam/build_sam.py","file_url":"https://github.com/chaoningzhang/mobilesam/blob/HEAD/mobile_sam/build_sam.py","link_basis":"harvester_set","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":"3f8890e695469246"}},{"code_sha256_prefix":"9d5a5692e595b123","entry":"register_tiny_vit_model","repo":"chaoningzhang/mobilesam","repo_kind":"official","path":"mobile_sam/modeling/tiny_vit_sam.py","file_url":"https://github.com/chaoningzhang/mobilesam/blob/HEAD/mobile_sam/modeling/tiny_vit_sam.py","link_basis":"harvester_set","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":"9d5a5692e595b123"}},{"code_sha256_prefix":"27be441cc8213e52","entry":"window_unpartition","repo":"chaoningzhang/mobilesam","repo_kind":"official","path":"mobile_sam/modeling/image_encoder.py","file_url":"https://github.com/chaoningzhang/mobilesam/blob/HEAD/mobile_sam/modeling/image_encoder.py","link_basis":"harvester_set","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":"27be441cc8213e52"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}