版权声明:禁止转载。(首发时间:2021-05-22,更新时间:2021-11-28) |  个人笔记,仅供参考。所列出的论文大多尚处于研究阶段。

接上一篇,继续研究 。(返回论文笔记首页)


目录

3. 数据集

3.1 数据获取与清洗

3.2 属性自动标注

3.3 数据集 VS 生成模型?

4. 高级功能:头像插值(头像融合)与渐变动画


3. 数据集

3.1 数据获取与清洗

要想训练出高质量的动漫头像生成模型,其必要前提为:数据集中的插画质量高、绘画风格一致、噪声小。现有的大规模插画数据集虽然提供了大量插画,但存在绘画风格差异巨大、数据集内噪声多等问题。为了避免这些问题,本文选择了一个游戏销售网站上的“游戏人物介绍插画”作为数据来源。

在批量下载的插画中,如何自动找出头像所在区域的坐标?论文使用基于Local Binary Pattern(LBP)特征的“人脸检测”(Face Detection)算法 [foot note-6]。为了使检测结果包含发型,将算法输出的检测框(bounding box)放大为原来的1.5倍。

对下载的插画进行“头像检测”(人脸检测)

数据清洗:为保证数据质量,作者对数据集中的每张图像逐一进行了人工检查,剔除了约4%的低质量及头像检测错误的图像。另外,由于2003年之前的头像绘制风格偏旧,只选用2005年之后发表的插画。

最终筛选出约三万张(31255张)高质量头像用于训练,每张头像的分辨率为128×128。(生成结果使用超分辨率网络进行放大。)

模型大小:约4-10 MB。

3.2 属性自动标注

问题:从网上批量下载的插画没有附带属性标注信息(如:发型、发色等),怎么办?

(Illustration2Vec论文简介)

3.3 数据集 VS 生成模型?

一个值得思考的问题:当拥有了带有属性标注的头像数据集之后,为什么还需要训练头像自动生成模型?“数据集”能否代替“自动生成模型”? {*}

(1)理论上,当数据集的规模趋于无限大,使得每种可能的属性组合都包含大量例子时,可能不太需要再训练自动生成模型。但实际上,随着属性数量的增多,可能出现的属性组合数会呈爆炸式增长!而高质量头像的设计和绘制需要较高成本,所以不太可能拥有如此大规模的数据集。

另外,笔者认为应该从“创新”(而不是“模仿”)的角度来思考这一问题:

(2)GAN生成器以随机噪声作为输入,使得即使设置的属性完全相同,每次生成的结果也会发生微小但随机的变化。这是图片总数固定的数据集所无法实现的。

(3)GAN能够生成数据集中不存在的属性组合。例如数据集中分别有蓝发的头像和绿眼的头像,但没有蓝发绿眼的头像。而经过训练后,GAN能够生成蓝发绿眼的头像。(前提是GAN已充分学习了蓝发的特征和绿眼的特征。)

(4)GAN能学习训练集中不同图像的“特征”(“特征”包括但不限于所标注的属性),并将来自不同图像的特征无缝融合在一张生成结果中。所以,GAN能够“创造”数据集中不存在的头像

(5)GAN可以实现“两幅头像间的插值”和“头像渐变动画”。(下文将进行介绍)

4. 高级功能:头像插值(头像融合)与渐变动画

问题:给定任意两幅由网络生成的动漫头像A和B,如何在这两幅头像之间自动生成N幅“插值头像”(Interpolation of facial images)?

“插值”(Interpolation)指自动生成介于两个给定数据之间的N个过渡数据,以补全两个给定数据之间的差距。例如:在1与9之间,等距插值三个数为:3,5,7。而“头像插值”指生成N个过渡头像,其外貌特征介于输入头像A和B之间;且外貌特征从头像A逐渐过渡到头像B。另外,如果将N幅插值头像作为动画帧连续播放,就能构成“头像渐变动画”。

头像插值效果(第一列与最后一列,是由不同属性配置生成的头像。中间的8列为插值头像。)

头像渐变动画-演示:

(1)StyleGAN2头像渐变动画:链接   (StyleGAN2由NVIDIA2019年12月发布)

(2)一家机器学习公司实验性项目的部分头像渐变动画:


对于这个问题,笔者一开始以为只是简单地对指定的两幅头像图片使用“图像融合”或者“插帧”算法。但实际上,图像融合/插帧算法无法实现这种效果。

正确的方法,是对输入网络的“随机噪声”和“属性配置向量”进行插值(而不是对网络输出的头像进行融合)。具体方法为:记生成头像A和B的随机噪声和属性配置(本质为一个向量)为a和b。使用插值算法(SLERP、POLAR或线性插值)在向量a和b之间,生成N个插值向量。然后将这N个插值向量输入网络,即可得到N个插值头像 {*}。

示意图:在隐空间中,对输入的随机噪声进行插值(圆形逐渐变成三角形,蓝色逐渐过渡为红色) [ref-2]

进一步思考:“头像插值”的本质原理是什么? {*}

笔者认为其原理为:网络从数据中学到的“特征”位于连续空间中(而不是离散空间中)。并且,当训练数据集足够大(指经过数据清洗之后的高质量数据的数据量),数据分布广泛且覆盖到各种具有代表性的例子时,网络内部能够自动为不同特征进行非常复杂的非线性插值,形成不同特征间的平滑、渐变式过渡。这种特征插值,是在高维空间中,很多个(大于2个)特征之间进行插值。而且,插值的效果,会随着数据集的内容、数据集的规模、数据集的组成结构、网络结构、训练超参数等因素的改变而发生变化。(具体插值方式目前暂时不明。)这可能是深度神经网络具有一定“泛化能力”(Generalization Ability)的原因之一,也是深度学习的一个奇妙之处!

在深度神经网络内部,或许存在类似于生物学中“蜂巢”3D结构的插值机制? [ref-5]

“头像插值”的另一个应用为:一家机器学习公司于2018年开发了一个实验性项目,结合了GAN和BlockChain技术 [ref-3]。(该项目现已下线。)该项目支持对不同头像进行头像融合,生成兼具二者特征的新角色(在融合过程中,会添加一定的随机变化)。该技术目前的应用为:试图构建一种基于GAN插值的新型游戏玩法。

该项目中的头像融合效果  [ref-3]

​​​Open Question

(1)如何使用数学算法,实现类似的效果?(相关论文:[ref-1])

(2)相较于人物插画数据集,Pokémon数据集要小得多。借助GAN的生成和插值能力,能否设计出新的Pokémon卡通角色(最好是较高质量的生成结果)

【GIF】由画家人工绘制的Pokémon插值动画
(遭遇野生“百变怪”,像素画风)
(画家的名字可能是JJA,或许是一位研究过深度神经网络的画家)

参考资料:

{*}为本blog为了便于理解论文而补充介绍的内容。

[ref-1] Mohammed U, Prince S J D, Kautz J. Visio-lization: generating novel facial images[J]. ACM Transactions on Graphics (TOG), 2009, 28(3): 1-8. (生成人脸照片,基于图论算法

[ref-2] Generating Anime Characters with StyleGAN2

[ref-3] https://www.preferred.jp/en/news/pr20190403/

[ref-5] 图片引用:https://www.vecteezy.com/vector-art/365319-isolated-beehive-on-white-background


相关:

1. 问题:根据简笔画,能否自动生成动漫头像?  (论文简介:根据简笔画,自动生成线稿和插画)

2. 如何通过DCGAN实现动漫人物图像的自动生成-淘宝技术团队实验报告

3. 译:玩转StyleGAN2模型:教你生成动漫人物

论文笔记(2):Cartoon Avatar Generation with Configurable Attributes based on GAN相关推荐

  1. [论文笔记]A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection

    paper 一.论文思想 训练一个目标检测器,对遮挡和形变鲁棒,目前的主要方法是增加不同场景下的图像数据,但这些数据有时又特别少.作者提出使用对抗生成有遮挡或形变的样本,这些样本对检测器来说识别比较困 ...

  2. 【论文笔记】Stylistic Response Generation by Controlling Personality Traits and Intent

    Stylistic Response Generation by Controlling Personality Traits and Intent 文章目录 Stylistic Response G ...

  3. 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)

    一个有效的基于图卷积神经网络的社交推荐模型 原文链接:SocialGCN: An Efficient Graph Convolutional Network based Model for Socia ...

  4. 论文笔记—ITS+假名管理—ASPA: Advanced Strong Pseudonym based Authentication in Intelligent Transport System

    ASPA: Advanced Strong Pseudonym based Authentication in Intelligent Transport System 文献翻译 目录 ASPA: A ...

  5. 【虚拟试衣论文笔记】Towards Scalable Unpaired Virtual Try-On via Patch-Routed Spatially-Adaptive GAN

    论文地址:https://proceedings.neurips.cc/paper/2021/file/151de84cca69258b17375e2f44239191-Paper.pdf 项目地址: ...

  6. 论文笔记:Editing-Based SQL Query Generation for Cross-Domain Context-Dependent Questions

    论文笔记:Editing-Based SQL Query Generation for Cross-Domain Context-Dependent Questions 目录 论文笔记:Editing ...

  7. 论文笔记-Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation

    论文笔记-Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation 创新点:混合检索生成+强化学 ...

  8. 论文笔记 ISCC 2019|BGP Dataset Generation and Feature Extraction for Anomaly Detection

    文章目录 1 简介 1.1 动机 1.2 创新 2 背景知识 3 方法 3.1 特征提取 3.2 数据集生成 3.3 流量行为趋势分析 3.3.1 Anomaly and regular traffi ...

  9. 《SONG FROM PI: A MUSICALLY PLAUSIBLE NETWORK FOR POP MUSIC GENERATION》论文笔记

    出处:ICLR 2017 Motivation 提出一个通用的基于RNN的pop music生成模型,在层次结构中封装了先验乐理知识(prior knowledge about how pop mus ...

  10. GAN for NLP (论文笔记及解读

    GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响."深度解读:GAN模型及其在2016年度的进展"[1]一文对过去一年GAN的进展做了详细介绍,十分 ...

最新文章

  1. cache.config配置文件解读
  2. iOS OC和Swift混编
  3. 使用Laya引擎开发微信小游戏(下)
  4. 第1章python基础语法1
  5. Java中IO和NIO的本质和区别
  6. Stream流的基本使用方法
  7. ftp同一主机的多个子进程使用同一个套接字_linux进程通信方式对比
  8. SQLServer优化二
  9. JAVA 第3课 数组
  10. Springboot 配置类( @Configuration) 不能使用@Value注解从application.propertyes中加载值以及Environment为null解决方案
  11. Linux SSH免密码登录与拷贝文件(SCP)- 亲测
  12. 为什么建议要延迟macOS升级,小编为你全面分析!
  13. uva 10246(变形floyd)
  14. slf4j-api slf4j-log4j12以及log4j之间的关系
  15. Monitor HDU6514 二维差分入门学习
  16. 微型计算机汇编用什么软件,EMU8086 汇编工具软件的使用
  17. 基于FPGA(cyclone IV)的NOR FLASH的应用
  18. SharePoint Online 触发的Automate工作流的调试
  19. 玩游戏计算机虚拟内存怎么设置,【新手指导】电脑虚拟内存设置
  20. java 中文词性标注_pyhanlp 中文词性标注与分词简介

热门文章

  1. 西数服务器硬盘300G,特立独行 西数300G万转猛禽硬盘欣赏
  2. 论文翻译:Dual-path RNN: efficient long sequence modeling for time-domain single-channel speech separatio
  3. 喜报!易基因“同源基因特异性甲基化时序数据分析方法”获专利授权
  4. 万网域名查询接口(API)的说明
  5. DEVC++安装后编程运行时老是提示“源文件未编译”
  6. 面渣逆袭:JVM经典五十问,这下面试稳了
  7. POS打印机设置字体大小
  8. 并行计算机未来发展前景
  9. 什么是IDE?新手用哪个IDE比较好?
  10. 【Arduino IDE 2.0他来了】