CN110084211A - 一种动作识别方法 - Google Patents
一种动作识别方法 Download PDFInfo
- Publication number
- CN110084211A CN110084211A CN201910362475.8A CN201910362475A CN110084211A CN 110084211 A CN110084211 A CN 110084211A CN 201910362475 A CN201910362475 A CN 201910362475A CN 110084211 A CN110084211 A CN 110084211A
- Authority
- CN
- China
- Prior art keywords
- action
- cluster
- subgroup
- posture
- training set
- 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.)
- Granted
Links
- 230000009471 action Effects 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 21
- 239000013598 vector Substances 0.000 claims abstract description 115
- 238000012549 training Methods 0.000 claims abstract description 83
- 238000012360 testing method Methods 0.000 claims abstract description 35
- 238000013528 artificial neural network Methods 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 36
- 230000004913 activation Effects 0.000 claims description 26
- 238000003062 neural network model Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 12
- 210000000988 bone and bone Anatomy 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 4
- 235000009508 confectionery Nutrition 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 230000007423 decrease Effects 0.000 abstract 1
- 230000008859 change Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种动作识别方法,包括获取目标的三维骨骼关节点信息;设计跨层连接神经网络对训练集中动作序列的每帧骨骼关节点三维坐标提取特征,得到该帧的特征向量;将训练集中所有特征向量聚类成K个簇;计算每个簇对各个动作类别的支持度;定义姿态子组,从训练集中抽取姿态子组,组成姿态子组集合;学习得到Z个层级分类器;用跨层连接神经网络获取测试动作序列每帧的特征向量并将其划分给与其距离最近的簇;分别计算Z个层级分类器对测试样本的分类结果;选取Z个层级分类器分类结果中出现次数最多的类别作为测试动作序列的类别。本发明减小了动作的类内差异对动作识别效果的影响,不受动作发生速率影响,能够处理任意时间长度的动作序列。
Description
技术领域
本发明涉及一种动作识别方法,属于人体动作识别技术领域。
背景技术
人体动作识别是计算机视觉领域的一个研究热点,广泛应用于人机交互、视频监控、虚拟现实等领域。随着深度相机的发展,人们可以便捷地获取人体骨骼关节点的三维位置,其中包含了大量的运动信息。因此,基于骨骼关节点的动作识别已经引起越来越多研究者的关注。利用骨骼关节点数据进行动作识别研究,不易受照明变化、摄像机视角变化等因素的影响。但是由于动作的类内差异、骨骼关节点的遮挡等其他因素的影响,对人体动作的准确识别仍然是一项非常具有挑战性的任务。
大多数现有的研究工作使用隐马尔可夫模型、条件随机场或者时间金字塔来构建骨骼关节点序列的时间动态模型,这些研究工作提取了人体骨骼关节点空间结构的各种特征,例如成对骨骼关节点相对位置、骨骼关节点角度、骨骼关节点运动幅度。这些提取的特征的有效性依赖于原始骨骼关节点坐标以及整个动作序列的信息的准确性,容易受到个别不准确数据的影响,且在时间尺度变化较大、骨骼关节点空间结构较为复杂的情况下,利用这些特征难以有效识别动作。有必要设计一种算法,减少对原始关节点坐标准确性的依赖,并且基于动作序列中的关键帧进行动作识别。
发明内容
本发明是为解决现有技术中的问题而提出的,技术方案如下,
一种动作识别方法,包括如下步骤:
步骤一、利用深度传感器获取目标的三维骨骼关节点信息,得到人体各个骨骼关节点的三维坐标,将得到的动作序列分为训练集和测试集;
步骤二、设计跨层连接神经网络模型,对训练集中的动作序列的每一帧骨骼关节点的三维坐标提取特征,得到该帧的特征向量;
步骤三、将训练集中的所有帧的特征向量聚类成K个簇;
步骤四、计算每个簇的权重和每个簇对各个动作类别的支持度;
步骤五、定义“姿态子组”,并从训练集中抽取姿态子组,组成姿态子组集合;
步骤六、定义姿态子组对应第c类动作的分类器,c∈[1,C],C表示训练集中的动作类别总数;
步骤七、学习得到Z个层级分类器;
步骤八、使用跨层连接神经网络模型获取测试动作序列每一帧的特征向量并将其划分给与其距离最近的簇;
步骤九、分别计算Z个层级分类器对测试动作序列的分类结果;
步骤十、选取Z个层级分类器分类结果中出现次数最多的类别作为测试动作序列的类别。
优选的,所述步骤二中的跨层连接神经网络模型包括第一隐层、第二隐层、第三隐层和第四隐层,所述第一隐层的输出通过relu激活模块进入第二隐层,第二隐层的输出通过tanh激活模块进入第三隐层,所述第三隐层的输出通过relu激活模块进入第四隐层,所述第四隐层的输出与第一隐层的输出相似计算模块的输出q相加后输入tanh激活模块,进行非线性映射,跨层连接神经网络模型的输出层输出该帧的特征向量;
所述跨层连接神经网络模型的输入为由训练集中的动作序列的每一帧的R个关节点的三维坐标组合成的一维向量x=(x1,x2,...,x3R)T,输出为y=(y1,y2,...,y3R)T,第一隐层、第二隐层、第三隐层、第四隐层中的神经元的个数分别为N、M、M、N。隐层的计算方式为:
其中,为隐层l的输入,Wl为隐层l的权重矩阵,bl为隐层l的偏置向量,为隐层l的输出,l∈{1,2,3,4}。 b1、b4、b2、b3、
relu、tanh为激活函数,此处优选为relu和tanh,亦可选用其它激活函数,皆在本申请保护范围之内。relu激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d1∈[1,D1]。
tanh激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d2∈[1,D2]。
将第一隐层的输出第四隐层的输出以及相似性计算模块的输出q相加,输入tanh激活模块,进行非线性映射。相似性计算模块的输入为第三隐层的输入相似性计算矩阵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]中的任意一个数。输出相似性计算模块将x经过两个隐层、激活函数作用得到的特征向量与u1、u2、…、uN进行相似性计算,将特征向量的维度从M增加到N。由于un每个维度的元素值在0到1之间,tanh激活函数的输出也在0到1之间,因此选用tanh激活模块的输出作为相似性计算模块的输入。输出层的计算方式为:
y=tanh(WOo+bO),
其中,为输出层的输入,为权重矩阵,为偏置向量。
跨层连接神经网络的损失函数为loss=||x-y||2,定义动作序列中该帧的特征向量f为第三隐层的输入
优选的,所述步骤三将训练集中的所有帧的特征向量聚类成K个簇,具体步骤如下:
a、从训练集中的所有特征向量中随机选取一个向量作为第一个聚类中心;
b、计算每个特征向量与当前已有聚类中心的最短距离,即与最近的一个聚类中心的欧式距离,并从大到小进行排序,从排在前K个的距离所对应的特征向量中随机选取一个作为下一个聚类中心;
c、重复步骤b直至选择出K个特征向量作为K个聚类中心;
d、计算训练集中的每个特征向量到K个聚类中心的欧式距离,将每个向量划分至与之最近的聚类中心对应的簇中;
e、重新计算每个簇的中心μk,新的中心为该簇中所有特征向量的均值,计算公式为:
其中,nk表示第k个簇中特征向量的个数,fi表示该簇中的特征向量,i∈[1,nk],k∈[1,K];
f、定义特征向量f与第k个簇的距离χk为该特征向量与该簇中心的欧式距离以及该特征向量与该簇中与其距离最远的3个特征向量的欧式距离之和,用公式表示为:
其中,为第k个簇中距离f最远的3个特征向量;
g、计算每个特征向量与K个簇的距离,并将其划分至与其距离最近的簇;
h、重新计算每个簇的中心;
i、判断每个簇的中心是否改变,如果每个簇的中心都未改变,则聚类完成;否则,依次重复g、h直至所有簇的中心不再发生改变。
优选的,所述步骤四中每个簇的权重的计算公式为:
其中,nk,c为第k个簇中第c类动作的特征向量的个数,nk为第k个簇中所有动作类别的特征向量的个数,wk为第k个簇的权重,k∈[1,K]。
进一步的,所述步骤四中每个簇对各个动作类别的支持度的计算公式如下:
sk,c=wk*rk,c,
其中,sk,c为第k个簇对第c类动作的支持度。
进一步的,所述步骤五中定义“姿态子组”是指将由Nα个簇中心组成的集合定义为一个大小为Nα的姿态子组Pα,第α个姿态子组用公式表示为:
其中为从集合{μk|k∈[1,K]}中选取的Nα个簇中心;
训练集一共有J个动作序列,对于其中的每个动作序列Vj(1≤j≤J),计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,一共可得J个簇中心集合;
对于每个簇中心集合Ej,Ej的每个非空子集即为一个姿态子组,取出所有元素个数为2或者3的姿态子组,将这些姿态子组构成动作序列Vj的姿态子组集合Gj,将从J个簇中心集合中取出的所有姿态子组,组合成姿态子组集合
进一步的,所述步骤六中定义姿态子组对应第c类动作的分类器为其计算方法如下:
将当前训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0;记当前训练集中动作序列的个数为对于当前训练集中的动作序列若姿态子组Pα包含于动作序列的簇中心集合即且Pα中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pα),则否则用公式表示为:
其中,表示各自所属的簇对第c类动作的支持度;
选取θ,使得分类器对当前训练集中所有动作序列分类平均误差∈最小,用公式表示为:
其中,表示当前训练集中的动作序列的标签。
进一步的,所述步骤七中学习得到Z个层级分类器的具体步骤如下:
a、从训练集中随机有放回地抽取J个动作序列,作为当前子训练集S;
b、随机地从姿态子组集合G中选取L个姿态子组,按选取的顺序对姿态子组进行排序,组成候选姿态子组集合G'={P1',P'2,...,P'L},其中P1',P'2,...,P'L为从姿态子组集合G中选取的姿态子组;
c、计算当前子训练集S中动作序列的差异度δ,计算公式如下:
其中,pc表示当前子训练集中属于第c类动作的序列所占的比例;
d、从候选姿态子组集合中选取姿态子组,找到符合要求的分类器,将该分类器作为当前子训练集S的分类器,具体步骤如下:
从候选姿态子组集合中选取第一个姿态子组P1',从第1个动作类别开始,计算其对应的分类器将训练集S分成两个集合:集合S1和集合S2;S1为满足的动作序列集合,S2为满足的动作序列集合;
分别计算集合S1和集合S2的差异度δ1、δ2,选择两者中较小的差异度与δ作差,若差值大于阈值λ,则判断当前分类器符合划分条件,将该姿态子组从候选姿态子组集合中剔除,并将分类器作为划分集合S的分类器;
否则,继续选取下一个动作类别,判断其对应的分类器是否符合划分条件,直至找到符合划分条件的分类器或者遍历完所有的动作类别;
如果对于当前选取的姿态子组,遍历所有动作类别仍未找到符合划分条件的分类器,则从候选姿态子组集合中按顺序选取下一个姿态子组,计算其对应不同动作类别的分类器,直至找到符合要求的分类器。
e、在找到符合要求的分类器将当前训练集S划分为集合S1和集合S2后,分别判断集合S1和集合S2中的动作序列是否属于同一类别,如果不属于同一类别,则以该集合为当前子训练集,依次重复步骤c、d,找到符合要求的分类器,作为该集合对应的分类器,将该集合继续划分,直至不再有集合需要划分,此时便得到一个层级分类器Fz。
f、重复步骤a至e,直至得到Z个层级分类器。
进一步的,所述步骤九中,Z个层级分类器对测试动作序列的分类方法为:
对于每个层级分类器,先使用第一个子训练集对应的分类器对测试动作序列进行划分,测试动作序列划分至某一个集合之后,再使用该集合对应的分类器对其继续进行划分,如此反复,直至不可再划分;此时该测试动作序列被划分到的集合中的训练动作序列所属的类别即为其所属的类别。
本发明设计跨层连接神经网络对动作序列的每一帧的人体姿态进行特征提取,减小了动作的类内差异对动作识别效果的影响;提取动作序列的关键帧,基于关键帧进行动作分类,这使得本方法不受动作发生速率的影响;能够处理任意时间长度的动作序列。
附图说明
图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。隐层的计算方式为:
其中,为隐层l的输入,Wl为隐层l的权重矩阵,bl为隐层l的偏置向量,为隐层l的输出,l∈{1,2,3,4}。 b1、b4、b2、b3、
relu、tanh为激活函数,此处优选为relu和tanh,亦可选用其它激活函数,皆在本专利保护范围之内。relu激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d1∈[1,D1]。
tanh激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d2∈[1,D2]。
为加法运算符,它将第一隐层的输出第四隐层的输出以及相似性计算模块的输出q相加,输入tanh激活模块,进行非线性映射。相似性计算模块如图3所示,它的输入为第三隐层的输入相似性计算矩阵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]中的任意一个数。输出相似性计算模块将x经过两个隐层、激活函数作用得到的特征向量与u1、u2、…、u50.进行相似性计算,将特征向量的维度从30增加到50。由于un每个维度的元素值在0到1之间,tanh激活函数的输出也在0到1之间,因此选用tanh激活模块的输出作为相似性计算模块的输入。输出层的计算方式为:
y=tanh(WOo+bO),
其中,为输出层的输入,为权重矩阵,为偏置向量。
跨层连接神经网络的损失函数为loss=||x-y||2,定义动作序列中该帧的特征向量f为第三隐层的输入
3、训练集中的每个动作序列的每一帧都有相对应的特征向量。将训练集中的所有帧的特征向量聚类成K个簇,K=400,步骤如下:
Step 1:从训练集中的所有特征向量中随机选取一个向量作为第一个聚类中心。
Step 2:计算每个特征向量与当前已有中心的最短距离(即与最近的一个中心的欧式距离),并从大到小进行排序,从排在前400个的距离所对应的特征向量中随机选取一个作为下一个聚类中心。
Step 3:重复Step 2直至选择出400个特征向量作为400个聚类中心。
Step 4:计算训练集中的每个特征向量到400个聚类中心的欧式距离,将每个向量划分至与之最近的聚类中心对应的簇中。
Step 5:重新计算每个簇的中心μk,新的中心为该簇中所有特征向量的均值,计算公式为:
其中,nk表示第k个簇中特征向量的个数,fi表示该簇中的特征向量,i∈[1,nk],k∈[1,400]。
Step 6:定义特征向量f与第k个簇的距离χk为该特征向量与该簇中心的欧式距离以及该特征向量与该簇中与其距离最远的3个特征向量的欧式距离之和,用公式表示为:
其中,为第k个簇中距离f最远的3个特征向量。
Step 7:计算每个特征向量与400个簇的距离,并将其划分至与其距离最近的簇。
Step 8:重新计算每个簇的中心。
Step 9:判断每个簇的中心是否改变,如果每个簇的中心都未改变,则聚类完成。否则,依次重复Step 7、8直至所有簇的中心不再发生改变。
按以上方式,可以将训练集中的所有帧对应的特征向量聚类成400个簇。
4、计算每个簇的权重wk,计算公式为:
其中,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α,用公式表示为:
其中,为从集合{μk|k∈[1,400]}中选取的Nα个簇中心。
训练集一共有J=137个动作序列,对于其中的每个动作序列Vj(1≤j≤137),计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,一共可得137个簇中心集合。
对于每个簇中心集合Ej,Ej的每个非空子集即为一个姿态子组,取出所有元素个数为2或者3的姿态子组,将这些姿态子组构成动作序列Vj的姿态子组集合Gj。将从137个簇中心集合中取出的所有姿态子组,组合成姿态子组集合
7、定义姿态子组对应第c类动作的分类器为其计算方法如下:
将当前训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0。记当前训练集中动作序列的个数为对于当前训练集中的动作序列若姿态子组Pα包含于动作序列的簇中心集合即且Pα中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pα),则否则用公式表示为:
其中,表示各自所属的簇对第c类动作的支持度。
选取θ,使得分类器对当前训练集中所有动作序列分类平均误差∈最小,用公式表示为:
其中,表示当前训练集中的动作序列的标签。
8、从训练集中随机有放回地抽取137个动作序列,作为当前子训练集S,对其进行层级划分,得到分类器Fz,步骤如下:
Step 1:随机地从姿态子组集合G中选取40个姿态子组,按选取的顺序对姿态子组进行排序,组成候选姿态子组集合G'={P1',P'2,...,P'40},其中P1',P'2,...,P'40为从姿态子组集合中选取的姿态子组。
Step 2:计算当前子训练集S中动作序列的差异度δ,计算公式如下:
其中,pc表示当前子训练集中属于第c类动作的序列所占的比例。
Step 3:从候选姿态子组集合中选取姿态子组,找到符合要求的分类器,将该分类器作为当前子训练集S的分类器,将S分为2个集合,步骤如下:
从候选姿态子组集合中选取第一个姿态子组P1',从第1个动作类别开始,计算其对应的分类器将训练集S分成两个集合:集合S1和集合S2。S1为满足的动作序列集合,S2为满足的动作序列集合。
分别计算集合S1和集合S2的差异度δ1、δ2,选择两者中较小的差异度与δ作差,若差值大于0.1,则判断当前分类器符合划分条件,将该姿态子组从候选姿态子组集合中剔除,并将分类器作为划分集合S的分类器。
否则,继续选取下一个动作类别,判断其对应的分类器是否符合划分条件,直至找到符合划分条件的分类器或者遍历完所有的动作类别。
如果对于当前选取的姿态子组,遍历所有动作类别仍未找到符合划分条件的分类器,则从候选姿态子组集合中按顺序选取下一个姿态子组,计算其对应不同动作类别的分类器,直至找到符合要求的分类器。
Step 4:在找到符合要求的分类器将当前训练集S划分为集合S1和集合S2后,分别判断集合S1和集合S2中的动作序列是否属于同一类别,如果不属于同一类别,则以该集合为当前子训练集,依次重复Step 2、3,将该集合继续划分,直至不再有集合需要划分。此时便得到一个层级分类器Fz。
9、重复步骤8,直至得到20个层级分类器。
10、将测试集中所有动作序列每一帧的20个关节点的三维坐标连接成一维向量输入至已经训练好的跨层连接神经网络模型,得到所有测试样本每一帧的人体姿态的特征向量。
11、对于某个测试样本,计算其动作序列每一帧的特征向量与各个簇的距离,并将其划分给与其距离最近的簇。
12、使用得到的20个层级分类器对测试动作序列进行分类:
对于每个层级分类器,先使用第一个子训练集对应的分类器对测试动作序列进行划分,测试动作序列划分至某一个集合之后,再使用该集合对应的分类器对其继续进行划分,如此反复,直至不可再划分。此时该测试动作序列被划分到的集合中的训练动作序列所属的类别即为其所属的类别。
13、选取20个层级分类器分类结果中出现次数最多的类别为测试动作序列的类别。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种动作识别方法,包括如下步骤:
步骤一、利用深度传感器获取目标的三维骨骼关节点信息,得到人体各个骨骼关节点的三维坐标,将得到的动作序列分为训练集和测试集;
步骤二、设计跨层连接神经网络模型,对训练集中的动作序列的每一帧骨骼关节点的三维坐标提取特征,得到每一帧的特征向量;
步骤三、将训练集中的所有帧的特征向量聚类成K个簇;
步骤四、计算每个簇的权重和每个簇对各个动作类别的支持度;
步骤五、定义“姿态子组”,并从训练集中抽取姿态子组,组成姿态子组集合;
步骤六、定义姿态子组对应第c类动作的分类器,c∈[1,C],C表示训练集中的动作类别总数;
步骤七、学习得到Z个层级分类器;
步骤八、使用跨层连接神经网络模型获取测试动作序列每一帧的特征向量并将其划分给与其距离最近的簇;
步骤九、分别计算Z个层级分类器对测试动作序列的分类结果;
步骤十、选取Z个层级分类器分类结果中出现次数最多的类别作为测试动作序列的类别。
2.根据权利要求1所述的一种动作识别方法,其特征在于:所述步骤二中的跨层连接神经网络模型包括第一隐层、第二隐层、第三隐层和第四隐层,所述第一隐层的输出通过relu激活模块进入第二隐层,第二隐层的输出通过tanh激活模块进入第三隐层,所述第三隐层的输出通过relu激活模块进入第四隐层,所述第四隐层的输出与第一隐层的输出相似计算模块的输出q相加后输入tanh激活模块,进行非线性映射,跨层连接神经网络模型的输出层输出该帧的特征向量;
所述跨层连接神经网络模型的输入为由训练集中的动作序列的每一帧的R个关节点的三维坐标组合成的一维向量x=(x1,x2,...,x3R)T,输出为y=(y1,y2,...,y3R)T,第一隐层、第二隐层、第三隐层、第四隐层中的神经元的个数分别为N、M、M、N,各隐层输出的计算方式为:
其中为隐层l的输入,Wl为隐层l的权重矩阵,bl为隐层l的偏置向量,为隐层l的输出,l∈{1,2,3,4}, b1、b4、b2、b3、
relu激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d∈[1,D];
tanh激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d'∈[1,D'];
所述相似性计算模块的输出相似性计算模块的输入为第三隐层的输入相似性计算矩阵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),
其中,为输出层的输入,为权重矩阵,为偏置向量;
跨层连接神经网络的损失函数为loss=||x-y||2,定义动作序列中该帧的特征向量f为第三隐层的输入
3.根据权利要求1所述的一种动作识别方法,其特征在于:所述步骤三将训练集中的所有帧的特征向量聚类成K个簇,具体步骤如下:
a、从训练集中的所有特征向量中随机选取一个向量作为第一个聚类中心;
b、计算每个特征向量与当前已有聚类中心的最短距离,即与最近的一个聚类中心的欧式距离,并从大到小进行排序,从排在前K个的距离所对应的特征向量中随机选取一个作为下一个聚类中心;
c、重复步骤b直至选择出K个特征向量作为K个聚类中心;
d、计算训练集中的每个特征向量到K个聚类中心的欧式距离,将每个向量划分至与之最近的聚类中心对应的簇中;
e、重新计算每个簇的中心μk,新的中心为该簇中所有特征向量的均值,计算公式为:
其中,nk表示第k个簇中特征向量的个数,fi表示该簇中的特征向量,i∈[1,nk],k∈[1,K];
f、定义特征向量f与第k个簇的距离χk为该特征向量与该簇中心的欧式距离以及该特征向量与该簇中与其距离最远的3个特征向量的欧式距离之和,用公式表示为:
其中,为第k个簇中距离f最远的3个特征向量;
g、计算每个特征向量与K个簇的距离,并将其划分至与其距离最近的簇;
h、重新计算每个簇的中心;
i、判断每个簇的中心是否改变,如果每个簇的中心都未改变,则聚类完成;否则,依次重复g、h直至所有簇的中心不再发生改变。
4.根据权利要求1所述的一种动作识别方法,其特征在于:所述步骤四中每个簇的权重的计算公式为:
其中,nk,c为第k个簇中第c类动作的特征向量的个数,nk为第k个簇中所有动作类别的特征向量的个数,wk为第k个簇的权重,k∈[1,K],c∈[1,C],C表示训练集中的动作类别总数。
5.据权利要求4所述的一种动作识别方法,其特征在于:所述步骤四中每个簇对各个动作类别的支持度的计算公式如下:
sk,c=wk*rk,c,
其中,sk,c为第k个簇对第c类动作的支持度。
6.据权利要求3所述的一种动作识别方法,其特征在于:所述步骤五中定义“姿态子组”是指将由Nα个簇中心组成的集合定义为一个大小为Nα的姿态子组Pα,第α个姿态子组用公式表示为:
其中,为从集合{μk|k∈[1,K]}中选取的Nα个簇中心;
训练集一共有J个动作序列,对于其中的每个动作序列Vj(1≤j≤J),计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,一共可得J个簇中心集合;
对于每个簇中心集合Ej,Ej的每个非空子集即为一个姿态子组,取出所有元素个数为2或者3的姿态子组,将这些姿态子组构成动作序列Vj的姿态子组集合Gj,将从J个簇中心集合中取出的所有姿态子组,组合成姿态子组集合
7.据权利要求6所述的一种动作识别方法,其特征在于:所述步骤六中定义姿态子组对应第c类动作的分类器为其计算方法如下:
将当前训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0;记当前训练集中动作序列的个数为对于当前训练集中的动作序列若姿态子组Pα包含于动作序列的簇中心集合即且Pα中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pα),则否则用公式表示为:
其中,表示各自所属的簇对第c类动作的支持度;
选取θ,使得分类器对当前训练集中所有动作序列分类平均误差∈最小,用公式表示为:
其中, 表示当前训练集中的动作序列的标签。
8.据权利要求7所述的一种动作识别方法,其特征在于:所述步骤七中学习得到Z个层级分类器的具体步骤如下:
a、从训练集中随机有放回地抽取J个动作序列,作为当前子训练集S;
b、随机地从姿态子组集合G中选取L个姿态子组,按选取的顺序对姿态子组进行排序,组成候选姿态子组集合G'={P1',P'2,...,P'L},其中P1',P'2,...,P'L为从姿态子组集合G中选取的姿态子组;
c、计算当前子训练集S中动作序列的差异度δ,计算公式如下:
其中,pc表示当前子训练集中属于第c类动作的序列所占的比例;
d、从候选姿态子组集合中选取姿态子组,找到符合要求的分类器,将该分类器作为当前子训练集S的分类器,具体步骤如下:
从候选姿态子组集合中选取第一个姿态子组P1',从第1个动作类别开始,计算其对应的分类器将训练集S分成两个集合:集合S1和集合S2;S1为满足的动作序列集合,S2为满足的动作序列集合;
分别计算集合S1和集合S2的差异度δ1、δ2,选择两者中较小的差异度与δ作差,若差值大于阈值λ,则判断当前分类器符合划分条件,将该姿态子组从候选姿态子组集合中剔除,并将分类器作为划分集合S的分类器;
否则,继续选取下一个动作类别,判断其对应的分类器是否符合划分条件,直至找到符合划分条件的分类器或者遍历完所有的动作类别;
如果对于当前选取的姿态子组,遍历所有动作类别仍未找到符合划分条件的分类器,则从候选姿态子组集合中按顺序选取下一个姿态子组,计算其对应不同动作类别的分类器,直至找到符合要求的分类器;
e、在找到符合要求的分类器将当前训练集S划分为集合S1和集合S2后,分别判断集合S1和集合S2中的动作序列是否属于同一类别,如果不属于同一类别,则以该集合为当前子训练集,依次重复步骤c、d,找到符合要求的分类器,作为该集合对应的分类器,将该集合继续划分,直至不再有集合需要划分,此时便得到一个层级分类器Fz;
f、重复步骤a至e,直至得到Z个层级分类器。
9.据权利要求8所述的一种动作识别方法,其特征在于:所述步骤九中,Z个层级分类器对测试动作序列的分类方法为:
对于每个层级分类器,先使用第一个子训练集对应的分类器对测试动作序列进行划分,测试动作序列划分至某一个集合之后,再使用该集合对应的分类器对其继续进行划分,如此反复,直至不可再划分;此时该测试动作序列被划分到的集合中的训练动作序列所属的类别即为其所属的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910362475.8A CN110084211B (zh) | 2019-04-30 | 2019-04-30 | 一种动作识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910362475.8A CN110084211B (zh) | 2019-04-30 | 2019-04-30 | 一种动作识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110084211A true CN110084211A (zh) | 2019-08-02 |
CN110084211B CN110084211B (zh) | 2020-12-18 |
Family
ID=67418132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910362475.8A Active CN110084211B (zh) | 2019-04-30 | 2019-04-30 | 一种动作识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110084211B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364922A (zh) * | 2020-11-13 | 2021-02-12 | 苏州浪潮智能科技有限公司 | 一种机房环境中人体骨架运动的预测方法及*** |
CN112396136A (zh) * | 2019-08-15 | 2021-02-23 | 北京神州泰岳软件股份有限公司 | 一种手写数字识别方法、装置、电子设备和可读存储介质 |
CN112712003A (zh) * | 2020-12-25 | 2021-04-27 | 华南理工大学 | 一种用于骨骼动作序列识别的联合标签数据增强方法 |
CN113392697A (zh) * | 2021-04-26 | 2021-09-14 | 上海师范大学 | 一种基于词袋模型的人体动作识别方法 |
CN113591797A (zh) * | 2021-08-23 | 2021-11-02 | 苏州大学 | 一种深度视频行为识别方法 |
WO2023173553A1 (zh) * | 2022-03-15 | 2023-09-21 | 平安科技(深圳)有限公司 | 基于聚类算法的行人异常行为检测方法及装置、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663449A (zh) * | 2012-03-12 | 2012-09-12 | 西安电子科技大学 | 基于最大几何流向直方图的人体运动跟踪方法 |
CN103198492A (zh) * | 2013-03-28 | 2013-07-10 | 沈阳航空航天大学 | 一种人体运动捕获方法 |
CN104318248A (zh) * | 2014-10-21 | 2015-01-28 | 北京智谷睿拓技术服务有限公司 | 动作识别方法及动作识别装置 |
US9679226B1 (en) * | 2012-03-29 | 2017-06-13 | Google Inc. | Hierarchical conditional random field model for labeling and segmenting images |
US20180174001A1 (en) * | 2016-12-15 | 2018-06-21 | Samsung Electronics Co., Ltd. | Method of training neural network, and recognition method and apparatus using neural network |
CN108537145A (zh) * | 2018-03-21 | 2018-09-14 | 东北电力大学 | 基于时空骨骼特征及深度信念网络的人体行为识别方法 |
CN108681700A (zh) * | 2018-05-04 | 2018-10-19 | 苏州大学 | 一种复杂行为识别方法 |
-
2019
- 2019-04-30 CN CN201910362475.8A patent/CN110084211B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663449A (zh) * | 2012-03-12 | 2012-09-12 | 西安电子科技大学 | 基于最大几何流向直方图的人体运动跟踪方法 |
US9679226B1 (en) * | 2012-03-29 | 2017-06-13 | Google Inc. | Hierarchical conditional random field model for labeling and segmenting images |
CN103198492A (zh) * | 2013-03-28 | 2013-07-10 | 沈阳航空航天大学 | 一种人体运动捕获方法 |
CN104318248A (zh) * | 2014-10-21 | 2015-01-28 | 北京智谷睿拓技术服务有限公司 | 动作识别方法及动作识别装置 |
US20180174001A1 (en) * | 2016-12-15 | 2018-06-21 | Samsung Electronics Co., Ltd. | Method of training neural network, and recognition method and apparatus using neural network |
CN108537145A (zh) * | 2018-03-21 | 2018-09-14 | 东北电力大学 | 基于时空骨骼特征及深度信念网络的人体行为识别方法 |
CN108681700A (zh) * | 2018-05-04 | 2018-10-19 | 苏州大学 | 一种复杂行为识别方法 |
Non-Patent Citations (2)
Title |
---|
ALESSIA SAGGESE ET AL.: "Learning skeleton representations for human action recognition", 《PATTERN RECOGNITION LETTERS》 * |
崔广才等: "基于傅里叶与局部特征结合的", 《长春理工大学学报(自然科学版)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396136A (zh) * | 2019-08-15 | 2021-02-23 | 北京神州泰岳软件股份有限公司 | 一种手写数字识别方法、装置、电子设备和可读存储介质 |
CN112364922A (zh) * | 2020-11-13 | 2021-02-12 | 苏州浪潮智能科技有限公司 | 一种机房环境中人体骨架运动的预测方法及*** |
CN112364922B (zh) * | 2020-11-13 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种机房环境中人体骨架运动的预测方法及*** |
CN112712003A (zh) * | 2020-12-25 | 2021-04-27 | 华南理工大学 | 一种用于骨骼动作序列识别的联合标签数据增强方法 |
CN113392697A (zh) * | 2021-04-26 | 2021-09-14 | 上海师范大学 | 一种基于词袋模型的人体动作识别方法 |
CN113591797A (zh) * | 2021-08-23 | 2021-11-02 | 苏州大学 | 一种深度视频行为识别方法 |
CN113591797B (zh) * | 2021-08-23 | 2023-07-28 | 苏州大学 | 一种深度视频行为识别方法 |
WO2023173553A1 (zh) * | 2022-03-15 | 2023-09-21 | 平安科技(深圳)有限公司 | 基于聚类算法的行人异常行为检测方法及装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110084211B (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084211B (zh) | 一种动作识别方法 | |
CN106682598B (zh) | 一种基于级联回归的多姿态的人脸特征点检测方法 | |
CN106897390B (zh) | 基于深度度量学习的目标精确检索方法 | |
CN110321833B (zh) | 基于卷积神经网络和循环神经网络的人体行为识别方法 | |
CN106066996B (zh) | 人体动作的局部特征表示方法及其在行为识别的应用 | |
Phung et al. | A pyramidal neural network for visual pattern recognition | |
Frolova et al. | Most probable longest common subsequence for recognition of gesture character input | |
CN107122752B (zh) | 一种人体动作比对方法及装置 | |
CN112101176A (zh) | 一种结合用户步态信息的用户身份识别方法及*** | |
CN103279768B (zh) | 一种基于增量学习人脸分块视觉表征的视频人脸识别方法 | |
CN105894047A (zh) | 一种基于三维数据的人脸分类*** | |
CN105868716A (zh) | 一种基于面部几何特征的人脸识别方法 | |
Khan et al. | Facial expression recognition on real world face images using intelligent techniques: A survey | |
CN104966075B (zh) | 一种基于二维判别特征的人脸识别方法与*** | |
CN111652273B (zh) | 一种基于深度学习的rgb-d图像分类方法 | |
Zhang et al. | Multiview unsupervised shapelet learning for multivariate time series clustering | |
CN113610046B (zh) | 一种基于深度视频联动特征的行为识别方法 | |
CN110334777A (zh) | 一种加权多视角无监督属性选择方法 | |
CN110163130B (zh) | 一种用于手势识别的特征预对齐的随机森林分类***及方法 | |
CN115205933A (zh) | 面部表情识别方法、装置、设备及可读存储介质 | |
CN110070070B (zh) | 一种动作识别方法 | |
CN110070068A (zh) | 一种人体动作识别方法 | |
CN113496260A (zh) | 基于改进YOLOv3算法的粮库人员不规范作业检测法 | |
CN112396063A (zh) | 一种基于聚集激励上下文金字塔的人像语义解析方法 | |
CN113887509B (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 |