{"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/3d-self-supervised-methods-for-medical","title":"3D Self-Supervised Methods for Medical Imaging","arxiv_id":"2006.03829","date":"2020-06-06","proceeding":"NeurIPS 2020 12","authors":["Aiham Taleb","Winfried Loetzsch","Noel Danz","Julius Severin","Thomas Gaertner","Benjamin Bergner","Christoph Lippert"],"abstract":"Self-supervised learning methods have witnessed a recent surge of interest after proving successful in multiple application fields. In this work, we leverage these techniques, and we propose 3D versions for five different self-supervised methods, in the form of proxy tasks. Our methods facilitate neural network feature learning from unlabeled 3D images, aiming to reduce the required cost for expert annotation. The developed algorithms are 3D Contrastive Predictive Coding, 3D Rotation prediction, 3D Jigsaw puzzles, Relative 3D patch location, and 3D Exemplar networks. Our experiments show that pretraining models with our 3D tasks yields more powerful semantic representations, and enables solving downstream tasks more accurately and efficiently, compared to training the models from scratch and to pretraining them on 2D slices. We demonstrate the effectiveness of our methods on three downstream tasks from the medical imaging domain: i) Brain Tumor Segmentation from 3D MRI, ii) Pancreas Tumor Segmentation from 3D CT, and iii) Diabetic Retinopathy Detection from 2D Fundus images. In each task, we assess the gains in data-efficiency, performance, and speed of convergence. Interestingly, we also find gains when transferring the learned representations, by our methods, from a large unlabeled 3D corpus to a small downstream-specific dataset. We achieve results competitive to state-of-the-art solutions at a fraction of the computational expense. We publish our implementations for the developed algorithms (both 3D and 2D versions) as an open-source library, in an effort to allow other researchers to apply and extend our methods on their datasets.","url_abs":"https://arxiv.org/abs/2006.03829v3","url_pdf":"https://arxiv.org/pdf/2006.03829v3.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":"3d-self-supervised-methods-for-medical","repo_url":"https://github.com/HealthML/self-supervised-3d-tasks","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"brain-tumor-segmentation","task_name":"Brain Tumor Segmentation"},{"task_slug":"diabetic-retinopathy-detection","task_name":"Diabetic Retinopathy Detection"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"tumor-segmentation","task_name":"Tumor Segmentation"}],"methods":[{"method_slug":"contrastive-predictive-coding","method_name":"Contrastive Predictive Coding"},{"method_slug":"infonce","method_name":"InfoNCE"},{"method_slug":"jigsaw","method_name":"Jigsaw"},{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.03829","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.03829"}},"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/HealthML/self-supervised-3d-tasks","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":16},"by_repo_kind":{"official":{"samples":16,"ran":0,"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":16,"samples":[{"code_sha256_prefix":"19d6b316ce0edb54","entry":"ResNet50","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/resnet2d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/resnet2d.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":false,"mcp_get_code":{"code_sha256":"19d6b316ce0edb54"}},{"code_sha256_prefix":"e44e5354592522fd","entry":"basic_block","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/resnet3d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/resnet3d.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":false,"mcp_get_code":{"code_sha256":"e44e5354592522fd"}},{"code_sha256_prefix":"9ba8fad266d73744","entry":"bottleneck","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/resnet3d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/resnet3d.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":false,"mcp_get_code":{"code_sha256":"9ba8fad266d73744"}},{"code_sha256_prefix":"dff642f195244e6a","entry":"conv3d_block","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/unet3d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/unet3d.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":false,"mcp_get_code":{"code_sha256":"dff642f195244e6a"}},{"code_sha256_prefix":"40baa5aebd753951","entry":"conv_block","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/unet.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/unet.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":false,"mcp_get_code":{"code_sha256":"40baa5aebd753951"}},{"code_sha256_prefix":"6244a4f28078ae41","entry":"convolutional_block","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/resnet2d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/resnet2d.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":false,"mcp_get_code":{"code_sha256":"6244a4f28078ae41"}},{"code_sha256_prefix":"1c2811866c2a26d0","entry":"fully_connected","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/fully_connected.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/fully_connected.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":false,"mcp_get_code":{"code_sha256":"1c2811866c2a26d0"}},{"code_sha256_prefix":"e1bbace6125c7aeb","entry":"fully_connected_big","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/fully_connected.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/fully_connected.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":false,"mcp_get_code":{"code_sha256":"e1bbace6125c7aeb"}},{"code_sha256_prefix":"fa73582eb102fe4d","entry":"identity_block","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/resnet2d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/resnet2d.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":false,"mcp_get_code":{"code_sha256":"fa73582eb102fe4d"}},{"code_sha256_prefix":"b22f0f43e5c590ec","entry":"network_autoregressive","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/algorithms/cpc.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/algorithms/cpc.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":false,"mcp_get_code":{"code_sha256":"b22f0f43e5c590ec"}},{"code_sha256_prefix":"5d58accf52fd2af4","entry":"network_prediction","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/algorithms/cpc.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/algorithms/cpc.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":false,"mcp_get_code":{"code_sha256":"5d58accf52fd2af4"}},{"code_sha256_prefix":"e966d75ef97edd7f","entry":"simple_multiclass","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/fully_connected.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/fully_connected.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":false,"mcp_get_code":{"code_sha256":"e966d75ef97edd7f"}},{"code_sha256_prefix":"e2d86f5679b725c2","entry":"upsample_conv","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/unet.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/unet.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":false,"mcp_get_code":{"code_sha256":"e2d86f5679b725c2"}},{"code_sha256_prefix":"52b48cda55024c56","entry":"upsample_conv_3d","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/unet3d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/unet3d.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":false,"mcp_get_code":{"code_sha256":"52b48cda55024c56"}},{"code_sha256_prefix":"d86c12d7bc272c23","entry":"upsample_simple","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/unet.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/unet.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":false,"mcp_get_code":{"code_sha256":"d86c12d7bc272c23"}},{"code_sha256_prefix":"aef4a468650afe2b","entry":"upsample_simple_3d","repo":"HealthML/self-supervised-3d-tasks","repo_kind":"official","path":"self_supervised_3d_tasks/models/unet3d.py","file_url":"https://github.com/HealthML/self-supervised-3d-tasks/blob/HEAD/self_supervised_3d_tasks/models/unet3d.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":false,"mcp_get_code":{"code_sha256":"aef4a468650afe2b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}