发明名称 基于非负矩阵分解的分部位人体运动识别方法
摘要 本发明公开了一种基于非负矩阵分解的分部位人体运动识别方法,主要解决现有技术中特征提取复杂、表征能力弱、计算量大的问题。其实现步骤是:(1)从训练视频集X中选取一个样本视频I,检测人体各部位的运动兴趣点及相对应部位的运动特征;(2)将人体各部位运动特征进行非负矩阵分解;(3)将经过分解后的人体各部位运动特征进行级联,级联的结果作为最终特征;(4)按上述步骤分别对训练视频集X和测试视频集T中的所有视频进行特征提取,获得训练样本特征集X'和测试样本特征集T',并进行学训练,获得分类结果。本发明能准确识别人体运动,可用于视频监控、人体姿态估计和运动识别的视频处理。
申请公布号 CN103824062A 申请公布日期 2014.05.28
申请号 CN201410079746.6 申请日期 2014.03.06
申请人 西安电子科技大学 发明人 韩红;史媛媛;曹赛;洪汉梯;陈建;李楠;刘三军;甘露;郭玉言
分类号 G06K9/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 1.一种基于非负矩阵分解的分部位人体运动识别方法,包括如下步骤:(1)将KTH数据库中的运动视频按照99:1的比例选取训练视频集X和测试视频集T;(2)根据Fischler和Elschlager提出的图结构模型将人体划分为5部分,分别为:头部,左上肢,右上肢,左下肢,右下肢;(3)从训练视频集X中选取一个样本视频L,根据上述划分分别提取人体各部位的运动兴趣点及相对应的运动特征;(4)将提取的人体各部位的运动特征通过下式进行非负矩阵分解;E=V-WH其中,V为正实数空间中n×m维矩阵,用来表示人体各部位运动特征矩阵,H为正实数空间中s×m维矩阵,用来表示一个基础矩阵,W为正实数空间中n×s维矩阵,用来表示一个投影矩阵,即人体各部位运动特征矩阵V在基础矩阵H上的投影,E为实数空间中n×m维矩阵,用来表示一个误差矩阵,参数n,m,s均为正整数;(5)计算上述非负矩阵分解式中的投影矩阵W和基础矩阵H,设定误差矩阵E的阈值矩阵E',使得误差矩阵E小于或等于设定的阈值矩阵E':(5a)根据人体各部位运动特征矩阵V的维数大小n、m,利用公式s<<m*n/(m+n)选取正整数s,并随机生成大小为n×s维的投影矩阵W和大小为s×m维的基础矩阵H;(5b)设定阈值矩阵E'=1*10<sup>-6</sup>;(5c)分别计算人体各部位的误差矩阵E<sub>q</sub>:E<sub>q</sub>=V<sub>q</sub>-W<sub>q</sub>H<sub>q</sub>;其中q=1,2,3,4,5,分别表示人体的头部,左上肢,右上肢,左下肢,右下肢这5个部位,V<sub>q</sub>表示部位q的运动特征矩阵,W<sub>q</sub>表示部位q的投影矩阵,H<sub>q</sub>表示部位q的基础矩阵;(5d)当人体各部位误差矩阵E<sub>q</sub>大于阈值矩阵E'时,分别对投影矩阵W<sub>q</sub>中的元素W<sub>ik</sub>和基础矩阵H<sub>q</sub>中的元素H<sub>kj</sub>进行更新,得到投影矩阵W<sub>q</sub>中更新后的元素W<sub>ik</sub><sup>*</sup>和基础矩阵H<sub>q</sub>中更新后的元素H<sub>kj</sub>*:<maths num="0001"><![CDATA[<math><mrow><msup><msub><mi>W</mi><mi>ik</mi></msub><mo>*</mo></msup><mo>=</mo><msub><mi>W</mi><mi>ik</mi></msub><mfrac><mrow><mo>(</mo><msub><mi>V</mi><mi>q</mi></msub><msup><msub><mi>H</mi><mi>q</mi></msub><mi>T</mi></msup><mo>)</mo></mrow><msub><mrow><mo>(</mo><msub><mi>W</mi><mi>q</mi></msub><msub><mi>H</mi><mi>q</mi></msub><msup><msub><mi>H</mi><mi>q</mi></msub><mi>T</mi></msup><mo>)</mo></mrow><mi>ik</mi></msub></mfrac><mo>,</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msup><msub><mi>H</mi><mi>kj</mi></msub><mo>*</mo></msup><mo>=</mo><msub><mi>H</mi><mi>kj</mi></msub><mfrac><msub><mrow><mo>(</mo><msubsup><mi>W</mi><mi>q</mi><mi>T</mi></msubsup><msub><mi>V</mi><mi>q</mi></msub><mo>)</mo></mrow><mi>kj</mi></msub><msub><mrow><mo>(</mo><msubsup><mi>W</mi><mi>q</mi><mi>T</mi></msubsup><msub><mi>W</mi><mi>q</mi></msub><msub><mi>H</mi><mi>q</mi></msub><mo>)</mo></mrow><mi>kj</mi></msub></mfrac><mo>,</mo></mrow></math>]]></maths>其中:W<sub>ik</sub>表示投影矩阵W<sub>q</sub>第i行第k列元素,0<i≤n,0<k≤s,H<sub>kj</sub>表示基础矩阵H<sub>q</sub>第k行第j列的元素,0<k≤s,0<j≤m,上标T表示矩阵的转置;(5e)通过对投影矩阵W<sub>q</sub>和基础矩阵H<sub>q</sub>全部元素的更新得到更新后的投影矩阵W<sub>q</sub><sup>*</sup>和基础矩阵H<sub>q</sub><sup>*</sup>,并用更新后的投影矩阵W<sub>q</sub><sup>*</sup>和基础矩阵H<sub>q</sub><sup>*</sup>替换原有的投影矩阵W<sub>q</sub>和基础矩阵H<sub>q</sub>:W<sub>q</sub>=W<sub>q</sub><sup>*</sup>,H<sub>q</sub>=H<sub>q</sub><sup>*</sup>,(5f)重复步骤(5c)~(5e),直至人体各部分误差矩阵E<sub>q</sub>等于或小于阈值矩阵E'为止,得到最终的人体各部分投影矩阵W<sub>q</sub>,作为最终的人体各部位运动特征。(6)对人体各部位运动特征进行级联,得到最终的人体运动特征;(7)重复上述步骤(2)~(6)分别对训练样本集X和测试样本集T中的所有视频提取特征并进行非负矩阵分解,获得训练样本特征集X'和测试样本特征集T';(8)利用支持向量机SVM算法对训练样本特征集X'进行训练学习得到分类器;再将测试样本特征集T'送入到分类器,得到各类运动的分类结果。
地址 710071 陕西省西安市太白南路2号