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).
- nibabel >= 2.5.0
- numpy >= 1.17
- pytorch >= 1.4
pip install git+git://github.com/jcreinhold/selfsupervised3d.git
Example Doersch-style [1,2] Notebook
Example Blendowski-style [2] Notebook
Example Context Encoder-style [3] Notebook
Unit tests can be run from the main directory as follows:
nosetests -v tests
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}
}
[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.