一种基于动作字典学习的人体动作检测方法

文档序号:6625386阅读:550来源:国知局
一种基于动作字典学习的人体动作检测方法
【专利摘要】本发明提供一种基于动作字典学习的人体动作检测方法。在训练阶段,利用局部特征表示方法提取不同视频片段中的人体动作特征,通过训练学习一个具有较强判别力的人体动作字典;在对动作字典进行建模时不仅考虑了重构误差,还考虑了新的误差项使得建模更优;在测试阶段,时空滑动窗口遍历整段视频得到的滑动窗口的稀疏编码,并根据稀疏编码中对于不同字典项的响应值来判断时空滑动窗口中是否包含某一人体动作。本发明不需要负样本即可训练得到人体动作字典,训练过程简单快速。
【专利说明】一种基于动作字典学习的人体动作检测方法

【技术领域】
[0001]本发明属于计算机视觉技术,涉及人体动作检测技术。

【背景技术】
[0002]人体活动分析是计算机视觉领域中最活跃的研究主题之一,其核心是利用计算机视觉技术从图像序列中检测、跟踪、识别人并对其行为进行理解与描述。基于计算机视觉的人体动作检测方法是人体运动分析研究的核心技术,它包括对视场中的人体进行检测,获取反映人体动作的参数,以达到理解人体动作的目的;在智能监控、智能家电、人机交互、基于内容的视频检索和图像压缩等领域有着广阔的应用前景和极大的经济价值与社会价值。在实际应用中,受光照变化、遮挡、复杂场景、视角变化、尤其是个体差异,如表情、姿态、运动、衣着等不利因素的制约,使得人体动作检测极具困难。详见文献:Aggarwal J K, Ryoo M S.Human activity analysis:A review[J].ACM ComputingSurveys (CSUR),2011, 43 (3): 16.江焯林.基于计算机视觉的人体动作检测和识别方法研究[D].华南理工大学博士学位论文,2010.
[0003]人体动作检测的方法主要有序列法、时空体法和基于特征包(Bag of Feature,B0F)模型的方法。人体动作检测主要包括两个步骤:动作表示和动作检测。其中动作表示对人体动作信息进行编码,其主要方法分为全局特征表示、局部特征表示和基于人体模型的表示;动作检测方法主要有直接分类法、模板匹配法、三维分支定界法。详见文献=GaidonA, Harchaoui Z, Schmid C.Actom sequence models for efficient act1n detect1n[C]//Computer Vis1n and Pattern Recognit1n, IEEE Computer Society Conferenceon.1EEE,2011:3201-3208.
[0004]全局特征表示方法将人体动作观测量编码为一个整体。全局特征表示可看作是自顶而下的方法,首先对人体进行定位,然后利用人体外接矩形来定义一个兴趣区域,接着对该兴趣区域进行整体信息编码,以表示人体动作。常见的全局特征表示方法主要有轮廓、光流和时空形状。全局特征中充分利用了人体形状信息和运动信息,在检测过程中往往作为模板使用,利用序列法或者时空体法,与视频序列中提取的全局特征进行相似度比较,相似度较大的即为检测结果。全局特征的缺点是过分依赖于精确定位、背景剪除和跟踪的结果,且对视角变化、噪声和遮挡比较敏感。详见文献:Yilmaz A, Shah M.Act1ns sketch:Anovel act1n representat1n[C]//Computer Vis1n and Pattern Recognit1n, IEEEComputer Society Conference on.1EEE,2005, 1:984-989.
[0005]局部特征表示方法将人体动作表示成一个独立的图像块(patch)或者图像立方体(cuboid)集合。局部特征表示方法可看作是自底而上的方法,首先利用兴趣点检测器检测出时空兴趣点,然后以这些时空兴趣点为中心提取二维图像块或者三维图像立方体,并进行局部特征描述,最终从图像块或者图像立方体提取信息,从而得到一个人体动作表示。时空兴趣点的提取方法主要有:Harris3D,Cuboids和Hessian ;围绕时空兴趣点进行局部特征描述可采用的方法主要有:H0G/H0F,H0G3D和扩展SURF。相对于全局特征表示,局部特征表示具有较好的旋转、平移和缩放等不变性,可有效降低复杂背景、人体姿态、视角变化以及遮挡等不利因素的影响,其缺点是依赖于大量时空兴趣点,且有时需要预处理来补偿摄像机运动产生的误差。详见文献:Wang L M, Qiao Y, Tang X.Mot1nletsiMid-Level3D Parts for Human Mot1n Recognit1n[C]//Computer Vis1n and PatternRecognit1n, IEEE Computer Society Conference on.1EEE, 2013.
[0006]基于人体模型的表示的主要思想是:人体模型是由骨骼支撑,骨骼架构可以看作是由若干人体部件链接而成的动力系统,该系统的运转形成了不同的人体行为。基于人体模型的表示方法试图提出一种富含信息的人体动作表达方式,学习视频中各个人体组成部分的结构。该方法的内在缺陷是过于依赖目标和动作检测算法,因而这些方法不适用于自然场景下的视频。也有人尝试使用时空patch替代了人体部件,但是选择时空patch的标准以及需要多少时空patch捕捉到人体动作的所有可能变化尚未解决。详见文献:Tian Y, Sukthankar R, Shah M.Spat1temporal Deformable Part Models for Act1nDetect1n[C]//Computer Vis1n and Pattern Recognit1n, IEEE Computer SocietyConference on.1EEE, 2013.


【发明内容】

[0007]本发明所要解决的技术问题是,提供一种重构误差较小、判别性能强的人体动作检测方法。
[0008]本发明为解决上述技术问题所采用的技术方案是,一种基于动作字典学习的人体动作检测方法,包括以下步骤:
[0009]步骤I)采集训练样本,将样本中的彩色图像转化为灰度图像,并统一视频片段的空间分辨率和时长;
[0010]步骤2计算每段视频的局部三值模式LTP特征,得到一个高维特征矢量y0=(v?..., v?)r e K"; Ir表示η维特征空间,η表示高维特征矢量的总维数,Ot表示转置;
[0011]步骤3)将每段视频的LTP特征左乘一个随机度量矩阵JeKmxn进行降维,即y =Ay0,将其从η维降到m维,降维后的特征构成特征矩阵Y ; 表示mXn随机度量矩阵为元素组成的线性空间,其中随机度量矩阵A各元素au服从均值为0,方差为I的高斯分布;m << η, <<表示远小于,满足m比η至少小一个数量级为远小于;
[0012]步骤4)动作字典模型训练:
[0013]4-1)动作字典D表示为下式:
[0014]
D=[DrD2,.-,Dm]
—\?ΙΛ , Cil ? dLL, i dk l, dk 2,..., dk L,-",dM l, dM 2,..., dU L\ e K
[0015]其中,动作字典D是由M类人体动作对应的M个子字典组成,{AC,是第k类人体动作对应的子字典,K表示动作字典D中所有字典项数目,L = Κ/M为各个子字典中的字典项数目,丨<}^1是字典项,K >> M, >>表示远大于,满足K比M至少大一个数量级为远大于;
[0016]建立动作字典学习模型,如下式:
[0017](DU X)=m min||y - DX^ + a\Q — ΛΧζ +β\Η - WX^ sJ.V/ ||α,||()< T
DWA.X~
[0018]其中,arg min表示取目标函数取最小值时的参数值,Y为特征矩阵,D表示待学习的动作字典,W表示分类器参数,A表示随机度量矩阵,X表示稀疏矩阵,稀疏矩阵中的列xjt应为样本特征的稀疏编码,i = I,2-,N, r表示KXN维线性空间,N表示训练样本总数,α、β为权重系数,H为标示矩阵,标示矩阵中每列hi分别对应一类人体动作的标示向量,H= Di1, -,hN] e RmXN,Q为判别矩阵,判别矩阵中每列分别对应一个训练样本属于某类人体动作的判范数别向量,Q= [^-,Qn] e Rkxn, II.I |2表示2范数,s.t.表示约束条件,T表示稀疏度阈值,V表示任意号,Μ.I Itl表示Itl范数;
[0019]4-2)利用基于核奇异值分解K-SVD算法通过迭代求解:
[0020]〈".,Υ〉= ?—η||Γ-叫I; s.t.V/ ||a-,||()< T
D\X"
[0021]=;
[0022]经过有限步迭代求得中间量D'后,将中间量D'带入动作字典学习模型得到最终的最优化的动作字典D、随机度量矩阵A,分类器参数W ;
[0023]其中,K-SVD算法中迭代运算初始值通过如下方法确定:
[0024]从M类人体动作中随机抽取样本,利用K-SVD算法得到M类人体动作各自的初始字典{沿二,从而构造出动作字典的初值AI ;
[0025]根据每个字典项的标号以及训练样本的类标号确定判别矩阵Q、标示矩阵H ;再利用正交匹配跟踪算法得到训练样本的初始稀疏矩阵X ;
[0026]随机度量矩阵的初值A。= (ΧΧΤ+ λ 2I) -1XQt ;
[0027]分类器参数的初值\ = (ΧΧΤ+ λ J) -1XHt ;
[0028]步骤5)人体动作检测:
[0029]时空滑动窗在待测视频序列中滑动,分别统计时空滑动窗中图像对应的稀疏编码在动作字典中各子字典中字典项上的响应之和,判断最高的字典项的响应值是否大于等于阈值,如是,则将响应值最高且超过阈值的字典项所对应的类别作为当前人体动作检测结果,否则,判断当前无人体动作。
[0030]本发明提供一种基于动作字典学习的人体动作检测方法。在训练阶段,利用局部特征表示方法提取不同视频片段中的人体动作特征,通过训练学习一个具有较强判别力的人体动作字典,其中不同的人体动作对应动作字典中不同的字典项;在对动作字典进行建模时不仅考虑了重构误差,还考虑了新的误差项使得建模更优;
[0031]在测试阶段,给定一段视频,时空滑动窗口遍历整段视频,基于训练得到的动作字典计算时空滑动窗口的稀疏编码,并根据稀疏编码中对于不同字典项的响应值来判断时空滑动窗口中是否包含某一人体动作,从而完成人体动作检测任务。该方法不需要负样本即可训练得到人体动作字典,训练过程简单快速,在光照变化、遮挡、复杂背景和视角变化等情况下具有良好的检测效果,且能够近似满足实时性要求。
[0032]本发明的有益效果是,字典项与人体动作之间具有明确的对应关系,可解释性好;利用训练得到的动作字典能够很好地表达和重构不同种类的人体动作,重构误差小;利用由动作字典得到的稀疏编码,可以判别出时空滑动窗口中是否包括某类人体动作,具有较强的判别力。

【专利附图】

【附图说明】
[0033]图1人体动作、子字典和字典项的对应关系。

【具体实施方式】
[0034]为了方便地描述实施例内容,首先对一些术语进行定义。
[0035]定义1:局部三值模式(Local Trinary Patterns, LTP)。它是一种局部特征表示方法,是局部二值模式(Local Binary Patterns, LBP)在时空域的扩展,通过对运动图像序列进行帧间编码有效捕捉运动信息,从而避免进行任何光流的复杂计算过程,可看作是一种时空局部纹理描述算法。通过提取包含某种人体动作视频片段的LTP特征可以得到一个一维特征向量。该局部特征表示方法具有判别能力强、计算速度快等优点。详见文献:Yeffet L, Wolf L.Local trinary patterns for human act1n recognit1n [C] //Computer Vis1n, Internat1nal Conference on.1EEE,2009:492-497.
[0036]定义2:随机投影。它是一种降维技术,利用随机度量矩阵将稀疏信号或可压缩信号(如图像、视频)从高维空间投影到低维空间。详见文献:Baraniuk R G, WakinM B.Random project1ns of smooth manifolds[J].Foundat1ns of computat1nalmathematics, 2009, 9(I):51-77.
[0037]定义3:动作字典学习。不妨将特征矩阵记为FeRmxiv,Y的任意列代表一个m维LTP特征记作.V; e Rm,j’= 1,...,#。设Z) e> 7?)是过完备字典,也即是动作字典,由一组归一化基向量WjJL1构成。在训练阶段,如何设计出过完备字典D使得L仅仅由少量字典项的线性组合较好重构,即为动作字典学习问题,如下式。其中Il.I ^是、范数,表示稀疏向量Xi中非零元的个数,T为Xi满足的稀疏度阈值。
[0038]mm士丨s1.V/ 丨卜,'|0< Γ
[0039]定义4:K-SVD算法。它是一个通过迭代求解过完备字典的经典解法,迭代速度快,且对信号的重构误差较小。详见文献:Aharon Mj Elad Mj Bruckstein A.K-SVD:Design ofdict1naries for sparse representat1n[J].Proceedings of SPARS, 2005, 5:9-12.
[0040]定义5:稀疏编码。固定动作字典D,求解测试样本ytest对应的稀疏向量&st,使得Ytest ^ Dxtest成立,称为ytest在字典D下的稀疏编码,如下式。
[0041]min|||v^ ~Dxtestf2 s.t.V/ ||xtoi||0< T
[0042]定义6:0MP算法。其全称是正交匹配追踪,是求解稀疏编码问题的典型解法之一,具有计算复杂度低,收敛速度快,能够较好地估计全局最优解等优点。详见文献=TroppJ A.Greed is good:Algorithmic results for sparse approximat1n[J].1nformat1nTheory,IEEE Transact1ns on,2004,50 (10):2231-2242.
[0043]定义7:时空滑动窗。滑动窗一般指目标检测过程中,固定尺寸的矩形框在图像中遍历从而定位目标。时空滑动窗是滑动窗从二维情形推广到三维的结果。在连续视频中检测出人体动作,需要固定尺寸的时空滑动窗遍历视频序列,以定位人体动作。
[0044]步骤1:采集训练样本。训练正样本分别来自于互联网和电视节目的视频片段,所选取的样本中仅考虑了单个人体动作,并不涉及多个人体动作的情况,同时兼顾到光照变化、复杂场景、视角变化、个体差异等影响因素。
[0045]步骤2:图像预处理。预处理包括以下两个主要步骤:彩色图像转化为灰度图像;统一视频片段的空间分辨率和时长。
[0046]步骤3:计算每段视频的LTP特征,得到一个高维特征矢量Ye=O^1,…,凡f eIT。
[0047]步骤4:特征降维。采用随机投影方法,将LTP特征左乘一个随机度量矩阵JelR自进行降维,即y = Aytl,将其从η维降到m维(m << η),其中随机度量矩阵各元素Bij服从均值为0,方差为I的高斯分布,即au?N(0,I),降维后的特征构成特征矩阵Y。
[0048]步骤5:动作字典模型的建立与求解。
[0049]步骤5-1:动作字典模型的建立;动作字典的形式如下式:
[0050]
及,..-JJm]=[^ι,ι, 4,2,…>dk2,..., dkL,---,dMV dM2,…,dML] eM ’(K》Μ)
[0051]其中,动作字典D是由M类人体动作对应的M个子字典组成,IAXi1是第k类人体动作对应的子字典,L= [Κ/M]为各个子字典中的字典项数目,.是字典项。人体动作、子字典和字典项三者的对应关系如图。将动作字典学习建模为最优化问题,如下式:
[0052](D,A > = argmin||y - DX^ + a\Q - ΛΧ?+β\Η - WX^ s.L V/ ||x,||()< T
DJV,A,X'
[0053]其中目标函数的第一项为重构误差,第二项为稀疏编码判别误差,第三项为分类误差。D是待学习的动作字典;稀疏矩阵X e Rkxn的列对应为样本特征的稀疏编码;W表示分类器参数;α,β是标量,代表目标函数中第二项和第三项的权重;矩阵H =IX,…,hN] e RmXN的每列对应为某类人体动作的标示向量Iii = [O,..., O, I, O,..., Ojt ;Q=[^-,Qn] e Rkxn是训练样本对应稀疏编码的判别矩阵,若第i个训练样本属于第k类人体动作,则该列判别向量
cI ~ Vl\.\,..,(/l-/..,...,(h.\,cILI''..,(/:./.,._ ',C1\1.\,_.,^M./J — [(),(),._.,(),._.,1,1,._.4,.._,(),(),...,()] (Ξ R,
线性变换矩阵A能够将稀疏矩阵X变换到判别矩阵Q。
[0054]步骤5-2:动作字典模型的求解;无法对上式直接求解,因此变形为如下优化问题:
[0055]〈",A,〉= argmin|m||; s,t, V/'丨卜,^ ,
D\X_
[0056]其中F'=为已知量,D'=是需要训练的未知参数。利用K-SVD算法可以解出该优化问题,并求出所有参数的全局最优解。由于K-SVD算法是一种迭代算法,所以需要确定迭代初始值Dtl,Atl,W。。具体方法如下:从M类人体动作中随机抽取样本,利用K-SVD算法得到M类人体动作各自的初始字典对};=!,从而构造出初始字典AI。根据每个字典项的标号,以及训练样本的类标号,就可以确定判别矩阵Q ;再利用OMP算法得到训练样本的初始稀疏矩阵X ;初始值Atl = (ΧΧΤ+ λ 2I) -1XQt,初始值Wtl= (XXhA1Ir1XHL经过有限步迭代求得字典D',从而可得步骤5-1中优化问题的最优参数D,A,W。
[0057]步骤6:人体动作检测。给定一段视频,时空滑动窗在视频序列中滑动,如果窗口中不包括训练集的人体动作类,则该窗口 LTP特征的稀疏编码在所有的字典项上均有可能响应;如果滑动窗口中包含某类人体动作,则该窗口 LTP特征的稀疏编码会在该类人体动作对应的字典项上有较强的响应,而在其它人体动作对应的字典项上的响应较弱。在检测时,分别统计时空滑动窗的稀疏编码在各类人体动作对应的字典项上的响应之和,如果在某类人体动作对应的子字典上的响应最大且大于某一阈值,则判定为发生该类人体动作,从而完成人体动作检测任务。
[0058]为了验证本发明效果,使用Matlab、C/C++语言,在硬件平台:Intel core2E7400+4G DDR RAM,软件平台:Matlab2012a,VisualStd12010上进行仿真,具体实施步骤和参数设置以下:
[0059]步骤1:采集训练样本。考虑到光照变化、复杂场景、视角变化、个体差异等影响因素,选取的训练样本主要包括跑步、漫步、鼓掌、跳跃、起立、坐下等6种不同人体动作,截取的视频片段共计300个,片段时长5s-20s不等,每类动作对应50个片段。
[0060]步骤2:图像预处理。每段短视频时间长度固定为400毫秒,共包含10帧图像;采集的300个视频片段共分割出3000段短视频。将每帧的彩色图像转化为灰度图像,空间分辨率统一缩放为320像素X 240像素,也即是说每段视频的数据大小为320X240X10。
[0061]步骤3:计算每段短视频的LTP特征。具体参数设置如下:每帧图像划分为3X3块区域,通过短视频的第1,3,5,7,9帧分别计算第3、5、7帧的LTP特征,LTP特征阈值选择为800,生成一个13824X1的特征矢量,最后得到未降维的特征矩阵大小为13824X3000。
[0062]步骤4:特征降维。利用随机投影算法,左乘一个1500X13824的随机度量矩阵,将特征矩阵的大小降维到1500X3000,该矩阵即为特征矩阵Y。
[0063]步骤5:动作字典模型的建立与求解。稀疏编码判别误差和分类误差两项的权重系数分别为α =0.3,β = 0.1,稀疏度阈值T = 10,训练得到的动作字典大小为1500X3300,其中6类人体动作所属的训练样本对应于6个子字典,即M = 6 ;每个子字典中字典项数目为550个,即L = 550。
[0064]步骤6:人体动作检测。测试视频为两段录制视频,分为室内、室外两种情况,视频中包括5个人的动作,5个人在视频中的衣着、视角、尺度各不相同,动作类别包括跑步、漫步、鼓掌、跳跃、起立、坐下等6种人体动作,视频时长约为18分钟。时空滑动窗尺寸为320像素X 240像素X 400毫秒。评价指标采用0V20标准:若检测结果的窗口与groundtruth重合20%,则检测正确,否则检测错误。在召回率为90%的情况下,检测精度为89.2% ;最终平均检测精度为86.6%,这表明该方法具有良好的检测效果。
[0065]采用本发明的方法,首先在Matlab平台上进行算法仿真,然后移植到C/C++平台上。在分辨率为320像素X240像素的图像序列中,Matlab平台上该方法的处理速度为7帧/秒,C/C++平台上该方法的处理速度达到15帧/秒,可以近似满足实时性的要求。
【权利要求】
1.一种基于动作字典学习的人体动作检测方法,其特征在于,包括以下步骤: 步骤I)采集训练样本,将样本中的彩色图像转化为灰度图像,并统一视频片段的空间分辨率和时长; 步骤2计算每段视频的局部三值模式LTP特征,得到一个高维特征矢量yQ =(Y1,...,yn)T;n表示高维特征矢量的总维数,Ot表示转置; 步骤3)将每段视频的LTP特征左乘一个随机度量矩阵A进行降维,即y = Ay0,将其从η维降到m维,降维后的特征构成特征矩阵Y ;其中随机度量矩阵A各元素au服从均值为0,方差为I的高斯分布<< η, <<表示远小于,满足m比η至少小一个数量级为远小于;步骤4)动作字典模型训练: 4-1)动作字典D表示为下式:
D — [D1, D2,…,Dm] — [d1;1, d1;2,..., d1;L,..., dk;1, dk;2,..., dk;L,..., dM;1, dM;2,..., dM;L]其中,动作字典D是由M类人体动作对应的M个子字典组成,{A 是第k类人体动作对应的子字典,K表示动作字典D中所有字典项数目,L = Κ/M为各个子字典中的字典项数目,{dkj}Lj=i是字典项,K >> M,>>表示远大于,满足K比M至少大一个数量级为远大于;建立动作字典学习模型,如下式:
(D.W,,1 }=argmin||Y -DXf + a\Q-AXf+p\H - WX.s/.V/ |x,.||(4 T
DW.A.X 其中,argmin表示取目标函数取最小值时的参数值,Y为特征矩阵,D表示待学习的动作字典,W表示分类器参数,A表示随机度量矩阵,X表示稀疏矩阵,稀疏矩阵中的列Xi对应为样本特征的稀疏编码,i = 1,2...,N, N表示训练样本总数,α、β为权重系数,H为标示矩阵,标示矩阵中每列Iii分别对应一类人体动作的标示向量,H = [h1;…,hN] e RmXN, Q为判别矩阵,判别矩阵中每列分别对应一个训练样本属于某类人体动作的判范数别向量,Q =[q1,-,qN] e Rkxn, N.I |2表示2范数,s.t.表示约束条件,T表示稀疏度阈值,V表示任意号,11.11。表不10范数; 4-2)利用基于核奇异值分解K-SVD算法通过迭代求解:
(D'', } = arg min || Y' - D1Xt s.t.V/.|1\-;.||0< T.D\X", 已知量r =丑?,未知中间量; 经过有限步迭代求得中间量d'后,将中间量d'带入动作字典学习模型得到最终的最优化的动作字典D、随机度量矩阵A,分类器参数W ; 其中,K-SVD算法中迭代运算初始值通过如下方法确定: 从M类人体动作中随机抽取样本,利用K-SVD算法得到M类人体动作各自的初始字典(DX1,从而构造出动作字典的初值A) =101,0:,...,0;, I; 根据每个字典项的标号以及训练样本的类标号确定判别矩阵Q、标示矩阵H ;再利用正交匹配跟踪算法得到训练样本的初始稀疏矩阵X ; 随机度量矩阵的初值Atl = (ΧΧΤ+ λ 2I) -1XQt ; 分类器参数的初值W。= (ΧΧΤ+ λ JK1XHt ; 步骤5)人体动作检测: 时空滑动窗在待测视频序列中滑动,分别统计时空滑动窗中图像对应的稀疏编码在动作字典中各子字典中字典项上的响应之和,判断最高的字典项的响应值是否大于等于阈值,如是,则将响应值最高且超过阈值的字典项所对应的类别作为当前人体动作检测结果,否则,判断当前无人体动作。
【文档编号】G06K9/62GK104200203SQ201410437190
【公开日】2014年12月10日 申请日期:2014年8月30日 优先权日:2014年8月30日
【发明者】解梅, 蔡勇, 何磊, 蔡家柱 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1