论文StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks详解

视频讲解

github代码下载地址

论文下载地址:https://arxiv.org/pdf/1612.03242v2.pdf

论文讲解合集

目录

提出目的和方法

提出目的

提出方法

整体模型架构

Stage-I GAN 

Stage-II GAN

Conditioning Augmentation

实验部分

训练和测试


提出目的和方法

提出目的

        现有的文本到图像的方法生成的样本虽然能大致反映给定描述的意思,但往往缺乏必要的细节和生动的物体部分。本文提出了堆叠生成对抗网络(StackGAN),以生成基于文本描述的256x256的照片级真实图像

提出方法

        通过草图-精炼过程将这一困难问题分解为更易管理的子问题。第一阶段的GAN根据给定的文本描述勾画出物体的原始形状和颜色,从而生成第一阶段的低分辨率图像。第二阶段的GAN将第一阶段的结果和文本描述作为输入,并生成具有照片真实细节的高分辨率图像。它能够纠正第一阶段结果中的缺陷,并通过精炼过程添加引人注目的细节。为了提高合成图像的多样性和稳定条件GAN的训练,我们引入了一种新颖的条件增强技术,鼓励潜在条件流形的平滑性

整体模型架构

Stage-I GAN 

Stage-II GAN

Conditioning Augmentation

算法实现

class condEmbedding(nn.Module):
    def __init__(self, noise_dim, emb_dim):
        super(condEmbedding, self).__init__()

        self.noise_dim = noise_dim
        self.emb_dim = emb_dim
        self.linear  = nn.Linear(noise_dim, emb_dim*2)
        self.relu = nn.LeakyReLU(0.2, inplace=True)

    def sample_encoded_context(self, mean, logsigma, kl_loss=False):
    
        # epsilon = Variable(torch.cuda.FloatTensor(mean.size()).normal_())
        # print('epsion.size: {}'.format(epsilon.size())) # torch.Size([1, 128])
        stddev  = logsigma.exp()

        epsilon = torch.FloatTensor(mean.size()).normal_().to(mean.device)
        # print('epsion.size: {}'.format(epsilon.size()))
        
        return epsilon.mul(stddev).add_(mean)

    def forward(self, inputs, kl_loss=True):
        '''
        inputs: (B, dim)
        return: mean (B, dim), logsigma (B, dim)
        '''
        out = self.relu(self.linear(inputs))
        mean = out[:, :self.emb_dim]
        log_sigma = out[:, self.emb_dim:]

        c = self.sample_encoded_context(mean, log_sigma)
        return c, mean, log_sigma

实验部分

训练和测试

https://mydreamambitious.blog.csdn.net/article/details/144683705(数据集介绍和下载)

通过百度网盘分享的文件:char-CNN-RNN
链接:https://pan.baidu.com/s/1a-5cJIiyHlAxtG2FmuRXhQ 
提取码:0l8p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值