InstructPix2Pix: Learning to Follow Image Editing Instructions
讲任务:给定一个图片和一段提示词, 模型根据指引修改图片. 讲方法:用GPT-3和SD生成一个大的数据集. 讲效果:生成很快.
介绍
数据对难获取, 使用GPT3和SD生成数据.
根据获得的数据集训练了一个条件diffusion模型, 卖点是零样本泛化.
方法
生成数据集
生成指引和对应的caption. 原始100条caption从LAION数据集获取, 人工标注Edit instruction和Edited Caption. 之后用这些去微调GPT3, 让GPT生成454445对. 观察到LAION数据集中有很多噪声, 但是可以通过数据集过滤和classifer-free guidance缓解.
生成图片对. 难点在于图片对的一致性难以保证, 即使是相同的提示词, 生成的图片也是完全不同的. 这里使用Prompt-to-Prompt技术, 其中也一个参数p控制相似度, 因为不同的提示词需要不同程度的相似度, 这里取p从0.1到0.9, 采样100个样本对, 使用一个基于CLIP的指标选择最好的.
InstructPix2Pix
基础模型基于sd, VAE, Latent Space, 条件注入这些.
引用了一篇论文, 论述微调比从头训练好, 所以本文使用stable diffusion的权重初始化, 然后讲了一下怎么增加图片嵌入的.
先介绍了一下单classifer-free guidance, 当s大于1时, 模型进一步向条件的方向生成(权衡质量和多样性, 向质量的方向):
然后介绍本文使用的双classifer-free guidance, image和text为空的概率都是5%, 下面这个是推理的公式:
结果
展示 InstructPix2Pix 模型在各种图像编辑任务上的结果; 与 SDEdit 和 Text2Live 进行定性和定量比较; 分析数据集大小和过滤方法对模型性能的影响; 分析分类器无关引导参数对生成样本的影响.
感受
不太了解图像编辑领域, 生成数据集部分不评价. InstructPix2Pix是sd微调, 增加了图片条件输入, 双classifer-free guidance, 在其他论文里都见过.