基于轻量Transformer的在线动作检测方法

未命名 07-29 阅读:121 评论:0

基于轻量transformer的在线动作检测方法
技术领域
1.本发明涉及一种动作检测方法,尤其是一种基于轻量transformer的在线动作检测方法,属于人工智能技术领域。


背景技术:

2.在线动作检测是在未来不可见的条件下辨别流视频中每一帧正在发生的动作,因为只有一个动作的部分视频流可见,在线动作检测比离线动作检测更加困难。
3.传统的在线动作检测大部分应用循环神经网络(rnn)来对连续帧的时序依赖建模,例如信息鉴别网络(idn)改进了gru以更好地编码历史信息和判定当前帧的动作种类,然而该种方式存在循环神经模型陷阱。
4.现有技术还提出了基于transformer的在线动作检测方法,利用了transformer出色的全局建模能力来捕获视频中动作时间上下文信息。与rnn结构相比,transformer利用自注意力机制来回归非局部的时序相关性,直接存储历史避免循环神经模型的陷阱,并且具有更好的收敛性和更高的计算效率,例如基于transformers的在线动作检测(oadtr)。
5.虽然transformers中的自注意力(self-attention)具有强大的时序建模能力,但其时间和空间复杂度也较高。并且基本的transformer对输入tokens的全局关系进行建模,计算量大,参数量大。
6.因此,有必要进行更深入的研究,以降低计算量。


技术实现要素:

7.为了克服上述问题,本发明人进行了深入研究,设计出一种基于轻量transformer的在线动作检测方法,包括:
8.设置检测模型,所述检测模型基于transformer模型;
9.获取长度为t的视频流的特征;
10.将视频流的特征输入检测模型,通过检测模型输出视频流最后帧的动作类别,作为检测结果。
11.在一个优选的实施方式中,所述检测模型具有自注意力子模型,所述自注意力子模型包括多个注意力层,
12.所述注意力层输入为视频流的特征或上个注意力层输出的关注向量,输出为关注向量。
13.在一个优选的实施方式中,所述注意力层只表征当前帧与各历史帧的关联性。
14.在一个优选的实施方式中,在注意力层中,根据当前帧和历史帧键矩阵的余弦相似度作为注意力值。
15.在一个优选的实施方式中,在自注意力子模型中包括以下步骤:
16.s11、将视频流特征作为输入,采用卷积层对其进行处理,获得键矩阵和值矩阵,键矩阵包含各帧键向量,值矩阵包含各帧值向量;
17.s12、将当前帧键向量和历史帧键向量的余弦相似度作为当前注意力层输出的注意力值;
18.s13、根据注意力值对当前帧值向量和历史帧值向量加权求和,输出关注向量;
19.s14、将上个注意力层输出的关注向量作为下个注意力层输入,重复步骤s11~s13,获得最终的自注意力子模型输出。
20.在一个优选的实施方式中,所述自注意力子模型还包括时序卷积层,设置在相邻两个自注意力层之间。
21.在一个优选的实施方式中,在自注意力子模型中还引入一个高斯分布先验,通过最小化各注意力层输出特征间时序相似性和先验高斯分布之间的kl散度,使得注意力层输出中特征之间的时序相似性在时间轴上符合高斯分布。
22.在一个优选的实施方式中,将自注意力子模型的输出映射为嵌入特征矩阵,通过嵌入特征表征各注意力层输出特征的时序相似性,
23.所述映射通过一个全连接层、relu激活层和另一个全连接层构成的映射网络h(
·
)实现,表示为将自注意力子模型的输出f
″i映射为嵌入特征si:
24.si=h(f
″i)
25.其中,表示si在时刻i的嵌入特征,f
″i表示自注意力子模型的输出;
26.所述各注意力层输出特征的时序相似性表示为:
[0027][0028][0029]
其中,μ
ij
为余弦相似度,表示为μ
ij
=cos(si,sj),i,j表示不同的时刻,g(
·
)表示高斯分布,表示为x为高斯分布的自变量。
[0030]
在一个优选的实施方式中,在检测模型中,还包括辅助分类过程:
[0031]
获得每一动作类别的典型特征;
[0032]
以当前帧的特征作为查询条件获取当前帧对应的动作类别典型特征;
[0033]
将获取的典型特征作为辅助信息来协助当前帧的动作分类。
[0034]
在一个优选的实施方式中,所述协助当前帧的动作分类通过以下方式进行:
[0035]
将当前帧的特征加到获得的类别典型特征的末尾形成的新输入序列,将该序列输入到一个新的注意力层,由注意力层输出辅助特征序列fc,其中,表示第k个类别特征的辅助特征,表示当前帧对应的辅助特征;
[0036]
将当前帧的注意力值f
″0和当前帧对应的辅助特征拼接成帧块特征f0,帧块特征f0经过分类器输出识别的动作。
[0037]
本发明所具有的有益效果包括:
[0038]
(1)通过卷积建模局部运动信息,可降低模型总的自注意力层数,从而降低了计算量,降低了对硬件要求;
[0039]
(2)只考虑目标帧和历史帧的余弦相似度作为注意力值,降低注意力值的计算复杂度,降低了计算量;
[0040]
(3)在相邻两个自注意力层之间,增加一个步长为2的卷积层,将下一层的输入帧数目减少一半,降低了计算量,提高了检测速度。
[0041]
(4)学习类别辅助特征,进一步提取对动作分类有用的特征,提高了检测性能。
附图说明
[0042]
图1示出根据本发明一种优选实施方式的基于轻量transformer的在线动作检测方法流程示意图。
具体实施方式
[0043]
下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
[0044]
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0045]
根据本发明提供的一种基于轻量transformer的在线动作检测方法,包括:
[0046]
设置检测模型,所述检测模型基于transformer模型;
[0047]
获取长度为t的视频流的特征;
[0048]
将视频流的特征输入检测模型,通过检测模型输出视频流最后帧的动作类别,作为检测结果。
[0049]
在本发明中,视频流的特征是指视频中每一帧的帧特征的集合。
[0050]
在本发明中,为便于描述,将视频流写为时刻-t到0的视频流,即最后帧时刻为当前时刻,最后帧又称之为当前帧。
[0051]
视频流的特征表示为f=(f-t
,f-t+1
,

,f0),其中表示t时刻帧的特征。
[0052]
在本发明中,对帧特征f
t
的获取方法不做特别限定,本领域技术人员可采用现有的任意一种帧特征提取方法获得。
[0053]
在本发明中,检测模型的输入为视频流的特征f,模型输出为当前帧的动作类别为y0,其中,y0∈{0,1,

k},1-k为不同的动作类别,即总种类数为k,0表示没有动作发生。
[0054]
进一步地,所述检测模型具有自注意力子模型,所述自注意力子模型包括多个注意力层,注意力层的输入为视频流的特征或上个注意力层输出的关注向量,输出为关注向量;
[0055]
其中,输入特征f=(f-t
,f-t+1
,

,f0)经过一个注意力层后,融合局部和全局时序信息,再经过一个时序卷积层,减少下一层输入令牌的数目。
[0056]
传统的transformers模型中自注意力具有强大的时序建模能力,但其时间和空间复杂度也较高。
[0057]
与传统transformers模型不同的是,本技术中,所述注意力值仅表征当前帧与历
史帧间的关联性,而不包括不同位置历史帧间的关联性。
[0058]
发明人发现,在线动作检测任务中,当前帧的重要性是特别显著的,一个发生的动作应该在一个局部时间范围内持续进行,因此相邻帧会给目标帧提供丰富的上下文信息;同时在更长的时序范围里,历史帧也会给目标帧提供有益的时序动作信息。但是,发明人发现自注意力机制中所有任意两两令牌间计算注意力值是不必的,在本发明中,舍弃了传统注意力机制里所有令牌两两计算注意力值的操作,使得注意力值仅表征当前帧与历史帧间的关联性。
[0059]
进一步地,在本发明中,通过只计算当前帧与各历史帧的注意力值的方式,还将注意力的计算复杂度从o(n2)降至o(n),从而极大降低了注意力值的计算复杂度。
[0060]
具体地,在自注意力子模型中包括以下步骤:
[0061]
s11、将视频流特征作为输入,采用时序卷积层对其进行处理,提取局部动作信息,得到键(key)矩阵和值(value)矩阵,键矩阵包含各帧键向量,值矩阵包含各帧值向量:
[0062][0063][0064]
其中k为键矩阵、v为值矩阵、f为输入的视频流特征,convk为键的卷积操作,convv为值的卷积操作。
[0065]
在本发明中,通过设置卷积层,提高了局部相关性的建模能力,使得注意力层的数量可以降低,从而减少了计算量和参数。
[0066]
s12、将当前帧键向量和历史帧键向量的余弦相似度作为注意力值λ
t
,表示为:
[0067][0068]
其中,k
t
为t时刻的键向量,k0为当前时刻的键向量。
[0069]
s13、根据注意力值对当前帧值向量和历史帧值向量加权求和,输出关注向量f

t
,将其作为下一层的输入,表示为:
[0070]f′0=v
·
softmax(λ)+v0[0071][0072]f″
t
=λ
t
·f′0+f

t
[0073][0074]
其中λ=[λ-t
,λ-t+1
,

,λ0]
t
,v
t
为t时刻的值向量,f
′0、f

t
为过程值,f

为注意力层的输出。
[0075]
s14、将上个注意力层输出的关注向量作为下个注意力层输入,重复步骤s11~s13,获得最终的自注意力子模型输出。
[0076]
根据本发明一个优选的实施方式,所述自注意力子模型还包括时序卷积层,设置在相邻两个自注意力层之间,用于建模局部运动信息,并通过调整卷积步长将帧的数目减少一半,进一步减少输入下一个自注意力层的特征长度,即优选地,s14中,将上个注意力层
输出的关注向量通过时序卷积层后作为下个注意力层输入。
[0077]
在一个优选的实施方式中,所述时序卷积层采用核大小为3、步长为2的卷积层。
[0078]
在一个优选的实施方式中,在自注意力子模型中还引入一个高斯分布先验,使得注意力层输出中特征之间的时序相似性符合时间轴上的先验分布,并最小化这个时序相似性和先验高斯分布之间的kl散度。即通过最小化时序相似性和先验高斯分布之间的kl散度,使得注意力层输出中特征之间的时序相似性在时间轴上符合高斯分布。
[0079]
通过上述方法,使得每个时间戳的特征与它的邻近帧有着较高的相似性、与相远帧的相似性较低。
[0080]
具体地,采用一个全连接层、relu激活层和另一个全连接层构成的映射网络h(
·
)将自注意力子模型的输出f
″i映射为嵌入特征si:
[0081]
si=h(f
″i)
[0082]
所述时序相似性表示为:
[0083][0084][0085]
其中,μ
ij
为余弦相似度,表示为μ
ij
=cos(si,sj),i,j表示不同的时刻,g(
·
)表示高斯分布,表示为x为高斯分布的自变量。
[0086]
发明人发现,对每一个动作种类,都会有其特有的外观和运动特性。在本发明中,还包括辅助分类过程:
[0087]
获得每一动作类别的典型特征,以当前帧的特征作为查询条件获取当前帧对应的类别典型特征,将获取的典型特征作为辅助信息来协助当前帧的动作分类。动态地学习类别的典型特征不仅能补充有利于动作分类的信息,也能增强模型的泛化性。
[0088]
所述类别的典型特征通过解码器获得,所述解码器优选采用标准transformer的解码器结构,通过解码器可以输出每一个动作类别的特征向量,表示为
[0089]
进一步地,对解码器进行训练,即对接一个全连接层和softmax层进行k类分类,最小化分类结果和yk之间的交叉熵损失,从而使得解码器能够输出动作类别的典型特征。其中表示第k个类别特征,yk为独热编码,第k个位置的值为1,表示第k类动作。
[0090]
将当前帧的特征输入训练后的解码器,即可获得当前帧对应的类别典型特征。
[0091]
进一步地,将当前帧的特征加到获得的类别典型特征的末尾形成的新输入序列,将该序列同样输入注意力层,由注意力层输出辅助特征序列fc,,表示第k个类别特征的辅助特征,表示当前帧对应的辅助特征。
[0092]
进一步地,将当前帧的关注向量f
″0和辅助特征拼接成帧块特征f0,再经由一个全连接层和一个relu激活层,送入一个由全连接层和softmax层组成分类器,实现动作识别,表示为:
[0093]
p0=softmax(w2(relu(w1f0))),
[0094]
其中w1和w2表示全连接层的参数,表示当前帧块属于每个动作类别的概率,将概率最高的动作类别作为检测结果。
[0095]
根据本发明一个优选的实施方式,检测模型训练时的损失函数为:
[0096][0097][0098][0099]
其中,α和β是平衡系数,为动作分类的交叉熵损失约束,表示时序相似性约束,表示类别特征交叉熵损失约束,ce表示交叉熵损失。
[0100]
实施例
[0101]
实施例1
[0102]
在数据集thumos'14上进行实验,该数据集定义了20个动作,每段视频平均有15.8个动作,背景信息的平均份额为71%,其中,t设置为63。
[0103]
进一步地,在实验过程中,为了便于与其它方法进行比较,分别使用在activitynet v1.3上预训练的tsn模型提取视频帧特征(表示为-anet)和在kinetics上预训练的tsn模型提取视频帧特征(表示为-kinetics)进行实验。
[0104]
其中,该实验包括以下步骤:
[0105]
设置检测模型,所述检测模型基于transformer模型;
[0106]
获取长度为t的视频流的特征;
[0107]
将视频流的特征输入检测模型,通过检测模型输出视频流最后帧的动作类别,作为检测结果。
[0108]
所述检测模型具有自注意力子模型,所述自注意力子模型包括多个注意力层,
[0109]
所述注意力层输入为视频流的特征或上个注意力层输出的关注向量,输出为关注向量。
[0110]
所述注意力层只表征当前帧与各历史帧的关联性。
[0111]
在注意力层中,根据当前帧和历史帧键矩阵的余弦相似度作为注意力值。
[0112]
在自注意力子模型中包括以下步骤:
[0113]
s11、将视频流特征作为输入,采用卷积层对其进行处理,获得键矩阵和值矩阵,键矩阵包含各帧键向量,值矩阵包含各帧值向量;
[0114]
s12、将当前帧键向量和历史帧键向量的余弦相似度作为当前注意力层输出的注意力值;
[0115]
s13、根据注意力值对当前帧值向量和历史帧值向量加权求和,输出关注向量;
[0116]
s14、将上个注意力层输出的关注向量作为下个注意力层输入,重复步骤s11~
s13,获得最终的自注意力子模型输出。
[0117]
所述自注意力子模型还包括时序卷积层,设置在相邻两个自注意力层之间。
[0118]
在自注意力子模型中还引入一个高斯分布先验,通过最小化各注意力层输出特征间时序相似性和先验高斯分布之间的kl散度,使得注意力层输出中特征之间的时序相似性在时间轴上符合高斯分布。
[0119]
将自注意力子模型的输出映射为嵌入特征矩阵,通过嵌入特征表征各注意力层输出特征的时序相似性,
[0120]
所述映射通过一个全连接层、relu激活层和另一个全连接层构成的映射网络h(
·
)实现,表示为:
[0121]
si=h(f
″i)
[0122]
其中,si表示在时刻i的嵌入特征,f
″i表示自注意力子模型的输出;
[0123]
所述各注意力层输出特征的时序相似性表示为:
[0124][0125][0126]
在检测模型中,还包括辅助分类过程:
[0127]
获得每一动作类别的典型特征;
[0128]
以当前帧的特征作为查询条件获取当前帧对应的动作类别典型特征;
[0129]
将获取的典型特征作为辅助信息来协助当前帧的动作分类。
[0130]
所述协助当前帧的动作分类通过以下方式进行:
[0131]
将当前帧的特征加到获得的类别典型特征的末尾形成的新输入序列,将该序列输入到一个新的注意力层,由注意力层输出辅助特征序列fc,,表示第k个类别特征的辅助特征;
[0132]
将当前帧的注意力值f
″0和辅助特征拼接成帧块特征f0,帧块特征f0经过分类器输出识别的动作。
[0133]
对比例1
[0134]
进行与实施例1相同的实验,分别使用rnn建模时间上下文的方法中的red、trn、idn法进行,其中,
[0135]
red方法参见论文j.gao,z.yang,and r.nevatia.red:reinforced encoder-decoder networks for action anticipation.in bmvc,2017.;
[0136]
trn方法参见论文m.xu,m.gao,y.-t.chen,l.s.davis,and d.j.crandall.temporal recurrent networks for online action detection.in proc.ieee international conference on computer vision(iccv),2019,pp 5532

5541.;
[0137]
idn方法参见论文hyunjun eun,jinyoung moon,jongyoul park,chanho jung,and changick kim.learning to discriminate information for online action detection.in cvpr,pages 809

818,2020.。
[0138][0139]
对比例2
[0140]
进行与实施例1相同的实验,分别采用标准tansformer和额外存储colar方法进行实验,其中,
[0141]
标准tansformer方法参见论文wang,xiang and zhang,shiwei and qing,zhiwu and shao,yuanjie and zuo,zhengrong and gao,changxin and sang,nong.oadtr::online action detection with transformers.in iccv,pages7565

7575,2021.;
[0142]
额外存储colar方法参见论文l.yang,j.han,d.zhang.colar:effective and efficient online action detection by consulting exemplars,cvpr2022。
[0143]
实验例
[0144]
对比实施例1与对比例1、2的结果,采用平均精确率(map)评测模型在帧级的性能,采用每秒10亿次的浮点运算数(gflops)表现模型的运算量。
[0145]
表一
[0146]
方法map(%)gflops对比例1(red)45.3_对比例1(trn)47.21.46对比例1(idn)50.0_对比例2(标准tansformer-anet)58.32.44对比例2(额外存储colar-anet)59.42.56实施例1-anet62.91.76对比例2(标准tansformer-kinetics)65.22.54对比例2(额外存储colar-kinetics)66.92.71实施例1-kinetics68.51.97
[0147]
从表一可以看出,实施例1中的方法通常可以提高在线动作检测的性能。实施例1中所提出的模型在activitynet v1.3的预训练特征上和在kinetics的预训练特征中分别获得了61.2%和68.0%的map,比较使用rnn建模时间上下文的方法(red、trn和idn)的结果,具有更好的性能(至少高11.2%)。甚至与最新的采用标准tansformer和额外存储的colar相比,使用activitynet v1.3和kinetics的预训练特征,实施例1的方法的map分别高1.8%和1.1%。
[0148]
同时,从表一所示的各模型的运算量(gflops)来看,实施例1中的方法与其他基于transformer的方法(标准tansformer和colar)相比,所需运算量更少,而性能更好。
[0149]
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“前”、“后”等指示的方位或位置关系为基于本发明工作状态下的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0150]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”“相连”“连接”应作广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体的连接普通;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0151]
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。

技术特征:
1.一种基于轻量transformer的在线动作检测方法,其特征在于,包括:设置检测模型,所述检测模型基于transformer模型;获取长度为t的视频流的特征;将视频流的特征输入检测模型,通过检测模型输出视频流最后帧的动作类别,作为检测结果。2.根据权利要求1所述的基于轻量transformer的在线动作检测方法,其特征在于,所述检测模型具有自注意力子模型,所述自注意力子模型包括多个注意力层,所述注意力层输入为视频流的特征或上个注意力层输出的关注向量,输出为关注向量。3.根据权利要求2所述的基于轻量transformer的在线动作检测方法,其特征在于,所述注意力层只表征当前帧与各历史帧的关联性。4.根据权利要求2所述的基于轻量transformer的在线动作检测方法,其特征在于,在注意力层中,根据当前帧和历史帧键矩阵的余弦相似度作为注意力值。5.根据权利要求2所述的基于轻量transformer的在线动作检测方法,其特征在于,在自注意力子模型中包括以下步骤:s11、将视频流特征作为输入,采用卷积层对其进行处理,获得键矩阵和值矩阵,键矩阵包含各帧键向量,值矩阵包含各帧值向量;s12、将当前帧键向量和历史帧键向量的余弦相似度作为当前注意力层输出的注意力值;s13、根据注意力值对当前帧值向量和历史帧值向量加权求和,输出关注向量;s14、将上个注意力层输出的关注向量作为下个注意力层输入,重复步骤s11~s13,获得最终的自注意力子模型输出。6.根据权利要求2所述的基于轻量transformer的在线动作检测方法,其特征在于,所述自注意力子模型还包括时序卷积层,设置在相邻两个自注意力层之间。7.根据权利要求2所述的基于轻量transformer的在线动作检测方法,其特征在于,在自注意力子模型中还引入一个高斯分布先验,通过最小化各注意力层输出特征间时序相似性和先验高斯分布之间的kl散度,使得注意力层输出中特征之间的时序相似性在时间轴上符合高斯分布。8.根据权利要求7所述的基于轻量transformer的在线动作检测方法,其特征在于,将自注意力子模型的输出映射为嵌入特征矩阵,通过嵌入特征表征各注意力层输出特征的时序相似性,所述映射通过一个全连接层、relu激活层和另一个全连接层构成的映射网络h(
·
)实现,表示为将自注意力子模型的输出f
i

映射为嵌入特征s
i
:s
i
=h(f
i

)其中,表示s
i
在时刻i的嵌入特征,f
i

表示自注意力子模型的输出;所述各注意力层输出特征的时序相似性表示为:
其中,μ
ij
为余弦相似度,表示为μ
ij
=cos(s
i
,s
j
),i,j表示不同的时刻,g(
·
)表示高斯分布,表示为x为高斯分布的自变量。9.根据权利要求8所述的基于轻量transformer的在线动作检测方法,其特征在于,在检测模型中,还包括辅助分类过程:获得每一动作类别的典型特征;以当前帧的特征作为查询条件获取当前帧对应的动作类别典型特征;将获取的典型特征作为辅助信息来协助当前帧的动作分类。10.根据权利要求9所述的基于轻量transformer的在线动作检测方法,其特征在于,所述协助当前帧的动作分类通过以下方式进行:将当前帧的特征加到获得的类别典型特征的末尾形成的新输入序列,将该序列输入到一个新的注意力层,由注意力层输出辅助特征序列f
c
,其中,表示第k个类别特征的辅助特征,表示当前帧对应的辅助特征;将当前帧的注意力值f
″0和当前帧对应的辅助特征拼接成帧块特征f0,帧块特征f0经过分类器输出识别的动作。

技术总结
本发明公开了一种基于轻量Transformer的在线动作检测方法,包括:设置检测模型,所述检测模型基于Transformer模型;获取长度为T的视频流的特征;将视频流的特征输入检测模型,通过检测模型输出视频流最后帧的动作类别,作为检测结果。本发明公开的基于轻量Transformer的在线动作检测方法,在提高了准确度的情况下,降低了计算量。降低了计算量。降低了计算量。


技术研发人员:卿来云 李瑞鑫 闫龙川 庞俊彪 苗军
受保护的技术使用者:中国科学院大学
技术研发日:2023.03.29
技术公布日:2023/7/28
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐