CN110070070A - 一种动作识别方法 - Google Patents
一种动作识别方法 Download PDFInfo
- Publication number
- CN110070070A CN110070070A CN201910363855.3A CN201910363855A CN110070070A CN 110070070 A CN110070070 A CN 110070070A CN 201910363855 A CN201910363855 A CN 201910363855A CN 110070070 A CN110070070 A CN 110070070A
- Authority
- CN
- China
- Prior art keywords
- subgroup
- posture
- cluster
- class
- action
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- 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
-
- 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种动作识别方法,包括获取目标的三维骨骼关节点信息;设计跨层连接神经网络对训练集中动作序列的每帧骨骼关节点的三维坐标提取特征,得到该帧的特征向量;将训练集中所有特征向量聚类成K个簇;计算每个簇的权重和每个簇对各个动作类别的支持度;定义姿态子组及姿态子组对应第c类动作的分类器;挖掘每类动作的姿态子组集合;对于每类动作,先学习出多个初级分类器,再将该类动作学得的所有初级分类器加权组合成高级分类器;用跨层连接神经网络获取测试动作序列每一帧的特征向量并划分给与其距离最近的簇;分别计算每类动作的高级分类器对测试动作序列的响应值,响应值最大的高级分类器对应的动作类别即为该测试样本的动作类别。
Description
技术领域
本发明涉及一种动作识别方法,属于人体动作识别技术领域。
背景技术
动作识别是机器视觉研究的一个重要领域,它被广泛应用于视频监控、人机交互、运动视频分析和视频检索等方面。尽管在过去十多年中有许多卓越的研究工作和令人鼓舞的进步,但对人类动作的准确识别仍然是一项非常具有挑战性的任务。
现有的很多方法依赖于整个视频序列进行动作识别,它们通常选择时空特征来表示动作。但是这些方法容易受到动作类内差异的影响,比如同一个动作的不同样本的时间尺度不一致或者其中部分样本出现人体骨骼关节点的局部遮挡时,这些样本的时空特征会有差异,从而影响动作识别的准确性。有必要设计一种算法,只使用视频序列里的一些关键帧进行动作识别,从而减小类内差异的影响。
发明内容
本发明是为解决现有技术中的问题而提出的,技术方案如下,
一种动作识别方法,包括如下步骤:
步骤一、利用深度传感器获取目标的三维骨骼关节点信息,得到人体各个骨骼关节点的三维坐标,将得到的动作序列分为训练集和测试集;
步骤二、设计跨层连接神经网络模型,对训练集中的动作序列的每一帧骨骼关节点的三维坐标提取特征,得到该帧的特征向量;
步骤三、将训练集中的所有帧的特征向量聚类成K个簇;
步骤四、计算每个簇的权重和每个簇对各个动作类别的支持度;
步骤五、定义“姿态子组”以及姿态子组对应第c类动作的分类器,c∈[1,C],C表示训练集中的动作类别总数;
步骤六、挖掘出每类动作的姿态子组集合;
步骤七、对于每类动作,依次选取该类动作的姿态子组集合中的姿态子组,学习出该姿态子组对应的一个初级分类器,并将该类动作学得的初级分类器加权组合成高级分类器;
步骤八、使用跨层连接神经网络模型获取测试动作序列每一帧的特征向量并将其划分给与其距离最近的簇;
步骤九、分别计算每类动作的高级分类器对测试动作序列的响应值,响应最大的高级分类器对应的动作类别即为该测试动作序列的动作类别。
优选的,所述步骤二中跨层连接神经网络模型包括第一隐层、第二隐层、第三隐层和第四隐层,所述第一隐层的输出通过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激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d∈[1,D]。
tanh激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d'∈[1,D']。
将第一隐层的输出第四隐层的输出以及相似性计算模块的输出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],c∈[1,C],C表示训练集中的动作类别总数。
进一步的,所述步骤四中每个簇对各个动作类别的支持度的计算公式如下:
sk,c=wk·rk,c。
其中,sk,c为第k个簇对第c类动作的支持度。
进一步的,所述步骤五中定义“姿态子组”是指将由Nγ个簇中心组成的集合定义为一个长度为Nγ的姿态子组Pγ,第γ个姿态子组用公式表示为:
其中,为从集合{μk|k∈[1,K]}中选取的Nγ个簇中心。
进一步的,定义第γ个姿态子组对应第c类动作的分类器为j∈[1,J],J是训练集中动作序列的总个数,其计算方法如下:
将训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0;对于训练集中的动作序列Vj,计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,若姿态子组Pγ包含于簇中心集合Ej,即且Pγ中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pγ),则否则用公式表示为:
其中,表示各自所属的簇对第c类动作的支持度;
选取θ,使得分类器对训练集中所有动作序列分类误差∈最小,用公式表示为:
其中,αj表示动作序列Vj在训练集中所占的权重,gj∈{0,1}表示训练集中的动作序列Vj的标签。
进一步的,所述步骤六中挖掘出每类动作的姿态子组集合的方法为:
对于第c类动作,将训练集中的每个动作序列Vj的权重αj设置为
取出集合{μk|k∈[1,K]}所有的元素个数为2的子集,每个子集都为一个长度为2的姿态子组,将这些姿态子组构成姿态子组集合从集合中挖掘出符合要求的姿态子组,具体挖掘方式如下:
计算集合中的姿态子组对应第c类动作的分类器,将姿态子组按照分类误差∈由小到大排序,删去分类误差大于阈值λ的姿态子组,在剩下的姿态子组中,如果排在后面的姿态子组与排在前面的某个姿态子组包含相同的簇中心,且相同簇中心的个数大于姿态子组长度的δ倍,0<δ<1,则将此排在后面的姿态子组删去,最终可得到符合要求的长度为2的姿态子组;
接着再向每个符合要求的长度为2的姿态子组中添加与姿态子组现有簇中心不同的簇中心,扩展姿态子组的长度至3,得到的所有长度为3的姿态子组构成姿态子组集合按照对集合的挖掘方法,从集合中挖掘出符合要求的长度为3的姿态子组;以此类推,直至挖掘出符合要求的长度为Lc的姿态子组;
最终挖掘出的所有符合要求的长度为2到Lc的姿态子组构成了第c类动作的姿态子组集合Gc;记第c类动作挖掘出的姿态子组为其中Sc表示第c类动作挖掘出的姿态子组的总个数,则
进一步的,所述步骤七中,对于每类动作,以第c类动作为例,依次抽取该类动作的姿态子组集合Gc中的姿态子组a∈[1,Sc],计算该姿态子组对应第c类动作的分类器作为一个初级分类器;第c类动作一共有Sc个姿态子组,则可得到Sc个初级分类器,最后将该类动作的所有的初级分类器加权求和得到最终的高级分类器,具体计算方法如下:
对于第1个姿态子组P1 c,记训练集中的每个动作序列Vj的权重为令计算出P1 c对应第c类动作的分类器作为第1个初级分类器,该分类器的分类误差记为
根据分类器的分类误差计算该分类器在最终的高级分类器中所占的权重计算方式为:
对于第2个姿态子组根据上一个姿态子组计算得到的分类器的权重以及分类结果,重新计算每个动作序列Vj的权重计算公式如下:
其中,Z1为归一化因子,计算出对应第c类动作的分类器作为第2个初级分类器,该分类器的分类误差记为按照第1个初级分类器的计算方式,计算出第2个初级分类器在最终的高级分类器中所占的权重
以此类推,第c类动作可计算出Sc个初级分类器,将这些初级分类器加权求和组合成高级分类器Qc(Vj),C个动作类别可得C个高级分类器,Qc(Vj)的值表示第c类动作对应的高级分类器对动作序列Vj的响应,响应值越高,代表Vj越有可能属于第c类动作,计算公式为:
其中,
进一步的,所述步骤九中测试动作序列的动作类别c*的计算公式为:
本发明设计跨层连接神经网络对动作序列的每一帧的人体姿态进行特征提取,减小了动作的类内差异对动作识别效果的影响;提取动作序列的关键帧,基于关键帧进行动作分类,这使得本方法不受动作发生速率的影响;将多个初级分类器加权组合成高级分类器进行分类,能有效避免动作序列部分帧中的噪声带来的影响。
附图说明
图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激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d∈[1,D]。
tanh激活模块的输入为输出为输入向量的每个维度的元素通过以下方式得到对应的输出:
其中,d'∈[1,D']。
⊕为加法运算符,它将第一隐层的输出第四隐层的输出以及相似性计算模块的输出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γ个簇中心。
7、定义姿态子组对应第c类动作的分类器为其计算方法如下:
将训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0。对于训练集中的动作序列Vj,计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,若姿态子组Pγ包含于簇中心集合Ej,即且Pγ中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pγ),则否则用公式表示为:
其中,表示各自所属的簇对第c类动作的支持度。
选取θ,使得分类器对训练集中所有动作序列分类误差∈最小,用公式表示为:
其中,αj表示动作序列Vj在训练集中所占的权重,gj∈{0,1}表示训练集中的动作序列Vj的标签。
8、对训练集中的每类动作,以第1类动作为例,挖掘出该类动作对应的姿态子组集合:
将训练集中的每个动作序列Vj的权重αj设置为具体为
取出集合{μk|k∈[1,400]}所有的元素个数为2的子集,每个子集都为一个长度为2的姿态子组,将这些姿态子组构成姿态子组集合从集合中挖掘出符合要求的姿态子组,具体挖掘方式如下:
计算集合中的姿态子组对应第1类动作(c=1)的分类器,将姿态子组按照分类误差∈由小到大排序,删去分类误差大于阈值等于0.5的姿态子组,在剩下的姿态子组中,如果排在后面的姿态子组与排在前面的某个姿态子组包含相同的簇中心,且相同簇中心的个数大于姿态子组长度的δ倍,0<δ<1,此处选则将此排在后面的姿态子组删去。最终可得到符合要求的长度为2的姿态子组。
接着再向每个符合要求的长度为2的姿态子组中添加与姿态子组现有簇中心不同的簇中心,扩展姿态子组的长度至3,得到的所有长度为3的姿态子组构成姿态子组集合按照对集合的挖掘方法,从集合中挖掘出符合要求的长度为3的姿态子组。
以此类推,直至挖掘出符合要求的长度L1等于5的姿态子组。
最终挖掘出的所有符合要求的长度为2到5的姿态子组构成了第1类动作的姿态子组集合G1。记第1类动作挖掘出的20个姿态子组为则
9、对每类动作,以第1类动作为例,依次抽取该类动作的姿态子组集合G1中的姿态子组,计算该姿态子组对应第1类动作的分类器,作为一个初级分类器。第1类动作一共有20个姿态子组,则可得到20个初级分类器。最后第1类动作的将所有的初级分类器加权求和得到最终的高级分类器,具体计算方法如下:
对于第一个姿态子组P1 1,记训练集中的每个动作序列Vj的权重为令计算出P1 1对应第1类动作的分类器作为第一个初级分类器,记该分类器的分类误差为
根据分类器的分类误差计算该分类器在最终的高级分类器中所占的权重计算方式为:
对于第2个姿态子组根据上一个姿态子组计算得到的分类器的权重以及分类结果,重新计算每个动作序列Vj的权重计算公式如下:
其中,Z1为归一化因子,计算出对应第1类动作的分类器作为第2个初级分类器。按照第1个初级分类器的计算方式,计算出该分类器在最终的高级分类器中所占的权重
以此类推,第1类动作可计算出20个初级分类器。将这些初级分类器加权求和组合成高级分类器Q1(Vj),Q1(Vj)的值表示高级分类器对动作序列Vj的响应,响应值越高,代表Vj越有可能属于第1类动作,计算公式为:
其中,
8类动作可得8个高级分类器。
10、将测试集中所有动作序列每一帧的20个关节点的三维坐标连接成一维向量输入至已经训练好的跨层连接神经网络模型,得到所有测试样本每一帧的人体姿态的特征向量。
11、对于某个测试样本,计算其动作序列每一帧的特征向量与各个簇的距离,并将其划分给与其距离最近的簇。
12、分别计算8个高级分类器对测试样本的响应值,响应值最大的高级分类器对应的类别为该测试样本的类别c*,计算公式为:
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种动作识别方法,包括如下步骤:
步骤一、利用深度传感器获取目标的三维骨骼关节点信息,得到人体各个骨骼关节点的三维坐标,将得到的动作序列分为训练集和测试集;
步骤二、设计跨层连接神经网络模型,对训练集中的动作序列的每一帧骨骼关节点的三维坐标提取特征,得到每一帧的特征向量;
步骤三、将训练集中的所有帧的特征向量聚类成K个簇;
步骤四、计算每个簇的权重和每个簇对各个动作类别的支持度;
步骤五、定义“姿态子组”以及姿态子组对应第c类动作的分类器,c∈[1,C],C表示训练集中的动作类别总数;
步骤六、挖掘出每类动作的姿态子组集合;
步骤七、对于每类动作,依次选取该类动作的姿态子组集合中的姿态子组,学习出该姿态子组对应的一个初级分类器,并将该类动作学得的初级分类器加权组合成高级分类器;
步骤八、使用跨层连接神经网络模型获取测试动作序列每一帧的特征向量,并将其划分给与其距离最近的簇;
步骤九、分别计算每类动作的高级分类器对测试动作序列的响应值,响应最大的高级分类器对应的动作类别即为该测试动作序列的动作类别。
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γ个簇中心。
7.据权利要求6所述的一种动作识别方法,其特征在于:定义第γ个姿态子组对应第c类动作的分类器为j∈[1,J],J是训练集中动作序列的总个数,其计算方法如下:
将训练集中属于第c类动作的动作序列标签设置为1,其余的动作序列的标签设置为0;对于训练集中的动作序列Vj,计算该序列中每一帧所属的簇,并将这些簇的中心组成集合Ej,若姿态子组Pγ包含于簇中心集合Ej,即且Pγ中的簇中心所属的簇对第c类动作的支持度之和大于阈值θ(Pγ),则否则用公式表示为:
其中,表示各自所属的簇对第c类动作的支持度;
选取θ,使得分类器对训练集中所有动作序列分类误差∈最小,用公式表示为:
其中,αj表示动作序列Vj在训练集中所占的权重,gj∈{0,1}表示训练集中的动作序列Vj的标签。
8.据权利要求7所述的一种动作识别方法,其特征在于:所述步骤六中挖掘出每类动作的姿态子组集合的方法为:
将训练集中的每个动作序列Vj的权重αj设置为
取出集合{μk|k∈[1,K]}所有的元素个数为2的子集,每个子集都为一个长度为2的姿态子组,将这些姿态子组构成姿态子组集合从集合中挖掘出符合要求的姿态子组,具体挖掘方式如下:
计算集合中的姿态子组对应第c类动作的分类器,将姿态子组按照分类误差∈由小到大排序,删去分类误差大于阈值λ的姿态子组,在剩下的姿态子组中,如果排在后面的姿态子组与排在前面的某个姿态子组包含相同的簇中心,且相同簇中心的个数大于姿态子组长度的δ倍,0<δ<1,则将此排在后面的姿态子组删去,最终可得到符合要求的长度为2的姿态子组;
接着再向每个符合要求的长度为2的姿态子组中添加与姿态子组现有簇中心不同的簇中心,扩展姿态子组的长度至3,得到的所有长度为3的姿态子组构成姿态子组集合按照对集合的挖掘方法,从集合中挖掘出符合要求的长度为3的姿态子组;以此类推,直至挖掘出符合要求的长度为Lc的姿态子组;
最终挖掘出的所有符合要求的长度为2到Lc的姿态子组构成了第c类动作的姿态子组集合Gc;记第c类动作挖掘出的姿态子组为其中Sc表示第c类动作挖掘出的姿态子组的总个数,则
9.据权利要求8所述的一种动作识别方法,其特征在于:所述步骤七中,对于每类动作,依次抽取该类动作的姿态子组集合Gc中的姿态子组a∈[1,Sc],计算该姿态子组对应第c类动作的分类器作为一个初级分类器;第c类动作一共有Sc个姿态子组,则可得到Sc个初级分类器,最后将该类动作所有的初级分类器加权求和得到最终的高级分类器,具体计算方法如下:
对于第1个姿态子组P1 c,记训练集中的每个动作序列Vj的权重为令计算出P1 c对应第c类动作的分类器作为第1个初级分类器,该分类器的分类误差记为
根据分类器的分类误差计算该分类器在最终的高级分类器中所占的权重计算方式为:
对于第2个姿态子组根据上一个姿态子组计算得到的分类器的权重以及分类结果,重新计算每个动作序列Vj的权重计算公式如下:
其中,Z1为归一化因子,计算出对应第c类动作的分类器作为第2个初级分类器,该分类器的分类误差记为按照第1个初级分类器的计算方式,计算出第2个初级分类器在最终的高级分类器中所占的权重
以此类推,第c类动作可计算出Sc个初级分类器,将这些初级分类器加权求和组合成高级分类器Qc(Vj),C个动作类别可得C个高级分类器,Qc(Vj)的值表示第c类动作对应的高级分类器对动作序列Vj的响应,响应值越高,代表Vj越有可能属于第c类动作,计算公式为:
其中,
10.据权利要求9所述的一种动作识别方法,其特征在于:所述步骤九中测试动作序列的动作类别c*的计算公式为:
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 true CN110070070A (zh) | 2019-07-30 |
CN110070070B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765967A (zh) * | 2019-10-30 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的动作识别方法和相关装置 |
CN111223549A (zh) * | 2019-12-30 | 2020-06-02 | 华东师范大学 | 一种基于姿态矫正的疾病预防的移动端系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104680188A (zh) * | 2015-03-24 | 2015-06-03 | 重庆大学 | 一种人体姿态基准图像库的构建方法 |
US9679226B1 (en) * | 2012-03-29 | 2017-06-13 | Google Inc. | Hierarchical conditional random field model for labeling and segmenting images |
CN107203636A (zh) * | 2017-06-08 | 2017-09-26 | 天津大学 | 基于超图主集聚类的多视频摘要方法 |
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 |
CN108491754A (zh) * | 2018-02-02 | 2018-09-04 | 泉州装备制造研究所 | 一种基于骨骼特征的动态表示和匹配的人体行为识别方法 |
CN108537145A (zh) * | 2018-03-21 | 2018-09-14 | 东北电力大学 | 基于时空骨骼特征及深度信念网络的人体行为识别方法 |
CN108681700A (zh) * | 2018-05-04 | 2018-10-19 | 苏州大学 | 一种复杂行为识别方法 |
-
2019
- 2019-04-30 CN CN201910363855.3A patent/CN110070070B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9679226B1 (en) * | 2012-03-29 | 2017-06-13 | Google Inc. | Hierarchical conditional random field model for labeling and segmenting images |
CN104680188A (zh) * | 2015-03-24 | 2015-06-03 | 重庆大学 | 一种人体姿态基准图像库的构建方法 |
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 |
CN107203636A (zh) * | 2017-06-08 | 2017-09-26 | 天津大学 | 基于超图主集聚类的多视频摘要方法 |
CN108491754A (zh) * | 2018-02-02 | 2018-09-04 | 泉州装备制造研究所 | 一种基于骨骼特征的动态表示和匹配的人体行为识别方法 |
CN108537145A (zh) * | 2018-03-21 | 2018-09-14 | 东北电力大学 | 基于时空骨骼特征及深度信念网络的人体行为识别方法 |
CN108681700A (zh) * | 2018-05-04 | 2018-10-19 | 苏州大学 | 一种复杂行为识别方法 |
Non-Patent Citations (2)
Title |
---|
ALESSIA SAGGESE等: "Learning skeleton representations for human action recognition", 《ELSEVIER》 * |
崔广才等: "基于傅里叶与局部特征结合的人体姿态识别方法研究", 《长春理工大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765967A (zh) * | 2019-10-30 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的动作识别方法和相关装置 |
CN110765967B (zh) * | 2019-10-30 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的动作识别方法和相关装置 |
CN111223549A (zh) * | 2019-12-30 | 2020-06-02 | 华东师范大学 | 一种基于姿态矫正的疾病预防的移动端系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110070070B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543526B (zh) | 基于深度差异性特征的真假面瘫识别系统 | |
CN109522966A (zh) | 一种基于密集连接卷积神经网络的目标检测方法 | |
CN110532900A (zh) | 基于U-Net和LS-CNN的人脸表情识别方法 | |
CN108520535A (zh) | 基于深度恢复信息的物体分类方法 | |
CN108717568A (zh) | 一种基于三维卷积神经网络的图像特征提取与训练方法 | |
CN108460356A (zh) | 一种基于监控系统的人脸图像自动处理系统 | |
CN106570477A (zh) | 基于深度学习的车型识别模型构建方法及车型识别方法 | |
CN107977671A (zh) | 一种基于多任务卷积神经网络的舌象分类方法 | |
CN110084211A (zh) | 一种动作识别方法 | |
CN107463920A (zh) | 一种消除局部遮挡物影响的人脸识别方法 | |
CN107123123A (zh) | 基于卷积神经网络的图像分割质量评价方法 | |
CN109190643A (zh) | 基于卷积神经网络中药识别方法及电子设备 | |
CN110033440A (zh) | 基于卷积神经网络与特征融合的生物细胞计数方法 | |
CN106529504B (zh) | 一种复合时空特征的双模态视频情感识别方法 | |
CN107016233A (zh) | 运动行为和认知能力的关联分析方法及系统 | |
CN108304887A (zh) | 基于少数类样本合成的朴素贝叶斯数据处理系统及方法 | |
CN111000553A (zh) | 一种基于投票集成学习的心电数据智能分类方法 | |
CN109214298A (zh) | 一种基于深度卷积网络的亚洲女性颜值评分模型方法 | |
CN109978050A (zh) | 基于svm-rf的决策规则提取及约简方法 | |
CN110070070A (zh) | 一种动作识别方法 | |
CN106855944A (zh) | 行人标志物识别方法及装置 | |
CN108268890A (zh) | 一种高光谱图像分类方法 | |
CN111861756A (zh) | 一种基于金融交易网络的团伙检测方法及其实现装置 | |
CN109376763A (zh) | 基于多样本推理神经网络的样本分类方法、系统及介质 | |
CN108596195A (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 |