开源代码链接:github.com/orpatashnik/StyleCLIP
实现:
1、依赖sytlegan2, 通过迭代方式找到latent vector,实现输入文字,输出符合文字描述的图片(main.py或者optimization_playground.ipynb)。还支持编辑,通过提供latent vector或者stylegan latent space中的随机vector.
2、通过mapper编辑图片,这个mapper也是可以训练的,只要有图片的vector和对应的文字label。
mapper是可以通过latent vector训练出来的。作者提供的mapper是用e4e对某个数据集(celeba-HQ)进行invert变成latent space的vector,基于这些vector和对应的label,训练出文字和latent vector之间的关系。依赖stylegan2(e4e的latent vector生成依赖)和人脸识别网络的ID loss(这个ID loss也是e4e用)。
理解:e4e基于的psp能够给出celeba-HQ的图片的latent vector, celeba-HQ本来就有label, 所以可以快速建立latent vector和文本之间的语义关系。
3、通过global direction来编辑图片,有GUI和notebook(依赖的是官方的基于tensorflow的stylegan2)