论文笔记(2):Cartoon Avatar Generation with Configurable Attributes based on GAN
版权声明:禁止转载。(首发时间: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倍。
![](/assets/blank.gif)
数据清洗:为保证数据质量,作者对数据集中的每张图像逐一进行了人工检查,剔除了约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幅插值头像作为动画帧连续播放,就能构成“头像渐变动画”。
![](/assets/blank.gif)
头像渐变动画-演示:
(1)StyleGAN2头像渐变动画:链接 (StyleGAN2由NVIDIA于2019年12月发布)
(2)一家机器学习公司实验性项目的部分头像渐变动画:
对于这个问题,笔者一开始以为只是简单地对指定的两幅头像图片使用“图像融合”或者“插帧”算法。但实际上,图像融合/插帧算法无法实现这种效果。
正确的方法,是对输入网络的“随机噪声”和“属性配置向量”进行插值(而不是对网络输出的头像进行融合)。具体方法为:记生成头像A和B的随机噪声和属性配置(本质为一个向量)为a和b。使用插值算法(SLERP、POLAR或线性插值)在向量a和b之间,生成N个插值向量。然后将这N个插值向量输入网络,即可得到N个插值头像 {*}。
![](/assets/blank.gif)
进一步思考:“头像插值”的本质原理是什么? {*}
笔者认为其原理为:网络从数据中学到的“特征”位于连续空间中(而不是离散空间中)。并且,当训练数据集足够大(指经过数据清洗之后的高质量数据的数据量),数据分布广泛且覆盖到各种具有代表性的例子时,网络内部能够自动为不同特征进行非常复杂的非线性插值,形成不同特征间的平滑、渐变式过渡。这种特征插值,是在高维空间中,很多个(大于2个)特征之间进行插值。而且,插值的效果,会随着数据集的内容、数据集的规模、数据集的组成结构、网络结构、训练超参数等因素的改变而发生变化。(具体插值方式目前暂时不明。)这可能是深度神经网络具有一定“泛化能力”(Generalization Ability)的原因之一,也是深度学习的一个奇妙之处!
![](/assets/blank.gif)
“头像插值”的另一个应用为:一家机器学习公司于2018年开发了一个实验性项目,结合了GAN和BlockChain技术 [ref-3]。(该项目现已下线。)该项目支持对不同头像进行头像融合,生成兼具二者特征的新角色(在融合过程中,会添加一定的随机变化)。该技术目前的应用为:试图构建一种基于GAN插值的新型游戏玩法。
![](/assets/blank.gif)
Open Question:
(1)如何使用数学算法,实现类似的效果?(相关论文:[ref-1])
(2)相较于人物插画数据集,Pokémon数据集要小得多。借助GAN的生成和插值能力,能否设计出新的Pokémon卡通角色?(最好是较高质量的生成结果)
![](/assets/blank.gif)
(遭遇野生“百变怪”,像素画风)
(画家的名字可能是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相关推荐
- [论文笔记]A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection
paper 一.论文思想 训练一个目标检测器,对遮挡和形变鲁棒,目前的主要方法是增加不同场景下的图像数据,但这些数据有时又特别少.作者提出使用对抗生成有遮挡或形变的样本,这些样本对检测器来说识别比较困 ...
- 【论文笔记】Stylistic Response Generation by Controlling Personality Traits and Intent
Stylistic Response Generation by Controlling Personality Traits and Intent 文章目录 Stylistic Response G ...
- 论文笔记(SocialGCN: An Efficient Graph Convolutional Network based Model for Social Recommendation)
一个有效的基于图卷积神经网络的社交推荐模型 原文链接:SocialGCN: An Efficient Graph Convolutional Network based Model for Socia ...
- 论文笔记—ITS+假名管理—ASPA: Advanced Strong Pseudonym based Authentication in Intelligent Transport System
ASPA: Advanced Strong Pseudonym based Authentication in Intelligent Transport System 文献翻译 目录 ASPA: A ...
- 【虚拟试衣论文笔记】Towards Scalable Unpaired Virtual Try-On via Patch-Routed Spatially-Adaptive GAN
论文地址:https://proceedings.neurips.cc/paper/2021/file/151de84cca69258b17375e2f44239191-Paper.pdf 项目地址: ...
- 论文笔记:Editing-Based SQL Query Generation for Cross-Domain Context-Dependent Questions
论文笔记:Editing-Based SQL Query Generation for Cross-Domain Context-Dependent Questions 目录 论文笔记:Editing ...
- 论文笔记-Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation
论文笔记-Hybrid Retrieval-Generation Reinforced Agent for Medical Image Report Generation 创新点:混合检索生成+强化学 ...
- 论文笔记 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 ...
- 《SONG FROM PI: A MUSICALLY PLAUSIBLE NETWORK FOR POP MUSIC GENERATION》论文笔记
出处:ICLR 2017 Motivation 提出一个通用的基于RNN的pop music生成模型,在层次结构中封装了先验乐理知识(prior knowledge about how pop mus ...
- GAN for NLP (论文笔记及解读
GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响."深度解读:GAN模型及其在2016年度的进展"[1]一文对过去一年GAN的进展做了详细介绍,十分 ...
最新文章
- cache.config配置文件解读
- iOS OC和Swift混编
- 使用Laya引擎开发微信小游戏(下)
- 第1章python基础语法1
- Java中IO和NIO的本质和区别
- Stream流的基本使用方法
- ftp同一主机的多个子进程使用同一个套接字_linux进程通信方式对比
- SQLServer优化二
- JAVA 第3课 数组
- Springboot 配置类( @Configuration) 不能使用@Value注解从application.propertyes中加载值以及Environment为null解决方案
- Linux SSH免密码登录与拷贝文件(SCP)- 亲测
- 为什么建议要延迟macOS升级,小编为你全面分析!
- uva 10246(变形floyd)
- slf4j-api slf4j-log4j12以及log4j之间的关系
- Monitor HDU6514 二维差分入门学习
- 微型计算机汇编用什么软件,EMU8086 汇编工具软件的使用
- 基于FPGA(cyclone IV)的NOR FLASH的应用
- SharePoint Online 触发的Automate工作流的调试
- 玩游戏计算机虚拟内存怎么设置,【新手指导】电脑虚拟内存设置
- java 中文词性标注_pyhanlp 中文词性标注与分词简介
热门文章
- 西数服务器硬盘300G,特立独行 西数300G万转猛禽硬盘欣赏
- 论文翻译:Dual-path RNN: efficient long sequence modeling for time-domain single-channel speech separatio
- 喜报!易基因“同源基因特异性甲基化时序数据分析方法”获专利授权
- 万网域名查询接口(API)的说明
- DEVC++安装后编程运行时老是提示“源文件未编译”
- 面渣逆袭:JVM经典五十问,这下面试稳了
- POS打印机设置字体大小
- 并行计算机未来发展前景
- 什么是IDE?新手用哪个IDE比较好?
- 【Arduino IDE 2.0他来了】