CN110418210A - 一种基于双向循环神经网络和深度输出的视频描述生成方法 - Google Patents
一种基于双向循环神经网络和深度输出的视频描述生成方法 Download PDFInfo
- Publication number
- CN110418210A CN110418210A CN201910632009.7A CN201910632009A CN110418210A CN 110418210 A CN110418210 A CN 110418210A CN 201910632009 A CN201910632009 A CN 201910632009A CN 110418210 A CN110418210 A CN 110418210A
- Authority
- CN
- China
- Prior art keywords
- video
- neural network
- output
- decoder
- time step
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4662—Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
- H04N21/4666—Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于双向循环神经网络和深度输出的视频描述生成方法。该方法主要内容是:首先对视频进行等间隔抽帧处理,再使用卷积神经网络对等间隔抽取的视频每一帧图像进行图像特征提取;将图像特征输入编码器,编码器采用了双向循环神经网络和长短期记忆单元;将编码器在所有时间步的输出通过注意力机制输入到解码器,解码器应用了深度输出;解码器在每个时间步生成一个词向量,该向量某个维度上的数据代表词汇表中某个词汇出现的概率大小,选取概率最大的单词作为当前时间步的生成单词,直到生成结束符时结束描述语句的生成,从而将视频转化为描述语句。通过本发明可以实现对视频内容的自动描述,从而节省人力。
Description
技术领域
本发明属于视频描述生成领域,尤其涉及一种基于双向循环神经网络和深度输出的视频描述生成方法。
背景技术
随着互联网的发展,视频数据呈现爆炸式增长。凭借人力难以充分提取如此庞大的视频数据中蕴含的信息,因此我们希望计算机能够自动对视频内容进行分析。视频描述生成是视频智能分析领域具有代表性的技术,视频描述生成问题能否解决,标志着人工智能能否理解视频内容。视频描述生成任务的目标是使机器自动描述视频内容,具体来说,就是使机器对一段视频自动生成一段相应的文字,准确描述该视频的内容。视频描述生成领域早先的解决方法将问题分为两个阶段,第一个阶段是从视频中提取出语义内容,如主语、动词、宾语等,然后再根据概率模型和某种固定的模式生成完整的句子。这种方法中语句的生成是按照某种固定的模式,无法满足人类语言的丰富性,只能生成一些结构简单的句子。近年来,深度学习技术的应用提高了视频描述生成模型的效果,但现有模型的编码器很多采用单向循环神经网络,无法提取到后向的序列特征,且现有模型一般采用单层循环神经网络作为解码器,解码能力有待提高。
发明内容
针对现有技术存在的以上问题,本发明旨在提供一种基于双向循环神经网络和深度输出的视频描述生成方法,通过等间隔抽取视频帧并使用卷积神经网络提取视频帧的图像特征,得到编码器在每个时间步的输入,通过构建和训练一种基于双向循环神经网络和深度输出的视频描述生成模型,将一段视频转化为一段视频描述语句。
为实现本发明的目的,本发明所采用的技术方案如下:
一种基于双向循环神经网络和深度输出的视频描述生成方法,所述方法包括以下步骤:
步骤1:对视频进行等间隔抽帧;
步骤2:使用卷积神经网络提取每个视频帧的图像特征;
步骤3:将图像特征输入基于双向循环神经网络和长短期记忆单元的编码器;
步骤4:将编码器的输出通过注意力机制输入基于深度输出的解码器;
步骤5:解码器在每个时间步生成描述语句中的一个单词直到生成结束符;
步骤6:将解码器在每个时间步生成的单词组合成完整的视频描述语句。
作为本发明的一种改进,所述步骤1中,对视频进行等间隔抽帧的方法为:
假设视频总共有N帧,需要提取的视频帧数是M帧(本发明采用的视频帧提取数为26帧)。一般视频描述生成模型的编码器需要提取的视频帧数M会小于视频的总帧数N,但也会出现N=M或N<M的特殊情况。若N<M,将视频的前N帧全部抽取,并在抽取的N帧之后补充(M-N)个空白视频帧(图像像素值全为0);若N=M,将视频的前N帧全部抽取;若N>M,采用等间隔采样的方法,采样间隔应该取此时抽取的视频帧序列应为:
因为视频的帧数为整数,对视频帧序列进行四舍五入,得到:
式中round(·)表示四舍五入。
作为本发明的一种改进,所述步骤2中,卷积神经网络采用预训练于ImageNet数据集的InceptionV3,具体结构采用了InceptionV3网络模型的最后一个池化层之前的网络结构。对于抽取的每一帧视频图像,卷积神经网络提取到的图像特征都是2048维的向量,之后采用嵌入处理将图像特征与嵌入矩阵相乘得到512维的特征向量。为了加速网络的训练过程,图像特征的处理与循环神经网络的训练是分开的,在网络训练开始之前图像特征已经提取完毕
作为本发明的一种改进,所述步骤3中,编码器采用单层双向循环神经网络,相当于两个方向相反的单向循环神经网络的结合。正向的循环神经网络初始时输入的视频帧特征来自视频的第一帧,反向的循环神经网络初始时输入的视频帧特征来自视频帧序列的最后一个视频帧。当这两个方向相反的循环神经网络都完成了M(本发明中M取26)次循环后,将两个网络对应时间步的输出特征根据下式组成新的序列特征:
式中z<t>表示双向循环神经网络在第t个时间步的输出,表示正向循环神经网络在第t个时间步的输出,表示反向循环神经网络在第t个时间步的输出,和是参数矩阵,by是偏置矩阵,g(·)为激活函数,通常选择tanh或ReLU函数,本发明采用tanh函数,即
同时编码器使用了长短期记忆单元,其核心是记忆单元(Memory Cell),我们用c<t>来表示,记忆单元c<t>用来保存长期依赖信息,融合了当前时间步获取的信息和之前的历史信息;表示当前时间步用来替换c<t-1>的候选(Candidate)值,c<t>的值要么保留自前一时间步的c<t-1>,要么来自新产生的候选值更新门Γu(Update Gate)用来控制是否将记忆单元c<t>的值更新为候选值的值;遗忘门Γf(Forget Gate)用来控制是否遗弃前一个时间步记忆单元c<t-1>的信息;输出门Γo(Output Gate)用来控制记忆单元c<t>的信息能否进入当前时间步的隐藏状态a<t>,
Γu=σ(Wuxx<t>+Wuaa<t-1>+bu);
Γf=σ(Wfxx<t>+Wfaa<t-1>+bf);
Γo=σ(Woxx<t>+Woaa<t-1>+bo);
a<t>=Γo⊙φ(c<t>);
式中x<t>是循环神经网络在第t个时间步的输入,也就是卷积神经网络抽取到的第t个视频帧的图像特征,是一个512维的特征向量;σ表示sigmoid函数;φ是双曲正切函数,也被称为tanh函数;⊙表示哈达玛积(Hadamard Product),具体操作是将矩阵的各元素对应相乘,式中Wux、Wua、Wfx、Wfa、Wox、Woa均为参数矩阵,bu、bf、bo为偏置矩阵。
作为本发明的一种改进,所述步骤4中,解码器使用单层循环神经网络,应用了注意力机制,并且使用了深度输出,解码器部分的循环神经网络的隐藏状态与输出的计算公式为:
h<t>=flstm(h<t-1>,E(y<t-1>),v<t>);
y<t>=foutput(h<t>);
上式中h<t>和y<t>是循环神经网络在第t个时间步的隐藏状态和输出;E(y<t-1>)是前一个时间步的输出经过词嵌入后得到的向量,词嵌入就是将y<t-1>与一个参数矩阵相乘;v<t>是编码器提取的序列特征通过注意力机制输入到解码器第t个时间步的特征值;flstm函数是长短期记忆单元计算隐藏状态的函数;foutput是解码器输出的计算函数,一般视频描述生成模型的解码器输出都是将循环神经网络的输出直接乘以一个参数矩阵,如下式:
y<t>=Wyhh<t>+by;
为了增加网络的深度,对网络的输出做如下操作:
y<t>=Wd*tanh(Wdhh<t>+WdeE(y<t-1>)+Wdvv<t>+bt)+bd;
式中Wd、Wdh、Wde、Wdv均为参数矩阵,bt、bd为偏置矩阵。
作为本发明的一种改进,所述步骤5中,解码器部分的循环神经网络在每个时间步的输出都是一个向量,长度与单词表的单词总数相同,输出向量第i位的值表示在给定视频特征和上一个生成单词的条件下单词表第i个单词出现的概率,即:
式中wi是一个第i位为1其他位为0的独热向量,用来表示单词表第i个单词;z表示编码器提取的视频特征;也是一个独热向量,用来表示解码器在上一个时间步生成的单词。整个解码器-编码器模型的优化目标函数为:
也可以写为:
式中表示解码器在当前时间步生成的单词,Θ表示编码器-解码器模型的参数。
与现有技术相比,本发明的技术方案具有以下的有益技术效果:针对视频描述生成问题,本发明提出了一种新型的编码器-解码器模型,编码器采用了双向循环神经网络,能够同时提取前向和后向的序列特征,使得解码器能够根据编码器提取的视频双向序列特征更好地生成视频描述语句。解码器应用了深度输出和注意力机制,深度输出的应用增加了解码器的非线性度与网络深度,提高了解码器的解码能力;注意力机制的应用使得解码器能够对编码器提取的序列特征进行权重分配,提高了网络的训练效果。
附图说明
图1是本发明一种基于双向循环神经网络和深度输出的视频描述生成方法流程图;
图2是本发明采用的视频描述生成模型结构图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
如图1所示,本发明提出了一种基于双向循环神经网络和深度输出的视频描述生成方法,该方法的详细步骤为:
(1)对视频进行等间隔抽帧;
视频描述生成模型处理的视频大部分都是上百帧的,如果对所有视频帧提取图像特征并输入解码器,会导致视频描述生成模型的训练速度大大降低,更严重的是会导致视频描述生成模型在训练过程中的内存需求大大增高,一般的计算机难以满足这样的内存要求。因此,我们需要对较长的视频进行视频帧的等间隔抽取。
假设视频总共有N帧,需要提取的视频帧数是M帧。一般视频描述生成模型的编码器需要提取的视频帧数M会小于视频的总帧数N,但也会出现N=M或N<M的特殊情况。若N<M,将视频的前N帧全部抽取,并在抽取的N帧之后补充(M-N)个空白视频帧(图像像素值全为0);若N=M,将视频的前N帧全部抽取;若N>M,采用等间隔采样的方法,采样间隔应该取此时抽取的视频帧序列应为:
因为视频的帧数为整数,所以我们对视频帧序列进行四舍五入,得到:
式中round(·)表示四舍五入。当视频描述生成模型的编码器需要提取的视频帧数M小于视频的总帧数N时,采用等间隔采样的方式对视频提取的视频帧序列是对视频信息较为完整的概括。
本发明采用的视频抽取帧数为26,对于视频总帧数大于26的情况,使用等间隔抽帧的方法抽取26个视频帧;对于视频总帧数小于26的情况,将所有视频帧抽取,并在抽取的视频帧后补充空白视频帧直到抽取的视频帧总帧数为26;对于视频总帧数等于26的情况,将所有视频帧抽取。
(2)使用卷积神经网络提取每个视频帧的图像特征;
卷积神经网络的选择较多,本发明采用预训练于ImageNet数据集的InceptionV3卷积神经网络对图像特征进行提取,网络的具体结构采用了InceptionV3网络模型的最后一个池化层之前的网络结构,即平均池化层pool_3之前的网络结构。InceptionV3网络提取到的图像特征的维度是2048,图像特征在输入编码器之前会进行嵌入处理,即将图像特征与一个嵌入矩阵相乘得到一个512维的特征向量,这一操作能够降低图像特征的维度,从而降低编码器-解码器模型的计算量。为了加速网络的训练过程,图像特征的处理与循环神经网络的训练是分开的,在网络训练开始之前图像特征已经提取完毕。
(3)将图像特征输入基于双向循环神经网络和长短期记忆单元的编码器;
采用卷积神经网络提取到26个视频帧的图像特征,即26个2048维的向量,再使用嵌入处理得到26个512维的特征向量。这26个特征向量作为编码器的输入,对应编码器中循环神经网络的26个时间步。本发明采用的编码器如图2下半部分所示,采用了双向循环神经网络以及长短期记忆单元(Long Short-Term Memory Unit,LSTM)。
单向循环神经网络只能利用当前时间步之前的历史信息,而有些情况下利用未来的信息能够对结果进行更好的预测。例如,在“James is a great basketball player”这句话中,如果只有“James”这个单词之前的信息,不一定能推断出“James”是一个人名。而根据“James”这个单词之后的信息,“basketball player”是一种职业,那么很容易就能推断出“James”是一个人名。
双向循环神经网络就是一种能够同时利用历史信息和未来信息的神经网络,相当于两个方向相反的单向循环神经网络的结合。正向的循环神经网络初始时输入的视频帧特征来自视频的第一帧,反向的循环神经网络初始时输入的视频帧特征来自视频帧序列的最后一个视频帧。当这两个方向相反的循环神经网络都完成了26次循环后,将两个网络对应时间步的输出特征根据下式组成新的序列特征:
式中z<t>表示双向循环神经网络在第t个时间步的输出,表示正向循环神经网络在第t个时间步的输出,表示反向循环神经网络在第t个时间步的输出,和是参数矩阵,by是偏置矩阵,g(·)为激活函数,通常选择tanh或ReLU函数,本发明采用tanh函数,即
虽然循环神经网络在每个时间步的计算都利用到了之前的历史信息,但是在循环神经网络的计算过程经过了多个时间步之后,状态输入a<t-1>包含的历史信息实际上只与相近的几个时间步有关,更早的时间步的信息几乎全部丢失了。更严重的问题是,较长的时间步会导致循环神经网络更易出现梯度弥散(Gradient Vanishing)现象,导致网络无法学习到长时间跨度的非线性关系。这就是长期依赖(Long-Term Dependency)问题。为了缓解这些问题,本发明采用了长短期记忆单元。
长短期记忆单元的核心是记忆单元(Memory Cell),我们用c<t>来表示。记忆单元c<t>用来保存长期依赖信息,融合了当前时间步获取的信息和之前的历史信息;表示当前时间步用来替换c<t-1>的候选(Candidate)值,c<t>的值要么保留自前一时间步的c<t-1>,要么来自新产生的候选值更新门Γu(Update Gate)用来控制是否将记忆单元c<t>的值更新为候选值的值;遗忘门Γf(Forget Gate)用来控制是否遗弃前一个时间步记忆单元c<t-1>的信息;输出门Γo(Output Gate)用来控制记忆单元c<t>的信息能否进入当前时间步的隐藏状态a<t>。
Γu=σ(Wuxx<t>+Wuaa<t-1>+bu)
Γf=σ(Wfxx<t>+Wfaa<t-1>+bf)
Γo=σ(Woxx<t>+Woaa<t-1>+bo)
a<t>=Γo⊙φ(c<t>)
式中x<t>是循环神经网络在第t个时间步的输入,也就是卷积神经网络抽取到的第t个视频帧的图像特征,是一个512维的特征向量;σ表示sigmoid函数;φ是双曲正切函数,也被称为tanh函数;⊙表示哈达玛积(Hadamard Product),具体操作是将矩阵的各元素对应相乘。式中Wux、Wua、Wfx、Wfa、Wox、Woa均为参数矩阵,bu、bf、bo为偏置矩阵。
(4)将编码器的输出通过注意力机制输入基于深度输出的解码器;
解码器部分的主体是经典的单层循环神经网络,采用长短期记忆单元,并且应用了注意力机制。我们在此基础上使用深度输出,提高解码器的非线性度和深度,增强解码器的解码能力。解码器结构如图2上半部分所示。
在传统的编码器-解码器结构中,编码器将输入序列的所有数据读入到网络结构之后提取到的特征交给解码器,这样会存在一个问题:在解码阶段,在每个时间步来自编码器的信息是固定的,都是编码器读入全部输入数据之后提取到的特征,这会使解码的过程没有针对性。解码器在每个时间步利用到的编码信息应该是有区别的,在不同时间步解码器对不同部分的编码信息关注的程度应该是不同的。
本发明采用注意力机制来解决上述问题。注意力机制就是,在解码器的每个时间步,解码器对输入的编码器提取的特征加上注意力权重(Attention Weights)。也就是说,在解码器的每个时间步,解码器对编码器在不同时间步提取的特征的关注程度是有区别的。
假设编码器提取的序列特征为(z<1>,z<2>,...,z<n>),解码器会在每个时间步对该特征序列加上权重,从而产生一个新的特征序列(v<1>,v<2>,...,v<m>),其中
式中,α<t,i>是注意力权重,且有α<t,i>将由一个小型的全连接神经网络计算得到。设e<t,i>表示编码器在第i个时间步提取的特征z<i>与解码器第t-1个隐藏状态h<t-1>之间的相关程度,e<t,i>可由下式得到。
α<t,i>实际上是e<t,i>归一化之后的结果:
通过注意力机制,可以将编码器提取的序列特征(z<1>,z<2>,...,z<n>)转化为考虑了权重分配的序列特征(v<1>,v<2>,...,v<m>),新的序列特征将被输入到解码器。解码器部分的循环神经网络的输出与隐藏状态的计算公式为:
h<t>=flstm(h<t-1>,E(y<t-1>),v<t>)
y<t>=foutput(h<t>)
上式中h<t>和y<t>是解码器部分的循环神经网络在第t个时间步的隐藏状态和输出;E(y<t-1>)是前一个时间步的输出经过词嵌入后得到的向量,词嵌入就是将y<t-1>与一个参数矩阵相乘;v<t>是编码器提取的序列特征通过注意力机制输入到解码器第t个时间步的特征值;flstm函数是长短期记忆单元计算隐藏状态的函数,具体的计算过程在步骤(3)中介绍过;foutput是解码器输出的计算函数,一般视频描述生成模型的解码器输出都是将循环神经网络的隐藏状态直接乘以一个参数矩阵,如下式:
y<t>=Wyhh<t>+by
为了增加网络的深度,我们对网络的输出做如下操作:
y<t>=Wd*tanh(Wdhh<t>+WdeE(y<t-1>)+Wdvv<t>+bt)+bd
式中Wd、Wdh、Wde、Wdv均为参数矩阵,bt、bd为偏置矩阵。我们将上式表示的网络输出称为深度输出。注意上式中y<t>由h<t>计算得到,而不是由h<t-1>计算得到。将上式用另一种方式表示如下:
h<t>=flstm(h<t-1>,E(y<t-1>),v<t>)
其中fstandard表示标准循环神经网络计算隐藏状态的函数,即:
由上式可以明显看出,与h<t>相比,多嵌套了一个fstandard,相当于多进行了一次标准循环神经网络的结构单元计算,也相当于多了一个时间步。与y<t>相比,多嵌套了一个foutput,这增加了网络的非线性度。图2中“STD”单元对应fstandard,“tanh”单元对应foutput。因此,深度输出增加了解码器循环神经网络的深度和非线性度,从而提升了网络的解码能力。
(5)解码器在每个时间步生成描述语句中的一个单词直到生成结束符;
解码器部分的循环神经网络相当于一个语言模型,其作用是,在给定的条件下,计算一句话中某个位置上各个单词出现的概率。在视频描述生成问题中,如果语言模型能够计算出在给定某个视频片段的条件下,各个语句出现的概率,那么选择概率最大的语句作为模型生成的描述语句,视频描述生成问题就成功解决了。这是理想情况下的语言模型,循环神经网络作为语言模型能够做到的是,在给定视频特征和上一个生成单词的情况下,预测当前单词出现的概率。作为语言模型的循环神经网络与理想语言模型的区别在于,循环神经网络得到的概率只是根据训练数据预测出来的,不一定准确。另一个区别是,循环神经网络只能在给定条件下,得到某个位置各个单词出现的概率,而不能在给定视频的情况下直接给出各个语句出现的概率。因此,循环神经网络需要通过搜索的方式得到最大概率的语句。若直接进行枚举,需要枚举次,Td为解码器的时间步总数,nw为单词表(Word List)的单词总数。若解码器的时间步总数为26,单词表的单词总数为10000,循环神经网络需要枚举1000026次才能找到概率最大的语句。循环神经网络可以通过贪心搜索(GreedySearch)或集束搜索(Beam Search)寻找概率较大的语句(注意不是概率最大的语句)。本发明采用贪心搜索寻找概率较大的语句,即在每个时间步都选择当前概率最大的单词作为生成的单词。
解码器部分的循环神经网络在每个时间步的输出都是一个向量,长度与单词表的单词总数相同。输出向量第i位的值表示在给定视频特征和上一个生成单词的条件下单词表第i个单词出现的概率,即:
式中wi是一个第i位为1其他位为0的独热向量,用来表示单词表第i个单词;z表示编码器提取的视频特征;也是一个独热向量,用来表示解码器在上一个时间步生成的单词。整个解码器-编码器模型的优化目标函数为:
也可以写为:
式中表示解码器在当前时间步生成的单词,Θ表示编码器-解码器模型的参数。
(6)将解码器在每个时间步生成的单词组合成完整的视频描述语句。
解码器在每个时间步生成一个向量,该向量与单词表大小相同,某个维度上的数据相当于单词表中某个单词在当前时间步出现的概率大小。将向量中最大数值对应的单词表中的某个单词作为当前时间步生成的单词,将每个时间步生成的单词组合起来,就生成了一句完整的视频描述语句。
需要说明的是上述实施例仅仅是本发明的较佳实施例,并没有用来限定本发明的保护范围,在上述技术方案的基础上做出的等同替换或者替代均属于本发明的保护范围。
Claims (6)
1.一种基于双向循环神经网络和深度输出的视频描述生成方法,其特征在于,所述方法包括以下步骤:
步骤1:对视频进行等间隔抽帧;
步骤2:使用卷积神经网络提取每个视频帧的图像特征;
步骤3:将图像特征输入基于双向循环神经网络和长短期记忆单元的编码器;
步骤4:将编码器的输出通过注意力机制输入基于深度输出的解码器;
步骤5:解码器在每个时间步生成描述语句中的一个单词直到生成结束符;
步骤6:将解码器在每个时间步生成的单词组合成完整的视频描述语句。
2.根据权利要求1所述的一种基于双向循环神经网络和深度输出的视频描述生成方法,其特征在于:所述步骤1中,对视频进行等间隔抽帧的方法为:
假设视频总共有N帧,需要提取的视频帧数是M帧,若N=M,将视频的前N帧全部抽取;若N>M,采用等间隔采样的方法,采样间隔应该取此时抽取的视频帧序列应为:
因为视频的帧数为整数,对视频帧序列进行四舍五入,得到:
式中round(·)表示四舍五入。
3.根据权利要求1所述的一种基于双向循环神经网络和深度输出的视频描述生成方法,其特征在于:所述步骤2中,卷积神经网络采用预训练于ImageNet数据集的InceptionV3,具体结构采用了InceptionV3网络模型的最后一个池化层之前的网络结构,对于抽取的每一帧视频图像,卷积神经网络提取到的图像特征都是2048维的向量,之后采用嵌入处理将图像特征与嵌入矩阵相乘得到512维的特征向量。
4.根据权利要求1所述的一种基于双向循环神经网络和深度输出的视频描述生成方法,其特征在于:所述步骤3中,编码器采用单层双向循环神经网络,正向的循环神经网络初始时输入的视频帧特征来自视频的第一帧,反向的循环神经网络初始时输入的视频帧特征来自视频帧序列的最后一个视频帧,当这两个方向相反的循环神经网络都完成了M次循环后,对应步骤2中抽取的M个视频帧,将两个网络对应时间步的输出特征根据下式组成新的序列特征:
式中z<t>表示双向循环神经网络在第t个时间步的输出,表示正向循环神经网络在第t个时间步的输出,表示反向循环神经网络在第t个时间步的输出,和是参数矩阵,by是偏置矩阵,g(·)为激活函数,通常选择tanh或ReLU函数,本发明采用tanh函数,即
同时编码器使用了长短期记忆单元,其核心是记忆单元(Memory Cell),用c<t>来表示,记忆单元c<t>用来保存长期依赖信息,融合了当前时间步获取的信息和之前的历史信息;表示当前时间步用来替换c<t-1>的候选(Candidate)值,c<t>的值要么保留自前一时间步的c<t-1>,要么来自新产生的候选值更新门Γu(Update Gate)用来控制是否将记忆单元c<t>的值更新为候选值的值;遗忘门Γf(Forget Gate)用来控制是否遗弃前一个时间步记忆单元c<t-1>的信息;输出门Γo(Output Gate)用来控制记忆单元c<t>的信息能否进入当前时间步的隐藏状态a<t>,
Γu=σ(Wuxx<t>+Wuaa<t-1>+bu);
Γf=σ(Wfxx<t>+Wfaa<t-1>+bf);
Γo=σ(Woxx<t>+Woaa<t-1>+bo);
a<t>=Γo⊙φ(c<t>);
式中x<t>是编码器部分的循环神经网络在第t个时间步的输入,也就是卷积神经网络抽取到的第t个视频帧的图像特征,是一个512维的特征向量;σ表示sigmoid函数;φ是双曲正切函数,也被称为tanh函数;⊙表示哈达玛积(Hadamard Product),具体操作是将矩阵的各元素对应相乘,式中Wux、Wua、Wfx、Wfa、Wox、Woa均为参数矩阵,bu、bf、bo为偏置矩阵。
5.根据权利要求1所述的一种基于双向循环神经网络和深度输出的视频描述生成方法,其特征在于:所述步骤4中,解码器使用单层循环神经网络,应用了注意力机制,并且使用了深度输出,解码器部分的循环神经网络的隐藏状态与输出的计算公式为:
h<t>=flstm(h<t-1>,E(y<t-1>),v<t>);
y<t>=foutput(h<t>);
上式中h<t>和y<t>是解码器部分的循环神经网络在第t个时间步的隐藏状态和输出;E(y<t-1>)是前一个时间步的输出经过词嵌入后得到的向量,词嵌入就是将y<t-1>与一个参数矩阵相乘;v<t>是编码器提取的序列特征通过注意力机制输入到解码器第t个时间步的特征值;flstm函数是长短期记忆单元计算隐藏状态的函数;foutput是解码器输出的计算函数,一般视频描述生成模型的解码器输出都是将循环神经网络的隐藏状态直接乘以一个参数矩阵,如下式:
y<t>=Wyhh<t>+by;
为了增加网络的深度,对网络的输出做如下操作:
y<t>=Wd*tanh(Wdhh<t>+WdeE(y<t-1>)+Wdvv<t>+bt)+bd;
式中Wd、Wdh、Wde、Wdv均为参数矩阵,bt、bd为偏置矩阵。
6.根据权利要求1所述的一种基于双向循环神经网络和深度输出的视频描述生成方法,其特征在于:所述步骤5中,解码器部分的循环神经网络在每个时间步的输出都是一个向量,长度与单词表的单词总数相同,输出向量第i位的值表示在给定视频特征和上一个生成单词的条件下单词表第i个单词出现的概率,即:
式中wi是一个第i位为1其他位为0的独热向量,用来表示单词表第i个单词;z表示编码器提取的视频特征;也是一个独热向量,用来表示解码器在上一个时间步生成的单词。整个编码器-解码器模型的优化目标函数为:
或者
式中表示解码器在当前时间步生成的单词,Θ表示编码器-解码器模型的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910632009.7A CN110418210B (zh) | 2019-07-12 | 2019-07-12 | 一种基于双向循环神经网络和深度输出的视频描述生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910632009.7A CN110418210B (zh) | 2019-07-12 | 2019-07-12 | 一种基于双向循环神经网络和深度输出的视频描述生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110418210A true CN110418210A (zh) | 2019-11-05 |
CN110418210B CN110418210B (zh) | 2021-09-10 |
Family
ID=68361330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910632009.7A Active CN110418210B (zh) | 2019-07-12 | 2019-07-12 | 一种基于双向循环神经网络和深度输出的视频描述生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110418210B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866510A (zh) * | 2019-11-21 | 2020-03-06 | 山东浪潮人工智能研究院有限公司 | 一种基于关键帧检测的视频描述系统和方法 |
CN110968725A (zh) * | 2019-12-03 | 2020-04-07 | 咪咕动漫有限公司 | 图像内容描述信息生成方法、电子设备及存储介质 |
CN111368142A (zh) * | 2020-04-15 | 2020-07-03 | 华中科技大学 | 一种基于生成对抗网络的视频密集事件描述方法 |
CN111460883A (zh) * | 2020-01-22 | 2020-07-28 | 电子科技大学 | 基于深度强化学习的视频行为自动描述方法 |
CN111580097A (zh) * | 2020-04-02 | 2020-08-25 | 杭州电子科技大学 | 基于单层双向循环神经网络的雷达目标识别方法 |
CN111580059A (zh) * | 2020-04-02 | 2020-08-25 | 杭州电子科技大学 | 基于谱图切分预处理和卷积神经网络的雷达hrrp目标识别方法 |
CN111596292A (zh) * | 2020-04-02 | 2020-08-28 | 杭州电子科技大学 | 基于重要性网络和双向堆叠循环神经网络的雷达目标识别方法 |
CN111596276A (zh) * | 2020-04-02 | 2020-08-28 | 杭州电子科技大学 | 基于谱图变换和注意力机制循环神经网络的雷达hrrp目标识别方法 |
CN111736125A (zh) * | 2020-04-02 | 2020-10-02 | 杭州电子科技大学 | 基于注意力机制和双向堆叠循环神经网络的雷达目标识别方法 |
CN111818397A (zh) * | 2020-06-29 | 2020-10-23 | 同济大学 | 一种基于长短时记忆网络变体的视频描述生成方法 |
CN111814844A (zh) * | 2020-03-17 | 2020-10-23 | 同济大学 | 一种基于位置编码融合的密集型视频描述方法 |
CN112651421A (zh) * | 2020-09-04 | 2021-04-13 | 江苏濠汉信息技术有限公司 | 一种红外热成像输电线路防外破监测系统及其建模方法 |
CN112911338A (zh) * | 2021-01-28 | 2021-06-04 | 山东大学 | 一种基于编码解码网络的交通场景描述方法及系统 |
CN113553445A (zh) * | 2021-07-28 | 2021-10-26 | 北京理工大学 | 一种生成视频描述的方法 |
CN113973209A (zh) * | 2020-07-24 | 2022-01-25 | 爱思开海力士有限公司 | 生成深度图的装置 |
CN114268846A (zh) * | 2020-09-16 | 2022-04-01 | 镇江多游网络科技有限公司 | 一种基于注意机制的视频描述生成模型 |
CN114511813A (zh) * | 2022-04-20 | 2022-05-17 | 天津市城市规划设计研究总院有限公司 | 视频语义描述方法及装置 |
CN116543289A (zh) * | 2023-05-10 | 2023-08-04 | 南通大学 | 一种基于编码器-解码器及Bi-LSTM注意力模型的图像描述方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150178265A1 (en) * | 2013-12-20 | 2015-06-25 | Google Inc. | Content Recommendation System using a Neural Network Language Model |
US20160314392A1 (en) * | 2015-03-26 | 2016-10-27 | Nokia Technologies Oy | Generating using a bidirectional rnn variations to music |
CN108307239A (zh) * | 2018-01-10 | 2018-07-20 | 北京奇虎科技有限公司 | 一种视频内容推荐方法和装置 |
KR20180089132A (ko) * | 2017-01-31 | 2018-08-08 | (주)한국플랫폼서비스기술 | 딥러닝 분석을 위한 모듈화시스템을 이용한 컨텐츠 제공 방법 |
CN108874776A (zh) * | 2018-06-11 | 2018-11-23 | 北京奇艺世纪科技有限公司 | 一种垃圾文本的识别方法及装置 |
CN108960330A (zh) * | 2018-07-09 | 2018-12-07 | 西安电子科技大学 | 基于快速区域卷积神经网络的遥感图像语义生成方法 |
CN109508642A (zh) * | 2018-10-17 | 2019-03-22 | 杭州电子科技大学 | 基于双向gru和注意力机制的船舶监控视频关键帧提取方法 |
CN109743642A (zh) * | 2018-12-21 | 2019-05-10 | 西北工业大学 | 基于分层循环神经网络的视频摘要生成方法 |
US20190147105A1 (en) * | 2017-11-15 | 2019-05-16 | Google Llc | Partitioning videos |
US20190163978A1 (en) * | 2017-11-30 | 2019-05-30 | Nvidia Corporation | Budget-aware method for detecting activity in video |
CN109905696A (zh) * | 2019-01-09 | 2019-06-18 | 浙江大学 | 一种基于加密流量数据的视频服务体验质量的识别方法 |
-
2019
- 2019-07-12 CN CN201910632009.7A patent/CN110418210B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150178265A1 (en) * | 2013-12-20 | 2015-06-25 | Google Inc. | Content Recommendation System using a Neural Network Language Model |
US20160314392A1 (en) * | 2015-03-26 | 2016-10-27 | Nokia Technologies Oy | Generating using a bidirectional rnn variations to music |
KR20180089132A (ko) * | 2017-01-31 | 2018-08-08 | (주)한국플랫폼서비스기술 | 딥러닝 분석을 위한 모듈화시스템을 이용한 컨텐츠 제공 방법 |
US20190147105A1 (en) * | 2017-11-15 | 2019-05-16 | Google Llc | Partitioning videos |
US20190163978A1 (en) * | 2017-11-30 | 2019-05-30 | Nvidia Corporation | Budget-aware method for detecting activity in video |
CN108307239A (zh) * | 2018-01-10 | 2018-07-20 | 北京奇虎科技有限公司 | 一种视频内容推荐方法和装置 |
CN108874776A (zh) * | 2018-06-11 | 2018-11-23 | 北京奇艺世纪科技有限公司 | 一种垃圾文本的识别方法及装置 |
CN108960330A (zh) * | 2018-07-09 | 2018-12-07 | 西安电子科技大学 | 基于快速区域卷积神经网络的遥感图像语义生成方法 |
CN109508642A (zh) * | 2018-10-17 | 2019-03-22 | 杭州电子科技大学 | 基于双向gru和注意力机制的船舶监控视频关键帧提取方法 |
CN109743642A (zh) * | 2018-12-21 | 2019-05-10 | 西北工业大学 | 基于分层循环神经网络的视频摘要生成方法 |
CN109905696A (zh) * | 2019-01-09 | 2019-06-18 | 浙江大学 | 一种基于加密流量数据的视频服务体验质量的识别方法 |
Non-Patent Citations (1)
Title |
---|
YONGMING HUANG: "Placement Delivery Array Design via Attention-Based Sequence-to-Sequence", 《IEEE WIRELESS COMMUNICATIONS LETTERS》 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866510A (zh) * | 2019-11-21 | 2020-03-06 | 山东浪潮人工智能研究院有限公司 | 一种基于关键帧检测的视频描述系统和方法 |
CN110968725A (zh) * | 2019-12-03 | 2020-04-07 | 咪咕动漫有限公司 | 图像内容描述信息生成方法、电子设备及存储介质 |
CN110968725B (zh) * | 2019-12-03 | 2023-04-28 | 咪咕动漫有限公司 | 图像内容描述信息生成方法、电子设备及存储介质 |
CN111460883A (zh) * | 2020-01-22 | 2020-07-28 | 电子科技大学 | 基于深度强化学习的视频行为自动描述方法 |
CN111460883B (zh) * | 2020-01-22 | 2022-05-03 | 电子科技大学 | 基于深度强化学习的视频行为自动描述方法 |
CN111814844A (zh) * | 2020-03-17 | 2020-10-23 | 同济大学 | 一种基于位置编码融合的密集型视频描述方法 |
CN111814844B (zh) * | 2020-03-17 | 2023-07-11 | 同济大学 | 一种基于位置编码融合的密集型视频描述方法 |
CN111580059A (zh) * | 2020-04-02 | 2020-08-25 | 杭州电子科技大学 | 基于谱图切分预处理和卷积神经网络的雷达hrrp目标识别方法 |
CN111736125A (zh) * | 2020-04-02 | 2020-10-02 | 杭州电子科技大学 | 基于注意力机制和双向堆叠循环神经网络的雷达目标识别方法 |
CN111596276A (zh) * | 2020-04-02 | 2020-08-28 | 杭州电子科技大学 | 基于谱图变换和注意力机制循环神经网络的雷达hrrp目标识别方法 |
CN111596292A (zh) * | 2020-04-02 | 2020-08-28 | 杭州电子科技大学 | 基于重要性网络和双向堆叠循环神经网络的雷达目标识别方法 |
CN111580097A (zh) * | 2020-04-02 | 2020-08-25 | 杭州电子科技大学 | 基于单层双向循环神经网络的雷达目标识别方法 |
CN111596292B (zh) * | 2020-04-02 | 2023-08-25 | 杭州电子科技大学 | 基于重要性网络和双向堆叠循环神经网络的雷达目标识别方法 |
CN111368142A (zh) * | 2020-04-15 | 2020-07-03 | 华中科技大学 | 一种基于生成对抗网络的视频密集事件描述方法 |
CN111818397A (zh) * | 2020-06-29 | 2020-10-23 | 同济大学 | 一种基于长短时记忆网络变体的视频描述生成方法 |
CN111818397B (zh) * | 2020-06-29 | 2021-10-08 | 同济大学 | 一种基于长短时记忆网络变体的视频描述生成方法 |
CN113973209A (zh) * | 2020-07-24 | 2022-01-25 | 爱思开海力士有限公司 | 生成深度图的装置 |
CN112651421A (zh) * | 2020-09-04 | 2021-04-13 | 江苏濠汉信息技术有限公司 | 一种红外热成像输电线路防外破监测系统及其建模方法 |
CN112651421B (zh) * | 2020-09-04 | 2024-05-28 | 江苏濠汉信息技术有限公司 | 一种红外热成像输电线路防外破监测系统及其建模方法 |
CN114268846A (zh) * | 2020-09-16 | 2022-04-01 | 镇江多游网络科技有限公司 | 一种基于注意机制的视频描述生成模型 |
CN112911338A (zh) * | 2021-01-28 | 2021-06-04 | 山东大学 | 一种基于编码解码网络的交通场景描述方法及系统 |
CN113553445A (zh) * | 2021-07-28 | 2021-10-26 | 北京理工大学 | 一种生成视频描述的方法 |
CN114511813A (zh) * | 2022-04-20 | 2022-05-17 | 天津市城市规划设计研究总院有限公司 | 视频语义描述方法及装置 |
CN116543289A (zh) * | 2023-05-10 | 2023-08-04 | 南通大学 | 一种基于编码器-解码器及Bi-LSTM注意力模型的图像描述方法 |
CN116543289B (zh) * | 2023-05-10 | 2023-11-21 | 南通大学 | 一种基于编码器-解码器及Bi-LSTM注意力模型的图像描述方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110418210B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110418210A (zh) | 一种基于双向循环神经网络和深度输出的视频描述生成方法 | |
CN108460013B (zh) | 一种基于细粒度词表示模型的序列标注模型及方法 | |
WO2021155699A1 (zh) | 面向中文长文本自动摘要的全局编码方法 | |
CN109785833A (zh) | 用于智能设备的人机交互语音识别方法及系统 | |
CN107291836B (zh) | 一种基于语义相关度模型的中文文本摘要获取方法 | |
CN110516229B (zh) | 一种基于深度学习的领域自适应中文分词方法 | |
CN115292463A (zh) | 一种基于信息抽取的联合多意图检测和重叠槽填充的方法 | |
CN114743143A (zh) | 一种基于多概念知识挖掘的视频描述生成方法及存储介质 | |
CN111651993A (zh) | 融合局部-全局字符级关联特征的中文命名实体识别方法 | |
CN117421591A (zh) | 一种基于文本引导图像块筛选的多模态表征学习方法 | |
CN115238691A (zh) | 基于知识融合的嵌入的多意图识别与槽位填充模型 | |
CN114580416A (zh) | 基于多视图语义特征融合的中文命名实体识别方法及装置 | |
CN114564953A (zh) | 一种基于多种词嵌入融合与注意力机制的情感目标抽取模型 | |
CN113051904B (zh) | 一种面向小规模知识图谱的链接预测方法 | |
Xue et al. | Lcsnet: End-to-end lipreading with channel-aware feature selection | |
CN110929006B (zh) | 一种数据型问答系统 | |
CN117350378A (zh) | 一种基于语义匹配和知识图谱的自然语言理解算法 | |
CN115860002B (zh) | 一种基于事件抽取的作战任务生成方法及系统 | |
CN116595189A (zh) | 基于两阶段的零样本关系三元组抽取方法及系统 | |
CN114548090B (zh) | 基于卷积神经网络和改进级联标注的快速关系抽取方法 | |
CN116258147A (zh) | 一种基于异构图卷积的多模态评论情感分析方法及系统 | |
CN112613316B (zh) | 一种生成古汉语标注模型的方法和系统 | |
CN115358227A (zh) | 一种基于短语增强的开放域关系联合抽取方法及系统 | |
Zhou et al. | Joint scence network and attention-guided for image captioning | |
CN114218439A (zh) | 一种基于自驱动孪生采样和推理的视频问答方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |