掌桥专利:专业的专利平台
掌桥专利
首页

识别视频活动的设备和方法

文献发布时间:2023-06-19 11:14:36


识别视频活动的设备和方法

技术领域

本发明实施例涉及视频中的动作识别。为此,本发明实施例提供了一种用于识别视频中的一个或多个活动的设备和方法,其中该设备和方法使用深度学习网络。相应地,本发明实施例还涉及设计一种有效的深度学习网络架构,该架构尤其适用于识别视频中的活动。例如,本发明实施例适用于视频监控系统和摄像机。

背景技术

传统的视频监控系统协助警察或安保人员等预防犯罪。监控摄像机网络的好处显而易见:可以由少数人员例如从控制室监控很大的区域,而不是在每个角落都部署安全人员或执法人员。自上世纪90年代以来,监控摄像机的数量呈指数级增长。视频监控系统通常使用运动检测算法,视频监控系统对光照变化、摄像机抖动、摇晃的枝叶或远处的车辆等背景运动敏感,但通常无法处理摄像机视场中的连续运动。

因此,目前正在进行大量的研究工作,将图像和视频分析方法与深度学习技术结合起来,以便进行更加自主的分析。使用深度学习算法可以增强视频监控系统的稳健性,特别是在使用了大量数据和对算法进行长时间(例如几天)的训练时。目前的深度学习框架基于网络,通过许多参数进行调整,相比于基于传统计算机视觉的解决方案获得了更好的性能。值得注意的是,需要充分利用硬件和数据集创建才能在该研究领域中获得更可靠的结果。因此,到目前为止,如下可能性很有发展前景:为视频的行为分析开发一种稳健的端到端解决方案,并将其与现有的监控系统等集成。

具体而言,基于视频监控数据中的视频动作识别的行为分析(behavioranalysis,BA)或针对某些类别的活动的异常行为分析(unusual behavior analysis,UBA)已在消费行业引起了浓厚的研究兴趣。与基于传统计算机视觉的BA相比,基于深度学习的BA系统具有以下优点:

1.可以避免提取人类工程特征(边缘、角、颜色);

2.具有稳健性,可以在不同的数据集上使用(通过支持数据扩增);

3.可以保存模型,并且可以使用迁移学习来微调权重,以便实现不同数据集的稳健性;

4.提供了一种利用大量计算资源的方法,以便通过对可用GPU处理器使用多GPU启发法来运行系统。

然而,基于视频动作识别的传统BA方法仍然依赖于基于人工标注的训练(即,监督学习),需要为每个摄像机传感器都提供这种训练。此外,基于视频动作识别的传统BA方法仍然存在着精度低、效率低和/或稳健性差的问题。

发明内容

鉴于以上情况,本发明实施例旨在改进传统的视频动作识别方法。一个目的是提供一种设备和方法,能够比传统方法更有效、更准确、更可靠地识别视频中的活动,或者换言之,比传统方法具有更好的稳健性。

具体而言,所述设备和方法能够通过将标签与在视频中确定的每个活动相关联来识别以视频或图像形式给出的不同类型的用户活动(例如,类别)(即,视频中的所谓动作事件)。基于这样的标签,所述设备和方法还能够分析这些视频中出现的人的行为。目前,视频监控系统和应用的目标是通常由安全人员执行的事件任务,即:巡逻检查、周边入侵监控和无人看管对象的检测等。因此,所述设备和方法能够专门检测视频中的上述活动。所述设备和方法基于深度学习技术。

本发明实施例在所附独立权利要求中定义。本发明实施例的有利实施方式在各个从属权利要求中进一步定义。

具体而言,本发明实施例支持基于活动识别启发法实现BA模块,考虑了几种传统方法,但将这些方法融于新的统一框架中。因此,为了获得更多关于输入视频的信息,特别使用后期融合函数作为一个主要思想。本发明实施例还考虑了用于在视频中进行动作识别的有效深度学习网络架构的原则,并且能够仅通过有限的训练样本来学习网络模型。

还有一种思想是以双网络方式从输入视频中分别提取红绿蓝(Red,Green,Blue,RGB)帧和光流(Optical Flow,OF)帧。然后,将稀疏时间采样策略与视频级监控相结合,以便使用所述后期融合函数进行有效学习。所述RGB帧是以特定帧率提取的单独视频图像。所述OF可以例如通过确定由图像对象和/或相机的运动引起的所述对象在两个连续帧之间的表观运动的模式来计算。OF可以描述为二维(two dimensional,2D)矢量场,其中每个矢量是一个位移矢量,示出了点从第一帧到第二帧的移动。可以通过光流矢量获得2通道阵列并找出这些矢量的大小和方向。所述方向对应于图像的色调值,而所述大小对应于值平面。

本发明的第一方面提供了一种用于识别视频中的一个或多个活动的设备,每个活动与一个预定标签相关联,其中所述设备用于使用深度学习网络以及在推理阶段执行以下操作:接收所述视频;将所述视频分为RGB部分和OF部分;使用所述深度学习网络的空间部分,基于所述RGB部分计算多个空间标签预测值;使用所述深度学习网络的时间部分,基于所述OF部分计算多个时间标签预测值;以及融合所述空间标签预测值和所述时间标签预测值以获得与所述视频中的活动相关联的标签。

通过首先分别获得空间标签预测值和时间标签预测值,然后将它们融合以获得最终标签(即,使用后期融合函数),能够更有效、更准确、更可靠地识别视频中的活动。

“深度学习网络”包括例如神经网络,如卷积神经网络(Convolutional NeuralNetwork,CNN)或卷积网络(Convolutional Network,ConvNet),和/或包括如残差网络(Residual Network,ResNet)中提出的一个或多个跳跃连接,和/或批归一化(batchnormalization,bn)-inception型网络。深度学习网络可以在设备的训练阶段进行训练,并且可以用于在设备的推理阶段识别视频中的活动。

“标签”或“类别标签”标识一个活动或一类活动(例如“巡逻”或“周边入侵”)。也就是说,一个标签与一个活动直接关联。可以在操作设备进行活动识别之前确定标签。

“标签预测值”是指预测出的标签,即,至少一个初步标签,并且通常可包括多个标签的预测值,例如标签候选项,每个标签候选项与成为正确标签的不同概率相关联。

“时间”基于OF,即,指视频中的运动,而“空间”基于RGB,即,指视频中的像素或区域等的色彩亮度等特征的空间分布。

在所述第一方面的一种实施形式中,所述设备还用于:从所述视频中提取多个RGB片段和多个OF片段,以便将所述视频分为所述RGB部分和所述OF部分;使用所述深度学习网络的所述空间部分为所述RGB片段中的每个RGB片段计算多个标签预测值;使用所述深度学习网络的所述时间部分为所述OF片段中的每个OF片段计算多个标签预测值;基于所述RGB片段的所述标签预测值计算所述多个空间标签预测值;以及基于所述OF片段的所述标签预测值计算所述多个时间标签预测值。

这样,可以更准确、更有效地预测标签。“片段”是视频的短分段或一小部分,可例如从视频中随机取样。“RGB片段”包含从视频片段中提取的RGB帧,而“OF片段”包含从视频片段中提取的OF帧。

在所述第一方面的另一实施形式中,所述设备还用于:使用所述深度学习网络的所述空间部分为给定RGB片段中的每个RGB帧计算多个标签预测值,并且基于所述RGB帧的所述标签预测值为所述给定RGB片段计算所述多个标签预测值;和/或使用所述深度学习网络的所述时间部分为给定OF片段中的每个OF帧计算多个标签预测值,并且基于所述OF帧的所述标签预测值为所述给定OF片段计算所述多个标签预测值。

RGB部分以及每个RGB片段都包括多个帧,即“RGB帧”。OF部分以及每个OF片段都包括多个帧,即“OF帧”。帧是视频的图像或图片,即,帧的标签预测值考虑视频的该图片以预测与活动相关联的一个或多个标签。

在所述第一方面的另一实施形式中,所述设备还用于,为了融合所述空间标签预测值和所述时间标签预测值:根据所述多个空间标签预测值的确定数量和所述多个时间标签预测值的确定数量,计算同一标签的归一化标签预测值的总和;以及选择得分最高的归一化标签预测值作为所述标签。

这样,可以更准确、更有效地预测标签。

在所述第一方面的另一实施形式中,所述设备还用于:按照所述同一标签的所述归一化标签预测值的总和,计算所述同一标签的所有空间标签预测值和时间标签预测值的归一化缩放出现频率的总和。

“出现频率”指预测空间或时间标签(候选项)的频率,即,标签预测频率。

在所述第一方面的另一实施形式中,所述设备还用于:为数据集中的多个视频中的每个视频获取标签,以及基于所获取的标签计算所述数据集的精度。

这样,可以进一步提高动作识别的精度。

在所述第一方面的另一实施形式中,所述深度学习网络是时间分段网络(Temporal Segment Network,TSN)-bn-inception型网络,通过来自残差网络(residualnetwork,ResNet)的跳跃连接进行增强。

这样,设备能够基于深度学习有效且准确地获取标签。跳跃连接可以快速分割深度学习网络中的各层。

在所述第一方面的另一实施形式中,所述深度学习网络的所述空间部分和/或所述时间部分包括多个相连输入层、多个相连输出层和多个跳跃连接,每个跳跃连接将一个输入层连接到一个输出层。

所述第一方面的另一实施形式中,所述设备还用于在训练和测试阶段执行以下操作:接收训练/测试视频,以及基于所述训练/测试视频输出包括预测标签排序表的结果,每个预测标签与一个置信度值得分相关联。

因此,可以准确地训练深度学习网络,并改进在设备的推理阶段获得的结果。

在所述第一方面的另一实施形式中,所述结果还包括计算出的损耗。

在所述第一方面的另一实施形式中,所述设备还用于:如果计算出预定值的损耗,则中断所述训练阶段。

在所述第一方面的另一实施形式中,所述设备还用于:在所述训练阶段结束时,获取所述深度学习网络的预训练网络模型。

本发明的第二方面提供了一种用于识别视频中的一个或多个活动的方法,每个活动与一个预定标签相关联,其中所述方法使用深度学习网络并且在推理阶段包括:接收所述视频;将所述视频分为RGB部分和OF部分;使用所述深度学习网络的空间部分,基于所述RGB部分计算多个空间标签预测值;使用所述深度学习网络的时间部分,基于所述OF部分计算多个时间标签预测值;以及融合所述空间标签预测值和所述时间标签预测值以获得与所述视频中的活动相关联的标签。

在所述第二方面的一种实施形式中,所述方法还包括:从所述视频中提取多个RGB片段和多个OF片段,以便将所述视频分为所述RGB部分和所述OF部分;使用所述深度学习网络的所述空间部分为所述RGB片段中的每个RGB片段计算多个标签预测值;使用所述深度学习网络的所述时间部分为所述OF片段中的每个OF片段计算多个标签预测值;基于所述RGB片段的所述标签预测值计算所述多个空间标签预测值;以及基于所述OF片段的所述标签预测值计算所述多个时间标签预测值。

在所述第二方面的另一实施形式中,所述方法还包括:使用所述深度学习网络的所述空间部分为给定RGB片段中的每个RGB帧计算多个标签预测值,并且基于所述RGB帧的所述标签预测值为所述给定RGB片段计算所述多个标签预测值;和/或使用所述深度学习网络的所述时间部分为给定OF片段中的每个OF帧计算多个标签预测值,并且基于所述OF帧的所述标签预测值为所述给定OF片段计算所述多个标签预测值。

在所述第二方面的另一实施形式中,所述方法还包括,为了融合所述空间标签预测值和所述时间标签预测值:根据所述多个空间标签预测值的确定数量和所述多个时间标签预测值的确定数量,输出并计算同一标签的归一化标签预测值的总和;以及选择得分最高的归一化标签预测值作为所述标签。

在所述第二方面的另一实施形式中,所述方法还包括:按照所述同一标签的所述归一化标签预测值的总和,计算所述同一标签的所有空间标签预测值和时间标签预测值的归一化缩放出现频率的总和。

在所述第二方面的另一实施形式中,所述方法还包括:为数据集中的多个视频中的每个视频获取标签,以及基于所获取的标签计算所述数据集的精度。

在所述第二方面的另一实施形式中,所述深度学习网络是TSN-bn-inception型网络,通过来自残差网络的跳跃连接进行增强。

在所述第二方面的另一实施形式中,所述深度学习网络的所述空间部分和/或所述时间部分包括多个相连输入层、多个相连输出层和多个跳跃连接,每个跳跃连接将一个输入层连接到一个输出层。

所述第二方面的另一实施形式中,所述方法还包括,在训练/测试阶段:接收训练/测试视频,以及基于所述训练/测试视频输出包括预测标签排序表的结果,每个预测标签与一个置信度值得分相关联。

在所述第二方面的另一实施形式中,所述结果还包括计算出的损耗。

在所述第二方面的另一实施形式中,所述方法还包括:如果计算出预定值的损耗,则中断所述训练阶段。

在所述第二方面的另一实施形式中,所述方法还包括:在所述训练阶段结束时,获取所述深度学习网络的预训练网络模型。

所述第二方面的所述方法及其实施形式实现了上文结合所述第一方面的所述设备及其相应实施形式描述的所有优点和效果。

本发明的第三方面提供了一种包括程序代码的计算机程序产品,所述程序代码在由设备的一个或多个处理器执行时,用于控制所述设备执行所述第二方面或其任意实施形式的所述方法。

因此,通过执行所述程序代码,可以实现所述第二方面及其实施形式的所述方法的优点。

一般而言,在以上各方面和实施形式中,可在同时考虑RGB部分和OF部分的预测值的情况下执行空间标签预测值和时间标签预测值的融合(后期融合函数),具体而言,分别融合这两个数据流的输出预测值。该融合函数可分别基于每个流的前k个预测值(k≥1):例如,对于输入视频的每个RGB帧,可找到网络输出的前k个预测值。然后,可基于一个信息源对所有预测值进行分组(所有RGB帧),并且还可选择前k个预测值(基于多数票或出现频率)。为了仅基于RGB部分输出对输入视频的预测值,可将排名第一(最可能)的预测值作为正确预测值,并且可将其与其标签(地面真值预测值)进行比较。对于OF部分,可重复同样的过程,并可得到仅基于该部分的预测值。要融合RGB部分和OF部分,则可重复RGB和OF的过程,但这次要考虑前m(m≥1,优选地,m≥k)个预测值。然后,可从这两个部分中找到同一标签的归一化预测值的并集(总和),并可选择得票最多的那个。可以注意到,这种融合启发法实际上并不依赖于输入数据的类型。

与传统的视频动作识别方法相比,本发明实施例提供的主要改进(如各方面及实施形式中所定义)提高了精度和效率。精度的提高体现在三个不同的测试数据集上,同时训练速度也略有提高。

须注意,本申请中描述的所有设备、元件、单元和构件都可以以软件或硬件元件或其任何类型的组合来实现。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行特定步骤或功能的该实体的具体元件的描述中反映,但是技术人员应该清楚的是这些方法和功能可以在各自的硬件或软件元件或其任意组合中实现。

附图说明

结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现形式,其中:

图1示出了根据本发明一实施例的设备。

图2示出了根据本发明一实施例的设备的推理阶段。

图3示出了根据本发明一实施例的设备的训练阶段。

图4示出了由根据本发明一实施例的设备实施的示例性推理阶段流程。

图5示出了根据本发明一实施例的使用设备的跳跃连接的深度学习网络的基本块示例。

图6示出了根据本发明一实施例的设备的深度学习网络的一部分的示例。

图7示出了根据本发明一实施例的方法。

具体实施方式

图1示出了根据本发明一实施例的设备100。设备100用于识别(输入)视频101中的一个或多个活动。设备100可在视频监控系统中实现,和/或可接收来自相机,特别是视频监控系统的相机的视频101。但是,设备100能够对任何类型的输入视频执行动作识别,无论输入视频的来源如何。每个活动与一个预定标签104相关联。设备100可以知道一些预定标签104,和/或设备104可以学习或训练所确定的标签104。设备100具体用于使用深度学习网络102,并且可以相应地在推理阶段和训练阶段进行操作。该深度学习网络可由设备100的至少一个处理器或处理电路来实现。

如图1所示,在推理阶段,设备100专门用于接收(例如,来自摄像机或来自输出后处理视频的视频后处理设备的)视频101,其中视频活动将由设备100进行识别。为此,设备100用于首先将视频101分为RGB部分101a和OF部分101b。RGB部分表示视频101中的空间特征(例如颜色、对比度、形状等),OF部分101b表示视频101中的时间特征(即,运动特征)。

此外,设备100用于使用深度学习网络102,深度学习网络102包括空间部分102a和时间部分102b。深度学习网络102可通过软件在设备100中实现。空间部分102a用于基于视频101的RGB部分101a计算多个空间标签预测值103a,而时间部分102b用于基于视频101的OF部分101b计算多个时间标签预测值103b。

然后,设备100用于融合空间标签预测值103a和时间标签预测值103b,以便获得与视频101中的活动相关联的(融合)标签104。该融合也称为后期融合,因为其对标签预测值进行操作,即,对初步结果进行操作。标签104对视频101中的活动进行分类,即,已经识别出视频101中的活动。

图2和图3分别示出了设备100的两个更具体的框图,这两个框图给出了关于设备100的某些组件之间的一些依赖关系和功能的更多见解。具体而言,图2示出了根据本发明一实施例的设备100,其基于图1所示的设备100并在推理阶段操作。图3也示出了根据本发明一实施例的设备100,其基于图1所示的设备100但在训练阶段操作。图2和图3的设备100可相同。由于设备100基于深度学习网络,所以训练和推理(也称为测试)阶段(也称为时期)可以区分开。

图2示出了关于设备100的测试/推理阶段的框图。可以看到,设备100用于从视频101中分别提取多个RGB片段200a和多个OF片段200b,以便将视频分为RGB部分101a和OF部分101b。然后,RGB片段200a和OF片段200b通过对应的深度学习网络102部分(即,分别通过空间部分102a和时间部分102b)传播。由此,空间部分102a为RGB片段200a中的每个片段计算多个标签预测值201a,时间部分102b为OF片段200b中的每个片段计算多个标签预测值201b。

然后,获得时空共识预测值,其中设备100用于基于RGB片段200a的标签预测值201a计算多个空间标签预测值103a,并且基于OF片段200b的标签预测值201b计算多个时间标签预测值103b。

随后,将空间标签预测值103a和时间标签预测值103b进行融合(后期融合),以获得与视频101中的至少一个活动相关联的至少一个标签104,即,进行活动的最终预测。可将标签104或多个标签104提供给观察名单排序块202。可对多个可用视频(来自数据集)的多个预测值进行处理以获得(整个数据集上的)最终精度。换言之,设备100可为数据集中的多个视频101中的每个视频获取至少一个标签104,并可基于所获标签104来计算数据集的精度。

图3示出了关于设备100的训练阶段的框图。在每次训练迭代之后,可使用验证输出301来计算验证精度结果以及对应的置信度值得分,其中验证输出301包括基于训练/测试视频300的输入视频帧(图像)的(当前)预测标签104的排序表。换言之,设备100可输出结果301,其中结果301包括基于训练/测试视频300的预测标签104的排序表,每个预测标签104与一个置信度值得分相关联。此外,可计算损耗,并可重复整个训练过程,直到该过程完成最后一次训练迭代或者达到特定(预定义的)损耗值。换言之,设备100在训练阶段输出的结果301还可包括计算出的损耗,并且设备100可用于在计算出预定值的损耗时中断训练阶段。

最后,设备100在训练阶段结束时获取深度学习网络102的预训练网络模型(即,至少一个网络图和训练后的网络权重),设备100可以在测试(推理)阶段(例如,如图2所示)使用该预训练网络模型来识别视频101中的活动。

由本发明一实施例提供的设备100所使用的深度学习网络102可以是TSN-bn-inception型网络,通过来自ResNet的跳跃连接进行增强。具体而言,深度学习网络101可以是不同构建块的修改和/或组合,具体来说,其可基于TSN和具有如ResNet中提出的跳跃连接的bn-inception型网络的组合。下面首先描述各构建块,然后描述组合的深度学习网络102。

可选择TSN作为深度学习网络102的一个构建块。TSN通常能够在整个视频中对动态进行建模。为此,TSN可由空间流ConvNet和时间流ConvNet组成。图4示出了使用这种TSN的设备100在视频中执行动作识别的一般方法。具体而言,示出了这种设备100的推理阶段。在图4的示例中,将输入视频划分400为多个分段(也称为分片或分块),然后从每个分段中提取401短片段,其中一个片段包括不止一个帧,即,包括多个帧。这意味着,TSN对从整个视频中稀疏采样(在时间和/或空间域中,例如,取决于视频大小)的短片段序列进行操作,而不是处理单个帧或单个片段(也称为帧堆栈)。该序列中的每个片段均可产生其自己的动作类别初步预测值(类别得分402)。不同片段的类别得分402可通过分段共识函数进行融合403以产生分段共识,其是视频级预测值。然后,将来自所有模态的预测值进行融合404以产生最终预测值。所有片段上的ConvNet可共享参数。

在训练/学习阶段,可通过迭代更新模型参数来优化视频级预测的损耗值,而不是片段级预测的损耗值。形式上,可将给定视频V划分为时长相等的K个分段(S1,S2,……,SK}。然后,TSN可如下对片段序列进行建模:

TSN(T1,T2,……,TK)=M(G(F(T1;W),F(T2;W),……,F(TK;W)))。

这里,(T1,T2,……,TK)是片段序列。每个片段Tk可从对应的分段Sk中随机采样,其中k是范围从1到K的整数索引。F(Tk;W)可定义表示具有参数W的ConvNet的函数,该函数对短片段Tk进行运算并且为所有类别产生类别得分。分段共识函数G结合了多个短片段的输出以获得它们之间的类别假设共识。基于该共识,通过预测函数M(Softmax函数)来预测整个视频中每个动作类别的概率。结合标准分类交叉熵损耗,关于分段共识的最终损耗函数可以是:

这里,C是动作类别的数量,yi是关于类别i的地面真值标签。这里的类别得分Gi是使用聚合函数从所有片段上的同一类别的得分推断出的。

可选择批归一化先启(Inception with Batch Normalization,bn-inception)作为深度学习网络102的另一构建块。也就是说,深度学习网络102具体可以是或者可包括bn-inception型网络。由于bn-inception型网络在精度与效率之间有良好平衡,因此可以特别选择bn-inception型网络。

可专门为双流ConvNet设计bn-inception架构作为第一个构建块。空间流ConvNet可对单个RGB图像进行操作,时间流ConvNet可将连续OF场的堆栈作为输入。双流ConvNet可将RGB图像用于空间流,将堆叠的OF场用于时间流。单个RGB图像通常在特定时间点对静态外观进行编码,并且缺少关于前一帧和下一帧的上下文信息。时间流ConvNet将OF场作为输入,旨在捕获运动信息。然而,在实际的视频中,通常存在相机运动,OF场可能不会集中在人体运动上。

可选择ResNet框架作为深度学习网络102的又一构建块。虽然深度网络在大多数情况下都具有较好的分类性能,但它们比ResNet更难训练,这主要是由于两个原因:

1.梯度消失/梯度爆炸:有时神经元会在训练过程中死亡,并且依据其激活功能,可能永远不会再次运作。这个问题可以通过使用一些初始化技术来解决。

2.难以优化:模型引入的参数越多,网络的训练就越困难。

ResNet的主要不同之处在于,它们具有与其正常卷积层平行的快捷连接。这使得训练更快,也为梯度回传到网络的早期层提供了清晰的路径。这通过避免梯度消失或神经元死亡,使得学习过程更快。

专门为本发明实施例提供的设备100的深度学习网络102设计的ResNet模型可接受图像并对它们进行分类。一种简单的方法是仅对图像进行上采样,然后将其提供给经过训练的模型,或者仅跳过第一层并插入原始图像作为第二个卷积层的输入,然后对最后几层进行微调,以获得更高的精度。

总而言之,如上所述,本发明实施例提供的设备100的深度学习网络102可基于具有跳跃连接的TSN-bn-inception(如ResNet中所提出的)。为了获得这样的网络102,可使用下述两步法:

1.当在非常深的网络模型上堆叠更多层时,可使用跳跃连接和深度残差层来使网络能够学习与身份层的偏差。

2.通过减少层数并使这些层接近可以更好地区分特征并提高精度的层,可简化该网络。

深度学习网络的一个实施例包括例如总共202层。残差连接也是该网络的一部分。修正线性单元(Rectified Linear Unit,ReLU)层连接到每个子先启单元的卷积层。并且,该单元的卷积层连接到位于巨型网络中间的第8个单元的输出。一个添加层将输入与批归一化层相连,并在添加过程之后引导至ReLU层。对RGB和OF流以及整个网络的以下部分进行了修改。

1.在卷积inception_3a_1x1层与bn inception_3a_1x1_bn层之间放置添加层,该添加层将输入直接连接到添加层。

2.将batch_normalization('inception_3b_1x1_bn')的输出作为放置在卷积'inception_3c_3x3'层与bn'inception_3c_3x3_bn'层之间的添加层的输入。

3.将batch_normalization(‘inception_3a_double_3x3_2_bn’)的输出作为放置在卷积‘inception_3b_double_3x3_2’层与bn‘inception_3b_double_3x3_2_bn’层之间的添加层的输入。

4.将batch_normalization(‘inception_3c_3x3_bn’)的输出作为放置在卷积‘inception_4a_3x3’层与bn‘inception_4a_3x3_bn’层之间的添加层的输入。

5.将batch_normalization(‘inception_4a_3x3_bn’)的输出作为放置在卷积‘inception_4b_3x3’层与bn‘inception_4b_3x3_bn’层之间的添加层的输入。

6.将batch_normalization(‘inception_4c_pool_proj_bn’)的输出作为放置在卷积‘inception_4e_3x3’层与bn‘inception_4e_3x3_bn’层之间的添加层的输入。

7.将batch_normalization(‘inception_4e_double_3x3_2_bn’)的输出作为放置在卷积‘inception_5a_3x3’层与bn‘inception_5a_3x3_bn’层之间的添加层的输入。

8.将batch_normalization(‘inception_5a_1x1_bn’)的输出作为放置在卷积‘inception_5a_double_3x3_2’层与bn‘inception_5a_double_3x3_2_bn’层之间的添加层的输入。

9.将batch_normalization(‘inception_5b_3x3_bn’)的输出作为放置在卷积‘inception_5b_pool_proj’层与bn‘inception_5b_pool_proj_bn’层之间的添加层的输入。

以上描述定义如下:

inception_3a_1x1=卷积2D(192,64,内核_大小=(1,1),步幅=(1,1))

inception_3a_1x1_bn=除批归一化之外如上所述

inception_3a_3x3=卷积2D(64,64,内核_大小=(3,3),步幅=(1,1),填充=(1,1))

inception_3a_5x5=卷积2D(32,32,内核_大小=(5,5),步幅=(1,1),填充=(1,1))

inception_3a_pool_proj=卷积2D(192,32,内核_大小=(1,1),步幅=(1,1))

inception_3a_double_3x3_2=卷积2D(96,96,内核_大小=(3,3),步幅=(1,1),填充=(1,1))

inception_3c_3x3=卷积2D(320,128,内核_大小=(1,1),步幅=(1,1))

inception_4a_3x3=卷积2D(576,64,内核_大小=(1,1),步幅=(1,1))

inception_4c_pool_proj=卷积2D(576,128,内核_大小=(1,1),步幅=(1,1))

inception_4e_double_3x3=卷积2D(608,192,内核_大小=(1,1),步幅=(1,1))

inception_5a_1x1=卷积2D(1056,352,内核_大小=(1,1),步幅=(1,1))

inception_5b_3x3=卷积2D(192,320,内核_大小=(3,3),步幅=(1,1),填充=(1,1))

如果_bn是名称的一部分,则后面使用批归一化,如inception_3a_1x1_bn示例中所示。

由于空间限制,并非整个修改后的网络都可以采用这种形式。然而,通过添加一个简单的快捷连接,提高了推理部分的精度并加快了训练过程。但是,折衷是ResNet更容易过度拟合,这是不可取的。实验证明,通过使用压差层和数据增强,可以减少过度拟合。

图5示出了网络的基本块示例,网络的放大部分如图6所示。

下面描述数据增强的详细情况。众所周知,深度学习网络的学习效果取决于是否有足够大的训练数据可用。数据增强是一种扩展训练数据的有效方法,其对标签数据应用变换和变形,从而使新样本成为额外训练数据。在这项工作中,使用了以下数据增强技术:随机亮度、随机翻转(从左到右翻转)和少许随机比对。添加这些不同版本的图像使网络能够对与这些不同表示有关的不同特性进行建模。因此,利用增强数据对深度网络进行训练可以提高其对未知样本的泛化能力。

下面描述网络训练的详细情况。使用交叉模态预训练技术,其中利用RGB模型来初始化时间网络。首先,通过线性变换将OF场(OF片段)离散为0到255的间隔。这一步骤使OF场的范围与RGB图像(RGB片段)相同。然后,修改RGB模型的第一卷积层的权重以处理OF场的输入。具体而言,将权重在RGB通道上取平均值,这个平均值由时间网络输入的通道数复制。

在学习过程中,通过批归一化可以估计出每个批次中的激活均值和方差,并使用它们将这些激活值转化为标准高斯分布。该操作加快了训练的收敛,但由于对来自有限数量的训练样本的激活分布的有偏估计,也会导致传递过程中出现过度拟合。因此,在通过预训练模型进行初始化之后,冻结除第一层外的所有批归一化层的均值和方差参数。由于OF的分布与RGB图像不同,所以第一卷积层的激活值将有不同的分布,因此需要重新估计均值和方差。在bn-inception架构中的全局池层之后添加额外的压差层,以进一步降低过度拟合的影响。数据增强可以生成不同的训练样本,防止严重的过度拟合。在原始双流ConvNet中,除了随机比对和亮度之外,还使用随机的从左到右翻转来增强训练样本。此外,还确定了输入图像或光流场的大小,以及所有训练和验证图像的宽度和高度。对于测试图像也类似地实现了这一点。

下面描述融合部分和网络测试的详细情况。由于所有片段级ConvNet在时间分段网络中共享模型参数,因此所学习的模型可以像一般的ConvNet一样执行逐帧评估。这使得能够与在没有时间分段网络框架的情况下学习的模型进行公平比较。具体来说,遵循原始双流ConvNet的测试方案,从动作视频中抽取25个RGB帧或光流堆栈作为样本。对于空间和时间流网络的融合,采用它们的加权平均值。这意味着:对于输入视频的每个RGB帧,求得网络输出的前8个预测值。然后,基于所有RGB帧对所有预测值进行分组,并且同样选择前8个预测值(基于多数票或出现频率)。为了仅基于RGB部分输出对输入视频的预测值,将排名第一(最可能)的预测值作为正确预测值,并且将其与其标签(地面真值预测值)进行比较。对于OF部分,重复相同的过程并获得仅基于该部分的预测值。要融合RGB部分和OF部分,则重复RGB和OF的过程,但这次要考虑前13个预测值。然后,从这两个部分中找到同一标签的归一化预测值的并集(总和),并选择得票最多的那个。

已经测试并应用了该融合启发法的一些变体。一种方法是采用归一化Softmax预测(在[0,1]区间中归一化),并且用前述方法来对归一化出现频率进行缩放。因此,将能够得到RGB和光流部分的输出,与上文所述类似。然后,在融合过程中求出所有预测值的归一化加权缩放出现频率的总和。最后,对于输出,将取最有可能的输出并将其与地面真值标签进行比较。融合函数的另一种变化是在上述缩放联合预测上采用额外权重和/或基于第一和第二排名之间的阈值差进行第一和第二排名的猜测,即,通过观察许多置信度对中RGB和OF的排名前两位的预测值之间的差,得出如下结论:对于超出一些可靠大阈值的差值以及对于RGB和OF,基于RGB或OF(或两者),确信正确预测值是排名第一的预测值。然后,将这个预测值作为正确预测值。

另外值得一提的是,空间流ConvNet与时间流ConvNet之间的性能差距远小于原始双流ConvNet中的性能差距。基于这一事实,实施例将空间流和时间流的权重设置为1并且按分类来分析它们的输出,从而给予空间流和时间流同等的信用。因此,在Softmax归一化之前使用分段共识函数。为了测试视频预测值,决定在Softmax归一化之前融合RGB和光流帧以及不同流的所有提取预测值的预测得分。

图7示出了根据本发明一实施例的方法。方法700用于识别视频101中的一个或多个活动,每个活动与一个预定标签104相关联。方法700使用深度学习网络102,并可由图1或图2所示的设备100执行。

在推理阶段,方法700包括:步骤701,接收视频101;步骤702,将视频101分为RGB部分101a和OF部分101b;步骤703,使用深度学习网络102的空间部分102a,基于RGB部分101a计算多个空间标签预测值103a;步骤704,使用深度学习网络102的时间部分102b,基于OF部分101b计算多个时间标签预测值103b;以及步骤705,融合空间标签预测值103a和时间标签预测值103b以获得与视频101中的活动相关联的标签104。

本发明实施例可通过硬件、软件或它们的任意组合来实施。本发明实施例,例如设备和/或硬件实施方式,可实施为各种合适电路中的任一个,例如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)、离散逻辑、硬件等,或它们的任意组合。实施例可包括计算机程序产品,这些计算机程序产品包括程序代码,程序代码在处理器上实施时,用于执行本文描述的任何一种方法。其它实施例可包括至少一个存储器和至少一个处理器,用于存储和执行程序代码以执行本文描述的任何一种方法。例如,实施例可包括一种设备,用于在合适的非瞬时性计算机可读存储介质中存储软件指令,并可使用一个或多个处理器在硬件中执行这些指令以执行本文描述的任何一种方法。

本发明已经结合作为实例的不同实施例以及实施方案进行了描述。但本领域技术人员通过实践所请发明,研究附图、本公开以及独立权项,能够理解并获得其它变体。在权利要求以及描述中,术语“包括”不排除其它元件或步骤,且“一个”并不排除复数可能。单个元件或其它单元可满足权利要求书中所叙述的若干实体或项目的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实,并不意味着这些措施的结合不能在有利的实现方式中使用。

相关技术
  • 识别视频图像对象的设备和方法、应用视频图像注释的设备和方法及识别视频图像对象的程序
  • 一种基于局部视频活动度的屏幕视频质量识别方法
技术分类

06120112852422