一种基于双向轨迹预测网络的行人异常行为检测方法与流程

文档序号:32345605发布日期:2022-11-26 11:15阅读:238来源:国知局
一种基于双向轨迹预测网络的行人异常行为检测方法与流程

1.本发明涉及计算机视觉和神经网络领域,具体为一种基于双向轨迹预测网络的行人异常行为检测方法。


背景技术:

2.行人异常检测是指从视频序列中识别不符合预期行为(即异常)的行人活动和事件,这是车辆安全自动驾驶的一项重要任务。如果一个行人突然跑到汽车前面或跳起来,或者一个孩子把一个球扔到街上,智能自动驾驶汽车必须能够识别这些潜在的异常活动,以便使用适当的路径规划和控制策略避障,确保安全。行人异常检测问题由一个训练集和一个测试集建立,其中训练视频只包含正常的步行活动(如步行),测试视频可以包含正常和异常的活动(如跑步、跳跃、扔袋子等),目标是学习训练数据中呈现的正常行人活动模式,并在测试集中检测异常。
3.行人异常事件的发生频率通常远低于正常活动,通常很难获得包含大量标记异常事件的训练数据。因此,行人异常检测问题的现有解决方案主要是无监督学习方法,通常通过重建视频帧来学习正常活动的特征表示,计算测试实例的重建误差来检测异常。通过重建获得的基于像素的特征可能是非结构化的、高维的,这可能导致对噪声敏感、缺乏可解释性和冗余。


技术实现要素:

4.针对现有技术存在的问题,本发明公开一种基于双向轨迹预测网络的行人异常行为检测方法,
5.为了解决所述技术问题,本发明采用的技术方案是:一种基于双向轨迹预测网络的行人异常行为检测方法,其特征在于:包括以下步骤:
6.s01)、准备行人异常检测数据集视频;
7.s02)、使用多人姿态估计系统alphapose提取行人二维骨架关节位置,并最小化组合姿态损失函数,训练模型,得到训练好的行人异常检测模型,行人异常检测模型为双向轨迹预测网络;
8.s03)、推理时,使用alphapose提取检测视频中的行人二维骨架关节位置,输入双向轨迹预测网络,双向轨迹预测网络预测行人关节位置;
9.s04)、计算人体关节误差,根据人体关节误差判断是否有行人异常行为。
10.进一步的,双向轨迹预测网络基于cvae模型设计,采用门控循环单元编码器网络对输入轨迹序列进行编码,得到输入轨迹序列的编码特征向量,然后利用cvae对输入的行人序列轨迹在观测时间步和真实时间步上的高斯分布均值和协方差进行预测,从学习到的分布中采样一个潜在变量,并与编码的特征向量连接,预测轨迹的目标位置;预测的目标位置作为输入进入一个包含双向rnn的双向解码器,前向rnn为常规rnn解码器,只是其输出不被转换到轨迹空间,后向rnn先从输入编码器隐藏状态初始化,将估计的目标作为输入向后
传播,然后将同一时间步的前向和向后隐藏状态连接,以预测该时间步处的最终姿势。
11.进一步的,在coco数据集17个人体骨架关节标注点上,增加了关节点18作为左右肩关节和髋关节的平均值,使用多人姿态估计系统alphapose 为所有行人序列生成二维骨架关节位置。
12.进一步的,组合姿态损失函数引入基于骨、关节和端点的组合姿态约束,在轨迹损失的基础上加入人体骨骼结构的物理特性,组合姿态损失函数为:
13.l=l
t
+αlb+βle+γlj,
14.其中l
t
是轨迹损失函数,lb是骨损失,lj是关节损失,le是端点损失,α,β和γ是各项损失的权重,各项损失计算方式为:
[0015][0016][0017]bn
=j
parent(n)-jn,
[0018][0019]
le=δ
la

ra

lf

rf

ll

rl

[0020][0021][0022][0023][0024][0025][0026]
其中‖
·
‖是求l1范数操作,||
·
||2是求l2范数操作,表示时间步k时相对坐标下的真实行人骨架关节点,表示时间步k时预测的行人骨架,和分别是真实情况和预测行人在最后一个时间步即时间步t+r上的最终目标姿态,d
kl
(p||q)表示cvae中的先验和识别网络学习到的均值和协方差分布的kl-散度;和jn分别是预测的和真实的关节位置,j
parent(n)
表示子关节 n的父关节,bn是alphapose得到的真实骨向量,是从预测关节计算出的骨向量,n表示关节点数,端点损失le由六项损失组成,分别为左臂δ
la
,右臂δ
ra
,左脸δ
lf
,右脸δ
rf
,左腿δ
ll
和右腿δ
rl
,左臂损失δ
la
是左臂上的关节端点。
[0027]
进一步的,人体关节误差为预测的行人姿态与地面行人姿态之间的差,表达式为:
[0028]
公式中j
kt
是通过alphapose获得的在时间步t时第k个骨关节的位置,是预测值,ω
kt
是由alphapose得到的置信度得分,表示第k个关节在时间步t时的可见性。
[0029]
本发明的有益效果:主流的行人异常检测问题的解决方案主要是用重构的方法,假设仅在正常数据上学习到的模型不能准确地重构异常。但是缺点是通过重构获得的基于
像素的特征是对噪声敏感的高维非结构信号,掩盖了关于场景的信息;而且基于像素的特征中存在的冗余信息增加了用它们训练的模型来区分信号和噪声的负担。本发明使用了alphapose提取的骨架关节向量作为特征输入避免了上述两个问题。
附图说明
[0030]
图1为本发明使用的人体骨架关节标注点;
[0031]
图2为本方法的实施流程图。
具体实施方式
[0032]
为使本发明专利的目的、技术方案更加清楚明白,下文中将结合附图,对发明专利进行详细说明。
[0033]
实施例1
[0034]
本实施例公开一种基于双向轨迹预测网络的行人异常行为预测方法,本方法先训练双向轨迹预测网络,然后进行预测,具体包括以下步骤:
[0035]
s01)、准备行人异常检测数据集视频,行人异常检测数据集视频包括训练集和测试集视频,训练集仅包含正常事件(如步行活动),不包含异常事件。测试集包含正常和异常事件。
[0036]
s02)、使用多人姿态估计系统alphapose提取行人二维骨架关节位置,并最小化组合姿态损失函数,训练模型,得到训练好的行人异常检测模型,行人异常检测模型为双向轨迹预测网络。
[0037]
为了更充分的提取人体骨架特征,在coco数据集17个人体骨架关节标注点上,增加了关节点18作为左右肩关节和髋关节的平均值,如图1所示。使用多人姿态估计系统alphapose为所有行人序列生成二维骨架关节位置。
[0038]
组合姿态损失函数引入基于骨、关节和端点的组合姿态约束,在轨迹损失的基础上加入人体骨骼结构的物理特性,组合姿态损失函数为:
[0039]
l=l
t
+αlb+βle+γlj,
[0040]
其中l
t
是轨迹损失函数,lb是骨损失,lj是关节损失,le是端点损失,α,β和γ是各项损失的权重,各项损失计算方式为:
[0041][0042][0043]bn
=j
parent(n)-jn,
[0044][0045]
le=δ
la

ra

lf

rf

ll

rl

[0046][0047][0048]
[0049][0050][0051][0052]
其中‖
·
‖是求l1范数操作,||
·
||2是求l2范数操作,表示时间步k时相对坐标下的真实行人骨架关节点,表示时间步k时预测的行人骨架,和分别是真实情况和预测行人在最后一个时间步即时间步t+r上的最终目标姿态,d
kl
(p||q)表示cvae中的先验和识别网络学习到的均值和协方差分布的kl-散度;和jn分别是预测的和真实的关节位置,j
parent(n)
表示图2中子关节n的父关节,bn是alphapose得到的真实骨向量,是从预测关节计算出的骨向量,n表示关节点数,端点损失le由六项损失组成,分别为左臂δ
la
,右臂δ
ra
,左脸δ
lf
,右脸δ
rf
,左腿δ
ll
和右腿δ
rl
,左臂损失δ
la
是左臂上的关节端点。
[0053]
s03)、推理时,使用alphapose提取检测视频中的行人二维骨架关节位置输入双向轨迹预测网络,双向轨迹预测网络预测行人关节位置。
[0054]
本实施例中,双向轨迹预测网络是基于cvae模型设计的,采用门控循环单元(gru)编码器网络对输入轨迹序列进行编码,得到输入轨迹序列的编码特征向量。然后,利用cvae对输入的行人轨迹序列在观测时间步和真实时间步上的高斯分布均值和协方差进行预测。然后,从学习到的分布中采样一个潜在变量,并与编码的特征向量连接,预测轨迹的目标位置。预测的目标位置作为输入进入一个包含双向rnn的双向解码器,前向rnn与常规rnn解码器类似,只是其输出不被转换到轨迹空间。后向rnn先从输入编码器隐藏状态初始化,将估计的目标作为输入向后传播,然后将同一时间步的前向和向后隐藏状态连接,以预测该时间步处的最终姿势。
[0055]
s04)、计算人体关节误差e
t
,最大池化e
t
,计算在时间t处的帧级异常得分。
[0056]
与正常活动相比,执行异常活动的行人所预测的姿态会偏离真实轨迹更远。双向轨迹预测网络从训练数据中学习正常行走动作,因此,预测的行人姿态与地面行人姿态之间的预测误差可以作为识别异常事件的指标。首先通过公式:
[0057][0058]
计算人体关节误差e
t
,公式中j
kt
是通过alphapose获得的在时间步t时第k 个骨关节的位置,是预测值,ω
kt
是由alphapose得到的置信度得分,表示第 k个关节在时间步t时的可见性。
[0059]
由于本发明使用滑动窗口方法将行人姿态序列作为检测器的输入和输出处理,因此可以对同一个行人实例进行多种预测。使用两种误差测量方法,总结误差和扁平误差,在多个预测中收集同一行人的异常分数。总结误差对每个序列中所有时间步的骨架关节误差进行汇总,而扁平误差对行人序列中同一时间步的预测误差进行平均。在每个帧(时间步)t计算每个行人的骨架关节误差之后,我们将骨骼误差汇总为帧级异常得分,通过最大池化e
t
,计算在时间t处的帧级异常得分。所有t帧的帧级异常得分是我们的异常检测模型的最终输出。
[0060]
以上,描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1