Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Awesome Semantic Segmentation Pytorch | 2,399 | 3 months ago | 114 | apache-2.0 | Python | |||||
Semantic Segmentation on PyTorch (include FCN, PSPNet, Deeplabv3, Deeplabv3+, DANet, DenseASPP, BiSeNet, EncNet, DUNet, ICNet, ENet, OCNet, CCNet, PSANet, CGNet, ESPNet, LEDNet, DFANet) | ||||||||||
Pytorch Fcn | 1,628 | 1 | 1 | 2 months ago | 21 | October 06, 2021 | 20 | mit | Python | |
PyTorch Implementation of Fully Convolutional Networks. (Training code to reproduce the original result is available.) | ||||||||||
Pytorch Auto Drive | 611 | a month ago | 33 | bsd-3-clause | Python | |||||
PytorchAutoDrive: Segmentation models (ERFNet, ENet, DeepLab, FCN...) and Lane detection models (SCNN, RESA, LSTR, LaneATT, BézierLaneNet...) based on PyTorch with fast training, visualization, benchmarking & deployment help | ||||||||||
Gluoncv Torch | 548 | 5 months ago | 16 | mit | Python | |||||
PyTorch API for GluonCV Models | ||||||||||
Semseg | 527 | 4 years ago | 52 | Python | ||||||
常用的语义分割架构结构综述以及代码复现 | ||||||||||
Pytorch Unet | 357 | 3 years ago | 6 | mit | Jupyter Notebook | |||||
Simple PyTorch implementations of U-Net/FullyConvNet (FCN) for image segmentation | ||||||||||
Pytorch Cpp | 353 | 5 years ago | 20 | C++ | ||||||
Pytorch C++ Library | ||||||||||
Piwise | 351 | 4 years ago | 17 | bsd-3-clause | Python | |||||
Pixel-wise segmentation on VOC2012 dataset using pytorch. | ||||||||||
Pytorch_rfcn | 278 | 6 years ago | 6 | Python | ||||||
Pytorch Lesson Zh | 214 | 4 years ago | 1 | Jupyter Notebook | ||||||
pytorch 包教不包会 |
English | 简体中文
This project aims at providing a concise, easy-to-use, modifiable reference implementation for semantic segmentation models using PyTorch.
# semantic-segmentation-pytorch dependencies
pip install ninja tqdm
# follow PyTorch installation in https://pytorch.org/get-started/locally/
conda install pytorch torchvision -c pytorch
# install PyTorch Segmentation
git clone https://github.com/Tramac/awesome-semantic-segmentation-pytorch.git
# for example, train fcn32_vgg16_pascal_voc:
python train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50
# for example, train fcn32_vgg16_pascal_voc with 4 GPUs:
export NGPUS=4
python -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50
# for example, evaluate fcn32_vgg16_pascal_voc
python eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc
# for example, evaluate fcn32_vgg16_pascal_voc with 4 GPUs:
export NGPUS=4
python -m torch.distributed.launch --nproc_per_node=$NGPUS eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc
cd ./scripts
#for new users:
python demo.py --model fcn32s_vgg16_voc --input-pic ../tests/test_img.jpg
#you should add 'test.jpg' by yourself
python demo.py --model fcn32s_vgg16_voc --input-pic ../datasets/test.jpg
.{SEG_ROOT}
├── scripts
│ ├── demo.py
│ ├── eval.py
│ └── train.py
DETAILS for model & backbone.
.{SEG_ROOT}
├── core
│ ├── models
│ │ ├── bisenet.py
│ │ ├── danet.py
│ │ ├── deeplabv3.py
│ │ ├── deeplabv3+.py
│ │ ├── denseaspp.py
│ │ ├── dunet.py
│ │ ├── encnet.py
│ │ ├── fcn.py
│ │ ├── pspnet.py
│ │ ├── icnet.py
│ │ ├── enet.py
│ │ ├── ocnet.py
│ │ ├── psanet.py
│ │ ├── cgnet.py
│ │ ├── espnet.py
│ │ ├── lednet.py
│ │ ├── dfanet.py
│ │ ├── ......
You can run script to download dataset, such as:
cd ./core/data/downloader
python ade20k.py --download-dir ../datasets/ade
Dataset | training set | validation set | testing set |
---|---|---|---|
VOC2012 | 1464 | 1449 | ✘ |
VOCAug | 11355 | 2857 | ✘ |
ADK20K | 20210 | 2000 | ✘ |
Cityscapes | 2975 | 500 | ✘ |
COCO | |||
SBU-shadow | 4085 | 638 | ✘ |
LIP(Look into Person) | 30462 | 10000 | 10000 |
.{SEG_ROOT}
├── core
│ ├── data
│ │ ├── dataloader
│ │ │ ├── ade.py
│ │ │ ├── cityscapes.py
│ │ │ ├── mscoco.py
│ │ │ ├── pascal_aug.py
│ │ │ ├── pascal_voc.py
│ │ │ ├── sbu_shadow.py
│ │ └── downloader
│ │ ├── ade20k.py
│ │ ├── cityscapes.py
│ │ ├── mscoco.py
│ │ ├── pascal_voc.py
│ │ └── sbu_shadow.py
Methods | Backbone | TrainSet | EvalSet | crops_size | epochs | JPU | Mean IoU | pixAcc |
---|---|---|---|---|---|---|---|---|
FCN32s | vgg16 | train | val | 480 | 60 | ✘ | 47.50 | 85.39 |
FCN16s | vgg16 | train | val | 480 | 60 | ✘ | 49.16 | 85.98 |
FCN8s | vgg16 | train | val | 480 | 60 | ✘ | 48.87 | 85.02 |
FCN32s | resnet50 | train | val | 480 | 50 | ✘ | 54.60 | 88.57 |
PSPNet | resnet50 | train | val | 480 | 60 | ✘ | 63.44 | 89.78 |
DeepLabv3 | resnet50 | train | val | 480 | 60 | ✘ | 60.15 | 88.36 |
Note: lr=1e-4, batch_size=4, epochs=80
.
See TEST for details.
.{SEG_ROOT}
├── tests
│ └── test_model.py