{"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/voco-a-simple-yet-effective-volume","title":"VoCo: A Simple-yet-Effective Volume Contrastive Learning Framework for 3D Medical Image Analysis","arxiv_id":"2402.17300","date":"2024-02-27","proceeding":"CVPR 2024 1","authors":["Linshan Wu","Jiaxin Zhuang","Hao Chen"],"abstract":"Self-Supervised Learning (SSL) has demonstrated promising results in 3D medical image analysis. However, the lack of high-level semantics in pre-training still heavily hinders the performance of downstream tasks. We observe that 3D medical images contain relatively consistent contextual position information, i.e., consistent geometric relations between different organs, which leads to a potential way for us to learn consistent semantic representations in pre-training. In this paper, we propose a simple-yet-effective Volume Contrast (VoCo) framework to leverage the contextual position priors for pre-training. Specifically, we first generate a group of base crops from different regions while enforcing feature discrepancy among them, where we employ them as class assignments of different regions. Then, we randomly crop sub-volumes and predict them belonging to which class (located at which region) by contrasting their similarity to different base crops, which can be seen as predicting contextual positions of different sub-volumes. Through this pretext task, VoCo implicitly encodes the contextual position priors into model representations without the guidance of annotations, enabling us to effectively improve the performance of downstream tasks that require high-level semantics. Extensive experimental results on six downstream tasks demonstrate the superior effectiveness of VoCo. Code will be available at https://github.com/Luffy03/VoCo.","url_abs":"https://arxiv.org/abs/2402.17300v2","url_pdf":"https://arxiv.org/pdf/2402.17300v2.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":"voco-a-simple-yet-effective-volume","repo_url":"https://github.com/luffy03/voco","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"medical-image-analysis","task_name":"Medical Image Analysis"},{"task_slug":null,"task_name":"Position"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[{"method_slug":"base","method_name":"BASE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2402.17300","atlas_url":"https://app.syntology.ai/?focus=2402.17300","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.17300"}},"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/luffy03/voco","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/Luffy03/VoCo","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":5,"ran_honours":3,"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":13,"ran":9,"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":"1975baa05907a194","entry":"Swin","repo":"Luffy03/VoCo","repo_kind":"official","path":"models/voco_head.py","file_url":"https://github.com/Luffy03/VoCo/blob/HEAD/models/voco_head.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1975baa05907a194"}},{"code_sha256_prefix":"de590314351ce74a","entry":"VoCoHead","repo":"Luffy03/VoCo","repo_kind":"official","path":"models/voco_head.py","file_url":"https://github.com/Luffy03/VoCo/blob/HEAD/models/voco_head.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"de590314351ce74a"}},{"code_sha256_prefix":"a99b36c20266880b","entry":"ce_loss","repo":"Luffy03/VoCo","repo_kind":"official","path":"models/voco_head.py","file_url":"https://github.com/Luffy03/VoCo/blob/HEAD/models/voco_head.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a99b36c20266880b"}},{"code_sha256_prefix":"5ef0826221fa2d23","entry":"get_identifiers_from_splitted_files","repo":"luffy03/voco","repo_kind":"official","path":"Finetune/Amos/gen_json.py","file_url":"https://github.com/luffy03/voco/blob/HEAD/Finetune/Amos/gen_json.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5ef0826221fa2d23"}},{"code_sha256_prefix":"7200d07232ea5b5e","entry":"init_log","repo":"luffy03/voco","repo_kind":"official","path":"voco_train.py","file_url":"https://github.com/luffy03/voco/blob/HEAD/voco_train.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7200d07232ea5b5e"}},{"code_sha256_prefix":"adfc9b95c4e65682","entry":"one_hot","repo":"luffy03/voco","repo_kind":"official","path":"Finetune/Amos/inferers.py","file_url":"https://github.com/luffy03/voco/blob/HEAD/Finetune/Amos/inferers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"adfc9b95c4e65682"}},{"code_sha256_prefix":"4c957cdfaf3ea80e","entry":"online_assign","repo":"Luffy03/VoCo","repo_kind":"official","path":"models/voco_head.py","file_url":"https://github.com/Luffy03/VoCo/blob/HEAD/models/voco_head.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4c957cdfaf3ea80e"}},{"code_sha256_prefix":"e5c180ceaa648eda","entry":"projection_head","repo":"Luffy03/VoCo","repo_kind":"official","path":"models/voco_head.py","file_url":"https://github.com/Luffy03/VoCo/blob/HEAD/models/voco_head.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e5c180ceaa648eda"}},{"code_sha256_prefix":"17cb2e3fdd1887ff","entry":"regularization_loss","repo":"Luffy03/VoCo","repo_kind":"official","path":"models/voco_head.py","file_url":"https://github.com/Luffy03/VoCo/blob/HEAD/models/voco_head.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"17cb2e3fdd1887ff"}},{"code_sha256_prefix":"babb1753b0d06c3e","entry":"double_sliding_window_inference","repo":"luffy03/voco","repo_kind":"official","path":"Finetune/Amos/inferers.py","file_url":"https://github.com/luffy03/voco/blob/HEAD/Finetune/Amos/inferers.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":"babb1753b0d06c3e"}},{"code_sha256_prefix":"f26a073bdb1023cb","entry":"get_transforms_func","repo":"luffy03/voco","repo_kind":"official","path":"Finetune/Amos/inferers.py","file_url":"https://github.com/luffy03/voco/blob/HEAD/Finetune/Amos/inferers.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":"f26a073bdb1023cb"}},{"code_sha256_prefix":"d78a609520e9a2b5","entry":"read","repo":"luffy03/voco","repo_kind":"official","path":"Finetune/AbdomenAtlas/check.py","file_url":"https://github.com/luffy03/voco/blob/HEAD/Finetune/AbdomenAtlas/check.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":"d78a609520e9a2b5"}},{"code_sha256_prefix":"b5abe82c76e1403b","entry":"trans_lab","repo":"luffy03/voco","repo_kind":"official","path":"Finetune/AbdomenAtlas/check.py","file_url":"https://github.com/luffy03/voco/blob/HEAD/Finetune/AbdomenAtlas/check.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":"b5abe82c76e1403b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}