ランキングに戻る

xiaoyufenfei/Efficient-Segmentation-Networks

Python

Lightweight models for real-time semantic segmentationon PyTorch (include SQNet, LinkNet, SegNet, UNet, ENet, ERFNet, EDANet, ESPNet, ESPNetv2, LEDNet, ESNet, FSSNet, CGNet, DABNet, Fast-SCNN, ContextNet, FPENet, etc.)

pytorchreal-time-semantic-segmentationcamvidcityscapescomputer-visionscene-understandingsegmentationefficient-segmentation-networkssemantic-segmentation-modelsimage-segmentationneural-networkslightweight-semantic-segmentation
スター成長
スター
1k
フォーク
167
週間成長
Issue
18
5001k
2019年10月2022年1月2024年4月2026年7月
成果物PyPIpip install efficient-segmentation-networks
README

Efficient-Segmentation-Networks

python-image pytorch-image

This project aims at providing an easy-to-use, modifiable reference implementation for real-time semantic segmentation models using PyTorch.

---

Table of Contents:

Requirements

PyTorch and Torchvision needs to be installed before running the scripts, PyTorch v1.1 or later is supported.

pip3 install -r requirements.txt

Models

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]
  • ...

Losses

The project supports these loss functions:

  1. Weighted Cross Entropy
  2. Weighted Cross Entropy with Label Smooth
  3. Focal Loss
  4. Ohem Cross Entropy
  5. LovaszSoftmax
  6. SegLoss-List
  7. ...

Optimizers

The project supports these optimizers:

  1. SGD
  2. Adam
  3. AdamW
  4. RAdam
  5. RAdam + Lookahead
  6. ...

Activations

  1. ReLu
  2. PReLU
  3. ReLU6
  4. Swish
  5. Mish : A Self Regularized Non-Monotonic Neural Activation Function
  6. ...

Learning Rate Scheduler

The project supports these LR_Schedulers:

  1. Poly decay
  2. Warmup Poly
  3. ...

Normalization methods

  1. In-Place Activated BatchNorm
  2. Switchable Normalization
  3. Weight Standardization
  4. ...

Enhancing Semantic Feature Learning Method

  1. Attention Family
  2. NAS Family
  3. ...

Some useful Tools

  1. pytorch-OpCounter
  2. flops-counter.pytorch
  3. Netron : Visualizer for neural network models, On line URL: Netron
  4. Falshtorch: Visualization toolkit for neural networks in PyTorch !
  5. Bag of Tricks for Image Classification with Convolutional Neural Networks
  6. ...

Dataset-Setting

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
|  |  |-- ...

Usage

Clone this Repo

git clone https://github.com/xiaoyufenfei/Efficient-Segmentation-Networks
cd Efficient-Segmentation-Networks

Currently, the code supports Python 3

Torch dependencies:

  • PyTorch (>=1.1.0)
  • torchvision(>=0.3.0)

Data dependencies:

Download Cityscapes and run the script createTrainIdLabelImgs.py to create annotations based on the training labels. Make sure that the folder is named cityscapes

Training
  • For Cityscapes / CamVid
  1. training on train set
python train.py  --help
  1. training on train+val set
python train.py --help
Testing
  • For Cityscapes / CamVid
python test.py --help
Predicting
  • For Cityscapes
python predict.py --help
Evaluating
  • For Cityscapes
cd tools
python trainID2labelID.py 

Contact

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

Refer to this Rep

You are encouraged to cite the following papers if this work helps your research.

@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}
}

License

This project is released under the MIT License. See LICENSE for additional details.

関連リポジトリ
AUTOMATIC1111/stable-diffusion-webui

Stable Diffusion web UI

PythonPyPIGNU Affero General Public License v3.0deep-learningdiffusion
164.3k30.4k
huggingface/transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

PythonPyPIApache License 2.0nlpnatural-language-processing
huggingface.co/transformers
162.8k34k
Comfy-Org/ComfyUI

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

PythonPyPIGNU General Public License v3.0stable-diffusionpytorch
comfy.org
121.7k14.3k
rasbt/LLMs-from-scratch

Implement a ChatGPT-like LLM in PyTorch from scratch, step by step

Jupyter NotebookOthergptlarge-language-models
amzn.to/4fqvn0D
99.5k15.3k
vllm-project/vllm

A high-throughput and memory-efficient inference and serving engine for LLMs

PythonPyPIApache License 2.0gptllm
vllm.ai
86.8k19.7k
comfyanonymous/ComfyUI

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

PythonPyPIGNU General Public License v3.0stable-diffusionpytorch
comfy.org
70.2k7.6k
labmlai/annotated_deep_learning_paper_implementations

🧑‍🏫 60+ Implementations/tutorials of deep learning papers with side-by-side notes 📝; including transformers (original, xl, switch, feedback, vit, ...), optimizers (adam, adabelief, sophia, ...), gans(cyclegan, stylegan2, ...), 🎮 reinforcement learning (ppo, dqn), capsnet, distillation, ... 🧠

PythonPyPIMIT Licensedeep-learningdeep-learning-tutorial
nn.labml.ai
67.2k6.7k
keras-team/keras

Deep Learning for humans

PythonPyPIApache License 2.0deep-learningtensorflow
keras.io
64.2k19.7k
CorentinJ/Real-Time-Voice-Cloning

Clone a voice in 5 seconds to generate arbitrary speech in real-time

PythonPyPIOtherdeep-learningpytorch
60k9.4k
ultralytics/ultralytics

Ultralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking

PythonPyPIGNU Affero General Public License v3.0ultralyticsyolov8
platform.ultralytics.com
59.7k11.4k
ultralytics/yolov5

Ultralytics YOLOv5 in PyTorch for object detection, instance segmentation, classification, training, and export.

PythonPyPIGNU Affero General Public License v3.0yolov5object-detection
docs.ultralytics.com/yolov5/
57.7k17.5k
GokuMohandas/Made-With-ML

Learn how to develop, deploy and iterate on production-grade ML applications.

Jupyter NotebookMIT Licensemachine-learningdeep-learning
madewithml.com
48.8k7.7k