阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

查无此人?!AI 也能创作人像了

  • 2021-06-18
  • 本文字数:2243 字

    阅读完需:约 7 分钟

查无此人?!AI也能创作人像了

听说 AI 平台上线公有云环境了,不仅能在家里访问,还有全新的交互体验,更重要的是还带来了更多的 GPU 卡,真是诚意满满呀!

 

听说 Nvidia 官方开源了 Stylegan2,这个网络结构的神奇之处在于,能够学习已经有的一些人或者物体,充分发挥自己的想像,“创作”出新的类似人或物呢!那还等什么,赶紧一睹为快吧,体验下用建行人的 AI 平台跑起来是什么效果吧!


在使用平台之前,我们要先了解一下 stylegan2 依赖的环境,访问https://github.com/NVlabs/stylegan2,往下翻到 Requirements 部分,我们看到以下描述:



上面大致是说,只能在 Tensorflow1.14+上跑,Tensorflow 2.x 就别想了。然后如果要复现论文,显存必须 16G 起步。TF1.14 就是说,RTX 30XX 的卡就别想了,因为他们只能使用 Cuda 11,而 Cuda 11 不支持 TF1.14;而 16G 显存的门槛,又把一大堆入门级显卡挡在了大门外,基本就只剩下可爱(guì)的 Tesla V100 了。

 

解决办法远在天边,近在眼前,它就在“天权人工智能平台”这里。登陆平台,点击左下角“个人开发环境设置”,选择带 GPU 卡的环境,点击下一步:


接下来的页面,选择 Tensorflow 1.14 的镜像,然后保存:



静静等待一会,环境就创建好了。


接下来创建一个实验。点击新建实验中的“空白 notebook”,输入实验名称“stylegan”:



然后就可以进入到下面的界面了:



先看看 GPU 卡情况:



然后我们把 stylegan 代码拉下来:



唉?好像有点问题,历经千辛万苦(此处省略 2000 字),我们拿到了 stylegan2 的代码,然后如此操作一番:



然后就有了 stylegan2 的代码了:



我们按照 github 上提供的方法测试一下这个环境:



非常好!看来基本环境没有问题。


接下来需要传模型,我们在 github 上找到了官方提供的预训练镜像,传送门在此https://nvlabs-fi-cdn.nvidia.com/stylegan2/networks/,打开是这个样子:


我们看到官方一共提供了 5 类预训练镜像:car、cat、church、ffhq 和 horse。其中 ffhq 是用来生成人像的模型,而其他的名字,小伙伴们都能顾名思义猜到啦!使用 wget 命令就可以把模型拉来了:



能连互联网,简直是美滋滋呀!


有了模型,赶快来试一试模型的效果怎么样吧~参考 github 上的说明,执行以下命令:



提示没有 numpy,原来是用错了命令,python 是 python2,而我们需要运行的命令是 python3。修改以后再试试,结果报了好长一串错误,我截取了其中一部分:




核心报错信息是“C++ versions less than C++11 are not supported.”,碰到问题当然不能束手无策,赶紧问问“度娘”,结果就找到解决思路了,在帖子https://blog.csdn.net/qq1483661204/article/details/105442426中告诉我们解决方法:



运行stylegan-v2报错:error: #error "C++ versions less than C++11 are not supported.解决方法:打开 dnnlib/tflib/custom_ops.py的 修改第64行:将 cmd = 'nvcc ' + opts.strip()改为:cmd = 'nvcc --std=c++11 -DNDEBUG ' + opts.strip()
复制代码


如此这般操作一下:



修改好要记得 Ctrl+S 保存,然后再执行一下原来的命令,就可以成功执行了!以下节选了一些日志:



生成的图片在 results 文件夹中:



我们把这些图片集中展示一下,执行以下代码:



from PIL import Imageresult = Image.new("RGB", (512*5, 300*5))for i in range(25) : #因为跑生成的时候输入参数seed是6600-6625,所以生成的文件名也是如此编号 seq = i + 6600 #路径需要自行调整 img = Image.open("results/00008-generate-images/seed{}.png".format(seq)) #汽车模型生成的汽车有黑边,为了展示好看就把黑边裁剪了 img = img.crop(box=(0,100,512,400)) #把每张图片贴到汇总图上 result.paste(img, box=(i//5*512, i%5*300))result.save('car.jpg')
复制代码


最后就可以得到聚合后的各种“神奇”的车了,也可以在平台上直接查看:



大部分车咋一看似乎很正常,不过我们仔细看也会发现有些车还是有问题:



我们如法炮制来试验一下其他的预训练模型效果如何。

 

以下是教堂的效果:



教堂的效果图总体还不错,不过部分图片的边缘有一些诡异的物件,此外有的教堂图片还“脑补”出了水印,这与训练集有很大关系。


再分别执行





from PIL import Imageresult = Image.new("RGB", (512*5, 512*5))for i in range(25) : seq = i + 6600 #路径需要自行调整 img = Image.open("results/00009-generate-images/seed{}.png".format(seq)) img = img.resize((512,512)) result.paste(img, box=(i//5*512, i%5*512))result.save('ffhq.jpg')
复制代码


就可以得到人像的生成效果:



需要注意哦,他们真的真的是计算机“脑补”出来的图像,这些人都不存在的!


如果要“欣赏”更多的“脑补图”,我们也给大家分享几个好玩的网站,传送门在此,有兴趣的同学们可以自己试试:

 https://thispersondoesnotexist.com/

 https://thiscatdoesnotexist.com/

 https://thishorsedoesnotexist.com/


还有一个有趣的网站可以考考大家的“眼力”,分辨一下哪些图片是真实的,哪些图片是计算机“虚构”的,传送门在此:https://www.whichfaceisreal.com/


下面是来自上述网站的一个无奖竞猜,请问哪张照片是真实的,哪张照片是虚构的呢?



再偷偷分享一个小技巧:如果人左右不对称(比如耳饰),或者人某些部位有些许非正常扭曲,或者背景、装饰很不和谐,极有可能就是 AI“脑补”的产物了!

 

好了,说了这么多,大家有没有心动了呢?赶紧登陆 AI 平台,自己动手体验一下有趣的 AI 模型吧!


传送门https://ai.tech.ccb.com/,互联网就可以访问哦~


本文转载自:金科优源汇(ID:jkyyh2020)

原文链接:查无此人?!AI也能创作人像了


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2021-06-18 08:001237

评论

发布
暂无评论
发现更多内容

手撸二叉树之二叉树的最近公共祖先

HelloWorld杰少

数据结构与算法 8月日更

Go协程并发之百万级并发「让我们一起Golang」

Regan Yue

高并发 协程 Go 语言 8月日更

API纠错+翻译,就等您大展身手!

Geek_6cdeb6

3 条掏心掏肺的建议,新手学习编程必备,快上车!

沉默王二

编程

Debian 10 安装 phpMyAdmin

Tao

MySQL 服务器 PHP-FPM MariaDB Debian

国家电网调控人工智能创新大赛开启 百度飞桨提供国产AI平台

百度大脑

人工智能 飞桨

Compose 中的 ConstraintLayout

Changing Lin

8月日更

Java Array 和 String 的转换

HoneyMoose

FastApi-10-Example

Python研究所

FastApi 8月日更

主打年轻群体,2022款欧拉黑/白猫6.98万元起正式预售!

科技热闻

B轮融资逾2亿高瓴创投领投,最懂金融的RPA厂商金智维有何不凡之处?

王吉伟频道

RPA 金融科技 机器人流程自动化 做市机器人 金智维

老弟做了个网盘,炸了!

程序员鱼皮

Java c++ 系统设计 后端

4种基于像素分割的文本检测算法

华为云开发者联盟

目标检测算法 文本检测 像素分割 文本检测算法 文本

Spring @Transactional 注解事务

Rubble

springboot 8月日更

Go 学习笔记之 反射

架构精进之路

Go 语言 8月日更

“互联网+”大赛之智慧校园赛题攻略:你的智慧校园,WeLink帮你来建

华为云开发者联盟

小程序 华为云 welink 智慧校园 “互联网+”大赛

源码级深挖AQS队列同步器

码农参上

AQS 锁机制 8月日更

校庆小程序开发案例与部署实践

CC同学

跟我读论文丨ACL2021 NER 模块化交互网络用于命名实体识别

华为云开发者联盟

自然语言处理 机器学习 ACL2021 NER 模块化交互网络 实体识别

Apache Pulsar 里程碑简史:打造统一消息流平台与生态

Apache Pulsar

Apache Pulsar StreamNative

MySQL 系列教程之(一)初识 MySQL

若尘

MySQL 8月日更

大厂offer?拿来吧你!网易有道笔试编程题特辑

有道技术团队

招聘 笔试 #技术干货# 网易有道

【LeetCode】二叉树的镜像Java题解

Albert

算法 LeetCode 8月日更

解决「停车难」,EMQ 映云科技数据接入方案在智慧停车平台中的应用

EMQ映云科技

大数据 物联网 移动互联网 智慧交通 emq

融云为WICC2021“新视界”带来视频压缩技术新探索

融云 RongCloud

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之EXCEL数据导出(十三)

crudapi

Vue crud crudapi qusar 数据导出

学习笔记:HTTP消息的响应码

姬翔

WICC 2021技术分论坛 融云解析全球一体化通信网络架构

融云 RongCloud

云小课 | 网络知识一箩筐——NAT网关,让IP地址华丽变身,轻松实现内外网互通

华为云开发者联盟

私网NAT网关 NAT网关 公网NAT网关

2021年8月国产数据库排行榜:TiDB稳榜首,达梦返前三,Kingbase进十强,各厂商加速布局云生态

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

🏆【SpringBoot 技术专题】「Tomcat技术专区」用正确的姿势如何用外置tomcat配置及运行(Tomcat优化分析)

洛神灬殇

tomcat springboot 8月日更

查无此人?!AI也能创作人像了_AI&大模型_金科优源汇_InfoQ精选文章