你说,我画,AI工具人石锤。
最近,Transformer
是一个非常火的方向。
比如曾经介绍过的,DALL·E
可以魔法一般按照自然语言文字描述直接生成对应图片。
例如,输入文本:鳄梨形状的扶手椅。
AI 生成的图像:
再比如,我曾出过的教程:
这两天,OpenAI
又出新活,StyleCLIP
闪亮登场。
StyleCLIP
根据文本描述,修改图片,精准PS。直接看效果:
让奥巴马留莫西干发型,一键卸妆,让猫猫变萌,老虎变狮子,建筑风格变成哥特式建筑。
只需一张图片,一段描述,StyleCLIP
就可以对图片进行修改和创作。
AI
文字理解,图片修改和创作,一步到位。再也不用怕网络P图大师们的“满分理解”和骚操作了。
今天继续手把手教学,玩转StyleCLIP
,准备好了吗?
StyleCLIP
StyleCLIP
顾名思义,结合了StyleGAN
与CLIP
模型。
前者,是当下主流的图像生成算法,后者,是大规模图文预训练模型。
两者结合,就可以实现文本到图像的编辑。
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 ,我们下期见。
推荐阅读
• 让猛男娇羞的AI算法• 我,从高考到程序员的成长之路• 6分钟带你回顾2020年高能的AI算法