风格迁移训练模版仅支持 MNN 工作台 v1.3.1 版本及以上使用
风格迁移训练模版仅支持 MNN 工作台 v1.3.1 版本及以上使用
风格迁移训练模版仅支持 MNN 工作台 v1.3.1 版本及以上使用
1. 概述
MNN 工作台风格迁移模板提供图片风格迁移训练能力,能够实现任意图片的风格迁移。如下图所示,给定一张目标图片,工作台能够训练出一个模型,该模型能够将任意图片的风格迁移到目标图片。
图例 1. 图片风格迁移示意图
MNN 工作台在该训练能力下提供了两种训练方案:一种是1 vs 1风格迁移方案,通过训练优化 1 张源图片到 1 张目标图片的风格差异,得到风格迁移结果图片。该方案能够实现 1 分钟内完成训练,达到风格迁移效果,可以用来理解图片风格迁移过程,同时便于调试训练相关的参数;另一种为 1vsN 的风格迁移方案,该方案通过 N 张训练图片以及 1 张目标图片训练得到一个模型,该模型能够实现任意图片到目标图片的风格迁移。
本方案产出的MNN模型大小为709k,能够实现在移动端图片实时风格迁移。
2 训练步骤
2.1. 准备数据
风格迁移训练相关数据主要包括三种数据,一种是目标图片,即图片要迁移的目标风格图片;一种是验证图片,用于验证训练过程中模型产生的图片的风格效果;一种是用于训练模型参数的训练图片,该训练图片至少 500 张,可以是任意图片。训练图片数量越多,图片内容差异性越大,训练得到的模型效果越好。
2.2. 训练流程
- 打开 MNN 工作台,进入工作台主界面。
图例 2. MNN 工作台主界面
- 点击
Train a deep learning model
,进入模型训练页面。
图例 3. MNN 工作台模型训练模版选择界面
- 图片分类工程在
Image
分类下,点击Image
栏,找到并点击Style Transfer
。首次/更新使用需联网,MNN 工作台会不定期更新最好用的训练模版
图例 4. MNN 工作台图像相关训练能力模型展示
- (首次使用)需要下载 MNN 工作台风格迁移训练模版,点击
Download
进行下载,如下图所示。其中FastStyleTransfer能够训练产生任意图片风格迁移的模型,该方案训练耗时一般在 30 分钟左右,用于产生目标图片风格迁移相关的 MNN 模型; StyleTransfer1vs1用于 1 张源图片到 1 张目标图片的训练,该方案训练耗时在 1 分钟之内,用于风格效果验证以及训练相关参数调试。
图例 5. MNN 工作台图片风格迁移模型下载
2.2.1 StyleTransfer1vs1 训练流程
- 下载StyleTransfer1vs1训练工程,点击
Next
进入项目配置页面,在Project Name
上出入项目名称,比如MyStyleTransfer1vs1
,点击Next
图例 6. MNN 工作台图像分类工程配置
- 选择目标文件夹,对工程进行保存。
图例 7. MNN 工作台选择工程保存路径
- 点击
Next
,进入训练工程界面。工作台会自动配置训练环境,首次使用需联网加载相关配置,请耐心等候。
图例 8. MNN 工作台训练工程初始化
StyleTransfer1vs1 训练工程页面中存在两个配置模块:
Data Inputs
,数据选择模块,主要进行数据相关操作。Style Image
,选择目标风格图片。Validation Image
,选择验证图片。Content Image
,选择训练数据集。本方案下该栏可以不选。
**
Parameters
,参数设置模块,用于调节模型训练的相关参数。Max epoch
, 用于训练迭代的周期数,默认值为 5,该值越大,训练次数越多,训练时间越长。StyleStrength
, 用于控制风格迁移中目标风格的强度,默认值为 3,该值越大,训练产生的图片目标风格越强;反之,训练产生的图片目标风格越弱。contentStength
,用于控制风格迁移中源图片内容的强度,默认值为3,该值越大,保留源图片的信息就越多;反之,保留源图片的信息就越少。
- 点击
Style Image
中的Select Files
,选择目标风格图片;点击Validation Image
中的Select Files
,选择验证图片
图例 9. MNN 工作台训练工程数据集选择界面
- 点击
Train
按键,模型开始训练,其中Validation image in progress 栏会实时显示模型训练效果图,如下图所示。
图例 10. MNN 工作台训练中
- 训练完成后,在Training一栏会显示训练过程,损失函数值得变化曲线。
图例 11. MNN 工作台训练 Training Loss 图形化界面
- 在验证图片所在同目录中,有训练得到的风格迁移效果图,本例效果图如下所示。
图例 12. 1vs1 风格迁移效果
- 至此,完成 StyleTransfer1vs1 训练流程介绍。
2.2.2 FastStyleTransfer 训练流程
- 下载FastStyleTransfer训练工程,点击
Next
进入项目配置页面,在Project Name
上出入项目名称,比如MyStyleTransfer
,点击Next
图例 13. MNN 工作台图像分类工程配置
- 选择目标文件夹,对工程进行保存。
图例 14. MNN 工作台选择工程保存路径
- 点击
Next
,进入训练工程界面。工作台会自动配置训练环境,首次使用需联网加载相关配置,请耐心等候。
图例 15. MNN 工作台训练工程初始化
FastStyleTransfer 训练工程页面中存在两个配置模块:
Data Inputs
,数据选择模块,主要进行数据相关操作。Style Image
,选择目标风格图片。Validation Image
,选择验证图片。Content Image
,选择训练数据集。
Parameters
,参数设置模块,用于调节模型训练的相关参数。Max epoch
, 用于训练迭代的周期数,默认值为 20,该值越大,训练次数越多,训练时间越长。Quantization
, 是否对模型进行权值量化,MNN工作台提供的权值量化能力能够实现模型4倍体积压缩。StyleStrength
, 用于控制风格迁移中目标风格的强度,默认值为 3,该值越大,训练产生的图片目标风格越强;反之,训练产生的图片目标风格越弱。contentStength
,用于控制风格迁移中源图片内容的强度,默认值为3,该值越大,保留源图片的信息就越多;反之,保留源图片的信息就越少。
- 点击
Style Image
中的Select Files
,选择目标风格图片;点击Validation Image
中的Select Files
,选择验证图片;点击Content Images
中的Select Files
,选择训练数据文件夹,工作台会自动读入该文件夹下面的所有图片数据。
图例 16. MNN 工作台训练工程数据集选择界面
- 点击
Train
按键,模型开始训练,其中 Validation image in progress 栏会实时显示模型训练效果图,如下图所示。
图例 17. MNN 工作台训练中
- 训练完成后,在
Training
一栏会显示训练过程,损失函数值得变化曲线。
图例 18. MNN 工作台训练 Training Loss 图形化界面
- 在
Validation
一栏会显示模型在验证图片上的损失值变化曲线,如下图所示。
图例 19. MNN工作台验证损失值变化示意图
- 在
Output
一栏会显示已经生成的模型信息,可以发现,该模型大小为709k。
图例 20. FastStyleTransfer模型信息图
- 至此,完成关于FastStyleTransfer的训练流程介绍。
3. 模型输出和测试
3.1. 模型输出和单项测试
- 点击上方
tab
页的Output
项,进入以下界面:
Output
项中显示当前模型大小(如下图中为709K)。- 右侧信息栏显示当前模型的详细信息
图例 21. MNN 工作台训练结果界面
- 将测试图片拖入左边栏,点击图片,即可显示预测结果。该示例左侧为原图,右侧为风格迁移效果图。
图例 22. MNN 工作台训练结果所见即所得验证界面
3.2. 批量测试
- MNN 工作台也提供了批量测试的功能,点击tab页的
Testing
项,进入以下界面:
图例 23. MNN 工作台批量结果验证界面
- 点击
Select
,选中需要测试的图片所在文件夹,文件夹中支持jpg
,jpeg
和png
格式的图片。点击Test Model
开始测试,页面显示测试进度条。
图例 24. MNN 工作台批量结果验证中
- 测试完成后,测试结果以表格形式展示。
- Transfered列,该图片风格迁移效果图。
- Oringin列,原图片
- File列,图片的地址。点击地址打开图片所在的文件夹。
图例 25. MNN 工作台批量验证结果
3.3 Try in Playground
MNN 工作台图像训练模版在训练完成得到 MNN 模型后,可以通过点击训练结果界面的 Try in Playground 进入三端一体的 Playground 体验环节。具体请阅读《4.1 Playground 整体介绍》。
图例 26. MNN 工作台结果页 Try in Playground
点击进入MNN 工作台三段一体应用界面,如下图所示。
图例 27. MNN工作台三段一体界面
4. 迭代式训练
可以通过 MNN 工作台打开一个已有的工程,继续优化迭代之前的训练结果。
在首页主页面中点击open an existing project
,选择之前保存的工程文件。
图例 28. MNN 工作台主界面
点击打开,就可以直接进入工程界面,如下图所示,根据需求再进行操作。
可以在已经得到训练结果的基础上,继续迭代,增加更多的训练数据和迭代次数,增加模型的学习和泛化能力,让模型对于图像的分类结果判断更准确。
可以点击左上角 + 号按钮,创建一个全新的训练流程,与之前的流程完全独立。
图例 29. MNN工作台继续训练示意图
5. 训练数据及附件
风格数据:style.zip
训练数据: train_data.zip