一种视频动作识别的方法及设备转让专利

申请号 : CN202310912252.0

文献号 : CN116665110B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 请求不公布姓名

申请人 : 上海蜜度信息技术有限公司

摘要 :

本申请的目的是提供一种视频动作识别的方法及设备,本申请通过输入指定尺寸的视频片段,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,其中,所述目标尺寸由与所述指定尺寸匹配的卷积核确定;基于所述特征张量构建键矩阵、值矩阵以及查询矩阵;基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构;使用所述多头自注意力机制的网络结构对输入的视频片段进行分类和回归,输出动作识别结果,其中,所述动作识别结果包括所述视频片段内的动作分类结果和发生的位置。不需要三维模型也不需要多分支结构去处理三维数据,就可以达到同样甚至更高的精度。能够省去了生成候选通道或者候选锚点的步骤。

权利要求 :

1.一种视频动作识别的方法,其特征在于,所述方法包括:输入指定尺寸的视频片段,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,其中,所述目标尺寸由与所述指定尺寸匹配的卷积核确定;

基于所述特征张量构建键矩阵、值矩阵以及查询矩阵;

基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构;

使用所述多头自注意力机制的网络结构对输入的视频片段进行分类和回归,输出动作识别结果,其中,所述动作识别结果包括所述视频片段内的动作分类结果和发生的位置;

其中,基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构,包括:基于所述键矩阵、值矩阵以及查询矩阵确定目标尺寸的特征表征;

对所述特征表征进行编码操作,得到编码后的张量;

初始化所述视频片段对应的目标张量;

基于初始化后的目标张量的值以及编码后的张量确定第一输出张量的值;

基于所述第一输出张量的值确定解码后的张量;

基于所述解码后的张量构建多头自注意力机制的网络结构的分类分支和回归分支;

其中,基于所述第一输出张量的值确定解码后的张量,包括:步骤a,根据所述第一输出张量的值初始化目标键张量、目标值张量以及目标查询张量;

步骤b,将位置编码加在初始化后的目标键张量和目标查询张量上,将初始化后的目标值张量、加位置编码后的目标键张量以及加位置编码后的目标查询张量输入到多头自注意力机制模块中计算自注意力机制,输出的张量与所述目标张量计算残差;

步骤c,将所述残差作为第二查询张量,将编码后的张量作为第二值张量和第二键张量;

步骤d,将位置编码加在所述第二键张量和第二查询张量上,将所述第二值张量、加位置编码后的第二键张量以及加位置编码后的第二查询张量输入到多头自注意力机制模块以及全连接层中,得到第二输出张量的值;

重复上述步骤a至d的过程,重复指定次数,输出解码后的张量。

2.根据权利要求1所述的方法,其特征在于,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,包括:对所述视频片段进行时间方向上的采样;

使用与所述指定尺寸匹配的卷积核对采样后的视频片段进行卷积运算,得到特征图像;

按照特征图像的特征长度对所述特征图像进行二维转换,得到目标尺寸的特征张量,其中,所述目标尺寸由序列长度和特征长度确定。

3.根据权利要求1所述的方法,其特征在于,基于所述键矩阵、值矩阵以及查询矩阵确定目标尺寸的特征表征,包括:根据所述键矩阵和查询矩阵确定注意力分布矩阵;

将所述注意力分布矩阵与所述值矩阵相乘得到输出张量,按照所述目标尺寸对所述输出张量进行变换尺寸,得到变换后的张量;

对所述变换后的张量使用全连接层以及非线性激活函数提取目标尺寸的特征表征。

4.根据权利要求1所述的方法,其特征在于,对所述特征表征进行编码操作,得到编码后的张量,包括:步骤1,根据所述特征表征确定键张量、查询张量以及值张量;

步骤2,将位置编码加在所述键张量及查询张量上,并将加位置编码后的键张量以及加位置编码后的查询张量以及值张量输入多头自注意力机制模块和全连接层中计算输出张量;

按照指定次数重复步骤1和步骤2,得到编码后的张量。

5.根据权利要求4所述的方法,其特征在于,所述目标张量的形状由所述视频片段的特征长度以及所述视频片段内包含的动作数量确定。

6.根据权利要求5所述的方法,其特征在于,基于初始化后的目标张量的值以及编码后的张量确定第一输出张量的值,包括:根据初始化后的目标张量的值初始化目标键张量、目标值张量以及目标查询张量;

将位置编码加在初始化后的目标键张量和目标查询张量上,将初始化后的目标值张量、加位置编码后的目标键张量以及加位置编码后的目标查询张量输入到多头自注意力机制模块中计算自注意力机制,输出的张量与所述目标张量计算残差;

将所述残差作为第一查询张量,将编码后的张量作为第一值张量和第一键张量;

将位置编码加在所述第一键张量和第一查询张量上,将所述第一值张量、加位置编码后的第一键张量以及加位置编码后的第一查询张量输入到多头自注意力机制模块以及全连接层中,得到第一输出张量的值。

7.根据权利要求6所述的方法,其特征在于,所述方法包括:将初始化后的目标张量作为输入矩阵输入至解码器中,将所述输入矩阵复制成三份,分别作为目标键张量、目标值张量以及目标查询张量。

8.根据权利要求1至7中任一项所述的方法,其特征在于,基于所述解码后的张量构建多头自注意力机制的网络结构的分类分支和回归分支,包括:将所述解码后的张量输入全连接层,得到第一尺寸的特征;

对所述第一尺寸的特征输入全连接层和非线性ReLU层,得到分类分支的输出;

将解码后的张量输入全连接层和非线性ReLU层,得到新的第一尺寸的特征;

将所述新的第一尺寸的特征输入全连接层和非线性ReLU层,得到第二尺寸的特征;

将所述第二尺寸的特征输入全连接层和非线性Sigmoid层,作为回归分支的输出。

9.一种视频动作识别的设备,其特征在于,所述设备包括:一个或多个处理器;以及

存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至8中任一项所述方法的操作。

10.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。

说明书 :

一种视频动作识别的方法及设备

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种视频动作识别的方法及设备。

背景技术

[0002] 随着计算机技术的不断发展,基于人体关键点的动作识别在人机交互、运动分析、智能监控等领域有着广泛的应用。目前,对于视频中动作的检测,大多需要多分支处理三维数据,对数据的处理并不简单。通用的动作检测方式:
[0003] 1)逐帧预测的检测方式:使用深度学习卷积算法将视频以图片帧的形式和光流图的形式分别输入不同的RPN网络提取候选框,再将候选框分别输入如fast RCNN等检测网络得到不同的特征,通过后融合方式融合特征并用动态规划算法得到动作在视频中的路径和时间定位结果。
[0004] 该方式的缺点是:将视频帧视为独立的图片,所以目标检测模型也是独立地使用在不同的视频帧中,在这个过程中模型学习不到时序信息;而且由于时空信息和时序信息被分开训练,导致这两种信息没有办法很好地互相促进彼此的效果。
[0005] 2)借鉴目标检测思路的动作管道检测方式:通过3D卷积串联完成视频片段的特征提取,对于目标检测的候选框做3D延伸,生成对于一段视频的候选动作管道,根据管道内的特征进行动作标签预测。
[0006] 该方式的缺点是:候选框生成算法的输出内容会根据视频片段的长度增加而大幅增加,由于不能端到端学习所以模型并不能找到全局最优,导致该模型对短期和轻微位移动作有效,但对于有大幅度位移的动作效果不好。
[0007] 3)运用Attention的动作管道检测方式:使用3D和2D分支提取时序特征和空间特征,再采用Attention对两个分支提取的特征进行融合,得到特征之间的关系并用动态规划算法得到动作在视频中的路径和时间定位结果。
[0008] 该方式的缺点是:虽然实现了端到端训练,但是两种分支的结构相较于单分支结构花费了两倍的算力,并不能带来很大的准确率的提升,性价比低。

发明内容

[0009] 本申请的一个目的是提供一种视频动作识别的方法及设备,解决现有技术中需要多分支处理三维数据并且需要生成锚点或候选框的问题。
[0010] 根据本申请的一个方面,提供了一种视频动作识别的方法,该方法包括:
[0011] 输入指定尺寸的视频片段,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,其中,所述目标尺寸由与所述指定尺寸匹配的卷积核确定;
[0012] 基于所述特征张量构建键矩阵、值矩阵以及查询矩阵;
[0013] 基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构;
[0014] 使用所述多头自注意力机制的网络结构对输入的视频片段进行分类和回归,输出动作识别结果,其中,所述动作识别结果包括所述视频片段内的动作分类结果和发生的位置。
[0015] 可选地,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,包括:
[0016] 对所述视频片段进行时间方向上的采样;
[0017] 使用与所述指定尺寸匹配的卷积核对采样后的视频片段进行卷积运算,得到特征图像;
[0018] 按照特征图像的特征长度对所述特征图像进行二维转换,得到目标尺寸的特征张量,其中,所述目标尺寸由序列长度和特征长度确定。
[0019] 可选地,基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构,包括:
[0020] 基于所述键矩阵、值矩阵以及查询矩阵确定目标尺寸的特征表征;
[0021] 对所述特征表征进行编码操作,得到编码后的张量;
[0022] 对编码后的张量进行解码操作,得到解码后的张量;
[0023] 基于所述解码后的张量构建多头自注意力机制的网络结构的分类分支和回归分支。
[0024] 可选地,基于所述键矩阵、值矩阵以及查询矩阵确定目标尺寸的特征表征,包括:
[0025] 根据所述键矩阵和查询矩阵确定注意力分布矩阵;
[0026] 将所述注意力分布矩阵与所述值矩阵相乘得到输出张量,按照所述目标尺寸对所述输出张量进行变换尺寸,得到变换后的张量;
[0027] 对所述变换后的张量使用全连接层以及非线性激活函数提取目标尺寸的特征表征。
[0028] 可选地,对所述特征表征进行编码操作,得到编码后的张量,包括:
[0029] 步骤1,根据所述特征表征确定键张量、查询张量以及值张量;
[0030] 步骤2,将位置编码加在所述键张量及查询张量上,并将加位置编码后的键张量以及加位置编码后的查询张量以及值张量输入多头自注意力机制模块和全连接层中计算输出张量;
[0031] 按照指定次数重复步骤1和步骤2,得到编码后的张量。
[0032] 可选地,对编码后的张量进行解码操作,得到解码后的张量,包括:
[0033] 初始化所述视频片段对应的目标张量,其中,所述目标张量的形状由所述视频片段的特征长度以及所述视频片段内包含的动作数量确定;
[0034] 基于初始化后的目标张量的值以及编码后的张量确定第一输出张量的值;
[0035] 基于所述第一输出张量的值确定解码后的张量。
[0036] 可选地,基于初始化后的目标张量的值以及编码后的张量确定第一输出张量的值,包括:
[0037] 根据初始化后的目标张量的值初始化目标键张量、目标值张量以及目标查询张量;
[0038] 将位置编码加在初始化后的目标键张量和目标查询张量上,将初始化后的目标值张量、加位置编码后的目标键张量以及加位置编码后的目标查询张量输入到多头自注意力机制模块中计算自注意力机制,输出的张量与所述目标张量计算残差;
[0039] 将所述残差作为第一查询张量,将编码后的张量作为第一值张量和第一键张量;
[0040] 将位置编码加在所述第一键张量和第一查询张量上,将所述第一值张量、加位置编码后的第一键张量以及加位置编码后的第一查询张量输入到多头自注意力机制模块以及全连接层中,得到第一输出张量的值。
[0041] 可选地,基于所述第一输出张量的值确定解码后的张量,包括:
[0042] 步骤a,根据所述第一输出张量的值初始化目标键张量、目标值张量以及目标查询张量;
[0043] 步骤b,将位置编码加在初始化后的目标键张量和目标查询张量上,将初始化后的目标值张量、加位置编码后的目标键张量以及加位置编码后的目标查询张量输入到多头自注意力机制模块中计算自注意力机制,输出的张量与所述目标张量计算残差;
[0044] 步骤c,将所述残差作为第二查询张量,将编码后的张量作为第二值张量和第二键张量;
[0045] 步骤d,将位置编码加在所述第二键张量和第二查询张量上,将所述第二值张量、加位置编码后的第二键张量以及加位置编码后的第二查询张量输入到多头自注意力机制模块以及全连接层中,得到第二输出张量的值;
[0046] 重复上述步骤a至d的过程,重复指定次数,输出解码后的张量。
[0047] 可选地,所述方法包括:
[0048] 将初始化后的目标张量作为输入矩阵输入至解码器中,将所述输入矩阵复制成三份,分别作为目标键张量、目标值张量以及目标查询张量。
[0049] 可选地,基于所述解码后的张量构建多头自注意力机制的网络结构的分类分支和回归分支,包括:
[0050] 将所述解码后的张量输入全连接层,得到第一尺寸的特征;
[0051] 对所述第一尺寸的特征输入全连接层和非线性ReLU层,得到分类分支的输出;
[0052] 将解码后的张量输入全连接层和非线性ReLU层,得到新的第一尺寸的特征;
[0053] 将所述新的第一尺寸的特征输入全连接层和非线性ReLU层,得到第二尺寸的特征;
[0054] 将所述第二尺寸的特征输入全连接层和非线性Sigmoid层,作为回归分支的输出。
[0055] 根据本申请另一个方面,还提供一种视频动作识别的设备,该设备包括:
[0056] 一个或多个处理器;以及
[0057] 存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
[0058] 根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
[0059] 与现有技术相比,本申请通过输入指定尺寸的视频片段,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,其中,所述目标尺寸由与所述指定尺寸匹配的卷积核确定;基于所述特征张量构建键矩阵、值矩阵以及查询矩阵;基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构;使用所述多头自注意力机制的网络结构对输入的视频片段进行分类和回归,输出动作识别结果,其中,所述动作识别结果包括所述视频片段内的动作分类结果和发生的位置。从而将视频分成定长的管道,利用自注意力机制学习视频内帧和帧之间的时序信息和空间信息,完成分类和回归任务。相比于传统模型,该方法具有以下两个优势:可以利用自注意力机制学习帧和帧之间的关系,并不需要三维模型也不需要多分支结构去处理三维数据,就可以达到同样甚至更高的精度。另外,能够省去了生成候选通道或者候选锚点的步骤,使得模型可以处理更长时间的数据。

附图说明

[0060] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0061] 图1示出根据本申请的一个方面提供的一种视频动作识别的方法流程示意图;
[0062] 图2示出本申请一实施例中对视频片段进行数据处理和识别的框架示意图。
[0063] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0064] 下面结合附图对本申请作进一步详细描述。
[0065] 在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器 (例如中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
[0066] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (Random Access Memory,RAM) 和/或非易失性内存等形式,如只读存储器 (Read Only Memory,ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
[0067] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (Phase‑Change RAM,PRAM)、静态随机存取存储器 (Static Random Access Memory,SRAM)、动态随机存取存储器 (Dynamic Random Access Memory,DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (Electrically Erasable Programmable Read‑Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (Compact Disc Read‑Only Memory,CD‑ROM)、数字多功能光盘 (Digital Versatile Disk,DVD) 或其他光学存储、 磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
[0068] 图1示出根据本申请的一个方面提供的一种视频动作识别的方法流程示意图,该方法包括:步骤S11 步骤S14,其中,~
[0069] 步骤S11,输入指定尺寸的视频片段,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,其中,所述目标尺寸由与所述指定尺寸匹配的卷积核确定;在此,指定尺寸是指跟需要构建的用于视频动作识别的网络结构的输入相匹配的尺寸,比如后续构建的网络结构中使用了限制模型,而限制模型输入尺寸是为3*224*224,则输入长度为32帧、长宽为224的视频片段,从而可以更好地利用vivit的预训练权重,获得更好的性能并减少训练所需的时间。使用卷积核对输入的视频片段进行处理,且经过卷积核后得到目标尺寸的特征张量,该目标尺寸是由卷积核尺寸和视频片段的尺寸确定,比如使用2*16*16尺寸的卷积核、786通道的3D卷积对输入的尺寸为视频长度为32帧、长宽为224的视频片段进行卷积处理,再进行特征提取得到目标尺寸为784*768的特征张量。
[0070] 步骤S12,基于所述特征张量构建键矩阵、值矩阵以及查询矩阵;在此,对输入的三个目标尺寸的特征张量进行线性变换并改变形状,其中,线性变换时采用线性层,即全连接层,得到三个矩阵,成为键(key)矩阵、值(value)矩阵和查询(query)矩阵,这三个矩阵的形状为12*784*64,其中,12为注意力机制的注意力头,注意力矩阵是查询矩阵和键矩阵进行点积运算得到的,再乘值矩阵得到输出张量,形状为784*768,本申请实施例中采用12个注意力矩阵,因此输出为12*784*64,得到多头注意力机制。
[0071] 步骤S13,基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构;在此,利用得到的键矩阵、值矩阵以及查询矩阵进行构建二维的模型,该二维模型为多头自注意力机制的网络结构,该网络结构包括多头自注意力机制以及全连接层,对全连接层以及多头自注意力机制进行数据处理和结构连接,构建出的网络结构对视频片段进行数据处理,进行检测视频中动作。
[0072] 步骤S14,使用所述多头自注意力机制的网络结构对输入的视频片段进行分类和回归,输出动作识别结果,其中,所述动作识别结果包括所述视频片段内的动作分类结果和发生的位置。在此,利用视频中的空间特征和时序特征进行建模,构建出的多头自注意力机制的网络结构对提取到的视频片段的特征进行分类和回归,输出当前视频片段内的动作分类结果和发生的位置。
[0073] 在本申请一实施例中,在步骤S11中,对所述视频片段进行时间方向上的采样;使用与所述指定尺寸匹配的卷积核对采样后的视频片段进行卷积运算,得到特征图像;按照特征图像的特征长度对所述特征图像进行二维转换,得到目标尺寸的特征张量,其中,所述目标尺寸由序列长度和特征长度确定。在此,对输入的视频片段进行时间方向上的采样,比如对尺寸为32帧、长宽为224的视频片段进行采样,得到长度为8帧,长宽为224的视频片段;使用2*16*16尺寸的卷积核,786通道的3D卷积对得到的采样后的视频数据进行卷积运算,获取到尺寸为4*14*14*768的特征图,该特征图的特征为768个特征值;对该三维的特征图进行转换形状,转换为二维特征,得到784*768的特征图,将一个特征图作为一个特征张量,得到目标尺寸为784*768的特征张量,其中,784表示序列长度,768表示这段视频的特征长度,784=4*14*14,保持768不变,铺平前三个维度,从而得到多头注意力机制能够接受的二维张量的输入。
[0074] 在步骤S13中,基于所述键矩阵、值矩阵以及查询矩阵确定目标尺寸的特征表征;对所述特征表征进行编码操作,得到编码后的张量;
[0075] 对编码后的张量进行解码操作,得到解码后的张量;基于所述解码后的张量构建多头自注意力机制的网络结构的分类分支和回归分支。在此,如图2所示,对视频片段进行特征提取后,得到特征序列,基于该特征序列得到键矩阵、值矩阵以及查询矩阵,利用得到的矩阵以及位置编码进行多头自注意力机制的构建,在编码器(Encoder)中进行编码操作,输出编码后的张量,在解码器(Decoder)中进行解码操作,将编码后的张量与目标张量进行解码处理,进而完成分类分支和回归分支,输出动作识别结果。
[0076] 接上述实施例,根据所述键矩阵和查询矩阵确定注意力分布矩阵;将所述注意力分布矩阵与所述值矩阵相乘得到输出张量,按照所述目标尺寸对所述输出张量进行变换尺寸,得到变换后的张量;对所述变换后的张量使用全连接层以及非线性激活函数提取目标尺寸的特征表征。在此,多头自注意力机制的步骤:1)对输入的三个尺寸为784*768的张量进行线性变换并改变形状,得到三个矩阵,成为键矩阵、值矩阵以及查询矩阵;2)查询矩阵和键矩阵计算得到点积,将结果除以一个缩放因子8,接着进行神经网络激活函数(SoftMax)操作和防神经网络过拟合(dropout)操作,得到一个注意力分布矩阵,形状为12*784*784;将得到的注意力分布矩阵与值矩阵相乘,以得到输出张量,形状为12*784*64,将输出张量的尺寸变换为784*768,具体做法是保持784这一维度不变,将剩下两个维度按照
12*64=768进行铺平。接着,再进行位置全连接层步骤,对输入的尺寸为784*768特征图使用两个全连接层和一个非线性激活ReLU激活函数提取尺寸为784*768的特征表征。
[0077] 对数据进行转换处理,包括编码器(Encoder)的编码操作和解码器(Decoder)的解码操作,其中编码操作和解码操作具体如下:
[0078] 在本申请一实施例中,步骤1,根据所述特征表征确定键张量、查询张量以及值张量;步骤2,将位置编码加在所述键张量及查询张量上,并将加位置编码后的键张量以及加位置编码后的查询张量以及值张量输入多头自注意力机制模块和全连接层中计算输出张量;按照指定次数重复步骤1和步骤2,得到编码后的张量。在此,对提取到的特征表征进行变换处理,变换时包括编码操作和解码操作,具体的编码操作如下:1)将特征提取到的特征表征作为键张量、值张量以及查询张量,这三个张量的形状为784*768;2)将位置编码加在键张量和查询张量上,并将三个张量输入多头自注意力机制模块和全连接层中计算输出张量,得到784*768的输出张量;重复上述步骤1)和步骤2)进行12次。
[0079] 在本申请一实施例中,初始化所述视频片段对应的目标张量,其中,所述目标张量的形状由所述视频片段的特征长度以及所述视频片段内包含的动作数量确定;基于初始化后的目标张量的值以及编码后的张量确定第一输出张量的值;基于所述第一输出张量的值确定解码后的张量。在此,基于视频片段获得目标张量,对该目标张量进行初始化,从而可以利用初始化后的目标张量与编码后的张量来确定第一次初始化后的输出张量的值,基于第一次初始化后的值再继续进行初始化,进而最终得到需要的输出张量。具体过程如下:
[0080] 根据初始化后的目标张量的值初始化目标键张量、目标值张量以及目标查询张量;将位置编码加在初始化后的目标键张量和目标查询张量上,将初始化后的目标值张量、加位置编码后的目标键张量以及加位置编码后的目标查询张量输入到多头自注意力机制模块中计算自注意力机制,输出的张量与所述目标张量计算残差;将所述残差作为第一查询张量,将编码后的张量作为第一值张量和第一键张量;将位置编码加在所述第一键张量和第一查询张量上,将所述第一值张量、加位置编码后的第一键张量以及加位置编码后的第一查询张量输入到多头自注意力机制模块以及全连接层中,得到第一输出张量的值。在此,初始化与视频片段对应的输入矩阵,比如视频片段中最多包含100个人物动作,则步骤3)初始化形状为100*768的输入矩阵,768表示嵌入维度,步骤4)将输入矩阵作为目标张量,将得到的目标张量的值初始化目标键张量、目标值张量以及目标查询张量,这三个张量的形状为100*768;步骤5)将位置编码加在步骤4)得到的目标键张量和目标查询张量上,将编码后的目标键张量、编码后的目标查询张量以及目标值张量输入多头自注意力机制(Multi‑head Attention)模块计算自注意力机制(self‑attention)输出张量,形状为100*
768,计算self‑attention输出张量与步骤3)中目标张量的残差;步骤6)将步骤5)中得到的残差作为查询张量,该查询张量为第一查询张量,是第一次进行初始化后进行上述步骤后得到的新的查询张量,第一查询张量形状为100*768,将编码操作中步骤2)中得到的输出张量作为新的值张量和新的键张量,即第一值张量和第一键张量,这两个张量的形状为784*
768,将以上三个张量输入Multi‑head Attention模块和位置全连接层计算输出张量,得到尺寸为100*768的输出张量,该输出张量为第一输出张量,是对上述输入随机初始化后的输出。
[0081] 其中,将初始化后的目标张量作为输入矩阵输入至解码器中,将所述输入矩阵复制成三份,分别作为目标键张量、目标值张量以及目标查询张量。在此,初始化的输入矩阵作为解码器的输入,将输入矩阵复制三份,分别作为目标键张量、目标值张量和目标查询张量,形状也和输入矩阵保持一致,为100*768。
[0082] 继续接上述实施例,步骤a,根据所述第一输出张量的值初始化目标键张量、目标值张量以及目标查询张量;步骤b,将位置编码加在初始化后的目标键张量和目标查询张量上,将初始化后的目标值张量、加位置编码后的目标键张量以及加位置编码后的目标查询张量输入到多头自注意力机制模块中计算自注意力机制,输出的张量与所述目标张量计算残差;步骤c,将所述残差作为第二查询张量,将编码后的张量作为第二值张量和第二键张量;步骤d,将位置编码加在所述第二键张量和第二查询张量上,将所述第二值张量、加位置编码后的第二键张量以及加位置编码后的第二查询张量输入到多头自注意力机制模块以及全连接层中,得到第二输出张量的值;重复上述步骤a至d的过程,重复指定次数,输出解码后的张量。在此,步骤a,根据步骤6)或步骤c中得到的输出张量的值初始化目标键张量、目标值张量和目标查询张量,这三个张量的形状为100*768;步骤b,将步骤4)中得到的三个张量输入Multi‑head Attention模块计算self‑attention输出张量,形状为100*768,计算self‑attention输出张量与步骤3)中目标张量的残差;步骤c,将步骤5)中得到的残差作为第二查询张量,形状为100*768,步骤2)中得到的输出张量作为第二值向量和第二键向量,这两个张量的形状为784*768,将以上三个张量输入Multi‑head Attention模块和位置全连接层计算输出张量,得到尺寸为100*768的输出张量,该输出张量为第二输出张量;步骤d,按照指定次数重复步骤a至步骤c,比如一共五次,得到100*768的输出张量。需要说明的是,步骤4的输入为随机初始化,步骤a的输入为步骤6的输出,通过指定次数的重复步骤执行可以获取到更高级别的语义特征。
[0083] 在本申请一实施例中,将所述解码后的张量输入全连接层,得到第一尺寸的特征;对所述第一尺寸的特征输入全连接层和非线性ReLU层,得到分类分支的输出;将解码后的张量输入全连接层和非线性ReLU层,得到新的第一尺寸的特征;将所述新的第一尺寸的特征输入全连接层和非线性ReLU层,得到第二尺寸的特征;将所述第二尺寸的特征输入全连接层和非线性Sigmoid层,作为回归分支的输出。在此,进行后处理操作:步骤A,将上述步骤d中得到的张量输入全连接层,输入维度为768,输出维度为1536,得到尺寸为100*1536的特征,可定为第一尺寸的特征;步骤B,将步骤A中得到的第一尺寸的特征输入全连接层(输入维度为1536,输出维度为81)和非线性ReLU层得到尺寸为100*81的结果,作为分类分支的输出;步骤C,将上述步骤d中得到的张量输入全连接层(输入维度为768,输出维度为1536)和非线性ReLU层得到尺寸为100*1536的特征;步骤D,将步骤C中得到的第二尺寸的特征输入全连接层(输入维度为1536,输出维度为768)和非线性ReLU层得到尺寸为100*768的特征,该特征为第二尺寸的特征;步骤E,将步骤D中得到的第二尺寸的特征输入全连接层(输入维度为768,输出维度为4)和非线性Sigmoid层得到尺寸为100*4的结果,作为回归分支的输出。
[0084] 利用本申请所述的方法,对数据进行处理以及构建对应的网络结构,将视频分成定长的管道, 利用Multi‑Head Attention学习视频内,帧和帧之间的时序信息和空间信息,完成分类和回归任务。相比于传统模型,该模型具有以下两个优势:可以利用注意力机制学习帧和帧之间的关系,并不需要三维模型也不需要多分支结构去处理三维数据,就可以达到同样甚至更高的精度。另外,能够省去了生成候选通道或者候选锚点的步骤,使得模型可以处理更长时间的数据。
[0085] 此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种视频动作识别的方法。
[0086] 在本申请一实施例中,还提供了一种视频动作识别的设备,所述设备包括:
[0087] 一个或多个处理器;以及
[0088] 存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
[0089] 例如,计算机可读指令在被执行时使所述一个或多个处理器:
[0090] 输入指定尺寸的视频片段,使用卷积核对所述视频片段进行特征提取,得到目标尺寸的特征张量,其中,所述目标尺寸由与所述指定尺寸匹配的卷积核确定;
[0091] 基于所述特征张量构建键矩阵、值矩阵以及查询矩阵;
[0092] 基于所述键矩阵、值矩阵以及查询矩阵构建多头自注意力机制的网络结构;
[0093] 使用所述多头自注意力机制的网络结构对输入的视频片段进行分类和回归,输出动作识别结果,其中,所述动作识别结果包括所述视频片段内的动作分类结果和发生的位置。
[0094] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
[0095] 需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0096] 另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
[0097] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。