情人节元宵节快乐

[ICCV2021] Talk-to-Edit: Fine-Grained Facial Editing via Dialo

[pdf][supp][page][code]

Question

针对于现有的模型无法提供一个与用户进行自然互动的连续和细粒度的编辑模式

Contribution

提出了一个交互式的面部编辑框架,通过用户与系统的对话来执行细粒度的属性编辑

  1. 与之前工作认为direction是一条直线不同,该论文认为认为direction可以为曲线,并且此曲线可由细粒度的直线拟合,以适应细粒度的编辑
  2. 曲线每一步的曲率都与当时的位置相关,由输入的图像和用户的请求决定
  3. 为了让用户参与到一个有意义的对话中,我们的系统会同时考虑用户请求以及当前图片所在语义域的位置生成语言反馈

除此之外,该论文还提供了一个新的数据集CelebA-Dialog

Method

architecture

这是第tt轮的操作,对于用户的请求rtr_t,使用一个Language Encoder EE,生成编辑编码ere_rere_r决定了一个语义字段是否进行编辑,其包含的信息包括:请求类型、编辑的属性、编辑的方向、变化的程度

然后ztz_tere_r通过FF生成ff,将ff加到ztz_t上再通过生成器GG生成编辑后的图片,PP是一个预训练的模型用来预测生成的图片是否符合用户的需求

Semantic Field for Facial Editing

若要进行编辑,latent code zRdz\in \mathbb R^d,对应图片I=G(z)I=G(z),然后找到一个可以改变特定语义属性的向量fzRdf_z\in \mathbb R^d,更改后的图片z=z+αfzz'=z+\alpha f_zα\alpha是更改的程度,但是我们认为每张图片的fzf_z并不是一成不变的,它是会根据zz位置的不同而不断变化的,所以direction相比直线来说,更类似于一条曲线

基于此,我们提出建模一个连续的语义域,对于每个latent code zz都有一个对应的向量ff,这个语义域被定义为`F:\mathbb R^d\rightarrow \mathbb R^d`,是语义分数域S:RdRS:\mathbb R^d\rightarrow \mathbb R的梯度

loss

橙色的虚线是反向传播的路线,其中的loss有三个

Lid=Face(I)Face(I)1L_{id}=||Face(I')-Face(I)||_1

Ldisc=D(I)L_{disc}=-D(I')

以上两个建立在编辑前和编辑后的两张图片之间,Face()Face(·)是预训练的面部识别模型,作用是保持身份,DD是预训练的鉴别器,作用是避免图片中产生不现实的伪影

假设图片有kk个细粒度属性,(a1,a2,...,ai,...,ak)(a_1, a_2, ..., a_i, ..., a_k),其中ai{0,1,...,C}a_i\in\{0,1,...,C\}CC是对语义域离散分级的数量,在对第ii个属性训练语义域时,编辑后的图片属性标签应该为(a1,a2,...,ai+1,...,ak)(a_1, a_2, ..., a_i+1, ..., a_k),利用目标图片的语义标签,我们可以使用交叉熵损失优化所需的语义域

Lpred=i=1kc=0Cyi,clog(pi,c)L_{pred}=-\sum_{i=1}^{k}\sum_{c=0}^{C}y_{i,c}log(p_{i,c})

CC是细粒度类的数量,yi,cy_{i,c}是对于目标类的二进制指示器,pi,cp_{i,c}是预测器PP的softmax输出

Results

定性结果比较,得益于细粒度语义域的使用,该方法编辑效果显然要更好,但是其编辑的步长是否一致文中没有明说,猜测是该方法direction为曲线导致的,很难与其他方法统一比较,但这一点也是该方法的优势所在

分数上同样优于其他方法,其中带星号的是在W+W+空间中进行编辑的结果

[ICCV2021] Language-Guided Global Image Editing via Cross-Modal Cyclic Mechanism

[pdf][supp][page][code]

Question

这篇论文解决的问题主要是在数据方面,由于数据集分布不足以及不平衡等问题,现有工作无法很好的理解语言请求

同时还有在全局的编辑请求上,有时需要不同区域有着不同的编辑程度,而现有工作很难做到

Contribution

通过创建一个名为Editing Description Network (EDNet)的新模型,用我们的图像生成器创建一个循环,并使用几种数据增强来解决数据不平衡的问题

提出了Image-Request Attention (IRA)模块,使得在不同区域需要不同程度的编辑时,方法可以自适应的编辑图像

提出了一个新的度量方式(RSS),比传统的度量指标更加合理

Method

architecture

对于请求tt,使用了一个RNN编码器生成语言嵌入hh,EDNet同样也是生成语言嵌入,不过是通过两张图片生成的

原图xxhh通过生成器GG生成编辑后的图片x~\tilde xx~\tilde x和目标图片yy作L1损失,x~\tilde xxx输入到EDNet中生成嵌入exx~e_{x\rightarrow \tilde x},与hh作循环损失

然后,xxyy输入到EDNet中生成嵌入exye_{x\rightarrow y},再和xx生成x~\tilde xx~\tilde xyy作重建损失

Editing Description Network.

αxyi,j=softmaxj((W1Fxi)T(W2Fyj))\alpha_{x\rightarrow y}^{i,j}=softmax_j \left ( (W_1F_x^i)^T(W_2F_y^j) \right )

Fxyi=jαxyi,jFyjF_{x\rightarrow y}^i=\sum_{j}\alpha_{x\rightarrow y}^{i,j}F_y^j

exy=tanh(W3[Fx;Fxy]+b3)e_{x\rightarrow y}=\tanh(W_3[F_x;F_{x\rightarrow y}]+b_3)

最终exyRChe_{x\rightarrow y}\in \mathbb R^{C_h}ChC_hhh的维度

Generator with Image-Request Attention

为实现对不同局部进行不同编辑的效果,为生成器添加了一个注意力模块,其结构如上图,公式如下

同样先使用CNN将图片xx编码到图像特征图VRCv×H×WV\in \mathbb R^{C_v\times H\times W},此外hRCh×1h\in \mathbb R^{C_h \times 1}

A=Sigmoid((W4h)T(W5V))A=Sigmoid\left ( (W_4h)^T(W_5 V) \right)

ARH×WA\in \mathbb R^{H\times W},然后将hh通过重复扩展为hˉRCh×H×W\bar h \in \mathbb R^{C_h\times H\times W},使用注意力矩阵AAhˉ\bar h中的元素进行重新加权

hˉ=W6hˉA\bar h'=W_6\bar h\odot A

再通过hˉ\bar h'生成调制参数γ\gammaβ\beta

γ=W7hˉ\gamma=W_7\bar h'

β=W8hˉ\beta=W_8\bar h'

最终更改后的特征图为

V=γV+βV'=\gamma \odot V + \beta

\odot为Hadamard乘积,以上WW矩阵都是可学习的参数

loss

Generator

GAN loss如下,包括L1 loss和对抗loss

LGL1=x~y\mathcal L_{G}^{L1}=|\tilde x-y|

LGadv=Ex~Pmodel[logD(x~)]\mathcal L_{G}^{adv}=-\mathbb E_{\tilde x \sim \mathcal P_{model}}[\log D(\tilde x)]

LDadv=EyPdata[logD(y)]Ex~Pmodel[log(1D(x~))]\mathcal L_{D}^{adv}=-\mathbb E_{y \sim \mathcal P_{data}}[\log D(y)]-\mathbb E_{\tilde x \sim \mathcal P_{model}}[\log (1-D(\tilde x))]

Cross-Modal Cyclic Mechanism

x~=G(x,h)\tilde x=G(x,h)

exx~=ED(x,x~)e_{x\rightarrow \tilde x}=ED(x,\tilde x)

Lcyc=1exx~hexx~h\mathcal L_{cyc}=1-\frac{e_{x\rightarrow \tilde x}\cdot h}{||e_{x\rightarrow \tilde x}||\,||h||}

此为Figure 2 (1)中Cycle Loss

Lrec=G(x,ED(x,y))y\mathcal L_{rec}=|G(x,ED(x,y))-y|

此为Figure 2(1)右半部分的L1 loss

Data Augmentation on Image Pairs

如Figure 2 (2)(3)所示,将xxyy互换或者进行随机增强,再输入进行训练

x=random_adjust(x)x'=random\_adjust(x)

y=random_adjust(y)y'=random\_adjust(y)

Laug=G(y,ED(y,x))x+G(x,ED(x,y))y\mathcal L_{aug}=|G(y,ED(y,x))-x|+|G(x',ED(x',y'))-y'|

互换可以解决不平衡问题,随机增强可以解决数据不够丰富的问题

Results

总结

这两篇是从ICCV2021搜索editing找到的,两篇都是通过语言控制图像编辑的,原本还有一篇关于3D编辑的,但是鉴于看了半天没看懂,而且好像是侧重于如何通过编辑2D图像编辑3D模型,与图像编辑没什么关系,所以放弃了

后来看了几篇论文,发现这两篇都是关于语言控制编辑的,所以都仔细看了看

第一篇侧重于细粒度的编辑,通过对话的形式进行,这种人机交互的模式确实更适合对图像进行微调,其中提出的语义域也是一个很好的思路,认为direction不仅与属性相关,还与zz相关,所以通过zz获取direction,虽然会更难训练,但是会更准确

第二篇则侧重于解决全局的图像编辑问题,比如修改亮度、对比度、色调等等,虽然同样是通过语言控制,但是内容和第一篇完全不同,这篇论文完全没有看到将它用在人脸编辑,不知道效果会怎样。