当前位置: 首页 > 编程日记 > 正文

Github开源趋势榜Top 1:英伟达升级发布二代StyleGAN,效果更完美

整理 | Jane

出品 | AI科技大本营(ID:rgznai100)

2018 年底,英伟达借鉴风格迁移的思路,提出当时最先进的无条件生成模型—— StyleGAN ,吸引了大家广泛关注。随后,代码开源,一位 Uber 工程师更是利用此模型设计了网站“ThisPersonDoesNotExist.com”,轰动一时。自此,对虚假信息生成技术的研究与讨论延续至今。

近日,英伟达再次公开最新论文《Analyzing and Improving the Image Quality of StyleGAN》,通过对 StyleGAN 的生成效果分析,对不完美的工作设计了改进和优化方法,提出新一代 StyleGAN,效果更上一层楼,生成图像的质量堪称完美。

一、虚假信息生成,轰动一时

2019 年 2 月,AI科技大本营(ID:rgznai100)曾在报道中特别为大家介绍 Uber 软件工程师 Philip Wang 使用英伟达发表的 StyleGAN 创建了无穷尽的假肖像图集,并通过“ThisPersonDoesNotExist”网站用最简单直观的形式展示给更多的人,其背后的算法基于大规模的真实数据集训练而成,然后使用生成对抗网络(GAN)来制造出新的图像。每次刷新网站,只需大约 2 秒,网络就可从 512 维向量中从头开始生成新的人脸图像。

不止这些从不存在的人脸图片,动漫人物、猫狗、汽车、卧室......这些类别的图片都可以生成,主要看你给模型喂了什么。

自从有了这项神奇的技术,左拥老婆、右抱宠物,车房都有。

不过,从之前的生成结果来看,StyleGAN 虽神奇但并非完美,生成的图像经常产生瑕疵与缺陷。在最新模型 StyleGAN 2 中,团队针对缺陷问题进行了深入研究,通过改进模型架构和实例规范化方法等,在提升了图片质量、优化细节的同时,还可以对图像是否有模型生成进行检测,加速训练。

这次 StyleGAN2 的提出,不仅提升了生成效果,在一定程度上又再一次为大家提供了无条件图像生成技术的新标准。

我们先看一波完整的介绍视频:

二、新一代完美升级

1、模型架构的改进:解决奇怪的不明物体生成问题

            

首先,上图是这项工作中解决的第一个问题——去除奇怪不明的斑点。这个问题,我们在一代生成结果中经常会见到。为了解决这个问题,研究人员把生成器的架构进行了重新设计,由此前的下自适应实例归一化 → 生成器的实例归一化。

上一代 StyleGAN 的模型架构设计和细节和新一代 StyleGAN 的模型架构设计和细节如如图(a)、(b)和图(c)、(d)所示:

新方法无论是在生成的图像还是特征图上都解决了这个问题。


      

2、训练方法的改进生成细节

再看生成图片的细节,研究人员指出,此前的图像中会有脸部特征不协调的现象,组合起来不匹配,有些细节可能乍看上去并不显眼,导致这个问题的原因是在上一代 StyleGAN 中采用了 Progressive Growing 的训练方法,细节对位置有强偏好,特征发生移动时,位置不能随之发生相应的变化移动。

这次,研究人员借鉴了 MSG-GAN 模型架构的跳层连接(下图a),在此基础上对生成器和判别器进行优化,分别采用上采样和下采样(下图b),最后用残差网络(下图c)改进判别器。

这样一来,生成人脸的五官特征可以同时变化,不得不说,更挑不出毛病了。

3、模型新玩法

除了上面在图像合成效果和质量上的改进与优化,这次的 StyleGAN2 还有一个新玩法:可以把图像输入到模型中,如果能够完美复现,那就说明这个东西是「Made in StyleGAN」,并非真实存在于世间的。

作者指出,与此前反向合成网路的方法不同,他们使用了斜坡下降噪声并优化了生成器的随机噪声输入。

4、不止表现更好了,训练也快了

上一代 StyleGAN 在 1024 * 1024 分辨率下,用 NVIDIA DGX-1、8 Tesla V100 GPUs 每秒可训练 37 张图像,而配置 E 的训练速度可达 61img/s,提速 40%。配置 F(更大的网络)以 31 img/s 的速度进行训练,因此训练成本仅略高于最原始的 StyleGAN,而训练时间大大缩减,FFHQ 的总训练时间为 9 天,LSUN CAR 的总训练时间为 13 天。

三、算法代码开源

这么好用,如果不亲自上手岂不辜负。目前,STyleGAN2 已经在 GitHub 开源并获得将近 1.2k Stars,在 Github Trending 排行榜中位列 Top 1。

不仅大家 Star 积极,还有更积极的网友,比如 @manicman1999 已经在 TF2.0 中复现了 STyleGAN2 并将项目代码开源了,下面是他 Mixing Styles 的结果。

还在等什么?我们在下方把论文地址、官方 TensorFlow 的复现地址都分享给大家,今天晚上又有得干了!

Paper:

http://arxiv.org/abs/1912.04958

官方 TensorFlow 复现

https://github.com/NVlabs/stylegan2

网友非官方 TF2.0 复现

https://github.com/manicman1999/StyleGAN2-Tensorflow-2.0

(*本文为AI科技大本营整理文章,转载请微信联系 1092722531)

精彩公开课

推荐阅读

  • 讯飞轮值总裁胡郁:大数据是人工智能产业落地的必要保障| BDTC 2019

  • 专访ClickHouse创始人:数据库竞争依旧火热,技术整合势在必行

  • 商汤联手华科:提出文字检测模型GNNets,新颖模块可解决几何分布难题

  • 20行代码发一篇NeurIPS:梯度共享已经不安全了

  • 图灵奖得主Bengio:深度学习不会被取代,我想让AI会推理、计划和想象

  • 4大主流CPU处理器技术架构,不知道就out了!

  • 阿里云上万个 Kubernetes 集群大规模管理实践

  • 公司倒闭,39 岁重新找工作,薪资不到 8000,太残酷!

  • HTML + CSS 为何得不到编程界的认可?

  • 你点的每个“在看”,我都认真当成了AI

相关文章:

百度地图 ip查询 service

官方文档:http://developer.baidu.com/map/wiki/index.php?titlewebapi/ip-api 请求 一个例子: http://api.map.baidu.com/location/ip?ak3GFi2F04wXaVuwmGu8fN49kL1234567890&ip180.161.128.181 返回 {"address": "CN|\u6cb3\u535…

python3编写简易统计服务器

打点这个功能总是美其名曰“帮助提升用户体验”,其实说白了就是记录用户做了哪些操作。目前国内很多通用软件都做了相关功能,像360、QQ等这样的以用户体验出众的软件,其打点的面自然也很广很细。当然这种“侵犯”用户隐私的事情在业内各个公司…

作价20亿美元!英特尔收购以色列AI芯片公司Habana Labs

出品 | AI科技大本营(ID:rgznai1000)12月16日,英特尔宣布以约 20 亿美元收购以色列公司Habana Labs,这成为英特尔在以色列仅次于 Mobileye(153 亿美元) 的第二大收购案。Habana Labs 成立于 2016 年&#x…

这就是奇客文化?简直太有才了!

这就是奇客文化?简直太有才了……

java中的char类型

2019独角兽企业重金招聘Python工程师标准>>> 一:char的初始化 char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。 Ja…

[原创] 如何追踪每一笔记录的来龙去脉:一个完整的Audit Logging解决方案—Part I...

一、提出问题 在开发一个企业级 应用的时候,尤其在一个涉及到敏感数据的应用,比如财务系统、物流系统,我们往往有这样的需求:对于数据库中每一笔数据的添加、修改和删除,都需要有一个明确的日志,以便我们可…

进程间通信:同步双工管道

因为工作需要,需要设计出一个双工的IPC。(转载请指明出处)在一番比较后,我发现管道是比较符合我们的需求的。但是我们需求要求管道的对方是可信任的,而在vista以下系统是没有GetNamedPipeClientProcessId、GetNamedPip…

就因为一个笔记本,运营和产品吵得不可开交......

上班最讨厌的一件事情,莫过于开会,因为每次开会感觉就要吵架,这个今天开会又吵架了,吵架竟然是因为产品小姐姐的笔记本。产品小姐姐用了一本可擦笔记本记录会议内容,运营小姐姐竟然说这个本子有什么用,不就…

Ka的递归编程练习 Part4|Hanoi汉诺塔,双色汉诺塔的也有

1 #include <stdio.h>2 void hanoi(int s,char a,char b,char c) //a是出发盘&#xff0c;b是中途盘&#xff0c;c是结束盘 3 {4 if(s0) return;5 hanoi(s-1,a,c,b); //把最底下的从a借助c移动到b6 printf("%d from %c move to %c\n",s,a,c);7 …

一种精确从文本中提取URL的思路及实现

在今年三四月份&#xff0c;我接受了一个需求&#xff1a;从文本中提取URL。这样的需求&#xff0c;可能算是非常小众的需求了。大概只有QQ、飞信、阿里旺旺等之类的即时通讯软件存在这样的需求。在研究这个之前&#xff0c;我测试了这些软件这块功能&#xff0c;发现它们这块的…

解读 | 2019年10篇计算机视觉精选论文(上)

作者 | 神经小兮来源 | HyperAI超神经&#xff08;ID:HyperAI&#xff09;2019 年转眼已经接近尾声&#xff0c;我们看到&#xff0c;这一年计算机视觉&#xff08;CV&#xff09;领域又诞生了大量出色的论文&#xff0c;提出了许多新颖的架构和方法&#xff0c;进一步提高了视…

不错的工具:Reflector for .NET

下载地址: http://www.aisto.com/roeder/dotnet/ 注意&#xff1a;下载时要输一些注册信息&#xff0c;输入用户名时&#xff0c;中间要加一个空格。

Possible MySQL server UUID duplication for server

&#xfeff;&#xfeff;在mysql enterprise monitor监控过程中出现这样的event事件&#xff0c;Topic: Possible MySQL server UUID duplication for server 事件&#xff0c;从该提示的描述来看貌似是存在重复的uuid&#xff0c;而实际上主从关系并不存在重复的uuid。主从关…

使用VC实现一个“智能”自增减线程池

工作中接手了一款产品的改造。因为该产品可能使用很多线程&#xff0c;所以产品中使用了线程池。&#xff08;转载请指明来自BreakSoftware的CSDN博客&#xff09; 线程池的一个优点是降低线程创建和销毁的频率&#xff1b;缺点是可能在比较闲的时候还存在一定数量的空闲线程。…

国内外财务软件科目结构的比较

科目结构是整个会计核算的基础。国内外财务软件都是任意定义科目的分段及科目编码长度&#xff0c;一般都能支持六段到九段。但科目结构在不同的国家有不同的规范&#xff0c;因而在不同的财务软件中也就有不同的控制。在科目分类上&#xff0c;国内外有明显的区别。国外财务软…

朋友圈装死,微博蹦迪,Python教你如何掌握女神情绪变化 | CSDN博文精选

作者 | A字头来源 | 数据札记倌很多人都是在朋友圈装死&#xff0c;微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了&#xff0c;微博才是&#xff01;所以你不要傻傻盯着女神的朋友圈发呆啦&#xff01;本文教你如何用Python自动通知女神微博情绪变化&#xff0c…

java异常笔记

Throwable是所有Java程序中错误处理的父类&#xff0c;有两种资类&#xff1a;Error和Exception。Error&#xff1a;表示由JVM所侦测到的无法预期的错误&#xff0c;由于这是属于JVM层次的严重错误&#xff0c;导致JVM无法继续执行&#xff0c;因此&#xff0c;这是不可捕捉到的…

2019最新进展 | Transformer在深度推荐系统中的应用

作者 | Alex-zhai来源 | 深度传送门&#xff08;ID:deep_deliver&#xff09;【导读】最近基于Transformer的一些NLP模型很火&#xff08;比如BERT&#xff0c;GPT-2等&#xff09;&#xff0c;因此将Transformer模型引入到推荐算法中是近期的一个潮流。Transformer比起传统的L…

自己架设windows升级服务器

大部分对计算机比较熟悉的朋友都知道&#xff0c;通常安装好Windows 操作系统后要做的第一件事就是上Windows Update网站去给Windows 安装补丁程序&#xff0c;否则各种漏洞对系统就是一个很大的威胁。不过遗憾的是很多人还没有这样的意识&#xff0c;疏忽了给系统打补丁。这也…

内嵌IE网页窗口中消除IE默认脚本设置影响的方法

随着人们对客户端软件界面要求的不断提高,软件开发商面临着一个问题:如何快速廉价开发出各种丰富效果的UI界面。设计出一套丰富控件的界面库是不容易的,且产品经理丰富的想法和UED对效果的追求,往往会使程序员疲于编写这些“效果控件”。目前市面上使用的很多界面库是基于X…

win7 64位操作系统中 Oracle 11g 安装教程(图解)

1.下载Oracle 11g R2 for Windows版本&#xff0c;下载地址如下  官方网站&#xff1a;  http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip 2.解压两…

使用APIHOOK实现进程隐藏

今天翻出一些今年前写的代码。其中一个是09年&#xff0c;我帮一个读研的同学写的一个“无公害恶意”程序。大致要求就是要实现自启动和自我隐藏。我使用的都是些简单的技术&#xff0c;只是实现自我隐藏稍微让我花费了点时间写算法。其实这个算法也很简单&#xff0c;就是大学…

程序员创业前要做哪些准备?

作者 | hsm_computer出品 | CSDN博客在互联网时代&#xff0c;不少干IT的人白手起家&#xff0c;在短短的几年里通过努力干出了一番事业&#xff0c;有房有车有公司&#xff0c;在人前也很光鲜。这就吸引了更多的程序员想要通过自主创业来实现财务自由。殊不知&#xff0c;创业…

Flex编码过程

Flex编码过程当我们开发一个Flex程序&#xff0c;我们重复其他类型网络程序的过程&#xff0c;例如HTML,JSP,ASP和CFML。创建一个有用的Flex程序是很容易的&#xff1a;打开我们最喜欢的文本编辑器&#xff0c;例如Flex Builder&#xff0c;输入XML标签&#xff0c;编译成为SWF…

BufferedWriter

package JBJADV003;import java.io.*;public class BufferedWriterTest { public static void main(String[] args) { try { //创建一个FileWriter 对象 FileWriter fwnew FileWriter("c:\\myDoc\\hello.txt"); //创建一个BufferedWriter 对象 BufferedWriter bwnew…

使用VC内嵌Python实现的一个代码检测工具

最近组内准备整顿代码&#xff0c;领导让我写个简单的python脚本分析代码中注释的行数和无效注释。因为这个需求不是很急&#xff0c;所以我想把简单的事情做复杂点。于是就写了一个用VC内嵌Python&#xff0c;并通过模拟按键和发消息去控制其他软件的工具。&#xff08;转载请…

Python如何实现24个微信大群万人同步转发直播?

作者 | 猪哥66来源 | CSDN博客今天我们来学习微信机器人多群转发做同步图文直播&#xff01;一、背景介绍猪哥一年前在建Python学习群的时候就说过&#xff0c;要邀请企业大佬来学习群做直播。其实文章早就写好了&#xff0c;但是一直没有找到好的转发软件&#xff0c;所以耽搁…

ITSM实施三招[案例]

当前国外成熟的ITSM解决方案的实施成本相对比较高&#xff0c;使一些对成本较敏感的的IT部门&#xff0c;成为ITSM实施的一个真空区。对于国内起步阶段的ITSM&#xff08;IT服务管理&#xff09;实施来说&#xff0c;南航的ITSM实施之路是一个借鉴。 南航it环境 在各大航空公司…

lr手工添加关联函数的步骤:

点击“确定”后&#xff1a; 如何修改已经创建好的关联规则&#xff1a;

新闻内容实现分页

/**//// <summary> /// 新闻内容分页 /// </summary> /// <param name"content">新闻内容</param> /// <param name"extension">扩展名(aspx,html..)</param> /// <returns></returns>pub…