首页> 中国专利> 一种基于时间金字塔局部匹配窗口的动作识别方法

一种基于时间金字塔局部匹配窗口的动作识别方法

摘要

一种基于时间金字塔局部匹配窗口的动作识别方法,包括如下步骤:1)从立体相机中获得场景中人的深度图序列,从深度图中提取出3D关节点的位置,用姿态之间的3D位移差作为每帧深度图的特征表达;2)用聚类方法对训练集中的描述子进行学习,得到特征集合,并用它对每个描述子进行特征表达,从而得到每帧图像的编码表示;3)采用基于时间金字塔的局部匹配模型,对整个动作图像序列进行动作片段划分,并得到每个动作片段的特征直方图表达;4)用一个长向量把所有片段的特征直方图表达串联起来,就是整个动作的特征表达。本发明有效识别相似的动作、识别率较高。

著录项

  • 公开/公告号CN104408396A

    专利类型发明专利

  • 公开/公告日2015-03-11

    原文格式PDF

  • 申请/专利权人 浙江工业大学;

    申请/专利号CN201410433290.9

  • 申请日2014-08-28

  • 分类号G06K9/00;G06K9/62;

  • 代理机构杭州斯可睿专利事务所有限公司;

  • 代理人王利强

  • 地址 310014 浙江省杭州市下城区朝晖六区潮王路18号

  • 入库时间 2023-12-17 04:31:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-30

    授权

    授权

  • 2015-04-08

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20140828

    实质审查的生效

  • 2015-03-11

    公开

    公开

说明书

技术领域

本发明涉及视频识别领域,尤其是一种动作识别方法。 

背景技术

人体运动特征描述是对序列图像中人体姿态信息的表达,它是人体动作识别的重要组成部分。人体运动是链式非刚体的运动,即身体各部分的运动是刚体运动,而从整体来看,人体的运动又呈现高度的非线性、非刚体性。 

人体动作识别主要分为基于时空的动作识别方法和基于序列的动作识别方法。首先在训练视频集中为每一个动作构造对应的三维X-Y-T模型,然后通过匹配待识别动作序列与训练集各动作的三维X-Y-T模型,确定该测试动作的种类。基于时空的动作识别方法主要包括以下三类:基于时空卷的识别方法、基于运动轨迹的识别方法、基于时空局部特征的识别方法。 

现有的识别方法存在的缺陷:无法识别相似的动作,识别率较低。 

发明内容

为了克服动作识别方法的无法识别相似的动作,识别率较低的不足,本发明提供一种有效识别相似的动作、识别率较高的基于时间金字塔局部匹配窗口的动作识别方法。 

本发明解决其技术问题所采用的技术方案是: 

一种基于时间金字塔局部匹配窗口的动作识别方法,包括如下步骤: 

1)从立体相机中获得场景中人的深度图序列,从深度图中提取出3D关节点的位置,用姿态之间的3D位移差作为每帧深度图的特征表达; 

2)用聚类方法对训练集中的描述子进行学习,得到特征集合,并用它对每个描述子进行特征表达,从而得到每帧图像的编码表示; 

3)采用基于时间金字塔的局部匹配模型,对整个动作图像序列进行动作片段划分,并得到每个动作片段的特征直方图表达; 

基于时间金字塔的局部匹配模型的特征匹配过程如下: 

将整个动作序列划分成不同层的动作片段,并分别对每个动作片段计算特征直方图,假定训练集中有n种动作,每个动作用聚类方法学习得到m个特征码字,那么整个特征码本集有M=nm个特征码字;对于动作片段中的每一个姿态,将其映射到训练得到的M个离散的特征码字中,得到一个M维的特征向量表达;假定整个动作总共划分为L层,则第一层的特征表达维度为M,第二层的特征表达维度为2M,第L层的特征维度为2L-1M;如果用一个长向量把所有动作片段的特征表达串联起来,则整个动作序列的特征维度为最后在动作之间相似度比较时,对动作的特征表达进行归一化,并用金字塔匹配核进行计算; 

4)用一个长向量把所有片段的特征直方图表达串联起来,就是整个动作的特征表达。 

进一步,所述步骤2)中,采用局部训练,首先用K-means聚类方法单独对每一类动作的训练集训练得到特征集合,然后将从所有动作集中学习得到的特征集合组成能够表征整个训练集的动作特征集合,最后将每类动作映射到训练得到的动作特征集合,得到每一类动作模型的特征直方图分布图。 

再进一步,所述步骤2)中,对每一个姿态描述子进行量化编码。令P为从动作序列中获得的姿态特征描述子,每个特征描述子的维度为D,总共有N个特征,则令训练得到的码本有M个码字,即 

编码方式如下: 

s.t.1TC=1 

其中,C=[c1,c2,...cm]表示对应特征码字集F的权值,*表示元素间相乘,di是局部适配因子,选取di为非线性的表达式,同时引入了最近相似距离distMin作为参考; 

di=exp(-((dist(pi,F)-distMin)/distMin)22σ2)---(5)

dist(pi,F)=[dist(pi,f1),dist(pi,f2),…,dist(pi,fM)]; 

dist(pi,fj)表示pi和fj之间的欧拉距离; 

σ为用于调节权重的系数; 

distMin表示最近相似距离 

distMin=min{dist(pi,f1),dist(pi,f2),…,dist(pi,fM)} 

更进一步,所述步骤4)中,假设训练集中的动作序列X分成了p个片段,对应的动作片段特征表达为H0(X),H1(X)…,Hp-1(X),则整个动作X的特征表达为:H(X)=[H0(X),H1(X)…,Hp-1(X)]。 

当有新的动作序列Y等待分类时,首先进行特征提取,用特征重构方法得到特征词汇表达;然后动作片段划分,用基于时间金字塔的局部匹配模型得到对应片段的特征表达,H0(Y),H1(Y)…,Hp-1(Y);最后依次连接局部特征表达,整个动作Y的特征表达为H(Y)=[H0(Y),H1(Y)…,Hp-1(Y)];在分类过程中,通过直方图相交操作进行测试序列与训练集各类动作的相似度衡量: 

Γ(H(X),H(Y))=Σj=1Mmin(H(X)j,H(Y)j)---(6)

从而确定动作序列Y的分类。 

Y表示新的动作序列; 

H(Y)=[H0(Y),H1(Y)…,Hp-1(Y)]表示整个动作Y的特征表达; 

本发明的有益效果主要表现在:传统的词袋模型实现简单直观,能够识别差异性较大的动作。但由于没有考虑到时空约束,无法识别出相似动作。本文提出了基于时间金字塔的局部匹配窗口的动作识别方法,对传统的词袋模型进行了多方面的改进,增加了时间约束性,提高了动作识别率。在训练过程中,本文用局部训练法取代了传统的整体训练法,提高了特征词汇的表征性。在特征量化阶段,本文用局部线性重构取代了传统的直接量化。在对象特征表达阶段,本文用多个不同动作片段的特征表达取代了传统的整体表达。 

附图说明

图1是基于时空金子塔的动作序列特征表达的示意图。 

图2是测试1的结果示意图。 

图3是测试2的结果示意图。 

图4是测试3的结构示意图。 

具体实施方式

下面结合附图对本发明作进一步描述。 

参照图1~图4,一种基于时间金字塔局部匹配窗口的动作识别方法,包括如下步骤: 

1)从立体相机中获得场景中人的深度图序列,从深度图中提取出3D关节点的位置,用姿态之间的3D位移差作为每帧深度图的特征表达; 

2)用聚类方法对训练集中的描述子进行学习,得到特征集合,并用它对每个描述子进行特征表达,从而得到每帧图像的编码表示; 

3)采用基于时间金字塔的局部匹配模型,对整个动作图像序列进行动作片段划分,并得到每个动作片段的特征直方图表达; 

基于时间金字塔的局部匹配模型的特征匹配过程如下:将整个动作序列划分成不同层的动作片段,并分别对每个动作片段计算特征直方图,假定训练集中有n种动作,每个动作用聚类方法学习得到m个特征码字,那么整个特征码本集有M=nm个特征码字;对于动作片段中的每一个姿态,将其映射到训练得到的M个 离散的特征码字中,得到一个M维的特征向量表达;假定整个动作总共划分为L层,则第一层的特征表达维度为M,第二层的特征表达维度为2M,第L层的特征维度为2L-1M;如果用一个长向量把所有动作片段的特征表达串联起来,则整个动作序列的特征维度为最后在动作之间相似度比较时,对动作的特征表达进行归一化,并用金字塔匹配核进行计算; 

4)用一个长向量把所有片段的特征直方图表达串联起来,就是整个动作的特征表达。 

本实施例中,采用局部训练,首先用K-means聚类方法单独对每一类动作的训练集训练得到特征集合,然后将从所有动作集中学习得到的特征集合组成能够表征整个训练集的动作特征集合,最后将每类动作映射到训练得到的动作特征集合,得到每一类动作模型的特征直方图分布图。用局部训练法得到的拍手、胸前挥手、走路这三个动作的特征直方图分布图,从中可以发现,有80%以上的训练集动作姿态映射到该类动作训练得到的特征集合上,从而显著增加了动作模型之间的差异性。 

特征码本得到后,本文将对每一个姿态描述子进行量化编码。 

P表示从动作序列中获得的姿态特征描述子; 

D表示每个特征描述子的维度为D; 

N表示总特征数 

得到

令训练得到的码本有M个码字,即

这里不同的重构策略将会产生不同的重构结果。 

参考稀疏编码,设计了一种新的编码方式。 

s.t.1TC=1 

C=[c1,c2,...cm]表示对应特征码字集F的权值; 

*表示元素间相乘; 

di是局部适配因子。 

本文选取di为非线性的表达式,同时引入了最近相似距离distMin作为参考。 

di=exp(-((dist(pi,F)-distMin)/distMin)22σ2)---(5)

dist(pi,F)=[dist(pi,f1),dist(pi,f2),…,dist(pi,fM)],dist(pi,fj)表示pi和fj之间的欧拉距离; 

σ为用于调节权重的系数。 

distMin=min{dist(pi,f1),dist(pi,f2),…,dist(pi,fM)}。 

由于高斯函数非线性的特性,当dist(pi,F)与distMin非常接近时,di的值接近于dmax,当dist(pi,F)大于distMin的三倍时,di的值将趋近与0。这为自适应的选取pi的局部邻域提供了解决方案。 

在图像内容分类领域,Grauman等人对传统的词袋模型进行了改进,提出了金字塔匹配核。金字塔匹配核的核心思想是在不同分辨率下计算两个对象对应特征点的匹配情况。在任意固定分辨率下的对应窗口下,两个对象对应相同特征点的个数作为匹配特征点的个数。同时,规定在精细分辨率下得到的匹配对的权值大于在粗糙分辨率下得到的匹配对。 

传统的词袋模型把整个对象看做一个整体,用特征映射的方式得到特征直方图,通过对比两个对象直方图的相似性来判别对象。这种匹配方式具有简单快速的优点,但是直方图得到的是特征集的统计信息,忽略了时间和空间上的约束。这会导致相似动作的误匹配。在进行动作识别过程中,本文将整个姿态作为一个特征词汇,增加了每帧图像空间上的约束。同时,将整个动作序列划分成多个片段,在片段内计算特征集合的直方图分布,从而增加了时间上的约束。 

本实施例使用了基于时间金字塔的局部匹配模型(locality windows matching based on temporal pyrimad,TP-LWM)的划分策略:假定图像分为1,…,L层,第l层包含2l个单元,总共有T=2nl个单元,令和分别代表对象p和q在第l层分辨率下的直方图分布,和表示对象p和q拥有第i个码字的个数; 

因此在第l层分辨率下对象p和q的特征匹配对用直方图相交操作来完成: 

Γ(Hpl,Hql)=Σi=1Tmin(Hpl(i),Hql(i))---(1)

和分别代表对象p和q在第l层分辨率下的直方图分布; 

和表示对象p和q拥有第i个码字的个数; 

T表示总的单元个数; 

在粗糙分辨率下得到的特征匹配对个数需要减去在精细分辨率下得到的匹配点个数,即: 

Kl=Γ(Hpl,Hql)-Γ(Hpl-1,Hql-1)---(2)

Kl表示第l层的匹配点 

同时对第l层得到的匹配点赋予权重那么对象p和q在金字塔匹配下的相似度为: 

S=Γ(Hpl,Hql)+Σi=2l12iKi=12l-1Γ(Hpl,Hql)+Σi=1l-112iΓ(Hpi,Hqi)---(3)

S表示对象p和q在金字塔匹配下的相似度。 

对图像进行划分,并在每个子区域内运用金字塔匹配核计算特征匹配点的个数。受此启发,本文采用时间金字塔匹配的方法来进行动作识别。如图1所示,本文将整个动作序列划分成不同层的动作片段,并分别对每个动作片段计算特征直方图。一般的,假定训练集中有n种动作,每个动作用聚类方法学习得到m个特征码字,那么整个特征码本集有M=nm个特征码字。对于动作片段中的每一个姿态,本文将其映射到训练得到的M个离散的特征码字中,得到一个M维的特 征向量表达。假定整个动作总共划分为L层,则第一层的特征表达维度为M,第二层的特征表达维度为2M,第L层的特征维度为2L-1M。如果用一个长向量把所有动作片段的特征表达串联起来,则整个动作序列的特征维度为 最后在动作之间相似度比较时,本文对动作的特征表达进行归一化,并用金字塔匹配核进行计算。 

通过上文的局部匹配过程,可以得到不同匹配窗口下的特征表达。假设训练集中的动作序列X分成了p个片段,对应的动作片段特征表达为H0(X),H1(X)…,Hp-1(X),则整个动作X的特征表达为:H(X)=[H0(X),H1(X)…,Hp-1(X)]。 

当有新的动作序列Y等待分类时,首先进行特征提取,用特征重构方法得到特征词汇表达;然后动作片段划分,用局部窗口匹配方法得到对应片段的特征表达,H0(Y),H1(Y)…,Hp-1(Y);最后依次连接局部特征表达,整个动作Y的特征表达为H(X)=[H0(Y),H1(Y)…,Hp-1(Y)]。 

在分类过程中,通过直方图相交操作进行测试序列与训练集各类动作的相似度衡量: 

Γ(H(X),H(Y))=Σj=1Mmin(H(X)j,H(Y)j)---(6)

从而确定动作序列Y的分类。 

本实施例中,基于TP-LWM的实验结果:将数据库中的20个动作分成3个动作子集,每个子集包含8种不同的动作(见表1)。在测试1中,1/3的样本作为训练集,其余的作为测试集。在测试2中,2/3的样本作为训练集,其余的作为测试集。在测试3中,一半对象的动作样例作为训练集,另一半对象的动作样例作为测试集。 

在局部重构过程的权值选取中,σ越大,权值曲线越平缓,对应的特征词汇重构权值越大;σ越小,权值曲线越瘦高,对应的特征词汇重构权值越小。经实验测试检验,当σ=10.0最适合姿态的重构。 

表1 MSR Action3D数据库中的三个动作子集库 

动作集1(AS1) 动作集2(AS2) 动作集(AS3) 胸前挥手 扬起手臂挥手 向上扔 敲打 前踢 挥拳 画叉 侧踢 向上扔 画勾 慢跑 拍手 画圈 挥舞网球拍 弯腰 双手挥动 发球 发球 前踢 挥动高尔夫球 捡起投掷 侧面击打 捡起投掷

所划分的层次越高,匹配效果越好。但是层级的增加也带来了大量的时间匹配代价。由于TP-LWM是基于词袋模型,特征词汇表的大小也将影响动作序列的特征表达,进而影响最后的识别情况。在训练过程中,本文分别对训练集中的每个动作提取5,10,15个特征词汇,由于每个训练集有8个动作,则表尺寸M=5×8,10×8,15×8。在实验过程中,金字塔层级分别选取L=1,2,3,4。 

表2 M=80时,TP-LWM算法在MSR Action3D数据库上的识别结果 

表2展示了特征词汇数M=80时,TP-LWM不同层次的算法性能。当L=1时,TP-LWM就弱化为全局型的词袋模型。从表4-2可以看出,绝大多数情况下,当 所划分的层次越细,动作序列内的时间约束性就越强,动作识别率也就越高。如L=3比L=2的性能有了较大的改善。但是与L=3相比,L=4的识别率并没有很大的改善,在测试3这组测试中,性能反而有所下降。这主要是与数据库中动作序列的长度有关。数据库中的很多动作经数据过滤平滑操作后,往往只有20~35帧。当层次划分过多时,由于局部子窗口过小而导致较少的匹配点对,这会影响最终的识别率。同时随着划分层次的增加,测试序列与训练集中动作模型的直方图相交操作的计算量也将成指数级上升。L=1时,动作特征表达长度为M;L=2时,动作特征表达长度为3M;L=n时,动作特征表达长度为(2n-1)M。尽管在划分层次最多时,部分测试组的性能有所下降,但是L=3在所有测试组的性能均比L=2有很大的提高,这体现了局部窗口匹配性能的优越性。 

此外,特征词汇的尺寸大小对算法性能的影响。表3展示了在L=3层次下,不同M对算法性能的影响。与M=40相比,M=80和M=120在所有测试组内的识别率均有很大的改善,这体现了强特征集合在刻画动作特征的优势。但是并不是特征词汇表越大越好,相比于M=80,M=120的识别率并没有很大的提升,相反在部分测试组的性能反而有所下降。由于经过滤波平滑处理,MSR Action3D数据库上的动作序列帧数为20~35之间,M=120意味着每个动作需要15个特征词汇集合。过多的特征词汇会弱化动作特征的刻画。 

根据实验,得出层次L与特征词汇表尺寸M的选取,跟动作序列的大小有关。假定数据库动作序列长为n,数据库中总共有t类动作,每类动作选取m个特征词汇,则特征词汇表尺寸M与划分层次L应满足下列的关系: 

2n2L3

2nm3---(7)

M=t×m 

表3 L=3时,不同M对TP-LWM算法性能的影响 

本实施例的方案,引入了动作片段划分过程,通过在局部窗口内进行匹配,增加了算法的时间约束性,提高了算法的识别性能。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号