Blended Diffusion for Text-driven Editing of Natural Images

  1. 问题引入
  • 针对的region based image edit问题,且编辑是由text引导的;
  • 问题定义:给出image x x x,guided text prompt d d d,binary mask m m m,目标是得到编辑之后的图片 x ^ \hat{x} x^,其中 x ^ ⊙ m \hat{x}\odot m x^m和text相一致,而 x ⊙ ( 1 − m ) ≈ x ^ ⊙ ( 1 − m ) x\odot (1-m)\approx \hat{x}\odot (1-m) x(1m)x^(1m) ⊙ \odot 表示element wise manipulation操作;
  1. methods
  • Local CLIP-guided diffusion:借鉴的是classifier guidance方法,使用CLIP来引导模型生成mask区域满足text编辑指令的结果,但是原始classifier guidance里面是专门针对noisy图片训练了classifier,此处没有如此操作,而是在去噪的每一步预估 x 0 x_0 x0,通过每一步预测出的噪声 ϵ θ ( x t , t ) \epsilon_\theta(x_t,t) ϵθ(xt,t),可以得到 x ^ 0 = x t α ‾ t − 1 − α ‾ t ϵ θ ( x t , t ) α ‾ t \hat{x}_0 = \frac{x_t}{\sqrt{\overline{\alpha}_t}} - \frac{\sqrt{1 - \overline{\alpha}_t}\epsilon_\theta(x_t,t)}{\sqrt{\overline{\alpha}_t}} x^0=αt xtαt 1αt ϵθ(xt,t),得到 x ^ 0 \hat{x}_0 x^0之后通过CLIP计算 D C L I P ( x , d , m ) = D c ( C L I P i m g ( x ⊙ m ) , C L I P t x t ( d ) ) D_{CLIP}(x,d,m) = D_c(CLIP_{img}(x\odot m),CLIP_{txt}(d)) DCLIP(x,d,m)=Dc(CLIPimg(xm),CLIPtxt(d)),也就是将 x ^ 0 \hat{x}_0 x^0和text d d d都送到CLIP当中之后计算两者之间的cosine距离;除了对mask区域的text约束以外,mask以外的区域还需要满足和原图相同,所以添加一项约束 D b g ( x 1 , x 2 , m ) = d ( x 1 ⊙ ( 1 − m ) , x 2 ⊙ ( 1 − m ) ) , d ( x 1 , x 2 ) = 1 2 ( M S E ( x 1 , x 2 ) + L P I P S ( x 1 , x 2 ) ) D_{bg}(x_1,x_2,m) = d(x_1\odot(1-m),x_2\odot(1-m)),d(x_1,x_2) = \frac{1}{2}(MSE(x_1,x_2) + LPIPS(x_1,x_2)) Dbg(x1,x2,m)=d(x1(1m),x2(1m)),d(x1,x2)=21(MSE(x1,x2)+LPIPS(x1,x2)),最终的总约束项是两者的加权和 D C L I P ( x ^ 0 , d , m ) + λ D b g ( x , x ^ 0 , m ) D_{CLIP}(\hat{x}_0,d,m) + \lambda D_{bg}(x,\hat{x}_0,m) DCLIP(x^0,d,m)+λDbg(x,x^0,m),整体算法为:在这里插入图片描述
  • Text-driven blended diffusion:仅靠上述的约束是不够的,前背景都不能达到满意的效果,所以在denoise的过程中不断将原图加噪的结果(background)和去噪的结果(CLIP引导的)相融合,也就是对于step t t t,加入CLIP的引导得到 x t − 1 , f g x_{t - 1,fg} xt1,fg,同时对原图进行加噪得到 x t − 1 , b g x_{t - 1,bg} xt1,bg,之后进行混合 x t − 1 = x t − 1 , f g ⊙ m + x t − 1 , b g ⊙ ( 1 − m ) x_{t - 1} = x_{t - 1,fg}\odot m + x_{t - 1,bg}\odot(1-m) xt1=xt1,fgm+xt1,bg(1m),此时CLIP的引导不包含约束背景的那一项;
  • Extending augmentations:还会存在一个问题,就是CLIP引导的时候loss项减小了,但是结果并不满足要求,解决办法就是在去噪过程中加入增广,假设当前step获取到的 x ^ 0 \hat{x}_0 x^0,不直接使用 x ^ 0 \hat{x}_0 x^0计算loss进行引导,而是对其进行增广得到projectively transformed copies,之后使用增广后的结果计算loss来引导模型;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值