最近,Transformer是一个非常火的方向。
比如曾经介绍过的,DALL·E可以魔法一般按照自然语言文字描述直接生成对应图片。
例如,输入文本:鳄梨形状的扶手椅。
AI 生成的图像:
再比如,我曾出过的教程:
这两天,OpenAI又出新活,StyleCLIP闪亮登场。
StyleCLIP根据文本描述,修改图片,精准PS。直接看效果:
让奥巴马留莫西干发型一键卸妆,让猫猫变萌,老虎变狮子,建筑风格变成哥特式建筑
只需一张图片一段描述StyleCLIP就可以对图片进行修改和创作。
AI文字理解,图片修改和创作,一步到位。再也不用怕网络P图大师们的“满分理解”和骚操作了。
今天继续手把手教学,玩转StyleCLIP准备好了吗?

StyleCLIP

StyleCLIP顾名思义,结合了StyleGANCLIP模型。
前者,是当下主流的图像生成算法,后者,是大规模图文预训练模型。
两者结合,就可以实现文本到图像的编辑。
StyleGAN通过在隐空间(latent space)控制隐藏特征(latent code)来控制图片的属性,生成风格各异的图像。
StyleGAN应该都很熟悉,简单介绍下CLIP
CLIP就是Contrastive Language-Image Pre-Training的缩写,即大规模图文预训练模型,也是OpenAI的近作。
CLIP的文本和图像编码器都是基于Transformer结构的。
Transformer的详细教程,可以看我之前发过的文章:
CLIP算是迈出了多模态的第一步,可以用于多类型图文联合检索。
本质上,CLIP模型检索的原理是比较特征空间中两个特征编码的余弦相似度,所以并不局限在文本特征与图像特征的比较。
比如,文本-图像检索。
检索文本:“Tokyo tower at night.”
检索文本:“People come and go on the street.”
再比如,文本+文本-图像检索。
检索文本1:“Flower”,检索文本2:“Blue sky”
StlyCLIP主要是利用CLIP模型的力量来实现基于文本的语义图像操作,这种操作的好处是,它既不局限于预设的操作方向,也不需要额外的手动操作
StlyCLIP整体思想就是:利用CLIP为基础的损失修改StyleGAN输入的隐藏特征,从而响应用户提供的文本形式。
比如根据用户文本:Orange、Big Ears、Big Nose、Cute改变原图。
主要使用了三种技术:
  • Optimizer:以文本为指导的 latent 优化,其中 CLIP 模型被用作一个损失网络,这是一种通用方法,但需要几分钟的时间来进行优化,以对图片进行操作;
  • Mapper:训练一个用于特定文本提示的 latent 残差映射器。在隐空间中给定一个起点(需要操作的输入图像),映射器在隐空间中产生一个局部步骤;
  • global dir:一种在 StyleGAN 的 style space 中将文本提示映射到输入无关(全局)方向(global direction)的方法,提供了对操作强度和解耦的控制。
更详细的内容,可以直接看论文:
https://arxiv.org/pdf/2103.17249.pdf

算法测试

StyleCLIP完全开源,项目地址:
https://github.com/orpatashnik/StyleCLIP
如果不想搭建开发环境,可以直接用Google Colab工程:
https://colab.research.google.com/github/orpatashnik/StyleCLIP
运行Google Colab代码有些问题,需要自己修改下代码:
迭代100次,大约3分钟,运行结果:
本地搭建环境也不复杂,StyleCLIP需要先配置CLIP,然后安装第三方库。
没什么难度,就不展开说明了。

絮叨

Transformer真的火,有必要好好学一学。
我是 Jack ,我们下期见。
·················END·················

推荐阅读


继续阅读
阅读原文