AI技术有非常多种用途,比如烂大街的语音识别,人脸识别,翻译,搜索,比如超强的AI换脸技术。其中英伟达在去年放出的一只AI能生成1024x1024的高清人脸
这个项目最厉害的地方就是“逼真” ,其次是生成的人脸独一无二,不会与现实世界重叠,再次是可以生成的人的种类非常丰富。可以生成不同性别,不同年龄,不同肤色...的人,生成的数量也非常巨大,生成几亿张独一无二的脸完全没有问题。
当然,生成10000个漂亮而又独一无二的小姐姐也不在话下,你对别人谎称这是你女朋友,别人无法质疑你,他们即便翻遍全世界也找不到一样滴。
没错,我说的就StyleGAN,这个项目大概在15个月之前开源,去年年底又发布了StyleGAN2.0版本,新版本修复了一些问题,结果更加逼真。这种视觉类的项目,看起来真的非常震撼,没有发布源码前就已经万分期待。发布后,兴冲冲的准备大干一场。没想到,一看显卡配置和数据集大小就只能说了句:告辞。
官方提供的图片压缩包中最大的一个文件就有955GB,1024头像的压缩文件也有89GB,即便下载了,我都不敢解压,即便解压我都不敢点拷贝和删除。
项目需要的显卡配置为,至少11GB的高端N卡(不就是2080ti么?),推荐的配置为8张V100的DGX-1,搜了一下这个设备,看到这样一条标题“Nvidia发布超级计算机DGX-1 售价超80万元” 。
直到有一天,我搞到了一台2080ti 的服务器,我又重新想起了这个项目。后来我才发现,英伟达这个老头子坏得很,故意把配置写的这么高。其实1070也能跑.... 我有充分的理由怀疑英伟达搞AI,就是为了带货~哈啊哈。
前戏差不多了,我要开干咯。下面就分享一下简略的安装部署的步骤,重点是演示下一下我生成的漂亮妹纸。
配置要求如下:
Both Linux and Windows are supported. Linux is recommended for performance and compatibility reasons.
64-bit Python 3.6 installation. We recommend Anaconda3 with numpy 1.14.3 or newer.
TensorFlow 1.14 or 1.15 with GPU support. The code does not support TensorFlow 2.0.
On Windows, you need to use TensorFlow 1.14 — TensorFlow 1.15 will not work.
One or more high-end NVIDIA GPUs, NVIDIA drivers, CUDA 10.0 toolkit and cuDNN 7.5. To reproduce the results reported in the paper, you need an NVIDIA GPU with at least 16 GB of DRAM.
Docker users: use the provided Dockerfile to build an image with the requi
red library dependencies.
这些要求的核心就是显卡,需要一张高端显卡,具体型号没说,2080ti 肯定可以,1070 8G其实可以,1060我不确定。
通过我的实践,在Window把这个项目搞起来的大致步骤如下:
1. 安装 VS2017,编译所需,其他版本可能会遇到坑。
2. 升级显卡驱动,安装CUDA10,CuDNN7.5
3. 安装Anaconda3创建Python的虚拟环境。
4. 安装Python的依赖包,numpy,TensorFlow 1.14。
5. 运行Python脚本,坐等高清大图!
这个安装过程,根据个人水平不同,可能会持续几个小时或者几天... 其中会遇到各种版本坑。安装成功后,就可以通过命令来生成高清头像了。
下面就通过几条命令来展示下官方的实例。
python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=6600-6625 --truncation-psi=0.5
python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=66,230,389,1518 --truncation-psi=1.0
python run_generator.py generate-images --network=gdrive:networks/stylegan2-car-config-f.pkl --seeds=6000-6025 --truncation-psi=0.5
python run_generator.py style-mixing-example --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --row-seeds=85,100,75,458,1500 --col-seeds=55,821,1789,293 --truncation-psi=1.0
上面的图片都是通过官方的示例代码生成。通过改变命令行中的seed参数,可以生成不同的人脸。这个数字的取值范围大概为几十亿,也就是说最起码能生成这么多人脸。生成10000个漂亮的小姐姐简直就是so easy!!! 妈妈再也不用担心我...
默认的模型生成的人脸基本以欧美人为主。
使用亚洲人的模型,可以生成一些黄皮肤的漂亮小姐姐。
当然,一切从娃娃抓起,生成一个漂亮的小姑娘也没有任何问题。
现在网红当道,来一堆网红脸也非常应景。
什么,你不喜欢网红?莫非还要学小李子,想要超模?当然,Stylegan也可以满足你。与小李子不同的是,你只能看看...
到这里估计有人要膨胀了,来几个小明星呗?这个可以安排!
除了上面这些,也有人老早就玩起了“动漫”。
有人还把各种名画投喂给这只AI,然后就可以让他成为大画家了,可以画出各种大师风格的作品。
虽然一直不知道这个项目到底能干啥,但是生成的人脸确实很震撼,如果数据喂的好,生成其他东西也肯定也很逼真,大胆的想法可以搞起来了。
StyleGAN就像一个小宇宙,里面包罗万象,大家可以自己去探索,还有一些扩展项目可以做的对人脸进行编辑,哭笑,旋转,变老变年轻,变性...都可以啊。
======================
个人公众号:托尼是塔克