Prompt-to-Prompt
Prompt-to-Prompt做的事情
无需mask,仅通过文字prompt,对生成图片进行编辑,且能够保持除编辑区域之外的一致性。该过程中无需任何训练、微调,只需要调整Attention map。
Prompt-to-Prompt的动机
作者发现生成图片的空间布局和几何形状都是由内部的cross-attention层的attention map决定,并在time step的早期这个对应关系就已形成。
Prompt-to-Prompt的控制方式
每个时间步t分别计算原始prmopt的attention map M和新的prompt的attention map M*,并用特定规则替换后生成。
- Local Editing
如果只想修改部分区域,会在两个attention map中根据attention score进行mask,然后对两部分的并集部分进行attention injection。
- Word Swap
这个编辑类型是指将原始prompt中的某个token用新的token进行替换。当时间步小于tau时不做替换,否则用原始prompt的attention map做替换。(当两个词的长度不同时,可以对少的进行复制)引入tau的目的是:有一些编辑对图像的几何改变会很大,可以通过引入控制时机tau来缓和.(图片的几何和结构在去噪早期定型,因此在早期使用attention injection来影响编辑后的图片)
- Adding a New Phrase
在原始prompt中新增一些token。
- Attention Re-weighting
可以精细控制prompt中每个token的控制强度。
Prompt-to-Prompt也可以对Real image进行编辑,方式是先做DDIM inversion,然后与上面的方式相同。