DISE-Domain-Invariant-Structure-Extraction
Pytorch Implementation of the paper All about Structure: Adapting Structural Information across Domains for Boosting Semantic Segmentation, CVPR 2019.
Introduction video | Paper (ArXiv) | Project Page |
---|
Paper
All about Structure: Adapting Structural Information across Domains for Boosting Semantic Segmentation
Wei-Lun Chang*, Hui-Po Wang*, Wen-Hsiao Peng, Wei-Chen Chiu (*contribute equally)
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.
@inproceedings{chang2019all,
title={All about Structure: Adapting Structural Information across Domains for Boosting Semantic Segmentation},
author={Chang, Wei-Lun and Wang, Hui-Po and Peng, Wen-Hsiao and Chiu, Wei-Chen},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2019}
}
Example Results
Quantitative Results
Prerequisite
- Pytorch 0.3.1
- Nvidia GPU with at least 16 GB memory
Installation
git clone https://github.com/a514514772/DISE-Domain-Invariant-Structure-Extraction.git
Datasets
- Download the GTA5 Dataset as the source domain and unzip it to
/data
- Download the Cityscapes Dataset as the target domain and unzip it to
/data
The structure of /data
may look like this:
├── data
├── Cityscapes
│ ├── gtFine
│ └── leftImg8bit
├── GTA5
├── images
└── labels
Usage
Pretrained Weights
Example Training Script: GTA5 to Cityscapes
python train_dise_gta2city.py --gta5_data_path /data/GTA5 --city_data_path /data/Cityscapes
Example Testing Script:
Note that, to test performance on the testing set, we provide scripts to generate 1024x2048 outputs which are compatible with the testing server.
python evaluate.py ./weights --city_data_path /data/Cityscapes
More options
python train_dise_gta2city.py -h
usage: train_dise_gta2city.py [-h] [--dump_logs DUMP_LOGS] [--log_dir LOG_DIR] [--gen_img_dir GEN_IMG_DIR]
[--gta5_data_path GTA5_DATA_PATH] [--city_data_path CITY_DATA_PATH]
[--data_list_path_gta5 DATA_LIST_PATH_GTA5]
[--data_list_path_city_img DATA_LIST_PATH_CITY_IMG]
[--data_list_path_city_lbl DATA_LIST_PATH_CITY_LBL]
[--data_list_path_val_img DATA_LIST_PATH_VAL_IMG]
[--data_list_path_val_lbl DATA_LIST_PATH_VAL_LBL]
[--cuda_device_id CUDA_DEVICE_ID [CUDA_DEVICE_ID ...]]
Domain Invariant Structure Extraction (DISE) for unsupervised domain adaptation for semantic segmentation
Acknowledgement
We implement this project heavily based on AdaptSeg proposed by Tsai et el..