All Projects → jaxony → Unet Pytorch

jaxony / Unet Pytorch

Licence: mit
U-Net implementation for PyTorch based on https://arxiv.org/abs/1505.04597

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Unet Pytorch

Pixelnet
The repository contains source code and models to use PixelNet architecture used for various pixel-level tasks. More details can be accessed at <http://www.cs.cmu.edu/~aayushb/pixelNet/>.
Stars: ✭ 194 (-15.28%)
Mutual labels:  semantic-segmentation
Computervisiondatasets
Stars: ✭ 207 (-9.61%)
Mutual labels:  semantic-segmentation
Smoothly Blend Image Patches
Using a U-Net for image segmentation, blending predicted patches smoothly is a must to please the human eye.
Stars: ✭ 218 (-4.8%)
Mutual labels:  semantic-segmentation
Fastseg
📸 PyTorch implementation of MobileNetV3 for real-time semantic segmentation, with pretrained weights & state-of-the-art performance
Stars: ✭ 202 (-11.79%)
Mutual labels:  semantic-segmentation
Dsrg
Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing (CVPR 2018).
Stars: ✭ 206 (-10.04%)
Mutual labels:  semantic-segmentation
Fcn
Chainer Implementation of Fully Convolutional Networks. (Training code to reproduce the original result is available.)
Stars: ✭ 211 (-7.86%)
Mutual labels:  semantic-segmentation
Cgnet
CGNet: A Light-weight Context Guided Network for Semantic Segmentation [IEEE Transactions on Image Processing 2020]
Stars: ✭ 186 (-18.78%)
Mutual labels:  semantic-segmentation
Deep Learning In Production
Develop production ready deep learning code, deploy it and scale it
Stars: ✭ 216 (-5.68%)
Mutual labels:  semantic-segmentation
Cagnet Zero Shot Semantic Segmentation
Code for our ACMMM2020 paper "Context-aware Feature Generation for Zero-shot Semantic Segmentation".
Stars: ✭ 208 (-9.17%)
Mutual labels:  semantic-segmentation
Tensorflow Deeplab Lfov
DeepLab-LargeFOV implemented in tensorflow
Stars: ✭ 218 (-4.8%)
Mutual labels:  semantic-segmentation
Seg Uncertainty
IJCAI2020 & IJCV 2020 🌇 Unsupervised Scene Adaptation with Memory Regularization in vivo
Stars: ✭ 202 (-11.79%)
Mutual labels:  semantic-segmentation
Semantic Segmentation Suite
Semantic Segmentation Suite in TensorFlow. Implement, train, and test new Semantic Segmentation models easily!
Stars: ✭ 2,395 (+945.85%)
Mutual labels:  semantic-segmentation
Deeplabv3.pytorch
PyTorch implementation of DeepLabv3
Stars: ✭ 211 (-7.86%)
Mutual labels:  semantic-segmentation
Keras Unet
Helper package with multiple U-Net implementations in Keras as well as useful utility tools helpful when working with image semantic segmentation tasks. This library and underlying tools come from multiple projects I performed working on semantic segmentation tasks
Stars: ✭ 196 (-14.41%)
Mutual labels:  semantic-segmentation
Nncf
PyTorch*-based Neural Network Compression Framework for enhanced OpenVINO™ inference
Stars: ✭ 218 (-4.8%)
Mutual labels:  semantic-segmentation
Sarosperceptionkitti
ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite
Stars: ✭ 193 (-15.72%)
Mutual labels:  semantic-segmentation
Intrada
Unsupervised Intra-domain Adaptation for Semantic Segmentation through Self-Supervision (CVPR 2020 Oral)
Stars: ✭ 211 (-7.86%)
Mutual labels:  semantic-segmentation
Asis
Associatively Segmenting Instances and Semantics in Point Clouds, CVPR 2019
Stars: ✭ 228 (-0.44%)
Mutual labels:  semantic-segmentation
Cylinder3d
Rank 1st in the leaderboard of SemanticKITTI semantic segmentation (both single-scan and multi-scan) (Nov. 2020) (CVPR2021 Oral)
Stars: ✭ 221 (-3.49%)
Mutual labels:  semantic-segmentation
Lightnetplusplus
LightNet++: Boosted Light-weighted Networks for Real-time Semantic Segmentation
Stars: ✭ 218 (-4.8%)
Mutual labels:  semantic-segmentation

U-Net implementation in PyTorch

The U-Net is an encoder-decoder neural network used for semantic segmentation. The implementation in this repository is a modified version of the U-Net proposed in this paper.

U-Net Architecture

Features

  1. You can alter the U-Net's depth. The original U-Net uses a depth of 5, as depicted in the diagram above. The word "depth" specifically refers to the number of different spatially-sized convolutional outputs. With this U-Net implementation, you can easily vary the depth.

  2. You can merge decoder and encoder pathways in two ways. In the original U-Net, the decoder and encoder activations are merged by concatenating channels. I've implemented a ResNet-style merging of the decoder and encoder activations by adding these activations. This was easy to code up, but it may not make sense theoretically and has not been tested.

Pixel-wise loss for semantic segmentation

I had some trouble getting the pixel-wise loss working correctly for a semantic segmentation task. Here's how I got it working in the end.

from model import UNet

model = UNet()

# set up dataloaders, etc.

output = model(some_input_data)

# permute is like np.transpose: (N, C, H, W) => (H, W, N, C)
# contiguous is required because of this issue: https://github.com/pytorch/pytorch/issues/764
# view: reshapes the output tensor so that we have (H * W * N, num_class)
# NOTE: num_class == C (number of output channels)
output = output.permute(2, 3, 0, 1).contiguous().view(-1, num_classes)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].