1.本技术涉及计算机视觉技术领域,特别是涉及一种编码器训练方法、行为识别方法、电子设备和存储介质。
背景技术:
2.行为识别作为计算机视觉领域的一个重要分支,行为识别模型的应用场景变得更加广泛,相较于rgb图像组成的视频流,骨架序列具有不易受背景、光照和视角等因素的干扰而且计算代价小的优势,因此,基于骨架序列的行为识别方法越来越受到人们的重视。现有的行为识别模型通常使用门控循环单元(gate recurrent unit,gru)或长短时记忆网络(longshort term memory,lstm)作为编码器,由于gru和lstm缺少对空间的建模能力,导致行为识别模型中的编码器对骨架序列进行编码时的空间建模能力不足,对骨架序列进行编码的准确性较低。
技术实现要素:
3.本技术主要解决的技术问题是提供一种编码器训练方法、行为识别方法、电子设备和存储介质,能够增强编码器对骨架序列进行编码时的空间建模能力,提高编码器对骨架序列进行编码的准确性。
4.为解决上述技术问题,本技术第一方面提供一种编码器训练方法,包括:获取训练目标对应的骨架视频帧序列;其中,所述骨架视频帧序列中每个骨架视频帧包括基于所述训练目标的第一数量的关节点确定的骨架信息;所述第一数量为大于1的整数;对所述骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对所述骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列;所述第三数量为小于所述第一数量的整数;利用所述时间遮挡骨架序列、所述空间遮挡骨架序列和所述骨架视频帧序列,调整所述编码器的参数;响应于满足第一收敛条件,输出训练后的所述编码器。
5.为解决上述技术问题,本技术第二方面提供一种行为识别方法,包括:获取待处理视频帧序列中待处理目标对应的待处理骨架序列;将所述待处理骨架序列输入行为识别模型,获得所述待处理目标对应的行为识别结果;其中,所述行为识别模型包括编码器和分类器,且所述编码器基于上述第一方面所述的编码器训练方法获得。
6.为解决上述技术问题,本技术第三方面提供一种电子设备,该电子设备包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行上述第一方面或上述第二方面所述的方法。
7.为解决上述技术问题,本技术第四方面提供一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述第一方面或上述第二方面所述的方法。
8.上述方案,获取骨架视频帧序列中训练目标对应的骨架视频帧序列,在骨架视频
帧序列的基础上对部分骨架视频帧进行随机遮挡生成时间遮挡骨架序列,在骨架视频帧序列的基础上对骨架中部分关节点进行随机遮挡生成空间遮挡骨架序列,利用时间遮挡骨架序列和空间遮挡骨架序列对编码器进行训练。其中,在训练编码器之前无需对骨架视频帧序列进行大量标注,即可基于自监督学习的方式对编码器进行训练,提高了编码器训练的便捷度,减少了进行人为标注的消耗,时间遮挡骨架序列用于对编码器的时域建模能力进行训练,空间遮挡骨架序列用于对编码器的空间建模能力进行训练,因此训练完成后所获得的编码器相较于现有的gru和lstm对骨架序列进行编码时的具有较优的空间建模能力,兼顾时域建模能力和空间建模能力从而提高对骨架序列进行编码的准确性。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
10.图1是本技术编码器训练方法一实施方式的流程示意图;
11.图2是本技术编码器训练方法另一实施方式的流程示意图;
12.图3是本技术编码器一实施方式的结构示意图;
13.图4是图2中步骤s204对应的一实施方式的流程示意图;
14.图5是本技术行为识别方法一实施方式的流程示意图;
15.图6是本技术电子设备一实施方式的结构示意图;
16.图7是本技术计算机存储介质一实施方式的结构示意图。
具体实施方式
17.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
18.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
19.请参阅图1,图1是本技术编码器训练方法一实施方式的流程示意图,该方法包括:
20.s101:获取训练目标对应的骨架视频帧序列。
21.具体地,骨架视频帧序列中每个骨架视频帧包括基于训练目标的第一数量的关节点确定的骨架信息,第一数量为大于1的整数。通过摄像装置采集或从视频数据库中提取包括训练目标的训练视频数据,从训练视频数据中获取训练目标完成不同类型的动作时的完整视频流,将视频流中至少部分视频帧中训练目标对应的骨架按时序排列,获得训练目标对应的骨架视频帧序列。其中,训练目标的动作类型至少包括步行、快跑、跳跃和跌倒。
22.在一应用方式中,获得训练视频数据后,将行人作为训练目标,提取训练数据中训
练目标对应的不同类型的动作对应的完整视频流,从所有类型的动作对应的完整视频流中提取至少部分视频帧中训练目标对应的第一数量的关节点,将关节点按人体结构连接生成骨架信息,并按视频帧的时序对骨架信息进行排序从而获得骨架视频帧序列,其中,骨架视频帧序列中包括训练目标对应的动作在起始帧和终止帧中的骨架。
23.可选地,在其他应用方式中,获得训练视频数据后,也可以将动物作为训练目标,本技术对训练目标的类型不做具体限定。
24.在一应用场景中,基于微软公司的kinect采集训练视频数据并对训练目标的骨骼和关节点进行跟踪,从而直接获取包含训练目标的骨架信息的视频序列,生成骨架视频序列。其中,kinect v1最多可以支持20个关节点,kinect v2最多可支持25个关节点,数据对象类型以骨骼视频帧的形式提供,每一帧最多可以保存所支持的关节点对应的个数。
25.在另一应用场景中,基于摄像装置采集训练视频数据,利用姿态估计算法对训练目标的姿态进行识别,并标注出训练目标在视频帧中的关节点,从而生成骨架视频帧序列。其中,姿态估计算法包括但不限于openpose算法和alphapose算法。
26.s102:对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列。
27.具体地,从骨架视频帧序列中随机选择第二数量的骨架视频帧中的骨架遮挡,以消除被选中的骨架视频帧中的骨架,获得时间遮挡骨架序列,从骨架视频帧序列中训练目标的骨架上随机第三数量的关节点,对被选中的关节点在骨架视频帧序列中的第二视频帧中进行遮挡,以消除被选中的关节点,获得空间遮挡骨架序列,其中,第三数量为小于第一数量的整数,关节点包括头部、脖子、左上臂、右上臂、左下臂、左上臂、左手、右手、脊椎上部、脊椎中部、脊椎下部、髋关节、左大腿、右大腿、左小腿、右小腿、左脚和右脚中的至少部分部位。
28.在一应用方式中,利用计算机随机挑选的方式,从骨架视频帧序列中随机挑选第二数量的视频帧,将被选中的视频帧设置为空白视频帧从而消除被选中的视频帧中的骨架,获得时间遮挡骨架序列,利用计算机随机挑选的方式,从骨架视频帧序列的骨架中选择第三数量的关节点,将被选中的关节点从骨架视频帧序列对应的第二视频帧中的骨架上消除,获得空间遮挡骨架序列。其中,第二视频帧为骨架视频帧序列中的至少部分骨架视频帧。
29.s103:利用时间遮挡骨架序列、空间遮挡骨架序列和骨架视频帧序列,调整编码器的参数。
30.具体地,利用时间遮挡骨架序列对编码器的时域建模能力进行训练,利用空间遮挡骨架序列对编码器的空间建模能力进行训练,其中,对时间遮挡骨架序列进行训练时对应有第一解码器,对空间遮挡骨架序列进行训练时对应有第二解码器。
31.在一应用方式中,时间遮挡骨架序列分别经过编码器和第一解码器后,获得第一骨架序列,获取第一骨架序列相对骨架视频帧序列的第一损失值,空间遮挡骨架序列分别经过编码器和第二解码器后,获得第二骨架序列,获取第二骨架序列相对骨架视频帧序列的第二损失值,将第一损失值和第二损失值叠加后获得综合损失值,基于综合损失值对编码器、第一解码器和第二解码器的中的参数进行调整。
32.s104:响应于满足第一收敛条件,输出训练后的编码器。
33.具体地,当满足第一收敛条件时,将编码器、第一解码器和第二解码器的参数固定,输出训练后的编码器,以使编码器能从大量无标注的骨架视频帧序列中提取更深层次的时空特征,相较于现有的gru和lstm,训练完成的编码器能够同时增强时域建模能力和空间建模能力。
34.在一应用场景中,第一收敛条件为综合损失值小于第一阈值,当综合损失值收敛至小于第一阈值时将参数固定获得训练后的编码器。
35.在另一应用场景中,第一收敛条件为综合损失值小于第一阈值且训练次数大于第二阈值,当训练次数超过第二阈值后若综合损失值小于第一阈值则将参数固定获得训练后的编码器。
36.上述方案,获取骨架视频帧序列中训练目标对应的骨架视频帧序列,在骨架视频帧序列的基础上对部分骨架视频帧进行随机遮挡生成时间遮挡骨架序列,在骨架视频帧序列的基础上对骨架中部分关节点进行随机遮挡生成空间遮挡骨架序列,利用时间遮挡骨架序列和空间遮挡骨架序列对编码器进行训练。其中,在训练编码器之前无需对骨架视频帧序列进行大量标注,即可基于自监督学习的方式对编码器进行训练,提高了编码器训练的便捷度,减少了进行人为标注的消耗,时间遮挡骨架序列用于对编码器的时域建模能力进行训练,空间遮挡骨架序列用于对编码器的空间建模能力进行训练,因此训练完成后所获得的编码器相较于现有的gru和lstm对骨架序列进行编码时的具有较优的空间建模能力,兼顾时域建模能力和空间建模能力从而提高对骨架序列进行编码的准确性。
37.请参阅图2,图2是本技术编码器训练方法另一实施方式的流程示意图,该方法包括:
38.s201:获取训练目标对应的骨架视频帧序列。
39.具体地,从骨架视频帧序列中提取训练目标以及训练目标完成任一类型的动作所对应的每个视频帧中的骨架信息,将多个动作对应的视频帧中的至少部分骨架信息组成骨架视频帧序列。
40.在一应用方式中,获取训练目标对应的骨架视频帧序列,对齐所有训练目标对应的骨架视频帧序列,以使所有骨架视频帧序列中骨架视频帧的数量以及每个骨架视频帧的显示时间相同。
41.具体地,不同类型的动作包括但不限于步行、快跑、跳跃和跌倒,不同类型的动作包括多个初始骨架序列,确定初始骨架序列中的标准骨架序列,将所有初始骨架序列与标准骨架序列按照标准骨架序列中视频帧的数量和视频帧的显示时间对齐,从而获得统一的骨架视频帧序列,实现编码器训练的标准化降低训练难度。
42.在一具体应用场景中,以初始骨架序列中最短的时间长度作为标准骨架序列,超过标准骨架序列的初始骨架序列通过下采样的方式与标准骨架序列对应,从而获得视频帧数量以及视频帧显示时间相统一的骨架视频帧序列。
43.s202:对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列。
44.具体地,从骨架视频帧序列随机选取第二数量的骨架视频帧为第一视频帧,基于骨架视频帧序列中除第一视频帧外的其它骨架视频帧,获得时间遮挡骨架序列。
45.进一步地,在骨架视频帧序列对应的所有骨架视频帧中随机选择第二数量的骨架视频帧,只保留被选中的第二数量的骨架视频帧之外的其他骨架视频帧,进而骨架视频帧序列中在时域上的部分信息被消除,获得时间遮挡骨架序列。其中,骨架视频帧序列无需对动作的类型进行标注,在生成时间遮挡骨架序列时可以利用计算机来随机选择即可,减少了人为标注的消耗。
46.在一应用方式中,将被选中的第二数量的骨架视频帧从骨架视频帧序列中消除,从而获得时间遮挡骨架序列。
47.在一应用场景中,骨架视频帧序列表示为x∈rc×v×
t
,c代表通道的数目,用三个坐标分量来表示三维空间的一个点,v代表一个视频帧中关节点的个数,t代表骨架视频帧序列中所有骨架视频帧的总时间。对于时间遮挡分支,首先从骨架视频帧序列对应的所有骨架视频帧中随机挑选第二数量的骨架视频帧进行遮挡,也就是消除其中的骨架信息,构建时间遮挡骨架序列x
t_occlu
。
48.在一具体应用场景中,训练目标对应的骨架视频帧序列包括按时序排列的编号为1-10的骨架视频帧,第二数量设置为2,从骨架视频帧序列中随机挑选2个骨架视频帧作为第一视频帧,若第一视频帧的编号为2和8,则时间遮挡骨架序列对应为编号为1、3、4、5、6、7、9、10的骨架视频帧组成的序列。
49.s203:对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列。
50.具体地,从第一数量的关节点中确定出第三数量的关节点;以及从骨架视频帧序列随机选取第四数量的骨架视频帧作为第二视频帧;在第二视频帧中对第二数量的关节点进行遮挡处理;基于第三视频帧和进行遮挡处理后的第二视频帧,获得空间遮挡骨架序列,第三视频帧为骨架视频帧序列中除第二视频帧之外的骨架视频帧。其中,第四数量可以是骨架视频帧序列中所有骨架视频帧的数量也可以小于骨架视频帧序列中所有骨架视频帧的数量,也就是说,可以选择所有骨架视频帧作为第二视频帧也可以选择部分骨架视频帧作为第二视频帧。
51.进一步地,在骨架视频帧序列对应的骨架中随机选择第三数量的关节点,将被选中的关节点在骨架视频帧序列对应的第二视频帧中消除,单独的一个动作所对应的骨架序列中消除的关节点相同,进而骨架视频帧序列中在空间上的部分信息被消除,将第二视频帧和第二视频帧之外的第三视频帧共同组成空间遮挡骨架序列。其中,骨架视频帧序列无需对动作的类型进行标注,在生成空间遮挡骨架序列时可以利用计算机来随机选择即可,减少了人为标注的消耗。并且,同一骨架视频帧序列中所有进行遮挡的关节点相同,不同的骨架视频帧序列中进行遮挡的关节点不完全相同,但进行遮挡的关节点的数量均为第三数量。
52.在一应用方式中,将被选中的关节点在骨架视频帧序列对应的部分骨架视频帧中消除,获得空间遮挡骨架序列。
53.在另一应用方式中,将被选中的关节点在骨架视频帧序列对应的所有骨架视频帧中消除,获得空间遮挡骨架序列。
54.在一应用场景中,骨架视频帧序列表示为x∈rc×v×
t
,从多个关节点中随机挑选第三数量的关节点进行遮挡,也就是将被选中的关节点的信息消除,其中,骨架视频帧序列中
每个视频帧都进行关节点的遮挡且不同视频帧中遮挡的关节点是相同的,从而构建空间遮挡骨架序列
55.在一具体应用场景中,第二视频帧为骨架视频帧序列中的所有骨架视频帧,训练目标对应的骨架视频帧序列中的骨架包括24个关节点,编号为1-24,设置第三数量为4,对于一个训练目标而言从骨架的关节点中随机挑选4个关节点,若第一视频帧的编号为2、8、16和21,则将所有第二视频帧中编号为2、8、16和21的关节点消除,获得空间遮挡骨架序列。对于不同的训练目标而言,消除的关节点的个数始终保持第三数量,但不同的训练目标在消除关节点时可以各自随机选择编号来消除关节点。
56.s204:利用时间遮挡骨架序列、空间遮挡骨架序列和骨架视频帧序列,调整编码器的参数。
57.具体地,编码器包括至少一个图卷积层和至少一个时间卷积层,请参阅图3,图3是本技术编码器一实施方式的结构示意图,编码器中的图卷积层和时间卷积层交替连接。其中,图卷积层从空间维度对输入的骨架序列进行编码,时间卷积层从时间维度对输入的骨架序列进行编码,用户可更加实际需求设置图卷积层和时间卷积层的数量,并将图卷积层和时间卷积层交替设置。图卷积层能够提高编码器对骨架序列的空间建模能力,时间卷积层能够保障编码器对骨架序列的时域建模能力。
58.在一应用方式中,请参阅图4,图4是图2中步骤s204对应的一实施方式的流程示意图,步骤s204具体包括:
59.s401:将时间遮挡骨架序列输入编码器,获得第一编码骨架序列,将第一编码骨架序列输入第一解码器,获得第一骨架序列;以及,将空间遮挡骨架序列输入编码器,获得第二编码骨架序列,将第二编码骨架序列输入第二解码器,获得第二骨架序列。
60.具体地,对时间遮挡骨架序列进行训练和空间遮挡骨架序列进行训练时共用同一编码器,时间遮挡骨架序列对应有第一解码器,空间遮挡骨架序列对应有第二解码器。将时间遮挡骨架序列输入编码器得到第一编码骨架序列,将第一编码骨架序列输入第一解码器,获得第一骨架序列,将空间遮挡骨架序列输入编码器得到第二编码骨架序列,将第二编码骨架序列输入第二解码器,获得第二骨架序列。其中,第一解码器包括与编码器对应的反卷积层,第二解码器包括与编码器对应的反卷积层。上述过程利用公式表示如下:
61.x
t_occlu_out
=decode
t_st-gcn
(encode
st-gcn
(x
t_occlu
))
ꢀꢀ
(1)
[0062][0063][0064][0065]
其中,decode
t_st-gcn
表示编码器,encode
st-gcn
表示第一解码器,encode
st-gcn
表示第二解码器,x
t_occlu_out
表示第一骨架序列,x
v_occlu_out
表示第二骨架序列,x
cvt
表示骨架视频帧序列,表示第一损失值,表示第二损失值。
[0066]
s402:基于第一骨架序列、第二骨架序列和骨架视频帧序列,确定综合损失值。
[0067]
具体地,基于第一骨架序列相对骨架视频帧序列的第一损失值和第二骨架序列相
对骨架视频帧序列的第二损失值,确定综合损失值。
[0068]
在一应用场景中,基于第一骨架序列和骨架视频帧序列的偏差信息,确定第一损失值;以及基于第二骨架序列和骨架视频帧序列的偏差信息,确定第二损失值;对第一损失值和第二损失值进行加权求和,确定综合损失值。
[0069]
在一具体应用场景中,将第一损失值和第二损失值的权重值均设为1,从而将第一损失值和第二损失值相加后获得综合损失值。上述过程利用公式表示如下:
[0070][0071]
其中,表示综合损失值,表示第一损失值,表示第二损失值。
[0072]
在另一具体应用场景中,第一损失值和第二损失值的权重值之和为1,根据训练的侧重点是对时域建模能力进行增强还是对空间建模能力进行增强设置第一损失值和第二损失值对应的权重值,从而增强训练完成后的编码器对于侧重点进行编码的准确性。上述过程利用公式表示如下:
[0073][0074]
其中,表示综合损失值,表示第一损失值,a表示第一损失值的权重,表示第二损失值,b表示第二损失值的权重。
[0075]
在又一具体应用场景中,利用训练过的损失确定模型,对第一损失值和第二损失值进行融合,将第一损失值和第二损失值输入损失确定模型获得综合损失值。其中,损失确定模型经过预先训练,能够对输入的第一损失值和第二损失值进行自适应求和,提高综合损失值的准确性。
[0076]
s403:基于综合损失值调整编码器、第一解码器和第二解码器中的参数。
[0077]
具体地,根据综合损失值对编码器、第一解码器和第二解码器中的参数进行调整,进而返回至将时间遮挡骨架序列输入编码器,获得第一编码骨架序列,将第一编码骨架序列输入第一解码器,获得第一骨架序列;以及,将空间遮挡骨架序列输入编码器,获得第二编码骨架序列,将第二编码骨架序列输入第二解码器,获得第二骨架序列的步骤。
[0078]
进一步地,基于综合损失值调整编码器、第一解码器和第二解码器中的参数的步骤之后,还包括:响应于调整编码器、第一解码器和第二解码器中的参数的次数超过第一次数阈值,调小目标参数的数值,目标参数包括第二数量和第三数量中的至少一个;并获得新确定的目标参数,返回对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤。
[0079]
具体地,当调整参数的数值超过第一次数阈值之后,仍不能满足第一收敛条件,则说明训练难度较大,调小目标参数的数值,从而降低训练难度,以便尝试获得满足第一收敛条件的训练后的编码器。其中,目标参数包括第二数量和第三数量中的至少一个。
[0080]
在一应用方式中,按照第二数量的预设步长,减小第二数量从而减少骨架视频帧序列中被遮挡的视频帧,以更新时间遮挡骨架序列和空间遮挡骨架序列,从而对编码器进行再次训练。
[0081]
在另一应用方式中,按照第三数量的预设步长,减小第三数量从而减少骨架视频帧序列中被遮挡的关节点的数量,以更新时间遮挡骨架序列和空间遮挡骨架序列,从而对编码器进行再次训练。
[0082]
在又一应用方式中,按照第二数量的预设步长,减小第二数量从而减少骨架视频帧序列中被遮挡的视频帧,按照第三数量的预设步长,减小第三数量从而减少骨架视频帧序列中被遮挡的关节点的数量,以更新时间遮挡骨架序列和空间遮挡骨架序列,从而对编码器进行再次训练。
[0083]
s205:响应于满足第一收敛条件,输出训练后编码器。
[0084]
具体地,当满足第一收敛条件时,将编码器、第一解码器和第二解码器的参数固定,输出训练后的编码器。
[0085]
s206:将训练后的编码器和分类器组成行为识别模型,并对至少部分训练目标对应的骨架视频帧序列进行标注,获得包括标注信息的标注骨架序列。
[0086]
具体地,将经过上述步骤训练完成的编码器与分类器组成行为识别模型,选择部分骨架视频帧序列进行标注生成标注信息,其中,被选择的骨架视频帧序列包括所有类型的动作,对被选中的骨架视频帧序列中不同类型的动作进行标注,获得包括标注信息的标注骨架序列,其中,所述标注信息至少包括动作的类型。
[0087]
在一应用场景中,在训练完成的编码器之后设置分类器,分类器包括池化层、全连接层和概率分布层,分类器用于对编码器输出的编码骨架序列进行识别,经过池化层、全连接层和概率分布层后,输出概率最高的动作类型作为行为识别模型的输出结果。
[0088]
s207:将标注骨架序列输入训练后的编码器,获得第三编码骨架序列,将第三编码骨架序列输入分类器,获得行为预测结果。
[0089]
具体地,将标注骨架序列输入行为识别模型的编码器得到第三编码骨架序列,将第三编码骨架序列输入分类器,分类器对第三编码骨架序列对应的行为进行预测,输出行为预测结果。
[0090]
s208:基于行为预测结果相对标注骨架序列中标注信息的第三损失值调整编码器和分类器中的参数。
[0091]
具体地,标注骨架序列包括多种类型的动作,获取行为预测结果相对标注骨架序列的第三损失值,基于第三损失值对编码器和分类器中的参数进行调整,进而返回将标注骨架序列输入训练后的编码器,获得第三编码骨架序列,将第三编码骨架序列输入分类器,获得行为预测结果的步骤。
[0092]
在一应用方式中,训练好的编码器后面接入一个分类器作为行为识别模型,将带标注的标注骨架序列输入行为识别模型,然后进行有监督训练,微调编码器和分类器中的参数,其中,行为识别模型的损失函数使用交叉熵损失函数。上述过程利用公式表示如下:
[0093][0094]
其中,表示第三损失值,h
cls
表示分类器,表示标注骨架序列,yi代表第i个标注骨架序列的标签。
[0095]
s209:响应于满足第二收敛条件,输出训练后的行为识别模型。
[0096]
具体地,当第三损失值满足第二收敛条件时,输出训练后的行为识别模型。其中,
行为识别模型中编码器具有时域建模能力和空间建模能力,分类器对编码器输出的编码骨架序列做行为识别时能够从两个维度获得更准确的预测结果。
[0097]
在一应用场景中,响应于调整编码器和分类器中的参数的次数超过第二次数阈值,调小目标参数的数值;获得新确定的目标参数,返回对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤。其中,目标参数包括第二数量和第三数量中的至少一个。
[0098]
具体地,当调整参数的数值超过第二次数阈值之后,仍不能满足第二收敛条件,则说明训练难度较大,按照第二数量和第三数量的预设步长,减少第二数量和第三数量中至少一个数值的大小,从而返回至对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤,降低训练难度重新训练编码器,在获得编码器后与分类器组成行为识别模型再次训练行为识别模型,以便获得满足第二收敛条件的训练后的行为识别模型。
[0099]
在另一应用场景中,响应于获得训练后的行为识别模型且利用训练后的行为识别模型进行行为识别的准确率低于准确率阈值,调大目标参数的数值;获得新确定的目标参数,返回对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤。其中,目标参数包括第二数量和第三数量中的至少一个。
[0100]
当获得训练后的行为识别模型并利用该行为识别模型对目标进行行为识别时,若准确率低于准确率阈值,则说明编码器的训练过程较容易,难以挖掘出深层次的特征信息,按照第二数量和第三数量的预设步长,增加第二数量和第三数量中至少一个数值的大小,从而返回至对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤,增加训练精度重新训练编码器,在获得编码器后与分类器组成行为识别模型再次训练行为识别模型,以便获得满足识别准确率超过准确率阈值的行为识别模型。
[0101]
进一步地,第二次数阈值为任一大于0的整数,准确率阈值为0-1之间的百分数,其中,第二数量为骨架视频帧序列中被遮挡的视频帧的数量,第三数量为骨架视频帧序列中被遮挡的关节点的数量,因此,通过改变第二数量和/或第三数量的大小,能够调整行为识别模型的训练难度,从而便于对行为识别模型进行更精准的训练,获得训练后的行为识别模型。其中,减小第二数量和/或第三数量可参阅上述步骤s403中的内容,增加第二数量和/或第三数量的过程与减小的过程相反。
[0102]
在本实施例中,在骨架视频帧序列的基础上对部分骨架视频帧进行随机遮挡生成时间遮挡骨架序列,在骨架视频帧序列的基础上对骨架中部分关节点进行随机遮挡生成空间遮挡骨架序列,利用时间遮挡骨架序列和空间遮挡骨架序列对编码器进行训练,编码器至少包括图卷积层和时间卷积层,图卷积层以及空间遮挡骨架序列能够提高编码器对骨架序列的空间建模能力,时间卷积层和时间遮挡骨架序列能够保障编码器对骨架序列的时域建模能力,将训练完成的编码器和分类器组合成行为识别模型进行训练,获得训练完成的
行为识别模型,提高行为识别模型对动作类型进行预测时的准确率。
[0103]
请参阅图5,图5是本技术行为识别方法一实施方式的流程示意图,该方法包括:
[0104]
s501:获取待处理视频帧序列中待处理目标对应的待处理骨架序列。
[0105]
具体地,获得待处理视频帧序列,将待处理视频帧序列中待处理目标的动作在起始帧和终止帧以及至少部分中间帧的骨架提取出来作为待处理骨架序列。
[0106]
进一步地,待处理骨架序列中视频帧的数量和显示时间与行为识别模型相匹配。当起始帧和终止帧及其之间的中间帧的数量超过行为识别模组的预设数量,则通过下采样的方式使待处理骨架序列中视频帧的数量与行为识别模型相匹配,当起始帧和终止帧及其之间的中间帧的数量少于行为识别模组的预设数量,则通过上采样的方式使待处理骨架序列中视频帧的数量与行为识别模型相匹配,将待处理骨架序列中视频帧的显示时间设置为与行为识别模型相匹配。
[0107]
s502:将待处理骨架序列输入行为识别模型,获得待处理目标对应的行为识别结果。
[0108]
具体地,将待处理骨架序列输入行为识别模型中,行为识别模型输出待处理目标对应的行为识别结果。行为识别模型包括编码器和分类器,且编码器基于上述任一项实施例所述的编码器训练方法获得,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
[0109]
上述方案,获取骨架视频帧序列中训练目标对应的骨架视频帧序列,在骨架视频帧序列的基础上对部分骨架视频帧进行随机遮挡生成时间遮挡骨架序列,在骨架视频帧序列的基础上对骨架中部分关节点进行随机遮挡生成空间遮挡骨架序列,利用时间遮挡骨架序列和空间遮挡骨架序列对编码器进行训练。其中,在训练编码器之前无需对骨架视频帧序列进行大量标注,即可基于自监督学习的方式对编码器进行训练,提高了编码器训练的便捷度,减少了进行人为标注的消耗,时间遮挡骨架序列用于对编码器的时域建模能力进行训练,空间遮挡骨架序列用于对编码器的空间建模能力进行训练,因此训练完成后所获得的编码器相较于现有的gru和lstm对骨架序列进行编码时的具有较优的空间建模能力,兼顾时域建模能力和空间建模能力从而提高对骨架序列进行编码的准确性。
[0110]
请参阅图6,图6是本技术电子设备一实施方式的结构示意图,该电子设备60包括相互耦接的存储器601和处理器602,其中,存储器601存储有程序数据(图未示),处理器602调用程序数据以实现上述任一实施例中的编码器训练方法或行为识别方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
[0111]
请参阅图7,图7是本技术计算机存储介质一实施方式的结构示意图,该计算机存储介质70存储有程序数据700,该程序数据700被处理器执行时实现上述任一实施例中的编码器训练方法或行为识别方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
[0112]
需要说明的是,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0113]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0114]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0115]
以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:
1.一种编码器训练方法,其特征在于,所述编码器应用于行为识别,所述方法包括:获取训练目标对应的骨架视频帧序列;其中,所述骨架视频帧序列中每个骨架视频帧包括基于所述训练目标的第一数量的关节点确定的骨架信息;所述第一数量为大于1的整数;对所述骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对所述骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列;所述第三数量为小于所述第一数量的整数;利用所述时间遮挡骨架序列、所述空间遮挡骨架序列和所述骨架视频帧序列,调整所述编码器的参数;响应于满足第一收敛条件,输出训练后的所述编码器。2.根据权利要求1所述的编码器训练方法,其特征在于,所述对所述骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列的步骤,包括:从所述骨架视频帧序列随机选取所述第二数量的骨架视频帧为所述第一视频帧;基于所述骨架视频帧序列中除所述第一视频帧外的其它骨架视频帧,获得所述时间遮挡骨架序列。3.根据权利要求1所述的编码器训练方法,其特征在于,所述对所述骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤,包括:从所述第一数量的关节点中确定出第三数量的关节点;以及从所述骨架视频帧序列随机选取第四数量的骨架视频帧作为所述第二视频帧;在所述第二视频帧中对所述第二数量的关节点进行遮挡处理;基于第三视频帧和进行遮挡处理后的第二视频帧,获得所述空间遮挡骨架序列,所述第三视频帧为所述骨架视频帧序列中除所述第二视频帧之外的骨架视频帧。4.根据权利要求1-3任一项所述的编码器训练方法,其特征在于,所述编码器包括至少一个图卷积层和至少一个时间卷积层,且所述编码器中的所述图卷积层和所述时间卷积层交替连接。5.根据权利要求1-3任一项所述的编码器训练方法,其特征在于,所述利用所述时间遮挡骨架序列、所述空间遮挡骨架序列和所述骨架视频帧序列,调整所述编码器的参数的步骤,包括:将所述时间遮挡骨架序列输入所述编码器,获得第一编码骨架序列,将所述第一编码骨架序列输入第一解码器,获得第一骨架序列;以及,将所述空间遮挡骨架序列输入所述编码器,获得第二编码骨架序列,将所述第二编码骨架序列输入第二解码器,获得第二骨架序列;基于所述第一骨架序列、所述第二骨架序列和所述骨架视频帧序列,确定综合损失值;基于所述综合损失值调整所述编码器、所述第一解码器和所述第二解码器中的参数。6.根据权利要求5所述的编码器训练方法,其特征在于,所述基于所述第一骨架序列、所述第二骨架序列和所述骨架视频帧序列,确定综合损失值的步骤,包括:基于所述第一骨架序列和所述骨架视频帧序列的偏差信息,确定第一损失值;以及基于所述第二骨架序列和所述骨架视频帧序列的偏差信息,确定第二损失值;对所述第一损失值和所述第二损失值进行加权求和,确定所述综合损失值。
7.根据权利要求1所述的编码器训练方法,其特征在于,所述利用所述时间遮挡骨架序列、所述空间遮挡骨架序列和所述骨架视频帧序列,调整所述编码器的参数的步骤之后,还包括:响应于调整所述编码器、所述第一解码器和所述第二解码器中的参数的次数超过第一次数阈值,调小目标参数的数值,所述目标参数包括所述第二数量和所述第三数量中的至少一个;并获得新确定的所述目标参数,返回对所述骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对所述骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤。8.根据权利要求1所述的编码器训练方法,其特征在于,所述输出训练后的所述编码器的步骤之后,还包括:将训练后的所述编码器和分类器组成行为识别模型,并对至少部分所述训练目标对应的骨架视频帧序列进行标注,获得包括标注信息的标注骨架序列;将所述标注骨架序列输入训练后的所述编码器,获得第三编码骨架序列,将所述第三编码骨架序列输入分类器,获得行为预测结果;基于所述行为预测结果相对所述标注骨架序列中标注信息的第三损失值调整所述编码器和所述分类器中的参数;响应于满足第二收敛条件,输出训练后的所述行为识别模型。9.根据权利要求8所述的编码器训练方法,其特征在于,所述基于所述行为预测结果相对所述标注骨架序列中标注信息的第三损失值调整所述编码器和所述分类器中的参数的步骤之后,还包括:响应于调整所述编码器和所述分类器中的参数的次数超过第二次数阈值,调小目标参数的数值;或者,响应于获得训练后的所述行为识别模型且利用训练后的所述行为识别模型进行行为识别的准确率低于准确率阈值,调大目标参数的数值;所述目标参数包括所述第二数量和所述第三数量中的至少一个;获得新确定的所述目标参数,返回对所述骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对所述骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列的步骤。10.根据权利要求1所述的编码器训练方法,其特征在于,所述获取训练目标对应的骨架视频帧序列的步骤,包括:获取所述训练目标对应的骨架视频帧序列,对齐所述所有所述训练目标对应的骨架视频帧序列,以使所有所述骨架视频帧序列中骨架视频帧的数量以及每个所述骨架视频帧的显示时间相同。11.一种行为识别方法,其特征在于,所述方法包括:获取待处理视频帧序列中待处理目标对应的待处理骨架序列;将所述待处理骨架序列输入行为识别模型,获得所述待处理目标对应的行为识别结果;其中,所述行为识别模型包括编码器和分类器,且所述编码器基于权利要求1-10中任一项所述的编码器训练方法获得。12.一种电子设备,其特征在于,包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行如权利要求1-10或11中任一项所述
的方法。13.一种计算机可读存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现如权利要求1-10或11中任一项所述的方法。
技术总结
本申请公开了一种编码器训练方法、行为识别方法、电子设备和存储介质,该编码器训练方法包括:获取训练目标对应的骨架视频帧序列;其中,骨架视频帧序列中每个骨架视频帧包括基于训练目标的第一数量的关节点确定的骨架信息;对骨架视频帧序列中第二数量的第一视频帧进行随机遮挡生成时间遮挡骨架序列,对骨架视频帧序列中第二视频帧包含的第三数量的关节点进行随机遮挡生成空间遮挡骨架序列;利用时间遮挡骨架序列、空间遮挡骨架序列和骨架视频帧序列,调整编码器的参数;响应于满足第一收敛条件,输出训练后的编码器。上述方案,能够增强编码器对骨架序列进行编码时的空间建模能力,提高编码器对骨架序列进行编码的准确性。提高编码器对骨架序列进行编码的准确性。提高编码器对骨架序列进行编码的准确性。
技术研发人员:李兴明 敦婧瑜
受保护的技术使用者:浙江大华技术股份有限公司
技术研发日:2021.10.13
技术公布日:2022/3/8