本文介绍AdaptSegNet的PaddlePaddle实现,该方法将语义分割从合成数据集(如GTA5)适配到真实数据集(如Cityscapes)。给出了复现指标、训练过程,说明数据集下载与目录结构,提供预训练模型链接,还详述了测试和训练的启动方式及相关参数,展示了模型在真实图片上的分割效果。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

英文名:Learning to Adapt Structured Output Space for Semantic Segmentation
将语义分割从合成数据集(源域)调整到真实数据集(目标域)的方法的PaddlePaddle实现。
Learning to Adapt Structured Output Space for Semantic Segmentation
Yi-Hsuan Tsai*, Wei-Chih Hung*, Samuel Schulter, Kihyuk Sohn, Ming-Hsuan Yang and Manmohan Chandraker
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018 (spotlight) (* indicates equal contribution).
| iterations/(Batch_size=2) | meanIOU | iterations/(Batch_size=2) | meanIOU |
|---|---|---|---|
| Target | 42.35 | Best | 42.72 |
| 5000 | 34.29 | 10000 | 37.59 |
| 15000 | 38.84 | 20000 | 38.5 |
| 25000 | 39.07 | 30000 | 40.52 |
| 35000 | 40.22 | 40000 | 39.88 |
| 45000 | 39.88 | 50000 | 41.47 |
| 55000 | 41.13 | 60000 | 41.74 |
| 65000 | 40.98 | 70000 | 42.24 |
| 75000 | 41.47 | 80000 | 42.23 |
| 85000 | 42.11 | 90000 | 42.14 |
| 95000 | 40.72 | 100000 | 41.58 |
| 105000 | 40.82 | 110000 | 42.72 |
| 115000 | 40.96 | 120000 | 39.86 |
对于如下的真实图片,我们展示经过我们的算法最佳模型的语义分割效果图
注意:
(1)GTA5数据集需要全部下载并且解压至同一个文件下,可通过这个repo当中所提供的unzips.py脚本进行数据集的批量解压
(2)下载Cityscapes数据集包括gtFine和leftimg8bit两个数据集,但是仅用到gtFine的验证集部分的灰度图和在leftimg8bit中对应验证集的原始照片和训练照片, 可以通过这个repo当中所提供的copy_by_txt.py脚本进行数据集的制作。详细使用图片可通过dataset/cityscapes_list当中train.txt、val.txt、label.txt文件进行查看
(1)GTA5数据集-part1
(2)GTA5数据集-part2
(3)Cityscapes-valmini
data╠═══Citycapes║ ╚═══data║ ╠═══gtFine
║ ║ ╠═══test
║ ║ ╠═══train
║ ║ ╚═══val
║ ╚═══leftimg8bit
║ ╠═══test
║ ╠═══train
║ ╚═══val
╚═══GTA5
╠═══images
╚═══labels注:使用这个方式需要挂载aistudio数据集
import os
os.makedirs('AdaptSegNet-Paddle/data/GTA5',exist_ok=True)
os.makedirs('AdaptSegNet-Paddle/data/Cityscapes', exist_ok=True)数据集分三个:
注意:由于训练集过大,所以需要三次挂载->解压->解除挂载步骤。
# 解压数据集 GTA5数据集-part1 解压完之后取消挂载数据集 删除data当中的数据集文件!解除占用空间# !unzip /home/aistudio/data/data106349/01_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/02_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/03_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/04_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/05_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/01_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/02_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/03_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/04_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106349/05_images.zip -d AdaptSegNet-Paddle/data/GTA5
# 解压数据集 GTA5数据集-part2 解压完之后取消挂载数据集 删除data当中的数据集文件!解除占用空间# !unzip /home/aistudio/data/data106372/06_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/07_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/08_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/09_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/10_labels.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/06_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/07_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/08_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/09_images.zip -d AdaptSegNet-Paddle/data/GTA5# !unzip /home/aistudio/data/data106372/10_images.zip -d AdaptSegNet-Paddle/data/GTA5
# 解压数据集 Cityscapes-valmini 解压完之后取消挂载数据集 删除data当中的数据集文件!解除占用空间# !unzip /home/aistudio/data/data118666/data.zip -d AdaptSegNet-Paddle/data/Cityscapes
进入到工作目录
%cd AdaptSegNet-Paddle/
/home/aistudio/AdaptSegNet-Paddle
python evaluate_cityscapes.py --restore-from '../data/data119256/GTA5_Best.pdparams
!python evaluate_cityscapes.py --restore-from '../data/data119256/GTA5_Best.pdparams'
python compute_iou.py ./data/Cityscapes/data/gtFine/val result/cityscapes
!python compute_iou.py ./data/Cityscapes/data/gtFine/val result/cityscapes
python train_gta2cityscapes_multi.py --checkpoint-dir ./checkpoint/GTA2Cityscapes_multi \
--lambda-seg 0.1 \ --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001python train_gta2cityscapes_multi.py --checkpoint-dir ./checkpoint/GTA2Cityscapes_multi \
--lambda-seg 0.1 \ --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001 \ --start-iter latest \ --continue-train| 重点参数 | 含义 |
|---|---|
| checkpoint-dir | 模型结果及日志保存位置 |
| continue-train | 是否启用持续学习策略(触发有效) |
| start-iter | 持续学习开始的iter数,默认为latest,即从上次保存点开始,启动持续学习时有效 |
注意: 训练日志存放在checkpoint-dir目录下
!python train_gta2cityscapes_multi.py --checkpoint-dir ./checkpoint/GTA2Cityscapes_multi \
--lambda-seg 0.1 \
--lambda-adv-target1 0.0002 --lambda-adv-target2 0.001# !python train_gta2cityscapes_multi.py --checkpoint-dir ./checkpoint/GTA2Cityscapes_multi \# --lambda-seg 0.1 \# --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001 \# --start-iter latest \# --continue-train
以上就是AdaptSegNet:学习调整结构化输出空间进行语义分割的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号