发明名称 基于相对梯度的ISA模型的行为识别方法
摘要 本发明公开了一种基于相对梯度的ISA模型的行为识别方法,该方法采用改进的独立子空间分析算法来提取视频的局部特征;接着对所提取的局部特征进行聚类,得到聚类中心(即视觉关键词),对每个视频,建立视觉关键词直方图,则每个视频表示为基于视觉关键词直方图的特征向量;最后就是采用多类别支持向量机SVM对其进行分类,完成对行为的识别。本发明可以用于个体行为识别,也可以用于群体行为识别。本发明为一种基于相对梯度的算法,不需要求逆过程,收敛速度更快。
申请公布号 CN103065158B 申请公布日期 2016.05.18
申请号 CN201210578578.6 申请日期 2012.12.28
申请人 电子科技大学 发明人 刘启和;陈雷霆;蔡洪斌;邱航;肖燕霞;周川
分类号 G06K9/62(2006.01)I;G06K9/46(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 成都中亚专利代理有限公司 51126 代理人 陈亚石
主权项 一种基于相对梯度的ISA模型的行为识别方法,其特征在于:该行为识别方法包括以下步骤:步骤1:样本数据的预处理:步骤1.1 首先,采集大量具有视觉行为模式的视频集合,假设选取N个视频样本进行采样;步骤1.2 然后,把每个视频样本随机地分割为num_patches个视频块,每个视频块的大小为sp_size×sp_size×tp_size,将分割的所有视频块组成一个样本矩阵X,表示成:X={x<sub>1</sub>,x<sub>2</sub>,…,x<sub>N*num_patches</sub>},其中N是视频样本的个数,num_patches表示对每个视频分割的视频块的数量,每一列向量表示一个视频块数据,维数为sp_size<sup>2</sup>×tp_size;步骤1.3 最后,对步骤1.2得到的样本矩阵X进行特征中心化、数据白化的处理;步骤1.3.1 特征中心化:X=X‑ones(size(X,1),1)×mean(X);其中,size(X,1)表示矩阵X行数的大小dim,ones(size(X,1),1)表示构建一个dim维且元素都为1的列向量,mean(X)表示维数与矩阵X的列数相同的一个行向量,每一元素表示矩阵X对应列向量的均值;步骤1.3.2 数据白化:数据白化是采用主成分分析PCA来完成的;主成分分析的具体分析步骤如下:计算样本矩阵X的协方差矩阵C;计算协方差矩阵C的特征向量的特征值,并把特征值按从大到小排序;提取最大的m个特征值,其对应的特征向量构成一个矩阵H;用特征矩阵H<sup>T</sup>与样本矩阵X相乘,即可得预处理后的样本矩阵Z;步骤2:特征提取:步骤2.1 构造ISA网络,把经过预处理之后的样本矩阵Z,作为ISA网络的输入;步骤2.1.1 ISA网络的基元响应对应于ISA网络的第一层,输入样本矩阵Z与第一层响应S之间满足Z=BS   (1)式中,B={b<sub>1</sub>,b<sub>2</sub>,…,b<sub>m</sub>}表示视频基元,每一列为一个基元向量,视频基元个数m是由PCA主成分个数直接决定,m的大小可根据需要进行设置,它是一个标准正交矩阵,S={s<sub>1</sub>,s<sub>2</sub>,…s<sub>m</sub>}<sup>T</sup>表示特征系数;为了便于求第一层的视频基元响应,我们将公式(1)变形为S=WZ   (2)式中,W=B<sup>‑1</sup>,即W是视频基元矩阵B的逆,由于W被视作对视皮层简单细胞感受野的模拟,故W被称作基元逆向滤波器,此时S表示感受野W对视频数据样本X产生的响应,在ISA双层网络中,W可以更直观的看作是第一层网络的组合权值,第一层输出响应S可以看作是由样本矩阵Z的各分量通过W加权的线性组合得到;对应于第一层的基元响应,第二层输出的激活值为:<maths num="0001"><math><![CDATA[<mrow><msub><mi>p</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>z</mi><mi>t</mi></msup><mo>;</mo><mi>W</mi><mo>,</mo><mi>V</mi><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><munder><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&Element;</mo><msub><mi>S</mi><mi>l</mi></msub></mrow></munder><msub><mi>V</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><mo>(</mo><msub><mi>&Sigma;</mi><mi>j</mi></msub><msup><mrow><mo>(</mo><msubsup><mi>W</mi><mrow><mi>k</mi><mi>j</mi></mrow><mi>T</mi></msubsup><msubsup><mi>z</mi><mi>j</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow>]]></math><img file="FDA0000929121880000021.GIF" wi="1732" he="291" /></maths>其中,W是ISA网络的第一层的组合权值,V是第二层的组合权值;ISA网络的输出是我们对视频所提取的各个局部特征,即各视频块的基元响应特征,基元响应特征是一个一维向量,其长度为m/k,其中m为视频基元的个数,k为ISA网络中第一层的分组长度;步骤2.1.2 ISA网络的优化估计优化过程的目标函数如下:MinimizeΣ<sub>t</sub>Σ<sub>i</sub>p<sub>i</sub>(z<sup>t</sup>;W,V)确立优化目标函数后,就要对目标函数进行优化迭代,最终实现对ISA网络的最优估计;步骤2.2 ISA问题的最优求解在ISA网络中,求解ISA问题就是求解ISA网络中的第一层网络权值W和第二层网络权值V,由于ISA网络中第二层的组合权值V已知,则ISA问题的最优求解,就是对ISA第一层网络权值W进行最优估计;采用相对梯度下降法对权值W进行最优估计;相对梯度下降法对权值W进行最优估计的具体步骤:1)ISA网络的代价函数:<maths num="0002"><math><![CDATA[<mrow><mi>J</mi><mrow><mo>(</mo><mi>W</mi><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>J</mi></munderover><mi>log</mi><mi>p</mi><mrow><mo>(</mo><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>&Element;</mo><mi>S</mi><mi>j</mi></mrow></munder><msup><mrow><mo>(</mo><mrow><msup><msub><mi>w</mi><mi>i</mi></msub><mi>T</mi></msup><msup><mi>z</mi><mi>t</mi></msup></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mo>-</mo><mi>l</mi><mi>o</mi><mi>g</mi><mo>|</mo><mi>det</mi><mi>W</mi><mo>|</mo></mrow>]]></math><img file="FDA0000929121880000022.GIF" wi="1857" he="241" /></maths>其中,<img file="FDA0000929121880000023.GIF" wi="514" he="223" />表示j‑元组s<sub>j</sub>内分量y<sub>i</sub><sup>t</sup>=w<sub>i</sub><sup>T</sup>z<sup>t</sup>的联合概率密度,<img file="FDA0000929121880000031.GIF" wi="125" he="132" />是对<img file="FDA0000929121880000032.GIF" wi="102" he="132" />的估计值,<img file="FDA0000929121880000033.GIF" wi="101" he="121" />是ISA第一层网络第i个子空间的基元响应特征,z<sup>t</sup>表示预处理之后、输入ISA网络的样本数据;2)对代价函数关于W求导,得其梯度:<maths num="0003"><math><![CDATA[<mrow><mo>&dtri;</mo><mi>J</mi><mrow><mo>(</mo><mi>W</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>J</mi><mrow><mo>(</mo><mi>W</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><mi>W</mi></mrow></mfrac><mo>=</mo><msup><mi>W</mi><mrow><mo>-</mo><mi>T</mi></mrow></msup><mo>-</mo><msup><mi>&phi;Z</mi><mi>T</mi></msup></mrow>]]></math><img file="FDA0000929121880000034.GIF" wi="1450" he="280" /></maths>其中φ是代价函数对W求导之后其他数值的一个缺省值;3)权值W的更新规则:<maths num="0004"><math><![CDATA[<mrow><mi>&Delta;</mi><mi>W</mi><mo>=</mo><mi>&epsiv;</mi><mi>W</mi><mo>=</mo><mo>-</mo><mi>&lambda;</mi><mo>&dtri;</mo><mi>J</mi><mrow><mo>(</mo><mi>W</mi><mo>)</mo></mrow><msup><mi>W</mi><mi>T</mi></msup><mi>W</mi><mo>=</mo><mo>-</mo><mi>&lambda;</mi><mrow><mo>(</mo><mi>I</mi><mo>-</mo><msup><mi>&phi;Y</mi><mi>T</mi></msup><mo>)</mo></mrow><mi>W</mi></mrow>]]></math><img file="FDA0000929121880000035.GIF" wi="1967" he="140" /></maths>其中ε是一矩阵;显然<maths num="0005"><math><![CDATA[<mrow><mi>&epsiv;</mi><mo>=</mo><mo>-</mo><mi>&lambda;</mi><mo>&dtri;</mo><mi>J</mi><mrow><mo>(</mo><mi>W</mi><mo>)</mo></mrow><msup><mi>W</mi><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000929121880000036.GIF" wi="655" he="122" /></maths>λ>0;其中Y=WZ,则Z<sup>T</sup>W<sup>T</sup>=Y<sup>T</sup>,Y是迭代过程中对第一层视频基元响应S的估计值;4)求解W的迭代公式:W(k+1)=W(k)+ΔW(k)5)如果权值W收敛,迭代过程结束,否则重复执行步骤3)和步骤4);步骤2.3 提取视频特征ISA网络最终输出可由以下公式得出:<maths num="0006"><math><![CDATA[<mrow><msub><mi>p</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>z</mi><mi>t</mi></msup><mo>;</mo><mi>W</mi><mo>,</mo><mi>V</mi><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><munder><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&Element;</mo><msub><mi>S</mi><mi>l</mi></msub></mrow></munder><msub><mi>V</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><mo>(</mo><msub><mi>&Sigma;</mi><mi>j</mi></msub><msup><mrow><mo>(</mo><msubsup><mi>W</mi><mrow><mi>k</mi><mi>j</mi></mrow><mi>T</mi></msubsup><msubsup><mi>z</mi><mi>j</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow>]]></math><img file="FDA0000929121880000037.GIF" wi="1823" he="315" /></maths>其中,ISA网络第一层的组合权值W由步骤2.2得到,第二层组合权值V已知;ISA网络的最终输出即为ISA网络第二层输出的激活值,也就是我们对视频所提取的局部特征;步骤3:特征聚类:步骤3.1 将ISA算法提取的视频基元响应特征进行k‑均值聚类,形成k个聚类中心即视觉关键词;k‑均值聚类的具体步骤:步骤3.1.1 从所有的基元响应特征中随机取k个特征,作为这k个聚类各自的中心;步骤3.1.2 分别计算剩下的所有特征到这k个聚类中心的欧式距离,将这些特征分别划归到距离最小的聚类中;步骤3.1.3 根据得到的聚类结果,重新计算这k个聚类各自的中心;步骤3.1.4 将所有的特征按照新的聚类中心重新进行聚类:即重复步骤3.1.2和步骤3.1.3,直到聚类结果收敛;步骤3.2 构造基于视觉关键词直方图的特征向量;计算每个视频中各局部特征即各视频块的基元响应特征与聚类中心的欧式距离,距离最小的聚类中心即为此局部特征对应的视觉关键词,统计每个视频中包含各视觉关键词的数目,形成视觉关键词直方图,可表示为视频基于视觉关键词直方图的特征向量;步骤4:分类/识别:将步骤3.2所得的特征向量输入到支持向量机,并利用SVM多类别分类器进行分类,即对视频中的行为模式进行识别;具体为:步骤4.1 归一化处理:对视频基于视觉关键词直方图的特征向量进行归一化处理;步骤4.2 构造训练集构造训练集{x<sub>i</sub>,y<sub>i</sub>},即为基于步骤4.1的特征向量对应的视频样本分配标签,其中,x<sub>i</sub>是第i个训练视频样本基于步骤4.1的特征向量;y<sub>i</sub>是对应x<sub>i</sub>的视频样本的标签,y<sub>i</sub>∈{‑1,+1},其中,+1表示对应x<sub>i</sub>的视频的标签,‑1表示除x<sub>i</sub>对应视频之外的其他所有视频的标签;步骤4.3 采用多类别SVM分类器,即在每一类行为模式的视频和其他所有行为模式的视频之间构建一个SVM,将该类行为模式的视频的标签看作为+1,其他所有行为模式的视频的标签看作为‑1,每个分类器将一种行为模式的视频和其他行为模式的视频分开,这样,若共有c种行为模式,则需要构造c个SVM分类器;为SVM模型选择卡方核函数,即采用卡方距离构建的一种广义高斯核函数;卡方距离公式:<maths num="0007"><math><![CDATA[<mrow><mi>d</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><mfrac><msup><mrow><mo>(</mo><msup><mi>x</mi><mi>i</mi></msup><mo>-</mo><msup><mi>y</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>2</mn></msup><mrow><mn>2</mn><mrow><mo>(</mo><msup><mi>x</mi><mi>i</mi></msup><mo>+</mo><msup><mi>y</mi><mi>i</mi></msup><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000929121880000051.GIF" wi="871" he="258" /></maths>其中,x,y是任意两个训练集视频样本基于步骤4.1的特征向量,x<sup>i</sup>,y<sup>i</sup>,i=1,2,...k,是各特征向量的分量;步骤4.4 将训练集特征属性矩阵[X,Y]输入基于步骤4.3的SVM模型,利用svmtrain在训练集上学习,得到模型model,其中,X是视频样本基于步骤4.1的特征向量矩阵,Y是其对应的标签;步骤4.5 预测新的视频数据的行为模式输入一个新的视频样本,经过预处理、特征提取、聚类,提取到基于步骤4.1的特征向量,输入基于model的SVM模型中,通过svmpredict对其进行预测,即完成对行为的识别。
地址 611731 四川省成都市高新西区西源大道2006号