Home

Awesome

Confidence Regularized Self-Training (ICCV19, Oral)

By Yang Zou*, Zhiding Yu*, Xiaofeng Liu, Vijayakumar Bhagavatula, Jinsong Wang (* indicates equal contribution).

[Paper] [Slides] [Poster]

Update

2019-10-10: CBST/CRST pytorch code for semantic segmentation released

Contents

  1. Introduction
  2. Citation and license
  3. Requirements
  4. Results
  5. Setup
  6. Usage
  7. Note

Introduction

This repository contains the regularized self-training based methods described in the ICCV 2019 paper "Confidence Regularized Self-training". Both Class-Balanced Self-Training (CBST) and Confidence Regularized Self-Training (CRST) are implemented.

Citation and license

If you use this code, please cite:

@InProceedings{Zou_2019_ICCV,
author = {Zou, Yang and Yu, Zhiding and Liu, Xiaofeng and Kumar, B.V.K. Vijaya and Wang, Jinsong},
title = {Confidence Regularized Self-Training},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {October},
year = {2019}
}

@inproceedings{zou2018unsupervised,
  title={Unsupervised Domain Adaptation for Semantic Segmentation via Class-Balanced Self-Training},
  author={Zou, Yang and Yu, Zhiding and Kumar, BVK Vijaya and Wang, Jinsong},
  booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},
  pages={289--305},
  year={2018}
}

The model and code are available for non-commercial (NC) research purposes only. If you modify the code and want to redistribute, please include the CC-BY-NC-SA-4.0 license.

Requirements:

The code is implemented based on Pytorch 0.4.0 with CUDA 9.0, OpenCV 3.2.0 and Python 2.7.12. It is tested in Ubuntu 16.04 with a single 12GB NVIDIA TiTan Xp. Maximum GPU usage is about 11GB.

Results:

  1. GTA2city:

    CasemIoURoadSidewalkBuildWallFencePoleTraffic LightTraffic SignVeg.TerrainSkyPersonRiderCarTruckBusTrainMotorBike
    Source33.3571.7118.5368.0217.3710.1536.6327.636.2778.6621.8067.6958.2820.7259.2616.4312.457.9321.2112.96
    CBST46.4789.9153.8479.7330.2919.2140.2332.2822.2684.1129.9675.5261.9328.5482.5725.8933.7619.2933.6240.00
    CRST-LRENT46.5189.9853.8679.8130.2719.1540.3032.2222.2484.0929.8175.4562.0928.6682.7626.0233.6119.4233.6940.34
    CRST-MRKLD47.3991.3055.6480.0430.2218.8539.2735.9627.0984.5231.8174.5562.5927.9082.4323.8131.1025.3632.6045.43

Setup

We assume you are working in CRST-master folder.

  1. Datasets:
  1. Source pretrained models:

Usage

  1. To run the self-training, you need to set the data paths of source data (data-src-dir) and target data (data-tgt-dir) by yourself. Besides that, you can keep other argument setting as default.

  2. Play with self-training for GTA2Cityscapes.

sh cbst.sh
sh mrkld.sh
sh lrent.sh
  1. Evaluation
sh evaluate.sh
  1. Train in source domain. Also remember to set the data folder (--data-dir).
sh train.sh

Note

Related Works

Contact: yzou2@andrew.cmu.edu