一种基于人体骨骼关键点预测的异常行为识别系统及方法与流程

文档序号:32038914发布日期:2022-11-03 04:28阅读:61来源:国知局
一种基于人体骨骼关键点预测的异常行为识别系统及方法与流程

1.本发明涉及一种基于人体骨骼关键点预测的异常行为识别系统及方法,属于计算机视觉技术领域。


背景技术:

2.计算机视觉的任务是要为计算机和机器人开发与人类具有同等的视觉能力,智能监控技术是计算机视觉领域的一个重要研究方向。随着计算机视觉与深度学习的快速发展,越来越多的重要场景引入了智能监控技术,例如,海关、机场、公安等。智能监控技术利用图像分析算法对视频中的目标进行检测、识别、追踪等。用户可以通过不同的应用场景和监控目的来定义规则,一旦监控场景中的目标违反了所定义的规则,将被识别和记录并采取相关措施。
3.异常行为识别是智能监控技术的典型任务之一。异常行为被认为是在一段时间内与其他观察结果表现出高度分歧的意外变化。异常行为识别的目的是找到在某一场景中不寻常的位置、不寻常的时刻发生的动作或是在某一场景中正常位置、正常时刻发生的不寻常动作。带有异常行为识别技术的智能监控设备能够代替传统的人工安防方式,实现无人值守的监控模式,这有效地节省了人力,提高了异常事件的处理效率。
4.由于异常行为与正常行为都具有异构、多样性、不规则的特点,因此异常行为识别并不是简单的二分类任务。大多数基于深度学习的异常行为识别方法的主要思路是在训练阶段仅提取正常行为的特征,在识别阶段用特征的重建误差来辨别当前帧是否存在异常行为。然而,此类依赖视觉特征的算法容易受到图像冗余信息和噪声的干扰。同时,该类方法没有考虑正常行为的多样性,这使得在重建阶段对正常行为造成误判。


技术实现要素:

5.本发明提供一种基于人体骨骼关键点预测的异常行为识别系统及方法,采用骨骼关键点预测模型对未来帧的人体骨骼关键点进行预测,通过对比预测骨骼关键点与真实骨骼关键点的差异来识别异常,考虑到了正常行为的多样性,避免在重建阶段对正常行为造成误判。
6.为达到上述目的,本发明是采用下述技术方案实现的:
7.第一方面,本发明提供了一种基于人体骨骼关键点预测的异常行为识别方法,包括:
8.获取真实人体骨骼关键点;
9.将真实人体骨骼关键点输入预先构建的人体骨骼关键点预测网络模型,得到预测人体骨骼关键点;
10.根据预测人体骨骼关键点与真实人体骨骼关键点计算目标骨骼关键点损失值;
11.根据目标骨骼关键点损失值计算异常分值后,基于异常分值进行异常行为判定;
12.分别对预测人体骨骼关键点和真实人体骨骼关键点进行可视化绘制展示。
13.进一步的,所述人体骨骼关键点预测网络模型通过以下步骤构建:
14.获取正常行为的真实人体骨骼关键点;
15.建立人体骨骼关键点预测网络模型;
16.根据正常行为的真实人体骨骼关键点和损失函数确定人体骨骼关键点预测网络模型的参数。
17.进一步的,建立人体骨骼关键点预测网络模型,包括:所述人体骨骼关键点预测网络模型配备内核大小为10的低通滤波以消除输入关键点的噪声差异,表示为:
18.g
i,t-t+1
=αf
i,t-t+1
+(1-α)f
i,t-t
ꢀꢀ
(1)
19.其中,g
i,t-t+1
为经过低通滤波后t-t+1帧的骨骼关键点坐标,α为低通滤波系数,f
i,t-t+1
为t-t+1帧的骨骼关键点坐标,i为关键点索引,t代表当前帧的索引,t为预测帧的数量,f
i,t-t
为t-t帧的骨骼关键点坐标;
20.所述低通滤波后t-t+1帧的骨骼关键点坐标接入gru单元层,每层具有t个gru单元,在每个时间步长,gru单元从前一个gru接收信息,每个gru单元的输出通过以下方式计算:
[0021][0022]
其中,为t帧的gru单元的输出,为t帧的gru单元的输入,为t-1帧的gru单元输出;
[0023]
所述gru单元层输出经过编码模块后,得到长度为t的向量qi,将该向量重新映射成k个子向量,k=t*2,接着采用cosin相似性和softmax来计算向量与记忆模块中存储的信息的cosin相似度,用公式表示为:
[0024][0025]
其中,w
k,m,i
为向量q
k,i
和向量的匹配相似性权重,为记忆模块中第m个存储向量,q
k,i
为当前时刻输入的子向量,为记忆模块中每个特征向量,m’为每个特征向量的索引;
[0026]
所述人体骨骼关键点预测网络模型中的记忆模块按照所述向量q
k,i
和向量的匹配相似性权重分配到当前向量中:
[0027][0028]
其中,为加权后的特征子向量,为当前向量对应存储向量中的匹配相似性权重;每一个子向量q
k,i
都通过上述方式与每个记忆模块进行结合,将加权后的特征向量与记忆模块中的特征向量qi进行横向拼接并作为解码模块的输入,通过解码模块获得在特征空间中所预测的骨骼关键点坐标,将解码模块的输出作为全连接层的输入,用于将特征映射到2d图像坐标;
[0029]
对于每一个向量在记忆模块中的权重,用公式表示为:
[0030][0031]
其中,z
k,m,i
为向量q
k,i
在记忆模块中的权重,pm为记忆模块中的每个特征向量,qk′
,i
为当前骨骼关键点片段的子向量,k

为每个子向量的索引;
[0032]
对权重进行归一化:
[0033][0034]
其中,z

k,m,i
为归一化后的权重,zk′
,m,i
为记忆模块中每个子向量的权重;
[0035]
其中k

∈um,um为每个向量的序号,则更新后的记忆模块表示为:
[0036][0037]
进一步的,根据正常行为的真实人体骨骼关键点和损失函数确定人体骨骼关键点预测网络模型的参数,包括:给定一组归一化的关键点、中心和编码模块输出的子向量,均方误差损失函数为:
[0038][0039]
其中,l
p
为均方误差损失函数,t是预测帧的数量,为预测的人体骨骼关键点,f
ti
为真实的人体骨骼关键点,为当前目标预测的中心点,c
t
为当前目标真实的中心点,q
k,i
为骨骼关键点映射成的每个特征子向量,p
p
为记忆模块中具备与向量q
k,i
有最大权重的特征向量,损失函数的第一部分表示每个预测关键点的局部位移偏差,损失函数的第二部分表示预测关键点的整体位移偏差,第三部分表示骨骼关键点映射成的每个特征子向量与其在记忆模块中有最大权重的特征向量的偏差。
[0040]
进一步的,所述异常分值表示为:
[0041][0042]
其中,αf为异常分值,l
p
(f
t
)为目标骨骼关键点损失值,每个片段的l
p
(f
t
)由公式(8)计算获得,t是预测帧的数量。
[0043]
进一步的,分别对预测人体骨骼关键点和真实人体骨骼关键点进行可视化绘制展示,包括:
[0044]
获取预测人体骨骼关键点和真实人体骨骼关键点的坐标;
[0045]
根据预测人体骨骼关键点和真实人体骨骼关键点的坐标,在白纸或对应帧上进行绘制骨骼关键点;
[0046]
将绘制好的骨骼关键点进行连接,形成完整的人体骨骼框架。
[0047]
第二方面,本发明提供了一种基于人体骨骼关键点预测的异常行为识别系统,包括:
[0048]
关键点获取模块:用于获取真实人体骨骼关键点;
[0049]
关键点预测模块:用于将真实人体骨骼关键点输入预先构建的人体骨骼关键点预测网络模型,得到预测人体骨骼关键点;
[0050]
关键点损失值计算模块:用于根据预测人体骨骼关键点与真实人体骨骼关键点计算目标骨骼关键点损失值;
[0051]
异常行为判定模块:用于根据目标骨骼关键点损失值计算异常分值后,基于异常分值进行异常行为判定;
[0052]
可视化绘制展示模块:用于分别对预测人体骨骼关键点和真实人体骨骼关键点进行可视化绘制展示。
[0053]
第三方面,本发明提供了一种基于人体骨骼关键点预测的异常行为识别装置,包括处理器及存储介质;
[0054]
所述存储介质用于存储指令;
[0055]
所述处理器用于根据所述指令进行操作以执行根据上述任一项所述方法的步骤。
[0056]
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
[0057]
与现有技术相比,本发明所达到的有益效果:
[0058]
本发明与现有的异常行为识别技术方案相比,采用骨骼关键点预测模型对未来帧的人体骨骼关键点进行预测,通过对比预测骨骼关键点与真实骨骼关键点的差异来识别异常,考虑到了正常行为的多样性,避免在重建阶段对正常行为造成误判。另外,本发明所涉及的方法在人体骨骼关键点预测模型中结合记忆模块和更新策略来包含多个正常行为的原型,因此能够覆盖不同的正常行为,有效减少了对正常行为的误判。其次,预测模型采用正常行为的骨骼关键点进行训练,因此能够有效地识别出多种异常行为,如打架、摔倒、抛物等。再次,本发明所涉及的方法在应用阶段只需采用训练好的模型,并且是无监督训练,实时性较高。最后,本发明定义了联合损失函数对模型的参数进行优化和约束来进一步提高异常识别的准确率。
附图说明
[0059]
图1是本发明实施例一提供的ed-memory网络框架示意图;
[0060]
图2是本发明实施例一提供的可视化预测结果示意图。
具体实施方式
[0061]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0062]
实施例一:
[0063]
一种基于人体骨骼关键点预测的异常行为识别方法,包括:
[0064]
一、人体骨骼关键点检测
[0065]
获取监控视频流中连续帧的人体骨骼关键点坐标作为网络模型的输入。为了保证
方法的实时性,选取视频流中关键帧的前后五帧,也就是每秒选取十帧。首先采用alpha pose(人体骨骼关键点检测算法)对每一帧的人体姿势进行识别来获得人体骨骼关键点位置,每个人体目标提取的关键点数量为17个。接着为了将十帧中每个人的骨骼关键点进行一一对应,使用poseflow(姿态跟踪算法)对相邻帧的每组骨骼关键点的相似度进行比对,具有高度相似性的骨骼关键点认定为来自同一目标,并对其标注成相应的person_id。对于前一帧未出现后一帧多出来的目标,认为其是新进入场景区域的目标,将其person_id设定为当前最大值加1。每一个目标的person_id、对应帧的序号及17个人体骨骼关键点坐标存放到字典中。下面给出了一个字典的实例:
[0066][0067]
对于训练集,将来自训练集的每一个字典都存放到一个json文件中,供模型训练使用。对于测试集,将十帧的每一个字典划分为一组,作为网络模型的输入来验证模型的有效性。
[0068]
二、网络框架设计
[0069]
为了使网络预测模型具备预测多种正常行为的能力,本发明在模型中引入记忆模块。将模型命名为ed-memory,网络框架细节如图1所示。该架构的输入是每个人的骨架的17个关键点和该目标的中心点c
t
。这样做的目的是同时对每个人体骨骼关键点的局部位移和中心全局位移进行训练。接下来,网络框架配备内核大小为10的低通滤波以消除输入关键点的噪声差异,表示为:
[0070]gi,t-t+1
=αf
i,t-t+1
+(1-α)f
i,t-t
ꢀꢀ
(1)
[0071]
其中,g
i,t-t+1
为经过低通滤波后t-t+1帧的骨骼关键点坐标,α为低通滤波系数,f
i,t-t+1
为t-t+1帧的骨骼关键点坐标,i为关键点索引,0=《i《=16,t代表当前帧的索引,t为预测帧的数量,f
i,t-t
为t-t帧的骨骼关键点坐标。
[0072]
在本实施例中,α取0.8。经过低通滤波后,接入gru单元层(门控循环单元)。每层具有t个gru单元。在每个时间步长,gru单元从前一个gru接收信息。每个gru单元的输出通过以下方式计算:
[0073][0074]
其中,为t帧的gru单元的输入,为t帧的gru单元的输出,为t-1帧的gru单元输出。
[0075]
经过编码模块后,得到长度为t的向量qi,将该向量重新映射成k个子向量,k=t*2。接着采用cosin相似性和softmax来计算向量与记忆模块中存储的信息的cosin相似度,用公式表示为:
[0076][0077]
其中,w
k,m,i
为向量q
k,i
和向量的匹配相似性权重,k=1,..,t*2,为记忆模块中第m个存储向量,它记录了所有正常行为数据的原型特征;q
k,i
为当前时刻输入的子向量,为记忆模块中每个特征向量,m,为每个特征向量的索引,m’=1,...,m。
[0078]
每一个记忆模块都按照权重分配到当前向量中:
[0079][0080]
其中,为加权后的特征子向量,为当前向量对应存储向量中的匹配相似性权重。
[0081]
因此,每一个子向量q
k,i
都通过上述方式与每个记忆模块进行结合,这使得模型包含所有的正常行为的原型,充分考虑了正常行为的多样性。将加权后的特征向量与记忆模块中的特征向量qi进行横向拼接并作为解码模块的输入。接着,通过解码模块获得在特征空间中所预测的骨骼关键点坐标。最后,将解码模块的输出作为全连接层的输入,用于将特征映射到2d图像坐标。
[0082]
每一次对长度为t帧的骨骼关键点坐标经过上述步骤计算后,都要对记忆模块进行更新,以便将该t帧的骨骼关键点坐标所带有的行为特征记录到记忆模块的特征向量中。记忆模块更新策略的设计理念来源于高斯混合模型中的模型更新方式,将记忆模块与每一个子向量进行加权,然后用权重最大的向量对最后一个记忆模块进行更新。对于每一个向量在记忆模块中的权重,用公式表示为:
[0083][0084]
其中,z
k,m,i
为向量q
k,i
在记忆模块中的权重,pm为记忆模块中的每个特征向量,qk′
,i
为当前骨骼关键点片段的子向量,k

为每个子向量的索引。
[0085]
对权重进行归一化:
[0086][0087]
其中,z

k,m,i
为归一化后的权重,zk′
,m,i
为记忆模块中每个子向量的权重。
[0088]
其中k

∈um,um为每个向量的序号。则更新后的记忆模块表示为:
[0089][0090]
为了找到每一层的权重和偏差的最佳值,本文使用l2距离来定义联合损失函数并
将其最小化。给定一组归一化的关键点、中心和编码模块输出的子向量,均方误差损失函数为:
[0091][0092]
其中,l
p
为均方误差损失函数,t是预测帧的数量,为预测的人体骨骼关键点,即全连接层的输出,f
ti
为真实的人体骨骼关键点,为当前目标预测的中心点,c
t
为当前目标真实的中心点,q
k,i
为骨骼关键点映射成的每个特征子向量,p
p
为记忆模块中具备与向量q
k,i
有最大权重的特征向量。
[0093]
在本实施例中t为10,损失函数的第一部分表示每个预测关键点的局部位移偏差,损失函数的第二部分表示预测关键点的整体位移偏差,第三部分表示骨骼关键点映射成的每个特征子向量与其在记忆模块中有最大权重的特征向量的偏差。
[0094]
三、异常分值计算
[0095]
为了衡量每个目标的异常值,本文结合连续帧的目标骨骼关键点损失值和帧数进行计算,即通过异常分值的大小来判定其是否为异常行为,用公式表示为:
[0096][0097]
其中,αf为异常分值,l
p
(f
t
)为目标骨骼关键点损失值,每个片段的l
p
(f
t
)由公式(8)计算获得,t是预测帧的数量。该异常分值计算公式的实际意义为取视频片段中所有骨骼轨迹的损失的平均值。
[0098]
四、预测结果可视化
[0099]
在获得预测的人体骨骼关键点后,分别对预测的人体骨骼关键点和真实的人体骨骼关键点进行可视化,并突出显示异常分值过高的人体骨骼关键点,即突出显示异常行为。首先,获取每个预测的人体骨骼关键点和真实的人体骨骼关键点的字典,通过骨骼关键点的键值:

keypoints’获取人体骨骼关键点坐标,并利用opencv中的函数cv.circle(img,center,radius,color[,thickness[,linetype[,shift]]])对关键点进行绘制。接着,使用opencv中的函数cv.line(img,pt1,pt2,color[,thickness[,linetype[,shift]]])将绘制好的骨骼关键点进行连接,形成完整的人体骨骼框架。如果在白纸上绘制骨骼关键点,参数img设定为像素值全为(255,255,255)的空白图片。如果在对应帧上绘制骨骼关键点,则通过键值

frame_number’获取帧号,在存放图像的列表中找到对应帧并设定为参数img。可视化的结果如图2所示,对于正常行为,绘制出的预测的人体骨骼关键点与真实的人体骨骼关键点基本一致。对于异常行为,绘制出的预测人体骨骼关键点与真实的人体骨骼关键点具有非常大的差异。
[0100]
实施例二:
[0101]
一种基于人体骨骼关键点预测的异常行为识别系统,可实现实施例一所述的一种基于人体骨骼关键点预测的异常行为识别方法,包括:
[0102]
关键点获取模块:用于获取真实人体骨骼关键点;
[0103]
关键点预测模块:用于将真实人体骨骼关键点输入预先构建的人体骨骼关键点预测网络模型,得到预测人体骨骼关键点;
[0104]
关键点损失值计算模块:用于根据预测人体骨骼关键点与真实人体骨骼关键点计算目标骨骼关键点损失值;
[0105]
异常行为判定模块:用于根据目标骨骼关键点损失值计算异常分值后,基于异常分值进行异常行为判定;
[0106]
可视化绘制展示模块:用于分别对预测人体骨骼关键点和真实人体骨骼关键点进行可视化绘制展示。
[0107]
实施例三:
[0108]
本发明实施例还提供了一种基于人体骨骼关键点预测的异常行为识别装置,可实现实施例一所述的一种基于人体骨骼关键点预测的异常行为识别方法,包括处理器及存储介质;
[0109]
所述存储介质用于存储指令;
[0110]
所述处理器用于根据所述指令进行操作以执行下述方法的步骤:
[0111]
获取真实人体骨骼关键点;
[0112]
将真实人体骨骼关键点输入预先构建的人体骨骼关键点预测网络模型,得到预测人体骨骼关键点;
[0113]
根据预测人体骨骼关键点与真实人体骨骼关键点计算目标骨骼关键点损失值;
[0114]
根据目标骨骼关键点损失值计算异常分值后,基于异常分值进行异常行为判定;
[0115]
分别对预测人体骨骼关键点和真实人体骨骼关键点进行可视化绘制展示。
[0116]
实施例四:
[0117]
本发明实施例还提供了一种计算机可读存储介质,可实现实施例一所述的一种基于人体骨骼关键点预测的异常行为识别方法,其上存储有计算机程序,该程序被处理器执行时实现下述方法的步骤:
[0118]
获取真实人体骨骼关键点;
[0119]
将真实人体骨骼关键点输入预先构建的人体骨骼关键点预测网络模型,得到预测人体骨骼关键点;
[0120]
根据预测人体骨骼关键点与真实人体骨骼关键点计算目标骨骼关键点损失值;
[0121]
根据目标骨骼关键点损失值计算异常分值后,基于异常分值进行异常行为判定;
[0122]
分别对预测人体骨骼关键点和真实人体骨骼关键点进行可视化绘制展示。
[0123]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0124]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0125]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0126]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0127]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1