该方法能够生成不同的姿态的人物图像以及改变人物的外观。而且这个模型能够在不改变shape的情况下从appearance distribution 中进行采样。
1 Approach
记x为dataset X中的一张图片,我们想要理解x中的object是如何被其shape y和appearance z所影响的。因此图像生成器可以被表示为最大化后验概率(极大后验估计:给定x,哪种y和z可能发生)
arg max p(x∣y,z)
1.1 VAE based on latent shape and appearance
p(x∣y,z)可以视为隐变量(含两个隐变量)的生成模型,可以求得这个生成模型的联合概率分布p(x,y,z)。
∵
p(x∣y,z)=p(y,z)p(x,y,z)
∴
p(x,y,z)=p(x∣y,z)p(y,z)
含隐变量的概率密度估计可以采用VAE的方法进行求解,求解过程包含了两个步骤推断和生成。实际上我们最终的目的是为了求出图像x的分布p(x,θ),θ为参数,给定样本x,其对数边际似然函数为
logp(x,θ)=ELBO(q,x,θ,ϕ)+KL[q(y,z∣x;ϕ),p(y,z∣x;θ)]
其中q(y,z∣x;ϕ)为变分密度函数,ϕ为参数,ELBO为证据下界:
ELBO(q,x,θ,ϕ)=Eqlogq(y,z∣x;ϕ)p(x∣y,z)p(y,z)
logp(x)=log∫p(x,y,z)dz dy=log∫q(y,z∣x)p(x,y,z)q(y,z∣x)≥Eqlogq(y,z∣x;ϕ)p(x∣y,z)p(y,z)
VAE最终的优化目标为最大化ELBO。
在VAE中假设p(y,z)服从标准正态分布,即p(y,z)∼N(0,1)。但是这种假设无法将变量y和z分离,因此我们需要添加一个额外的信息将y,z进行分离。
1.2 CVAE with appearance
假设我们有一个估计函数e能够通过图像x来估计shape y,即y^=e(x)。那么y^=e(x)则通过最大化条件对数似然函数来得到(极大后验估计:给定x,哪一种y可能发生)
logp(x∣y^)=log∫zp(x,z∣y^)dz≥Eqlogq(z∣x,y^)p(x,z∣y^)=Eqlogq(z∣x,y^)p(x∣y^,z)p(z∣y^)
p(x,z∣y^)=p[x∣(z∣y^)]p(z∣y^)=p(x∣y^,z)p(z∣y^)→p[x∣(z∣y^)]=p(x∣y^,z)
其中条件(先验)概率p(z∣y^)可以从训练数据中估计得到,并能够获得shape 和 appearance之间的关系。例如一个正在跑步的人更有可能穿T恤而西装。
现在的问题为如何求概率p(x∣y^,z)以及概率q(z∣x,y^)。这里使用神经网络Gθ来拟合p(x∣y^,z)以及使用神经网络Fϕ来拟合q(z∣x,y^)。
q(z∣x,y^)表示如何从给定图像x中推断appearance z。
p(x∣y^,z)表示如何从隐变量z,y^中采样得到图像x。
损失函数为:
L(x,θ,ϕ)=−KL[qϕ(z∣x,y^)∣∣pθ(z∣y^)]+Eqϕ(z∣x,y^)[logpθ(x∣y^,z)]

1.3 Generator
首先建立Gθ。假设分布p(x∣y^,z)有常值偏差,以及Gθ(y^,z)为y^的确定函数。那么Gθ(y^,z)可以视为图像生成器,我们可以将损失函数的第二项进行替代,那么此时的损失函数为:
L(x,θ,ϕ)=−KL[qϕ(z∣x,y^)∣∣pθ(z∣y^)]+k∑λk∣∣Φk(x)−Φk(Gθ(y^,z)∣∣1
其中∑kλk∣∣Φk(x)−Φk(Gθ(y^,z)∣∣1为感知损失函数,ϕ为VGG19。
我们想要保留y^中的空间信息用于生成图片xˉ(其中y^=e(x)使用现有的姿态估计算法),因此这里使用了U-net结构来进行y^信息的保留。
appearance z是在高斯分布qϕ(z∣x,y^)中采样得到的( qϕ(z∣x,y^)的分布形式已知,但是分布参数未知),我们通过神经网络Fϕ来求参数ϕ。Fϕ的优化包含两个部分:1.需要将足够多的关于x的信息融入到z中以至于p(x∣y^,z)能够很好的描述数据。2.需要通过最小化q(z∣x,y^)和p(z∣y^)的KL散度来减小先验分布p(z∣y^)的偏差。
由于Gθ中已经使用U-net来保存y^中的空间信息了,因此不需要在z中加入关于shape 的信息了(如果加入了shape 信息只会提高计算量,而不会为p(x∣y^,z)提供有用的信息)。在这种情况下,只需要将z包含在Gθ的瓶颈处即可。
的信息了(如果加入了shape 信息只会提高计算量,而不会为p(x∣y^,z)提供有用的信息)。在这种情况下,只需要将z包含在Gθ的瓶颈处即可。
我们将z和Eθ(y^)进行叠加作为decoder 的输入,即γ=[Eθ(y^),z],Dθ(γ).