首页> 中国专利> 基于星型模型的人体运动识别方法

基于星型模型的人体运动识别方法

摘要

本发明提出了一种基于星型模型的人体运动识别方法,主要解决现有技术中特征提取复杂、表征能力弱的问题。其实现步骤是:(1)获得人体运动视频数据,并按8∶1的比例构建训练视频集X和测试视频集T;(2)提取每个视频中人体星型模型的5个顶点在以人体重心为坐标中心的直角坐标系中的坐标;(3)计算人体星型模型的5个顶点的极径和极角;(4)利用人体结构特征和5个顶点的极径,极角找出这5个顶点分别对应的人体部位,得到5个部位的位置特征;(5)分别对训练视频集X和测试视频集T中的所有视频进行特征提取,获得训练视频特征集X*和测试视频特征集T*,并对其进行学习训练,获得分类结果。本发明能准确识别人体运动,可用于视频监控、目标识别和运动识别的视频处理。

著录项

  • 公开/公告号CN103020631A

    专利类型发明专利

  • 公开/公告日2013-04-03

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201210483407.5

  • 申请日2012-11-23

  • 分类号G06K9/54(20060101);G06K9/62(20060101);

  • 代理机构61205 陕西电子工业专利中心;

  • 代理人王品华;朱红星

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2024-02-19 18:53:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-07

    专利权的转移 IPC(主分类):G06K9/54 登记生效日:20200721 变更前: 变更后: 申请日:20121123

    专利申请权、专利权的转移

  • 2015-06-17

    授权

    授权

  • 2013-05-01

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

    实质审查的生效

  • 2013-04-03

    公开

    公开

说明书

技术领域

本发明属于图像处理技术领域,涉及人体运动识别方法,可用于虚拟视频、智能监控和姿态估计。

背景技术

人体运动识别是近几年来计算机视觉领域的重大热点之一,人体运动识别在运动捕获,人机交互,视频监控等多领域获得了初步的应用,具有重大的应用前景。由于人体运动的多变性和多样性,背景的嘈杂以及光照条件,衣服纹理和自身遮挡等多方面的因素严重影响人体运动的识别效果,故从视频图像中准确估计人体姿态,实现人体运动识别是计算机视觉领域长期存在的问题。

目前,人体运动识别的方法主要分为三大类:基于学习的人体运动识别、基于模型的人体运动识别和基于表现的人体运动识别。

第一种,基于学习的人体运动识别方法,是先在训练的视频图像和目标视频图像数据库里提取精确的图像特征,通过机器学习从一系列训练数据中学习得到一个分类器,用该分类器来表示人体运动;然后利用该分类器对输入窗口进行分类及识别。如Ivan Laptev等人采用的基于HOG和HOF的特征提取方法和基于KNN和SVM的识别方法。另外还有Somayeh Danafar和Niloofar Cheissari在其论文中采用了基于光流的特征提取方法和基于SVM的运动识别方法,其中基于光流的特征是从图像序列的相邻帧中提取。该识别方法的优点与人体模型的方法和模板匹配的方法相比是比较鲁棒,检测结果较优,但是缺点是运动信息的计算过程缺乏对行为的全局分析,且计算特征的复杂度较高,需要很多训练数据,通常需要上万的数据。

第二种,基于模型的方法,是利用人体结构的先验知识建立人体模型,然后提取图像底层特征匹配到模型中,并以运动规律加以约束。当前比较典型的方法如:Ju Sun采用了基于SIFT描述子和基于Markov模型的识别方法;Hsuan-Sheng Chen等人采用了基于星形骨架描述轮廓信息的特征表述方法和基于HMM的动作识别方法。这种方法简单,容易实现,但是特征表征能力较弱,信息包含较少,识别性能低,准确率不高,且容易受遮挡和人体服装差异的影响,常作为一种辅助方法。

第三种,基于表现的方法,无须对人体建模,直接提取图像中感兴趣区域的底层二维表观特征,然后找出区域特征与人体动作的对应关系进行匹配。如Bobick和Davis采用了基于轮廓表征的特征表示方法和基于MHI和MEI模板的识别方法。这种方法与基于模型的方法相比计算比较简单,缺点是提出的特征对环境的动态变化敏感,易受背景变化的影响,对纹理变化不够敏感,不能最优的表征图像边缘,同时由于人体姿态的复杂性,很难构造出足够的模板以处理不同的姿态,故正确率也不高。

发明内容

本发明目的是针对上述已有技术的不足,提出一种基于星型骨架模型的人体行为识别方法,从人体的结构特性出发,降低人体特征提取的复杂度,在无需大量训练数据的情况下,有效地提高人体运动识别的正确率。

为实现上述目的,本发明的技术方案包括如下:

(1)将Weizmann数据库中的视频按照8∶1的比例构建训练视频集X和测试视频集T,并将训练视频集X和测试视频集T中的每段视频转换为连续的单幅序列图像;

(2)利用帧差法对训练视频集X中的单幅序列图像进行背景减除,并将背景减除后的彩色图像变为二值图像;

(3)构造上述二值图像最左下角的像素点为坐标中心的直角坐标系o1,提取图像中人体的星型模型,并记录星型模型的5个顶点在直角坐标系o1中的位置,其中,星型模型的5个顶点为人体轮廓上的像素点和人体重心点之间距离最大的5个像素点,分别记为:(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5);

(4)在上述二值图像中构造以人体重心点为坐标中心的直角坐标系o2,进行平移直角坐标系变换,并将步骤(3)中星型模型的5个顶点在直角坐标系o1中的坐标转换到直角坐标系o2中,得到这5个顶点在坐标系o2中的对应坐标,分别为(x1′,y1′),(x′2,y′2),(x′3,y′3),(x′4,y′4),(x′5,y′5);

(5)计算星型模型的5个顶点在直角坐标系o2中的坐标(x1′,y1′),(x′2,y2),(x′3,y′3),(x′4,y′4),(x′5,y′5)到直角坐标系o2的坐标中心点的距离,依次记为d1,d2,d3,d4,d5

(6)利用上述d1,d2,d3,d4,d5中的最大值D,计算星型模型5个顶点的极径:ri=di/D,

其中i=1,2......5,D=max{d1,d2,d3,d4,d5};

(7)利用上述(x′1,y1′),(x′2,y′2),(x′3,y′3),(x′4,y′4),(x′5,y′5),计算星型模型5个顶点的极角:θi=arctan(xi/yi),其中i=1,2......5;

(8)根据人体结构特征找出这5个顶点分别对应的人体部位:

(8.1)将5个顶点的极径ri,i=1,2....5,从大到小排序,找出最大两个极径对应的坐标点(x1′,y′1),(x′2,y′2),根据人体脚到人体重心的距离最大,且左脚和右脚分布于人体重心两侧的比例结构,若x1′>0,则判定(x′1,y′1)为左脚坐标,(x′2,y′2)为右脚坐标;

(8.2)在剩余3个点顶点(x′3,y′3),(x′4,y′4),(x′5,y′5)中,根据人体头部是偏离人体重心角度最小的部位,对应极角的绝对值最大的结构,比较3个顶点对应极角θ345的绝对值的大小,若θ3绝对值最大,则(x′3,y′3)为头部坐标;

(8.3)在其余两个顶点(x′4,y′4),(x′5,y′5)中,若x′4>0,则判定(x′4,y′4)为左脚坐标,(x′5,y′5)为右脚坐标;

(9)按照上述步骤(2)~(8)将一个运动视频中的所有序列图片都做如上处理,得到一个视频中所有图片中人的5个部位的极径和极角;

(10)将极径的取值范围等分为5个连续的子区间,极角的取值范围等分为10个连续的子区间,将极径的5个子区间和极角的10子区间分别两两组合,构成50个联合子区间,分别统计步骤(9)得到的一个视频的所有图片中人的5个部位的极径和极角的值落在这50个联合子区间中的次数,得到5个部位的位置特征向量,分别记为n1,n2,n3,n4,n5,将5个部位的位置特征向量级联,得到一个运动视频的最终特征N={n1,n2,n3,n4,n5};

(11)按照上述步骤(2)~(10)提取训练视频集X和测试视频集T中的所有运动视频的最终特征,获得训练视频特征集X*和测试视频特征集T*

(12)利用SVM算法对训练视频特征集X*进行训练学习得到分类器,将测试视频特征集T*输入到分类器中,得到各类运动的分类结果。

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

1、本发明是利用了人体的结构特性,通过人体星型骨架模型获取人体部位的位置特征向量进行人体行为识别,有效的提高了基于视频的人体行为识别的正确率。

2、本发明利用了基于部位的方法,通过构造部位属性的统计直方图,很好的描述在不同行为下人体部位的位置差异,同时较传统的描述方法维度低,在学习训练阶段能有效缩减时间和数据计算量。

附图说明

图1是本发明的流程示意图;

图2是是本发明仿真使用的数据库中部分视频的序列图像;

图3是本发明中利用Weizmann数据库进行仿真后的混淆矩阵图。

具体实施方式

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

步骤一,获取整个人体运动识别的训练视频集X和测试视频集T。

(11)将Weizmann数据库中的运动视频按照8∶1的比例构建训练视频集X和测试视频集T;其中,Weizmann数据库的下载地址为http://www.wisdom.weizmann.ac.il/~vision/SpaceTimeActions.html,图2给出了数据库中部分视频的序列图像;

(1.2)将训练视频集X和测试视频集T中的每段视频转换为连续的单幅序列图像。

步骤二,利用帧差法对训练视频集X中的单幅序列图像进行背景减除,并将背景减除后的彩色图像变为二值图像,具体步骤为:

(2.1)定义FG(x,y)={R,G,B}表示当前视频图像中像素点(x,y)的RGB数值,定义BG(x,y)={Rl,G1,Bl}表示Weizmann数据库相应背景图片中对应背景像素点的RGB数值,其中,R表示当前视频图像中像素点(x,y)的红色分量数值,G表示当前视频图像中像素点(x,y)的绿色分量数值,B表示当前视频图像中像素点(x,y)的蓝色分量数值,Rl表示相应背景图片中对应背景像素点的红色分量数值,Gl表示相应背景图片中对应背景像素点的绿色分量数值,Bl表示相应背景图片中对应背景像素点的蓝色分量数值;

(2.2)分别计算红色分量R的差值c1(x,y)=|R-Rl|,绿色分量G的差值c2(x,y)=|G-G1|,蓝色分量B的差值c3(x,y)=|B-Bl|;

(2.3)将当前视频图像中像素点(x,y)的三个颜色分量差值c1(x,y),c2(x,y),c3(x,y)与设定的阈值t相比较,若三个颜色分量差值都小于或等于阈值t,则将像素点(x,y)设为背景像素点,否则将像素点(x,y)设为前景像素点,其中,阈值t根据具体序列图像设定;

(2.4)将步骤(2.3)中判定为背景像素点的像素值都设为1,将判定为前景像素点的像素值都设为0,将得到的所有背景像素点和前景像素点联合起来构成二值图像;

(2.5)使用形态学中膨胀腐蚀的方法,对步骤(2.4)得到的二值图像中人体像素缺失的部分进行膨胀,对人体像素的多余部分进行腐蚀,获得理想的前景二值图像。

步骤三,构造上述二值图像最左下角的像素点为坐标中心的直角坐标系o1,提取图像中人体的星型模型,并记录星型模型的5个顶点在直角坐标系o1中的位置,其中,星型模型的5个顶点为人体轮廓上的像素点和人体重心点之间距离最大的5个像素点,分别记为:(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5),具体步骤为:

(3.1)对二值图像利用光栅扫描法获得人体边界像素点坐标;

(3.1a)对二值图像进行光栅扫描,当某像素的像素值从1变为0时,将此像素记为p0,且作为人体边界像素点的起始点,并存储它的坐标(x,y);

(3.1b)从像素(x,y-1)开始逆时针方向在像素(x,y)的8-领域内寻找像素值为0的像素点,当第一次出现像素值为0的像素点时,将此像素点记为pk,k=1,并存储它的坐标;

(3.1c)从像素pk-1开始逆时针方向在像素pk的8-领域内寻找像素值为0的像素,把最新发现的像素值为0的像素记为pk+1,并存储它的坐标;

(3.1d)重复步骤(3.1c),当pk=p0且pk+1=p1时,扫描结束,记录所有边缘像素点的位置(xi,yi);

(3.2)利用人体边界像素点坐标,计算运动人体边界像素点所围成区域的重心坐标(xc,yc),计算公式为:

>xc=1NbΣi=1Nbxiyc=1NbΣi=1Nbyi>

其中Nb为构成人体边缘的所有像素的个数,(xi,yi)为人体边界像素点坐标;

(3.3)计算每一个边缘像素点坐标(xi,yi)到人体重心点坐标(xc,yc)的距离di,将di变为离散函数d(i);

(3.4)使用低通滤波器对离散函数d(i)进行去噪;

(3.5)利用差分法求得离散函数d(i)的局部极大值,若局部极大值的个数大于5个,则改变低通滤波器的截止频率直至求得的局部极大值个数为5,将这5个局部极大值点作为星型模型的5个顶点,并记录这5个顶点在图像直角坐标系o1中的坐标,分别记为,(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5),其中,直角坐标系o1的中心坐标为二值图像最左下角的像素点坐标。

步骤四,在上述二值图像中构造以人体重心点为坐标中心的直角坐标系o2,进行平移直角坐标系变换,将步骤(3)中星型模型的5个顶点在直角坐标系o1中的坐标转换到直角坐标系o2中,得到这5个顶点在坐标系o2中的对应坐标,分别为(x1′,y1′),(x′2,y′2),(x′3,y′3),(x′4,y′4),(x′5,y′5),具体步骤为:

(4.1)在二值图像中构造以人体重心点(xc,yc)为坐标中心的直角坐标系o2

(4.2)按如下公式计算步骤三中星型模型的5个顶点在直角坐标系o2中的坐标,即:

>x1=x1-xcy1=y1-yc,>

>x2=x2-xcy2=y2-yc,>

>x3=x3-xcy3=y3-yc,>

>x4=x4-xcy4=y4-yc,>

>x5=x5-xcy5=y5-yc,>

其中,(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)为星型模型的5个顶点在图像直角坐标系o1中的坐标,(xc,yc)为人体重心点坐标。

步骤五,计算星型模型的5个顶点在直角坐标系o2中的坐标(x1′,y1′),(x′2,y′2),(x′3,y′3),(x′4,y′4),(x′5,y′5)到直角坐标系o2坐标中心点的距离,依次记为d1,d2,d3,d4,d5

步骤六,利用上述d1,d2,d3,d4,d5中的最大值D,计算星型模型5个顶点的极径:ri=di/D,

其中i=1,2......5,D=max{d1,d2,d3,d4,d5};

步骤七,利用上述(x′1,y1′),(x′2,y′2),(x′3,y′3),(x′4,y′4),(x′5,y′5),计算星型模型5个顶点的极角:θi=arctan(x′i/y′i),其中i=1,2......5;

步骤八,根据人体结构特征找出这5个顶点分别对应的人体部位:

(8.1)将5个顶点的极径ri,i=1,2....5,从大到小排序,找出最大两个极径对应的坐标点(x1′,y′1),(x′2,y′2),根据人体脚到人体重心的距离最大,且左脚和右脚分布于人体重心两侧的比例结构,若x1′>0,则判定(x′1,y′1)为左脚坐标,(x′2,y′2)为右脚坐标;

(8.2)在剩余3个点顶点(x′3,y′3),(x′4,y′4),(x′5,y′5)中,根据人体头部是偏离人体重心角度最小的部位,对应极角的绝对值最大的结构,比较3个顶点对应极角θ345的绝对值的大小,若θ3绝对值最大,则(x′3,y′3)为头部坐标;

(8.3)在其余两个顶点(x′4,y′4),(x′5,y′5)中,若x′4>0,则判定(x′4,y′4)为左脚坐标,(x′5,y′5)为右脚坐标。

步骤九,将一个运动视频中的所有序列图片都按照上述步骤二到步骤八进行处理,得到一个视频中所有图片中人的5个部位的极径和极角。

步骤十,将极径的取值范围等分为5个连续的子区间,极角的取值范围等分为10个连续的子区间,将极径的5个子区间和极角的10子区间分别两两组合,构成50个联合子区间,分别统计步骤九得到的一个视频的所有图片中人的5个部位的极径和极角的值落在这50个联合子区间中的次数,得到5个部位的位置特征向量,分别记为n1,n2,n3,n4,n5,将5个部位的位置特征向量级联,得到一个运动视频的最终特征N={n1,n2,n3,n4,n5}。

步骤十一,按照上述步骤二到步骤十,提取训练视频集X和测试视频集T中的所有运动视频的最终特征,获得训练视频特征集X*和测试视频特征集T*

步骤十二,利用SVM算法对训练视频特征集X*进行训练学习得到分类器,并输入测试视频特征集T*进行分类,得到运动识别的结果,即各类运动的分类准确率和总的分类准确率。

(12.1)利用SVM算法对训练视频特征集X*进行训练学习,得到分类器H;

(12.2)将测试视频特征集T*输入到已经训练好的分类器H中,得到各类运动的预测标签L*,预测标签L*包括各类运动的预测标签集合,分别为j=1,2....k,各类运动的预测标签集合中预测标签个数分别为nj,j=1,2....k,其中,k为总的运动类别数;

(12.3)判断第j类运动预测标签集中的所有预测标签和真实标签集lj中对应的真实标签是否相同,统计相同的标签的个数,记为其中,lj为Weizmann数据库已包括的真实标签集;

(12.4)利用如下公式计算第j类运动的分类准确率,即:

>σ=nj*/nj,>

(12.5)按照步骤(12.3)~(12.4)计算k类所有运动的分类准确率,分别记为σj,j=1,2......k;根据各类运动的分类准确率σj画出分类混淆矩阵,分类混淆矩阵包括各类运动的分类结果;

(12.6)利用如下公式计算总的分类准确率,即:

>σ*=Σj=1kσj/k,>

各类运动的分类准确率σj和总的运动分类准确率σ*即为运动识别的最终结果。本发明的效果可通过以下实验结果与分析进一步的说明:

1.实验条件:

实验所需的样本集来源于Weizmann数据库,包括bend,jack,jump,pjump,side,wave1,wave2,run,walk,skip十类运动视频,整个人体运动识别的训练视频有80个,测试视频有10个,其中训练视频中各类运动视频都为8个,测试视频中各类运动视频都为1个,视频大小均为180×144像素。

硬件平台为:Intel Core2Duo CPU E6550  2.33GHZ、2GB RAM。软件平台为MATLABR2009a。

2.对比实验

本发明使用的对比实验方法是J.C.Niebles和李菲菲博士在文章“J.C.Niebles and L.Fei-Fei,“A hierarchical model of shape and appearance for human actionclassification,”IEEE Conference on Computer Vision and Pattern Recognition,2007.”中提出的基于形状和表观模型的人体运动识别方法。用这种方法首先提取训练样本基于形状的特征,然后训练一个判别性分类器,最后通过计算测试样本特征和分类器中模型的相似性来实现分类。

3.实验内容与实验结果分析

使用本发明的方法对Weizmann数据库进行人体运动识别仿真,图2给出了该数据库中部分视频的序列图像。

仿真过程如下:

1)对Weizmann数据库在上述实验条件中进行训练视频和测试视频的划分;

2)对训练视频集X和测试视频集T进行特征提取,得到训练视频特征集X*和测试视频特征集T*

3)利用SVM算法对训练样视频特征集X*训练,之后将测试视频特征集T*输入分类器得到各类运动的预测标签L*

4)根据测试视频特征集T*的预测标签L*和Weizmann数据库包括真实标签L,得出总的分类准确率为87.3%,并画出混淆矩阵,如图3所示;

从图3的混淆矩阵可以看出,大部分运动都能得到有效的识别,尤其是jack运动,jump运动和walk运动的识别率都达到了100%;

本发明进行人体运动识别的总准确率87.3%,高于对比实验中李菲菲博士的72.8%。

综上,本发明提出的人体运动识别方法有效可行,且提出的特征提取方法能准确的利用人体部位的位置统计特征表征人体运动姿态,降低了特征提取的计算复杂度,同时提高了识别的准确率。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号