时空域行为的检测和跟踪方法、装置、存储介质及设备转让专利

申请号 : CN202210447912.8

文献号 : CN114549591B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨帆冯帅白立群胡建国

申请人 : 南京甄视智能科技有限公司

摘要 :

本申请公开了一种时空域行为的检测和跟踪方法、装置、存储介质及设备,属于图像处理技术领域。方法包括:将视频中的视频帧添加到预定长度的队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列;获取第一个视频帧中的各个目标对象的位置信息和跟踪标识;利用检测模型对位置信息、跟踪标识和视频帧序列进行处理,得到时空域特征矩阵;利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。本申请利用时空域特征矩阵进行目标检测和跟踪检测,在降低计算量的同时提升了目标跟踪的精度。

权利要求 :

1.一种时空域行为的检测和跟踪方法,其特征在于,所述方法包括:

将从视频中提取出的视频帧依次添加到预定长度的队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;

获取第一个视频帧中的各个目标对象的位置信息和跟踪标识;

利用预先训练的检测模型对所述位置信息、所述跟踪标识和所述视频帧序列进行处理,得到时空域特征矩阵;

利用所述检测模型对所述时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;

利用所述检测模型对所述时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识;

所述利用预先训练的检测模型对所述位置信息、所述跟踪标识和所述视频帧序列进行处理,得到时空域特征矩阵,包括:利用预先训练的检测模型对所述位置信息和所述跟踪标识生成注意力特征图和第一特征矩阵;利用所述检测模型对所述注意力特征图和所述视频帧序列生成第二特征矩阵;利用所述检测模型对所述第一特征矩阵和所述第二特征矩阵生成时空域特征矩阵;

所述利用预先训练的检测模型对所述位置信息和所述跟踪标识生成注意力特征图和第一特征矩阵,包括:利用所述检测模型,根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,将所有目标对象的高斯分布的数值填充至元素为0的掩码矩阵中的对应位置处,得到注意力特征图,所述掩码矩阵的尺度与所述视频帧的尺度相同;利用所述检测模型对所述位置信息和所述跟踪标识进行格式转换,利用全连接的线性层对转换后的特征矩阵进行处理,并在时间维度上采用重复操作将处理后的特征矩阵转换为第一特征矩阵。

2.根据权利要求1所述的方法,其特征在于,当所述位置信息为目标对象的检测框的坐标信息时,所述根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,包括:对于每个目标对象,根据所述目标对象的位置信息获取所述检测框的宽度和高度,根据所述宽度和所述高度计算所述高斯核的核大小,根据所述核大小计算高斯的标准差;

将所述核大小和所述标准差输入高斯核的公式中,得到两个尺度分布;

将所述两个尺度分布相乘,得到所述高斯分布。

3.根据权利要求1所述的方法,其特征在于,所述利用所述检测模型对所述注意力特征图和所述视频帧序列生成第二特征矩阵,包括:利用所述检测模型将所述注意力特征图和所述视频帧序列按照通道方向进行拼接,得到第三特征矩阵;

利用三维卷积神经网络中的前三次空间下采样结构对所述第三特征矩阵进行卷积处理,得到所述第二特征矩阵。

4.根据权利要求1所述的方法,其特征在于,所述利用所述检测模型对所述第一特征矩阵和所述第二特征矩阵生成时空域特征矩阵,包括:利用所述检测模型将所述第一特征矩阵和所述第二特征矩阵相加,得到第四特征矩阵;

利用三维卷积神经网络中的后两次空间下采样结构对所述第四特征矩阵进行卷积处理,得到第五特征矩阵;

利用所述检测模型对所述第五特征矩阵进行全局时空域池化处理,得到所述时空域特征矩阵。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在得到一个视频帧序列后,检测是否存在与所述第一个视频帧对应的位置信息和跟踪标识;

若存在与所述第一个视频帧对应的位置信息和跟踪标识,则触发执行所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤;

若不存在与所述第一个视频帧对应的位置信息和跟踪标识,则利用所述检测模型对所述视频帧序列进行前向计算,得到最后一个视频帧中的各个目标对象的位置信息和跟踪标识;将所述队列中除最后一个视频帧之外的视频帧取出,并继续将从所述视频中提取出的视频帧依次添加到所述队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;继续执行所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在得到所述目标对象的位置信息、行为分类信息和跟踪标识之后,将所述队列中除最后一个视频帧之外的视频帧取出,并继续将从所述视频中提取出的视频帧依次添加到所述队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;继续执行所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤。

7.根据权利要求1至6中任一项所述的方法,其特征在于,

在所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识之后,所述方法还包括:若所述跟踪标识的实际数值超过预定数值范围,则根据字典数据将所述实际数值映射为所述预定数值范围内的一个数值;

在得到最后一个视频帧中各个目标对象的跟踪标识之后,所述方法还包括:根据所述字典数据将所述跟踪标识的数值映射为实际数值。

8.一种时空域行为的检测和跟踪装置,其特征在于,所述装置包括:

序列生成模块,用于将从视频中提取出的视频帧依次添加到预定长度的队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;

信息获取模块,用于获取第一个视频帧中的各个目标对象的位置信息和跟踪标识;

矩阵生成模块,用于利用预先训练的检测模型对所述位置信息、所述跟踪标识和所述视频帧序列进行处理,得到时空域特征矩阵;

目标检测模块,应用于利用所述检测模型对所述时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;

目标跟踪模块,用于利用所述检测模型对所述时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识;

所述矩阵生成模块,还用于:利用预先训练的检测模型对所述位置信息和所述跟踪标识生成注意力特征图和第一特征矩阵;利用所述检测模型对所述注意力特征图和所述视频帧序列生成第二特征矩阵;利用所述检测模型对所述第一特征矩阵和所述第二特征矩阵生成时空域特征矩阵;

所述矩阵生成模块,还用于:利用所述检测模型,根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,将所有目标对象的高斯分布的数值填充至元素为0的掩码矩阵中的对应位置处,得到注意力特征图,所述掩码矩阵的尺度与所述视频帧的尺度相同;利用所述检测模型对所述位置信息和所述跟踪标识进行格式转换,利用全连接的线性层对转换后的特征矩阵进行处理,并在时间维度上采用重复操作将处理后的特征矩阵转换为第一特征矩阵。

9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至7任一所述的时空域行为的检测和跟踪方法。

10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至7任一所述的时空域行为的检测和跟踪方法。

说明书 :

时空域行为的检测和跟踪方法、装置、存储介质及设备

技术领域

[0001] 本申请涉及图像处理技术领域,特别涉及一种时空域行为的检测和跟踪方法、装置、存储介质及设备。

背景技术

[0002] 时空域行为的检测在行为识别领域的地位是非常重要的,在智能安防、无人驾驶等领域有着非常广泛的应用场景,在实际应用中,常常结合目标跟踪算法对特定目标对象的持续的行为进行统计和分析。
[0003] 现有技术中是将时空域行为检测和目标跟踪算法独立为两个完全不同的任务。在进行目标跟踪时,基于检测框的目标检测是通过两帧之间的检测框交并比以及通过卡尔曼估计运动方向,此方法抵挡遮挡性能较差。基于视觉特征的目标检测是将人体的特征提取并缓存,与后续的人体特征做相似度比较,此方法可以抵挡遮挡等问题,但是无法抵挡相似服装(例如校服,统一制服),同时计算量也较大,特征提取计算量与人数线性相关,比对计算量与人数指数相关。

发明内容

[0004] 本申请提供了一种时空域行为的检测和跟踪方法、装置、存储介质及设备,用于解决在检测时空域行为的同时进行目标跟踪时,目标跟踪的精度较差且计算量较大的问题。所述技术方案如下:
[0005] 一方面,提供了一种时空域行为的检测和跟踪方法,所述方法包括:
[0006] 将从视频中提取出的视频帧依次添加到预定长度的队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;
[0007] 获取第一个视频帧中的各个目标对象的位置信息和跟踪标识;
[0008] 利用预先训练的检测模型对所述位置信息、所述跟踪标识和所述视频帧序列进行处理,得到时空域特征矩阵;
[0009] 利用所述检测模型对所述时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;
[0010] 利用所述检测模型对所述时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。
[0011] 在一种可能的实现方式中,所述利用预先训练的检测模型对所述位置信息、所述跟踪标识和所述视频帧序列进行处理,得到时空域特征矩阵,包括:
[0012] 利用预先训练的检测模型对所述位置信息和所述跟踪标识生成注意力特征图和第一特征矩阵;
[0013] 利用所述检测模型对所述注意力特征图和所述视频帧序列生成第二特征矩阵;
[0014] 利用所述检测模型对所述第一特征矩阵和所述第二特征矩阵生成时空域特征矩阵。
[0015] 在一种可能的实现方式中,所述利用预先训练的检测模型对所述位置信息和所述跟踪标识生成注意力特征图和第一特征矩阵,包括:
[0016] 利用所述检测模型,根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,将所有目标对象的高斯分布的数值填充至元素为0的掩码矩阵中的对应位置处,得到注意力特征图,所述掩码矩阵的尺度与所述视频帧的尺度相同;
[0017] 利用所述检测模型对所述位置信息和所述跟踪标识进行格式转换,利用全连接的线性层对转换后的特征矩阵进行处理,并在时间维度上采用重复操作将处理后的特征矩阵转换为第一特征矩阵。
[0018] 在一种可能的实现方式中,当所述位置信息为目标对象的检测框的坐标信息时,所述根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,包括:
[0019] 对于每个目标对象,根据所述目标对象的位置信息获取所述检测框的宽度和高度,根据所述宽度和所述高度计算所述高斯核的核大小,根据所述核大小计算高斯的标准差;
[0020] 将所述核大小和所述标准差输入高斯核的公式中,得到两个尺度分布;
[0021] 将所述两个尺度分布相乘,得到所述高斯分布。
[0022] 在一种可能的实现方式中,所述利用所述检测模型对所述注意力特征图和所述视频帧序列生成第二特征矩阵,包括:
[0023] 利用所述检测模型将所述注意力特征图和所述视频帧序列按照通道方向进行拼接,得到第三特征矩阵;
[0024] 利用三维卷积神经网络中的前三次空间下采样结构对所述第三特征矩阵进行卷积处理,得到所述第二特征矩阵。
[0025] 在一种可能的实现方式中,所述利用所述检测模型对所述第一特征矩阵和所述第二特征矩阵生成时空域特征矩阵,包括:
[0026] 利用所述检测模型将所述第一特征矩阵和所述第二特征矩阵相加,得到第四特征矩阵;
[0027] 利用三维卷积神经网络中的后两次空间下采样结构对所述第四特征矩阵进行卷积处理,得到第五特征矩阵;
[0028] 利用所述检测模型对所述第五特征矩阵进行全局时空域池化处理,得到所述时空域特征矩阵。
[0029] 在一种可能的实现方式中,所述方法还包括:
[0030] 在得到一个视频帧序列后,检测是否存在与所述第一个视频帧对应的位置信息和跟踪标识;
[0031] 若存在与所述第一个视频帧对应的位置信息和跟踪标识,则触发执行所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤;
[0032] 若不存在与所述第一个视频帧对应的位置信息和跟踪标识,则利用所述检测模型对所述视频帧序列进行前向计算,得到最后一个视频帧中的各个目标对象的位置信息和跟踪标识;将所述队列中除最后一个视频帧之外的视频帧取出,并继续将从所述视频中提取出的视频帧依次添加到所述队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;继续执行所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤。
[0033] 在一种可能的实现方式中,所述方法还包括:
[0034] 在得到所述目标对象的位置信息、行为分类信息和跟踪标识之后,将所述队列中除最后一个视频帧之外的视频帧取出,并继续将从所述视频中提取出的视频帧依次添加到所述队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;继续执行所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤。
[0035] 在一种可能的实现方式中,在所述获取第一个视频帧中的各个目标对象的位置信息和跟踪标识之后,所述方法还包括:若所述跟踪标识的实际数值超过预定数值范围,则根据字典数据将所述实际数值映射为所述预定数值范围内的一个数值;
[0036] 在得到最后一个视频帧中各个目标对象的跟踪标识之后,所述方法还包括:根据所述字典数据将所述跟踪标识的数值映射为实际数值。
[0037] 一方面,提供了一种时空域行为的检测和跟踪装置,所述装置包括:
[0038] 序列生成模块,用于将从视频中提取出的视频帧依次添加到预定长度的队列中,直至所述队列中的视频帧的数量达到所述预定长度时得到一个视频帧序列;
[0039] 信息获取模块,用于获取第一个视频帧中的各个目标对象的位置信息和跟踪标识;
[0040] 矩阵生成模块,用于利用预先训练的检测模型对所述位置信息、所述跟踪标识和所述视频帧序列进行处理,得到时空域特征矩阵;
[0041] 目标检测模块,应用于利用所述检测模型对所述时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;
[0042] 目标跟踪模块,用于利用所述检测模型对所述时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。
[0043] 一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的时空域行为的检测和跟踪方法。
[0044] 一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的时空域行为的检测和跟踪方法。
[0045] 本申请提供的技术方案的有益效果至少包括:
[0046] 通过获取视频帧序列中第一个视频帧中的各个目标对象的位置信息和跟踪标识;利用预先训练的检测模型对位置信息、跟踪标识和视频帧序列进行处理,得到时空域特征矩阵;利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。由于时空域特征矩阵自带高质量的时域和空域特征,这样,可以利用时空域特征矩阵进行目标检测和跟踪检测,在降低计算量的同时提升了目标跟踪的精度,从而有效提升特定目标行为的统计和分析准确性。

附图说明

[0047] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048] 图1是本申请一个实施例提供的时空域行为的检测和跟踪方法的方法流程图;
[0049] 图2是本申请另一实施例提供的时空域行为的检测和跟踪方法的方法流程图;
[0050] 图3是本申请另一实施例提供的检测模型的机构示意图;
[0051] 图4是本申请再一实施例提供的时空域行为的检测和跟踪装置的结构框图;
[0052] 图5是本申请再一实施例提供的时空域行为的检测和跟踪装置的结构框图。

具体实施方式

[0053] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0054] 请参考图1,其示出了本申请一个实施例提供的时空域行为的检测和跟踪方法的方法流程图,该时空域行为的检测和跟踪方法可以应用于计算机设备中。该时空域行为的检测和跟踪方法,可以包括:
[0055] 步骤101,将从视频中提取出的视频帧依次添加到预定长度的队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列。
[0056] 本实施例中,计算机设备可以获取摄像头拍摄的视频,并按照一定的采样率从该视频中提取出视频帧。在得到视频帧之后,计算机设备可以对视频帧进行尺度和像素归一化,并按照每隔S帧的频率将归一化之后的视频帧依次压入(push)到队列Q中。当队列中的视频帧的数量达到队列的预定长度L时,即队列满了之后停止,将队列中的所有视频帧组成视频帧序列。
[0057] 步骤102,获取第一个视频帧中的各个目标对象的位置信息和跟踪标识。
[0058] 计算机设备可以将最先压入队列Q的视频帧确定为视频帧序列中的第一个视频帧,并获取第一个视频帧中的各个目标对象的位置信息和跟踪标识。其中,位置信息可以是目标对象的检测框的坐标信息,跟踪标识可以是在首次检测到每个目标对象时分配的一个标识。本实施例中,跟踪标识的数量限制为N,可根据具体任务设定N,一般来说N等于100可以满足大多数应用。比如,预定数值范围为0‑99,则跟踪标识可以是0‑99之内的一个数值,且不同目标对象的跟踪标识的数值不同。
[0059] 步骤103,利用预先训练的检测模型对位置信息、跟踪标识和视频帧序列进行处理,得到时空域特征矩阵。
[0060] 本实施例中的检测模型可以由计算机设备训练得到,也可以由其他设备训练后发送给计算机设备,本实施例不限定检测模型的来源。
[0061] 时空域行为的检测需要依赖于时空域特征矩阵。对于目标对象的跟踪来说,其对于时序信息的依赖也是非常大的,所以,可以将为时空域行为的检测提取到时空域特征矩阵共享给目标对象的跟踪,从而可以端到端地实现时空域行为检测和目标跟踪。其中,时空域特征矩阵的计算方式详见下文中的描述,此处不作赘述。
[0062] 步骤104,利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息。
[0063] 检测模型可以对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息。其中,目标检测方法可以通过YOLO一阶段检测器等实现。行为分类信息是对视频帧序列中的动作进行分类后得到的信息,可以表征至少一种行为。
[0064] 步骤105,利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。
[0065] 跟踪标识的检测是一个回归问题,但是,理论上跟踪标识的数量是无限的,预测任意数值的难度较大,所以,跟踪标识的预测本质上是预测目标对象的跟踪标识是否已经存在的问题,本发明中将其转换为分类问题,即预测跟踪标识是否属于同一个类别。
[0066] 本实施例中的跟踪标识分为两组,分别为历史标识和新增标识,对于一个目标来说两者为互斥关系。简单来说,当最后一个视频帧中的目标对象也出现在第一个视频帧中时,该目标对象的跟踪标识为历史标识;当最后一个视频帧中的目标对象未出现在第一个视频帧中时,该目标对象的跟踪标识为新增标识。
[0067] 本实施例提供的检测方式,在一个视频帧序列之内具有较好的抗遮挡,形变,光线变化,视角变化等增益。在一些剧烈运动、快速变化和遮挡频繁的场景(例如足球运动,多人打架等)中,可以持续稳定的对目标对象进行跟踪和行为识别。
[0068] 综上所述,本申请实施例提供的时空域行为的检测和跟踪方法,通过获取视频帧序列中第一个视频帧中的各个目标对象的位置信息和跟踪标识;利用预先训练的检测模型对位置信息、跟踪标识和视频帧序列进行处理,得到时空域特征矩阵;利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。由于时空域特征矩阵自带高质量的时域和空域特征,这样,可以利用时空域特征矩阵进行目标检测和跟踪检测,在降低计算量的同时提升了目标跟踪的精度,从而有效提升特定目标行为的统计和分析准确性。
[0069] 请参考图2,其示出了本申请一个实施例提供的时空域行为的检测和跟踪方法的方法流程图,该时空域行为的检测和跟踪方法可以应用于计算机设备中。该时空域行为的检测和跟踪方法,可以包括:
[0070] 步骤201,将从视频中提取出的视频帧依次添加到预定长度的队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列。
[0071] 本实施例中,计算机设备可以获取摄像头拍摄的视频,并按照一定的采样率从该视频中提取出视频帧。在得到视频帧之后,计算机设备可以对视频帧进行尺度和像素归一化,并按照每隔S帧的频率将归一化之后的视频帧依次压入(push)到队列Q中。当队列中的视频帧的数量达到队列的预定长度L时,即队列满了之后停止,将队列中的所有视频帧组成视频帧序列。
[0072] 在得到一个视频帧序列后,计算机设备需要检测是否存在与第一个视频帧对应的位置信息和跟踪标识;若存在与第一个视频帧对应的位置信息和跟踪标识,则触发执行步骤202;若不存在与第一个视频帧对应的位置信息和跟踪标识,则利用检测模型对视频帧序列进行前向计算,得到最后一个视频帧中的各个目标对象的位置信息和跟踪标识;将队列中除最后一个视频帧之外的视频帧取出,并继续将从视频中提取出的视频帧依次添加到队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列;继续执行步骤202。
[0073] 简单来说,当第一次进行检测时,压入队列中的第一个视频帧并不存在对应的位置信息和跟踪标识,所以,需要利用检测模型对其进行前向计算,以得到最后一个视频帧中的目标对象的位置信息和跟踪标识。然后,可以将除最后一个视频帧之外的视频帧取出,并继续向队列中压入新的视频帧,这样即可将前一个视频帧序列中的最后一个视频帧作为后一个视频帧序列中的第一个视频帧,即可得到第一个视频帧对应的位置信息和跟踪标识。
[0074] 步骤202,获取第一个视频帧中的各个目标对象的位置信息和跟踪标识。
[0075] 计算机设备可以将最先压入队列Q的视频帧确定为视频帧序列中的第一个视频帧,并获取第一个视频帧中的各个目标对象的位置信息和跟踪标识。其中,位置信息可以是目标对象的检测框的坐标信息,跟踪标识可以是在首次检测到每个目标对象时分配的一个标识。本实施例中,跟踪标识的最大数量为N,可根据具体任务设定N,一般来说N等于100可以满足大多数应用场景。比如,预定数值范围为0‑99,则跟踪标识可以是0‑99之内的一个数值,且不同目标对象的跟踪标识的数值不同。
[0076] 由于需要为每次检测到的目标对象分配不同的跟踪标识,在多次检测后,可能为目标对象分配的跟踪标识的实际数值已经超过预定数值范围,此时需要通过字典数据将其映射到预定数值范围之内,并以映射后的数值进行检测,在检测完成后对其进行恢复。具体的,在获取第一个视频帧中的各个目标对象的位置信息和跟踪标识之后,若跟踪标识的实际数值超过预定数值范围,则计算机设备根据字典数据将实际数值映射为预定数值范围内的一个数值。比如,分配给一个目标对象的跟踪标识的实际数值为130,则需要将其映射为0‑99之内的一个数值,假设映射为5,则可以在字典数据中记录130和5的对应关系,并以跟踪标识为5对该目标对象进行后续的检测。
[0077] 步骤203,利用预先训练的检测模型对位置信息和跟踪标识生成注意力特征图和第一特征矩阵。
[0078] 本实施例中的检测模型可以由计算机设备训练得到,也可以由其他设备训练后发送给计算机设备,本实施例不限定检测模型的来源。
[0079] 在生成注意力特征图时,利用检测模型,根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,将所有目标对象的高斯分布的数值填充至元素为0的掩码矩阵中的对应位置处,得到注意力特征图,掩码矩阵的尺度与视频帧的尺度相同。也即,注意力特征图的尺度与视频帧的尺度相同。
[0080] 具体的,当位置信息为目标对象的检测框的坐标信息时,根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,可以包括:对于每个目标对象,根据目标对象的位置信息获取检测框的宽度和高度,根据宽度和高度计算高斯核的核大小,根据核大小计算高斯的标准差;将核大小和标准差输入高斯核的公式中,得到两个尺度分布;将两个尺度分布相乘,得到高斯分布。
[0081] 其中,高斯核的公式为 。其中,ksize为核大小,2
sigma为高斯的标准差,i为0(ksize‑1)的数值,α=1/(2*pi*sigma),pi是圆周率。
~
[0082] 对于每个目标对象,假设其检测框的宽度为width,高度为height,根据宽高获得的ksize分别为wk和hk(如果不为奇数则减一),sigma=ksize/2,可得到两个尺度分布为1×wk和1×hk的高斯分布,然后,将1xwk和1xhk相乘,即可得到尺度为hk×wk的高斯分布G,然后将高斯分布G填充至与视频帧的尺度一致且元素全部为0的掩码矩阵中相应的位置处,将所有的目标对象填充完毕便可获得一张注意力特征图。
[0083] 注意力特征图可以使得检测模型更好的关注已经有跟踪标识的目标对象,与将位置信息和跟踪标识输入到全连接层获取的特征矩阵相辅相成。通过时空域特征,检测模型不仅可以对已有目标对象在时域中进行跟踪,也可以发现新的目标对象,并对所有目标对象的行为进行预测。
[0084] 在生成第一特征矩阵时,利用检测模型对位置信息和跟踪标识进行格式转换,利用全连接的线性层对转换后的特征矩阵进行处理,并在时间维度上采用重复操作将处理后的特征矩阵转换为第一特征矩阵。
[0085] 检测模型将第一个视频帧的位置信息和跟踪标识转换成尺度为B*(5N)的特征矩阵,N是跟踪标识的最大数量,B是批大小(batch size)。然后,检测模型将转换后的特征矩阵输入全连接的线性层,输出尺度为B*(W1*H1)的特征矩阵。最后,检测模型在T1维度上采用重复操作(repeat)将输出的特征矩阵转化为尺度为B*W1*H1*T1的第一特征矩阵。
[0086] 步骤204,利用检测模型对注意力特征图和视频帧序列生成第二特征矩阵。
[0087] 具体的,利用检测模型对注意力特征图和视频帧序列生成第二特征矩阵,可以包括:利用检测模型将注意力特征图和视频帧序列按照通道方向进行拼接,得到第三特征矩阵;利用三维卷积神经网络中的前三次空间下采样结构对第三特征矩阵进行卷积处理,得到第二特征矩阵。
[0088] 其中,三维卷积神经网络可以采用包括不限于ResNet 3DCNN(Convolutional Neural Networks,卷积神经网络)、C3D、SlowFast等主流的3DCNN骨干网络 ,一般将其前三次空间下采样结构作为第一阶段(stage1)3DCNN的主干网络,后两次空间下采样网络作为第二阶段(stage2)3DCNN的主干网络,如图3所示。
[0089] 其中,第二特征矩阵的尺度为B*W1*H1*C1*T1。
[0090] 步骤205,利用检测模型对第一特征矩阵和第二特征矩阵生成时空域特征矩阵。
[0091] 具体的,利用检测模型对第一特征矩阵和第二特征矩阵生成时空域特征矩阵,可以包括:利用检测模型将第一特征矩阵和第二特征矩阵相加,得到第四特征矩阵;利用三维卷积神经网络中的后两次空间下采样结构对第四特征矩阵进行卷积处理,得到第五特征矩阵;利用检测模型对第五特征矩阵进行全局时空域池化处理,得到时空域特征矩阵。
[0092] 第一特征矩阵的尺度为B*W1*H1*T1,第二特征矩阵的尺度为B*W1*H1*C1*T1,可以在每个通道(C)上将第一特征矩阵和第二特征矩阵相加,得到尺度为B*W1*H1*C1*T1的第四特征矩阵,然后,将第四特征矩阵输入第二阶段3DCNN进行卷积处理,得到尺度为B*W2*H2*C2*T2的第五特征矩阵,然后,将第五特征矩阵经过全局时空域池化之后得到尺度为B*W3*H3的时空域特征矩阵。
[0093] 步骤206,利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息。
[0094] 检测模型可以对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息。其中,目标检测方法可以通过YOLO一阶段检测器等实现。
[0095] 步骤207,利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。
[0096] 跟踪标识的检测是一个回归问题,但是,理论上跟踪标识的数量是无限的,预测任意数值的难度较大,所以,跟踪标识的预测本质上是预测目标对象的跟踪标识是否已经存在的问题,本发明中将其转换为分类问题,即预测跟踪标识是否属于同一个类别。
[0097] 本实施例中的跟踪标识分为两组,分别为历史标识和新增标识,对于一个目标来说两者为互斥关系。简单来说,当最后一个视频帧中的目标对象也出现在第一个视频帧中时,该目标对象的跟踪标识为历史标识;当最后一个视频帧中的目标对象未出现在第一个视频帧中时,该目标对象的跟踪标识为新增标识。
[0098] 需要说明的是,若在检测之前对跟踪标识的实际数值进行了映射,则在得到最后一个视频帧中各个目标对象的跟踪标识之后,计算机设备还需要根据字典数据将跟踪标识的数值映射为实际数值。仍以将130映射为5为例,则计算机设备在得到跟踪标识的数值为5后,根据字典数据中的对应关系查找到对应的实际数值为130,则将该目标对象的跟踪标识恢复为130。
[0099] 在得到目标对象的位置信息、行为分类信息和跟踪标识之后,计算机设备可以将队列中除最后一个视频帧之外的视频帧取出,并继续将从视频中提取出的视频帧依次添加到队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列;继续执行获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤。即,在完成当前的视频帧序列的检测后,将该视频帧序列中的最后一个视频帧作为下一个视频帧序列中的第一个视频帧,并继续对下一个视频帧序列进行检测,每个视频帧序列的检测流程相同,这里就不再赘述了。
[0100] 本实施例提供的检测方式,在一个视频帧序列之内具有较好的抗遮挡,形变,光线变化,视角变化等增益。在一些剧烈运动、快速变化和遮挡频繁的场景(例如足球运动,多人打架等)中,可以持续稳定的对目标对象进行跟踪和行为识别。
[0101] 综上所述,本申请实施例提供的时空域行为的检测和跟踪方法,通过获取视频帧序列中第一个视频帧中的各个目标对象的位置信息和跟踪标识;利用预先训练的检测模型对位置信息、跟踪标识和视频帧序列进行处理,得到时空域特征矩阵;利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。由于时空域特征矩阵自带高质量的时域和空域特征,这样,可以利用时空域特征矩阵进行目标检测和跟踪检测,在降低计算量的同时提升了目标跟踪的精度,从而有效提升特定目标行为的统计和分析准确性。
[0102] 下面对计算机设备训练检测模型的流程进行说明。
[0103] 在训练检测模型之前,需要先准备训练集。本实施例中,计算机设备可以通过数据截取将视频按照每一秒间隔截取成D秒的视频片段,然后从视频片段中截取视频帧。若帧率为F,则可以将视频片段截取为一个包含F*D=M个视频帧的视频帧序列。
[0104] 在一个视频帧序列中,可以将第一个视频帧作为辅助帧,最后一个视频帧作为关键帧。在对第一个视频帧进行标注时,需要标注目标对象的检测框的坐标信息和对应的跟踪标识;在对最后一个视频帧进行标注时,需要标注目标对象的检测框的坐标信息、行为分类信息和对应的跟踪标识。
[0105] 在训练时,检测模型从标注好的训练样本中随机采样得到的LS个视频帧(LS一般为32,64等),在采样时需要确保第一个视频帧和最后一个视频帧被采样到。然后,可以对采样到的LS个视频帧进行随机裁剪,色彩抖动等数据扩增,并将每个视频帧中的像素值归一化到0‑1 之间,然后将处理后的视频帧序列输入到检测模型中。检测模型中的优化器采用ADAM,网络的初始学习率(learning rate)和权重衰减参数(weight decay)分布为0.01,0.00005,使用8块NVIDIA 2080TI GPU随机初始化训练,批大小(batch size)设置成32,一共迭代200轮,每40轮学习率降低一半。按照上述参数和训练样本对检测模型进行训练,最终选择一个检测效果最好的检测模型。
[0106] 请参考图4,其示出了本申请一个实施例提供的时空域行为的检测和跟踪装置的结构框图,该时空域行为的检测和跟踪装置可以应用于计算机设备中。该时空域行为的检测和跟踪装置,可以包括:
[0107] 序列生成模块410,用于将从视频中提取出的视频帧依次添加到预定长度的队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列;
[0108] 信息获取模块420,用于获取第一个视频帧中的各个目标对象的位置信息和跟踪标识;
[0109] 矩阵生成模块430,用于利用预先训练的检测模型对位置信息、跟踪标识和视频帧序列进行处理,得到时空域特征矩阵;
[0110] 目标检测模块440,应用于利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;
[0111] 目标跟踪模块450,用于利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。
[0112] 在一个可选的实施例中,矩阵生成模块430,还用于:
[0113] 利用预先训练的检测模型对位置信息和跟踪标识生成注意力特征图和第一特征矩阵;
[0114] 利用检测模型对注意力特征图和视频帧序列生成第二特征矩阵;
[0115] 利用检测模型对第一特征矩阵和第二特征矩阵生成时空域特征矩阵。
[0116] 在一个可选的实施例中,矩阵生成模块430,还用于:
[0117] 利用检测模型,根据高斯核对每个目标对象的位置信息和跟踪标识计算高斯分布,将所有目标对象的高斯分布的数值填充至元素为0的掩码矩阵中的对应位置处,得到注意力特征图,掩码矩阵的尺度与视频帧的尺度相同;
[0118] 利用检测模型对位置信息和跟踪标识进行格式转换,利用全连接的线性层对转换后的特征矩阵进行处理,并在时间维度上采用重复操作将处理后的特征矩阵转换为第一特征矩阵。
[0119] 在一个可选的实施例中,当位置信息为目标对象的检测框的坐标信息时,矩阵生成模块430,还用于:
[0120] 对于每个目标对象,根据目标对象的位置信息获取检测框的宽度和高度,根据宽度和高度计算高斯核的核大小,根据核大小计算高斯的标准差;
[0121] 将核大小和标准差输入高斯核的公式中,得到两个尺度分布;
[0122] 将两个尺度分布相乘,得到高斯分布。
[0123] 在一个可选的实施例中,矩阵生成模块430,还用于:
[0124] 利用检测模型将注意力特征图和视频帧序列按照通道方向进行拼接,得到第三特征矩阵;
[0125] 利用三维卷积神经网络中的前三次空间下采样结构对第三特征矩阵进行卷积处理,得到第二特征矩阵。
[0126] 在一个可选的实施例中,矩阵生成模块430,还用于:
[0127] 利用检测模型将第一特征矩阵和第二特征矩阵相加,得到第四特征矩阵;
[0128] 利用三维卷积神经网络中的后两次空间下采样结构对第四特征矩阵进行卷积处理,得到第五特征矩阵;
[0129] 利用检测模型对第五特征矩阵进行全局时空域池化处理,得到时空域特征矩阵。
[0130] 请参考图5,在一个可选的实施例中,该装置还包括:
[0131] 检测模块460,用于在得到一个视频帧序列后,检测是否存在与第一个视频帧对应的位置信息和跟踪标识;
[0132] 触发模块470,用于若存在与第一个视频帧对应的位置信息和跟踪标识,则触发执行获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤;
[0133] 触发模块470,还用于若不存在与第一个视频帧对应的位置信息和跟踪标识,则利用检测模型对视频帧序列进行前向计算,得到最后一个视频帧中的各个目标对象的位置信息和跟踪标识;将队列中除最后一个视频帧之外的视频帧取出,并继续将从视频中提取出的视频帧依次添加到队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列;继续执行获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤。
[0134] 在一个可选的实施例中,序列生成模块410,还用于:
[0135] 在得到目标对象的位置信息、行为分类信息和跟踪标识之后,将队列中除最后一个视频帧之外的视频帧取出,并继续将从视频中提取出的视频帧依次添加到队列中,直至队列中的视频帧的数量达到预定长度时得到一个视频帧序列;继续执行获取第一个视频帧中的各个目标对象的位置信息和跟踪标识的步骤。
[0136] 在一个可选的实施例中,在获取第一个视频帧中的各个目标对象的位置信息和跟踪标识之后,该装置还包括:映射模块480,用于若跟踪标识的实际数值超过预定数值范围,则根据字典数据将实际数值映射为预定数值范围内的一个数值;
[0137] 在得到最后一个视频帧中各个目标对象的跟踪标识之后,映射模块480,还用于:根据字典数据将跟踪标识的数值映射为实际数值。
[0138] 综上所述,本申请实施例提供的时空域行为的检测和跟踪装置,通过获取视频帧序列中第一个视频帧中的各个目标对象的位置信息和跟踪标识;利用预先训练的检测模型对位置信息、跟踪标识和视频帧序列进行处理,得到时空域特征矩阵;利用检测模型对时空域特征矩阵进行目标检测,得到最后一个视频帧中各个目标对象的位置信息和行为分类信息;利用检测模型对时空域特征矩阵进行跟踪检测,得到最后一个视频帧中各个目标对象的跟踪标识。由于时空域特征矩阵自带高质量的时域和空域特征,这样,可以利用时空域特征矩阵进行目标检测和跟踪检测,在降低计算量的同时提升了目标跟踪的精度,从而有效提升特定目标行为的统计和分析准确性。
[0139] 本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的时空域行为的检测和跟踪方法。
[0140] 本申请一个实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的时空域行为的检测和跟踪方法。
[0141] 需要说明的是:上述实施例提供的时空域行为的检测和跟踪装置在进行时空域行为的检测和跟踪时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将时空域行为的检测和跟踪装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的时空域行为的检测和跟踪装置与时空域行为的检测和跟踪方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0142] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0143] 以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。