外部信息引导和残差置乱的场景图生成方法
2021-10-12高海燕刘纯平
田 鑫,季 怡,高海燕,林 欣,刘纯平,2+
1.苏州大学 计算机科学与技术学院,江苏 苏州 215006
2.符号计算与知识工程教育部重点实验室(吉林大学),长春 130012
场景图[1]是图像中所包含信息的结构化表示,不仅可以表示图像中所有的实体,并且还可以表达不同实体之间存在的关系信息。对在图像中检测到的实体以及关系通常使用<主语-谓语-宾语>三元组的形式表示。广泛应用于图像识别与检测[2-3]图像理解[4-5]等任务中。因此图像的场景图生成任务近年引起了越来越多的关注。
现存的场景图生成方法通常依赖实体检测模型,根据检测得到的结果进行进一步的推理[6-7]。但由于场景图的三元组表示由实体和关系构成,假设有N个实体和M个关系,三元组所有可能组合数量为O(N2M),因此要生成一个高性能的场景图,这些方法需要在大量实体关系数据集上进行训练。然而现存的场景图生成数据集关系数量分布十分不均衡,影响了模型最终的表现。
为了解决数据集偏置问题,已经开展了使用实体的位置、频率分布等VG(visual genome)数据集内部信息的研究。Chen 等人[8]挖掘数据集内部信息,构建了实体与关系之间的结构化表示,使用图神经网络学习实体与关系之间的相互作用以生成场景图。Zhan 等人[9]基于检测视觉、空间和语义三种不同的信息提出多模型特征学习网络,比较实体对与标注,自动生成未确定的关系。林欣等人[10]通过结合全局上下文、目标解码和位置嵌入的信息,减少数据集偏差影响。这些方法通过更好地利用图像中的信息来改进数据集中实体频率较低的场景图的生成,其整体方法的场景图生成精度超过了现存传统的场景图生成模型[6,11-12]。
鉴于人脑对图像内容场景图的构建往往不仅仅依赖于图像所展示的特征,还依赖于图像中的某些实体之间的强烈的相关性,根据常识知识推理规范语义预测空间,建立图像中实体间的关系,如人与马,根据常识知识推理,它们可能的关系是人骑马而不是人站在马上,有助于校准现存数据集中的噪声,缓解数据集不平衡的问题。模拟人脑的场景图构建过程,融合提取的数据集中隐含信息以及数据集外部信息中的常识性知识,成为当前场景图生成方法研究的主流趋势,并已有少量方法进行了不同常识性知识的引入研究,如Zellers 等人[12]提取实体共同出现的频率作为关系分类器的常识偏置,Chen 等人[8]将该频率作为常识初始化图神经网络,而Gu 等人[13]将外部知识库作为常识弥补数据集的错漏,并将其应用于解决场景图生成因数据集标注失衡导致的偏置问题,通过图像重建方法正则化场景图生成网络,规范模型的学习。
本文针对数据集偏置问题,提出外部信息引导和残差置乱的场景图生成方法(scene graph generation method based on the combination of external information guidance and residual scrambling,EGRES)。该方法引入外部知识库模拟人的常识性知识,明确场景图生成任务中不同实体之间的语义联系,规范预测关系的语义空间;同时结合残差置乱网络,将得到的语义特征与现有的视觉语义特征相结合,以乱序输入进行正则化,避免了模型在场景图生成中过拟合高频标签的问题。在目前最广泛使用的VG 数据集[14]上的实验证明,提出方法在不影响高频标签表达能力的前提下,有效改善了对于低频标签的理解,提高了场景图生成的表现。
1 相关工作
1.1 外部信息的融合
知识库的构建和应用成为人工智能领域研究的一个热点。现有不少人工构造的自然语言方面的知识库,如DBpedia[15]根据维基百科构造结构化的数据。WordNet[16]根据单词的词义创建英语单词之间的结构化网络。ConceptNet[17]以自然语言单词或短语作为节点,通过带有标签和权重的边相互连接形成语义网络。过去数年有许多工作致力于将外部知识库融入计算机视觉领域,如Marino 等人[2]将外部知识库(WordNet[16])构建为知识图谱,并应用于视觉分类任务中。Lee 等人[18]将外部知识库作为模型训练的额外约束,进一步将其推广到了Zero-Shot 多标签学习之中。Deng 等人[19]引入互斥、重叠和包含三种语义关系作为损失函数的约束条件训练分类器。此外使用深度神经网络从外部知识库中提取信息也成为热点,如Wu 等人[20]使用深度神经网络将从DBpedia[16]中发掘的信息编码为向量,并与视觉特征相结合解决图像描述和VQA(visual question answering)方向的问题。
1.2 场景图生成
场景图是由节点与连线构成的数据结构化表示。绝大多数场景图生成方法基于对象检测模型,检测实体所在的区域并进行分类,由实体作为节点,关系作为边构造场景图。Lu 等人[6]首先提出场景图生成任务,结合视觉信息和语义信息检测实体对的关系。近年来一些方法利用信息传递并结合上下文信息生成场景图,如Xu 等人[11]首先提出了基于RNN(recurrent neural network)[21]传递消息微调特征的端到端模型。Yang 等人[22]设计了Graph R-CNN 框架去除无关实体对,通过注意力图卷积网络捕捉上下文信息,进一步增强相关实体对之间的信息传递。Li等人[23]使用Bottom-up 的方式将整个图分解为多个子图,隔绝无关实体对之间的联系,通过全连接子图的拓扑结构简化了推理的复杂度,极大地提高了场景图生成效率。针对消息传递机制一视同仁地对待图像中的节点的问题,Tang 等人[24]提出了动态树结构,通过动态树结构传递消息,为每个实体提供了更相关的上下文信息,极大地提高了小样本的学习能力。Lin 等人[25]提出GPS-Net(graph property sensing network),利用不同实体对应的上下文增强特征,并通过节点优先损失反映不同实体的有限度,促进场景图的生成。一些方法发掘数据集内部关联信息,如Dai等人[7]设计了深度网络模型,借助统计信息,多次迭代条件随机场(conditional random field,CRF)网络解决关系分类的歧义问题。Zellers 等人[12]统计实体对共同出现的频率作为先验知识,使用LSTM(long short term memory)作为编码器,并传递上下文信息,改善了关系的特征表示。Chen 等人[8]统计数据集内实体对和关系共同出现的频率,使用图神经网络取代LSTM 作为消息传递机制,传递先验统计信息。
近年来一些方法也开始使用外部知识库解决对应的问题。由于外部知识库对相同类不同实体有着相同的编码,这类外部知识也被视作常识。Yu等人[26]从Wikipedia 中提取语义信息,利用语义信息规范网络的学习,借助教师学生框架,过滤掉数据中的噪声,通过最小化KL-divergence(Kullback-Leibler divergence)得到外部知识库的语义表示。不同于直接使用深度神经网络进行编码,Gu 等人[13]通过检索外部知识库查询与实体最相关的知识,并借助图像重建规范场景图生成网络。上述这些方法大多是借助外部知识,通过改进图像中的语义信息的描述来提升场景图生成性能。Zareian 等人[27]将场景图视为常识知识图的图像条件实例化,将图像中的实体直接连接到外部知识库对应的实体,结合常识推理实体间的关系。
2 方法
给定一幅图像I,场景图通过拓扑结构表示图像中的信息。这种拓扑结构表示的关系图G可定义为:
其中,实体O对应节点,实体之间的关系R对应连线,B={b1,b2,…,bi,…,bn},bi∈R4表示第i个区域的边界框,实体集合O={o1,o2,…,oi,…,on}表示bi区域对应的实体oi,实体间关系的集合R={r1→2,r1→3,…,ri→j,…,rn→n-1},ri→j∈R表示(bi,oi)与(bj,oj)之间的关系。
因此根据式(1)可以将结合外部信息引导和残差置乱的场景图生成方法表示为一个概率模型P(G|I),具体描述为:
其中,候选区域的集合概率P(B|I)定位输入图像中实体的位置,预测实体的概率分布P(O|B,I)依赖检测到的候选区域,预测实体关系的概率分布P(R|B,O,I)依赖实体部分预测得到的实体标签。
为了引导模型能够学习到中低频数据的特征,以P(O|B,I)预测的标签在外部知识库中检索,提取符合人脑认知的合理的语义信息。由于数据集中高频标签仅仅表达了少量的实体间关系种类,而不能较好地表达中低频标签所代表的大量关系种类,为此提出残差置乱方式,通过乱序输入数据,有效地避免模型过拟合于特定的数据顺序,并且每一层残差都用相同的外部信息引导,保障了模型在保证高频数据的表达能力的情况下强化了对中低频数据的学习,得到融合特征以更新式(2)中的P(R|B,O,I),从而得到最终场景图概率P(G|I),图1 给出了提出场景图生成模型的整体结构图。
因此,从概率模型的表示可以看出,外部信息引入与残差置乱相结合的场景图生成方法的核心在于P(R|B,O,I)概率生成,其生成方式如下所示:
其中,Wr、Ws、Wo与bi,j是待学习的参数,f′i是外部信息引导和残差置乱融合后的实体i的视觉特征,fi,j表示Faster RCNN 提取的实体i与实体j并集区域的视觉特征。符号∘表示矩阵中对应元素相乘。
2.1 候选框的生成
对于给定的图像I,为了获得边界框生成模块的候选框集合概率P(B|I),模型使用Faster RCNN[28]作为基本的检测器生成候选框。基于Faster RCNN 模型获取候选框的坐标集合B={b1,b2,…,bi,…,bn},并提取候选框的特征向量。将Faster RCNN 提取的特征向量构造为线性序列,通过BiLSTM[29]模型得到经过上下文微调后的视觉特征表示F={f1,f2,…,fi,…,fn}。
2.2 外部信息的引入
外部知识库中的语义关系可以提供常识性知识,让场景图生成在一个规范的语义空间进行推理,从而有效地缓解数据集标注带来的视觉关系标签分布不平衡的长尾效应问题,改善场景图生成质量。因此借助多语言外部知识库ConceptNet[17]中丰富的实体和关系的语义标签,获得场景图生成中关系表达的规范语义空间,并通过双向GRU(gated recurrent unit)[30]获得常识知识推理下视觉关系表示。
根据实体向量fi,在对象检测模块P(O|B,I)可以预测得到实体标签li。语义空间规范是将预测标签li,在外部知识库ConceptNet 进行的检索和匹配,提取实体的标签集合达成,具体表示为:
其中,li表示图像中检索到的实体oi;lj表示外部知识库中检索到实体j的标签;表示匹配的关系标签;wi,j,d表示检索到的三元组的相关度;D表示检索和匹配的语义对个数。
基于相关度wi,j,d可以检索得到相关度最高的D个三元组。将每一个三元组视作含有三个单词的短句
根据外部信息集的检索结果,每个实体都检索到了D个三元组,每个实体最终对应D个句子特征。因此最终的外部信息引入后的特征表示是通过融合D个全连接特征,作为图像中实体oi的外部信息增强的语义特征描述:
其中,[;]表示拼接操作,We和be是待学习的参数。图像I中实体的外部信息增强特征EI为:
2.3 残差置乱融合
由于数据集的长尾问题,单纯使用LSTM 进行融合很容易导致模型过拟合高频类别。因此本文使用残差网络的结构,避免深层网络难以训练的问题,使外部信息可以在更深的网络上进行引导。使用乱序输入的方法,极大地缓解了模型对特定顺序输入的过拟合问题。残差置乱融合是将图像实体的外部信息EI与视觉特征F进行融合,得到一个由外部信息规范语义空间后的语义视觉特征F′。
其中,C为残差层数。在残差网络中的特征提取则是将实体的外部信息ei与视觉特征fi进行逐层融合,每层融合后的特征表示如下:
每一层残差使用相同的外部信息增强的语义特征描述ei引导模型的学习。为了避免过拟合固定的序列顺序特征,在输入残差网络之前会随机打乱输入的序列顺序。
3 实验结果与分析
为了证明提出方法可以有效改善数据集中关系标签分布不平衡下的场景图生成性能,在Visual Genome 数据集[14](简称VG 数据集)上进行了与现有方法的对比实验和消融实验,并分别从PredCls、SGCls 和SGGen 三个子任务的R@K(recall@K)指标下进行了结果分析。最后可视化了提出方法在关系标签分布不平衡数据集上的改善情况对比。
3.1 数据集与评价指标
实验采用场景图生成方法最广泛使用的VG 基准数据集[14],该数据集是目前最大的场景图生成实验数据集,包含108 077 张图像,平均每张图有38 个物体和22 个关系的标注,包含150 个实体标签和50 个关系标签(不包含背景标签)。其中出现频率最高的10 类关系几乎占据所有数据的90%,剩余40 类关系仅占10%,分布极为不平衡,如图2 所示。
Fig.2 Proportion of each label on VG data set图2 各标签在VG 数据集中的占比
场景图生成任务最终的目的是预测<主语-谓语-宾语>三元组,因此分别从已知实体位置与标签标注预测分类(PredCls)、已知实体位置预测实体标签和实体对关系的场景图分类(SGCls)以及已知检测器检测到的实体和实体标签预测实体对关系的场景图生成(SGGen)三个子任务进行实验。并采用在场景图生成任务中普遍采用的R@K作为以上三个任务中模型的评价指标。实验中使用R@20、R@50和R@100作为评价指标。
3.2 实验相关设置
鉴于提出方法需要相同大小的图像作为输入,因此将VG 数据集中的图像通过缩放和填充0 的方式进行图像尺寸归一化,统一大小为592×592。
实体检测器采用Fast RCNN 模型,并将其设置为与YOLO-9000[31]相同的锚定比和尺寸比例,用SGD算法训练检测器,其中参数设置如下:批次大小为18,对每个批次,每张图采样256 个RoIs(region of interest),其中75%为背景图。动量为0.9,权重衰减为0.000 1。初始学习率为0.001,每经过一个批次学习率修改为原学习率的1/10。
外部信息引入部分的相关参数,实验中设置D=10,并用GloVe 模型将检索到的词映射为向量。在残差置乱模块中,使用了层C=8 的残差网络融合视觉特征和检索到的常识特征。
在视觉特征提取方面,采用与Zellers 等人[12]类似的方式提取细节,以Faster RCNN 检测器检测的实体区域RoIs 的中心点坐标由左至右、由上到下的Leftright 排序方式进行排序。将两个实体的RoIs 的并集区域作为这两个实体的谓语视觉区域,将通过检测器提取的该区域特征作为谓语视觉特征,其特征维度为7×7×256。最终使用在ImageNet[32]上预训练的VGG16[33]模型的全连接层4 096 维特征作为该区域的最终视觉特征表示。
3.3 对比实验结果
从图2 中可以看出,VG 数据集中存在不同关系标签及其对应分布极度不平衡的严重长尾效应,本文将占比高于1%的关系标签视为高频标签,高于0.1%低于1%的关系标签视为中频标签,而低于0.1%的关系标签视为低频标签。
实验从场景图生成的整体性能对比出发,对比了现存的六种方法VRD[6]、IMP[11]、IMP+[11-12]、AE[34]、Mem[9]、SMN[12],三个子任务在R@20、R@50 和R@100三个评价指标下的实验结果如表1 所示。
为了有效区分语义相近对场景图生成的性能影响,采用文献[11-12]的方式,根据生成场景图关系是否是一对实体对对应一个关系,将实验结果划分为constraint(要求一对一)和unconstraint(不做要求)两类。
在一对实体对只获得一个关系的constraint 中,对比了六种模型。从表1 中可以看出,SMN 模型由于提取全局上下文信息,在SGGen、SGCls、PredCls三个子任务取得了显著的进步,但本文方法由于利用外部信息和残差置乱缓解数据集偏置问题,在三个子任务的各个评价指标均高于现有的方法,其结果相较于SMN 模型平均提高了1%。
因为关系标签中存在一些语义相近的标签,如wears 和wearing,在constraint 条件下因要求每个三元组只能生成一个关系,所以一些数据量差距悬殊但是语义相近的标签的结果提高则会被constraint 的要求所掩盖。为了充分展示提出方法可以较好地区分这些语义相近标签,在unconstraint 下,对比了三个子任务下的四种模型。从表1 中可以发现,本文方法在三个子任务的三种评价指标下,场景图生成任务的提高更加明显。尤其是在场景分类SGCls 子任务中的R@50 和R@100 两个评价指标上,相较SMN 模型均提高了1.6%。在预测关系PredCls 子任务中也提升了1.1%。
从constraint 和unconstraint 两方面的实验结果分析可以发现,由于提出方法利用外部知识库中的常识性知识进行语义空间的规范,以及采用残差置乱策略引入更充分的信息表示,在场景图生成的整体性能上有着较为显著的提升。
Table 1 Experimental results of methods on VG data set表1 几种方法在VG 数据集上的对比实验结果 %
此外,鉴于场景图生成任务常用R@K指标进行方法性能评价,但这个指标只关注图像中的关系是否被完全预测,不能关注不同关系标签的预测情况,本文还进行了不同关系标签的R@K指标比较实验,实验结果如图3 所示。
从图3 可以看出,SMN 模型在高频标签,如on、has、wearing 等,取得了良好的结果,而对于中低频标签,如painted on、growing on、playing 的结果则不尽如人意,R@K数值较低,模型几乎不可避免地偏向了出现频率更高的标签。与现有的方法不同,本文方法引入外部信息,引导模型更好地学习样本数低的关系标签。从图3(b)中可以看出,提出方法在高频关系标签的预测结果基本与对比模型SMN 持平,仅在on、has、wearing 略微下降。但对于一些出现频率较低而语义明确的标签的预测上取得了显著的进步,如中频标签eating 和using 的结果提高了近20%。对于一些极度低频标签,如mount on、from 和made of,由于这三个关系类在VG 数据集中出现次数均小于100 次,并且语义模糊,本文方法对于这种情况改善不明显。总之,本文方法对于中低频关系标签取得了良好的结果,一定程度上缓解了数据关系分布不平衡的问题。
3.4 消融实验结果
为了更深入分析提出方法中改进模块对解决数据集偏置的具体贡献,分别针对语义规范的外部知识库信息引入和残差置乱的语义增强设计了constraint和unconstraint条件下的词向量消融(w/o e)和残差消融(w/o r)实验,消融实验结果如表2 所示。
为了验证外部知识库的常识性知识引入对语义空间规范的作用,将残差置乱替换为单层LSTM 网络进行残差消融(w/o r)实验,分析外部信息引入对场景图生成的性能改进,实验结果见表2。在constraint条件下,相对基模型SMN,残差消融模型在三个子任务上的性能均有所提升,其中在SGGen 子任务上平均提升了0.5%,在SGCls 子任务上平均提升1.0%,在PredCls 子任务上平均提升0.8%。在unconstraint 条件下,残差消融模型在三个子任务上的性能相对于基模型SMN 也均有不同程度的提升,其中在SGGen子任务上平均提升了0.5%,在SGCls 子任务上平均提升了约1.0%,在PredCls 子任务上平均提升了约0.8%。实验证明了外部信息引导确实有效地规范了语义空间,可以更好地引导模型学习恰当的特征,提高模型的表达能力。在unconstraint条件下SGGen 子任务中,由于没有外部信息的引导,模型过拟合高频关系类别,反而导致词向量消融(w/o e)较完整的方法提高了0.2%,但是总体而言引入外部信息有利于场景图的生成。
Table 2 Ablation result表2 消融结果 %
Fig.3 Comparison of results under different labels图3 不同标签下的结果比较
由于规范语义空间,对场景图生成任务的性能改进还受到外部信息量引入情况的影响,为此本文还进行了不同检索数量D对提出场景图生成方法的性能比较分析实验,实验结果如表3 所示。从检索数量D取5、10 和20 在场景图生成的实验结果可知,检索数量D为10 时,提出模型的场景图生成性能最好。
对于残差置乱策略融合外部信息并传递上下文信息以减轻场景图生成受数据集偏置的影响,本文将外部信息的embedding 替换为实体预测得到的词向量,进行词向量消融(w/o e)实验。从表2 可以看到,在constraint 条件下,词向量消融模型在三个子任务上的性能相对于基模型SMN 均有不同程度的提升,其中在SGGen 子任务上平均提升了0.5%,在SGCls 子任务上平均提升0.8%,在PredCls 子任务上平均提升0.5%。在unconstraint 条件下,词向量消融模型在三个子任务上的性能相对于基模型SMN 也均有不同程度的提升,其中在SGGen 子任务上平均提升了0.9%,在SGCls 子任务上平均提升了约1.3%,在PredCls 子任务上平均提升了约0.8%。实验证明了残差置乱策略可以有效增强语义信息,缓解了数据偏置问题。
Table 3 Influences of D on results表3 D 值对结果的影响 %
总之,消融实验证明,简单引入外部信息或者残差置乱可以一定程度改善场景图生成性能,但并不能得到理想的效果。基于外部信息和残差置乱结合的场景图生成方法可以根据外部信息引导模型学习,避免模型过拟合,有效改善了场景图生成。
4 总结
数据集偏置严重影响场景图在关系标签较少下的生成质量,而外部知识库提取的常识性知识可以有效地规范场景图语义空间,残差置乱可以增强关系标签的信息量,因此基于外部知识和残差置乱结合的场景图生成可以通过残差置乱引导模型借助常识性知识进行推理学习,避免模型过拟合,从而有效地解决不同关系数据分布不平衡的问题。在VG 数据集上的实验证明了使用外部信息引导和残差置乱的方法代替人类的常识规范场景图生成网络的有效性,尤其有效地提高了数据集中低频关系的场景图生成的精度,缓解了数据长尾问题的影响。