{"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/self-prompting-large-vision-models-for-few","title":"Self-Prompting Large Vision Models for Few-Shot Medical Image Segmentation","arxiv_id":"2308.07624","date":"2023-08-15","proceeding":null,"authors":["Qi Wu","Yuyao Zhang","Marawan Elbatel"],"abstract":"Recent advancements in large foundation models have shown promising potential in the medical industry due to their flexible prompting capability. One such model, the Segment Anything Model (SAM), a prompt-driven segmentation model, has shown remarkable performance improvements, surpassing state-of-the-art approaches in medical image segmentation. However, existing methods primarily rely on tuning strategies that require extensive data or prior prompts tailored to the specific task, making it particularly challenging when only a limited number of data samples are available. In this paper, we propose a novel perspective on self-prompting in medical vision applications. Specifically, we harness the embedding space of SAM to prompt itself through a simple yet effective linear pixel-wise classifier. By preserving the encoding capabilities of the large model, the contextual information from its decoder, and leveraging its interactive promptability, we achieve competitive results on multiple datasets (i.e. improvement of more than 15% compared to fine-tuning the mask decoder using a few images).","url_abs":"https://arxiv.org/abs/2308.07624v1","url_pdf":"https://arxiv.org/pdf/2308.07624v1.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":"self-prompting-large-vision-models-for-few","repo_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"image-segmentation","task_name":"Image Segmentation"},{"task_slug":"medical-image-segmentation","task_name":"Medical Image Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"sam","method_name":"SAM"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.07624","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.07624"}},"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/peteryyzhang/few-shot-self-prompt-sam","reach":{"status":"ok"}}],"summary":{"ran":3,"ran_fixture":2,"unverified":7},"by_repo_kind":{"official":{"samples":12,"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":12,"samples":[{"code_sha256_prefix":"45eaa68ef8aa8826","entry":"dice_coef","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/utils/utils.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":"45eaa68ef8aa8826"}},{"code_sha256_prefix":"e6afb0d7c1af79eb","entry":"get_max_dist_point","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/utils/utils.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":"e6afb0d7c1af79eb"}},{"code_sha256_prefix":"733d7f0bedcb74c2","entry":"get_rel_pos","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/modeling/image_encoder.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"733d7f0bedcb74c2"}},{"code_sha256_prefix":"e8f9be520fd4d382","entry":"iou_coef","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/utils/utils.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":"e8f9be520fd4d382"}},{"code_sha256_prefix":"105fa08885dc36cc","entry":"window_partition","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/modeling/image_encoder.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"105fa08885dc36cc"}},{"code_sha256_prefix":"7069d6e0ba7c409e","entry":"box_xyxy_to_xywh","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/utils/amg.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/utils/amg.py","link_basis":"harvester_set","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":"7069d6e0ba7c409e"}},{"code_sha256_prefix":"f9bc5f31ce61cee8","entry":"build_sam_vit_b","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/build_sam.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/build_sam.py","link_basis":"harvester_set","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":"f9bc5f31ce61cee8"}},{"code_sha256_prefix":"6b77c1f11fff3ed6","entry":"build_sam_vit_h","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/build_sam.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/build_sam.py","link_basis":"harvester_set","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":"6b77c1f11fff3ed6"}},{"code_sha256_prefix":"3f8890e695469246","entry":"build_sam_vit_l","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/build_sam.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/build_sam.py","link_basis":"harvester_set","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":"3f8890e695469246"}},{"code_sha256_prefix":"114a3e68a54ab16c","entry":"is_box_near_crop_edge","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/utils/amg.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/utils/amg.py","link_basis":"harvester_set","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":"114a3e68a54ab16c"}},{"code_sha256_prefix":"d59832deec0972a0","entry":"mask_to_rle_pytorch","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/utils/amg.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/utils/amg.py","link_basis":"harvester_set","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":"d59832deec0972a0"}},{"code_sha256_prefix":"27be441cc8213e52","entry":"window_unpartition","repo":"peteryyzhang/few-shot-self-prompt-sam","repo_kind":"official","path":"segment_anything/modeling/image_encoder.py","file_url":"https://github.com/peteryyzhang/few-shot-self-prompt-sam/blob/HEAD/segment_anything/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"27be441cc8213e52"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}