基于动作识别和序列推理的动作预测方法

文档序号:37039333发布日期:2024-02-20 20:33阅读:11来源:国知局
基于动作识别和序列推理的动作预测方法

本发明属于计算机视觉,特别涉及基于动作识别和序列推理的动作预测方法。


背景技术:

1、在人工智能和机器学习的快速发展背景下,动作预测技术已成为一个重要的研究领域,此技术的核心目标是根据历史数据和当前情境来预测未来的动作或行为,算法需要基于当前的视频输入判断出指定时间后(如1秒)将会发生什么动作。动作预测技术广泛应用于各个领域,包括但不限于自动驾驶汽车、机器人工程、视频监控、交互式游戏和运动分析。如在自动驾驶领域,汽车需要根据路面实时情况来迅速作出反应并对乘客做出相对提示,如前方出现行人需要紧急避让,与其他车辆间距过小需要及时拉开距离,这些都关系到乘客的生命安全,更需要做出准确的判断。

2、传统的动作预测方法大多基于预设的算法和规则。例如,在视频监控领域,通过设置特定的动作触发规则来预测和识别异常行为,而且只能预判少数几种异常行为,且准确率不高。在运动分析中,通过分析运动员的历史表现数据来预测其未来表现。然而,这些传统方法存在局限性,特别是在处理复杂场景和实时数据时。

3、近年来,随着计算能力的提升和大数据技术的发展,基于机器学习的动作预测方法开始流行。这些方法通常涉及使用大量数据来训练预测模型,使其能够识别和预测不同类型的动作。例如,hochreiter等人从当前视频中采样视频帧序列,再利用卷积神经网络(cnn)处理每个视频帧提取特征,得到特征序列,再将得到的得到的特征序列送入循环神经网络(rnn)进行时序建模,预测指定时间的动作特征,再将该动作特征经过一个线性层进行分类,预测出指定时间的动作;girdhar等人则利用了预先提取好的特征,再将其送入已被证明拥有更强大推理能力的因果网络(根据序列的当前值及之前值预测下一个值)来进行推理,第一个将大规模预训练模型用于动作预测领域,进一步提升了动作预测的准确度。上述方法普遍存在以下问题:

4、(1)上述方法均是端到端的直接预测方法,直接从当前视频数据得到未来的动作预测,训练起来十分困难,因为预测未来发生的动作本来就是一个很困难的任务;

5、(2)上述方法大多没有用到上游大规模预训练模型,动作预测任务缺乏大规模数据集用于训练,如果不用到大模型的预训练知识,会导致网络性能较差,而且鲁棒性不强,适用的场景不多。


技术实现思路

1、针对上述现有技术存在的问题,本发明的目的在于将困难的动作预测任务分解为两个较为简单的动作识别和序列推理任务,提供了基于动作识别和序列推理的动作预测方法。

2、为了实现上述目的,本发明采用了如下技术方案:

3、基于动作识别和序列推理的动作预测方法,包括以下步骤:

4、s1、对原始长视频数据进行预处理,得到动作标签序列;

5、s2、将视频片段序列中的每个视频片段分别送入动作识别网络,提取代表各个视频片段的动作特征,得到动作特征序列;

6、s3、将动作特征序列送入线性分类网络,得到每个视频片段的动作分类结果,使用交叉熵损失函数来进行监督动作识别任务,使用动作标签序列进行监督,得到动作识别损失函数;

7、s4、将动作特征序列送入因果网络,根据动作特征序列预测下一个动作,得到预测的下一个动作特征序列;将下一个动作特征序列送入线性分类网络,使用交叉熵损失函数来进行监督动作预测任务,将下一个动作特征用于分类,使用下一个动作标签序列进行监督,得到动作预测损失函数;

8、s5、将得到的动作识别损失和动作预测损失相加,得到网络总损失函数,使用所得总损失函数来计算梯度,优化网络参数。

9、优选地,步骤s1中,所述对原始长视频数据进行预处理,得到动作标签序列,包括以下步骤:

10、s11、对原始长视频输入进行等间隔采样,得到视频片段(clip)序列;

11、s12、将得到的视频片段序列进行数据预处理,对所有视频帧进行裁剪调整大小;

12、s13、根据原始视频标注得到与视频片段序列中每个视频片段对应的动作标签,得到动作标签序列。

13、优选地,步骤s11中,所述对原始长视频输入进行等间隔采样,得到视频片段(clip)序列,具体步骤包括:对原始长视频每间隔1秒采样四帧,在一个视频片段序列里采样8个视频片段,时间间隔为1秒,每个视频片段包含4个视频帧。

14、优选地,步骤s12中,所述对所有视频帧进行裁剪调整大小,具体步骤包括:将得到的32个视频帧(8个视频片段乘以每个片段4帧)放缩为256*256像素大小,再随机裁剪成224*224。

15、优选地,步骤s13中,所述根据原始视频标注得到与视频片段序列中每个视频片段对应的动作标签,具体步骤包括:根据原始视频中存在的动作标签对得到的视频片段序列进行标注,如果所述视频片段位于已知的时间区间里,则采用原有的动作标签进行标注,如果所述视频片段所在的时间区间没有动作标签,则将其标注为未知动作,进而得到与视频片段序列中每个视频片段一一对应的动作标签序列。

16、优选地,步骤s2中,所述将视频片段序列中的每个视频片段分别送入动作识别网络,提取代表各个视频片段的动作特征,具体步骤包括:将每个视频帧划分为不重叠的补丁,再将所得补丁映射为一维向量序列(token序列),再加入代表整个视频片段信息的类别token送入动作识别网络,经由动作识别网络输出提取代表各个视频片段的动作特征,进而得到动作特征序列。

17、优选地,步骤s3中,所述将动作特征序列送入线性分类网络,得到每个视频片段的动作分类结果,使用交叉熵损失函数来进行监督动作识别任务,使用动作标签序列进行监督,包括:将动作特征序列送入线性分类网络,得到每个视频片段的动作分类结果,将动作特征用于分类,使用动作标签序列进行监督动作识别任务,使用交叉熵损失函数计算动作识别损失函数lrec,具体表示如下:

18、

19、其中,lrec表示动作识别损失函数,t取值从1到8,表示有8个视频片段,rt表示线性网络分类结果,at表示真实值,即动作标签。

20、优选地,所述将动作特征序列送入因果网络,根据动作特征序列预测下一个动作,得到预测的下一个动作特征序列;将下一个动作特征序列送入线性分类网络,使用交叉熵损失函数来进行监督动作预测任务,将下一个动作特征用于分类,使用下一个动作标签序列进行监督,得到动作预测损失函数,具体包括以下步骤:

21、首先,将动作特征序列f,f={f1,f2,f3…f8}输入因果网络,根据动作特征序列预测下一个动作,得到预测的下一个特征序列p,p∈r8*768且p={p2,p3,p4…p9},其中,p4是根据f1,f2,f3得到的,作为f4的预测值;

22、接着,使用线性分类网络进行分类,将下一个动作特征序列送入线性分类网络,使用动作标签序列的移位序列作为真实值来监督动作预测任务,使用交叉熵损失函数计算动作预测损失函数:

23、

24、其中,lpre表示预测损失函数,pt+1表示预测得到的下一个动作特征,at+1表示与下一个动作特征对应的真实动作标签。

25、优选地,所述将得到的动作识别损失和动作预测损失相加,得到网络总损失函数,使用所得总损失函数来计算梯度,优化网络参数,具体包括步骤:将得到的动作识别损失函数lrec和动作预测损失函数lpre相加,得到总损失函数ltotal,具体表示如下:

26、ltotal=lrec+lpre

27、使用所得总损失函数ltotal来计算梯度并优化相应的网络参数,训练arr模型。

28、本发明具备如下有益效果:

29、(1)本发明提出了基于动作识别和序列推理的动作预测方法,通过将较为困难且研究较少的动作预测方法分解为动作识别和序列推理两个子任务,通过子任务协同完成动作预测任务。具体地本发明使用动作识别损失和预测损失联合训练网络,通过对原始标注的巧妙处理,增加了动作识别的监督,相当于增加了网络的先验信息,从而进一步降低了训练的难度。

30、(2)本发明有效利用了预训练大模型的能力,使用在视频动作识别表现优秀的aim网络和具有强大推理能力的gpt2大模型来组成arr的主干网络,通过预训练模型带来的强大能力,有效解决了由于训练数据匮乏的导致网络性能较差和泛化性不足的问题。

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