阅读体会
本文分为两个系统,一个是由单纯的灰度sketch生成image,另一个是由sketch+color生成image。
Sketch to image
基本步骤:
生成sketch训练集
a) 由XDoG算子生成大量简单的sketch,约200K张,,resize到256256,cropping到128128——用于预训练
b) 图像风格转移+Photoshop的滤镜(两种)+用photoshop对灰度图进行高斯模糊+CUHK数据集及变形,共约21848张——用于fine turning
损失函数的构成
a) 像素损失,每个像素的二范数正则约束,即对应灰度值差值的平方。预训练时候有,后面没有了。
b) 特征损失,利用训练好的VGG-19,提取不同层次的图像特征,一直有
c) 生成对抗网络的损失,用于生成更加真实图像细节。但是在初始预训练时没有加入(为了更快生成和sketch近似的image),在后期才加入。
d) 总差分损失,用于抗噪。预训练时候有,后面没有了。
(注:这一步在模型生成上有很多小tricks,比如参数的调整和,训练分步。但是我存在一个疑问,在数据集生成那一段,作者提出了,200k的XDoG数据用于预训练,然后再其他方法生成的细节更丰富的sketch数据集上再进行相同方法训练的fine turning,但是在后面网络的训练过程中,又提到了在训练分为两步,一步不包含Ladv,一步包含。根据我的理解是这样一个过程:
1、 Lp,Lf,Ltv在200k数据集上训练
2、 Lf和Ladv在200k数据集上训练
3、 Lp,Lf,Ltv在20k数据集上fine turning
4、 Lf和Ladv在20k数据集上fine turning
不知道这样对不对,和王博士探讨。
并且我看了一下作者给出的补充材料,有一部分是github上的code,不过在公司的网上我没打开,我回学校再看看。注:回学校发现也打不开,这个工程貌似被作者上传之后又设为私人了)
Sketch+ color to image
与上一部分的区别在于训练集的sketch上有一些颜色信息,以及训练过程中设置了不同的参数。训练集上Sketch上的颜色是随机在原图上采样得到的。这样可以保证在一定区域内生成的颜色和用户画在sketch上的颜色是一致的。
阅读体会 本文分为两个系统,一个是由单纯的灰度sketch生成image,另一个是由sketch+color生成image。 Sketch to image 基本步骤:
(注:总觉得这个数据集里面增加sketch多样性的方法(镜像,旋转,以及调节光照情况和随机去掉一些线条)在增强鲁棒性的同时,稍微有一些有种强行扩大数据集的感觉。其中CUHK数据集我曾在复现论文时下载过,是一些学生画的人像素描,全是照片和人,也都是小图)
(注:这一步在模型生成上有很多小tricks,比如参数的调整和,训练分步。但是我存在一个疑问,在数据集生成那一段,作者提出了,200k的XDoG数据用于预训练,然后再其他方法生成的细节更丰富的sketch数据集上再进行相同方法训练的fine turning,但是在后面网络的训练过程中,又提到了在训练分为两步,一步不包含Ladv,一步包含。根据我的理解是这样一个过程: 1、 Lp,Lf,Ltv在200k数据集上训练 2、 Lf和Ladv在200k数据集上训练 3、 Lp,Lf,Ltv在20k数据集上fine turning 4、 Lf和Ladv在20k数据集上fine turning 不知道这样对不对,和王博士探讨。 并且我看了一下作者给出的补充材料,有一部分是github上的code,不过在公司的网上我没打开,我回学校再看看。注:回学校发现也打不开,这个工程貌似被作者上传之后又设为私人了) Sketch+ color to image 与上一部分的区别在于训练集的sketch上有一些颜色信息,以及训练过程中设置了不同的参数。训练集上Sketch上的颜色是随机在原图上采样得到的。这样可以保证在一定区域内生成的颜色和用户画在sketch上的颜色是一致的。
不过!大家都是用caffe做的。。我们要不也考虑变回caffe。。?