AICon全球人工智能与机器学习技术大会9折特惠中,点击立减¥480>> 了解详情
写点什么

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

2021 年 6 月 18 日

查无此人?!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也能创作人像了


2021 年 6 月 18 日 08:00680

评论

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

我的学习笔记

SilentMacUser

Python JavaScript 学习 前端 开发

React 中 useContext 和 useMemo 一般性使用

sadhu

React useContext useMemo React Hooks

第十一周作业

MR.X

大作业(一)

Binary

数据采集之Flume采集及点击流模型详解

五分钟学大数据

大数据 28天写作 3月日更 flume 点击流模型

基于 SparkMLlib 智能课堂教学评价系统-系统设计(三)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

【笔记】第七周 第 2 课

Geek_娴子

区块链+版权:NFT出圈,善用技术能否“破心中贼”?

CECBC区块链专委会

数字技术

Vue3源码 | 深入理解响应式系统下篇-effect

梁龙先森

源码分析 前端 Vue3

英文IT数码类播客学习笔记

SilentMacUser

红帽 互联网 播客 计算机历史

我的Java转Go之路

roseduan

Java Go 转行 Go web

雄岸科技区块链布局价值待考

CECBC区块链专委会

区块链 科技

又一款Nginx 管理可视化神器!通过界面完成配置监控,一条龙!

Java小咖秀

nginx 运维 后端

简述软件不可用性及解决办法

跳蚤

区块链+金融落地应用详解

CECBC区块链专委会

金融

Elasticsearch 写入流程 Making Changes Persistent

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

安全架构学习总结

跳蚤

还原五百丁APP需求文档

林亚超

「架构师训练营 4 期」 第十周 - 001&2

凯迪

架构师训练营 4 期

员工遇到问题 - 是给答案还是给引导?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

MySQL调优

Sakura

28天写作 28天挑战 3月日更

Zookeeper.02 - API

insight

zookeeper 3月日更

软件工程任务排期方法

steve_lee

ARTS - week 2

steve_lee

四款面向高并发、海量级分布式存储的分布式架构对比

守护石CTO

kafka RocketMQ redis主从 redis cluster oceanbase

架构师是什么?

ES_her0

28天写作 3月日更

「架构师训练营 4 期」 第十一周 - 001&2

凯迪

架构师训练营 4 期

大作业(二)

Binary

多应用集中落地,四川区块链产业爆发增长

CECBC区块链专委会

区块链

面试官问:Kafka 为何有如此高的吞吐量和性能

面试官问

kafka 零拷贝 PageCache

【得物技术】前端微服务

得物技术

微服务 前端 得物技术

数据cool谈(第1期)数据库寻路,开源有态度

数据cool谈(第1期)数据库寻路,开源有态度

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