LAPGAN

引言

在原始 GAN和CGAN中,还只能生成 16*16, 28*28, 32*32 这种低像素小尺寸的图片。而LAPGAN首次实现 64*64 的图像生成。与其一下子生成这么大的图像 (包含信息量这么多),不如一步步由小到大,这样每一步生成的时候,可以基于上一步的结果,而且还只需要“填充”和“补全”新图片所需要的那些信息。

LAPGAN的思想

LAPGAN通过级联方式改进GAN以实现从粗略到精细图片的生成。网络的级联思想对后续的研究产生了极大的影响。LAPGAN使用高斯金字塔进行下采样,使用拉普拉斯金字塔进行上采样

假设图像I的长度和宽度均为j,对于图像 I_0=(j,j),下采样得到的图像尺寸为 (j/2,j/2),上采样得到的图像尺寸为 (2j,2j)。对于图像进行连续k 次的下采样,可以获得一系列图像 I_1=(j/2,j/2),I_2=(j/4,j/4),...,I_k= (j/2^k,j/2^k):

其中,g(I)表示图像的高斯金字塔。在得到高斯金字塔之后,拉普拉斯金字塔可表示如下:

\boldsymbol{h}_k=\mathcal{L}_k(\boldsymbol{I})=\mathcal{G}_k(\boldsymbol{I})-u\big(\mathcal{G}_{k+1}(\boldsymbol{I})\big)=\boldsymbol{I}_k-u(\boldsymbol{I}_{k+1})


其中,拉普拉斯金字塔的第k层等于高斯金字塔的第k层 g_k(I)减去高斯金字塔第(k+1)层的上采样 u(g_{k+1}(I))

image-20240426162654321

输入噪声 z_{3^{\prime}} G_{3}生成 \tilde{I}_{3},上采样得到 I_{2},使用 I_{2}作为条件输入 G_{2} 同时输入噪声 z_{2}生成差分图像 \tilde{h}_{2}, 添加到 I_{2}中生成 \tilde{I}_{2}

LAPGAN将条件对抗生成网络CGAN集成到拉普拉斯金字塔结构中:

\tilde{\boldsymbol{I}}_k=u(\tilde{\boldsymbol{I}}_{k+1})+\tilde{\boldsymbol{h}}_k=u(\tilde{\boldsymbol{I}}_{k+1})+G_k(\mathbf{z}_k,u(\tilde{\boldsymbol{I}}_{k+1}))


其中, G_k表示第k个卷积神经网络,也就是生成器,高斯金字塔第k层的重建等于它的第(k+1)层上采样 u(\tilde{I}_{k+1})加上拉普拉斯金字塔的第k层 \widetilde{h}_k。除了最高层的生成器之外,其余生成器 G_0、G_1\ldots G_{k-1}都是采用上一级的上采样和噪声作为联合输入。上采样的结果就是LAPGAN中的条件变量。

Coarse-to-fine的视觉效果

image-20240426182823979