本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
嫌弃GAN生成的图像不够炫酷?
不需要改变数据集,只需要给CLIP下达的命令中把“虚幻引擎”几个字加上,再让CLIP去指挥GAN,图像就立马变成了高大上的CG艺术风。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s6.51cto.com/oss/202106/28/ad82d8a86dda33f91e29b9600c970f6e.jpg)
文字中加入虚幻引擎这个技巧,最早由Aran Komatsuzaki发在推特上,吸引了大量CV圈的人来围观。
后来有人把这套流程发在了Colab上,网友们都玩疯了。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s2.51cto.com/oss/202106/28/737d6d0192268b83ba004d314fff9b01.jpg)
还可以指定成“彩色铅笔风格”
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s4.51cto.com/oss/202106/28/673eb27979b3f5b9353545c5617f5d3e.jpg)
或者“吉卜力风格”:
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s3.51cto.com/oss/202106/28/6f255253ca23a1975417ba6bf4ed2aac.jpg)
最绝的是,加上“3D photo inpainting”竟然可以生成立体构图。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s4.51cto.com/oss/202106/28/f0fa5b9f3b7a8b5fb377eb22da1e989c.jpg)
CLIP是OpenAI开发的一个负责给图像重排序的模型,它与GAN合作的方式也很简单。
先用一张平平无奇的随机图案作为种子,像这种:
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s5.51cto.com/oss/202106/28/5a9895141602aeb79d95f0b9f0931664.jpg)
像这样让CLIP算出其与文字描述的相似度打分,然后反馈给GAN,让GAN以提升分数为目标不断迭代。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s3.51cto.com/oss/202106/28/5dec3a1149dcd95cf9ec6fb546b2b732.jpg)
AI艺术家组合就这么出现了。
除了在提示中加入风格要求之外,还可以直接告诉AI一个人名,看看在AI眼中他们长啥样。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s6.51cto.com/oss/202106/28/354cb17ffce190c78b8d2f92e8be3522.jpg)
甚至能用来猜猜那些从未露面的大佬们,比如神秘的比特币之父中本聪。
这就是AI心目中的中本聪,不管你信不信,反正我是信了。
在线试玩
VQGAN+CLIP在Colab上有很多版本,我们经过对比选择了一个加入额外优化和池化技巧,在速度和质量上都比较出色的一个(链接在文章末尾)。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s5.51cto.com/oss/202106/28/8529aedd25001a8719b826e3975758a2.jpg)
第1步和第2步,按顺序执行就好。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s3.51cto.com/oss/202106/28/d013927071cb84f4bf2bff829b734ae7.jpg)
第3步,选择使用的模型,默认的是用ImageNet训练的。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s6.51cto.com/oss/202106/28/d88eedc3372a2cd630207ec979ae3578.jpg)
第4步设置参数,一般情况下只需要在texts里填上要生成的内容,用“|”分隔。
width和height控制生成图像的分辨率,model可以选择使用的模型(需要在第3步中下载)。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s3.51cto.com/oss/202106/28/a9eb15f62443f57ba686701b33da2b1f.jpg)
改变seed的数字可以更换随机图像种子。
另外还可以在init_image处指定一张初始图片,需要把图片上传到Colab环境里再填入链接。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s5.51cto.com/oss/202106/28/4b58766eaf77b091357b1bddb1c00dce.jpg)
比如,有人使用这样一张图片作为图像种子,开发了新玩法:生成宝可梦。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s3.51cto.com/oss/202106/28/b25fc1f83afbb6c3e6152d7fce2a7ab5.jpg)
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s2.51cto.com/oss/202106/28/97e7aa9fa0db2b8a69d746503054baf8.jpg)
第五步执行,300*300分辨率的图迭代500次只需要几分钟。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s6.51cto.com/oss/202106/28/9ac2db571e5bed9c5f8b88f0c2699c1e.jpg)
最后,还可以把生成的过程合成为视频。
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s5.51cto.com/oss/202106/28/05a703bbfaa16b3230b4b5aa05adf2a5.jpg)
![用AI指挥另一个AI,GAN+CLIP的组合成了“CG艺术家”](https://s3.51cto.com/oss/202106/28/0e555052f24cdd7f0818f731e8b04deb.jpg)
就是这么简单,快来试试吧。
在线试玩:
https://colab.research.google.com/drive/1ZAus_gn2RhTZWzOWUpPERNC0Q8OhZRTZ
VQGAN:
https://github.com/CompVis/taming-transformers
CLIP:
https://openai.com/blog/clip/