升级版APDrawing,人脸照秒变线条肖像画,细节呈现惊人
作者 | 高卫华
出品 | AI科技大本营
随着深度学习的发展,GAN模型在图像风格转换的应用越来越多,其中不少都实现了很好的效果。
此前,reddit上的一个技术博主AtreveteTeTe基于GAN模型混合将普通的人像照片卡通化,并通过First Order Motion模型生成了动画,引起诸多网友的热捧。像这类卡通风格的画像生成,通常对单元素的质量要求不高,对于模型的训练,会忽略一些细节上的不足。
不过,最近一个开发者在GitHub上放出了一个可用于创建线条艺术肖像的项目,基于深度学习开发了ArtLine,其创建的线条肖像画在细节上的呈现效果惊人。
项目链接:
https://github.com/vijishmadhavan/ArtLine
ArtLine最简单的入门方法:
https://colab.research.google.com/github/vijishmadhavan/Light-Up/blob/master/ArtLine(Try_it_on_Colab).ipynb
艺术肖像线条画方面,去年清华大学曾提出一个层次化的GAN模型APDrawingGAN,可以有效地基于人脸照片生成高质量、富有表现力的线条画。
但APDrawingGAN在识别面部特征方面存在局限性,例如在识别与ID照片类似的正面照片时,需要照片具有清晰的面部特征以及无佩戴眼镜或者面部有明显皱纹。
而ArtLine可以解决这项局限性,同时可以识别任何人物姿态的图像。其生成的肖像画在脸部、眼睛、嘴唇和鼻子周围是否达到适当的线条,完全取决于提供给模型的数据。
APDrawing数据集主要由特写肖像组成,该模型难以对衣服、手等进行重新着色。因此,ArtLine结合使用了从Anime sketch着色对数据集中选择的图像,帮助模型更好地了解线条细节。
这是使用ArtLine即时创建的电影海报。
技术实现
自注意力的GNN
ArtLine采用Self-Attention Generative Adversarial Network(简称SAGAN)生成器,该模型是经过预训练的UNET,具有频谱归一化和自我注意功能,可为图像生成任务提供注意力驱动的远程依赖关系建模。
传统的卷积GAN,根据低分辨率特征图中空间局部点的函数来生成高分辨率的细节。而在SAGAN中,可以使用来自所有要素位置的提示来生成细节。并且,鉴别器可以检查图像部分中的详细特征是否一致。
此外,据最近的研究表明,生成器调节会影响GAN的性能。为此,将频谱归一化应用于GAN生成器,以改善训练动态。
SAGAN实现了最先进的效果,在具有挑战性的ImageNet数据集上,将已发布的Inception分数从36.8提高到52.52,并将Frechet Inception距离从27.62降低到18.65。据注意层的可视化显示,生成器利用了与对象形状相对应的邻域,而不是固定形状的局部区域。
GAN逐步提高质量、稳定性和多样性
ArtLine使用生成对抗网络的新训练方法,关键思想是从低分辨率开始添加新层,逐渐增加生成器和鉴别器,以随着训练的进行对越来越细的细节建模。这既加快了训练速度,又极大地提高了生成图像的质量。
训练中,ArtLine采用一种用于评估图像质量和变化等GAN结果的新指标,并构建了CelebA数据集更高质量的版本。
生成器损失:基于VGG16的感知损失/特征损失。
进行高质量图像的转换时,通常使用输出图像与真实图像之间的每像素损失来训练前馈卷积神经网络。而研究表明,高质量图像也可通过从预训练网络提取高级特征,定义和优化感知损失函数来生成。
结合这两种方法的优势,ArtLine使用感知损失函数来训练用于图像转换任务的前馈网络。与基于优化的方法相比,ArtLine可给出相似质量的图像转换结果,但其生成速度快了三个数量级。对于单图像超分辨率的方法,实验表明将每像素损失替换为感知损失,视觉上会更令人愉悦。
目前,ArtLine在图像生成时也存在一些问题,如其生成器会将照片阴影与头发混淆;另外,对于低于500像素的低质量图像,ArtLine的图像转换效果不佳。
论文链接:
https://arxiv.org/abs/1805.08318
https://arxiv.org/abs/1710.10196
https://arxiv.org/pdf/1603.08155.pdf
更多精彩推荐
中科大“九章”历史性突破,但实现真正的量子霸权还有多远?
虚拟偶像出道,技术「造星」推动下的粉丝经济
GAN模型生成山水画,骗过半数观察者,普林斯顿大学本科生出品
TIOBE 12 月编程语言:Python 有望第四次成为年度语言!
魅族回应 “暗中给手机植入木马”;前谷歌AI伦理专家遭解雇或因论文;GoLand 2020.3发布|极客头条
相关文章:

error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
1 这个error是什么原因造成的 cmake默认选择的是x86,即32位的生成子。 2 怎么解决这个error 在cmake ..的时候,在后面加上“-G "Visual Studio 12 2013 Win64"”选项即可。 3 怎么在CMakeLists.txt中进行相应的设置来解决这个问题 这个还未知。…

Linux的epoll
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中&#x…
[QA]Python字节码优化问题
这篇文章来自在Segmentfault 上面我提出的一个问题 问题背景: Python在执行的时候会加载每一个模块的PyCodeObject,其中这个对象就包含有opcode,也就是这个模块所有的指令集合,具体定义在源码目录的 /include/opcode.h 中定义了所有的指令集合࿰…
【滴滴专场】深度学习模型优化技术揭秘
滴滴拥有海量数据以及 AI 推理需求,GPU 在人脸识别、自动驾驶、地图导航等场景大量使用,滴滴云IFX团队针对斯坦福 DAWNBench 榜单的 ImageNet 模型也进行了深入优化,在 NVIDIA T4 上达到了 0.382 ms 的 Inference Latency 性能,打…

11.python并发入门(part9 多进程模块multiprocessing基本用法)
一、回顾多继承的概念。由于GIL(全局解释器锁)的存在,在python中无法实现真正的多线程(一个进程里的多个线程无法在cpu上并行执行),如果想充分的利用cpu的资源,在python中需要使用进程。二、mul…

将不确定变为确定~Flag特性的枚举是否可以得到Description信息
回到目录 之前我写过对于普通枚举类型对象,输出Description特性信息的方法,今天主要来说一下,如何实现位域Flags枚举元素的Description信息的方法。 对于一个普通枚举对象,它输出描述信息是这样的 public enum Status{[Descriptio…
中科大“九章”历史性突破,但实现真正的量子霸权还有多远?
作者 | 马超 出品 | AI科技大本营 头图 | CSDN下载自视觉中国 10月中旬,政府高层强调要充分认识推动量子科技发展的重要性和紧迫性,加强量子科技发展战略谋划和系统布局,把握大趋势,下好先手棋。 今天,我国的量子科技领…

php析构函数的用法
简单的说,析构函数是用来在对象关闭时完成的特殊工作,比如我写的上例,在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它, 又或者在析构时,我们将处理好的某些数据一并写进数据库,这时可以考虑使用析构函数内完成,在析构完成前,这些对象属性仍…

泛型中? super T和? extends T的区别
经常发现有List<? super T>、Set<? extends T>的声明,是什么意思呢?<? super T>表示包括T在内的任何T的父类,<? extends T>表示包括T在内的任何T的子类,下面我们详细分析一下两种通配符具体的区别。 …

两大AI技术集于一身,有道词典笔3从0到1的飞跃
作者 | Just 出品 | AI科技大本意(ID:rgznai100) “双十一”结束的钟点刚刚敲响,拥有电子消费品的企业便很快对外界秀了一把今年的销售战绩,网易有道也不例外。在电子词典单品品类榜单上,有道词典笔稳稳拿下天猫和京东…

VIM进阶功能
2019独角兽企业重金招聘Python工程师标准>>> http://www.cnblogs.com/gunl/archive/2011/08/15/2139588.html 该网页上介绍了以下内容: 查找快速移动光标复制、删除、粘贴数字命令组合快速输入字符替换多文件编辑宏替换TABautocmd常用脚本常用配置另一篇…

最简便的清空memcache的方法
如果要清空memcache的items,常用的办法是什么?杀掉重启?如果有n台memcache需要重启怎么办?挨个做一遍? 很简单,假设memcached运行在本地的11211端口,那么跑一下命令行: $ echo ”f…

mongodb启动
将mongodb安装为Windows服务,让该服务随Windows启动而启动: 开启服务: 转载于:https://www.cnblogs.com/dabinglian/p/6861413.html
赠书 | AI 还原宋代皇帝,原来这么帅?!
整理 | 王晓曼来源 | 程序人生 (ID:coder _life)封图 | 大谷视频《人工智能还原的宋代皇帝,原来这么帅?!》*文末有赠书福利昨日,一条“人工智能还原的宋代皇帝”喜提热搜,博主大谷借…

Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑)
前言: 最近一直在思考,如果我使用SCSAE(即stacked convolution sparse autoendoer)算法来训练一个的deep model的话,其网络的第二层开始后续所有网络层的训练数据从哪里来呢?其实如果在这个问题中ÿ…

用memcache.php监测memcache的状况
最新的memcache pecl中,新增了一个memcache.php,这个php文件可以用来方便的查看memcache的状况,界面上与apc自带的apc.php风格一致。 如图: 应该算是最方便的监测memcache的办法了。 memcache.php源文件下载 是一个PHP源文件,…

想知道垃圾回收暂停的过程中发生了什么吗?查查垃圾回收日志就知道了!
\关键点\垃圾回收日志中包括着一些关键性能指标; \要做一次正确的垃圾回收分析需要收集许多数据,所以好的工具是非常必要的; \除了垃圾回收之外还有很多事件都可能会让应用程序暂停; \让你的应用程序暂停的事件也会让垃圾回收器暂…

Linux必学的网络操作命令
因为Linux系统是在Internet上起源和发展的,它与生俱来拥有强大的网络功能和丰富的网络应用软件,尤其是TCP/IP网络协议的实现尤为成熟。Linux的网络命令比较多,其中一些命令像ping、ftp、telnet、route、netstat等在其它操作系统上也能看到&am…
丢弃Transformer,FCN也可以实现E2E检测
作者 | 王剑锋来源 | 知乎CVer计算机视觉专栏我们基于FCOS,首次在dense prediction上利用全卷积结构做到E2E,即无NMS后处理。我们首先分析了常见的dense prediction方法(如RetinaNet、FCOS、ATSS等),并且认为one-to-ma…

Linux命令基础--uname
uname 显示系统信息 语 法:uname [-amnrsvpio][--help][--version] 补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。 参 数: -a或-all 详细输出所有信息,依次为内核名称,主机名&am…

FEC之我见一
顾名思义,FEC前向纠错,根据收到的包进行计算获取丢掉的包,而和大神沟通的结果就是 纠错神髓:收到的媒体包冗余包 > 原始媒体包数据 直到满足 收到的媒体包 冗余包 > 原始媒体包数据 则进入恢复模式,恢复出…

改变Repeater控件中按钮颜色
昨晚有在论坛看到一帖,手上的工作一直忙到现在,Insus.NET现在抽点时间尝试实现它。 Insus.NET没有使用数据库作为数据源,而是使用List<T>作为数据源。因此你在这篇博文中学到很多有关泛型的知识。另外Insus.NET使用CheckBoxList来替代多…
CSDN湘苗培优,遇见更好的自己
CSDN 湘苗培优报名火热进行中!JOIN US号外!号外!“湘苗培优”报名火热进行中!????????????????????????为什么要报名“湘苗培优”只要你想学,这里有CSDN技术认证、企业导师零距离技术交流求职…

两个无序单链表,排序后合并成一个有序链表
两个无序单链表,排序后合并成一个有序链表算法思想:用冒泡法,对链表1和2进行排序,对排序后的两个链表,从小到大进行循环,装入链表3中。#include<stdio.h>#include<stdlib.h>struct stud/*定义链…

FEC之我见三
继续上文讲解: 3)标准的RTP头结构如下所示: 其中第一个字节中的x标志位是否扩展了RTP头,RTP协议允许用户自定义的扩展,扩展的字段紧挨上述RTP固定头。RTP扩展投中承载如下信息:1).当前包所在的Group组序号&…

集体智慧及其常用算法
集体智慧定义是指由许多的个体通过合作与竞争中所显现出来的智慧,集体智慧是一种共享的或者群体的智能。它是从许多个体的合作与竞争中涌现出来的。集体智慧在细菌、动物、人类以及计算机网络中形成,并以多种形式的协商一致的决策模式出现。常用算法如下…
带你「周游世界」的 MODNet 算法
来源 | Jack Cui责编 | 晋兆雨头图 | CSDN下载自视觉中国最近又有一个算法火了,不知道你们看到没?直接看效果!效果这么稳定的人像 Image Matting 算法真的不多,并且还能进行实时处理!处理视频、图像,不在话…

ASP.NET格式化日期
1.绑定时格式化日期方法: <ASP:BOUNDCOLUMN DATAFIELD "JoinTime " DATAFORMATSTRING "{0:yyyy-MM-dd} " > <ITEMSTYLE WIDTH "18% " > </ITEMSTYLE &g…

docker的网络架构配置
http://xiaorenwutest.blog.51cto.com docker 网络架构模默认情况下,容器可以建立到外部网络的连接,但是外部网络无法连接到容器。Docker 允许通过外部访问容器或容器互联的方式来提供网络服务外部访问容器:容器中可以运行一些网络应用,要让外…
【官方福利】CSDN内测师限时申请,参与赢年末礼包
各位程序猿们都下载CSDN官方出品的插件了吧?什么?还有不知道插件是什么的同学??你错过了太多!更酷更高效的浏览器插件,一键万能操作,新标签页极简个性,让你的工作效率UP UP UP&#…