【2018CVPR】Image Generation from Scene Graphs论文分享

简述

       现有的根据文本生成图像的方法难以生成语言描述中包含多个对象以及对象之间关系的图。
       于是,作者提出了用图卷积处理输入图像,根据bounding box等计算场景布局,然后用级联细化网络和对抗生成网络把布局转换成图。


引言

       在现有的文本生成图像的方法中,效果最好的是StackGAN(ICCV2017文章),如下图所示,生成效果显著。
图中左边文字对StackGAN的大致流程做了简单描述,图片来源于StackGAN原文
       然而,当这些方法碰到在文本描述中包含有多个物体以及他们之间复杂关系时,处理效果往往不尽如人意。如下所示。
在这里插入图片描述
       可以看到对于左边这种有多个物体对象(如羊、草地、天空、船、海等)且对象与对象之间存在很多关系(如上面、旁边、后面等)的描述性语句,StackGAN生成的图片(左侧)就显得非常诡异,既可以一眼看出不是真实图像,又可以直接判断出和左侧的描述语句之间相关性极差。经过明显的对比,我们能够清晰的发现通过本文方法得出的图像(右侧)能够较好的表达出描述语句中包含的对象以及对象之间的关系。
       本文的主要贡献在于提出了一种可以从场景图生成含有复杂关系的图像的方法。
在这里插入图片描述


难点

  • 开发一个能够处理图结构输入的方法
  • 保证生成的图片中的物体以及物体之间的关系符合场景图中的描述
  • 保证合成的图像是符合实际的,也就是看起来真实、和谐不怪异


           针对以上三个难点,作者提出了 image generation network f,输入场景图G和噪声z输出一张图。
    在这里插入图片描述
           其实以上公式就是ConditionalGAN的公式,只是在这个公式中的条件是场景图,GAN网络就是根据这种场景图来生成一个满足语义的真实场景图片。


模型

       在进入模块的讲解之前,我们应该先分别了解一下什么是场景图,模型的输入是什么。

  • 场景图
           是一个描述场景语意信息的有向图,节点代表物体,边代表物体与物体之间的关系,文章中使用到的数据集都是人工标记好的场景图。

  • 模型的输入
           给定一组对象类别C和一组关系类别R,场景图可表示成一个元组(O,E),其中O={o1,…,on}是一组每个oi∈C的对象,并E⊆O×R×O是一组有向边(oi,r,oj)其中oi,oj∈O和r∈R。作者将每种物体和关系以嵌入向量的形式输入进网络。
           以上是论文中给的描述,用数据结构的理解来看,我们可以把场景图看成一个有向图,O集合表示有向图中的点,E集合表示有向图的边。


           了解了模型的输入和场景图的意思之后,我们再看一下整体的图像生成模型框架,如图所示。整个框架我将分成四个部分阐述。
    在这里插入图片描述

  • 图形卷积网络(graph convolution network)
    1、主要功能:通过场景图生成能够用于下一步输入的嵌入向量
    2、输入:
    在这里插入图片描述3、输出:

    在这里插入图片描述
    4、边的表示形式:vi表示起始节点,vj表示终止节点,vr指有向边的边权,这里特指两个对象之间的关系。

    在这里插入图片描述
           这里,作者分别使用了三种函数gs、gp、go抽象化描述了起始节点、边以及终止节点的输出向量表达。
    5、起始节点生成向量集合:
    在这里插入图片描述
           用简单的语言来解释就是将所有从i点出发的边都用gs函数进行处理后生成的新向量的集合。
    6、终止节点生成向量集合:
    在这里插入图片描述
           用简单的语言来解释就是将所有终点为i点的有向边都用go函数进行处理后生成的新向量的集合。
    7、节点的输出向量:
    在这里插入图片描述
           每个节点最终的输出向量其实就是用h函数对其作为起始节点和作为终止节点时得到的输出向量集合的并集进行操作后的结果,h函数可以使不同长度的集合都能得到一样长度的表达。


           以上概念可能单纯用文字进行描述比较抽象,所以作者对应给出了单个图卷积层的计算图便于理解。
    在这里插入图片描述
           图中很清晰的展示了两个有向边(v1, vr1, v2)和(v3, vr2, v2)生成各自节点和边的输出向量的过程,但是在我的理解中,右侧的gs和go写反了,因为v3点只作为了有向边的起始节点出现,所以其应该只运用到了gs函数,同理v2点只作为了有向边的终止节点出现,所以其应该只运用到了go函数,我认为的单个图卷积层的计算图应该是这样的。(不知道是不是自己还没有完全理解的原因,如果有大佬有更好的理解请指正)
    在这里插入图片描述

  • 场景布局(Scene Layout)
           图形卷积网络将场景图进行处理输出的嵌入向量作为当前模块的输入。为了生成图片,我们必须从场景图域转换图像域。经过前面图卷积的计算之后,每个物体都能得到更高级的特征表达,根据这个特征表达,我们需要预测相关物体在最终生成图中的位置信息和分割信息,模型如下,部分我自己的理解已经放在了图里:
    在这里插入图片描述

  • 级联优化网络(Cascaded Refinement Network)
            CRN算法出自斯坦福大学博士陈启峰和英特尔实验室视觉组主管Vladlen Koltun在2017年被国际计算机视觉大会ICCV收录的论文。该算法没有用到GAN,只用了一个端到端的前馈网络,由一系列卷积提炼模块(convolutional refinement modules)组成,模块间空间分辨率加倍,这使得生成图片以从粗到精的方式进行。
           每个模块都以场景布局(下采样到模块的分辨率)和上一个模块的输出作为输入,输入按信道连接并传递给一对3×3卷积层,然后使用最近邻插值对输出进行上采样,然后再传递到下一个模块,第一个模块采用高斯噪声z~pz作为输入,最后一个模块的输出被传递到两个最终的卷积层以产生输出图像。

  • 对抗生成网络(GAN)保证图片的真实性
           为了生成更加真实的图像,训练上述的图像生成网络的时候用到一对判别器Dimg和Dobj与之对抗,保证输出图片的质量。
    在这里插入图片描述
           上面的公式和GAN网络的损失函数类似,判别器D的目的是使上式尽量的大,生成器G(本文中是图像生成网络f)的目的是使上式尽量的小。
            训练图像生成网络时,要使以下六个损失函数的加权和最小:
    1、Box loss:预测物体的位置信息
    在这里插入图片描述
    2、Mask loss: 预测物体的分割信息,在 Visual Genome数据集中不使用在这里插入图片描述
    3、Pixel loss:真实图像和生成的图像在像素级上一致
    在这里插入图片描述
    4、Image adversarial loss: 生成的图像真实符合实际
    在这里插入图片描述
    5、Object adversarial loss:生成的图像中的物体真实
    在这里插入图片描述
    6、Auxiliarly classifier loss:让生成的物体可被识别
    在这里插入图片描述

实验结果

  • 数据集
    1、COCO-stuff:团队自己根据bounding box,自己标注出场景图
    2、Visual Genome:该数据库自带场景图标注,但没有提供segmentation masks信息,所以上一部分的Mask loss损失函数在这个数据集中不用进行计算。
  • 结果
           首先作者对比了与StackGAN方法在 Inception Score 上的衡量结果,Inception 是一个量化的计算指标,值越高,代表图像越真实自然。
    在这里插入图片描述
           由上图可以看出虽然文章中提到的方法生成的图像真实,但是由于分辨率不高导致了其真实性和自然度没有达到很好的效果,所以在这一方面仍然是StackGAN生成的图像稍清晰自然。此外,在上述表中我们还能看出当场景图中对象之间关系较少或者在文章中提到的模型中缺少图卷积网络时,其效果比完整模型生成的网络要差非常多。
           虽然在真实性和自然度上稍逊色于StackGAN,但是在生成图像与语意契合度的对比实验上,作者运用真人问答的方式来统计两种方法的表现,结果表明本文方法要比StackGAN要好的多。
    在这里插入图片描述
           同时,作者也对比了与StackGAN方法在语意丰富性上面的表现,本文生成的图像在语意层面整体要丰富的多。
    在这里插入图片描述

总结

       本篇文章提出了一种从场景图生成图像的端到端方法。与从文本描述中生成图像的主流方法(比如StackGAN)相比,从结构化场景图生成图像而不是从非结构化文本中生成图像使得我们的方法能够明确地推理对象以及其之间的关系,并生成具有许多可识别对象的较为真实的复杂图像。下图为文中实验生成图片结果。
在这里插入图片描述
感谢阅读,如有错误请批评指正。

参考资料
https://www.sohu.com/a/240248422_395209
https://zhuanlan.zhihu.com/p/40424089

本篇文章配套材料有需要自行下载,包含原文pdf和一个当时做论文分享时使用的ppt:https://download.csdn.net/download/zn0412/20429545

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值