Реализация Pytorch нашего метода адаптации семантической сегментации от синтетического набора данных (источник домена) к реальному набору данных (целевой домен). Основываясь на этой реализации, наш результат занимает 3 -е место в Challenge Visda.
Контакт: Yi-hsuan tsai (wasidennis at gmail dot com) и Вэй-Чих (whung8 в Ucmerced dot edu)
Обучение адаптации структурированного выходного пространства для семантической сегментации
Yi-hsuan tsai*, wei-chih Hung*, Samuel Schulter, Kihyuk Sohn, Ming-Hsuan Yang и Manmohan Chandraker
Конференция IEEE по компьютерному видению и распознаванию шаблонов (CVPR), 2018 ( Spotlight ) (* указывает на равный вклад).
Пожалуйста, процитируйте нашу статью, если вы найдете ее полезным для исследования.
@inproceedings{Tsai_adaptseg_2018,
author = {Y.-H. Tsai and W.-C. Hung and S. Schulter and K. Sohn and M.-H. Yang and M. Chandraker},
booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
title = {Learning to Adapt Structured Output Space for Semantic Segmentation},
year = {2018}
}


Установите Pytorch с http://pytorch.org с Python 2 и Cuda 8.0
Новое добавить цель LS-Gan для повышения производительности
--gan LS во время обучения (более подробная информация см. Ниже).Pytorch 0,4 с Python 3 и Cuda 8.0
pytorch_0.4--tensorboard в команде--lambda-adv-target1 0.00005 --lambda-adv-target2 0.0005 . Мы скоро рассмотрим эту проблему.Клонировать это репо
git clone https://github.com/wasidennis/AdaptSegNet
cd AdaptSegNet
Загрузите набор данных GTA5 в качестве домена источника и поместите его в папку data/GTA5
Загрузите набор данных CityScapes в качестве целевого домена и поместите его в папку data/Cityscapes
Пожалуйста, найдите наши представленные модели, используя RESNET-101 на трех настройках эталона здесь
Они включают базовые показатели (без адаптации и с адаптацией функций) и наши модели (одноуровневый и многоуровневый)
Результаты новых обновлений с использованием LS-Gan и использования SynScapes в качестве домена исходного
Загрузите предварительно обученную многоуровневую модель GTA5-to-CityScapes и поместите ее в model папку
Проверьте модель, и результаты будут сохранены в папке result
python evaluate_cityscapes.py --restore-from ./model/GTA2Cityscapes_multi-ed35151c.pth
python evaluate_cityscapes.py --model DeeplabVGG --restore-from ./model/GTA2Cityscapes_vgg-ac4ac9f6.pth
python compute_iou.py ./data/Cityscapes/data/gtFine/val result/cityscapes
python train_gta2cityscapes_multi.py --snapshot-dir ./snapshots/GTA2Cityscapes_single_lsgan
--lambda-seg 0.0
--lambda-adv-target1 0.0 --lambda-adv-target2 0.01
--gan LS
python train_gta2cityscapes_multi.py --snapshot-dir ./snapshots/GTA2Cityscapes_multi
--lambda-seg 0.1
--lambda-adv-target1 0.0002 --lambda-adv-target2 0.001
python train_gta2cityscapes_multi.py --snapshot-dir ./snapshots/GTA2Cityscapes_single
--lambda-seg 0.0
--lambda-adv-target1 0.0 --lambda-adv-target2 0.001
Этот код сильно заимствован из Pytorch-Dieplab.
Модель и код доступны только для некоммерческих исследований.