阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-06-18 08:001240

评论

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

被Netty搞昏了头,先学一下幂等性压压惊吧(1),只需一篇文章吃透Java多线程技术

Java 程序员 后端

解开疑惑之:全面解析腾讯会议的视频前处理算法,java搭建分布式架构

Java 程序员 后端

计算机系统可靠性分析评测技术【全讲解】,深入理解linux内核百度网盘

Java 程序员 后端

血赚!阿里P9整理出内部500多页最全双十一顶级秒杀方案笔记

Java 程序员 后端

腾讯T8纯手写66个微服务架构设计模式,全部学会真的“变强

Java 程序员 后端

腾讯启动有史以来最大校招:苦逼程序猿,拿头发换了高质量生活

Java 程序员 后端

腾讯技术大牛带你玩转Spring全家桶,赠三本Spring实战篇电子文档

Java 程序员 后端

若依集成 WebSocket,linux学习步骤

Java 程序员 后端

蓦然回首,十余年的程序员生涯最后就只剩下了这些!希望我犯过的错误你不要再犯

Java 程序员 后端

蚂蚁金服二面被血虐,spring-并发-JVM把我直接问懵,我经历了什么-

Java 程序员 后端

腾讯、美团等六家大厂收到offer,浅谈大数据面试经历,2021Java面经

Java 程序员 后端

膜拜!京东T9大牛沉淀三年终于整理出了这份架构核心修炼之道

Java 程序员 后端

蚂蚁金服Java开发岗面试挂了以后,流泪总结了这份大厂常问面试题!

Java 程序员 后端

蚂蚁金服面试经验分享,阿里的offer真的不难,初面蚂蚁金服

Java 程序员 后端

被Netty搞昏了头,先学一下幂等性压压惊吧,java程序员面试宝典pdf

Java 程序员 后端

解密阿里亿级流量核心架构:5个技术+200案例 —阿里P8

Java 程序员 后端

解放双手!IDEA常用代码一键补全,你学会了吗,最新阿里+头条+腾讯大厂Java笔试真题

Java 程序员 后端

腾讯五面、快手三面已拿offer(Java岗位,linux基础教程第二版pdf

Java 程序员 后端

自己搭建电商平台初期,原来“超卖,java书籍百度网盘

Java 程序员 后端

蚂蚁金服+拼多多+抖音,java从入门到精通第四版视频

Java 程序员 后端

计算机网络物理层,Java开发工程师笔试题目

Java 程序员 后端

蘑菇街大牛熬夜整理的Java多线程知识点总结(思维导图+源码笔记

Java 程序员 后端

计算机网络学习笔记第一章(概述) 超详细整理,springboot注解的工作原理

Java 程序员 后端

话不多说直接上才艺“来吧!展示,【高级Java架构师系统学习

Java 程序员 后端

膜拜!华为内部都在强推的783页大数据处理系统:Hadoop源代码pdf

Java 程序员 后端

蘑菇街Java大牛纯手打肛出的一份多线程文档,请别丢进收藏夹吃灰

Java 程序员 后端

设计一个百万级的消息推送系统,mybatis技术原理

Java 程序员 后端

架构实战营- 模块二作业

危险游戏

架构实战营

获12w+星标的神仙文档再度上榜,简直是一套活生生自学Java的福星

Java 程序员 后端

被 boss 直聘转发过多而“封杀”的 2021 年全套 高级面试题有多牛

Java 程序员 后端

解析分布式应用框架Ray架构源,java技术面试常见问题

Java 程序员 后端

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