jcreinhold/selfsupervised3d
methods to support self-supervised learning with 3D images
selfsupervised3d
This package provides functions to support self-supervised with 3D images (e.g., CT and MR structural images).
This work implements methods from by Doersch et al. [1] and Blendowski et al. [2].
This repository is re-implements the methods described in those papers.
The code by Blendowski et al. [2] in their relevant code repository
was extensively used as reference. We also implement a context autoencoder-style [3] self-supervised
method.
This package was developed by Jacob Reinhold and the other students and researchers of the
Image Analysis and Communication Lab (IACL).
Requirements
- nibabel >= 2.5.0
- numpy >= 1.17
- pytorch >= 1.4
Installation
pip install git+git://github.com/jcreinhold/selfsupervised3d.git
Tutorial
Example Doersch-style [1,2] Notebook
Example Blendowski-style [2] Notebook
Example Context Encoder-style [3] Notebook
Test Package
Unit tests can be run from the main directory as follows:
nosetests -v tests
Citation
If you use the selfsupervised3d package in an academic paper, please use the following citation:
@misc{reinhold2020selfsupervised3d,
author = {Jacob Reinhold},
title = {{selfsupervised3d}},
year = 2020,
doi = {10.5281/zenodo.3841254},
version = {0.2.0},
publisher = {Zenodo},
url = {https://doi.org/10.5281/zenodo.3841254}
}
References
[1] Doersch, Carl, Abhinav Gupta, and Alexei A. Efros. "Unsupervised visual representation learning by context prediction." Proceedings of the IEEE international conference on computer vision. 2015.
[2] Blendowski, Maximilian, Hannes Nickisch, and Mattias P. Heinrich. "How to Learn from Unlabeled Volume Data: Self-supervised 3D Context Feature Learning." International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2019.
[3] Pathak, Deepak, et al. "Context encoders: Feature learning by inpainting." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.