System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种视频处理方法,更具体的说是涉及一种服务监管场景下视频表征融合方法。
技术介绍
1、在服务监管场景下,视频是一种常见的数据形式,服务监管要求模型能够理解视频内容并从视频中识别违规内容。这就需要一种很好的视频表征编码方法把视频包含的语义内容尽可能完整高效得转化为模型能够理解得矩阵表征形式。
2、目前现如今的视频表征编码方法大多以图片编码器(如clip)为基础,比如在video-chatgpt中,首先从视频中均匀抽取视频帧,然后使用图片编码器分别对抽取的视频帧进行编码,得到每个视频帧的表征。但是由于抽取的视频帧由很多,如果直接将所有帧的表征进行拼接的话,这个表征就会很长,这对于模型理解视频内容存在巨大的挑战。一种最简单的方法就是使用简单的池化层(比如最大池化层或者平均池化层)将多个视频帧的表征长度进行压缩,使其缩短为可接受的程度,video-chatgpt就是采用的这种方法,另外,internvideo2则是直接采用现成的视频编码器。video-llama借助blip提出的q-former进行视频帧表征融合。video-llama2则对于视频帧表征融合方法进行了进一步的改善。video-llama2不再使用q-fomrer把多个视频帧表征融合为视频表征,而是采用一系列可训练的cnn(卷积神经网络)模块,进行多个视频帧表征的融合。同样,这里的cnn模块也是与语言模型一起端到端进行训练的,无法单独作为一个视频编码器使用。
3、然而上述各个方式存在以下问题:
4、* 简单直接拼接。方法很
5、* 基于池化策略的视频帧表征融合方法。优点是不需要训练,但效果很依赖于池化策略的选择,并且基于池化策略的方法效果上限较低。
6、* 基于可训练的中间层的表征融合方法。如video-llama和video-llama2就是采用的这种方法。遗憾的是,video-llama和video-llama2都是与语言模型一起端到端训练的,无法把它们单独拆出来作为独立的视频编码器训练和使用,使用场景比较受限。
7、其次是基于视频编码器的方法。比如umt和internvideo2,使用视频编码器可以直接把视频编码为表征,无需进行额外的操作。但想要训练得到这样的视频编码器需要消耗的资源很大,大量的视频文本数据,大量的显卡服务器和大量的时间。比如internvideo2使用100万条数据,在256个a100gpu上训练了1个月才完成。
技术实现思路
1、针对现有技术存在的不足,本专利技术的目的在于提供一种基于图片编码器的高效的视频帧表征融合方法,与现存的方法相比主要具有以下特点:
2、* 训练过程简单高效,需要较少的视频文本数据,在少量的gpu上即可完成训练。
3、* 作为一个单独的模块训练,而不是与语言模型端到端训练,可作为单独的视频编码器使用。
4、为实现上述目的,本专利技术提供了如下技术方案:一种服务监管场景下视频表征融合方法,其特征在于:包括如下步骤:
5、步骤一,选择训练数据,对于较短的视频选择panda70m数据集,对于较长的视频选择charades、charadesego、activitynet和valley的caption数据;
6、步骤二,首先获取feature cube,然后创建帧表征融合模块,通过帧表征融合模块使用静态的注意力掩码,让每个query只需关注feature cube中固定的局部的token,或者使用动态的注意力掩码,让每个query关注的子立方体的位置按需变化;
7、步骤三,以q-former为基础,基于步骤一选择的训练数据创建三个损失函数进行联合训练,完成视频表征融合模块的训练,之后通过完成训练的视频表征融合模块对服务监管场景下的视频进行表征融合。
8、作为本专利技术的进一步改进,所述步骤二中获取feature cube的具体方式为:首先对视频进行预处理,对视频数据进行均匀抽帧并resize到统一的尺度,然后分别将视频帧送到图片编码器进行编码,得到每个视频帧的表征。
9、作为本专利技术的进一步改进,所述步骤二中构建的表征融合模块是一个多层transformer模型,其中包含自注意力和交叉注意力机制,融合过程中将q个可学习的query作为输入,feature cube作为key和value,通过交叉注意力层,逐步将帧表征融合到q个可学习的query中,并通过query之间的自注意力,完成帧表征的相互融合。
10、作为本专利技术的进一步改进,所述步骤二中使用的静态的注意力掩码为一个维度为(s*t*t)的mask cube,具体为将形状为(m*n*n)的feature cube切分成很多子cube,每个子cube大小为(s*t*t),一共(m/s * n/t * n/t)= q个子立方体,每个可学习的query关注一个子立方体。
11、作为本专利技术的进一步改进,所述步骤二中使用的动态的注意力掩码具体如下:将transformer交叉注意力层的query输出到一个线性层中,将query的隐状态维度从h映射到3,分别表示当前query关注的子立方体在feature cube的三个维度上偏移量,那么下一层transformer在做交叉注意力的时候,关注的子立方体就会按照这个偏移量移动,从而实现动态的注意力掩码,让模型按照需要选择子立方体的位置。
12、作为本专利技术的进一步改进,所述步骤三中进行联合训练的具体方式如下:首先将q-former转换到视频数据领域,分别对应vtc、vtm和vtg,之后依次对vtc、vtm和vtg进行计算。
13、作为本专利技术的进一步改进,所述步骤三中对vtc进行计算的方式为:首先将视频的文本描述经过分词和嵌入层之后,同样输入到表征融合模块,但不进行交叉注意力计算,采取文本cls头对应的token作为文本表征,之后用文本表征分别与视频表征的q个token分别计算余弦相似度,最后取其中最大的作为最终的相似度,然后计算交叉熵损失。
14、作为本专利技术的进一步改进,所述步骤三中对vtm的计算方式为:首先将q个可学习的query和文本token一起送到表征融合模块中,同时进行自注意力和交叉注意力计算,之后取输出的对应可学习query的q个token作为结果,计算平均值,然后经过一个线性层,进行二分类操作,计算交叉熵损失。
15、作为本专利技术的进一步改进,所述步骤三中对vtg的计算方式为:首先将q个可学习的query和文本token一起送到表征融合模块中,同时进行自注意力和交叉注意力计算,让模型执行下一个token预测任务,计算交叉熵损失;
16、其中,进行自注意力和交叉注意力计算时采用因果注意力。
17、本专利技术的有益效果,通过步骤一的设置,便可有效的根据视频的长短选择合适的训练数据,针对性更强,之后通过步骤二的设置,便可有效的实现本文档来自技高网...
【技术保护点】
1.一种服务监管场景下视频表征融合方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中获取feature cube的具体方式为:首先对视频进行预处理,对视频数据进行均匀抽帧并resize到统一的尺度,然后分别将视频帧送到图片编码器进行编码,得到每个视频帧的表征。
3.根据权利要求2所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中构建的表征融合模块是一个多层transformer模型,其中包含自注意力和交叉注意力机制,融合过程中将Q个可学习的Query作为输入,feature cube作为key和value,通过交叉注意力层,逐步将帧表征融合到Q个可学习的Query中,并通过Query之间的自注意力,完成帧表征的相互融合。
4.根据权利要求3所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中使用的静态的注意力掩码为一个维度为(S*T*T)的mask cube,具体为将形状为(M*N*N)的feature cube切分成很多子cube,每个子cube大小为(S*
5.根据权利要求4所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中使用的动态的注意力掩码具体如下:将transformer交叉注意力层的Query输出到一个线性层中,将Query的隐状态维度从H映射到3,分别表示当前Query关注的子立方体在featurecube的三个维度上偏移量,那么下一层transformer在做交叉注意力的时候,关注的子立方体就会按照这个偏移量移动,从而实现动态的注意力掩码,让模型按照需要选择子立方体的位置。
6.根据权利要求5所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤三中进行联合训练的具体方式如下:首先将Q-Former转换到视频数据领域,分别对应VTC、VTM和VTG,之后依次对VTC、VTM和VTG进行计算。
7.根据权利要求6所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤三中对VTC进行计算的方式为:首先将视频的文本描述经过分词和嵌入层之后,同样输入到表征融合模块,但不进行交叉注意力计算,采取文本CLS头对应的token作为文本表征,之后用文本表征分别与视频表征的Q个token分别计算余弦相似度,最后取其中最大的作为最终的相似度,然后计算交叉熵损失。
8.根据权利要求7所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤三中对VTM的计算方式为:首先将Q个可学习的Query和文本token一起送到表征融合模块中,同时进行自注意力和交叉注意力计算,之后取输出的对应可学习Query的Q个token作为结果,计算平均值,然后经过一个线性层,进行二分类操作,计算交叉熵损失。
9.根据权利要求8所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤三中对VTG的计算方式为:首先将Q个可学习的Query和文本token一起送到表征融合模块中,同时进行自注意力和交叉注意力计算,让模型执行下一个token预测任务,计算交叉熵损失;
...【技术特征摘要】
1.一种服务监管场景下视频表征融合方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中获取feature cube的具体方式为:首先对视频进行预处理,对视频数据进行均匀抽帧并resize到统一的尺度,然后分别将视频帧送到图片编码器进行编码,得到每个视频帧的表征。
3.根据权利要求2所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中构建的表征融合模块是一个多层transformer模型,其中包含自注意力和交叉注意力机制,融合过程中将q个可学习的query作为输入,feature cube作为key和value,通过交叉注意力层,逐步将帧表征融合到q个可学习的query中,并通过query之间的自注意力,完成帧表征的相互融合。
4.根据权利要求3所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中使用的静态的注意力掩码为一个维度为(s*t*t)的mask cube,具体为将形状为(m*n*n)的feature cube切分成很多子cube,每个子cube大小为(s*t*t),一共(m/s * n/t * n/t)=q个子立方体,每个可学习的query关注一个子立方体。
5.根据权利要求4所述的服务监管场景下视频表征融合方法,其特征在于:所述步骤二中使用的动态的注意力掩码具体如下:将transformer交叉注意力层的query输出到一个线性层中,将query的隐状态维度从h映射到3,分别表示当前query关注的子立方体在featurecube的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。