视频行为识别方法和装置、电子设备、存储介质、产品与流程

文档序号:17928702发布日期:2019-06-15 00:37阅读:232来源:国知局
视频行为识别方法和装置、电子设备、存储介质、产品与流程

本申请涉及计算机视觉技术,尤其是一种视频行为识别方法和装置、电子设备、存储介质、产品。



背景技术:

视频行为识别,通俗来讲就是给出一段视频,来判断人或者感兴趣的物体在进行什么行为。行为识别是计算机视觉的一个基本问题。进行视频行为识别的原因包括:一方面,人类非常擅长解决行为识别任务,人在日程生活中需要识别和预测周边人的行为如走路、跑、体育活动等等;另一方面,这个任务有非常多的应用,比如监控视频、互联网的视频检索处理、人机交互等非常多领域有非常多的应用。



技术实现要素:

本申请实施例提供的一种视频行为识别方法和装置、电子设备、存储介质、产品。

根据本申请实施例的一个方面,提供的一种视频行为识别方法,包括:

对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得所述视频流对应的转移矩阵,所述视频特征信息包括至少两个图像特征信息;

基于所述转移矩阵和所述视频流中各视频图像获得压缩视频数据;

基于所述压缩视频数据确定所述视频流对应的行为识别结果。

可选地,在本申请上述任一方法实施例中,所述视频特征信息对应的维度包括:视频帧数量维度和通道数维度;

所述对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得所述视频流对应的转移矩阵,包括:

对所述视频特征信息在所述视频帧数量维度和/或所述通道数维度上进行压缩处理,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一方法实施例中,所述对所述视频特征信息在所述视频帧数量维度上进行压缩处理,获得所述视频流对应的转移矩阵,包括:

基于至少一个卷积层对所述视频特征信息在所述视频帧数量维度进行压缩处理,得到所述视频帧数量变更后的视频特征信息;

对所述视频帧数量变更后的视频特征信息进行归一化处理,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一方法实施例中,所述对所述视频特征信息在所述通道数维度上进行压缩处理,获得所述视频流对应的转移矩阵,包括:

基于至少一个卷积层对所述视频特征信息在所述通道数维度进行压缩处理,得到所述通道数变更后的视频特征信息;

对所述通道数变更后的视频特征信息进行归一化处理,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一方法实施例中,所述对所述视频特征信息在所述视频帧数量维度和所述通道数维度上进行压缩处理,获得所述视频流对应的转移矩阵,包括:

基于至少一个卷积层对所述视频特征信息在所述通道数维度进行压缩处理,得到所述通道数变更后的第一视频特征信息;

基于至少一个卷积层对所述通道数变更后的第一视频特征信息在所述视频帧数量维度进行压缩处理,得到所述视频帧数量变更后的第二视频特征信息;

基于所述通道数变更后的第一视频特征信息和所述视频帧数量变更后的第二视频特征信息,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一方法实施例中,所述基于所述通道数变更后的第一视频特征信息和所述视频帧数量变更后的第二视频特征信息,获得所述视频流对应的转移矩阵,包括:

对所述通道数变更后的第一视频特征信息和所述视频帧数量变更后的第二视频特征信息进行矩阵乘法,获得中间矩阵;

对所述中间矩阵按行进行归一化处理,获得所述转移矩阵。

可选地,在本申请上述任一方法实施例中,所述基于所述转移矩阵和所述视频流中各视频图像获得压缩视频数据,包括:

对所述视频流中各视频图像构成的矩阵和所述转移矩阵执行矩阵乘法,获得压缩视频数据。

可选地,在本申请上述任一方法实施例中,所述对所述视频流中各视频图像构成的矩阵和所述转移矩阵执行矩阵乘法,获得压缩视频数据之前,还包括:

对所述视频流中各视频图像构成的矩阵进行重构处理,得到重构矩阵,所述重构矩阵包括视频维度和视频帧数量维度,所述视频维度中每个元素包括各通道对应的所有视频图像;

所述对所述视频流中各视频图像构成的矩阵和所述转移矩阵执行矩阵乘法,获得压缩视频数据,包括:

对所述重构矩阵和所述转移矩阵执行矩阵乘法,获得压缩视频数据。

可选地,在本申请上述任一方法实施例中,所述对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得所述视频流对应的转移矩阵之前,还包括:

基于特征提取网络对所述视频流中各帧视频图像进行特征提取,获得至少两个图像特征信息;

基于所述至少两个图像特征信息获得所述视频特征信息。

可选地,在本申请上述任一方法实施例中,所述基于所述压缩视频数据确定所述视频流对应的行为识别结果,包括:

基于视频行为识别模型对所述压缩视频数据进行处理,获得所述视频流对应的行为识别结果;或,

将压缩视频数据发送到服务器端,在所述服务器端基于视频行为识别模型对所述压缩视频数据进行处理,获得所述视频流对应的行为识别结果;从所述服务器端获得所述视频流对应的行为识别结果。

可选地,在本申请上述任一方法实施例中,所述方法基于综合模型实现,所述综合模型包括特征提取网络、时序蒸馏网络和视频行为识别模型;

所述对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得所述视频流对应的转移矩阵之前,还包括:

基于样本视频流训练所述综合模型;所述样本视频流具有标注行为识别结果。

可选地,在本申请上述任一方法实施例中,所述基于样本视频流训练所述综合模型,包括:

经所述特征提取网络对所述样本视频流中各帧样本视频图像进行特征提取,得到样本视频特征信息;

经所述时序蒸馏网络对所述样本视频特征信息在至少一个维度上进行压缩处理,获得所述样本视频流对应的样本转移矩阵,基于所述样本转移矩阵和所述样本视频流获得样本压缩视频数据;

经所述视频行为识别模型对所述样本压缩视频数据进行处理,获得所述样本视频流对应的预测行为识别结果;

基于所述预测行为识别结果和所述标注行为识别结果,训练所述特征提取网络、所述时序蒸馏网络和所述视频行为识别模型。

可选地,在本申请上述任一方法实施例中,所述基于所述预测行为识别结果和所述标注行为识别结果,训练所述特征提取网络、所述时序蒸馏网络和所述视频行为识别模型,包括:

基于所述预测行为识别结果和所述标注行为识别结果获得网络损失;

基于所述网络损失确定所述综合模型中每个网络层的梯度信息;

基于所述每个网络层的梯度信息分别调整所述每个网络层的网络参数。

可选地,在本申请上述任一方法实施例中,所述视频行为识别模型中的至少一个浅层网络层的网络结构与所述特征提取网络的网络结构相同;

所述基于所述每个网络层的梯度信息分别调整所述每个网络层的网络参数,包括:

基于所述特征提取网络中各网络层的梯度信息和所述视频行为识别模型的至少一个浅层网络层的梯度信息作为共享梯度信息;

基于所述共享梯度信息调整所述视频行为识别模型中的至少一个浅层网络层和所述特征提取网络中各网络层的网络参数,使所述视频行为识别模型中的至少一个浅层网络层与所述特征提取网络共享网络参数。

可选地,在本申请上述任一方法实施例中,所述基于所述每个网络层的梯度信息分别调整所述每个网络层的网络参数,还包括:

基于所述时序蒸馏网络中各网络层的梯度信息调整所述时序蒸馏网络中各网络层的网络参数;

基于所述视频行为识别模型中至少一个深层网络层的梯度信息调整所述视频行为识别模型中至少一个深层网络层的网络参数。

根据本申请实施例的另一个方面,提供的一种视频行为识别装置,包括:

维度压缩单元,用于对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得所述视频流对应的转移矩阵,所述视频特征信息包括至少两个图像特征信息;

视频压缩单元,用于基于所述转移矩阵和所述视频流中各视频图像获得压缩视频数据;

结果识别单元,用于基于所述压缩视频数据确定所述视频流对应的行为识别结果。

可选地,在本申请上述任一装置实施例中,所述视频特征信息对应的维度包括:视频帧数量维度和通道数维度;

所述维度压缩单元,用于对所述视频特征信息在所述视频帧数量维度和/或所述通道数维度上进行压缩处理,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一装置实施例中,所述维度压缩单元在对所述视频特征信息在所述视频帧数量维度上进行压缩处理,获得所述视频流对应的转移矩阵时,具体用于基于至少一个卷积层对所述视频特征信息在所述视频帧数量维度进行压缩处理,得到所述视频帧数量变更后的视频特征信息;对所述视频帧数量变更后的视频特征信息进行归一化处理,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一装置实施例中,所述维度压缩单元在对所述视频特征信息在所述通道数维度上进行压缩处理,获得所述视频流对应的转移矩阵时,具体用于基于至少一个卷积层对所述视频特征信息在所述通道数维度进行压缩处理,得到所述通道数变更后的视频特征信息;对所述通道数变更后的视频特征信息进行归一化处理,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一装置实施例中,所述维度压缩单元在对所述视频特征信息在所述视频帧数量维度和所述通道数维度上进行压缩处理,获得所述视频流对应的转移矩阵时,具体用于基于至少一个卷积层对所述视频特征信息在所述通道数维度进行压缩处理,得到所述通道数变更后的第一视频特征信息;基于至少一个卷积层对所述通道数变更后的第一视频特征信息在所述视频帧数量维度进行压缩处理,得到所述视频帧数量变更后的第二视频特征信息;基于所述通道数变更后的第一视频特征信息和所述视频帧数量变更后的第二视频特征信息,获得所述视频流对应的转移矩阵。

可选地,在本申请上述任一装置实施例中,所述维度压缩单元在基于所述通道数变更后的第一视频特征信息和所述视频帧数量变更后的第二视频特征信息,获得所述视频流对应的转移矩阵时,用于对所述通道数变更后的第一视频特征信息和所述视频帧数量变更后的第二视频特征信息进行矩阵乘法,获得中间矩阵;对所述中间矩阵按行进行归一化处理,获得所述转移矩阵。

可选地,在本申请上述任一装置实施例中,所述视频压缩单元,用于对所述视频流中各视频图像构成的矩阵和所述转移矩阵执行矩阵乘法,获得压缩视频数据。

可选地,在本申请上述任一装置实施例中,所述装置还包括:

重构单元,用于对所述视频流中各视频图像构成的矩阵进行重构处理,得到重构矩阵,所述重构矩阵包括视频维度和视频帧数量维度,所述视频维度中每个元素包括各通道对应的所有视频图像;

所述视频压缩单元,用于对所述重构矩阵和所述转移矩阵执行矩阵乘法,获得压缩视频数据。

可选地,在本申请上述任一装置实施例中,所述装置还包括:

特征提取单元,用于基于特征提取网络对所述视频流中各帧视频图像进行特征提取,获得至少两个图像特征信息;基于所述至少两个图像特征信息获得所述视频特征信息。

可选地,在本申请上述任一装置实施例中,所述结果识别单元,用于基于视频行为识别模型对所述压缩视频数据进行处理,获得所述视频流对应的行为识别结果;或,

将压缩视频数据发送到服务器端,在所述服务器端基于视频行为识别模型对所述压缩视频数据进行处理,获得所述视频流对应的行为识别结果;从所述服务器端获得所述视频流对应的行为识别结果。

可选地,在本申请上述任一装置实施例中,所述方法基于综合模型实现,所述综合模型包括特征提取网络、时序蒸馏网络和视频行为识别模型;

所述装置还包括:

模型训练单元,用于基于样本视频流训练所述综合模型;所述样本视频流具有标注行为识别结果。

可选地,在本申请上述任一装置实施例中,所述模型训练单元,用于经所述特征提取网络对所述样本视频流中各帧样本视频图像进行特征提取,得到样本视频特征信息;经所述时序蒸馏网络对所述样本视频特征信息在至少一个维度上进行压缩处理,获得所述样本视频流对应的样本转移矩阵,基于所述样本转移矩阵和所述样本视频流获得样本压缩视频数据;经所述视频行为识别模型对所述样本压缩视频数据进行处理,获得所述样本视频流对应的预测行为识别结果;基于所述预测行为识别结果和所述标注行为识别结果,训练所述特征提取网络、所述时序蒸馏网络和所述视频行为识别模型。

可选地,在本申请上述任一装置实施例中,所述模型训练单元在基于所述预测行为识别结果和所述标注行为识别结果,训练所述特征提取网络、所述时序蒸馏网络和所述视频行为识别模型时,用于基于所述预测行为识别结果和所述标注行为识别结果获得网络损失;基于所述网络损失确定所述综合模型中每个网络层的梯度信息;基于所述每个网络层的梯度信息分别调整所述每个网络层的网络参数。

可选地,在本申请上述任一装置实施例中,所述视频行为识别模型中的至少一个浅层网络层的网络结构与所述特征提取网络的网络结构相同;

所述模型训练单元在基于所述每个网络层的梯度信息分别调整所述每个网络层的网络参数时,用于基于所述特征提取网络中各网络层的梯度信息和所述视频行为识别模型的至少一个浅层网络层的梯度信息作为共享梯度信息;基于所述共享梯度信息调整所述视频行为识别模型中的至少一个浅层网络层和所述特征提取网络中各网络层的网络参数,使所述视频行为识别模型中的至少一个浅层网络层与所述特征提取网络共享网络参数。

可选地,在本申请上述任一装置实施例中,所述模型训练单元在基于所述每个网络层的梯度信息分别调整所述每个网络层的网络参数时,还用于基于所述时序蒸馏网络中各网络层的梯度信息调整所述时序蒸馏网络中各网络层的网络参数;基于所述视频行为识别模型中至少一个深层网络层的梯度信息调整所述视频行为识别模型中至少一个深层网络层的网络参数。

根据本申请实施例的又一个方面,提供的一种电子设备,包括处理器,所述处理器包括如上任意一项实施例所述的视频行为识别装置。

根据本申请实施例的还一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;

以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上任意一项实施例所述视频行为识别方法的操作。

根据本申请实施例的再一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,所述指令被执行时执行如上任意一项实施例所述视频行为识别方法的操作。

根据本申请实施例的又一个方面,提供的一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现如上任意一项实施例所述视频行为识别方法的指令。

基于本申请上述实施例提供的一种视频行为识别方法和装置、电子设备、存储介质、产品,对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得视频流对应的转移矩阵;基于转移矩阵和视频流中各视频图像获得压缩视频数据;基于压缩视频数据确定视频流对应的行为识别结果,通过压缩得到的转移矩阵对视频流中的时序依赖关系进行建模,提高了视频行为识别的准确性。

下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1为本申请实施例提供的视频行为识别方法的一种流程图。

图2为本申请实施例提供的视频行为识别方法的一个具体示例的实现过程结构示意图。

图3为本申请实施例提供的视频行为识别方法中获得转移矩阵的一个具体示例。

图4为本申请实施例提供的视频行为识别装置的一个结构示意图。

图5为适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

近年以来,现有的视频识别方法,可以主要分为两类:基于二维卷积网络(2dcnns)实现或基于三维卷积神经网络(3dcnns)实现。

在第一类算法中,视频数据会直接被采样作独立的视频帧,单独输入二维卷积神经网络进行每一帧的特征提取,然后再将所有视频帧的输出预测进行平均操作。再更进一步的做法是,为了一定程度上捕捉到视频中帧与帧之间的时序联系,可以将二维卷积神经网络的中间特征在时序上聚合与平均,也可以将rgb输入与其他输入流比如光流(opticalflow)或者rgb帧差(rgbdifference)进行融合预测(predictionfusion)。

然而,二维卷积神经网络天生存在至少两个缺陷:首先,tsn算法(目前基于二维卷积神经网络的视频行为识别效果最好的算法)倾向于把视频当作一个视频帧袋(bagofframes)进行处理,隐性的忽略掉了视频中帧与帧之间的顺序信息。其次,由于帧与帧之间的特征是通过二维卷积神经网络单独提取,哪怕使用了一些时序模型如循环神经网络或者时序上的特征聚合,二维卷积神经网络天生便缺乏捕捉长期时序依赖信息的能力。

在第二类算法中,二维卷积神经网络被拓展成为了三维卷积神经网络。三维卷积神经网络通过三维卷积操作,对一段连续的视频帧片段进行统一的特征提取,一定程度上改善了二维卷积神经网络时序上建模的缺陷。以目前所有视频行为识别算法中效果最好的膨胀三维卷积神经网络(inflated3dconvnet,i3d)为例:i3d是通过将二维卷积神经网络(inceptionv1)进行膨胀,实现了将二维卷积神经在大规模图片数据集(imagenet)等上的语义知识迁移到三维卷积神经网络上来。在视频行为识别任务上,三维卷积神经网络效果远胜于二维卷积神经网络。

然而,纵使如今gpu并行计算大大加速了卷积神经网络的训练与预测过程,三维卷积神经网络的计算依然会消耗相当长的时间。这主要是由于三维卷积神经网络本身参数量相较于同结构二维卷积神经网络更多,并且视频数据本身处理所需的最少数据量远远多于图片数据。以膨胀三维卷积神经网络为例,在长度为64帧的训练片段上,即训练时神经网络输入的最少单位为长度为64的视频帧序列。同时,以当前被广泛接受的kinetics数据集为例,训练数据约有20万个视频,训练时一个训练周期(epoch)所耗时间约为40小时左右(gpu配置为8路titanxp)。通常一次训练过程会长达接近一周。除此以外,在训练完成后的,测试阶段,膨胀三维卷积神经网络输入为长度为250的视频帧序列,即整个视频。预测效率亦十分低下。

而一旦减少输入视频行为识别网络的视频帧数,视频行为识别模型的识别准确率便会有明显的精度衰减。此外,考虑到视频行为识别任务所需要消耗的大量计算资源,在实际应用场景中,此类任务只能部署到图形服务器或者云端大规模集群上。若需要实际工程化,还必须考虑到从用户端到服务器云端的数据传输耗时。而三维卷积神经网络需要传输与输入较长的视频片断,带来较大的带宽压力与传输成本。由此可见,现有的视频行为识别算法在部署到云端服务的实际场景下,效率依然相较低下,迫切需要改进。为解决现有技术中视频行为识别方法的缺点,本申请提出以下技术方案。

图1为本申请实施例提供的视频行为识别方法的一种流程图。如图1所示,该实施例方法包括:

步骤110,对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得视频流对应的转移矩阵。

其中,视频特征信息包括至少两个图像特征信息。

可选地,该视频特征信息的获得,可以是基于特征提取网络对视频流中各帧视频图像进行特征提取,获得至少两个图像特征信息;

基于至少两个图像特征信息获得视频特征信息。

该特征提取网络可以为一个提取视频数据粗特征的轻量级分类子网络。其输入为原始视频帧数据,输出为提取出来的粗糙的视频特征信息,该特征提取网络可以是至少一层卷积层,或分类网络中的前几层网络层,本申请不限制特征提取网络的具体结构,只需实现对图像的特征提取即可。

步骤120,基于转移矩阵和视频流中各视频图像获得压缩视频数据。

在一个或多个可选的实施例中,步骤120可以包括:

对视频流中各视频图像构成的矩阵和转移矩阵执行矩阵乘法,获得压缩视频数据。

通过将提取了视频流中时序关系的转移矩阵与视频流构成的矩阵经过矩阵乘法,获得了长度经过压缩的压缩视频数据,例如:视频流构成的矩阵可表达为hwc*t,转移矩阵表达为t*t/s,压缩视频数据可表示为:hwc*t/s,此时,压缩视频数据的视频帧数由原来的t压缩为t/s;其中,h表示视频流中每帧视频图像的高度,w表示视频流中每帧视频图像的宽度,c表示视频流对应的通道数,t表示视频流包括的视频图像的帧数,s表示预设的压缩比例。

本申请实施例一方面可以缩小视频流长度,避免了现有的视频行为识别算法输入由于视频长度过长,模型参数量过大,导致的消耗过多计算资源、算法执行时间过长、不适用于实际应用等问题。

另一方面压缩矩阵综合了视频流中至少一个维度的信息,使获得的压缩视频数据在时序依赖关系上包括更多信息,克服了现有的视频行为识别算法对于视频时序依赖上的建模简单,导致精度视频行为识别不高的问题。

矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义,例如:对于矩阵a和矩阵b,当矩阵a的列数等于矩阵b的行数时,a与b可以相乘,设a为m×p的矩阵,b为p×n的矩阵,那么称m×n的矩阵c为矩阵a与b的乘积。

因此,为了实现矩阵乘法,需要在对视频流中各视频图像构成的矩阵和转移矩阵执行矩阵乘法,获得压缩视频数据之前,执行对视频流中各视频图像构成的矩阵进行重构处理,得到重构矩阵,重构矩阵包括视频维度和视频帧数量维度,视频维度中每个元素包括各通道对应的所有视频图像;

由于转移矩阵的行数为视频帧数,列数为视频帧数经过压缩的数值,因此通过重构,调整视频流中各视频图像构成的矩阵的维度分布,将视频流中包括的视频帧数作为矩阵的列数,此时,视频流中各视频图像构成的矩阵才可以与转移矩阵实现矩阵乘法,即:重构矩阵和转移矩阵执行矩阵乘法,获得压缩视频数据。

步骤130,基于压缩视频数据确定视频流对应的行为识别结果。

在一个或多个可选的实施例中,步骤130和步骤110及步骤120在相同端(如:客户端)执行,此时基于视频行为识别模型对压缩视频数据进行处理,获得视频流对应的行为识别结果。

该视频行为识别模型为现有的或之后可能出现的可实现视频行为识别的网络或其他数学模型,例如:可以为现有的任意一种基于三维卷积神经网络的视频行为识别模型,非常灵活。本申请对视频行为识别模型的具体结构不作限制,由于缩减了视频流的视频帧数,克服了现有技术中视频行为识别网络只能部署到图形服务器或者云端大规模集群上的问题,使视频行为识别任务在客户端也可以实现。

相比于现有方法直接输入视频帧,本实施例中使用了由提取得到的压缩特征替代原始视频流,在显著减少了所需要的计算量的同时,能保持与原有的模型相匹敌甚至一些场景下更高的识别精度。

在一个或多个可选的实施例中,将压缩视频数据发送到服务器端或云端,在服务器端或云端基于视频行为识别模型对压缩视频数据进行处理,获得视频流对应的行为识别结果;

从服务器端获得视频流对应的行为识别结果。

本申请实施例中,通过在服务器端或云端实现视频行为识别,可提高行为识别的速度,并且由于提取得到的压缩特征替代原始视频流,在显著减少了所需要的计算量的同时,在传输过程中,减小了传输的视频数据量,克服了由于需要传输的视频数据过长,造成的传输压力大、带宽需求高等问题。

图2为本申请实施例提供的视频行为识别方法的一个具体示例的实现过程结构示意图。如图2所示,粗特征提取和视频压缩在客户端实现,视频行为识别在服务器端实现;将原始视频流输入粗特征提取器得到视频特征信息,将视频特征信息输入到深度时序蒸馏单元(tsdblock,temporalsequencedistillation)实现对视频特征信息的压缩处理,以获得转移矩阵,对转移矩阵和视频流进行处理,得到压缩特征;将压缩特征传输到服务器端,服务器端通过主网络(视频行为识别模型)对压缩特征进行处理,得到行为识别结果。

本申请实施例提供的视频行为识别方法,对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得视频流对应的转移矩阵;基于转移矩阵和视频流中各视频图像获得压缩视频数据;基于压缩视频数据获得或接收视频流对应的行为识别结果,通过压缩得到的转移矩阵对视频流中的时序依赖关系进行建模,提高了视频行为识别的准确性。

在一个或多个可选的实施例中,视频特征信息对应的维度包括:视频帧数量维度和通道数维度;

可选地,视频特征信息对应的维度还可以包括:视频图像的高度维度和视频图像的宽度维度。

步骤110可以包括:

对视频特征信息在视频帧数量维度和/或通道数维度上进行压缩处理,获得视频流对应的转移矩阵。

通过在视频帧数量维度和/或通道数维度上进行压缩,可以将视频特征信息缩减的同时不会压缩每帧视频图像包含的特征信息,可以获得更多的视频中帧与帧之间的顺序信息,实现捕捉视频流中长期时序依赖信息提高了视频行为识别结果的准确性。

可选地,对视频特征信息在视频帧数量维度上进行压缩处理,获得视频流对应的转移矩阵,包括:

基于至少一个卷积层对视频特征信息在视频帧数量维度进行压缩处理,得到视频帧数量变更后的视频特征信息;

对视频帧数量变更后的视频特征信息进行归一化处理,获得视频流对应的转移矩阵。

本实施例中,通过在视频帧数量维度上将视频特征信息进行压缩,使视频帧数量压缩到预设比例,减少了视频帧数量,减少了视频流处理过程中的数据量,提高了视频行为识别的处理速度。

除了在视频帧数量维度上进行压缩处理,可选地,还可以对视频特征信息在通道数维度上进行压缩处理,获得视频流对应的转移矩阵,包括:

基于至少一个卷积层对视频特征信息在通道数维度进行压缩处理,得到通道数变更后的视频特征信息;

对通道数变更后的视频特征信息进行归一化处理,获得视频流对应的转移矩阵。

本申请实施例中,通过在通道数维度上进行压缩处理,获得压缩的转移矩阵,基于转移矩阵和视频流即可获得压缩后的视频数据,减小了视频行为识别过程中需要处理的数据量,提高了处理速度。

可选地,对视频特征信息在视频帧数量维度和通道数维度上进行压缩处理,获得视频流对应的转移矩阵,包括:

基于至少一个卷积层对视频特征信息在通道数维度进行压缩处理,得到通道数变更后的第一视频特征信息;

基于至少一个卷积层对通道数变更后的第一视频特征信息在视频帧数量维度进行压缩处理,得到视频帧数量变更后的第二视频特征信息;

基于通道数变更后的第一视频特征信息和视频帧数量变更后的第二视频特征信息,获得视频流对应的转移矩阵。

为了获得时序依赖信息,分别通过在通道数维度和视频帧数量维度上对视频特征信息进行压缩,通过两个维度的压缩可以实现更好的压缩效果,在获得时序依赖信息的基础上,不丢失原视频流中的图像信息。

可选地,基于通道数变更后的第一视频特征信息和视频帧数量变更后的第二视频特征信息,获得视频流对应的转移矩阵,包括:

对通道数变更后的第一视频特征信息和视频帧数量变更后的第二视频特征信息进行矩阵乘法,获得中间矩阵;

对中间矩阵按行进行归一化处理,获得转移矩阵。

图3为本申请实施例提供的视频行为识别方法的获得转移矩阵的一个具体示例。如图3所示,通过深度时序蒸馏单元(tsdblock,temporalsequencedistillation)实现对视频特征信息的压缩处理,以获得转移矩阵。深度时序蒸馏单元输入为视频帧序列的特征信息,输出的所预测的转移矩阵。例如:给定输入特征图尺寸为t×hwc的第i个视频帧序列深度时序蒸馏单元会预测并输出对应的转移矩阵p。在深度时序蒸馏单元中,所采用的参数化方式为双路参数化,这是受在自然语言处理领域的机器翻译任务中的self-attention文本表征提取机制的启发。在本算法中,其中一条路径会通过一次转置操作与两次卷积操作将输入特征图映射到尺寸为hwc×(t/s)的特征图o。而另外一条路径,会将通过一次卷积操作将输入变换到尺寸为t×hwc的特征图g。转移矩阵p将以两条路径的输入g与o得到。其中,h表示视频流中每帧视频图像的高度,w表示视频流中每帧视频图像的宽度,c表示视频流对应的通道数,t表示视频流包括的视频图像的帧数,s表示预设的压缩比例。

可选地,上述特征图o可以通过以下公式(1)获得:

其中,表示视频帧序列,两次卷积操作中卷积层的网络参数。

特征图g可以通过以下公式(2)获得:

其中,表示视频帧序列,表示卷积操作中卷积层的网络参数。

此时,转移矩阵p的计算公式(3)如下:

p=softmax(go)公式(3)

这里的softmax()指的是逐行进行的softmax操作进行的归一化步骤。

在一个或多个可选的实施例中,本申请方法基于综合模型实现,综合模型包括特征提取网络、时序蒸馏网络和视频行为识别模型;

执行步骤110之前,还可以包括:

基于样本视频流训练综合模型;样本视频流具有标注行为识别结果。

基于网络模型实现任意一个任务之前,为了针对该任务实现更好的效果,通常需要进行训练,本实施例中为了获得更好的视频行为识别结果,需要对基于具有标注行为识别结果的样本视频流对综合模型进行训练,由于综合模型中三个部分是端对端的,所以三个部分可以共同训练。

可选地,基于样本视频流训练综合模型,包括:

经特征提取网络对样本视频流中各帧样本视频图像进行特征提取,得到样本视频特征信息;

经时序蒸馏网络对样本视频特征信息在至少一个维度上进行压缩处理,获得样本视频流对应的样本转移矩阵,基于样本转移矩阵和样本视频流获得样本压缩视频数据;

经视频行为识别模型对样本压缩视频数据进行处理,获得样本视频流对应的预测行为识别结果;

基于预测行为识别结果和标注行为识别结果,训练特征提取网络、时序蒸馏网络和视频行为识别模型。

本申请实施例通过对特征提取网络、时序蒸馏网络和视频行为识别模型端到端的训练,使获得的综合模型更适合进行视频中的行为识别。

可选地,视频行为识别模型可以采用现有技术中的三维卷积神经网络或其他结构的神经网络实现,该网络结构可以是现有的,并且该视频行为识别模型的作用在于基于视频流获得视频行为结果,因此,可以对视频行为识别模型进行预训练之后在将视频行为识别模型结合特征提取网络和时序蒸馏网络进行训练,以加快训练速度。

可选地,基于预测行为识别结果和标注行为识别结果,训练特征提取网络、时序蒸馏网络和视频行为识别模型,包括:

基于预测行为识别结果和标注行为识别结果获得网络损失;

基于网络损失确定综合模型中每个网络层的梯度信息;

基于每个网络层的梯度信息分别调整每个网络层的网络参数。

在对神经网络进行训练时,包括正向传播和反向传播,将样本视频流输入综合模型,在正向传播或获得预测行为识别结果,基于预测行为识别结果和标注行为识别结果可获得网络损失;在反向传播过程中,基于网络损失可获得综合模型中每个网络层的梯度信息,基于每个网络层的梯度信息对其对应的网络层进行训练。

可选地,视频行为识别模型中的至少一个浅层网络层的网络结构与特征提取网络的网络结构相同;

基于所述每个网络层的梯度信息分别调整每个网络层的网络参数,包括:

基于特征提取网络中各网络层的梯度信息和视频行为识别模型的至少一个浅层网络层的梯度信息作为共享梯度信息;

基于共享梯度信息调整视频行为识别模型中的至少一个浅层网络层和特征提取网络中各网络层的网络参数,使视频行为识别模型中的至少一个浅层网络层与特征提取网络共享网络参数。

基于时序蒸馏网络中各网络层的梯度信息调整时序蒸馏网络中各网络层的网络参数;

基于视频行为识别模型中至少一个深层网络层的梯度信息调整视频行为识别模型中至少一个深层网络层的网络参数。

其中,本申请实施例中所指浅层网络是指视频行为识别模型中提取纹理、边缘等特征的网络层,由于视频行为识别模型中的浅层网络和特征提取网络都是实现纹理、边缘等特征的提取,可选地,本申请实施例通过将视频行为识别模型中的浅层网络和特征提取网络共享网络参数,实现了视频行为识别模型和特征提取网络的部分参数共享,同步进行优化更新,进一步降低了模型整体的参数量与计算复杂度,提升综合网络的训练速度。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

图4为本申请实施例提供的视频行为识别装置的一个结构示意图。该实施例的装置可用于实现本申请上述各方法实施例。如图4所示,该实施例的装置包括:

维度压缩单元41,用于对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得视频流对应的转移矩阵。

其中,视频特征信息包括至少两个图像特征信息。

视频压缩单元42,用于基于转移矩阵和视频流中各视频图像获得压缩视频数据。

结果识别单元43,用于基于压缩视频数据确定视频流对应的行为识别结果。

本申请实施例提供的视频行为识别装置,对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得视频流对应的转移矩阵;基于转移矩阵和视频流中各视频图像获得压缩视频数据;基于压缩视频数据获得或接收视频流对应的行为识别结果,通过压缩得到的转移矩阵对视频流中的时序依赖关系进行建模,提高了视频行为识别的准确性。

可选地,视频特征信息对应的维度包括:视频帧数量维度和通道数维度;

维度压缩单元41,用于对视频特征信息在视频帧数量维度和/或通道数维度上进行压缩处理,获得视频流对应的转移矩阵。

通过在视频帧数量维度和/或通道数维度上进行压缩,可以将视频特征信息缩减的同时不会压缩每帧视频图像包含的特征信息,可以获得更多的视频中帧与帧之间的顺序信息,实现捕捉视频流中长期时序依赖信息提高了视频行为识别结果的准确性。

可选地,维度压缩单元41在对视频特征信息在视频帧数量维度上进行压缩处理,获得视频流对应的转移矩阵时,具体用于基于至少一个卷积层对视频特征信息在视频帧数量维度进行压缩处理,得到视频帧数量变更后的视频特征信息;对视频帧数量变更后的视频特征信息进行归一化处理,获得视频流对应的转移矩阵。

可选地,维度压缩单元41在对视频特征信息在通道数维度上进行压缩处理,获得视频流对应的转移矩阵时,具体用于基于至少一个卷积层对视频特征信息在通道数维度进行压缩处理,得到通道数变更后的视频特征信息;对通道数变更后的视频特征信息进行归一化处理,获得视频流对应的转移矩阵。

可选地,维度压缩单元41在对视频特征信息在视频帧数量维度和通道数维度上进行压缩处理,获得视频流对应的转移矩阵时,具体用于基于至少一个卷积层对视频特征信息在通道数维度进行压缩处理,得到通道数变更后的第一视频特征信息;基于至少一个卷积层对通道数变更后的第一视频特征信息在视频帧数量维度进行压缩处理,得到视频帧数量变更后的第二视频特征信息;基于通道数变更后的第一视频特征信息和视频帧数量变更后的第二视频特征信息,获得视频流对应的转移矩阵。

可选地,维度压缩单元41在基于通道数变更后的第一视频特征信息和视频帧数量变更后的第二视频特征信息,获得视频流对应的转移矩阵时,用于对通道数变更后的第一视频特征信息和视频帧数量变更后的第二视频特征信息进行矩阵乘法,获得中间矩阵;对中间矩阵按行进行归一化处理,获得转移矩阵。

在一个或多个可选的实施例中,视频压缩单元42,用于对视频流中各视频图像构成的矩阵和转移矩阵执行矩阵乘法,获得压缩视频数据。

本申请实施例一方面可以缩小视频流长度,避免了现有的视频行为识别算法输入由于视频长度过长,模型参数量过大,导致的消耗过多计算资源、算法执行时间过长、不适用于实际应用等问题。另一方面压缩矩阵综合了视频流中至少一个维度的信息,使获得的压缩视频数据在时序依赖关系上包括更多信息,克服了现有的视频行为识别算法对于视频时序依赖上的建模简单,导致精度视频行为识别不高的问题。

可选地,本申请实施例提供的装置还包括:

重构单元,用于对视频流中各视频图像构成的矩阵进行重构处理,得到重构矩阵,重构矩阵包括视频维度和视频帧数量维度,视频维度中每个元素包括各通道对应的所有视频图像;

视频压缩单元42,用于对重构矩阵和转移矩阵执行矩阵乘法,获得压缩视频数据。

在一个或多个可选的实施例中,本申请实施例提供的装置还包括:

特征提取单元,用于基于特征提取网络对视频流中各帧视频图像进行特征提取,获得至少两个图像特征信息;基于至少两个图像特征信息获得视频特征信息。

在一个或多个可选的实施例中,结果识别单元43,用于基于视频行为识别模型对压缩视频数据进行处理,获得视频流对应的行为识别结果;或,

将压缩视频数据发送到服务器端,在服务器端基于视频行为识别模型对压缩视频数据进行处理,获得视频流对应的行为识别结果;从服务器端获得视频流对应的行为识别结果。

在一个或多个可选的实施例中,本申请实施例提供的装置基于综合模型实现,该综合模型包括特征提取网络、时序蒸馏网络和视频行为识别模型;

本申请实施例提供的装置还包括:

模型训练单元,用于基于样本视频流训练综合模型;样本视频流具有标注行为识别结果。

基于网络模型实现任一个任务之前,为了针对该任务实现更好的效果,通常需要进行训练,本实施例中为了获得更好的视频行为识别结果,需要对基于具有标注行为识别结果的样本视频流对综合模型进行训练,由于综合模型中三个部分是端对端的,所以三个部分可以共同训练。

可选地,模型训练单元,用于经特征提取网络对样本视频流中各帧样本视频图像进行特征提取,得到样本视频特征信息;经时序蒸馏网络对样本视频特征信息在至少一个维度上进行压缩处理,获得样本视频流对应的样本转移矩阵,基于样本转移矩阵和样本视频流获得样本压缩视频数据;经视频行为识别模型对样本压缩视频数据进行处理,获得样本视频流对应的预测行为识别结果;基于预测行为识别结果和标注行为识别结果,训练特征提取网络、时序蒸馏网络和视频行为识别模型。

可选地,模型训练单元在基于预测行为识别结果和标注行为识别结果,训练特征提取网络、时序蒸馏网络和视频行为识别模型时,用于基于预测行为识别结果和标注行为识别结果获得网络损失;基于网络损失确定综合模型中每个网络层的梯度信息;基于每个网络层的梯度信息分别调整每个网络层的网络参数。

可选地,视频行为识别模型中的至少一个浅层网络层的网络结构与特征提取网络的网络结构相同;

模型训练单元在基于每个网络层的梯度信息分别调整每个网络层的网络参数时,用于基于特征提取网络中各网络层的梯度信息和视频行为识别模型的至少一个浅层网络层的梯度信息作为共享梯度信息;基于共享梯度信息调整视频行为识别模型中的至少一个浅层网络层和特征提取网络中各网络层的网络参数,使视频行为识别模型中的至少一个浅层网络层与特征提取网络共享网络参数。

可选地,模型训练单元在基于每个网络层的梯度信息分别调整每个网络层的网络参数时,还用于基于时序蒸馏网络中各网络层的梯度信息调整时序蒸馏网络中各网络层的网络参数;基于视频行为识别模型中至少一个深层网络层的梯度信息调整视频行为识别模型中至少一个深层网络层的网络参数。

根据本申请实施例的又一个方面,提供的一种电子设备,包括处理器,所述处理器包括如上任意一项实施例所述的视频行为识别装置。

根据本申请实施例的还一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;

以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上任意一项实施例所述视频行为识别方法的操作。

根据本申请实施例的再一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,所述指令被执行时执行如上任意一项实施例所述视频行为识别方法的操作。

根据本申请实施例的又一个方面,提供的一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现如上任意一项实施例所述视频行为识别方法的指令。

本申请实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(pc)、平板电脑、服务器等。下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备500的结构示意图:如图5所示,电子设备500包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu)501,和/或一个或多个专用处理器,专用处理器可作为加速单元513,可包括但不限于图像处理器(gpu)、fpga、dsp以及其它的asic芯片之类专用处理器等,处理器可以根据存储在只读存储器(rom)502中的可执行指令或者从存储部分508加载到随机访问存储器(ram)503中的可执行指令而执行各种适当的动作和处理。通信部512可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡。

处理器可与只读存储器502和/或随机访问存储器503中通信以执行可执行指令,通过总线504与通信部512相连、并经通信部512与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得视频流对应的转移矩阵;基于转移矩阵和视频流中各视频图像获得压缩视频数据;基于压缩视频数据确定视频流对应的行为识别结果。

此外,在ram503中,还可存储有装置操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。在有ram503的情况下,rom502为可选模块。ram503存储可执行指令,或在运行时向rom502中写入可执行指令,可执行指令使中央处理单元501执行上述通信方法对应的操作。输入/输出(i/o)接口505也连接至总线504。通信部512可以集成设置,也可以设置为具有多个子模块(例如多个ib网卡),并在总线链接上。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

需要说明的,如图5所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图5的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如加速单元513和cpu501可分离设置或者可将加速单元513集成在cpu501上,通信部可分离设置,也可集成设置在cpu501或加速单元513上,等等。这些可替换的实施方式均落入本申请公开的保护范围。

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,对视频流对应的视频特征信息在至少一个维度上进行压缩处理,获得视频流对应的转移矩阵;基于转移矩阵和视频流中各视频图像获得压缩视频数据;基于压缩视频数据确定视频流对应的行为识别结果。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请的方法中限定的上述功能的操作。

可能以许多方式来实现本申请的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。

本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1