一种基于Openpose模型算法的行为捕捉识别方法转让专利

申请号 : CN202310632382.9

文献号 : CN116645727B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘佳宇

申请人 : 江苏中科优胜科技有限公司

摘要 :

本发明涉及行为识别技术领域,尤其为一种基于Openpose模型算法的行为捕捉识别方法,包括如下步骤:S1:通过捕捉设备对识别对象的行为进行捕捉并保存,获得原始行为图像;S2:对原始行为图像进行预处理,获得预处理数据;S3:对预处理数据进行关键点检测S4:通过关键点检测进行行为预测;S5:对预测结果进行二次检测。本发明通过摄像头或者传感器对识别对象进行行为捕捉,同时通过深度学习和决策树算法进行结合对行为进行初步判断,在对初步判断结果进行循环神经网络的二次判断最终输出最后的预测,降低了模型算法的出错率同时提高了算法的可靠性。

权利要求 :

1.一种基于Openpose模型算法的行为捕捉识别方法,其特征在于:包括如下步骤:S1:通过捕捉设备对识别对象的行为进行捕捉并保存,获得原始行为图像;

S2:对原始行为图像进行预处理,获得预处理数据;

S3:对预处理数据进行关键点检测;

S4:通过关键点检测进行行为预测;

S5:对预测结果进行二次检测;

所述预处理包括图像去噪、图像滤波和图像增强,其中图像去噪的算法采用小滤波去噪分解法,图像滤波采用的中值滤波计算公式如下:其中xij表示滤波核对应区域所有像素点的像素值,i,j表示图像的像素坐标,i表示行数,j表示列数,k表示滤波核的大小,k*k为滤波器的窗口大小,x′ij为中值滤波计算处理后的提取的像素值,图片图像增强采用的是锐化处理计算公式如下:Iout(x,y)=ω1I(x,y)‑ω2I(x‑1,y)+I(x+1,y)其中Iout(x,y)为增强后像素点对应的值,ω1,ω2为权重系数,I(x,y)为增强前像素点(x,y)对应的值,I(x‑1,y)为增强前像素点(x‑1,y)对应的值,x,y表示图像中一个像素点的坐标,x‑1,y表示图像中像素点(x‑1,y)的坐标,x+1,y表示图像中像素点(x+1,y)的坐标;

所述对预处理数据进行关键点检测算法是基于卷积神经网络的Openpose模型算法;

基于卷积神经网络的Openpose模型算法具体实现步骤如下:S3.1:输入预处理数据作为Openpose模型算法的输入值;

S3.2:通过卷积层进行特征提取,通过池化层进行特征压缩;

S3.3:通过全连接层进行参数选择和参数更新;

S3.4:重复步骤S3.1、S3.2与S3.3直至算法收敛或迭代次数达到最大值;

所述参数选择和参数更新具体流程如下:

通过前向传播进行模型参数预测计算公式如下:

y′i=max(ym×k+s~ym×k×n+s)其中σ(x)为激活函数表达式为 yi为卷积输出值,ωij为卷积核,x′ij为数据处理后的卷积核对应大小内的像素值,b为偏置系数;m×n为卷积核的大小,m、n分别为卷积核的长和宽,s为池化层的步长,input为全连接层的输出ω′ij为全连接层的系数矩阵,b′为全连接层的偏置系数,y′i为更新后的卷积输出值,g()为激活函数,ym×k+s为卷积层的输出,ym×k×n+s为池化层的输出;

通过向后传播进行参数的更新计算公式如下:

其中L为损失函数,input为全连接层的输出ω′ij为全连接层的系数矩阵,Y为真实数据矩阵,θ为学习参数,η为学习率, 对损失函数进行以θ为自变量进行偏导求解,←表示赋值符号;

所述基于卷积神经网络的Openpose模型算法通过标注识别对象身体关节点位置使用决策树算法进行行为分类;

所述决策树算法是以骨架序列中关节点的运动特性作为判断异常的指标,对识别对象进行行为捕捉识别,决策树算法实现过程如下:S4.1:计算信息熵;

其中,E(D)为数据集D的信息熵,z为分类结果,pi为D中属于分类i的样本比例;

S4.2:计算在特征A的条件下数据集D的条件信息熵:其中,E(D|A)为条件信息熵,|A|为特征A取的个数,Dj表示A等于第j个取值时对应的子集,|Dj|表示集合中的数量;

S4.3:计算在特征A条件下的信息增益:

G(A)=E(A)‑E(D|A)

其中,E(A)表示特征A的信息熵,信息增益越高标明特征A成为分裂点的效果更好;

所述S5中对预测结果进行二次检测是使用RNN循环神经网络构建模型对进行二次判断;

所述RNN循环神经网络计算公式如下:

yt=Whyht+by

其中,hi表示i时刻产生的隐藏状态向量,其中h0=(0,0,...,0),y′i为预处理后的数据的矩阵向量,W和U分别表示xi与当前时刻和上一时刻的权重矩阵,Why是隐藏层与输出层的权重矩阵,b和by表示不同层之间的偏置,h表示每个时间步产生的隐藏状态,参数ht表示在时间步t处的隐藏状态,yt表示在时间步t处的输出, 为指数函数计算。

2.根据权利要求1所述的基于Openpose模型算法的行为捕捉识别方法,其特征在于:所述S1中的捕捉设备包括摄像头和传感器。

说明书 :

一种基于Openpose模型算法的行为捕捉识别方法

技术领域

[0001] 本发明涉及行为识别技术领域,尤其是一种基于Openpose模型算法的行为捕捉识别方法。

背景技术

[0002] 行为捕捉识别方法是以深度学习为基础进行赋能发展。当前,行为捕捉识别已经广泛运用于各个行业,随着人口数量的不断潘增,出现踩踏事件也很多为了减少或避免危险情况的出现,需要对捕捉对象行为进行识别。
[0003] 现存的一些关于行为捕捉识别方法仅仅通过简单单一的深度神经网路进行分析判断,往往会出现误判行为,比如将坐姿判断为摔倒导致不必要的损失故本发明提出一种基于Openpose模型算法的行为捕捉识别方法。

发明内容

[0004] 本发明的目的是通过提出一种基于Openpose模型算法的行为捕捉识别方法,以解决上述背景技术中提出的缺陷。
[0005] 本发明采用的技术方案如下:
[0006] 提供一种基于Openpose模型算法的行为捕捉识别方法,包括如下步骤:
[0007] S1:通过捕捉设备对识别对象的行为进行捕捉并保存,获得原始行为图像;
[0008] S2:对原始行为图像进行预处理,获得预处理数据;
[0009] S3:对预处理数据进行关键点检测;
[0010] S4:通过关键点检测进行行为预测;
[0011] S5:对预测结果进行二次检测。
[0012] 作为本发明的一种优选技术方案:所述S1中的捕捉设备包括摄像头和传感器。
[0013] 作为本发明的一种优选技术方案:所述预处理包括图像去噪、图像滤波和图像增强,其中图像去噪算法采用小滤波去噪分解法,图像滤波采用中值滤波计算公式如下:
[0014]
[0015] 其中,xij表示滤波核对应区域所有像素点的像素值,i,j表示图像的像素坐标,i表示行数,j表示列数,k表示滤波核的大小,k*k为滤波器的窗口大小,x′ij为中值滤波计算处理后的提取的像素值,图片图像增强采用的是锐化处理计算公式如下:
[0016] Iout(x,y)=ω1I(x,y)‑ω2I(x‑1,y)+I(x+1,y)
[0017] 其中Iout(x,y)为增强后像素点对应的值,ω1,ω2为权重系数,I(x,y)为增强前像素点(x,y)对应的值,I(x‑1,y)为增强前像素点(x‑1,y)对应的值,x,y表示图像中一个像素点的坐标,x‑1,y表示图像中像素点(x‑1,y)的坐标,x+1,y表示图像中像素点(x+1,y)的坐标。
[0018] 作为本发明的一种优选技术方案:所述对预处理数据进行关键点检测算法是基于卷积神经网络的Openpose模型算法。
[0019] 作为本发明的一种优选技术方案:所述基于卷积神经网络的Openpose模型算法具体实现步骤如下:
[0020] S3.1.1:输入预处理数据作为Openpose模型算法的输入值;
[0021] S3.1.2:通过卷积层进行特征提取,通过池化层进行特征压缩;
[0022] S3.1.3:通过全连接层进行参数选择和参数更新;
[0023] S3.1.4:重复步骤S3.1、S3.2与S3.3直至算法收敛或迭代次数达到最大值。
[0024] 作为本发明的一种优选技术方案:
[0025] 所述参数选择和参数更新具体流程如下:
[0026] 通过前向传播进行模型参数预测计算公式如下:
[0027]
[0028] y′i=max(ym×k+s~ym×k×n+s)
[0029]
[0030] 其中σ(x)为激活函数表达式为 yi为卷积输出值,ωij为卷积核,x′ij为数据处理后的卷积核对应大小内的像素值,b为偏置系数。m×n为卷积核的大小,m、n分别为卷积核的长和宽,s为池化层的步长,input为全连接层的输出ω′ij为全连接层的系数矩阵,b′为全连接层的偏置系数,y′i为更新后的卷积输出值,g()为激活函数,ym×k+s为卷积层的输出,ym×k×n+s为池化层的输出;
[0031] 通过向后传播进行参数的更新计算公式如下:
[0032]
[0033]
[0034] 其中L为损失函数,input为全连接层的输出ω′ij为全连接层的系数矩阵,Y为真实数据矩阵,θ为学习参数,η为学习率, 对损失函数进行以θ为自变量进行偏导求解,←表示赋值符号。
[0035] 作为本发明的一种优选技术方案:所述基于卷积神经网络的Openpose模型算法通过标注识别对象身体关节点位置使用决策树算法进行行为分类。
[0036] 作为本发明的一种优选技术方案:所述决策树算法是以骨架序列中关节点的运动特性作为判断异常的指标,对识别对象进行行为捕捉识别,决策树算法实现过程如下:
[0037] S4.1:计算信息熵;
[0038]
[0039] 其中,E(D)为数据集D的信息熵,z为分类结果,pi为D中属于分类i的样本比例;
[0040] S4.2:计算在特征A的条件下数据集D的条件信息熵:
[0041]
[0042] 其中,E(D|A)为条件信息熵,|A|为特征A取的个数,Dj表示A等于第j个取值时对应的子集,|Dj|表示集合中的数量;
[0043] S4.3:计算在特征A条件下的信息增益:
[0044] G(A)=E(A)‑E(D|A)
[0045] 其中,E(A)表示特征A的信息熵,信息增益越高标明特征A成为分裂点的效果更好。
[0046] 作为本发明的一种优选技术方案:所述S5中对预测结果进行二次检测是使用RNN循环神经网络构建模型对进行二次判断。
[0047] 作为本发明的一种优选技术方案:所述RNN循环神经网络计算公式如下:
[0048]
[0049] yt=Whyht+by
[0050] 其中,hi表示i时刻产生的隐藏状态向量,其中h0=(0,0,...,0),y′i为预处理后的数据的矩阵向量,W和U分别表示xi与当前时刻和上一时刻的权重矩阵,Why是隐藏层与输出层的权重矩阵,b和by表示不同层之间的偏置,h表示每个时间步产生的隐藏状态,参数ht表示在时间步t处的隐藏状态,yt表示在时间步t处的输出, 为指数函数计算。
[0051] 本发明提供的基于0penpose模型算法的行为捕捉识别方法,与现有技术相比,其有益效果有:
[0052] 本发明通过摄像头或者传感器对识别对象进行行为捕捉,同时通过深度学习和决策树算法进行结合对行为进行初步判断,在对初步判断结果进行循环神经网络的二次判断最终输出最后的预测,降低了模型算法的出错率同时提高了算法的可靠性。

附图说明

[0053] 图1为本发明优选实施例的方法流程图。

具体实施方式

[0054] 需要说明的是,在不冲突的情况下,本实施例中的实施例及实施例中的特征可以相互组合,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055] 参照图1,本发明优选实施例提供了一种基于Openpose模型算法的行为捕捉识别方法,包括如下步骤:
[0056] 包括如下步骤:
[0057] S1:通过捕捉设备对识别对象的行为进行捕捉并保存,获得原始行为图像;
[0058] S2:对原始行为图像进行预处理,获得预处理数据;
[0059] S3:对预处理数据进行关键点检测;
[0060] S4:通过关键点检测进行行为预测;
[0061] S5:对预测结果进行二次检测。
[0062] S1中的捕捉设备包括摄像头和传感器。
[0063] 由于捕捉到的对象数据往往十分复杂且所含信息少,直接使用会造成很多不必要的资源浪费因此要对初始数据进行预处理,所述预处理包括图像去噪、图像滤波和图像增强,其中图像去噪算法采用小滤波去噪分解法,图像滤波采用中值滤波计算公式如下:
[0064]
[0065] 其中,xij表示滤波核对应区域所有像素点的像素值,i,j表示图像的像素坐标,i表示行数,j表示列数,k表示滤波核的大小,k*k为滤波器的窗口大小,x′ij为中值滤波计算处理后的提取的像素值,图片图像增强采用的是锐化处理计算公式如下:
[0066] Iout(x,y)=ω1I(x,y)‑ω2I(x‑1,y)+I(x+1,y)
[0067] 其中Iout(x,y)为增强后像素点对应的值,ω1,ω2为权重系数,I(x,y)为增强前像素点(x,y)对应的值,I(x‑1,y)为增强前像素点(x‑1,y)对应的值,x,y表示图像中一个像素点的坐标,x‑1,y表示图像中像素点(x‑1,y)的坐标,x+1,y表示图像中像素点(x+1,y)的坐标。
[0068] 对预处理数据进行关键点检测算法是基于卷积神经网络的Openpose模型算法。
[0069] 基于卷积神经网络的Openpose模型算法具体实现步骤如下:
[0070] S3.1:输入预处理数据作为Openpose模型算法的输入值;
[0071] S3.2:通过卷积层进行特征提取,通过池化层进行特征压缩;
[0072] S3.3:通过全连接层进行参数选择和参数更新;
[0073] S3.4:重复步骤S3.1、S3.2与S3.3直至算法收敛或迭代次数达到最大值。
[0074] 参数选择和参数更新具体流程如下:
[0075] 通过前向传播进行模型参数预测计算公式如下:
[0076]
[0077] y′i=max(ym×k+s~ym×k×n+s)
[0078]
[0079] 其中σ(x)为激活函数表达式为 yi为卷积输出值,ωij为卷积核,x′ij为数据处理后的卷积核对应大小内的像素值,b为偏置系数。m×n为卷积核的大小,m、n分别为卷积核的长和宽,s为池化层的步长,input为全连接层的输出ω′ij为全连接层的系数矩阵,b′为全连接层的偏置系数,y′i为更新后的卷积输出值,g()为激活函数,ym×k+s为卷积层的输出,ym×k×n+s为池化层的输出;
[0080] 通过向后传播进行参数的更新计算公式如下:
[0081]
[0082]
[0083] 其中L为损失函数,input为全连接层的输出ω′ij为全连接层的系数矩阵,Y为真实数据矩阵,θ为学习参数,η为学习率, 对损失函数进行以θ为自变量进行偏导求解,←表示赋值符号。
[0084] 基于卷积神经网络的Openpose模型算法通过标注识别对象身体关节点位置使用决策树算法进行行为分类。
[0085] 由于基于卷积神经网络的Openpose模型算法只能判断出关键点位置,因此需要对模型训练结果进行分类,因此需要使用另一个算法进行异常指标判断,决策树算法是以骨架序列中关节点的运动特性作为判断异常的指标,对识别对象进行行为捕捉识别,决策树算法实现过程如下:
[0086] S4.1:计算信息熵;
[0087]
[0088] 其中,E(D)为数据集D的信息熵,z为分类结果,pi为D中属于分类i的样本比例;
[0089] S4.2:计算在特征A的条件下数据集D的条件信息熵:
[0090]
[0091] 其中,E(D|A)为条件信息熵,|A|为特征A取的个数,Dj表示A等于第j个取值时对应的子集,|Dj|表示集合中的数量;
[0092] S4.3:计算在特征A条件下的信息增益:
[0093] G(A)=E(A)‑E(D|A)
[0094] 其中,E(A)表示特征A的信息熵,信息增益越高标明特征A成为分裂点的效果更好。
[0095] S5中对预测结果进行二次检测是使用RNN循环神经网络构建模型对进行二次判断。
[0096] RNN循环神经网络计算公式如下:
[0097]
[0098] yt=Whyht+by
[0099] 其中,hi表示i时刻产生的隐藏状态向量,其中h0=(0,0,...,0),y′i为预处理后的数据的矩阵向量,W和U分别表示xi与当前时刻和上一时刻的权重矩阵,Why是隐藏层与输出层的权重矩阵,b和by表示不同层之间的偏置,h表示每个时间步产生的隐藏状态,参数ht表示在时间步t处的隐藏状态,yt表示在时间步t处的输出, 为指数函数计算。
[0100] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0101] 此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。