forked from mindspore-Ecosystem/mindspore
Add DDM
This commit is contained in:
parent
4b242fb202
commit
b4043d225e
|
@ -0,0 +1,140 @@
|
||||||
|
# Semi-Supervised Domain Adaptation based on Dual-level Domain Mixing for Semantic Segmentation (DDM)
|
||||||
|
|
||||||
|
This repository is an official implementation of the paper "Semi-Supervised Domain Adaptation based on Dual-level Domain Mixing for Semantic Segmentation" from CVPR 2021.
|
||||||
|
|
||||||
|
Data-driven based approaches, in spite of great success in many tasks, have poor generalization when applied to unseen image domains, and require expensive cost of annotation especially for dense pixel prediction tasks such as semantic segmentation. We focus on a more practical setting of semi-supervised domain adaptation (SSDA) where both a small set of labeled target data and large amounts of labeled source data are available. We propose a novel framework based on dual-level domain mixing, named DDM, to address the task of SSDA. The proposed framework consists of three stages. First, two kinds of data mixing methods are proposed to reduce domain gap in both region-level and sample-level respectively. We can obtain two complementary domain-mixed teachers based on dual-level mixed data from holistic and partial views respectively. Then, a student model is learned by distilling knowledge from these two teachers. Finally, pseudo labels of unlabeled data are generated in a self-training manner for another few rounds of teachers training. Extensive experimental results have demonstrated the effectiveness of our proposed framework on synthetic-to-real semantic segmentation benchmarks.
|
||||||
|
|
||||||
|
If you find our work useful in your research or publication, please cite our work:
|
||||||
|
[1] Shuaijun Chen, Xu Jia, Jianzhong He, Yongjie Shi and Jianzhuang Liu. **"Semi-supervised Domain Adaptation based on Dual-level Domain Mixing for Semantic Segmentation"**. **CVPR 2021**. [[arXiv](https://arxiv.org/pdf/2103.04705.pdf)]
|
||||||
|
|
||||||
|
@inproceedings{chen2021semi,
|
||||||
|
title={Semi-supervised Domain Adaptation based on Dual-level Domain Mixing for Semantic Segmentation},
|
||||||
|
author={Chen, Shuaijun and Jia, Xu and He, Jianzhong and Shi, Yongjie and Liu, Jianzhuang},
|
||||||
|
booktitle={CVPR},
|
||||||
|
year={2021}
|
||||||
|
}
|
||||||
|
|
||||||
|
## Model architecture
|
||||||
|
|
||||||
|
### The overall network architecture and algorithm pseudo code of DDM is shown as below
|
||||||
|
|
||||||
|
![architecture](./images/DDM_arch.png)
|
||||||
|
|
||||||
|
![pseudo code](./images/DDM_pseudo.png)
|
||||||
|
|
||||||
|
## Dataset
|
||||||
|
|
||||||
|
The benchmark datasets can be downloaded as follows:
|
||||||
|
|
||||||
|
The real dataset:
|
||||||
|
|
||||||
|
[Cityscapes](https://www.cityscapes-dataset.com/),
|
||||||
|
|
||||||
|
The synthetic dataset:
|
||||||
|
|
||||||
|
[GTA5](https://download.visinf.tu-darmstadt.de/data/from_games/).
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
### Hardware (Ascend)
|
||||||
|
|
||||||
|
> Prepare hardware environment with Ascend.
|
||||||
|
|
||||||
|
### Framework
|
||||||
|
|
||||||
|
> [MindSpore](https://www.mindspore.cn/install/en)
|
||||||
|
|
||||||
|
### For more information, please check the resources below
|
||||||
|
|
||||||
|
[MindSpore Tutorials](https://www.mindspore.cn/tutorial/training/en/master/index.html)
|
||||||
|
[MindSpore Python API](https://www.mindspore.cn/doc/api_python/en/master/index.html)
|
||||||
|
|
||||||
|
## Script Description
|
||||||
|
|
||||||
|
> This is the inference script of our framework, you can following steps to finish the test of different settings of DDM via the corresponding pretrained models.
|
||||||
|
|
||||||
|
### Scripts and Sample Code
|
||||||
|
|
||||||
|
```bash
|
||||||
|
DDM/
|
||||||
|
├── config.py # Hyper-parameters
|
||||||
|
├── dataset # Dataloader folder
|
||||||
|
│ ├── base_dataset.py # basic dataset setting
|
||||||
|
│ ├── cityscapes_list # folder contains image list and class information
|
||||||
|
│ │ ├── info_16.json # 16 class information
|
||||||
|
│ │ ├── info.json # 19 class information
|
||||||
|
│ │ ├── label.txt # the label list of val dataset
|
||||||
|
│ │ ├── train_round0.txt # train images for round0
|
||||||
|
│ │ ├── train.txt # train images
|
||||||
|
│ │ └── val.txt # val image list of val dataset
|
||||||
|
│ ├── cityscapes.py # dataloader of cityscapes
|
||||||
|
│ └── __init__.py # data init
|
||||||
|
├── net
|
||||||
|
│ ├── deeplabv2_mindspore.py # architecture of deeplabv2
|
||||||
|
│ └── __init__.py # net init
|
||||||
|
├── eval.py # the test script
|
||||||
|
└── utils
|
||||||
|
├── func.py # some functions
|
||||||
|
├── __init__.py # utils init
|
||||||
|
└── serialization.py # yaml and json files processing script
|
||||||
|
```
|
||||||
|
|
||||||
|
### Script Parameter
|
||||||
|
|
||||||
|
> For details about hyperparameters, see config.py.
|
||||||
|
|
||||||
|
## Training Process
|
||||||
|
|
||||||
|
### Sample-level teacher
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
To be done
|
||||||
|
```
|
||||||
|
|
||||||
|
### Region-level teacher
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
To be done
|
||||||
|
```
|
||||||
|
|
||||||
|
### Multi-teacher distillation
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
To be done
|
||||||
|
```
|
||||||
|
|
||||||
|
### Self-training
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
To be done
|
||||||
|
```
|
||||||
|
|
||||||
|
## Evaluation
|
||||||
|
|
||||||
|
### Evaluation Process
|
||||||
|
|
||||||
|
> Inference:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python eval.py --data_path [data_path] --pretrained [model_weight]
|
||||||
|
# For example: For 100 labeled target images on GTA5->Cityscapes:
|
||||||
|
python eval.py --data_path ./data/cityscapes/ --pretrained ./weights/100/best_model.ckpt
|
||||||
|
```
|
||||||
|
|
||||||
|
### Evaluation Result
|
||||||
|
|
||||||
|
The result are evaluated by the value of mIoU.
|
||||||
|
|
||||||
|
## Performance
|
||||||
|
|
||||||
|
### Inference Performance
|
||||||
|
|
||||||
|
The Results on all numbers of labeled target images on GTA5->Cityscapes are listed as below.
|
||||||
|
|
||||||
|
| Num | 100 | 200 | 500 | 1000 | 2975 |
|
||||||
|
| ----- | ----- | ----- | ----- | ----- | ----- |
|
||||||
|
| DDM | 61.15 | 60.46 | 64.25 | 66.55 | 69.77 |
|
||||||
|
|
||||||
|
## ModeZoo Homepage
|
||||||
|
|
||||||
|
Please check the official [homepage](https://gitee.com/mindspore/mindspore/tree/master/model_zoo).
|
|
@ -0,0 +1,198 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
"""Hyper-parameters."""
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
from easydict import EasyDict
|
||||||
|
from utils.serialization import yaml_load
|
||||||
|
|
||||||
|
cfg = EasyDict()
|
||||||
|
|
||||||
|
# COMMON CONFIGS
|
||||||
|
# source domain
|
||||||
|
cfg.SOURCE = 'GTA'
|
||||||
|
|
||||||
|
# target domain
|
||||||
|
cfg.TARGET = 'Cityscapes'
|
||||||
|
|
||||||
|
# Number of workers for dataloading
|
||||||
|
cfg.NUM_WORKERS = 4
|
||||||
|
|
||||||
|
# List of training images
|
||||||
|
cfg.DATA_LIST_SOURCE = str('dataset/gta5_list/{}.txt')
|
||||||
|
cfg.DATA_LIST_TARGET = str('dataset/cityscapes_list/{}.txt')
|
||||||
|
cfg.PSEUDO_LIST = str('dataset/cityscapes_list/{}.txt')
|
||||||
|
|
||||||
|
# Directories
|
||||||
|
cfg.DATA_DIRECTORY_SOURCE = str('/cache/datasets/domain_adaptation/GTAv')
|
||||||
|
cfg.DATA_DIRECTORY_TARGET = str('/cache/datasets/domain_adaptation/cityscapes')
|
||||||
|
cfg.DATA_DIRECTORY_PSEUDO = str('/cache/datasets/domain_adaptation/cityscapes')
|
||||||
|
cfg.DATA_REMOTE_DIRECTORY_SOURCE = str('chensj/datasets/domain_adaptation/GTAv')
|
||||||
|
cfg.DATA_REMOTE_DIRECTORY_TARGET = str('chensj/datasets/domain_adaptation/cityscapes')
|
||||||
|
|
||||||
|
# Number of object classes
|
||||||
|
cfg.NUM_CLASSES = 19
|
||||||
|
|
||||||
|
# Exp dirs
|
||||||
|
#cfg.EXP_NAME = ''
|
||||||
|
cfg.EXP_ROOT = './experiments/test'
|
||||||
|
cfg.EXP_REMOTE_ROOT = 'chensj/experiments/domain_adaptation/advent/experimet_8p'
|
||||||
|
|
||||||
|
#cfg.EXP_ROOT_SNAPSHOT = osp.join(cfg.EXP_ROOT, 'snapshots')
|
||||||
|
#cfg.EXP_ROOT_LOGS = osp.join(cfg.EXP_ROOT, 'logs')
|
||||||
|
# CUDA
|
||||||
|
cfg.GPU_ID = '0,1,2,3,4,5,6,7'
|
||||||
|
|
||||||
|
# TRAIN CONFIGS
|
||||||
|
cfg.TRAIN = EasyDict()
|
||||||
|
cfg.TRAIN.SET_SOURCE = 'all'
|
||||||
|
cfg.TRAIN.SET_TARGET = 'train'
|
||||||
|
cfg.TRAIN.BATCH_SIZE_SOURCE = 1
|
||||||
|
cfg.TRAIN.BATCH_SIZE_TARGET = 1
|
||||||
|
cfg.TRAIN.IGNORE_LABEL = 255
|
||||||
|
cfg.TRAIN.INPUT_SIZE_SOURCE = (1280, 720)
|
||||||
|
cfg.TRAIN.INPUT_SIZE_TARGET = (1024, 512)
|
||||||
|
|
||||||
|
# Class info
|
||||||
|
cfg.TRAIN.INFO_SOURCE = ''
|
||||||
|
cfg.TRAIN.INFO_TARGET = str('dataset/cityscapes_list/info.json')
|
||||||
|
|
||||||
|
# Segmentation network params
|
||||||
|
cfg.TRAIN.MODEL = 'DeepLabv2'
|
||||||
|
cfg.TRAIN.MULTI_LEVEL = True
|
||||||
|
cfg.TRAIN.RESTORE_FROM = ''
|
||||||
|
cfg.TRAIN.REMOTE_RESTORE_FROM = ''
|
||||||
|
cfg.TRAIN.IMG_MEAN = np.array((104.00698793, 116.66876762, 122.67891434), dtype=np.float32)
|
||||||
|
cfg.TRAIN.LEARNING_RATE = 2.5e-4
|
||||||
|
cfg.TRAIN.MOMENTUM = 0.9
|
||||||
|
cfg.TRAIN.WEIGHT_DECAY = 0.0005
|
||||||
|
cfg.TRAIN.POWER = 0.9
|
||||||
|
cfg.TRAIN.LAMBDA_SEG_MAIN = 1.0
|
||||||
|
cfg.TRAIN.LAMBDA_SEG_AUX = 0.1 # weight of conv4 prediction. Used in multi-level setting.
|
||||||
|
|
||||||
|
# BN settings
|
||||||
|
cfg.TRAIN.FREEZE_BN = False
|
||||||
|
cfg.TRAIN.FREEZE_BN_AFFINE = False
|
||||||
|
|
||||||
|
# Domain adaptation
|
||||||
|
cfg.TRAIN.DA_METHOD = 'AdvEnt'
|
||||||
|
|
||||||
|
# Adversarial training params
|
||||||
|
cfg.TRAIN.GAN_MODE = 'vanilla'
|
||||||
|
cfg.TRAIN.LEARNING_RATE_D = 1e-4
|
||||||
|
cfg.TRAIN.LAMBDA_ADV_MAIN = 0.001
|
||||||
|
cfg.TRAIN.LAMBDA_ADV_AUX = 0.0002
|
||||||
|
|
||||||
|
# MinEnt params
|
||||||
|
cfg.TRAIN.LAMBDA_ENT_MAIN = 0.001
|
||||||
|
cfg.TRAIN.LAMBDA_ENT_AUX = 0.0002
|
||||||
|
|
||||||
|
# Semi supervised learning params
|
||||||
|
cfg.TRAIN.USE_SEMI = False
|
||||||
|
cfg.TRAIN.NUM_SEMI = 100
|
||||||
|
cfg.TRAIN.DEL_XL = False
|
||||||
|
|
||||||
|
# loss weight of self KL Loss
|
||||||
|
cfg.TRAIN.self_KL = False
|
||||||
|
cfg.TRAIN.LAMBDA_SELF_KL = 1
|
||||||
|
cfg.TRAIN.Tau = 0.01
|
||||||
|
|
||||||
|
# setting for KD
|
||||||
|
cfg.TRAIN.KD = False
|
||||||
|
cfg.TRAIN.OnLine_KD = False
|
||||||
|
cfg.TRAIN.REMOTE_KD_RESTORE_FROM_2 = ''
|
||||||
|
cfg.TRAIN.KD_RESTORE_FROM_2 = ''
|
||||||
|
cfg.TRAIN.REMOTE_KD_RESTORE_FROM = ''
|
||||||
|
cfg.TRAIN.KD_RESTORE_FROM = ''
|
||||||
|
cfg.TRAIN.LAMBDA_KL = 0.5
|
||||||
|
cfg.TRAIN.KL_T = 10
|
||||||
|
|
||||||
|
# Other params
|
||||||
|
cfg.TRAIN.PRINT_FREQ = 100
|
||||||
|
cfg.TRAIN.MAX_ITERS = 250000
|
||||||
|
cfg.TRAIN.EARLY_STOP = 120000
|
||||||
|
cfg.TRAIN.SAVE_PRED_EVERY = 2000
|
||||||
|
cfg.TRAIN.SOURCE_TRANS = False
|
||||||
|
cfg.TRAIN.SNAPSHOT_DIR = ''
|
||||||
|
cfg.TRAIN.RANDOM_SEED = 1234
|
||||||
|
cfg.TRAIN.TENSORBOARD_LOGDIR = ''
|
||||||
|
cfg.TRAIN.TENSORBOARD_VIZRATE = 100
|
||||||
|
|
||||||
|
# TEST CONFIGS
|
||||||
|
cfg.TEST = EasyDict()
|
||||||
|
cfg.TEST.DATA = 'Cityscapes'
|
||||||
|
cfg.TEST.MODE = 'single' # {'single', 'best'}
|
||||||
|
|
||||||
|
# model
|
||||||
|
cfg.TEST.MODEL = ('DeepLabv2',)
|
||||||
|
cfg.TEST.MODEL_WEIGHT = (1.0,)
|
||||||
|
cfg.TEST.MULTI_LEVEL = (True,)
|
||||||
|
cfg.TEST.IMG_MEAN = np.array((104.00698793, 116.66876762, 122.67891434), dtype=np.float32)
|
||||||
|
cfg.TEST.RESTORE_FROM = ('',)
|
||||||
|
cfg.TEST.SNAPSHOT_DIR = ('',) # used in 'best' mode
|
||||||
|
cfg.TEST.SNAPSHOT_STEP = 2000 # used in 'best' mode
|
||||||
|
cfg.TEST.SNAPSHOT_MAXITER = 120000 # used in 'best' mode
|
||||||
|
|
||||||
|
# Test sets
|
||||||
|
cfg.TEST.SET = 'val'
|
||||||
|
cfg.TEST.BATCH_SIZE = 1
|
||||||
|
cfg.TEST.INPUT_SIZE = (1024, 512)
|
||||||
|
cfg.TEST.OUTPUT_SIZE = (2048, 1024)
|
||||||
|
cfg.TEST.DATA_DIRECTORY = str('/home/wangcong/hujingsong/deeplabv2/dataset/data/cityscapes')
|
||||||
|
cfg.TEST.DATA_LIST = str('dataset/cityscapes_list/{}.txt')
|
||||||
|
cfg.TEST.INFO = str('dataset/cityscapes_list/info.json')
|
||||||
|
cfg.TEST.WAIT_MODEL = True
|
||||||
|
|
||||||
|
|
||||||
|
def _merge_a_into_b(a, b):
|
||||||
|
"""Merge config dictionary a into config dictionary b, clobbering the
|
||||||
|
options in b whenever they are also specified in a.
|
||||||
|
"""
|
||||||
|
#if type(a) is not EasyDict:
|
||||||
|
if not isinstance(a, EasyDict):
|
||||||
|
return
|
||||||
|
|
||||||
|
for k, v in a.items():
|
||||||
|
# a must specify keys that are in b
|
||||||
|
# if not b.has_key(k):
|
||||||
|
if k not in b:
|
||||||
|
raise KeyError(f'{k} is not a valid config key')
|
||||||
|
|
||||||
|
# the types must match, too
|
||||||
|
old_type = type(b[k])
|
||||||
|
if old_type is not type(v):
|
||||||
|
if isinstance(b[k], np.ndarray):
|
||||||
|
v = np.array(v, dtype=b[k].dtype)
|
||||||
|
else:
|
||||||
|
raise ValueError(f'Type mismatch ({type(b[k])} vs. {type(v)}) '
|
||||||
|
f'for config key: {k}')
|
||||||
|
|
||||||
|
# recursively merge dicts
|
||||||
|
if isinstance(v, EasyDict):
|
||||||
|
try:
|
||||||
|
_merge_a_into_b(a[k], b[k])
|
||||||
|
except Exception:
|
||||||
|
print(f'Error under config key: {k}')
|
||||||
|
raise
|
||||||
|
else:
|
||||||
|
b[k] = v
|
||||||
|
|
||||||
|
|
||||||
|
def cfg_from_file(filename):
|
||||||
|
"""Load a config file and merge it into the default options.
|
||||||
|
"""
|
||||||
|
yaml_cfg = EasyDict(yaml_load(filename))
|
||||||
|
_merge_a_into_b(yaml_cfg, cfg)
|
|
@ -0,0 +1,39 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
"""Create dataset"""
|
||||||
|
|
||||||
|
from .cityscapes import CityscapesDataSet
|
||||||
|
|
||||||
|
__img_factory = {
|
||||||
|
'Cityscapes': CityscapesDataSet,
|
||||||
|
}
|
||||||
|
|
||||||
|
__vid_factory = {
|
||||||
|
'Cityscapes': CityscapesDataSet,
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_names():
|
||||||
|
return list(__img_factory.keys()) + list(__vid_factory.keys())
|
||||||
|
|
||||||
|
def init_img_dataset(name, **kwargs):
|
||||||
|
if name not in __img_factory.keys():
|
||||||
|
raise KeyError("Invalid dataset, got '{}', but expected to be one of {}".format(name, __img_factory.keys()))
|
||||||
|
return __img_factory[name](**kwargs)
|
||||||
|
|
||||||
|
def init_vid_dataset(name, **kwargs):
|
||||||
|
if name not in __vid_factory.keys():
|
||||||
|
raise KeyError("Invalid dataset, got '{}', but expected to be one of {}".format(name, __vid_factory.keys()))
|
||||||
|
return __vid_factory[name](**kwargs)
|
|
@ -0,0 +1,119 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
"""basic dataset setting."""
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
import random
|
||||||
|
import numpy as np
|
||||||
|
from PIL import Image
|
||||||
|
from skimage import color
|
||||||
|
|
||||||
|
TARGET_IMGS = None
|
||||||
|
|
||||||
|
class BaseDataset():
|
||||||
|
"""basic dataset setting"""
|
||||||
|
def __init__(self, root, list_path, set_, max_iters, image_size,
|
||||||
|
labels_size, mean, semi=False, num_semi=100, trans_img=False, del_xl=False):
|
||||||
|
self.root = Path(root)
|
||||||
|
self.set_name = set_
|
||||||
|
self.list_path = list_path.format(self.set_name)
|
||||||
|
|
||||||
|
if labels_size is None:
|
||||||
|
self.labels_size = self.image_size
|
||||||
|
else:
|
||||||
|
self.labels_size = labels_size
|
||||||
|
|
||||||
|
self.mean = mean
|
||||||
|
|
||||||
|
with open(self.list_path) as f:
|
||||||
|
self.img_ids = [i_id.strip() for i_id in f]
|
||||||
|
|
||||||
|
repeat_num, repeat_num_semi = 1, 1
|
||||||
|
self.files = []
|
||||||
|
|
||||||
|
for name in self.img_ids:
|
||||||
|
img_file, label_file = self.get_metadata(name)
|
||||||
|
self.files.append((img_file, label_file, name))
|
||||||
|
|
||||||
|
if semi:
|
||||||
|
print("Semi-supervised setting is used, the number of images " \
|
||||||
|
"for supervised training is {}".format(num_semi))
|
||||||
|
self.semi_files_sel = random.sample(self.files, num_semi)
|
||||||
|
if del_xl:
|
||||||
|
for i in self.semi_files_sel:
|
||||||
|
self.files.remove(i)
|
||||||
|
if max_iters is not None:
|
||||||
|
repeat_num_semi = int(np.ceil(float(max_iters) / num_semi))
|
||||||
|
self.semi_files = self.semi_files_sel * repeat_num_semi
|
||||||
|
else:
|
||||||
|
self.semi_files = None
|
||||||
|
|
||||||
|
if max_iters is not None:
|
||||||
|
repeat_num = int(np.ceil(float(max_iters) / len(self.files)))
|
||||||
|
|
||||||
|
self.files = self.files * repeat_num
|
||||||
|
|
||||||
|
# for trans_img setting
|
||||||
|
self.trans_img = trans_img
|
||||||
|
|
||||||
|
if trans_img:
|
||||||
|
global TARGET_IMGS
|
||||||
|
print('Get the target images list for data trans')
|
||||||
|
with open('dataset/cityscapes_list/train.txt', 'r') as f:
|
||||||
|
TARGET_IMGS = [f'{root}/../cityscapes/leftImg8bit/train/'+x.strip() for x in f]
|
||||||
|
|
||||||
|
|
||||||
|
def get_metadata(self, name):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def __len__(self):
|
||||||
|
return len(self.files)
|
||||||
|
|
||||||
|
def preprocess(self, image):
|
||||||
|
# change to BGR
|
||||||
|
image = image[:, :, ::-1]
|
||||||
|
image -= self.mean
|
||||||
|
return image.transpose((2, 0, 1))
|
||||||
|
|
||||||
|
def get_image(self, file):
|
||||||
|
return _load_img(file, self.image_size, Image.BICUBIC, rgb=True, trans_img=self.trans_img)
|
||||||
|
|
||||||
|
def get_labels(self, file):
|
||||||
|
return _load_img(file, self.labels_size, Image.NEAREST, rgb=False, trans_img=False)
|
||||||
|
|
||||||
|
|
||||||
|
def _load_img(file, size, interpolation, rgb, trans_img=False):
|
||||||
|
"""load images"""
|
||||||
|
img = Image.open(file)
|
||||||
|
|
||||||
|
if rgb:
|
||||||
|
# translate to the target style
|
||||||
|
if trans_img:
|
||||||
|
img = np.array(img)
|
||||||
|
t_img = np.array(Image.open(random.choices(TARGET_IMGS)[0]))
|
||||||
|
lab = color.rgb2lab(img)
|
||||||
|
t_lab = color.rgb2lab(t_img)
|
||||||
|
for i in range(3):
|
||||||
|
lab[:, :, i] = (lab[:, :, i] - lab[:, :, i].mean()) / lab[:, :, i].std() * t_lab[:, :, i].std()\
|
||||||
|
+ t_lab[:, :, i].mean()
|
||||||
|
img = color.lab2rgb(lab) * 255
|
||||||
|
img = np.clip(img, 0, 255)
|
||||||
|
img = Image.fromarray(img.astype(np.uint8))
|
||||||
|
# end
|
||||||
|
img = img.convert('RGB')
|
||||||
|
|
||||||
|
img = img.resize(size, interpolation)
|
||||||
|
return np.asarray(img, np.float32)
|
|
@ -0,0 +1,79 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
"""dataloader of cityscapes."""
|
||||||
|
|
||||||
|
import random
|
||||||
|
import numpy as np
|
||||||
|
from utils.serialization import json_load
|
||||||
|
from .base_dataset import BaseDataset
|
||||||
|
|
||||||
|
DEFAULT_INFO_PATH_19 = 'dataset/cityscapes_list/info.json'
|
||||||
|
DEFAULT_INFO_PATH_16 = 'dataset/cityscapes_list/info_16.json'
|
||||||
|
|
||||||
|
|
||||||
|
class CityscapesDataSet(BaseDataset):
|
||||||
|
"""dataloader of cityscapes"""
|
||||||
|
def __init__(self, root, list_path, num_classes=19, set_name="val",
|
||||||
|
max_iters=None,
|
||||||
|
crop_size=(321, 321), mean=(128, 128, 128),
|
||||||
|
load_labels=True, semi=False, num_semi=100,
|
||||||
|
info_path=DEFAULT_INFO_PATH_19, labels_size=None, trans_img=False, del_xl=False):
|
||||||
|
super().__init__(root, list_path, set_name, max_iters, crop_size, labels_size, mean, semi=semi,
|
||||||
|
num_semi=num_semi, trans_img=trans_img, del_xl=del_xl)
|
||||||
|
self.semi = semi
|
||||||
|
self.load_labels = load_labels
|
||||||
|
|
||||||
|
if num_classes == 19:
|
||||||
|
self.info = json_load(DEFAULT_INFO_PATH_19)
|
||||||
|
elif num_classes == 16:
|
||||||
|
self.info = json_load(DEFAULT_INFO_PATH_16)
|
||||||
|
|
||||||
|
self.class_names = np.array(self.info['label'], dtype=np.str)
|
||||||
|
self.mapping = np.array(self.info['label2train'], dtype=np.int)
|
||||||
|
self.map_vector = np.zeros((self.mapping.shape[0],), dtype=np.int64)
|
||||||
|
|
||||||
|
for source_label, target_label in self.mapping:
|
||||||
|
self.map_vector[source_label] = target_label
|
||||||
|
|
||||||
|
def get_metadata(self, name):
|
||||||
|
img_file = self.root / 'leftImg8bit' / self.set_name / name
|
||||||
|
label_name = name.replace("leftImg8bit", "gtFine_labelIds")
|
||||||
|
label_file = self.root / 'gtFine' / self.set_name / label_name
|
||||||
|
return img_file, label_file
|
||||||
|
|
||||||
|
def map_labels(self, input_):
|
||||||
|
return self.map_vector[input_.astype(np.int64, copy=False)]
|
||||||
|
|
||||||
|
def __getitem__(self, index):
|
||||||
|
img_file, label_file, _ = self.files[index]
|
||||||
|
label = self.get_labels(label_file)
|
||||||
|
label = self.map_labels(label).copy()
|
||||||
|
image = self.get_image(img_file)
|
||||||
|
image = self.preprocess(image)
|
||||||
|
|
||||||
|
# for semi supervised setting
|
||||||
|
if self.semi:
|
||||||
|
semi_index = random.randint(0, len(self.semi_files)-1)
|
||||||
|
semi_img_file, semi_label_file, _ = self.semi_files[semi_index]
|
||||||
|
semi_label = self.get_labels(semi_label_file)
|
||||||
|
semi_label = self.map_labels(semi_label).copy()
|
||||||
|
semi_image = self.get_image(semi_img_file)
|
||||||
|
semi_image = self.preprocess(semi_image)
|
||||||
|
semi_image = semi_image.copy()
|
||||||
|
else:
|
||||||
|
semi_image, semi_label = [], []
|
||||||
|
|
||||||
|
return image.copy(), label
|
|
@ -0,0 +1,88 @@
|
||||||
|
{
|
||||||
|
"classes":19,
|
||||||
|
"label2train":[
|
||||||
|
[0, 255],
|
||||||
|
[1, 255],
|
||||||
|
[2, 255],
|
||||||
|
[3, 255],
|
||||||
|
[4, 255],
|
||||||
|
[5, 255],
|
||||||
|
[6, 255],
|
||||||
|
[7, 0],
|
||||||
|
[8, 1],
|
||||||
|
[9, 255],
|
||||||
|
[10, 255],
|
||||||
|
[11, 2],
|
||||||
|
[12, 3],
|
||||||
|
[13, 4],
|
||||||
|
[14, 255],
|
||||||
|
[15, 255],
|
||||||
|
[16, 255],
|
||||||
|
[17, 5],
|
||||||
|
[18, 255],
|
||||||
|
[19, 6],
|
||||||
|
[20, 7],
|
||||||
|
[21, 8],
|
||||||
|
[22, 9],
|
||||||
|
[23, 10],
|
||||||
|
[24, 11],
|
||||||
|
[25, 12],
|
||||||
|
[26, 13],
|
||||||
|
[27, 14],
|
||||||
|
[28, 15],
|
||||||
|
[29, 255],
|
||||||
|
[30, 255],
|
||||||
|
[31, 16],
|
||||||
|
[32, 17],
|
||||||
|
[33, 18],
|
||||||
|
[-1, 255]],
|
||||||
|
"label":[
|
||||||
|
"road",
|
||||||
|
"sidewalk",
|
||||||
|
"building",
|
||||||
|
"wall",
|
||||||
|
"fence",
|
||||||
|
"pole",
|
||||||
|
"light",
|
||||||
|
"sign",
|
||||||
|
"vegetation",
|
||||||
|
"terrain",
|
||||||
|
"sky",
|
||||||
|
"person",
|
||||||
|
"rider",
|
||||||
|
"car",
|
||||||
|
"truck",
|
||||||
|
"bus",
|
||||||
|
"train",
|
||||||
|
"motocycle",
|
||||||
|
"bicycle"],
|
||||||
|
"palette":[
|
||||||
|
[128,64,128],
|
||||||
|
[244,35,232],
|
||||||
|
[70,70,70],
|
||||||
|
[102,102,156],
|
||||||
|
[190,153,153],
|
||||||
|
[153,153,153],
|
||||||
|
[250,170,30],
|
||||||
|
[220,220,0],
|
||||||
|
[107,142,35],
|
||||||
|
[152,251,152],
|
||||||
|
[70,130,180],
|
||||||
|
[220,20,60],
|
||||||
|
[255,0,0],
|
||||||
|
[0,0,142],
|
||||||
|
[0,0,70],
|
||||||
|
[0,60,100],
|
||||||
|
[0,80,100],
|
||||||
|
[0,0,230],
|
||||||
|
[119,11,32],
|
||||||
|
[0,0,0]],
|
||||||
|
"mean":[
|
||||||
|
73.158359210711552,
|
||||||
|
82.908917542625858,
|
||||||
|
72.392398761941593],
|
||||||
|
"std":[
|
||||||
|
47.675755341814678,
|
||||||
|
48.494214368814916,
|
||||||
|
47.736546325441594]
|
||||||
|
}
|
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
"classes":16,
|
||||||
|
"label2train":[
|
||||||
|
[0, 255],
|
||||||
|
[1, 255],
|
||||||
|
[2, 255],
|
||||||
|
[3, 255],
|
||||||
|
[4, 255],
|
||||||
|
[5, 255],
|
||||||
|
[6, 255],
|
||||||
|
[7, 0],
|
||||||
|
[8, 1],
|
||||||
|
[9, 255],
|
||||||
|
[10, 255],
|
||||||
|
[11, 2],
|
||||||
|
[12, 3],
|
||||||
|
[13, 4],
|
||||||
|
[14, 255],
|
||||||
|
[15, 255],
|
||||||
|
[16, 255],
|
||||||
|
[17, 5],
|
||||||
|
[18, 255],
|
||||||
|
[19, 6],
|
||||||
|
[20, 7],
|
||||||
|
[21, 8],
|
||||||
|
[22, 255],
|
||||||
|
[23, 9],
|
||||||
|
[24, 10],
|
||||||
|
[25, 11],
|
||||||
|
[26, 12],
|
||||||
|
[27, 255],
|
||||||
|
[28, 13],
|
||||||
|
[29, 255],
|
||||||
|
[30, 255],
|
||||||
|
[31, 255],
|
||||||
|
[32, 14],
|
||||||
|
[33, 15],
|
||||||
|
[-1, 255]],
|
||||||
|
"label":[
|
||||||
|
"road",
|
||||||
|
"sidewalk",
|
||||||
|
"building",
|
||||||
|
"wall",
|
||||||
|
"fence",
|
||||||
|
"pole",
|
||||||
|
"light",
|
||||||
|
"sign",
|
||||||
|
"vegetation",
|
||||||
|
"sky",
|
||||||
|
"person",
|
||||||
|
"rider",
|
||||||
|
"car",
|
||||||
|
"bus",
|
||||||
|
"motocycle",
|
||||||
|
"bicycle"],
|
||||||
|
"palette":[
|
||||||
|
[128,64,128],
|
||||||
|
[244,35,232],
|
||||||
|
[70,70,70],
|
||||||
|
[102,102,156],
|
||||||
|
[190,153,153],
|
||||||
|
[153,153,153],
|
||||||
|
[250,170,30],
|
||||||
|
[220,220,0],
|
||||||
|
[107,142,35],
|
||||||
|
[70,130,180],
|
||||||
|
[220,20,60],
|
||||||
|
[255,0,0],
|
||||||
|
[0,0,142],
|
||||||
|
[0,60,100],
|
||||||
|
[0,0,230],
|
||||||
|
[119,11,32],
|
||||||
|
[0,0,0]],
|
||||||
|
"mean":[
|
||||||
|
73.158359210711552,
|
||||||
|
82.908917542625858,
|
||||||
|
72.392398761941593],
|
||||||
|
"std":[
|
||||||
|
47.675755341814678,
|
||||||
|
48.494214368814916,
|
||||||
|
47.736546325441594]
|
||||||
|
}
|
|
@ -0,0 +1,500 @@
|
||||||
|
frankfurt/frankfurt_000001_007973_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_025921_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_062016_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_049078_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_009561_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_013710_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_041664_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_013240_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_044787_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_015328_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_073243_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_034816_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_041074_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_005898_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_022254_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_044658_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_009504_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_024927_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_017842_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_068208_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_013016_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_010156_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_002963_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_020693_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_078803_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_025713_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_007285_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_070099_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_009291_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_019607_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_068063_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_003920_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_077233_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_029086_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_060545_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_001464_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_028590_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_016462_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_060422_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_009058_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_080830_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_012870_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_077434_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_033655_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_051516_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_044413_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_055172_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_040575_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_020215_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_017228_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_041354_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_008206_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_043564_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_032711_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_064130_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_053102_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_082087_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_057478_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_007407_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_008200_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_038844_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_016029_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_058176_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_057181_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_039895_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_000294_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_055062_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_083029_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_010444_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_041517_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_069633_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_020287_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_012038_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_046504_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_032556_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_001751_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_000538_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_083852_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_077092_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_017101_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_044525_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_005703_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_080391_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_038418_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_066832_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_003357_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_020880_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_062396_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_046272_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_062509_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_054415_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_021406_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_030310_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_014480_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_005410_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_022797_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_035144_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_014565_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_065850_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_000576_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_065617_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_005543_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_055709_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_027325_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_011835_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_046779_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_064305_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_012738_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_048355_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_019969_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_080091_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_011007_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_015676_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_044227_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_055387_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_038245_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_059642_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_030669_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_068772_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_079206_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_055306_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_012699_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_042384_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_054077_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_010830_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_052120_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_032018_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_051737_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_028335_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_049770_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_054884_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_019698_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_011461_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_001016_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_062250_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_004736_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_068682_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_006589_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_011810_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_066574_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_048654_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_049209_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_042098_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_031416_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_009969_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_038645_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_020046_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_054219_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_002759_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_066438_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_020321_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_002646_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_046126_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_002196_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_057954_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_011715_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_021879_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_082466_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_003025_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_023369_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_061682_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_017459_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_059789_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_073464_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_063045_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_064651_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_013382_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_002512_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_032942_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_010600_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_030067_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_014741_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_021667_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_051807_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_019854_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_015768_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_007857_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_058914_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_012868_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_013942_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_014406_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_049298_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_023769_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_012519_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_064925_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_072295_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_058504_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_059119_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_015091_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_058057_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_003056_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_007622_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_016273_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_035864_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_067092_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_013067_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_067474_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_060135_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_018797_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_005898_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_055603_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_060906_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_062653_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_004617_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_055538_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_008451_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_052594_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_004327_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_075296_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_073088_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_005184_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_016286_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_008688_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_011074_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_056580_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_067735_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_034047_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_076502_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_071288_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_067295_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_071781_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_012121_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_004859_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_073911_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_047552_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_037705_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_025512_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_047178_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_014221_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_007365_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_049698_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_065160_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_061763_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_010351_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_072155_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_023235_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_015389_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_009688_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_016005_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_054640_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_029600_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_028232_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_050686_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_013496_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_066092_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_009854_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_067178_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_028854_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_083199_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_064798_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_018113_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_050149_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_048196_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_001236_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_017476_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_003588_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_021825_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_010763_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_062793_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_029236_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_075984_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_031266_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_043395_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_040732_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_011162_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000000_012009_gtFine_labelIds.png
|
||||||
|
frankfurt/frankfurt_000001_042733_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000052_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000009_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000037_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000047_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000015_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000030_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000012_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000032_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000046_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000000_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000031_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000011_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000027_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000054_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000026_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000017_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000023_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000005_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000056_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000025_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000045_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000014_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000004_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000021_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000049_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000033_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000042_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000013_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000024_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000002_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000043_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000016_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000050_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000018_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000007_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000048_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000022_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000053_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000038_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000001_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000036_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000035_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000003_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000034_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000010_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000055_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000006_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000019_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000029_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000039_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000051_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000020_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000057_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000041_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000040_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000044_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000028_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000058_000019_gtFine_labelIds.png
|
||||||
|
lindau/lindau_000008_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000000_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000012_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000032_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000068_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000101_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000153_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000115_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000029_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000019_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000156_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000129_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000169_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000150_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000165_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000050_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000025_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000116_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000132_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000066_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000096_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000030_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000146_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000098_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000059_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000093_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000122_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000024_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000036_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000086_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000163_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000001_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000053_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000071_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000079_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000159_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000038_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000138_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000135_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000065_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000139_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000108_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000020_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000074_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000035_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000067_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000151_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000083_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000118_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000046_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000147_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000047_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000043_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000168_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000167_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000021_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000073_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000089_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000060_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000155_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000140_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000145_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000077_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000018_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000045_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000166_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000037_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000112_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000080_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000144_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000142_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000070_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000044_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000137_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000041_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000113_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000075_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000157_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000158_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000109_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000033_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000088_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000090_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000114_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000171_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000013_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000130_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000016_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000136_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000007_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000014_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000052_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000104_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000173_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000057_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000072_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000003_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000161_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000002_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000028_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000051_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000105_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000061_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000058_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000094_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000027_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000062_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000127_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000110_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000170_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000023_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000084_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000121_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000087_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000097_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000119_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000128_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000078_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000010_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000015_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000048_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000085_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000164_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000111_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000099_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000117_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000009_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000049_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000148_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000022_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000131_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000006_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000005_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000102_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000160_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000107_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000095_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000106_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000034_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000143_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000017_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000040_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000152_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000154_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000100_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000004_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000141_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000011_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000055_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000134_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000054_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000064_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000039_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000103_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000092_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000172_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000042_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000124_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000069_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000026_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000120_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000031_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000162_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000056_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000081_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000123_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000125_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000082_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000133_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000126_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000063_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000008_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000149_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000076_000019_gtFine_labelIds.png
|
||||||
|
munster/munster_000091_000019_gtFine_labelIds.png
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,18 @@
|
||||||
|
aachen/aachen_000000_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000001_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000002_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000003_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000004_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000005_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000006_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000007_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000008_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000009_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000010_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000011_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000012_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000013_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000014_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000015_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000016_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000017_000019_leftImg8bit.png
|
|
@ -0,0 +1,18 @@
|
||||||
|
aachen/aachen_000000_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000001_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000002_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000003_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000004_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000005_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000006_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000007_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000008_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000009_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000010_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000011_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000012_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000013_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000014_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000015_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000016_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000017_000019_leftImg8bit.png
|
|
@ -0,0 +1,18 @@
|
||||||
|
aachen/aachen_000000_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000001_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000002_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000003_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000004_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000005_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000006_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000007_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000008_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000009_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000010_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000011_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000012_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000013_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000014_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000015_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000016_000019_leftImg8bit.png
|
||||||
|
aachen/aachen_000017_000019_leftImg8bit.png
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,500 @@
|
||||||
|
frankfurt/frankfurt_000001_007973_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_025921_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_062016_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_049078_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_009561_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_013710_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_041664_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_013240_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_044787_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_015328_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_073243_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_034816_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_041074_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_005898_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_022254_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_044658_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_009504_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_024927_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_017842_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_068208_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_013016_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_010156_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_002963_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_020693_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_078803_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_025713_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_007285_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_070099_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_009291_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_019607_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_068063_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_003920_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_077233_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_029086_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_060545_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_001464_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_028590_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_016462_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_060422_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_009058_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_080830_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_012870_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_077434_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_033655_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_051516_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_044413_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_055172_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_040575_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_020215_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_017228_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_041354_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_008206_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_043564_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_032711_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_064130_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_053102_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_082087_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_057478_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_007407_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_008200_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_038844_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_016029_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_058176_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_057181_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_039895_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_000294_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_055062_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_083029_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_010444_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_041517_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_069633_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_020287_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_012038_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_046504_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_032556_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_001751_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_000538_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_083852_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_077092_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_017101_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_044525_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_005703_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_080391_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_038418_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_066832_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_003357_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_020880_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_062396_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_046272_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_062509_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_054415_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_021406_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_030310_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_014480_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_005410_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_022797_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_035144_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_014565_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_065850_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_000576_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_065617_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_005543_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_055709_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_027325_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_011835_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_046779_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_064305_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_012738_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_048355_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_019969_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_080091_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_011007_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_015676_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_044227_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_055387_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_038245_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_059642_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_030669_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_068772_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_079206_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_055306_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_012699_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_042384_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_054077_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_010830_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_052120_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_032018_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_051737_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_028335_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_049770_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_054884_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_019698_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_011461_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_001016_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_062250_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_004736_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_068682_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_006589_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_011810_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_066574_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_048654_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_049209_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_042098_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_031416_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_009969_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_038645_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_020046_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_054219_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_002759_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_066438_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_020321_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_002646_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_046126_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_002196_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_057954_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_011715_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_021879_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_082466_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_003025_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_023369_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_061682_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_017459_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_059789_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_073464_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_063045_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_064651_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_013382_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_002512_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_032942_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_010600_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_030067_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_014741_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_021667_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_051807_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_019854_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_015768_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_007857_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_058914_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_012868_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_013942_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_014406_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_049298_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_023769_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_012519_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_064925_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_072295_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_058504_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_059119_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_015091_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_058057_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_003056_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_007622_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_016273_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_035864_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_067092_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_013067_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_067474_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_060135_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_018797_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_005898_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_055603_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_060906_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_062653_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_004617_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_055538_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_008451_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_052594_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_004327_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_075296_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_073088_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_005184_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_016286_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_008688_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_011074_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_056580_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_067735_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_034047_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_076502_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_071288_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_067295_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_071781_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_012121_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_004859_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_073911_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_047552_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_037705_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_025512_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_047178_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_014221_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_007365_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_049698_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_065160_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_061763_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_010351_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_072155_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_023235_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_015389_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_009688_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_016005_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_054640_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_029600_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_028232_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_050686_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_013496_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_066092_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_009854_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_067178_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_028854_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_083199_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_064798_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_018113_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_050149_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_048196_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_001236_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_017476_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_003588_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_021825_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_010763_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_062793_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_029236_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_075984_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_031266_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_043395_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_040732_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_011162_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000000_012009_leftImg8bit.png
|
||||||
|
frankfurt/frankfurt_000001_042733_leftImg8bit.png
|
||||||
|
lindau/lindau_000052_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000009_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000037_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000047_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000015_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000030_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000012_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000032_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000046_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000000_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000031_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000011_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000027_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000054_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000026_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000017_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000023_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000005_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000056_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000025_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000045_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000014_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000004_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000021_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000049_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000033_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000042_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000013_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000024_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000002_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000043_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000016_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000050_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000018_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000007_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000048_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000022_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000053_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000038_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000001_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000036_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000035_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000003_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000034_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000010_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000055_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000006_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000019_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000029_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000039_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000051_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000020_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000057_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000041_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000040_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000044_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000028_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000058_000019_leftImg8bit.png
|
||||||
|
lindau/lindau_000008_000019_leftImg8bit.png
|
||||||
|
munster/munster_000000_000019_leftImg8bit.png
|
||||||
|
munster/munster_000012_000019_leftImg8bit.png
|
||||||
|
munster/munster_000032_000019_leftImg8bit.png
|
||||||
|
munster/munster_000068_000019_leftImg8bit.png
|
||||||
|
munster/munster_000101_000019_leftImg8bit.png
|
||||||
|
munster/munster_000153_000019_leftImg8bit.png
|
||||||
|
munster/munster_000115_000019_leftImg8bit.png
|
||||||
|
munster/munster_000029_000019_leftImg8bit.png
|
||||||
|
munster/munster_000019_000019_leftImg8bit.png
|
||||||
|
munster/munster_000156_000019_leftImg8bit.png
|
||||||
|
munster/munster_000129_000019_leftImg8bit.png
|
||||||
|
munster/munster_000169_000019_leftImg8bit.png
|
||||||
|
munster/munster_000150_000019_leftImg8bit.png
|
||||||
|
munster/munster_000165_000019_leftImg8bit.png
|
||||||
|
munster/munster_000050_000019_leftImg8bit.png
|
||||||
|
munster/munster_000025_000019_leftImg8bit.png
|
||||||
|
munster/munster_000116_000019_leftImg8bit.png
|
||||||
|
munster/munster_000132_000019_leftImg8bit.png
|
||||||
|
munster/munster_000066_000019_leftImg8bit.png
|
||||||
|
munster/munster_000096_000019_leftImg8bit.png
|
||||||
|
munster/munster_000030_000019_leftImg8bit.png
|
||||||
|
munster/munster_000146_000019_leftImg8bit.png
|
||||||
|
munster/munster_000098_000019_leftImg8bit.png
|
||||||
|
munster/munster_000059_000019_leftImg8bit.png
|
||||||
|
munster/munster_000093_000019_leftImg8bit.png
|
||||||
|
munster/munster_000122_000019_leftImg8bit.png
|
||||||
|
munster/munster_000024_000019_leftImg8bit.png
|
||||||
|
munster/munster_000036_000019_leftImg8bit.png
|
||||||
|
munster/munster_000086_000019_leftImg8bit.png
|
||||||
|
munster/munster_000163_000019_leftImg8bit.png
|
||||||
|
munster/munster_000001_000019_leftImg8bit.png
|
||||||
|
munster/munster_000053_000019_leftImg8bit.png
|
||||||
|
munster/munster_000071_000019_leftImg8bit.png
|
||||||
|
munster/munster_000079_000019_leftImg8bit.png
|
||||||
|
munster/munster_000159_000019_leftImg8bit.png
|
||||||
|
munster/munster_000038_000019_leftImg8bit.png
|
||||||
|
munster/munster_000138_000019_leftImg8bit.png
|
||||||
|
munster/munster_000135_000019_leftImg8bit.png
|
||||||
|
munster/munster_000065_000019_leftImg8bit.png
|
||||||
|
munster/munster_000139_000019_leftImg8bit.png
|
||||||
|
munster/munster_000108_000019_leftImg8bit.png
|
||||||
|
munster/munster_000020_000019_leftImg8bit.png
|
||||||
|
munster/munster_000074_000019_leftImg8bit.png
|
||||||
|
munster/munster_000035_000019_leftImg8bit.png
|
||||||
|
munster/munster_000067_000019_leftImg8bit.png
|
||||||
|
munster/munster_000151_000019_leftImg8bit.png
|
||||||
|
munster/munster_000083_000019_leftImg8bit.png
|
||||||
|
munster/munster_000118_000019_leftImg8bit.png
|
||||||
|
munster/munster_000046_000019_leftImg8bit.png
|
||||||
|
munster/munster_000147_000019_leftImg8bit.png
|
||||||
|
munster/munster_000047_000019_leftImg8bit.png
|
||||||
|
munster/munster_000043_000019_leftImg8bit.png
|
||||||
|
munster/munster_000168_000019_leftImg8bit.png
|
||||||
|
munster/munster_000167_000019_leftImg8bit.png
|
||||||
|
munster/munster_000021_000019_leftImg8bit.png
|
||||||
|
munster/munster_000073_000019_leftImg8bit.png
|
||||||
|
munster/munster_000089_000019_leftImg8bit.png
|
||||||
|
munster/munster_000060_000019_leftImg8bit.png
|
||||||
|
munster/munster_000155_000019_leftImg8bit.png
|
||||||
|
munster/munster_000140_000019_leftImg8bit.png
|
||||||
|
munster/munster_000145_000019_leftImg8bit.png
|
||||||
|
munster/munster_000077_000019_leftImg8bit.png
|
||||||
|
munster/munster_000018_000019_leftImg8bit.png
|
||||||
|
munster/munster_000045_000019_leftImg8bit.png
|
||||||
|
munster/munster_000166_000019_leftImg8bit.png
|
||||||
|
munster/munster_000037_000019_leftImg8bit.png
|
||||||
|
munster/munster_000112_000019_leftImg8bit.png
|
||||||
|
munster/munster_000080_000019_leftImg8bit.png
|
||||||
|
munster/munster_000144_000019_leftImg8bit.png
|
||||||
|
munster/munster_000142_000019_leftImg8bit.png
|
||||||
|
munster/munster_000070_000019_leftImg8bit.png
|
||||||
|
munster/munster_000044_000019_leftImg8bit.png
|
||||||
|
munster/munster_000137_000019_leftImg8bit.png
|
||||||
|
munster/munster_000041_000019_leftImg8bit.png
|
||||||
|
munster/munster_000113_000019_leftImg8bit.png
|
||||||
|
munster/munster_000075_000019_leftImg8bit.png
|
||||||
|
munster/munster_000157_000019_leftImg8bit.png
|
||||||
|
munster/munster_000158_000019_leftImg8bit.png
|
||||||
|
munster/munster_000109_000019_leftImg8bit.png
|
||||||
|
munster/munster_000033_000019_leftImg8bit.png
|
||||||
|
munster/munster_000088_000019_leftImg8bit.png
|
||||||
|
munster/munster_000090_000019_leftImg8bit.png
|
||||||
|
munster/munster_000114_000019_leftImg8bit.png
|
||||||
|
munster/munster_000171_000019_leftImg8bit.png
|
||||||
|
munster/munster_000013_000019_leftImg8bit.png
|
||||||
|
munster/munster_000130_000019_leftImg8bit.png
|
||||||
|
munster/munster_000016_000019_leftImg8bit.png
|
||||||
|
munster/munster_000136_000019_leftImg8bit.png
|
||||||
|
munster/munster_000007_000019_leftImg8bit.png
|
||||||
|
munster/munster_000014_000019_leftImg8bit.png
|
||||||
|
munster/munster_000052_000019_leftImg8bit.png
|
||||||
|
munster/munster_000104_000019_leftImg8bit.png
|
||||||
|
munster/munster_000173_000019_leftImg8bit.png
|
||||||
|
munster/munster_000057_000019_leftImg8bit.png
|
||||||
|
munster/munster_000072_000019_leftImg8bit.png
|
||||||
|
munster/munster_000003_000019_leftImg8bit.png
|
||||||
|
munster/munster_000161_000019_leftImg8bit.png
|
||||||
|
munster/munster_000002_000019_leftImg8bit.png
|
||||||
|
munster/munster_000028_000019_leftImg8bit.png
|
||||||
|
munster/munster_000051_000019_leftImg8bit.png
|
||||||
|
munster/munster_000105_000019_leftImg8bit.png
|
||||||
|
munster/munster_000061_000019_leftImg8bit.png
|
||||||
|
munster/munster_000058_000019_leftImg8bit.png
|
||||||
|
munster/munster_000094_000019_leftImg8bit.png
|
||||||
|
munster/munster_000027_000019_leftImg8bit.png
|
||||||
|
munster/munster_000062_000019_leftImg8bit.png
|
||||||
|
munster/munster_000127_000019_leftImg8bit.png
|
||||||
|
munster/munster_000110_000019_leftImg8bit.png
|
||||||
|
munster/munster_000170_000019_leftImg8bit.png
|
||||||
|
munster/munster_000023_000019_leftImg8bit.png
|
||||||
|
munster/munster_000084_000019_leftImg8bit.png
|
||||||
|
munster/munster_000121_000019_leftImg8bit.png
|
||||||
|
munster/munster_000087_000019_leftImg8bit.png
|
||||||
|
munster/munster_000097_000019_leftImg8bit.png
|
||||||
|
munster/munster_000119_000019_leftImg8bit.png
|
||||||
|
munster/munster_000128_000019_leftImg8bit.png
|
||||||
|
munster/munster_000078_000019_leftImg8bit.png
|
||||||
|
munster/munster_000010_000019_leftImg8bit.png
|
||||||
|
munster/munster_000015_000019_leftImg8bit.png
|
||||||
|
munster/munster_000048_000019_leftImg8bit.png
|
||||||
|
munster/munster_000085_000019_leftImg8bit.png
|
||||||
|
munster/munster_000164_000019_leftImg8bit.png
|
||||||
|
munster/munster_000111_000019_leftImg8bit.png
|
||||||
|
munster/munster_000099_000019_leftImg8bit.png
|
||||||
|
munster/munster_000117_000019_leftImg8bit.png
|
||||||
|
munster/munster_000009_000019_leftImg8bit.png
|
||||||
|
munster/munster_000049_000019_leftImg8bit.png
|
||||||
|
munster/munster_000148_000019_leftImg8bit.png
|
||||||
|
munster/munster_000022_000019_leftImg8bit.png
|
||||||
|
munster/munster_000131_000019_leftImg8bit.png
|
||||||
|
munster/munster_000006_000019_leftImg8bit.png
|
||||||
|
munster/munster_000005_000019_leftImg8bit.png
|
||||||
|
munster/munster_000102_000019_leftImg8bit.png
|
||||||
|
munster/munster_000160_000019_leftImg8bit.png
|
||||||
|
munster/munster_000107_000019_leftImg8bit.png
|
||||||
|
munster/munster_000095_000019_leftImg8bit.png
|
||||||
|
munster/munster_000106_000019_leftImg8bit.png
|
||||||
|
munster/munster_000034_000019_leftImg8bit.png
|
||||||
|
munster/munster_000143_000019_leftImg8bit.png
|
||||||
|
munster/munster_000017_000019_leftImg8bit.png
|
||||||
|
munster/munster_000040_000019_leftImg8bit.png
|
||||||
|
munster/munster_000152_000019_leftImg8bit.png
|
||||||
|
munster/munster_000154_000019_leftImg8bit.png
|
||||||
|
munster/munster_000100_000019_leftImg8bit.png
|
||||||
|
munster/munster_000004_000019_leftImg8bit.png
|
||||||
|
munster/munster_000141_000019_leftImg8bit.png
|
||||||
|
munster/munster_000011_000019_leftImg8bit.png
|
||||||
|
munster/munster_000055_000019_leftImg8bit.png
|
||||||
|
munster/munster_000134_000019_leftImg8bit.png
|
||||||
|
munster/munster_000054_000019_leftImg8bit.png
|
||||||
|
munster/munster_000064_000019_leftImg8bit.png
|
||||||
|
munster/munster_000039_000019_leftImg8bit.png
|
||||||
|
munster/munster_000103_000019_leftImg8bit.png
|
||||||
|
munster/munster_000092_000019_leftImg8bit.png
|
||||||
|
munster/munster_000172_000019_leftImg8bit.png
|
||||||
|
munster/munster_000042_000019_leftImg8bit.png
|
||||||
|
munster/munster_000124_000019_leftImg8bit.png
|
||||||
|
munster/munster_000069_000019_leftImg8bit.png
|
||||||
|
munster/munster_000026_000019_leftImg8bit.png
|
||||||
|
munster/munster_000120_000019_leftImg8bit.png
|
||||||
|
munster/munster_000031_000019_leftImg8bit.png
|
||||||
|
munster/munster_000162_000019_leftImg8bit.png
|
||||||
|
munster/munster_000056_000019_leftImg8bit.png
|
||||||
|
munster/munster_000081_000019_leftImg8bit.png
|
||||||
|
munster/munster_000123_000019_leftImg8bit.png
|
||||||
|
munster/munster_000125_000019_leftImg8bit.png
|
||||||
|
munster/munster_000082_000019_leftImg8bit.png
|
||||||
|
munster/munster_000133_000019_leftImg8bit.png
|
||||||
|
munster/munster_000126_000019_leftImg8bit.png
|
||||||
|
munster/munster_000063_000019_leftImg8bit.png
|
||||||
|
munster/munster_000008_000019_leftImg8bit.png
|
||||||
|
munster/munster_000149_000019_leftImg8bit.png
|
||||||
|
munster/munster_000076_000019_leftImg8bit.png
|
||||||
|
munster/munster_000091_000019_leftImg8bit.png
|
|
@ -0,0 +1,114 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
"""
|
||||||
|
######################## eval DDM example ########################
|
||||||
|
eval DDM according to model file:
|
||||||
|
python eval.py --data_path /YourDataPath --pretrained Your.ckpt
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import argparse
|
||||||
|
import numpy as np
|
||||||
|
import mindspore.dataset as ds
|
||||||
|
from mindspore.ops import ResizeBilinear
|
||||||
|
from mindspore.train.serialization import load_checkpoint, load_param_into_net
|
||||||
|
from mindspore import context, Tensor
|
||||||
|
import mindspore.common.dtype as mstype
|
||||||
|
from dataset import init_vid_dataset
|
||||||
|
from config import cfg
|
||||||
|
from net import deeplabv2_mindspore
|
||||||
|
from utils.func import per_class_iu, fast_hist
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='Check_Point File Path')
|
||||||
|
parser.add_argument('--pretrained', type=str)
|
||||||
|
parser.add_argument("--data_path", type=str)
|
||||||
|
args = parser.parse_known_args()[0]
|
||||||
|
|
||||||
|
net = deeplabv2_mindspore.get_deeplab_v2()
|
||||||
|
param_dict = load_checkpoint(args.pretrained)
|
||||||
|
load_param_into_net(net, param_dict)
|
||||||
|
|
||||||
|
test_dataset = init_vid_dataset(name=cfg.TEST.DATA,
|
||||||
|
root=args.data_path,
|
||||||
|
list_path=cfg.TEST.DATA_LIST,
|
||||||
|
num_classes=cfg.NUM_CLASSES,
|
||||||
|
set_name=cfg.TEST.SET,
|
||||||
|
info_path=cfg.TEST.INFO,
|
||||||
|
crop_size=cfg.TEST.INPUT_SIZE,
|
||||||
|
mean=cfg.TEST.IMG_MEAN,
|
||||||
|
labels_size=cfg.TEST.OUTPUT_SIZE)
|
||||||
|
|
||||||
|
test_loader = ds.GeneratorDataset(test_dataset,
|
||||||
|
num_parallel_workers=1,
|
||||||
|
shuffle=False,
|
||||||
|
column_names=["data", "label"])
|
||||||
|
|
||||||
|
test_loader = test_loader.batch(cfg.TEST.BATCH_SIZE, drop_remainder=True)
|
||||||
|
|
||||||
|
def evaluate(model, testloader, num_class, fixed_test_size=True, verbose=True):
|
||||||
|
"""
|
||||||
|
Evaluation during training.
|
||||||
|
"""
|
||||||
|
hist = np.zeros((cfg.NUM_CLASSES, cfg.NUM_CLASSES))
|
||||||
|
test_iter = testloader.create_dict_iterator(output_numpy=True)
|
||||||
|
|
||||||
|
nt = 0
|
||||||
|
for ti in test_iter:
|
||||||
|
image, label = Tensor(ti["data"], mstype.float32), Tensor(ti["label"], mstype.float32)
|
||||||
|
if not fixed_test_size:
|
||||||
|
interp = ResizeBilinear(size=(label.shape[1], label.shape[2]), align_corners=True)
|
||||||
|
else:
|
||||||
|
interp = ResizeBilinear(size=(cfg.TEST.OUTPUT_SIZE[1], cfg.TEST.OUTPUT_SIZE[0]), align_corners=True)
|
||||||
|
pred_main = model(Tensor(image, mstype.float32))[1]
|
||||||
|
output = interp(pred_main).asnumpy()[0]
|
||||||
|
output = output.transpose((1, 2, 0))
|
||||||
|
output = np.argmax(output, axis=2)
|
||||||
|
label = label.asnumpy()[0]
|
||||||
|
hist += fast_hist(label.flatten(), output.flatten(), cfg.NUM_CLASSES)
|
||||||
|
if verbose and nt > 0 and nt % 100 == 0:
|
||||||
|
print('{:d} : {:0.2f}'.format(
|
||||||
|
nt, 100 * np.nanmean(per_class_iu(hist))))
|
||||||
|
nt += 1
|
||||||
|
inters_over_union_classes = per_class_iu(hist)
|
||||||
|
# pickle_dump(all_res, cache_path)
|
||||||
|
if cfg.NUM_CLASSES == 19:
|
||||||
|
computed_miou_19 = round(np.nanmean(inters_over_union_classes) * 100, 2)
|
||||||
|
computed_miou_16 = round(np.mean(inters_over_union_classes[[0, 1, 2, 3, 4, 5,\
|
||||||
|
6, 7, 8, 10, 11, 12, 13, 15, 17, 18]]) * 100, 2)
|
||||||
|
computed_miou_13 = round(np.mean(inters_over_union_classes[[0, 1, 2, 6, 7, 8,\
|
||||||
|
10, 11, 12, 13, 15, 17, 18]]) * 100, 2)
|
||||||
|
elif cfg.NUM_CLASSES == 16:
|
||||||
|
computed_miou_19 = 0
|
||||||
|
computed_miou_16 = round(np.nanmean(inters_over_union_classes) * 100, 2)
|
||||||
|
computed_miou_13 = round(np.mean(inters_over_union_classes[[0, 1, 2, 6, 7, 8,\
|
||||||
|
9, 10, 11, 12, 13, 14, 15]]) * 100, 2)
|
||||||
|
print('==>Current mIoUs: \n', 'Class 19: ', computed_miou_19, '\n', 'Class 16: ', computed_miou_16,
|
||||||
|
'\n', 'Class 13: ', computed_miou_13)
|
||||||
|
if verbose:
|
||||||
|
display_stats(num_class, inters_over_union_classes)
|
||||||
|
return [computed_miou_19, computed_miou_16, computed_miou_13], inters_over_union_classes
|
||||||
|
|
||||||
|
def display_stats(num_class, inters_over_union_classes):
|
||||||
|
"""print classes' performance"""
|
||||||
|
for ind_class in range(num_class):
|
||||||
|
print(str(ind_class) + '\t' + str(round(inters_over_union_classes[ind_class] * 100, 2)))
|
||||||
|
|
||||||
|
context.set_context(mode=context.GRAPH_MODE,
|
||||||
|
device_target="Ascend",
|
||||||
|
save_graphs=False,
|
||||||
|
device_id=int(os.getenv("DEVICE_ID")))
|
||||||
|
|
||||||
|
evaluate(net, test_loader, cfg.NUM_CLASSES, fixed_test_size=True, verbose=True)
|
Binary file not shown.
After Width: | Height: | Size: 208 KiB |
Binary file not shown.
After Width: | Height: | Size: 106 KiB |
|
@ -0,0 +1,202 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
""" architecture of deeplabv2. """
|
||||||
|
|
||||||
|
import mindspore.nn as nn
|
||||||
|
from mindspore.common.initializer import Normal
|
||||||
|
from mindspore.ops import operations as P
|
||||||
|
from mindspore.ops import Shape
|
||||||
|
|
||||||
|
AFFINE_PAR = True
|
||||||
|
|
||||||
|
class Bottleneck(nn.Cell):
|
||||||
|
"""build bottleneck module"""
|
||||||
|
expansion = 4
|
||||||
|
|
||||||
|
def __init__(self, inplanes, planes, stride=1, dilation=1, downsample=None, freeze_bn_affine=True):
|
||||||
|
super(Bottleneck, self).__init__()
|
||||||
|
self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, stride=stride,
|
||||||
|
has_bias=False, weight_init=Normal(0.01))
|
||||||
|
self.bn1 = nn.BatchNorm2d(planes, affine=AFFINE_PAR, use_batch_statistics=None)
|
||||||
|
|
||||||
|
if freeze_bn_affine:
|
||||||
|
for i in self.bn1.parameters_dict().values():
|
||||||
|
i.requires_grad = False
|
||||||
|
|
||||||
|
padding = dilation
|
||||||
|
self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1,
|
||||||
|
padding=padding, has_bias=False, dilation=dilation,
|
||||||
|
weight_init=Normal(0.01), pad_mode="pad")
|
||||||
|
self.bn2 = nn.BatchNorm2d(planes, affine=AFFINE_PAR, use_batch_statistics=None)
|
||||||
|
|
||||||
|
if freeze_bn_affine:
|
||||||
|
for i in self.bn2.parameters_dict().values():
|
||||||
|
i.requires_grad = False
|
||||||
|
|
||||||
|
self.conv3 = nn.Conv2d(planes, planes * 4, kernel_size=1, has_bias=False, weight_init=Normal(0.01))
|
||||||
|
self.bn3 = nn.BatchNorm2d(planes * 4, affine=AFFINE_PAR, use_batch_statistics=None)
|
||||||
|
|
||||||
|
if freeze_bn_affine:
|
||||||
|
for i in self.bn3.parameters_dict().values():
|
||||||
|
i.requires_grad = False
|
||||||
|
|
||||||
|
self.relu = nn.ReLU()
|
||||||
|
self.downsample = downsample
|
||||||
|
self.stride = stride
|
||||||
|
self.add = P.Add()
|
||||||
|
|
||||||
|
def construct(self, x):
|
||||||
|
"""construct bottleneck module"""
|
||||||
|
residual = x
|
||||||
|
out = self.conv1(x)
|
||||||
|
out = self.bn1(out)
|
||||||
|
out = self.relu(out)
|
||||||
|
out = self.conv2(out)
|
||||||
|
out = self.bn2(out)
|
||||||
|
out = self.relu(out)
|
||||||
|
out = self.conv3(out)
|
||||||
|
out = self.bn3(out)
|
||||||
|
|
||||||
|
if self.downsample is not None:
|
||||||
|
residual = self.downsample(x)
|
||||||
|
|
||||||
|
out = self.add(out, residual)
|
||||||
|
out = self.relu(out)
|
||||||
|
return out
|
||||||
|
|
||||||
|
class ClassifierModule(nn.Cell):
|
||||||
|
"""build classify module"""
|
||||||
|
def __init__(self, inplanes, dilation_series, padding_series, num_classes):
|
||||||
|
super(ClassifierModule, self).__init__()
|
||||||
|
self.conv2d_list = nn.CellList()
|
||||||
|
|
||||||
|
for dilation, padding in zip(dilation_series, padding_series):
|
||||||
|
self.conv2d_list.append(
|
||||||
|
nn.Conv2d(inplanes, num_classes, kernel_size=3, stride=1, padding=padding, pad_mode="pad",
|
||||||
|
dilation=dilation, has_bias=True, weight_init=Normal(0.01)))
|
||||||
|
|
||||||
|
def construct(self, x):
|
||||||
|
"""construct classify module"""
|
||||||
|
out = self.conv2d_list[0](x)
|
||||||
|
|
||||||
|
for i in range(1, len(self.conv2d_list)):
|
||||||
|
out += self.conv2d_list[i](x)
|
||||||
|
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
class ResNetMulti(nn.Cell):
|
||||||
|
"""build resnet"""
|
||||||
|
def __init__(self, block, layers, num_classes, multi_level, freeze_bn_affine=True):
|
||||||
|
self.multi_level = multi_level
|
||||||
|
self.inplanes = 64
|
||||||
|
super(ResNetMulti, self).__init__()
|
||||||
|
self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3,
|
||||||
|
has_bias=False, weight_init=Normal(0.01), pad_mode="pad")
|
||||||
|
self.bn1 = nn.BatchNorm2d(64, affine=AFFINE_PAR, use_batch_statistics=None)
|
||||||
|
self.freeze_bn_affine = freeze_bn_affine
|
||||||
|
|
||||||
|
if self.freeze_bn_affine:
|
||||||
|
for i in self.bn1.parameters_dict().values():
|
||||||
|
i.requires_grad = False
|
||||||
|
|
||||||
|
self.relu = nn.ReLU()
|
||||||
|
self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, pad_mode="same")
|
||||||
|
self.layer1 = self._make_layer(block, 64, layers[0])
|
||||||
|
self.layer2 = self._make_layer(block, 128, layers[1], stride=2)
|
||||||
|
self.layer3 = self._make_layer(block, 256, layers[2], stride=1, dilation=2)
|
||||||
|
self.layer4 = self._make_layer(block, 512, layers[3], stride=1, dilation=4)
|
||||||
|
|
||||||
|
if self.multi_level:
|
||||||
|
self.layer5 = ClassifierModule(1024, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
|
||||||
|
|
||||||
|
self.layer6 = ClassifierModule(2048, [6, 12, 18, 24], [6, 12, 18, 24], num_classes)
|
||||||
|
self.p = P.Print()
|
||||||
|
self.shape = Shape()
|
||||||
|
self.pad = nn.Pad(((0, 0), (0, 0), (1, 1), (1, 1)), "CONSTANT")
|
||||||
|
|
||||||
|
def _make_layer(self, block, planes, blocks, stride=1, dilation=1):
|
||||||
|
"""define layers"""
|
||||||
|
downsample = None
|
||||||
|
|
||||||
|
if (stride != 1
|
||||||
|
or self.inplanes != planes * block.expansion
|
||||||
|
or dilation == 2
|
||||||
|
or dilation == 4):
|
||||||
|
downsample = nn.SequentialCell([
|
||||||
|
nn.Conv2d(self.inplanes, planes * block.expansion,
|
||||||
|
kernel_size=1, stride=stride, has_bias=False, weight_init=Normal(0.01)),
|
||||||
|
nn.BatchNorm2d(planes * block.expansion, affine=AFFINE_PAR, use_batch_statistics=None)])
|
||||||
|
|
||||||
|
if self.freeze_bn_affine:
|
||||||
|
downsample = nn.SequentialCell([
|
||||||
|
nn.Conv2d(self.inplanes, planes * block.expansion,
|
||||||
|
kernel_size=1, stride=stride, has_bias=False, weight_init=Normal(0.01)),
|
||||||
|
nn.BatchNorm2d(planes * block.expansion, affine=False, use_batch_statistics=None)])
|
||||||
|
# for i in downsample._cells['1'].parameters_dict().values():
|
||||||
|
# i.requires_grad = False
|
||||||
|
|
||||||
|
layers = []
|
||||||
|
layers.append(
|
||||||
|
block(self.inplanes, planes, stride, dilation=dilation, downsample=downsample,
|
||||||
|
freeze_bn_affine=self.freeze_bn_affine))
|
||||||
|
self.inplanes = planes * block.expansion
|
||||||
|
|
||||||
|
for i in range(1, blocks):
|
||||||
|
layers.append(block(self.inplanes, planes, dilation=dilation,
|
||||||
|
freeze_bn_affine=self.freeze_bn_affine))
|
||||||
|
print(i)
|
||||||
|
|
||||||
|
return nn.SequentialCell(layers)
|
||||||
|
|
||||||
|
def construct(self, x):
|
||||||
|
"""construct resnet"""
|
||||||
|
x = self.conv1(x)
|
||||||
|
x = self.bn1(x)
|
||||||
|
x = self.relu(x)
|
||||||
|
x = self.pad(x)
|
||||||
|
x = self.maxpool(x)
|
||||||
|
x = self.layer1(x)
|
||||||
|
x = self.layer2(x)
|
||||||
|
x = self.layer3(x)
|
||||||
|
|
||||||
|
if self.multi_level:
|
||||||
|
x1 = self.layer5(x)
|
||||||
|
else:
|
||||||
|
x1 = None
|
||||||
|
|
||||||
|
x2 = self.layer4(x)
|
||||||
|
x2 = self.layer6(x2)
|
||||||
|
return x1, x2
|
||||||
|
|
||||||
|
def freeze_batchnorm(self):
|
||||||
|
"""freeze batchnorm"""
|
||||||
|
self.apply(freeze_bn_module)
|
||||||
|
|
||||||
|
def freeze_bn_module(m):
|
||||||
|
"""Freeze bn module.
|
||||||
|
param m: a torch module
|
||||||
|
"""
|
||||||
|
classname = type(m).__name__
|
||||||
|
|
||||||
|
if classname.find('BatchNorm') != -1:
|
||||||
|
m.eval()
|
||||||
|
|
||||||
|
def get_deeplab_v2(num_classes=19, multi_level=True, freeze_bn_affine=True):
|
||||||
|
"""get deeplabv2 net"""
|
||||||
|
model = ResNetMulti(Bottleneck, [3, 4, 23, 3], num_classes, multi_level,
|
||||||
|
freeze_bn_affine=freeze_bn_affine)
|
||||||
|
return model
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
"""calculate mIou."""
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
def fast_hist(a, b, n):
|
||||||
|
k = (a >= 0) & (a < n)
|
||||||
|
return np.bincount(n * a[k].astype(int) + b[k], minlength=n ** 2).reshape(n, n)
|
||||||
|
|
||||||
|
def per_class_iu(hist):
|
||||||
|
return np.diag(hist) / (hist.sum(1) + hist.sum(0) - np.diag(hist))
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Copyright 2021 Huawei Technologies Co., Ltd
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
"""load info."""
|
||||||
|
|
||||||
|
import json
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
def json_load(file_path):
|
||||||
|
with open(file_path, 'r') as fp:
|
||||||
|
return json.load(fp)
|
||||||
|
|
||||||
|
def yaml_load(file_path):
|
||||||
|
with open(file_path, 'r') as f:
|
||||||
|
return yaml.load(f)
|
Loading…
Reference in New Issue