Style transfer for traditional Chinese paintings

1. 任务概览

给定输入的一张照片和一张传统中国山水画作为参考风格, 设计并实现一种算法, 将照片转换为参考样式, 并保持照片的内容不变。如下图1所示:


Figure 1: Style transfer example of “Dwelling in Fuchun Mountain” : Apply the reference style of (a) to the real-world image (b), and get the result (c).

2. 实验要求

2.1 构建数据集

您可以通过网站爬取方法来构建自己的数据集。 或者,您可以直接使用其他人收集的数据集(例如,https://github.com/ychen93/Chinese-Painting-Dataset )。 此外,我们提供了一些高分辨率的中国画,请参见下面的链接,以基于这些长卷轴画来构建数据集。 诸如随机裁剪之类的数据增强技术是必需的。
Share link:https://pan.baidu.com/s/1vR-OBKRs2wBCeVET6SZuMg
Extraction Code:qmzy
为了使实验效果更加理想, 可以添加额外的数据集, 以下列出几个备选的数据集:
https://github.com/lbsswu/Chinese_style_transfer
https://github.com/alicex2020/Chinese-Landscape-Painting-Dataset
请在实验报告中详细介绍实验的数据集构成

2.2 设计和实现您的算法

您可以使用Tensorflow,pytorch等中的现有方法来实现,但是您需要使用步骤1中构建的数据集来训练神经网络。非常欢迎对算法进行任何改进。 请在报告中突出显示改进部分
一些经典的算法如pix2pix或cyclegan取得很好的风格迁移效果, 您可以参考其现有的代码: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
当然, 目前生成方法日新月异, 您可以进一步尝试一些现有的更加新颖的算法(可以在[https://www.cs.cmu.edu/~junyanz/]上查阅新的算法), 或者提出新的改进方法来进一步改进生成结果。
必做项:

一些可选的加分项:

2.3 实验结果展示

请参阅有关“图像风格迁移”的文章,展示风格迁移的结果, 需要提供各种改进或消融实验的对比结果来验证方法的有效性。

2.4 实验报告撰写与代码提交

请详细撰写实验用到的数据集, 使用或改进的算法(包括网络框架图/使用的损失函数等), 评价指标, 训练与测试的相关参数设置, 实验环境配置(可以用conda来配置管理环境, 请整理打包好运行环境 conda activate your_env), 代码撰写请参考开源方案的目录结构, 保持可读健壮性。另外请将训练和测试代码封装成shell文件, 方便助教复现实验结果。

一些风格迁移方法:

  1. Neural Style Transfer[1]: A famous CNN-based method for style transfer.
  2. Pix2pix[2]: A notable GAN-based method for image-to-image translation. However, this
    method requires paired training data. Therefore, when building datasets, you need to
    construct a bridge for unpaired data, e.g., you can extract edges of paintings as input
    during training phase, when switching to testing phase, using photos’ edge as input.
  3. CycleGAN[3]: An improved version of Pix2pix, solving the problem of training on unpaired
    data.

References

[1] Gatys, Leon A., Alexander S. Ecker, and Matthias Bethge. “Image style transfer using
convolutional neural networks.” Proceedings of the IEEE Conference on Computer Vision
and Pattern Recognition. 2016.
[2] Isola, Phillip, et al. “Image-to-image translation with conditional adversarial networks.”
Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.
[3] Zhu, Jun-Yan, et al. “Unpaired image-to-image translation using cycle-consistent
adversarial networks.” Proceedings of the IEEE International Conference on Computer
Vision. 2017.