[图像编辑09] SmartEdit
Table of Contents

SmartEdit: Exploring Complex Instruction-based Image Editing with Multimodal Large Language Models Link to SmartEdit: Exploring Complex Instruction-based Image Editing with Multimodal Large Language Models

From:CVPR2024

Motivation Link to Motivation

现有方法的缺点:

  • 现有模型在复杂场景下的表现效果差

    两种情况

    • complex understanding scenarios:图中多个物体,但只要求修改其中一个物体的特定属性
    • complex reasoning scenarios:编辑的时候,需要额外的“world knowledge”,比如说“移除可以表达时间的物体”,模型不知道什么物体可以表达时间,于是编辑失败

    原因为

    • Diffusion模型中使用的是简单的CLIP Encoder

      解决方法是引入MLLM代替CLIP,但仍然有不足,后续会讲继续改进

    • 基于指令的编辑仍然缺少数据,但生成数据又很昂贵

      解决方法是提升Unet的感知能力和使用少量高质量场景数据来激发模型能力

Method Link to Method

  • The Framework of SmartEdit

    image-20250326211309757

    原图xx经过Image Encoder得到图像特征vv,再经过FCFC层得到vμ(x)v_{\mu}(x)

    vμ(x)v_{\mu}(x)与指令cc经过tokenize得到的embedding (s1,s2...sT)(s_1,s_2...s_T)一起被输入到LLM

    LLM的输出是离散的tokens,不能作为后续模块的输入,要转化为hidden state

    这里需要讲解一下hidden states和embedding的区别

    image-1 image-2

    为了联合optimize LLaVA和Diffusiom model,学习GILL,扩展原先的LLM的词汇,在指令cc的后面增加rr[IMG][IMG] tokens

    确切的说,是将一个trainable的矩阵EE融入LLM的embedding矩阵

    之后,基于先前生成的tokens的条件,minimize这个生成的r[IMG]r \, [IMG] tokens的负对数似然

LLLM(c)=i=1rlogp{θE}([IMGi]vμ(x),s1,,sT,[IMG1],,[IMGi1])L_{\text{LLM}}(c) = - \sum_{i=1}^{r} \log p_{\{\theta \cup {\text{E}}\}} \left( [\text{IMG}_i] \mid v_\mu(x), \, s_1, \ldots, s_T, [\text{IMG}_1], \ldots, [\text{IMG}_{i-1}] \right)

LLM的主要参数θ\theta被冻结,使用LoRA进行微调,得到hidden states为hh

考虑到LLM和CLIP的feature spaces的差距,需要把hh对齐到CLIP的encoder space,使用QFormer得到特征ff

然后图像特征vvff经过下一节所说的BIM得到ff'vv'

以上过程表示为

h=LLaVA(x,c),f=Qβ(h),v=Eϕ(x),f,v=BIM(f,v)h = \text{LLaVA}(x, c), \\ f = Q_\beta(h), \\ v = E_\phi(x), \\ f', v' = \text{BIM}(f, v)

然后将图像xx编码后的ϵ(x)\epsilon(x)和噪声潜变量ztz_t拼接,ff'作为Unet的key和value,vv'通过在输入Unet前通过残差与特征结合

Ldiffusion=EE(y),E(x),cT,ϵN(0,1),t[ϵϵδ(t,concat[zt,E(x)]+v,f)22]L_{\text{diffusion}} = \mathbb{E}_{\mathcal{E}(y), \mathcal{E}(x), c_T, \epsilon \sim \mathcal{N}(0,1), t} \left[ \left\| \epsilon - \epsilon_\delta\left(t, \text{concat}[z_t, \mathcal{E}(x)] + v', f' \right) \right\|_2^2 \right]
  • Bidirectional Interaction Module(双向交互模块)

    image-20250326220200751

    ff先做self-attention,然后ff作为query,vv作为key和value做corss-attention,得到的结果做Pointwise MLP得到ff'

    然后vv作为query,ff'作为key和value,做cross-attention,得到vv'

    如此实现文本和图像特征的双重交互

  • Dataset Utilization Strategy

    生成了一些高质量数据来补充数据集,激发MLLM的推理能力

    第一个场景方法如下

    image-20250326221600135

    第二个场景说的是,SAM生成物体mask,再用stable diffusion做补全,并人工筛选掉失败的案例,只给了效果图

    image-20250326221834015
Thanks for reading!

[图像编辑09] SmartEdit

Wed Mar 26 2025
731 words · 7 minutes