基于时间依赖约束下深度非负矩阵分解的行为识别方法与流程

文档序号:12305951阅读:325来源:国知局

本发明属于图像处理技术领域,涉及一种人体行为识别方法,可用于智能视频监控和人机交互。



背景技术:

人体行为识别技术具有广泛的应用前景和非常可观的经济价值,涉及的应用领域主要包括:视频监控、运动分析、虚拟现实等。科研人员已经对人体行为识别的相关技术开展了大量深入的研究,积累了丰富的研究成果,但就整体而言,人体行为识别这一研究领域目前仍处于基础研究阶段,还存在许多关键问题和技术难点亟待解决,例如研究具有高识别率、高鲁棒性,较为简洁的行为表征方式。一些学者发现视频的空时信息有助于提高行为的识别率,如何有效的从视频数据中获取空时信息就成为行为识别领域的研究重点。

(1)luoj,wangw,qih.spatio-temporalfeatureextractionandrepresentationforrgb-dhumanactionrecognition.patternrecognitionletters,2014,50(c):139–148。这种方法提出了一种中心对称局部运动三元模式(cs-mltp)用来描述在时间和空间上的梯度特征,该方法提取的特征能够保持良好的空间、时间信息,并且近似误差降低,但对于有噪声的视频,在提取特征过程中将产生更多的噪声点,严重影响视频特征提取的准确度。

(2)benaounn,mejdoubm,benamarc.graph-basedapproachforhumanactionrecognitionusingspatio-temporalfeatures.journalofvisualcommunication&imagerepresentation,2014,25(2):329-338。这种方法将特征结构表示图和词袋模型相结合对特征的空时关系进行建模,能够有效地抑制视频噪声和遮挡所带来的影响,然而该方法仅考虑了子图的精确匹配,并发现出现频率较高的子图,但是所得到的空时特征判别性较弱。

非负矩阵分解nmf是在矩阵中所有元素为非负条件下的一种矩阵分解方法,能够大大降低数据特征的维数,分解特性合乎人类视觉感知直观体验,分解结果具有可解释和明确的物理意义,自提出以来受到人们的广泛关注,已成功应用于模式识别、计算机视觉和图像工程等多个领域。

目前已提出的基本非负矩阵分解方法:

(3)leedd,seunghs.learningthepartsofobjectswithnonnegativematrixfactorization.nature,1999,401(6755):788-791。提出一种新的矩阵分解方法—非负矩阵分解。它能够把一个矩阵的所有元素均为非负的非负矩阵分解为两个非负矩阵的乘积,同时实现非线性的维数约减。然而该基本非负矩阵分解方法应用于视频特征提取时,仅考虑视频各帧的空间特征,忽略视频的空时特征。



技术实现要素:

本发明目的是针对上述已有技术的不足,提出一种基于时间依赖约束下深度非负矩阵分解的行为识别方法,以提取视频的空时特征,提高行为识别的准确率。

实现本发明的技术关键是通过添加时间依赖约束,构造时间依赖约束非负矩阵分解,并以此为算法单元构造时间依赖约束下深度非负矩阵分解框架,进行视频空时特征提取,具体实现步骤包括如下:

(1)对于原始视频o,提取每帧的运动显著性区域,构成视频运动显著性区域v={v1,v2,…,vi,…,vz},其中,vi表示第i帧的运动显著性区域,i=1,2,…,z,z表示视频的帧数;

(2)将视频运动显著性区域v的每s帧划分为一段,并遍历转化为非负矩阵集合x={x1,x2,…,xq,…,xns},其中,xq表示第q段显著性区域构成的非负矩阵,q=1,2,…,ns,ns表示一个视频分段的段数;

(3)添加时间依赖约束,构造时间依赖约束非负矩阵分解的目标函数d:

其中,g为非负矩阵,f为基矩阵,h为系数矩阵,λ和η分别为时间依赖项和稀疏项调节参数,wu是对应于间隔帧数集合u中任意元素u的权值列向量,u∈u,因此,对于应间隔帧数集合u,会构成一个权值矩阵w=[w1,w2,...,wu,...,wg],权值可以按行通过向量自回归方法计算,g表示最大间隔帧数,g=max(u),diag(wu)是将权值列向量对角化为一个对角矩阵,(·)t表示向量或矩阵的转置,||·||2,1表示l2,1范数,pu=pg-pu∈rn×(n-g-1),pg为水平偏移矩阵算子,pu为水平偏移矩阵算子,i(n-g-1)×(n-g-1)为(n-g-1)×(n-g-1)的单位阵,0(g+1)×(n-g-1)为(g+1)×(n-g-1)的全0矩阵;

(4)利用时间依赖约束非负矩阵分解构造深度为l的时间依赖约束下深度非负矩阵分解框架,并利用该框架对第q个视频片段的非负矩阵xq进行分解,得到l个系数矩阵h(l),l=1,2,…,l,其中,l为分解层数索引;

(5)对系数矩阵h(l)按行进行归一化并将归一化后的行串接,得到整个输入数据的空时特征输出k=1,2,…,rl,rl为第l层非负矩阵分解维数,表示第l层系数矩阵的第k行;

(6)对非负矩阵集合x的非负矩阵逐个分解,即对于每个非负矩阵均采用步骤(4)-步骤(5)的操作,得到整个视频的空时特征输出:

其中featq为第q个视频片段空时特征,(·)t表示向量或矩阵的转置,q=1,2,…,ns;

(7)按照步骤(4)-步骤(6)的过程对所有样本视频进行空时特征提取,并划分为训练集dtr和测试集dte,使用词袋模型获得训练集dtr的直方图向量ntr和测试集dte的直方图向量nte;

(8)使用训练集的直方图向量ntr训练svm分类器,将测试集的直方图向量nte输入到训练好的svm中,输出测试集dte对应的测试样本所属的行为类别。

本发明与现有技术相比具有以下优点:

1)本发明由于构造了时间依赖约束非负矩阵分解,故可在保留视频空间特征的同时也保留视频的时间特性;

2)本发明由于采用深层nmf分解,通过逐层补充完善,能够学习更具表达性的空时特征,从而进一步提高获得空时特征的表达能力。

附图说明

图1是本发明的实现流程图。

具体实施方式

参照图1,本发明的实现步骤如下:

步骤1提取原始视频o的运动显著性区域v。

(1a)构造大小为5×5的高斯滤波器,并对原始视频o={o1,o2,…,oi,…,oz}进行高斯滤波,对应得到滤波后的视频b={b1,b2,…,bi,…,bz},其中,bi表示滤波后的第i个视频帧,i=1,2,…,z;

(1b)利用如下公式计算第i个视频帧oi的运动显著性区域vi:

vi=|moi-bi|,

其中,moi为第i个视频帧oi的像素几何平均值;

(1c)对视频o中所有帧重复步骤(1b)中的操作,得到整个视频运动显著性区域v={v1,v2,…,vi,…,vz}。

本步骤显著性提取方法来源于2009年radhakrishnaachanta等人发表的“frequency-tunedsalientregiondetection”一文,所用方法不限于此,也可以使用其他显著性提取方法,如2015年ming-mingcheng等人发表的“globalcontrastbasedsalientregiondetection”等。

步骤2将视频运动显著性区域v的每s帧划分为一段,并遍历转化为非负矩阵集合x={x1,x2,…,xq,…,xns},其中,xq表示第q段显著性区域构成的非负矩阵,q=1,2,…,ns,ns表示一个视频分段的段数。

步骤3添加时间依赖约束,构造时间依赖约束非负矩阵分解的目标函数d。

在添加时间依赖约束项的过程中,本发明重点考虑下面三个方面:

1)不仅考虑相邻两帧之间的关系,还考虑间隔1帧或多帧之间的关系,为此本发明设定间隔帧数集合u,而且不同间隔下的两帧图像对与特征提取的贡献不同,赋予不同的权系数;

2)为了更多地保留视频行为的运动细节信息,利用投影方式更加充分地利用原始数据;

3)对系数矩阵向量与投影向量求差值,以减小重构误差,同时对系数矩阵施加l2,1范数约束,使得分解结果在保持稀疏的基础上更具表达性,由此构造出时间依赖约束非负矩阵分解的目标函数d:

其中,g为非负矩阵,f为基矩阵,h为系数矩阵,λ和η分别为时间依赖项和稀疏项调节参数,wu是对应于间隔帧数集合u中任意元素u的权值列向量,u∈u,因此,对于应间隔帧数集合u,会构成一个权值矩阵w=[w1,w2,...,wu,...,wg],权值可以按行通过向量自回归方法计算,g表示最大间隔帧数,g=max(u),diag(wu)是将权值列向量对角化为一个对角矩阵,(·)t表示向量或矩阵的转置,||·||2,1表示l2,1范数,pu=pg-pu∈rn×(n-g-1),pg为水平偏移矩阵算子,pu为水平偏移矩阵算子,i(n-g-1)×(n-g-1)为(n-g-1)×(n-g-1)的单位阵,0(g+1)×(n-g-1)为(g+1)×(n-g-1)的全0矩阵;

步骤4利用时间依赖约束非负矩阵分解构造深度为l的时间依赖约束下深度非负矩阵分解框架。

(4a)对时间依赖约束非负矩阵分解的目标函数d进行优化求解;

(4a1)根据非负矩阵g和分解维数r确定基矩阵f和系数矩阵h的大小,非负矩阵g的大小为m×n,基矩阵f的大小为m×r,系数矩阵h的大小为r×n;

(4a2)随机初始化基矩阵f和系数矩阵h,使得基矩阵f中的任意元素fap∈[0,1],a=1,2,...,m,p=1,2,...,r,系数矩阵h的任意元素hpc∈[0,1],c=1,2,...,n,其中,fap表示基矩阵f中第a行第p列的元素,hpc表示系数矩阵h中第p行第c列的元素;

(4a3)对基矩阵f中的元素进行更新:

对系数矩阵h中的元素进行更新:

其中,为迭代t-1次后基矩阵ft-1第a行第p列的元素,t∈[1,iter],iter为预先定义的最大迭代次数,为迭代t-1次后系数矩阵ht-1第p行第c列的元素,是||ht-1||2,1关于系数矩阵ht-1求导的中间值,表示矩阵ht-1的第r行,(·)t表示向量或矩阵的转置;

(4a4)当迭代次数t达到iter次后,停止迭代,输出期望的基矩阵f和系数矩阵h,否则,返回步骤(4a3);

(4b)堆叠l层时间依赖约束非负矩阵分解构造深层分解框架,在第一层时,以非负矩阵g作为输入,得到基矩阵f(1)和系数矩阵h(1),从第二层开始将上一层分解得到的基矩阵f(l-1)作为下一层的输入,同时输出f(l)和h(l),其中,l为分解层数索引,f(l)为第l层所得基矩阵,h(l)为第l层所得系数矩阵。

步骤5利用步骤4构建的框架对第q个视频片段的非负矩阵xq进行分解,得到l个系数矩阵h(l),l=1,2,…,l,其中,l为分解层数索引。

步骤6对系数矩阵h(l)按行进行归一化并将归一化后的行串接,得到整个输入数据的空时特征输出k=1,2,…,rl,rl为第l层非负矩阵分解维数,表示第l层系数矩阵的第k行。

步骤7对非负矩阵集合x的非负矩阵逐个分解,即对于每个非负矩阵均采用步骤(5)-步骤(6)的操作,得到整个视频的空时特征输出:

其中featq为第q个视频片段空时特征,(·)t表示向量或矩阵的转置,q=1,2,…,ns。

步骤8对所有样本视频进行特征提取,并划分为训练集dtr和测试集dte,使用词袋模型获得训练集dtr的直方图向量ntr和测试集dte的直方图向量nte。

(8a)采用k-means聚类方法对训练集dtr生成词典dide×ce;

(8b)通过词典dide×ce将训练集dtr和测试集dte进行量化编码,得到训练集dtr的直方图向量ntr和测试集dte的直方图向量nte,其中de表示特征维数,ce表示聚类中心数。

步骤9使用训练集的直方图向量ntr训练svm分类器,将测试集的直方图向量nte输入到训练好的svm中,输出测试集dte对应的测试样本所属的行为类别。

为了验证本发明的有效性,在常用的人体行为数据库kth和ucf-sports中分别取6类和10类行为,利用本发明进行人体行为识别。在数据库kth上的正确识别率为97.79%,在数据库ucf-sports上的正确识别率为96.67%。

以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都有可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是,这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1