All Projects → YonghaoXu → Seanet

YonghaoXu / Seanet

Licence: mit
Self-Ensembling Attention Networks: Addressing Domain Shift for Semantic Segmentation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Seanet

Dise Domain Invariant Structure Extraction
Pytorch Implementation -- All about Structure: Adapting Structural Information across Domains for Boosting Semantic Segmentation, CVPR 2019
Stars: ✭ 129 (+43.33%)
Mutual labels:  semantic-segmentation, domain-adaptation
Seg Uncertainty
IJCAI2020 & IJCV 2020 🌇 Unsupervised Scene Adaptation with Memory Regularization in vivo
Stars: ✭ 202 (+124.44%)
Mutual labels:  semantic-segmentation, domain-adaptation
Lsd Seg
Learning from Synthetic Data: Addressing Domain Shift for Semantic Segmentation
Stars: ✭ 99 (+10%)
Mutual labels:  semantic-segmentation, domain-adaptation
Intrada
Unsupervised Intra-domain Adaptation for Semantic Segmentation through Self-Supervision (CVPR 2020 Oral)
Stars: ✭ 211 (+134.44%)
Mutual labels:  semantic-segmentation, domain-adaptation
IAST-ECCV2020
IAST: Instance Adaptive Self-training for Unsupervised Domain Adaptation (ECCV 2020) https://teacher.bupt.edu.cn/zhuchuang/en/index.htm
Stars: ✭ 84 (-6.67%)
Mutual labels:  semantic-segmentation, domain-adaptation
LoveDA
[NeurIPS2021 Poster] LoveDA: A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation
Stars: ✭ 111 (+23.33%)
Mutual labels:  semantic-segmentation, domain-adaptation
Cbst
Code for <Domain Adaptation for Semantic Segmentation via Class-Balanced Self-Training> in ECCV18
Stars: ✭ 146 (+62.22%)
Mutual labels:  semantic-segmentation, domain-adaptation
Clan
( CVPR2019 Oral ) Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation
Stars: ✭ 248 (+175.56%)
Mutual labels:  semantic-segmentation, domain-adaptation
multichannel-semseg-with-uda
Multichannel Semantic Segmentation with Unsupervised Domain Adaptation
Stars: ✭ 19 (-78.89%)
Mutual labels:  semantic-segmentation, domain-adaptation
AdaptationSeg
Curriculum Domain Adaptation for Semantic Segmentation of Urban Scenes, ICCV 2017
Stars: ✭ 128 (+42.22%)
Mutual labels:  semantic-segmentation, domain-adaptation
Adaptsegnet
Learning to Adapt Structured Output Space for Semantic Segmentation, CVPR 2018 (spotlight)
Stars: ✭ 654 (+626.67%)
Mutual labels:  semantic-segmentation, domain-adaptation
Spacenet building detection
Project to train/test convolutional neural networks to extract buildings from SpaceNet satellite imageries.
Stars: ✭ 83 (-7.78%)
Mutual labels:  semantic-segmentation
Elektronn3
A PyTorch-based library for working with 3D and 2D convolutional neural networks, with focus on semantic segmentation of volumetric biomedical image data
Stars: ✭ 78 (-13.33%)
Mutual labels:  semantic-segmentation
Chainer Pspnet
PSPNet in Chainer
Stars: ✭ 76 (-15.56%)
Mutual labels:  semantic-segmentation
Tensorflow Deeplab Resnet
DeepLab-ResNet rebuilt in TensorFlow
Stars: ✭ 1,198 (+1231.11%)
Mutual labels:  semantic-segmentation
2020 Cbms Doubleu Net
DoubleU-Net for Semantic Image Segmentation in TensorFlow Keras
Stars: ✭ 86 (-4.44%)
Mutual labels:  semantic-segmentation
Ddc Transfer Learning
A simple implementation of Deep Domain Confusion: Maximizing for Domain Invariance
Stars: ✭ 83 (-7.78%)
Mutual labels:  domain-adaptation
Tools To Design Or Visualize Architecture Of Neural Network
Tools to Design or Visualize Architecture of Neural Network
Stars: ✭ 1,143 (+1170%)
Mutual labels:  semantic-segmentation
Pytorch Semantic Segmentation
segmentation repo using pytorch
Stars: ✭ 75 (-16.67%)
Mutual labels:  semantic-segmentation
Dcm Net
This work is based on our paper "DualConvMesh-Net: Joint Geodesic and Euclidean Convolutions on 3D Meshes", which appeared at the IEEE Conference On Computer Vision And Pattern Recognition (CVPR) 2020.
Stars: ✭ 75 (-16.67%)
Mutual labels:  semantic-segmentation

Self-Ensembling Attention Networks: Addressing Domain Shift for Semantic Segmentation

Pytorch implementation of our method for domain adaptation in semantic segmentation task.

Paper

Self-Ensembling Attention Networks: Addressing Domain Shift for Semantic Segmentation

Please cite our paper if you find it useful for your research.

@inproceedings{SEAN,
  title={Self-Ensembling Attention Networks: Addressing Domain Shift for Semantic Segmentation},
  author={Xu, Yonghao and Du, Bo and Zhang, Lefei and Zhang, Qian and Wang, Guoli and Zhang, Liangpei},
  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
  volume={33},
  pages={5581--5588},
  year={2019}
}

Installation

git clone https://github.com/YonghaoXu/SEANet

Dataset

Pretrained Model

Training

  • Training for GTA-5 to Cityscapes.
    • Change the default path of --data_dir_source in SEAN_GTA5.py with your GTA-5 dataset folder.
    • Change the default path of --data_dir_target in SEAN_GTA5.py with your Cityscapes dataset folder.
    • Change the default path of --restore_from in SEAN_GTA5.py with your pretrained VGG model path.
    • Refer to dataset/gta5_dataset.py and dataset/cityscapes_dataset.py for further guidance about how the images and ground-truth files are organized.
python SEAN_GTA5.py
  • Training for Synthia to Cityscapes.
    • Change the default path of --data_dir_source in SEAN_Synthia.py with your Synthia dataset folder.
    • Change the default path of --data_dir_target in SEAN_Synthia.py with your Cityscapes dataset folder.
    • Change the default path of --restore_from in SEAN_Synthia.py with your pretrained VGG model path.
    • Refer to dataset/synthia_dataset.py and dataset/cityscapes16_dataset.py for further guidance about how the images and ground-truth files are organized.
python SEAN_Synthia.py

Evaluation

  • Test for GTA-5 to Cityscapes.
    • Change the default path of --data_dir in evaluation.py with your Cityscapes dataset folder.
    • Change the default path of --restore_from in evaluation.py with your trained model path. You can also download our GTA-5 to Cityscapes model for a look.
python evaluation.py
  • Test for Synthia to Cityscapes.
    • For evaluation on Synthia to Cityscapes case, please replace the test_mIoU function in evaluation.py with the test_mIoU16 function. Since there are only 16 categories in common in this case, the code for writing the segmentation maps parts needs to be further modified. If you want to share your implementation for this issue, please pull a request.

Empirical Observations

  • Following the previous research setting in this task, we check the mIoU value on the target domain after every 500 iterations. A lower frequency for the checking would accelerate the network training, but may also miss the best performance.
  • A large --attention_threshold would be detrimental to the performance of the framework. Empirically, 0 to 0.3 is a suitable range for this parameter.
  • Best performance is usually obtained within 6 epochs. For the GTA-5 to Cityscapes case, the mIoU can reach about 34% to 35%. For the Synthia to Cityscapes case, the mIoU can reach about 36% to 37%.

Multi-GPU Training

  • This repo is tested with a batch size of 1 using a single GPU. For a larger batch size with multi-GPU training, the code may need to be modified. If you want to share your implementation for this issue, please pull a request.
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].