Paper Reading: Generating Artistic Portrait Drawings from Face Photos with Hierarchical GANs

Paper Reading Note

URL:
https://cg.cs.tsinghua.edu.cn/papers/CVPR-2019-Drawing.pdf

TL;DR

CVPR2019一篇来自清华大学的文章,主要设计了一种GAN的结构APDrawingGAN,实现了利用GAN做人脸肖像画生成。

Motivation

肖像画不同于一般的轮廓,在保证人脸各部位特征的同时还需要具备一定的抽象美:
在这里插入图片描述
从左向右为原图 NPR模型 NPR加上下巴轮廓引导 APDrawingGAN

而SOTA的GAN方法在做这个任务时要么就会改变人脸部特征(1-4),要么会犯错(5-6):
在这里插入图片描述

Algorithm

在这里插入图片描述

Generator部分

Generator采用的结构是global net+local net。global部分用的是一个8层*2的U-Net结构,用于提取图片的全局特征。local部分将左眼等六个local属性单独提取出来,用了3层*2和4层*2的U-Net,这里对每一个local feature都添加了一个L1的loss:
在这里插入图片描述
提取之后通过一个fusion net将二者结合,得到fake image。
计算这里的损失是本文的一个亮点。由于与以往的任务不同,本文的任务目标是黑色线条构成,因此如果计算pixel-wise的loss会有较大的误差。这里作者用了一个DT Loss:
在这里插入图片描述
其中用于表示两张图的distance的函数:
在这里插入图片描述
这里定义的意思就是对于每个pixel,去找离他最近的原图中pixel,计算之间的的距离

Discriminator部分

与Gen部分类似,也分成了global和local部分,最后将两部分结合求一个true/fake损失。

Dataset

由于这个模型是需要pairs作为ground truth,且为了保证分布的一致性,作者雇佣了一个专业的画师画了140张图作为训练集(这里真的够吗?)。由于不需要label标签,作者在各个论文数据集中选取了6655张清晰人脸图像作为测试集。

Results

作者修改模型各部分参数的结果:
在这里插入图片描述
与SOTA方法对比:
在这里插入图片描述
当然,目前没有SOTA的研究是针对这个任务的,所以这个对比的说服性不够,不过直观上看起来确实效果还可以。

Thoughts

本篇论文一个亮点在于提出了global和feature结合的Generator,能够看出在把握细节特征上也做的很出色。另一个亮点在于提出了针对于该任务的DT Loss,在线条构成的图上更适用。

Demo

作者做了一个小程序demo可以看效果。

扫描二维码关注公众号,回复: 11495833 查看本文章

猜你喜欢

转载自blog.csdn.net/baidu_41617231/article/details/107744932