一种生成视频描述的方法

文档序号:27111605发布日期:2021-10-27 18:46阅读:147来源:国知局
1.本发明涉及图像处理和深度学习
技术领域
:,尤其涉及一种生成视频描述的方法。
背景技术
::2.视频描述任务是一项实用且富有挑战性的跨模态任务,以往的方法大多致力于为给定视频生成准确的描述,生成的描述句式单一、内容不够丰富。3.文献[1][2]采用的传统端到端(end2end)生成方法,通过时序注意力关注视频每一帧的特征,通过空间注意力关注某一帧的局部特征,从而更准确的生成文本。近年来一些新颖的可控视频描述生成方法不仅追求生成文本的准确性,还希望通过人性化的可控方法生成更多样的文本,即用户可以根据感兴趣的视频段落或实体,生成针对特定语义内容的视频描述。可控生成方法需要关注到视频中细粒度的语义信息,如不同的实体、动作、属性及其相互关系等。这些丰富的语义信息是视频与文本两个模态共有的内容,对其进行良好的建模与学习,可以辅助模型生成多样且可控的视频描述。[0004]文献[3]提出的主题模型使用变分方法旨在为视频生成特定主题的文本,首先使用主题预测模型为每个视频生成主题隐变量,之后根据不同的主题选择特定的解码器生成文本。[0005]文献[4]使用新颖的多任务训练方法,将文本生成任务与视频实体定位任务融合训练,使生成文本中的实体可以在视频中找到相应的区域定位。[0006]文献[5]使用图结构表示视频中的实体及关系,通过图卷积网络进行编码,之后对视频与图两种输入进行时空注意力编码,使用预训练文本生成模型对生成的文本进行优化学习,使其可以生成更加细致且多样的文本。[0007]文献[6][7]将词性标识pos(partofspeech)作为中间表示,使用基于递归神经网络rnn(recurrentneuralnetwork)的词性预测模型为视频生成词性序列,之后再根据词性序列生成相应的文本。[0008]视频描述任务由于其跨模态的特点,使用传统的端到端方法[1][2]难以学习到视频内的丰富语义。通过交叉熵损失函数进行训练,此类方法往往会对数据集产生较强的依赖,容易生成数据集中出现频次较高的固定模式文本,缺乏多样性、可控性与可解释。其次,基于主题模型的方法[3]可以针对每个主题训练专属的解码器,对生成文本的主题进行有效的控制,但主题的数量比较有限,包含的语义信息不够丰富。此外,方法[4][5]通过学习视频中的实体与实体关系进行文本描述,但缺乏视频中的动作信息,未充分利用图的结构性,且未提出针对不同实体及关系的可控生成方案。此外,基于词性标识序列的方法[6][7]可以通过修改词性序列实现对生成文本的控制,但将词性标识作为视频与文本模态的中间表示,并不具有良好的可解释性,无法对跨模态语义进行有效的提取。[0009]综上所述,现有技术不能对视频中的细粒度语义进行充分的提取与利用,无法深入学习文本语义及语义的结构性,缺乏良好的结构性语义表示,因此难以做到可控多样的视频描述生成。[0010]参考文献:[0011][1]huy,chenz,zhazj,etal.hierarchicalglobal‑localtemporalmodelingforvideocaptioning[c]//proceedingsofthe27thacminternationalconferenceonmultimedia.2019:774‑783.[0012][2]zhaob,lix,lux.cam‑rnn:co‑attentionmodelbasedrnnforvideocaptioning[j].ieeetransactionsonimageprocessing,2019,28(11):5552‑5565.[0013][3]chens,chenj,jinq,etal.videocaptioningwithguidanceofmultimodallatenttopics[c]//proceedingsofthe25thacminternationalconferenceonmultimedia.2017:1838‑1846.[0014][4]zhoul,kalantidisy,chenx,etal.groundedvideodescription[c]//proceedingsoftheieee/cvfconferenceoncomputervisionandpatternrecognition.2019:6578‑6587.[0015][5]zhangz,shiy,yuanc,etal.objectrelationalgraphwithteacher‑recommendedlearningforvideocaptioning[c]//proceedingsoftheieee/cvfconferenceoncomputervisionandpatternrecognition.2020:13278‑13288.[0016][6]xiaox,wangl,fanb,etal.guidingtheflowingofsemantics:interpretablevideocaptioningviapostag[c]//proceedingsofthe2019conferenceonempiricalmethodsinnaturallanguageprocessingandthe9thinternationaljointconferenceonnaturallanguageprocessing(emnlp‑ijcnlp).2019:2068‑2077.[0017][7]houj,wux,zhaow,etal.jointsyntaxrepresentationlearningandvisualcuetranslationforvideocaptioning[c]//proceedingsoftheieee/cvfinternationalconferenceoncomputervision.2019:8918‑8927.[0018][8]zellersr,yatskarm,thomsons,etal.neuralmotifs:scenegraphparsingwithglobalcontext[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2018:5831‑5840.技术实现要素:[0019]为了解决上述问题,实现准确或可控且多样的视频描述生成,需要对跨模态语义进行充分的学习。首先,选择细粒度的结构性语义表示,然后,从视频中抽取并优化细粒度结构性语义表示,充分利用结构性语义表示来生成可控的文本,并在使用结构性语义表示时保证生成模型的准确性。[0020]本发明提供一种生成视频描述的方法,包括:[0021]s1、使用开源的预训练场景图生成模型从视频中初步提取实体、关系和属性;[0022]s2、通过细粒度场景图优化器,将初步提取的实体、关系和属性转化为优化场景图,将优化场景图作为视频语义及其结构的表示;[0023]s3、将视频和优化场景图输入场景图引导文本生成模型,生成符合视频和场景图内容的文本;场景图为准确场景图时,生成准确的视频描述,场景图为多样场景图时,生成多样可控的视频描述。[0024]进一步地,所述细粒度场景图优化器的训练方法包括:[0025]s11、从训练集中提取视频帧序列以及对应的视频文本描述;[0026]s12、使用所述开源的预训练模型从视频帧中提取实体o、实体区域特征fr、关系r和属性a;[0027]s21、使用斯坦福的场景图解析工具从视频文本描述中提取文本场景图,并将其和所述实体o、关系r和属性a进行对比,保留共同的部分,得到对齐场景图sg;[0028]s22、细粒度场景图优化器包括多个跨模态分类器,将视频帧序列与所述实体o、关系r和属性a输入所述多个跨模态分类器,将对齐场景图sg的节点作为分类器的训练目标,使用反向传播算法训练所述多个跨模态分类器,从而得到所述细粒度场景图优化器;[0029]s23、使用细粒度场景图优化器对上述实体o关系r和属性a进行分类并优化节点,将优化节点合并得到优化场景图,其中,以视频单帧为输入得到的场景图为多样场景图sgi,以视频帧序列作为输入提取的场景图为准确场景图sgg。[0030]进一步地,在所述步骤s2中,以视频单帧为输入得到的优化场景图为多样场景图sgi,以视频帧序列作为输入得到的优化场景图为准确场景图sgg。[0031]进一步地,所述步骤s22中,所述场景图优化器的训练公式为:[0032]v=bilstm(f)[0033][0034][0035][0036]其中,x为所述多个跨模态分类器的输入,其中实体分类器的输入为实体的word2vec向量embedding(o||fr),实体组合分类器的输入为embedding(o1||o2),关系分类器的输入为embedding(o1||r||o2),属性分类器的输入为embedding(o||a);y为分类器的标注数据,若输入x出现在对齐场景图sg中,则标注为1,否则标注为0;σ为sigmoid激活函数;表示逐元素相乘,表示逐元素相加,||表示向量串联;为所述多个跨模态分类器的参数集合。[0037]进一步地,在所述步骤s3中,所述场景图引导文本生成模型的训练方法包括:[0038]s31、使用图卷积网络gcn对准确场景图sgg的图节点x进行编码计算,得到图节点编码并构造准确场景图的邻接矩阵mg,其中ng为图节点数量;[0039]s32、通过预训练的视频编码器对视频帧序列进行编码,得到视频帧向量[0040]s33、使用序列模型lstm分步循环生成文本,每一步代表一个词,当生成第t个词wt时(t∈[1,nw]),首先将上一步的词wt‑1输入到注意力解码器attentionlstm进行解码,并对视频帧向量序列v应用时序注意力,对图节点序列n及邻接矩阵mg应用场景图流动注意力,得到视频帧与图节点的上下文向量与[0041]s34、使用上下文融合模块计算视频与场景图两种不同输入的权重,并对两个来自不同输入的上下文向量进行加权求和,得到最终的上下文向量ct;[0042]s35、使用文本解码器languagelstm对上下文向量ct进行解码,并根据概率分布得到当前步的文本wt,通过反向传播算法训练场景图引导文本生成模型。[0043]进一步地,所述步骤s31中,所述图卷积网络的计算公式为:[0044]对于输入节点xi:[0045][0046][0047]其中,σ为relu激活函数,ni为节点xi在场景图中的邻居节点数。[0048]进一步地,所述步骤s33中,所述注意力解码器和时序注意力的计算公式为:[0049][0050][0051][0052]其中,为视频向量v和图节点编码n的平均值。[0053]进一步地,在步骤s33中,为每个场景图标注起始节点,在每次生成的起始时刻将起始图节点注意力赋为1,其余节点赋为0,在之后的生成过程中,节点的变化可分为5种情况,对应5种不同的流动注意力[0054](1)原地不动,一个节点对应多个词语的情况,[0055](2)移动一步,节点向前移动一步,(m为邻接矩阵);[0056](3)移动两步,节点向前移动两步,[0057](4)移动三步,节点向前移动三步,[0058](5)节点无关,当前词语与节点内容无关,则使用常规方法计算注意力[0059][0060]以下为图节点流动注意力的计算公式:[0061][0062][0063][0064]其中,代表5种不同情况的流动注意力。[0065]进一步地,所述步骤s34中,所述计算权重的公式为:[0066][0067][0068]其中,βt为多模态融合权重,ct为多模态上下文向量,。[0069]进一步地,所述步骤s35中,所述文本解码器的文本生成计算公式为:[0070][0071]其中,languagelstm通过下式生成当前步的词概率分布:[0072][0073]所述反向传播算法的损失函数为:[0074][0075]其中,θ为场景图引导文本生成模型的参数集合。[0076]本发明所述的一种视频描述方法,具有如下有益效果:[0077](1)本发明采用场景图作为视频描述中视频与文本两种模态的中间表示,有利于缓解两种模态在表示空间的差异性。[0078](2)本发明根据准确生成与可控生成的需求,设计了一种细粒度的场景图优化器以及场景图引导的文本生成模型。[0079](3)本发明在特定数据集上能够做到准确生成,生成结果的自动评估指标可以超过视频描述任务的基准模型。[0080](4)本发明可以在准确生成的基础上做到可控生成,在实际应用中,用户可以根据视频中感兴趣的实体或关系构造场景图,并利用该模型生成针对特定语义内容的视频描述。附图说明[0081]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。[0082]图1为根据本发明一个实施例的生成视频准确描述与可控描述的示意图;[0083]图2为根据本发明一个实施例的方法框架概览;[0084]图3为根据本发明一个实施例的实体分类器的结构示意图;[0085]图4为根据本发明一个实施例的模型结构流程图;[0086]图5为根据本发明一个实施例的流注意力模块示意图。具体实施方式[0087]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清查、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。[0088]本发明使用细粒度场景图对视频中重要的语义信息做结构化表示,通过细粒度场景图优化器从视频中得到场景图,并利用场景图引导的文本生成模型充分学习场景图的语义与结构信息,辅助视频生成文本。通过该方法,用户可以使用细粒度场景图优化器得到包含视频描述数据集内容的场景图,从而得到与该数据集相符的准确文本。也可以选取视频中的实体、关系与属性,自行构造场景图,然后通过该方法,得到符合用户描述意图的多样文本,如图1所示。[0089]场景图(scenegraph)是一种包含三种节点(实体、实体间的关系、实体的属性)的图结构,节点之间通过有向或无向边进行连接。从视频(图像)与文本两种模态中都可以方便地得到场景图,它不仅能够表示两种模态中丰富的语义信息(实体,关系,属性),还可以通过连接节点来表示语义间的结构信息。基于场景图的优良特性,我们将场景图作为中间表示加入了视频描述模型(即场景图引导的文本生成模型)。[0090]如图2所示,本发明提供一种生成视频文本的方法,并对视频描述数据集charades进行了训练,该方法包括如下步骤:[0091]s1、使用开源的预训练场景图生成模型从视频中初步提取实体、关系和属性;[0092]s2、通过细粒度场景图优化器,将初步提取的实体、关系和属性转化为场景图,将场景图作为视频语义及其结构的表示;[0093]s3、将视频和场景图输入场景图引导文本生成模型,生成符合视频和场景图内容的文本。如果场景图为准确场景图,生成准确的视频描述;如果场景图为多样场景图,生成多样可控的视频描述。[0094]其中,步骤s1包括:[0095]s11、从视频描述数据集中采样视频帧序列以及对应的视频文本描述其中nv是接收的视频帧数量,nw是句子中的词数。[0096]s12、使用开源预训练模型从视频帧中提取实体o、实体区域特征fr、关系r和属性a。优选的,采用目前最为常用的开源预训练场景图生成模型motifs[8]作为预训练模型。[0097]场景图生成(scenegraphgeneration,sgg)任务的输入是单个或多个图片,输出是匹配分值较高的前k(可调节的参数)个实体节点、关系节点以及属性节点,将这些节点进行合并组合,就可以得到完整的场景图。在实际应用中,比如,在visualgenome数据集上(visualgenome数据集里的每一张图片,收集了图片中不同区域的42种描述,提供了更加密集和完全的图像描述。这样,一张图像上就会存在丰富的注释描述)通过预训练场景图模型motifs从视频中提取场景图,会发现其噪声较大,生成的场景图与视频描述数据集charades(这个数据集包括了9848个标注过的视频,每个视频都大概持续30秒,展示了三个大洲的267个不同的人的行为,超过15%的视频里出现的人数都大于1。每个视频都被不限形式的文本描述,并且还有动作标签,动作间隔,动作种类以及交互的物体)中的文本相差较大,无法用于生成准确的视频描述。在计算机视觉中,预训练数据与实际任务数据往往存在较大的偏差,在视频描述的场景下,预训练场景图模型不足以支撑视频描述数据集的准确场景图生成。因此,本发明设计了细粒度场景图优化器,来对预训练模型生成的场景图进行优化,使其可以用于特定数据的文本生成。[0098]因此,在步骤s2中,细粒度场景图优化器将s1中提出的实体o、关系r、属性a等语义信息进行逐级优化,最终得到优化场景图,包括多样场景图sgi与准确场景图sgg。具体步骤包括:[0099]s21、使用斯坦福的场景图解析工具从视频文本描述中提取文本场景图,并将其和所述实体o、关系r和属性a进行对比,保留共同的部分,得到对齐场景图sg;[0100]s22、细粒度场景图优化器包括多个跨模态分类器,将视频帧序列与所述实体o、关系r和属性a输入所述多个跨模态分类器,将对齐场景图sg的节点作为分类器的训练目标,使用反向传播算法训练所述多个跨模态分类器,从而得到所述细粒度场景图优化器;[0101]s23、使用细粒度场景图优化器对上述实体o关系r和属性a进行分类,选择分类概率较高的前k(设置为10)个节点作为优化节点,最终将优化节点合并得到优化场景图,其中,以视频单帧为输入得到的场景图为多样场景图sgi,以视频帧序列作为输入提取的场景图为准确场景图sgg。[0102]其中,细粒度场景图优化器包括多个跨模态分类器,将视频帧序列与所述实体o、关系r和属性a输入所述多个跨模态分类器,将对齐场景图sg的节点作为分类器的训练目标,使用反向传播算法训练所述多个跨模态分类器,从而得到所述细粒度场景图优化器。[0103]具体来说,各分类器的训练,使用对齐场景图与视频场景图节点自动标注各分类器的标签(label),在实体分类器中,若预训练场景图中的实体出现在对齐场景图中,则标注为1,否则为0。在实体组合分类器中,若实体组合出现在对应的对齐场景图中,则标注为1,否则为0。在关系分类器中,若实体组合与关系标签组成的三元组出现在对应的对齐场景图中,则标注为1,否则为0;在属性分类器中,若给定的实体与属性标签组成的二元组出现在对应的对齐场景图中,则标注为1,否则为0。将各分类器的标注数据记为y。[0104]实体分类器、实体组合分类器、关系分类器、属性分类器的计算与训练方法与实体分类器大致相同,不同之处在于处理多个语义标签时,会对其词向量进行串联。下面以实体分类器为例进行介绍。[0105]如图3所示,实体分类器的输入是视频场景图中包含的nv个含噪声的实体类别标签o,实体区域特征fr,以及视频帧序列特征f,我们用双向lstm对f进行编码得到视频向量v,将fr与节点的词向量embedding(o)串联并经过线性层得到与v维度相同的实体向量x。之后,用多模态处理单元mpu(multi‑modalprocessunit)对x与v进行计算处理,并通过多前馈神经网络fnn与sigmoid函数得到每个实体object的概率值对与标签数据y使用二元分类loss进行训练。具体公式如下:[0106]v=bilstm(f)[0107][0108][0109][0110]其中,x为不同分类器的输入,其中实体分类器的输入为实体的word2vec向量embedding(o||fr),实体组合分类器的输入为embedding(o1||o2),关系分类器的输入为embedding(o1||r||o2),属性分类器的输入为embedding(o||a);y为分类器的标注数据,若输入x出现在对齐场景图sg中,则标注为1,否则标注为0;σ为sigmoid激活函数;表示逐元素相乘,表示逐元素相加,||表示向量串联;为所述多个跨模态分类器的参数集合。[0111]使用训练好的跨模态分类器对节点进行分类,选择分类概率较高的前k(设置为10)个节点作为优化节点,将重复的优化节点进行合并得到优化场景图,其中,以视频单帧为输入得到的场景图为多样场景图sgi,以视频帧序列作为输入提取的场景图为准确场景图sgg。[0112]在步骤s3中,如图4所示,场景图引导生成模型包括视频编码器、场景图编码器、时序注意力、流动注意力、注意力解码器、上下文融合模块与文本解码器。使用准确场景图sgg训练场景图引导文本生成模型,具体训练方法包括:[0113]s31、使用图卷积网络gcn对准确场景图sgg的图节点x(包括o、r、a节点)进行编码计算,得到图节点编码并构造场景图的邻接矩阵mg,其中ng为图节点数量;[0114]s32、通过视频编码器(双向长短时记忆网络bi‑lstm)对准确场景图对应的视频帧序列进行编码,得到视频帧向量[0115]s33、使用序列模型lstm分步循环生成文本,每一步代表一个词,当生成第t个词wt时(t∈[1,nw]),首先将上一步的词wt‑1输入到注意力解码器attentionlstm进行解码,并对视频帧向量序列v应用时序注意力,对图节点序列n及邻接矩阵mg应用场景图流动注意力,得到视频帧与图节点的上下文向量与[0116]s34、使用上下文融合模块计算视频与场景图两种不同输入的权重,并对两个来自不同输入的上下文向量进行加权求和,得到最终的上下文向量ct;[0117]s35、使用文本解码器languagelstm,对上下文向量ct进行解码,并根据概率分布得到当前步的文本wt,通过反向传播算法训练场景图引导文本生成模型。[0118]在步骤s31中,所述图卷积网络的计算公式为:[0119]对于某输入节点xi:[0120][0121][0122]其中,σ为relu激活函数,ni为节点xi在场景图中的邻居节点数。[0123]在步骤s33中,序列模型lstm指通用的文本生成序列模型lstm(lstm在生成文本时,从第一个词到最后一个词逐步生成),就是从注意力lstm到语言languagelstm,从wt‑1到wt的文本生成模型。[0124]首先将视频v与节点n输入注意力解码器,其次,生成模型对视频编码应用时序注意力(temporalattention),对图节点编码应用流动注意力(flowattention),使用两种注意力网络得到上下文向量(contextvector)生成文本。[0125]注意力解码器计算公式为:[0126][0127]其中,为v和n的平均值。[0128]通过以下公式得到时序注意力及视频上下文向量:[0129][0130][0131]为了更好地挖掘与应用场景图中的结构信息,本发明设计了流动注意力对其进行编码,我们为每个场景图标注了起始节点,在每次生成的起始时刻将起始图节点注意力赋为1,其余节点赋为0,在之后的生成过程中,节点的变化可分为5种情况,如图5所示:[0132](6)原地不动,一个节点对应多个词语的情况,[0133](7)移动一步,节点向前移动一步,(m为邻接矩阵);[0134](8)移动两步,节点向前移动两步,[0135](9)移动三步,节点向前移动三步,[0136](10)节点无关,当前词语与节点内容无关,则使用常规方法计算注意力[0137][0138]以下为图节点流动注意力的计算公式:[0139][0140][0141][0142]在步骤s34中,上下文融合模块用于对视频两种不同输入的上下文向量进行加权求和,得到最终的上下文向量ct:[0143][0144][0145]在步骤s35中,将上下文向量输入文本解码器模块,逐词生成视频描述的文本:[0146][0147][0148][0149]其中,θ为场景图引导生成模型的参数集合,即图卷积网络、视频编码器、序列模型lstm、上下文融合模块和文本解码器languagelstm的参数。[0150]用目前流行的pytorch深度学习框架实现细粒度场景图优化器(包括步骤s21‑s23)与场景图引导文本生成模型pθ(包括步骤s31‑s35),并使用adam优化器更新模型参数,在视频描述数据集charades进行实验。[0151]本发明以场景图作为视频与文本模态的中间表示,相比传统端到端方法[1][2]与基于主体模型的方法[3],本方法能够捕捉到视频中的丰富语义信息,避免视频描述中的信息匮乏,能够生成更为准确的视频描述。本方法用图引导文本生成模型实现了对场景图语义信息与结构信息的充分建模,相比方法[4][5]的实体及实体关系更能挖掘视频中的动作信息,并针对视频中不同的场景实现可控多样视频描述。本方法用细粒度的场景图优化器实现了从视频到场景图的准确生成,并对场景图进行细粒度编码与解码,生成的视频描述与输入的场景图内容符合,相比方法[6][7]中的词性标注更具有可解释性与可应用性(相比词性标注,基于语义信息的视频描述的可控生成更符合实际应用场景)。[0152]应用场景:用户希望根据自己关注的人物或内容,为视频生成个性化的描述或标题,用户可以根据自行选择视频中的对象,关系或属性,也可以对我们提供的参考场景图进行自由编辑,我们的模型可以根据用户意图构建场景图,并根据场景图生成与用户描述意图相符的视频描述或标题。[0153]功能特性:用户对场景图的构建与编辑是一个灵活且直观的过程,场景图可以对视频与文本两种模态的丰富语义信息进行连通。[0154]本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1