笔记:APDrawingGAN: Generating Artistic Portrait Drawings From Face Photos With Hierarchical GANs

APDrawingGAN: Generating Artistic Portrait Drawings From Face Photos With Hierarchical GANs
APDrawing(艺术肖像画)特点
1.样式高度抽象,包含少量稀疏但连续的图形元素
2.样式转换具有更强的语义约束,特别是面部特征不应丢失或移位
3.APDrawing中的渲染在不同的面部部位之间不一致
4.某些轮廓无法精准的定位
5.艺术家会在原图中放置一些与低级特征无关的线条


文章贡献
1.将人脸照片生成高质量、富有表现力的艺术肖像画,对黑白线条分明的复杂发型的绘制有更好的效果
2.绘制输出分为多个图层,每个图层有单独的损失函数来控制。同时提出了四项损失的loss函数,包括对抗损失、像素级损失、一种新的DT损失、局部变换损失
3.从十个人脸数据集中使用了6655张面部照片来预训练模型,并构建了一个艺术肖像画数据集(包括140对高分辨率人脸图像和对应的艺术肖像画)

APDrawingGAN结构
不同于标准的GAN结构,文章为G和D提出了分层的网络结构,包括一个全局网络和六个局部网络。
六个局部网络分别负责左眼、右眼、鼻子、嘴、头发和背景。通过融合网络将全局网络和局部网络的输出整合到一起。原理是画师在绘画时对不同的区域使用不同的画法。由于单个CNN很难对多种特征进行编解码,分层结构可以更好的提取不同位置的特征。
1. G的分层结构
G包括Gglobal、Gl(六个区域)、Gfusion,使用U-Net*设计。
*U-Net采用的是一个包含上采样和下采样的网络结构。下采样用来逐步展现环境信息,上采样结合下采样各层信息和上采样的输入信息还原细节信息,并逐步还原图像经度。
Gl_eye_l,Gl_eye_r,Gl_nose,Gl_mouth是有三层下卷积和上卷积的U-Net。Gl_hair,Gl_bg是有四层下卷积和上卷积的U-Net。具有skip connection的U-Net可以合并多尺度特征,并提供足够的(但不是过度的)灵活性来学习艺术家在艺术肖像画中针对不同面部区域的画法。
在将所有局部G的输出融合的时候在重叠区域上使用最小池化。最小池化可以有效保留每个区域的响应。
Gglobal有八层下卷积和上卷积的U-Net。Gfusion由一个平坦卷积块、两个残差块和一个最终卷积层构成。
并不添加显式噪声,而是在U-Net上使用dropout来作为噪声。
2. D的分层结构
D包括Dglobal、Dl(六个区域)。Dglobal为全局判别器,Dl为局部判别器。使用Pix2Pix中的Markovian discriminator来实现。与Pix2Pix的区别在于输入的是整张图片或局部区域。

损失函数
1.对抗损失
D判别输入是否为真
2.像素级损失
使图片在像素尺度上更接近ground-truth
3. DT损失
使得线条和笔画的学习效果更好。使用DT损失去解决轻微的未对准情况。利用了距离转化(distance transform)和Chamfer matching。
它计算的是艺术家肖像画中每个线条上的像素到生成肖像画中相同类型(黑或白)的最近像素的距离之和,和生成肖像画到艺术家肖像画的距离之和的总和。
训练两个CNN θw和θb来检测黑白线条。
Chamfer matching:计算生成图片和ground-truth的IDT和I‘DT。
4.局部变换损失
局部G的输出与ground-truth的差异

训练
1.数据集
140对高分辨率人脸图像和对应的艺术肖像画,尺度归一化到512*512。
2.预训练初始化
从十个数据集找出6655张图像,原人脸图像用NPR生成结果并使用OpenFace添加下颌线,用于预训练10个epochs。由于NPR生成的画像是对齐的,预训练时不使用DT损失。
3.正式训练
70对样本训练,70对样本测试。进行-10°到10°的旋转和1~1.1倍的缩放进行数据增强。

标准
Frechet Inception Distance (FID)
较低的FID意味着较高图片质量和多样性。

你可能感兴趣的:(机器学习,CV,深度学习,CV)