PyTorch implementation of conditional random field for multiclass semantic segmenation.
crfseg: CRF layer for segmentation in PyTorch
Conditional random field (CRF) is a classical graphical model which allows to make structured predictions in such tasks as image semantic segmentation or sequence labeling.
You can learn about it in papers:
- Efficient Inference in Fully Connected CRFs with Gaussian Edge Potentials
- Conditional Random Fields as Recurrent Neural Networks
pip install crfseg
Can be easily used as differentiable (and moreover learnable) postprocessing layer of your NN for segmentation.
import torch import torch.nn as nn from crfseg import CRF model = nn.Sequential( nn.Identity(), # your NN CRF(n_spatial_dims=2) ) batch_size, n_channels, spatial = 10, 1, (100, 100) x = torch.zeros(batch_size, n_channels, *spatial) log_proba = model(x)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
crfseg-1.0.0.tar.gz (6.9 kB view hashes)