Set of models for segmentation of 3D volumes
The repository contains 3D variants of popular models for segmentation like FPN, Unet, Linknet and PSPNet.
This repository is based on great segmentation_models repo by @qubvel
pip install segmentation-models-3D
import segmentation_models_3D as sm
model1 = sm.Unet(
'resnet34',
encoder_weights='imagenet'
)
# binary segmentation (these parameters are default when you call Unet('resnet34')
model2 = sm.FPN(
'densenet121',
classes=1,
activation='sigmoid'
)
# multiclass segmentation with non overlapping class masks (your classes + background)
model3 = sm.Linknet(
'resnet34',
classes=3,
activation='softmax'
)
# multiclass segmentation with independent overlapping/non-overlapping class masks
model4 = sm.PSPNet(
'resnet34',
classes=3,
activation='sigmoid'
)
# If you need to specify non-standard input shape
model5 = sm.Unet(
'resnet50',
input_shape=(96, 128, 128, 6),
encoder_weights=None
)
All possible backbones: 'resnet18, 'resnet34', 'resnet50', 'resnet101', 'resnet152', 'seresnet18', 'seresnet34', 'seresnet50', 'seresnet101', 'seresnet152', 'seresnext50', 'seresnext101', 'senet154', 'resnext50', 'resnext101', 'vgg16', 'vgg19', 'densenet121', 'densenet169', 'densenet201', 'inceptionresnetv2', 'inceptionv3', 'mobilenet', 'mobilenetv2', 'efficientnetb0', 'efficientnetb1', 'efficientnetb2', 'efficientnetb3', 'efficientnetb4', 'efficientnetb5', 'efficientnetb6', 'efficientnetb7', 'efficientnetv2-b1', 'efficientnetv2-b2', 'efficientnetv2-b3', 'efficientnetv2-s', 'efficientnetv2-m', 'efficientnetv2-l'
More examples can be found in:
There is training example in training_example_tensorflow.py
stride_size
parameter for better control of modelsLast version which supports Keras 2 is 1.0.7
pip install segmentation-models-3D==1.0.7
For more details, please refer to the publication: https://doi.org/10.1016/j.compbiomed.2021.105089
If you find this code useful, please cite it as:
@article{solovyev20223d,
title={3D convolutional neural networks for stalled brain capillary detection},
author={Solovyev, Roman and Kalinin, Alexandr A and Gabruseva, Tatiana},
journal={Computers in Biology and Medicine},
volume={141},
pages={105089},
year={2022},
publisher={Elsevier},
doi={10.1016/j.compbiomed.2021.105089}
}