本博客是论文 Unsupervised Disentangling of Appearance and Geometryby Deformable Generator Network的翻译,因作者水平有限,可能存在部分不准确的地方,还请读者不吝赐教。
摘要
待补充
1 引言
待补充
2 相关工作
待补充
3 模型和学习算法
3.1 模型

图1: 模型的示意图。该模型包含两个生成器网络:一个外观生成器和一个几何生成器。这两个生成器通过变形函数组合在一起以生成最终图像。变形函数包括图像坐标的几何变换操作和微分插值操作。refine 操作是可选的,用于改善变形函数。
所提出的模型包含两个生成器网络:一个外观生成器和一个几何生成器,它们通过变形函数组合在一起以生成最终图像或视频帧,如图1所示。假设任意图像或视频帧 X∈RDx×Dy×3 生成了两个独立的潜在矢量,Za∈Rda 控制外观,Zg∈Rdg控制几何信息。通过改变几何潜向量Zg,固定外观潜向量Za,可以转换对象的几何信息,例如以一定角度旋转对象或者更改其形状。另一方面,通过改变Za固定Zg,可以更改对象的身份或类别,同时保持其几何信息不变,例如相同的视角或相同的形状。模型可以被表示为:
X=F(Za,zG;θ)=Fw(Fa(Za;θa),Fg(Zg;θg))+ϵ(1)
其中,Za~N(0,Ida),Zg~N(0,Idg),ϵ~N(0,σ2ID)(D=Dx×Dy×3) 是独立的。Fw是变形函数,使用几何生成器 Fg(Zg;θg) 生成的位移对外观生成器Fa(Za;θa) 生成的图像进行变形来生成最终的输出图像 X。
3.2 变形函数
翘曲函数通常包括用于图像坐标的几何变换操作和可微分插值(或重采样)操作。几何变换描述了源坐标中每个位置(u,v)的目标坐标(x,y)。几何运算仅修改图像中像素的位置,而不会更改颜色或照明。因此在提出的模型中,外观信息和几何信息自然地被两个生成器解开了。
几何变换ϕ可以是空间仿射网络[16]中使用的刚性仿射映射,也可以是非刚性变形映射,在我们的工作中使用非刚性的情况。具体来说,就是使用形状生成器 Fg(Zg;θg) 为输出的变形之后的图像X中的每个网格(x,y) 的坐标位移(或者说密集光流场)。可变形映射中的逐点变换可以表示为:
(uv)=Φ(Zg,θg)(xy)=(x+dxy+dy)(2)
这里(u,v) 是由外观生成器Fa(Za;θa)生成的图像的坐标。
由于通过公式(2)计算的坐标不一定是整数,变形之后的输出图像X的每一个像素值可以通过一个可微分差值运算来得到。设Xa=Fa(Za;θa) 表示由外观生成器生成的图像,则变形函数可以表示为:
X(x,y)=FI(Xa(x+dx,y+dy))(3)
这里FI表示可微分的插值函数。使用一个可微的双线性插值来计:
X(x,y)=j∑Dyi∑DxXa(i,j)M(1−∣∣u−i∣∣)M(1−∣∣v−j∣∣)(4)
这里的M(.)=max(0,.),双线性插值进行反向传播的详细信息可以在文献[16]中找到。
位移(dx,dy)用于可变形卷积网络[7]。坐标位移(dx,dy)的计算称为光流估计[14、3、32、9、15、29]。除了估算光流之外,我们的工作还涉及建模和生成光流。
位移(dx,dy)可能是由于场景中对象的运动或相对于场景中3D对象的视点的变化而引起的。将运动和3D模型合并到几何生成器中是很自然的,Zg的更改或变化取决于运动和3D信息。
3.3 推断和学习
为了学习这种可变形的生成器模型,我们引入了两个潜在矢量的学习和推理算法,而无需设计和学习额外的推理网络。我们的方法受到生成器网络的最大似然学习算法[12]的启发。具体来说,可以通过最大化训练数据集 {Xi,i=1,…,N}上的对数似然来对模型进行训练:
L(θ)=N1i=1∑Nlogp(Xi;θ)=N1i=1∑Nlog∫p(Xi,Zia,Zig;θ)dZiadZig(5)
我们可以通过下面与EM算法相关的著名结果来估计 L(θ)的梯度:
∂θ∂logp(X;θ)=p(X;θ)1∂θ∂∫p(X,Za,Zg)dZadZg=Ep(Za,Zg∣X;θ)[∂θ∂logp(X,Za,Zg;θ)](6)
由于等式(6)中的期望值通常在分析上难以处理,因此我们采用Langevin 动态算法从后验分布p(Za,Zg∣X;θ)提取样本并计算蒙特卡洛平均值以估计期望项。对于每个观测值X,可以通过Langevin dynamics 算法交替从p(Za,Zg∣X;θ) 采样潜在向量 Za和 Zg :固定Zg 从p(Za∣X;Zg,θ)∝p(X,Za;Zg,θ)中采样Za,然后固定Za从(Zg∣X;Za,θ)∝p(X,Zg;Za,θ)。每一个采样步骤,潜在向量按照如下方式更新。
Zt+1a=Zta+2δ2∂Za∂logp(X,Zta;Ztg,θ)+δεtaZt+1g=Ztg+2δ2∂Zg∂logp(X,Ztg;Zta,θ)+δεtg(7)
t是Langevin 采样的步数,εta εtg是独立的标准高斯噪声,用于防止采样陷入局部模式,δ是步长。完整数据对数似然可以估计为:
logp(X,Za;Zg,θ)=log[p(Za)p(X∣Za,Zg,θ)]=−2σ21∥∥X−F(Za,Zg;θ)∥∥2−21∥∥Za∥∥2+C1logp(X,Zg;Za,θ)=log[p(Zg)p(X∣Za,Zg,θ)]=−2σ21∥∥X−F(Za,Zg;θ)∥∥2−21∥∥Zg∥∥2+C2(8)
其中C1和C2是归一化常数。可以表明,在足够多的采样步骤下,被采样的Za和Zg遵循其联合后验分布。
通过MCMC从后验分布中获取公平的样本非常耗费计算资源。在本文中,我们运行持久采样链。也就是说,每次迭代的MCMC采样均从先前迭代中采样的Za和Zg开始。持续更新的结果是链条足够长,可以从后验分布中进行采样,而且热初始化极大地减轻了MCMC采样的计算负担。文献[34]研究了基于持续MCMC的随机梯度下降的收敛性。
对于每个训练样本Xi,我们根据等式(7)运行Langevin dynamic 算法,获得相应的后验样本Zia和Zig。然后将样本用于等式(6)中的梯度计算。更精确地,关于参数θ的对数似然的梯度通过蒙特卡洛近似法估算:
∂θ∂L(θ)≈N1i=1∑N∂θ∂logp(Xi,Zia,Zig;θ)=N1i+1∑Nσ21(Xi−F(Zia,Zig;θ))∂θ∂F(Zia,Zig;θ)(9)
整个算法通过两个步骤进行迭代:
(1)通过Langevin dynamic 算法推断潜在向量的推断步骤(2)通过随机梯度下降学习网络参数θ的学习步骤。这两个步骤中的梯度计算均由反向传播提供支持。算法1详细介绍了学习和推理算法:
Require:
- 训练样本 {Xi∈RDx×Dy×3,i=1,2,……,N}
- Langevin dynamic 算法的步数l
- 学习迭代次数T
Ensure
-
需要学习的参数为θ
-
推断的潜在向量 {Zia,Zig,i=1,……,N}
(1)让 t=0,初始化参数 θ
(2)初始化{Zia,Zig,i=1,……,N}
repeat
(3)推断反向传播:对于每一个i,运行l步的 Langevin dynamic 算法,交替的从p(Zia∣Xi;Zig,θ)中采样Zia,同时固定Zig;从p(Zig∣Xi;Zia,θ)中采样,同时固定Zia。从当前的Zia和Zig开始,每一步都遵循等式(7)。
(4)学习的反向传播(learning back-propagation):更新参数:θt+1←θt+ηtL′(θt)。ηt是学习率,这里的L′(θt)通过公式(9)计算。
(5)让 t←t+1
until t=T
3.4 可变形的变分自编码器
所提出的可变形发生器方案对于不同模型是通用的。实际上,我们的方法也可以被VAE [17]学习,通过利用额外的推断网络通过重新参数化来推断(Za,Zg),以获得可变形的变分自编码器。具体来说,我们学习另一个q(Za,Zg∣X;ϕ)来近似难处理的后验条件p(Za,Zg∣X;θ),在近似分布中,假设外观和几何的潜向量是独立的高斯向量,即:q(Za,Zg∣X;ϕ)=q(Za∣X;ϕ)q(Zg∣X;ϕ),其中均值和方差由带有参数ϕ的推断网络建模。这种可变形的VAE模型是对提出的可变形生成器框架的自然扩展。我们在4.1.1节中显示了一些初步结果。注意,通过为形状和外观设计一个单独的鉴别器网络,提出的方案也可以用于对抗性学习方法[10]。我们将其留作下一步工作。在此工作中,为了简单起见,我们将重点放在当前的学习和推理算法上,以便我们不求助于额外的网络。
4 实验
待补充
5 结论
待补充
参考文献