[图像编辑10] ZONE
Thu Mar 27 2025
822 words · 7 minutes

[图像编辑10] ZONE


Table of Contents

ZONE: Zero-Shot Instruction-Guided Local Editing Link to ZONE: Zero-Shot Instruction-Guided Local Editing

From:CVPR2024

Motivation Link to Motivation

此前的工作:

  • prompt要精心设计,并不user-friendly
  • 对局部编辑不敏感,且可能编辑到其他区域

Method Link to Method

image-20250327212911898
  • Instruction-Guided Localization

    作者发现description-guided model和instruction-guided model在cross-aatention有很大差别

    • description-guided model:token aware,如“让狗变成金色雕塑”,有两个主要token,那么模型就会在注意力机制把狗这个token与图中对应图像关联起来,再把雕塑这个token与图像关联起来。就是说描述引导的注意力机制是将文本中所有的token与图片的对应位置一一对应。

    • instruction-guided model:edit aware,不是像描述引导一样逐个处理文本标记与图像的区域的对应关系,而是对整体进行响应。例如同样是“让狗变成金色的雕塑”,这整个指令就只会关注狗这个待编辑的对象。

      image-20250327195745377

    如图所示,SD是每个token一一对应attention,而InstructPix2Pix则是ϕ\phi空文本,attention一直关注待编辑的物体。

    使用InstructP2Pix,平均化每一步的averaged attention maps MAM_{A}

    观察得到结论为M1AM^{A}_1注重非编辑区域的信息,而后面的MA2,...,LM^{2,...,L}_A注重编辑区域的信息,从上图其实也是可以看出来的。

    因此,作者将最后的交叉注意力图从第一个交叉注意力图中减去,并使用固定阈值T对每个像素(m,n)进行二值化,以突出编辑区域并减少背景噪声:

    Mb(m,n)={1,if MA1(m,n)MAL(m,n)<T0,others\mathcal{M}_b(m, n) = \begin{cases} 1, & \text{if } \mathcal{M}_A^1(m, n) - \mathcal{M}_A^L(m, n) < T \\ 0, & \text{others} \end{cases}

    TT​是根据经验,设置为128。如此得到待编辑区域的mask MbM_b

    在“移除”编辑方面,InstructPix2Pix的表现不如MagicBrush,但在“添加”和“更改”方面,它能够更好地保持物体的身份。

    image-20250327213024830

    因此,在AIA_I模块,冻结了MagicBruch和InstructPix2Pix的参数,设计了一个Action Classifier来引导去噪:

    zt1=zt1+βzt11+βz_{t-1} = \frac{z_{t-1}^* + \beta \cdot z_{t-1}'}{1 + \beta}

    其中,zt1z_{t-1}^*zt1z_{t-1}'分别是InstructPix2Pix和MagicBrush的去噪隐变量,β\beta则是根据要编辑的类型不同设置的超参数,指示MagicBrush和InstructPix2Pix的指导强度。

    输出的IstyI_{sty}​就是编辑区域,作为一个独立的图像层输入后续编辑过程。

  • Mask Refinement

    image-20250327212727770

    IstyI_{sty}用SAM分割为不同区域,S={Sj}j=1N\mathcal{S} = \{ \mathcal{S}^j \}_{j=1}^N

    R(j)=area(SjMb)area(SjMb),j=1,2,,N.\mathcal{R}(j) = \frac{\text{area}(\mathcal{S}^j \cap \mathcal{M}_b)}{\text{area}(\mathcal{S}^j \cup \mathcal{M}_b)}, \quad j = 1, 2, \ldots, N.

    R(j)\mathcal{R}(j)取最大时,取SjS^j作为编辑区域,因为此时SjS^jMbM_b重合度最高,最终的mask叫做MfM_f

    不直接使用SAM的预设点或框提示进行分割选择,因为这些提示可能会由于IP2P的过度编辑问题导致SAM分割结果的误选或遗漏。

  • Layer Blending

    image-20250327212851273

    IL=IstyMf\mathcal{I}'_L = \mathcal{I}_{sty} \odot \mathcal{M}_f保留了Mf=1M_f=1(二值化的黑白mask)的区域内的IstyI_{sty}信息,也就是待编辑物体区域。

    最简单方法是IL{I}'_LIGI_G做像素级别的融合,但会导致锯齿状边缘和编辑区域覆盖不完全的问题。

    使用快速傅里叶(FFT)方法进行边缘平滑处理。

    此处不再细说,因为我也没有完全且没有时间完全看懂,以后要做了再来看吧。

Thanks for reading!

[图像编辑10] ZONE

Thu Mar 27 2025
822 words · 7 minutes