清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第1张图片

作者 | 刘永进教授
来源 | 转载自数据派THU(ID:DatapiTHU)

清华大学提出APDrawingGAN,该项工作被CVPR 2019录取为oral paper。CVPR是计算机视觉和人工智能领域内的国际顶级会议,2019共收到投稿5160篇,录取1300篇,其中oral paper288篇,仅占全部投稿的5.6%。

作者制作了一个微信小程序展示APDrawingGAN的效果,小程序二维码如下,免费使用,快来试试吧:

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第2张图片

肖像画是一种独特的艺术形式,通常使用一组稀疏的连续图形元素如线条来捕捉一个人的外表特征。肖像画通常是在人物面前或基于人物照片进行创作的,其创作依赖于细致的观察、分析和丰富的经验。一幅好的肖像画能很好地捕捉到人的个性和情感。然而,即使是受过专业训练的艺术家,完成一幅精致的肖像画也需要很长时间。
因此,自动地将人脸照片转换为高质量的艺术肖像画具有重要的艺术价值和实用价值。

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第3张图片

图1. 一些人脸照片和对应的艺术家画的肖像线条画。

随着深度学习的发展,使用卷积神经网络进行图像风格转换的神经风格转换(NST)方法被提出。随后,基于生成对抗网络(GAN)的方法在图像风格转换上实现了很好的效果。然而,这些已有方法多数针对于生成信息较为丰富的风格,如油画,这些风格的图像中包含很多零碎的图形元素(如笔触),而对单个元素的质量要求较低。也就是说,在这些风格的图像中,一些细节上的瑕疵会被忽视。

艺术肖像线条画(Artistic Portrait Drawings,简称APDrawings)和已有工作研究的油画肖像的风格有很大的不同。它主要有5个特点:首先它是高度抽象的,只由少数稀疏、连续的图形元素组成,因此瑕疵会比油画中更明显。其次是具有强限制性,由于包含面部特征,APDrawings相比一般的风格有更强的语义限制(因为我们对人脸很熟悉,会对人脸图像中的瑕疵容忍度更低)。第三是具有多样性,因为对于不同的面部特征,艺术家绘制的方式是不同的(如眼睛和头发)。第四是非精确性,人工创作导致了一些面部特征的轮廓没法被完全精准的定位,这对基于像素对应的方法是个很大的挑战。最后是APDrawings的概念性,艺术家有时会在原图没有亮度变化的地方添加额外的概念性的线条,比如头发区域中的白线和五官的轮廓线。因此,即使是顶尖的方法也难以产生好的艺术肖像画结果。

APDrawingGAN和一般P图、抠图、滤镜等工具的不同在于,一般的软件对真实照片进行美化得到更美观或具有某种特点的真实照片,而APDrawingGAN生成的是非真实感的抽象艺术肖像画,既能捕捉到照片特征又和真实照片观感完全不同。并且我们生成的线条风格的艺术肖像画比一般的肖像画(如卡通、铅笔素描)具有更少的图形元素,更抽象,因此也更有难度。下图展示了我们方法和一般图像处理工具的结果对比。

640?wx_fmt=png

图2. 我们的方法和一般图像处理工具的处理结果的对比。人脸照片来源于免费版权图片网站Pixabay。

基于上述存在的问题,在CVPR2019上,清华大学计算机系刘永进教授课题组提出了APDrawingGAN,一个全新的层次化的GAN模型用于将人脸照片转化为高质量的艺术肖像线条画。为了更有效地学习不同面部区域的不同绘制风格,我们的GAN模型包括几个专门针对不同面部特征区域的局部网络,和一个用于捕捉整体特征的全局网络。为了进一步应对线条的风格和艺术家画作中不完全精确定位的轮廓,我们提出了一个全新的距离变换(Distance transform,简称DT)损失来学习艺术肖像线条画中的线条笔画风格。

APDrawingGAN的主要贡献在于:

  1. 我们提出了一个层次化的GAN模型,可以有效地从人脸照片生成高质量、富有表现力的艺术肖像线条画。不仅如此,我们的方法对黑白线条分明的复杂发型绘制有更好的效果。

  2. 为了学习不同面部区域的不同绘制风格,我们的模型将GAN的渲染输出分为不同层次,每个层次被独立的损失项控制。我们提出了一个针对艺术肖像画的损失函数,它包含四个损失项:对抗损失,像素级损失,一种新的距离变换(DT)损失(用于学习艺术肖像画中的线条笔画)和一个局部变换损失(用于引导局部网络保持面部特征)。

  3. 我们使用6655张人脸照片和非真实感渲染算法生成的结果进行了预训练,构建了一个包含140对高质量正面人脸照片和对应艺术肖像画的APDrawing数据集,用于正式的训练和测试。

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第4张图片

图3. 我们提出的APDrawingGAN的结构图。左侧为层次化生成器网络的结构,右侧为层次化鉴别器网络的结构。

在APDrawingGAN中,生成器网络G和鉴别器网络D都采用层次化的结构。生成器网络G用于将输入照片转换为艺术肖像画,它包含6个局部生成器(对应于左右眼、鼻子、嘴巴、头发和背景),1个全局生成器和1个融合网络。局部生成器的作用是学习不同局部面部特征的绘制风格。我们将所有局部生成器的输出混合到一个图像Ilocal中。局部生成器和全局生成器都采用U-Net结构。然后我们使用一个融合网络将Ilocal和全局生成器的输出Iglobal融合在一起,以获得最终的生成图。鉴别器网络D用于判断输入图像是否是真实的,即是否是艺术家画的艺术肖像画。其中全局鉴别器对整个图像进行检查,以判断肖像画的整体特征。而局部鉴别器对不同的局部面部区域进行检查,评估细节的质量。局部鉴别器和全局鉴别器都采用PatchGAN的形式。

针对艺术肖像线条画中的线条笔画风格,我们提出了一个全新的距离变换(DT)损失。我们前面提到,在艺术家的肖像画中,线条和原图有时不是精确对应的,会有微小的错位,主要的原因有两个:1.艺术家裸眼观察,面部特征的轮廓有时无法被完全精准地定位,2.艺术家添加的线条有时是概念性的,不与原图完全对应(如头发区域中的白线)。因此仅使用L1损失是不足以应对这种情况的——L1损失会惩罚即使是很微小的错位,但是对于较大的错位并不会更敏感。于是我们提出一种新的损失来容忍这种细微的错位,而惩罚过大的错位。我们提出的这个DT损失是基于距离的,它计算的是艺术家肖像画(Ground truth)中每个线条上的像素到生成肖像画中相同类型(黑或白)的最近像素的距离之和,和生成肖像画到艺术家肖像画的距离之和的总和。DT损失对于微小的错位的惩罚是非常小的,但会真正惩罚那些过大的错位。我们使用了距离变换和倒角匹配(chamfer matching)来计算这个损失,公式如下:


清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第5张图片

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第6张图片

图4. APDrawingGAN在没有对应艺术家肖像画的人脸照片上的测试结果。人脸照片来源于免费版权图片网站Pixabay。

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第7张图片

图5. APDrawingGAN与Gatys,CycleGAN和Pix2Pix方法在艺术肖像风格化上的结果对比。其中红色矩形标出了CycleGAN和Pix2Pix方法结果中的一些明显瑕疵。

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第8张图片

图6. APDrawingGAN与CNNMRF,Deep Image Analogy和Headshot Portrait方法在艺术肖像风格化上的结果对比。

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第9张图片

图7. 更多APDrawingGAN与现有风格转换方法的结果对比。第一列是人脸照片,第二列是艺术家画的肖像画,第三列是一些方法需要的风格参考图,第四至九列是其他方法的结果,最后一列是我们方法的结果。

清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画_第10张图片

图8. 用户研究(user study)结果统计。73名参与者参与了用户研究。用户研究中,每位参与者每次从两种算法生成的肖像画中选择一幅更接近艺术家肖像画和图像质量更好的肖像画,并对三种方法(CycleGAN、Pix2Pix和我们的方法)两两进行了比较,由此我们得到了三种方法的排名。表中给出了每种方法排名最好(1)、中间(2)和最差(3)的百分比。在71.39%的情况下我们的方法排名最好。

论文信息:
Ran Yi, Yong-Jin Liu, Yu-Kun Lai and Paul L. Rosin. APDrawingGAN: Generating Artistic Portrait Drawings from Face Photos with Hierarchical GANs. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR 19), Oral paper, 2019.
论文链接:
https://cg.cs.tsinghua.edu.cn/people/~Yongjin/Yongjin.htm


精彩推荐


参与投稿加入作者群,成为全宇宙最优秀的技术人~


640?wx_fmt=png


6月29-30日,2019以太坊技术及应用大会 特邀以太坊创始人V神与以太坊基金会核心成员,以及海内外知名专家齐聚北京,聚焦前沿技术,把握时代机遇,深耕行业应用,共话以太坊2.0新生态。


扫码或点击阅读原文,既享优惠购票!


640?wx_fmt=jpeg


推荐阅读

  • Bert时代的创新:Bert在NLP各领域的应用进展 | 技术头条

  • 免费GPU哪家强?谷歌Kaggle vs. Colab

  • 高能!8段代码演示Numpy数据运算的神操作

  • Python编写循环的两个建议 | 鹅厂实战

  • Lambda 表达式有何用处?

  • 9年前他用1万个比特币买了两个披萨, 9年后他把当年的代码卖给了苹果,成为了 GPU 挖矿之父

  • TIOBE 6月编程语言排行榜:Python 势不可挡,或在四年之内超越Java、C

  • 漫威金刚狼男主弃影炒币了?


640?wx_fmt=png 你点的每个“在看”,我都认真当成了喜欢

你可能感兴趣的:(清华大学提出APDrawingGAN,人脸照片秒变艺术肖像画)