写点什么

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


2021-06-18 08:001500

评论

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

对接上百个第三方 API 后的思考与沉淀

橘长

经验总结 Java EE 经验分享、

从“化学家”到开发者,从甲骨文到TDengine,我人生的两次重要抉择

TDengine

数据库 tdengine 开源 时序数据库

【云图说】每个成功的业务系统都离不开APIG的保驾护航

华为云开发者联盟

云计算 华为云 业务系统

【LeetCode】替换数组中的元素Java题解

Albert

LeetCode 6月月更

H.265编码原理入门

百度Geek说

视频编码

API如何检测安全配置是否有错误?

百家饭隐私计算平台创业者

安全 API

大数据培训Flink高频面试题分享

@零度

flink 大数据开发

最大和的连续子数组

龙空白白

数据结构与算法

百度工程师教你玩转设计模式(单例模式)

百度Geek说

设计模式

你对PHP数据类型或者其他编程语言的数据类型了解多少呢

迷彩

php 基础 6月月更 InfoQ极客传媒15周年庆

区块链哈希竞猜娱乐游戏俱乐部系统开发

开发微hkkf5566

web前端培训高频面试题

@零度

前端开发

在线文档协作工具,是提高工作效率的第一步

小炮

技术分享| 快对讲,全球对讲

anyRTC开发者

快对讲 抗丢包 网络传输FEC GT-RTN 语音对讲

20年技术老兵放弃大厂CTO头衔!这家创业公司凭什么吸引他?

XTransfer技术

CTO 跨境支付

子网划分不会?瑞哥带你深入理解IP地址,手把手教你子网划分!

wljslmz

网络技术 6月月更 子网划分

【网易云信】深度剖析「圈组」消息系统设计 | 「圈组」技术系列文章

网易智企

音视频 IM Discord

“减负”,让“猪”可以飞得更高

鼎道智联

“易 +”开源计划丨基于 WebRTC 的低延时播放器设计和实践

网易智企

开源 IM 低延时直播

2022 年 5 月产品大事记

FinClip

中台:数据中台、业务中台、技术中台、应用中台、AI中台……

BeeWorks

深度剖析「圈组」关系系统设计 | 「圈组」技术系列文章

网易云信

音视频 IM Discord

为你推荐一款高效的IO组件——okio

HarmonyOS开发者

HarmonyOS

搜狐员工遭遇工资补助诈骗 黑产与灰产有何区别 又要如何溯源?

郑州埃文科技

网络安全 网络灰黑产 IP溯源

怎样简洁明了地说清楚产品需求?

LigaAI

高效工作 产品经理 需求 产品设计与思考

java培训自定义 ThreadPoolExecutor 线程池

@零度

jdk JAVA开发

Meetup回顾|DevOps&MLOps如何在企业中解决机器学习困境?

星策开源社区

开源 DevOps 算法 OpenMLDB MLOps

2022年6月中国数据库排行榜:TiDB卷土重来摘桂冠,达梦蛰伏五月夺探花

墨天轮

数据库 TiDB 国产数据库 polarDB KingBase

Django 基础教程

海拥(haiyong.site)

Python django 6月月更

Fortex方达发布电子交易生态体系 与客户共享共赢

股市老人

【网易云信】深度剖析「圈组」关系系统设计 | 「圈组」技术系列文章

网易智企

音视频 IM Discord

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