This project aims at providing an easy-to-use, modifiable reference implementation for real-time semantic segmentation models using PyTorch.
---PyTorch and Torchvision needs to be installed before running the scripts, PyTorch v1.1 or later is supported.
pip3 install -r requirements.txt
The project supports these semantic segmentation models as follows:
- (SQNet) Speeding up Semantic Segmentation for Autonomous Driving [Paper]
- (LinkNet) Exploiting Encoder Representations for Efficient Semantic Segmentation [Paper]
- (SegNet) A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation [Paper]
- (UNet) Convolutional Networks for Biomedical Image Segmentation [Paper]
- (ENet) A Deep Neural Network Architecture for Real-Time Semantic Segmentation [Paper]
- (ERFNet) Efficient ConvNet for Real-time Semantic Segmentation [Paper]
- (EDANet) Efficient Dense Modules of Asymmetric Convolution for Real-Time Segmentation [Paper]
- (ESPNet) Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation [Paper]
- (ESPNetv2) A Light-weight, Power Efficient, and General Purpose ConvNet [Paper]
- (LEDNet) A Lightweight Encoder-Decoder Network for Real-Time Semantic Segmentation [Paper]
- (FSSNet) Fast Semantic Segmentation for Scene Perception [Paper]
- (ESNet) An Efficient Symmetric Network for Real-time Semantic Segmentation [Paper]
- (CGNet) A Light-weight Context Guided Network for Semantic Segmentation [Paper]
- (Fast-SCNN) Fast Semantic Segmentation Network [Paper]
- (DABNet) Depth-wise Asymmetric Bottleneck for Real-time Semantic Segmentation [Paper]
- (ContextNet) Exploring Context and Detail for Semantic Segmentation in Real-time [Paper]
- (FPENet) Feature Pyramid Encoding Network for Real-time Semantic Segmentation [Paper]
- ...
The project supports these loss functions:
- Weighted Cross Entropy
- Weighted Cross Entropy with Label Smooth
- Focal Loss
- Ohem Cross Entropy
- LovaszSoftmax
- ...
The project supports these optimizers:
- SGD
- Adam
- AdamW
- RAdam
- RAdam + Lookahead
- ...
- ReLu
- PReLU
- ReLU6
- Swish
- Mish : A Self Regularized Non-Monotonic Neural Activation Function
- ...
The project supports these LR_Schedulers:
- Poly decay
- Warm up
- ...
- pytorch-OpCounter
- flops-counter.pytorch
- Netron : Visualizer for neural network models, On line URL: Netron
- ...
This project has been tailored to suit the Cityscapes and Camvid datasets. The folds of your dataset need satisfy the following structures:
|-- dataset
| |-- camvid
| | |-- train
| | |-- trainannot
| | |-- val
| | |-- valannot
| | |-- test
| | |-- testannot
| | |-- ...
| |-- cityscapes
| | |-- leftImg8bit
| | | |-- train
| | | |-- val
| | | |-- test
| | |-- gtFine
| | | |-- train
| | | |-- val
| | | |-- test
| | |-- ...
git clone https://github.com/xiaoyufenfei/Efficient-Segmentation-Networks
cd Efficient-Segmentation-Networks
Currently, the code supports Python 3
- PyTorch (>=1.1.0)
- torchvision(>=0.3.0)
If you think this work useful, please give me a star! And if you find any errors or have any suggestions, please contact me.
GitHub: xiaoyufenfei
Email: wangy314159@163.com
@misc{Efficient-Segmentation-Networks,
author = {Yu Wang},
title = {Efficient-Segmentation-Networks Pytorch Implementation},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/xiaoyufenfei/Efficient-Segmentation-Networks}},
commit = {master}
}