CLAN-Paddle
September 30, 2021 · View on GitHub
本项目旨在使用百度PaddlePaddle框架复现2019cvpr(oral):Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation。
本项目由张鑫和崔明迪共同完成。
一、简介
致敬开源精神,respect!!!
二、复现结果
本项目实现了GTA5和SYNTHIA Dataset到Cityscapes Dataset的迁移,实现在Cityscapes Dataset上的语义分割。
| GTA5 | SYNTHIA | |
|---|---|---|
| paddle复现 | 42.2 | 45.59 |
| 原文 | 43.16 | 47.8 |
<img src=https://github.com/zhangxin-xd/CLAN-paddle/blob/main/frankfurt_000001_001464_leftImg8bit_color.png width=50% />
三、环境依赖
- Paddle 2.1.2
- cuDNN 7.6+
四、实现
训练
下载数据集和预训练权重
文件夹组织如下
├── data/
│ ├── Cityscapes/
| | ├── gtFine/
| | ├── leftImg8bit/
│ ├── GTA5/
| | ├── images/
| | ├── labels/
│ ├── SYNTHIA/
| | ├── RAND_CITYSCAPES/
│ └──
└── model/
│ ├── pretrained.pdparams
开始训练
CUDA_VISIBLE_DEVICES=0 python CLAN_train.py --snapshot-dir ./snapshots/SYS2Cityscapes
权重和训练日志保存在./snapshots目录下
测试
CUDA_VISIBLE_DEVICES=0 python CLAN_evaluate.py --restore-from ./snapshots/SYS2Cityscapes/SYS_100000.pdparams --save ./result/SYS2Cityscapes_100000
此处提供我们训好的权重,可以直接进行测试,图片结果保存在./result中。
权重SYS (6666)
权重GAT (6666)
计算IoU
python CLAN_iou.py ./data/Cityscapes/gtFine/val result/SYS2Cityscapes_100000
注意:最好的权重不一定是最后的权重,所以可以通过运行CLAN_evaluate_bulk.py 和 CLAN_iou_bulk.py 评估训练中得到的每个权重的性能。
CUDA_VISIBLE_DEVICES=0 python CLAN_evaluate_bulk.py
python CLAN_iou_bulk.py
结果列在./mIoU_results中的excel中。
对于GAT5 dataset原论文中使用19类进行训练,衡量19类。 对于SYNTHIA dataset原论文中使用19类进行训练,但只衡量13类。
五、模型信息
| 信息 | 说明 |
|---|---|
| 作者 | 张鑫 |
| 时间 | 2021.09 |
| 框架版本 | Paddle 2.1.2 |
| 应用场景 | 语义分割 |