目录
目录README.md

排名情况

赛道一排名.png

第三届计图人工智能挑战赛:风格及语义引导的风景图像生成赛题(赛题一)

简介

本项目的代码结构框架基于计图挑战赛JGAN/models/gaugan修改而得,单卡 V100 32g 训练时间约为50epoch/48h。训练起来较为费劲,希望后续有时间改进优化,加速训练过程。

测试时,SPADE网络可以完成一张参考的ref图+一张label Mask图通过网络输出一张生成图。

安装

运行环境

  • ubuntu 20.04 LTS
  • python >= 3.7
  • jittor >= 1.3.0 这个版本的问题,限于代码水平更新迭代,以requirements.txt中的为准

安装依赖

pip install -r requirements.txt # 本目录下的requirements.txt

数据集

赛事训练数据集由此下载

但是收集起来较为困难(主要是训练数据、测试数据、mask掩码文件、label标签文件较难对应上),gitlink直接上传特别大的文件又显得代码仓库很臃肿,打算后续弄个谷歌云盘。

预训练模型采用的是 Jittor 框架自带的 vgg19 模型,无需额外下载,在代码运行的过程中会载入到内存里。

训练

在单卡上训练:

sh train.sh

此前需要修改train.sh,其内容为:

# train.sh
CUDA_VISIBLE_DEVICES="0" python train.py --input_path {训练数据集路径(即train_resized文件夹所在路径)}

测试

在单卡上进行测试:

sh test.sh

图0

图1

图2

此前需要:

  1. 将label与img的映射关系(label_to_img.json)放置在gaugan目录下
  2. 修改test.sh,其内容为:
CUDA_VISIBLE_DEVICES="0" python test.py  \
--input_path {测试数据集路径(即labels文件夹所在路径),它提供label mask图} \
--img_path {训练数据集的图片路径(即train_resized/imgs文件夹所在路径,它提供ref图)}
--which_epoch {使用的模型的epoch数目}

致谢

原作者将论文的 pytorch 版本的源代码,迁移到了 Jittor 框架当中。其中借鉴了开源社区 Spectral Normalization 的代码,以及重度参考了原论文的官方开源代码:SPADE

关于

条件图像合成,即输入图片数据,合成真实感图片,在内容生成与图片编辑领域有广泛应用。一种条件图像合成的方式是,用两张图片作为输入,经过处理转换后生成一张新的图片,其中一张输入为语义分割图片(称为mask图),指示生成图片(称为gen图)的语义信息;另一张输入为参考风格图片(称为ref图),从色调等方面指示gen图的风格信息

698.0 KB
邀请码