CN110070070B - 一种动作识别方法 - Google Patents

一种动作识别方法 Download PDF

Info

Publication number
CN110070070B
CN110070070B CN201910363855.3A CN201910363855A CN110070070B CN 110070070 B CN110070070 B CN 110070070B CN 201910363855 A CN201910363855 A CN 201910363855A CN 110070070 B CN110070070 B CN 110070070B
Authority
CN
China
Prior art keywords
action
subgroup
cluster
classifier
hidden layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910363855.3A
Other languages
English (en)
Other versions
CN110070070A (zh
Inventor
杨剑宇
黄瑶
朱晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou University
Original Assignee
Suzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou University filed Critical Suzhou University
Priority to CN201910363855.3A priority Critical patent/CN110070070B/zh
Publication of CN110070070A publication Critical patent/CN110070070A/zh
Application granted granted Critical
Publication of CN110070070B publication Critical patent/CN110070070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Abstract

本发明提出一种动作识别方法,包括获取目标的三维骨骼关节点信息;设计跨层连接神经网络对训练集中动作序列的每帧骨骼关节点的三维坐标提取特征,得到该帧的特征向量;将训练集中所有特征向量聚类成K个簇;计算每个簇的权重和每个簇对各个动作类别的支持度;定义姿态子组及姿态子组对应第c类动作的分类器;挖掘每类动作的姿态子组集合;对于每类动作,先学习出多个初级分类器,再将该类动作学得的所有初级分类器加权组合成高级分类器;用跨层连接神经网络获取测试动作序列每一帧的特征向量并划分给与其距离最近的簇;分别计算每类动作的高级分类器对测试动作序列的响应值,响应值最大的高级分类器对应的动作类别即为该测试样本的动作类别。

Description

一种动作识别方法
技术领域
本发明涉及一种动作识别方法,属于人体动作识别技术领域。
背景技术
动作识别是机器视觉研究的一个重要领域,它被广泛应用于视频监控、人机交互、运动视频分析和视频检索等方面。尽管在过去十多年中有许多卓越的研究工作和令人鼓舞的进步,但对人类动作的准确识别仍然是一项非常具有挑战性的任务。
现有的很多方法依赖于整个视频序列进行动作识别,它们通常选择时空特征来表示动作。但是这些方法容易受到动作类内差异的影响,比如同一个动作的不同样本的时间尺度不一致或者其中部分样本出现人体骨骼关节点的局部遮挡时,这些样本的时空特征会有差异,从而影响动作识别的准确性。有必要设计一种算法,只使用视频序列里的一些关键帧进行动作识别,从而减小类内差异的影响。
发明内容
本发明是为解决现有技术中的问题而提出的,技术方案如下,
一种动作识别方法,包括如下步骤:
步骤一、利用深度传感器获取目标的三维骨骼关节点信息,得到人体各个骨骼关节点的三维坐标,将得到的动作序列分为训练集和测试集;
步骤二、设计跨层连接神经网络模型,对训练集中的动作序列的每一帧骨骼关节点的三维坐标提取特征,得到该帧的特征向量;
步骤三、将训练集中的所有帧的特征向量聚类成K个簇;
步骤四、计算每个簇的权重和每个簇对各个动作类别的支持度;
步骤五、定义“姿态子组”以及姿态子组对应第c类动作的分类器,c∈[1,C],C表示训练集中的动作类别总数;
步骤六、挖掘出每类动作的姿态子组集合;
步骤七、对于每类动作,依次选取该类动作的姿态子组集合中的姿态子组,学习出该姿态子组对应的一个初级分类器,并将该类动作学得的初级分类器加权组合成高级分类器;
步骤八、使用跨层连接神经网络模型获取测试动作序列每一帧的特征向量并将其划分给与其距离最近的簇;
步骤九、分别计算每类动作的高级分类器对测试动作序列的响应值,响应最大的高级分类器对应的动作类别即为该测试动作序列的动作类别。
优选的,所述步骤二中跨层连接神经网络模型包括第一隐层、第二隐层、第三隐层和第四隐层,所述第一隐层的输出
Figure BDA0002047620690000021
通过relu激活模块进入第二隐层,第二隐层的输出
Figure BDA0002047620690000022
通过tanh激活模块进入第三隐层,所述第三隐层的输出
Figure BDA0002047620690000023
通过relu激活模块进入第四隐层,所述第四隐层的输出
Figure BDA0002047620690000024
与第一隐层的输出
Figure BDA0002047620690000025
相似计算模块的输出q相加后输入tanh激活模块,进行非线性映射,跨层连接神经网络模型的输出层输出该帧的特征向量;
所述跨层连接神经网络模型的输入为由训练集中的动作序列的每一帧的R个关节点的三维坐标组合成的一维向量x=(x1,x2,...,x3R)T,输出为y=(y1,y2,...,y3R)T,第一隐层、第二隐层、第三隐层、第四隐层中神经元的个数分别为N、M、M、N。隐层的计算方式为:
Figure BDA0002047620690000026
其中,
Figure BDA0002047620690000027
为隐层l的输入,Wl为隐层l的权重矩阵,bl为隐层l的偏置向量,
Figure BDA0002047620690000028
为隐层l的输出,l∈{1,2,3,4}。
Figure BDA0002047620690000029
Figure BDA00020476206900000210
b1、b4
Figure BDA00020476206900000211
b2、b3
Figure BDA00020476206900000212
relu、tanh为激活函数,此处优选为relu和tanh,亦可选用其它激活函数,皆在本申请保护范围之内。relu激活模块的输入为
Figure BDA00020476206900000213
输出为
Figure BDA00020476206900000214
输入向量的每个维度的元素通过以下方式得到对应的输出:
Figure BDA00020476206900000215
其中,d∈[1,D]。
tanh激活模块的输入为
Figure BDA0002047620690000031
输出为
Figure BDA0002047620690000032
输入向量的每个维度的元素通过以下方式得到对应的输出:
Figure BDA0002047620690000033
其中,d'∈[1,D']。
将第一隐层的输出
Figure BDA0002047620690000034
第四隐层的输出
Figure BDA0002047620690000035
以及相似性计算模块的输出q相加,输入tanh激活模块,进行非线性映射。相似性计算模块的输入为第三隐层的输入
Figure BDA0002047620690000036
相似性计算矩阵UT=[u1,u2,…,uN]T,其中u1、u2、…、uN均为列向量,un=[u1n,u2n,...,uMn]T,umn∈[0,1],m∈[1,M],n∈[1,N],umn的初始值随机设定为区间[0,1]中的任意一个数。输出
Figure BDA0002047620690000037
相似性计算模块将x经过两个隐层、激活函数作用得到的特征向量与u1、u2、…、uN进行相似性计算,将特征向量的维度从M增加到N。由于un每个维度的元素值在0到1之间,tanh激活函数的输出也在0到1之间,因此选用tanh激活模块的输出作为相似性计算模块的输入。输出层的计算方式为:
y=tanh(WOo+bO),
其中,
Figure BDA0002047620690000038
为输出层的输入,
Figure BDA0002047620690000039
为权重矩阵,
Figure BDA00020476206900000310
为偏置向量。
跨层连接神经网络的损失函数为loss=||x-y||2,定义动作序列中该帧的特征向量f为第三隐层的输入
Figure BDA00020476206900000311
优选的,所述步骤三将训练集中的所有帧的特征向量聚类成K个簇,具体步骤如下:
a、从训练集中的所有特征向量中随机选取一个向量作为第一个聚类中心;
b、计算每个特征向量与当前已有聚类中心的最短距离,即与最近的一个聚类中心的欧式距离,并从大到小进行排序,从排在前K个的距离所对应的特征向量中随机选取一个作为下一个聚类中心;
c、重复步骤b直至选择出K个特征向量作为K个聚类中心;
d、计算训练集中的每个特征向量到K个聚类中心的欧式距离,将每个向量划分至与之最近的聚类中心对应的簇中;
e、重新计算每个簇的中心μk,新的中心为该簇中所有特征向量的均值,计算公式为:
Figure BDA0002047620690000041
其中,nk表示第k个簇中特征向量的个数,fi表示该簇中的特征向量,i∈[1,nk],k∈[1,K];
f、定义特征向量f与第k个簇的距离χk为该特征向量与该簇中心的欧式距离以及该特征向量与该簇中与其距离最远的3个特征向量的欧式距离之和,用公式表示为:
Figure BDA0002047620690000042
其中,
Figure BDA0002047620690000043
为第k个簇中距离f最远的3个特征向量;
g、计算每个特征向量与K个簇的距离,并将其划分至与其距离最近的簇;
h、重新计算每个簇的中心;
i、判断每个簇的中心是否改变,如果每个簇的中心都未改变,则聚类完成;否则,依次重复g、h直至所有簇的中心不再发生改变。
优选的,所述步骤四中每个簇的权重的计算公式为:
Figure BDA0002047620690000044
其中,
Figure BDA0002047620690000051
nk,c为第k个簇中第c类动作的特征向量的个数,nk为第k个簇中所有动作类别的特征向量的个数,wk为第k个簇的权重,k∈[1,K],c∈[1,C],C表示训练集中的动作类别总数。
进一步的,所述步骤四中每个簇对各个动作类别的支持度的计算公式如下:
sk,c=wk·rk,c
其中,sk,c为第k个簇对第c类动作的支持度。
进一步的,所述步骤五中定义“姿态子组”是指将由Nγ个簇中心组成的集合定义为一个长度为Nγ的姿态子组Pγ,第γ个姿态子组用公式表示为:
Figure BDA0002047620690000052
其中,
Figure BDA0002047620690000053
为从集合{μk|k∈[1,K]}中选取的Nγ个簇中心。
进一步的,定义第γ个姿态子组
Figure BDA0002047620690000054
对应第c类动作的分类器为
Figure BDA0002047620690000055
j∈[1,J],J是训练集中动作序列的总个数,其计算方法如下:
将训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0;对于训练集中的动作序列Vj,计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,若姿态子组Pγ包含于簇中心集合Ej,即
Figure BDA0002047620690000056
且Pγ中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pγ),则
Figure BDA0002047620690000057
否则
Figure BDA0002047620690000058
用公式表示为:
Figure BDA0002047620690000059
其中,
Figure BDA00020476206900000510
表示
Figure BDA00020476206900000511
各自所属的簇对第c类动作的支持度;
选取θ,使得分类器
Figure BDA0002047620690000061
对训练集中所有动作序列分类误差∈最小,用公式表示为:
Figure BDA0002047620690000062
其中,αj表示动作序列Vj在训练集中所占的权重,
Figure BDA0002047620690000063
gj∈{0,1}表示训练集中的动作序列Vj的标签。
进一步的,所述步骤六中挖掘出每类动作的姿态子组集合的方法为:
对于第c类动作,将训练集中的每个动作序列Vj的权重αj设置为
Figure BDA0002047620690000064
取出集合{μk|k∈[1,K]}所有的元素个数为2的子集,每个子集都为一个长度为2的姿态子组,将这些姿态子组构成姿态子组集合
Figure BDA0002047620690000065
从集合
Figure BDA0002047620690000066
中挖掘出符合要求的姿态子组,具体挖掘方式如下:
计算集合中的姿态子组对应第c类动作的分类器,将姿态子组按照分类误差∈由小到大排序,删去分类误差大于阈值λ的姿态子组,在剩下的姿态子组中,如果排在后面的姿态子组与排在前面的某个姿态子组包含相同的簇中心,且相同簇中心的个数大于姿态子组长度的δ倍,0<δ<1,则将此排在后面的姿态子组删去,最终可得到符合要求的长度为2的姿态子组;
接着再向每个符合要求的长度为2的姿态子组中添加与姿态子组现有簇中心不同的簇中心,扩展姿态子组的长度至3,得到的所有长度为3的姿态子组构成姿态子组集合
Figure BDA0002047620690000067
按照对集合
Figure BDA0002047620690000068
的挖掘方法,从集合
Figure BDA0002047620690000069
中挖掘出符合要求的长度为3的姿态子组;以此类推,直至挖掘出符合要求的长度为Lc的姿态子组;
最终挖掘出的所有符合要求的长度为2到Lc的姿态子组构成了第c类动作的姿态子组集合Gc;记第c类动作挖掘出的姿态子组为
Figure BDA0002047620690000071
其中Sc表示第c类动作挖掘出的姿态子组的总个数,则
Figure BDA0002047620690000072
进一步的,所述步骤七中,对于每类动作,以第c类动作为例,依次抽取该类动作的姿态子组集合Gc中的姿态子组
Figure BDA0002047620690000073
a∈[1,Sc],计算该姿态子组
Figure BDA0002047620690000074
对应第c类动作的分类器
Figure BDA0002047620690000075
作为一个初级分类器;第c类动作一共有Sc个姿态子组,则可得到Sc个初级分类器,最后将该类动作的所有的初级分类器加权求和得到最终的高级分类器,具体计算方法如下:
对于第1个姿态子组P1 c,记训练集中的每个动作序列Vj的权重为
Figure BDA0002047620690000076
Figure BDA0002047620690000077
计算出P1 c对应第c类动作的分类器
Figure BDA0002047620690000078
作为第1个初级分类器,该分类器的分类误差记为
Figure BDA0002047620690000079
根据分类器
Figure BDA00020476206900000710
的分类误差
Figure BDA00020476206900000711
计算该分类器在最终的高级分类器中所占的权重
Figure BDA00020476206900000712
计算方式为:
Figure BDA00020476206900000713
对于第2个姿态子组
Figure BDA00020476206900000714
根据上一个姿态子组计算得到的分类器的权重以及分类结果,重新计算每个动作序列Vj的权重
Figure BDA00020476206900000715
计算公式如下:
Figure BDA00020476206900000716
其中,Z1为归一化因子,
Figure BDA00020476206900000717
计算出
Figure BDA00020476206900000718
对应第c类动作的分类器
Figure BDA00020476206900000719
作为第2个初级分类器,该分类器的分类误差记为
Figure BDA00020476206900000720
按照第1个初级分类器的计算方式,计算出第2个初级分类器在最终的高级分类器中所占的权重
Figure BDA0002047620690000081
以此类推,第c类动作可计算出Sc个初级分类器,将这些初级分类器加权求和组合成高级分类器Qc(Vj),C个动作类别可得C个高级分类器,Qc(Vj)的值表示第c类动作对应的高级分类器对动作序列Vj的响应,响应值越高,代表Vj越有可能属于第c类动作,计算公式为:
Figure BDA0002047620690000082
其中,
Figure BDA0002047620690000083
进一步的,所述步骤九中测试动作序列的动作类别c*的计算公式为:
Figure BDA0002047620690000084
本发明设计跨层连接神经网络对动作序列的每一帧的人体姿态进行特征提取,减小了动作的类内差异对动作识别效果的影响;提取动作序列的关键帧,基于关键帧进行动作分类,这使得本方法不受动作发生速率的影响;将多个初级分类器加权组合成高级分类器进行分类,能有效避免动作序列部分帧中的噪声带来的影响。
附图说明
图1是本发明一种动作识别方法的工作流程图。
图2是本发明跨层连接神经网络模型示意图。
图3是本发明相似性计算模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种动作识别方法,具体步骤如下:
1、利用深度传感器获取目标的骨骼关节点信息,得到人体各个骨骼关节点的三维坐标。将得到的多个动作序列划分为训练集和测试集,训练集和测试集中的动作序列的个数分别为J=137、T=68。
2、将训练集中的动作序列的每一帧的20个关节点的三维坐标组合成一维向量x=(x1,x2,...,x60)T。设计如图2所示的跨层连接神经网络。神经网络的输入为x,输出为y=(y1,y2,...,y60)T,第一隐层、第二隐层、第三隐层、第四隐层中神经元的个数分别为50、30、30、50。隐层的计算方式为:
Figure BDA0002047620690000091
其中,
Figure BDA0002047620690000092
为隐层l的输入,Wl为隐层l的权重矩阵,bl为隐层l的偏置向量,
Figure BDA0002047620690000093
为隐层l的输出,l∈{1,2,3,4}。
Figure BDA0002047620690000094
Figure BDA0002047620690000095
b1、b4
Figure BDA0002047620690000096
b2、b3
Figure BDA0002047620690000097
relu、tanh为激活函数,此处优选为relu和tanh,亦可选用其它激活函数,皆在本专利保护范围之内。relu激活模块的输入为
Figure BDA0002047620690000098
输出为
Figure BDA0002047620690000099
输入向量的每个维度的元素通过以下方式得到对应的输出:
Figure BDA00020476206900000910
其中,d∈[1,D]。
tanh激活模块的输入为
Figure BDA00020476206900000911
输出为
Figure BDA00020476206900000912
输入向量的每个维度的元素通过以下方式得到对应的输出:
Figure BDA00020476206900000913
其中,d'∈[1,D']。
⊕为加法运算符,它将第一隐层的输出
Figure BDA0002047620690000101
第四隐层的输出
Figure BDA0002047620690000102
以及相似性计算模块的输出q相加,输入tanh激活模块,进行非线性映射。相似性计算模块如图3所示,它的输入第三隐层的输入
Figure BDA0002047620690000103
相似性计算矩阵UT=[u1,u2,…,u50]T,其中u1、u2、…、u50均为列向量,un=[u1n,u2n,...,u30n]T,umn∈[0,1],m∈[1,30],n∈[1,50],umn的初始值随机设定为区间[0,1]中的任意一个数。输出
Figure BDA0002047620690000104
相似性计算模块将x经过两个隐层、激活函数作用得到的特征向量与u1、u2、…、u50.进行相似性计算,将特征向量的维度从30增加到50。由于un每个维度的元素值在0到1之间,tanh激活函数的输出也在0到1之间,因此选用tanh激活模块的输出作为相似性计算模块的输入。输出层的计算方式为:
y=tanh(WOo+bO),
其中,
Figure BDA0002047620690000105
为输出层的输入,
Figure BDA0002047620690000106
为权重矩阵,
Figure BDA0002047620690000107
为偏置向量。
跨层连接神经网络的损失函数为loss=||x-y||2,定义动作序列中该帧的特征向量f为第三隐层的输入
Figure BDA0002047620690000108
3、训练集中的每个动作序列的每一帧都有相对应的特征向量。将训练集中的所有帧的特征向量聚类成K个簇,K=400,步骤如下:
Step 1:从训练集中的所有特征向量中随机选取一个向量作为第一个聚类中心。
Step 2:计算每个特征向量与当前已有中心的最短距离(即与最近的一个中心的欧式距离),并从大到小进行排序,从排在前400个的距离所对应的特征向量中随机选取一个作为下一个聚类中心。
Step 3:重复Step 2直至选择出400个特征向量作为400个聚类中心。
Step 4:计算训练集中的每个特征向量到400个聚类中心的欧式距离,将每个向量划分至与之最近的聚类中心对应的簇中。
Step 5:重新计算每个簇的中心μk,新的中心为该簇中所有特征向量的均值,计算公式为:
Figure BDA0002047620690000111
其中,nk表示第k个簇中特征向量的个数,fi表示该簇中的特征向量,i∈[1,nk],k∈[1,400]。
Step 6:定义特征向量f与第k个簇的距离χk为该特征向量与该簇中心的欧式距离以及该特征向量与该簇中与其距离最远的3个特征向量的欧式距离之和,用公式表示为:
Figure BDA0002047620690000112
其中,
Figure BDA0002047620690000113
为第k个簇中距离f最远的3个特征向量。
Step 7:计算每个特征向量与400个簇的距离,并将其划分至与其距离最近的簇。
Step 8:重新计算每个簇的中心。
Step 9:判断每个簇的中心是否改变,如果每个簇的中心都未改变,则聚类完成。否则,依次重复Step 7、8直至所有簇的中心不再发生改变。
按以上方式,可以将训练集中的所有帧对应的特征向量聚类成400个簇。
4、计算每个簇的权重wk,计算公式为:
Figure BDA0002047620690000114
其中,
Figure BDA0002047620690000115
nk,c为第k个簇中第c类动作的特征向量的个数,c∈[1,C],C表示训练集中的动作类别总数;设定C=8。
5、定义第k个簇对第c类动作的支持度sk,c为该簇的权重wk与该簇中第c类动作的特征向量所占比例rk,c的乘积,计算公式如下:
sk,c=wk·rk,c
按以上方式,可以计算出每个簇对不同动作类别的支持度。
6、定义“姿态子组”:将由Nγ个簇中心组成的集合定义为一个长度为Nγ的姿态子组Pγ,第γ个姿态子组用公式表示为:
Figure BDA0002047620690000121
其中,
Figure BDA0002047620690000122
为从集合{μk|k∈[1,400]}中选取的Nγ个簇中心。
7、定义姿态子组
Figure BDA0002047620690000123
对应第c类动作的分类器为
Figure BDA0002047620690000124
其计算方法如下:
将训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0。对于训练集中的动作序列Vj,计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,若姿态子组Pγ包含于簇中心集合Ej,即
Figure BDA0002047620690000125
且Pγ中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pγ),则
Figure BDA0002047620690000126
否则
Figure BDA0002047620690000127
用公式表示为:
Figure BDA0002047620690000128
其中,
Figure BDA0002047620690000129
表示
Figure BDA00020476206900001210
各自所属的簇对第c类动作的支持度。
选取θ,使得分类器
Figure BDA00020476206900001211
对训练集中所有动作序列分类误差∈最小,用公式表示为:
Figure BDA0002047620690000131
其中,αj表示动作序列Vj在训练集中所占的权重,
Figure BDA0002047620690000132
gj∈{0,1}表示训练集中的动作序列Vj的标签。
8、对训练集中的每类动作,以第1类动作为例,挖掘出该类动作对应的姿态子组集合:
将训练集中的每个动作序列Vj的权重αj设置为
Figure BDA0002047620690000133
具体为
Figure BDA0002047620690000134
取出集合{μk|k∈[1,400]}所有的元素个数为2的子集,每个子集都为一个长度为2的姿态子组,将这些姿态子组构成姿态子组集合
Figure BDA0002047620690000135
从集合
Figure BDA0002047620690000136
中挖掘出符合要求的姿态子组,具体挖掘方式如下:
计算集合中的姿态子组对应第1类动作(c=1)的分类器,将姿态子组按照分类误差∈由小到大排序,删去分类误差大于阈值等于0.5的姿态子组,在剩下的姿态子组中,如果排在后面的姿态子组与排在前面的某个姿态子组包含相同的簇中心,且相同簇中心的个数大于姿态子组长度的δ倍,0<δ<1,此处选
Figure BDA0002047620690000137
则将此排在后面的姿态子组删去。最终可得到符合要求的长度为2的姿态子组。
接着再向每个符合要求的长度为2的姿态子组中添加与姿态子组现有簇中心不同的簇中心,扩展姿态子组的长度至3,得到的所有长度为3的姿态子组构成姿态子组集合
Figure BDA0002047620690000138
按照对集合
Figure BDA0002047620690000139
的挖掘方法,从集合
Figure BDA00020476206900001310
中挖掘出符合要求的长度为3的姿态子组。
以此类推,直至挖掘出符合要求的长度L1等于5的姿态子组。
最终挖掘出的所有符合要求的长度为2到5的姿态子组构成了第1类动作的姿态子组集合G1。记第1类动作挖掘出的20个姿态子组为
Figure BDA00020476206900001311
Figure BDA0002047620690000141
9、对每类动作,以第1类动作为例,依次抽取该类动作的姿态子组集合G1中的姿态子组,计算该姿态子组对应第1类动作的分类器,作为一个初级分类器。第1类动作一共有20个姿态子组,则可得到20个初级分类器。最后第1类动作的将所有的初级分类器加权求和得到最终的高级分类器,具体计算方法如下:
对于第一个姿态子组P1 1,记训练集中的每个动作序列Vj的权重为
Figure BDA0002047620690000142
Figure BDA0002047620690000143
计算出P1 1对应第1类动作的分类器
Figure BDA0002047620690000144
作为第一个初级分类器,记该分类器的分类误差为
Figure BDA0002047620690000145
根据分类器
Figure BDA0002047620690000146
的分类误差
Figure BDA0002047620690000147
计算该分类器在最终的高级分类器中所占的权重
Figure BDA0002047620690000148
计算方式为:
Figure BDA0002047620690000149
对于第2个姿态子组
Figure BDA00020476206900001410
根据上一个姿态子组计算得到的分类器的权重以及分类结果,重新计算每个动作序列Vj的权重
Figure BDA00020476206900001411
计算公式如下:
Figure BDA00020476206900001412
其中,Z1为归一化因子,
Figure BDA00020476206900001413
计算出
Figure BDA00020476206900001414
对应第1类动作的分类器
Figure BDA00020476206900001415
作为第2个初级分类器。按照第1个初级分类器的计算方式,计算出该分类器在最终的高级分类器中所占的权重
Figure BDA00020476206900001416
以此类推,第1类动作可计算出20个初级分类器。将这些初级分类器加权求和组合成高级分类器Q1(Vj),Q1(Vj)的值表示高级分类器对动作序列Vj的响应,响应值越高,代表Vj越有可能属于第1类动作,计算公式为:
Figure BDA0002047620690000151
其中,
Figure BDA0002047620690000152
8类动作可得8个高级分类器。
10、将测试集中所有动作序列每一帧的20个关节点的三维坐标连接成一维向量输入至已经训练好的跨层连接神经网络模型,得到所有测试样本每一帧的人体姿态的特征向量。
11、对于某个测试样本,计算其动作序列每一帧的特征向量与各个簇的距离,并将其划分给与其距离最近的簇。
12、分别计算8个高级分类器对测试样本的响应值,响应值最大的高级分类器对应的类别为该测试样本的类别c*,计算公式为:
Figure BDA0002047620690000153
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种动作识别方法,包括如下步骤:
步骤一、利用深度传感器获取目标的三维骨骼关节点信息,得到人体各个骨骼关节点的三维坐标,将得到的动作序列分为训练集和测试集;
步骤二、设计跨层连接神经网络模型,对训练集中的动作序列的每一帧骨骼关节点的三维坐标提取特征,得到每一帧的特征向量;
步骤三、将训练集中的所有帧的特征向量聚类成K个簇;
步骤四、计算每个簇的权重和每个簇对各个动作类别的支持度;
步骤五、定义“姿态子组”以及姿态子组对应第c类动作的分类器,c∈[1,C],C表示训练集中的动作类别总数;
步骤六、挖掘出每类动作的姿态子组集合;
步骤七、对于每类动作,依次选取该类动作的姿态子组集合中的姿态子组,学习出该姿态子组对应的一个初级分类器,并将该类动作学得的初级分类器加权组合成高级分类器;
步骤八、使用跨层连接神经网络模型获取测试动作序列每一帧的特征向量,并将其划分给与其距离最近的簇;
步骤九、分别计算每类动作的高级分类器对测试动作序列的响应值,响应最大的高级分类器对应的动作类别即为该测试动作序列的动作类别;
所述步骤三将训练集中的所有帧的特征向量聚类成K个簇,具体步骤如下:
a、从训练集中的所有特征向量中随机选取一个向量作为第一个聚类中心;
b、计算每个特征向量与当前已有聚类中心的最短距离,即与最近的一个聚类中心的欧式距离,并从大到小进行排序,从排在前K个的距离所对应的特征向量中随机选取一个作为下一个聚类中心;
c、重复步骤b直至选择出K个特征向量作为K个聚类中心;
d、计算训练集中的每个特征向量到K个聚类中心的欧式距离,将每个向量划分至与之最近的聚类中心对应的簇中;
e、重新计算每个簇的中心μk,新的中心为该簇中所有特征向量的均值,计算公式为:
Figure FDA0002736992990000021
其中,nk表示第k个簇中特征向量的个数,fi表示该簇中的特征向量,i∈[1,nk],k∈[1,K];
f、定义特征向量f与第k个簇的距离χk为该特征向量与该簇中心的欧式距离以及该特征向量与该簇中与其距离最远的3个特征向量的欧式距离之和,用公式表示为:
Figure FDA0002736992990000022
其中,
Figure FDA0002736992990000023
为第k个簇中距离f最远的3个特征向量;
g、计算每个特征向量与K个簇的距离,并将其划分至与其距离最近的簇;
h、重新计算每个簇的中心;
i、判断每个簇的中心是否改变,如果每个簇的中心都未改变,则聚类完成;否则,依次重复g、h直至所有簇的中心不再发生改变;
所述步骤五中定义“姿态子组”是指将由Nγ个簇中心组成的集合定义为一个长度为Nγ的姿态子组Pγ,第γ个姿态子组用公式表示为:
Figure FDA0002736992990000024
其中,
Figure FDA0002736992990000025
为从集合{μk|k∈[1,K]}中选取的Nγ个簇中心。
2.根据权利要求1所述的一种动作识别方法,其特征在于:所述步骤二中的跨层连接神经网络模型包括第一隐层、第二隐层、第三隐层和第四隐层,所述第一隐层的输出
Figure FDA0002736992990000026
通过relu激活模块进入第二隐层,第二隐层的输出
Figure FDA0002736992990000027
通过tanh激活模块进入第三隐层,所述第三隐层的输出
Figure FDA0002736992990000031
通过relu激活模块进入第四隐层,所述第四隐层的输出
Figure FDA0002736992990000032
与第一隐层的输出
Figure FDA0002736992990000033
相似计算模块的输出q相加后输入tanh激活模块,进行非线性映射,跨层连接神经网络模型的输出层输出该帧的特征向量;
所述跨层连接神经网络模型的输入为由训练集中的动作序列的每一帧的R个关节点的三维坐标组合成的一维向量x=(x1,x2,...,x3R)T,输出为y=(y1,y2,...,y3R)T,第一隐层、第二隐层、第三隐层、第四隐层中的神经元的个数分别为N、M、M、N,各隐层输出的计算方式为:
Figure FDA0002736992990000034
其中
Figure FDA0002736992990000035
为隐层l的输入,Wl为隐层l的权重矩阵,bl为隐层l的偏置向量,
Figure FDA0002736992990000036
为隐层l的输出,l∈{1,2,3,4},
Figure FDA0002736992990000037
Figure FDA0002736992990000038
b1、b4
Figure FDA0002736992990000039
b2、b3
Figure FDA00027369929900000310
relu激活模块的输入为
Figure FDA00027369929900000311
输出为
Figure FDA00027369929900000312
输入向量的每个维度的元素通过以下方式得到对应的输出:
Figure FDA00027369929900000313
其中,d∈[1,D];
tanh激活模块的输入为
Figure FDA00027369929900000314
输出为
Figure FDA00027369929900000315
输入向量的每个维度的元素通过以下方式得到对应的输出:
Figure FDA00027369929900000316
其中,d'∈[1,D'];
所述相似性计算模块的输出
Figure FDA00027369929900000317
相似性计算模块的输入为第三隐层的输入
Figure FDA00027369929900000318
相似性计算矩阵UT=[u1,u2,…,uN]T,其中u1、u2、…、uN均为列向量,un=[u1n,u2n,...,uMn]T,umn∈[0,1],m∈[1,M],n∈[1,N],umn的初始值随机设定为区间[0,1]中的任意一个数;跨层连接神经网络的输出层的计算方式为:
y=tanh(WOo+bO),
其中
Figure FDA0002736992990000041
为输出层的输入,
Figure FDA0002736992990000042
为权重矩阵,
Figure FDA0002736992990000043
为偏置向量;
跨层连接神经网络的损失函数为loss=||x-y||2,定义动作序列中该帧的特征向量f为第三隐层的输入
Figure FDA0002736992990000044
3.根据权利要求1所述的一种动作识别方法,其特征在于:所述步骤四中每个簇的权重的计算公式为:
Figure FDA0002736992990000045
其中,
Figure FDA0002736992990000046
nk,c为第k个簇中第c类动作的特征向量的个数,nk为第k个簇中所有动作类别的特征向量的个数,wk为第k个簇的权重,k∈[1,K],c∈[1,C],C表示训练集中的动作类别总数。
4.根据权利要求3所述的一种动作识别方法,其特征在于:所述步骤四中每个簇对各个动作类别的支持度的计算公式如下:
sk,c=wk·rk,c
其中,sk,c为第k个簇对第c类动作的支持度。
5.根据权利要求1所述的一种动作识别方法,其特征在于:定义第γ个姿态子组
Figure FDA0002736992990000047
对应第c类动作的分类器为
Figure FDA0002736992990000048
j∈[1,J],J是训练集中动作序列的总个数,其计算方法如下:
将训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0;对于训练集中的动作序列Vj,计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,若姿态子组Pγ包含于簇中心集合Ej,即
Figure FDA0002736992990000051
且Pγ中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pγ),则
Figure FDA0002736992990000052
否则
Figure FDA0002736992990000053
用公式表示为:
Figure FDA0002736992990000054
其中,
Figure FDA0002736992990000055
表示
Figure FDA0002736992990000056
各自所属的簇对第c类动作的支持度;
选取θ,使得分类器
Figure FDA0002736992990000057
对训练集中所有动作序列分类误差∈最小,用公式表示为:
Figure FDA0002736992990000058
其中,αj表示动作序列Vj在训练集中所占的权重,
Figure FDA0002736992990000059
gj∈{0,1}表示训练集中的动作序列Vj的标签。
6.根据权利要求5所述的一种动作识别方法,其特征在于:所述步骤六中挖掘出每类动作的姿态子组集合的方法为:
将训练集中的每个动作序列Vj的权重αj设置为
Figure FDA00027369929900000510
取出集合{μk|k∈[1,K]}所有的元素个数为2的子集,每个子集都为一个长度为2的姿态子组,将这些姿态子组构成姿态子组集合
Figure FDA00027369929900000511
从集合
Figure FDA00027369929900000512
中挖掘出符合要求的姿态子组,具体挖掘方式如下:
计算集合中的姿态子组对应第c类动作的分类器,将姿态子组按照分类误差∈由小到大排序,删去分类误差大于阈值λ的姿态子组,在剩下的姿态子组中,如果排在后面的姿态子组与排在前面的某个姿态子组包含相同的簇中心,且相同簇中心的个数大于姿态子组长度的δ倍,0<δ<1,则将此排在后面的姿态子组删去,最终可得到符合要求的长度为2的姿态子组;
接着再向每个符合要求的长度为2的姿态子组中添加与姿态子组现有簇中心不同的簇中心,扩展姿态子组的长度至3,得到的所有长度为3的姿态子组构成姿态子组集合
Figure FDA0002736992990000061
按照对集合
Figure FDA0002736992990000062
的挖掘方法,从集合
Figure FDA0002736992990000063
中挖掘出符合要求的长度为3的姿态子组;以此类推,直至挖掘出符合要求的长度为Lc的姿态子组;
最终挖掘出的所有符合要求的长度为2到Lc的姿态子组构成了第c类动作的姿态子组集合Gc;记第c类动作挖掘出的姿态子组为
Figure FDA0002736992990000064
其中Sc表示第c类动作挖掘出的姿态子组的总个数,则
Figure FDA0002736992990000065
7.根据权利要求6所述的一种动作识别方法,其特征在于:所述步骤七中,对于每类动作,依次抽取该类动作的姿态子组集合Gc中的姿态子组
Figure FDA0002736992990000066
a∈[1,Sc],计算该姿态子组
Figure FDA0002736992990000067
对应第c类动作的分类器
Figure FDA0002736992990000068
作为一个初级分类器;第c类动作一共有Sc个姿态子组,则可得到Sc个初级分类器,最后将该类动作所有的初级分类器加权求和得到最终的高级分类器,具体计算方法如下:
对于第1个姿态子组P1 c,记训练集中的每个动作序列Vj的权重为
Figure FDA0002736992990000069
Figure FDA00027369929900000610
计算出P1 c对应第c类动作的分类器
Figure FDA00027369929900000611
作为第1个初级分类器,该分类器的分类误差记为
Figure FDA00027369929900000612
根据分类器
Figure FDA00027369929900000613
的分类误差
Figure FDA00027369929900000614
计算该分类器在最终的高级分类器中所占的权重
Figure FDA00027369929900000615
计算方式为:
Figure FDA00027369929900000616
对于第2个姿态子组
Figure FDA0002736992990000071
根据上一个姿态子组计算得到的分类器的权重以及分类结果,重新计算每个动作序列Vj的权重
Figure FDA0002736992990000072
计算公式如下:
Figure FDA0002736992990000073
其中,Z1为归一化因子,
Figure FDA0002736992990000074
计算出
Figure FDA0002736992990000075
对应第c类动作的分类器
Figure FDA0002736992990000076
作为第2个初级分类器,该分类器的分类误差记为
Figure FDA0002736992990000077
按照第1个初级分类器的计算方式,计算出第2个初级分类器在最终的高级分类器中所占的权重
Figure FDA0002736992990000078
以此类推,第c类动作可计算出Sc个初级分类器,将这些初级分类器加权求和组合成高级分类器Qc(Vj),C个动作类别可得C个高级分类器,Qc(Vj)的值表示第c类动作对应的高级分类器对动作序列Vj的响应,响应值越高,代表Vj越有可能属于第c类动作,计算公式为:
Figure FDA0002736992990000079
其中,
Figure FDA00027369929900000710
8.根据权利要求7所述的一种动作识别方法,其特征在于:所述步骤九中测试动作序列的动作类别c*的计算公式为:
Figure FDA00027369929900000711
CN201910363855.3A 2019-04-30 2019-04-30 一种动作识别方法 Active CN110070070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910363855.3A CN110070070B (zh) 2019-04-30 2019-04-30 一种动作识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910363855.3A CN110070070B (zh) 2019-04-30 2019-04-30 一种动作识别方法

Publications (2)

Publication Number Publication Date
CN110070070A CN110070070A (zh) 2019-07-30
CN110070070B true CN110070070B (zh) 2021-03-02

Family

ID=67370088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910363855.3A Active CN110070070B (zh) 2019-04-30 2019-04-30 一种动作识别方法

Country Status (1)

Country Link
CN (1) CN110070070B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765967B (zh) * 2019-10-30 2022-04-22 腾讯科技(深圳)有限公司 一种基于人工智能的动作识别方法和相关装置
CN111223549B (zh) * 2019-12-30 2023-05-12 华东师范大学 一种基于姿态矫正的疾病预防的移动端系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491754A (zh) * 2018-02-02 2018-09-04 泉州装备制造研究所 一种基于骨骼特征的动态表示和匹配的人体行为识别方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443314B1 (en) * 2012-03-29 2016-09-13 Google Inc. Hierarchical conditional random field model for labeling and segmenting images
CN104680188B (zh) * 2015-03-24 2018-04-27 重庆大学 一种人体姿态基准图像库的构建方法
KR20180069452A (ko) * 2016-12-15 2018-06-25 삼성전자주식회사 뉴럴 네트워크의 학습 방법 및 뉴럴 네트워크를 이용한 인식 방법, 및 그 장치
CN107203636B (zh) * 2017-06-08 2020-06-16 天津大学 基于超图主集聚类的多视频摘要获取方法
CN108537145A (zh) * 2018-03-21 2018-09-14 东北电力大学 基于时空骨骼特征及深度信念网络的人体行为识别方法
CN108681700B (zh) * 2018-05-04 2021-09-28 苏州大学 一种复杂行为识别方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491754A (zh) * 2018-02-02 2018-09-04 泉州装备制造研究所 一种基于骨骼特征的动态表示和匹配的人体行为识别方法

Also Published As

Publication number Publication date
CN110070070A (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
CN108231201B (zh) 一种疾病数据分析处理模型的构建方法、系统及应用方法
Hartono et al. Implementation of Artifical Neural Networks with Multilayer Perceptron for Analysis of Acceptance of Permanent Lecturers
CN110163258A (zh) 一种基于语义属性注意力重分配机制的零样本学习方法及系统
CN111000553B (zh) 一种基于投票集成学习的心电数据智能分类方法
CN110084211B (zh) 一种动作识别方法
CN103984948B (zh) 一种基于人脸图像融合特征的软双层年龄估计方法
CN110119707B (zh) 一种人体动作识别方法
CN104063719A (zh) 基于深度卷积网络的行人检测方法及装置
CN111400494B (zh) 一种基于GCN-Attention的情感分析方法
CN109325507A (zh) 一种结合超像素显著性特征与hog特征的图像分类算法和系统
CN109919055B (zh) 一种基于AdaBoost-KNN的动态人脸情感识别方法
CN110070070B (zh) 一种动作识别方法
CN114492634B (zh) 一种细粒度装备图片分类识别方法及系统
Tavakoli Seq2image: Sequence analysis using visualization and deep convolutional neural network
CN115410258A (zh) 基于注意力图像的人脸表情识别方法
CN105913353A (zh) 一种基于K-means聚类多权重自适应的学生学习行为分析方法
CN113707317B (zh) 一种基于混合模型的疾病危险因素重要性分析方法
CN107016359A (zh) 一种复杂环境下基于t分布的人脸快速识别方法
CN109583406B (zh) 基于特征关注机制的人脸表情识别方法
CN113887509B (zh) 一种基于图像集合的快速多模态视频人脸识别方法
CN109815889A (zh) 一种基于特征表示集的跨分辨率人脸识别方法
CN115310491A (zh) 一种基于深度学习的类不平衡磁共振全脑数据分类方法
CN115546862A (zh) 基于跨尺度局部差异深度子空间特征的表情识别方法和系统
CN111274908B (zh) 一种人体动作识别方法
CN110348323B (zh) 一种基于神经网络优化的穿戴式设备手势识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant