一种基于运动边界稠密采样和运动梯度直方图的人体动作识别方法与流程

文档序号:15616320发布日期:2018-10-09 21:28阅读:1031来源:国知局

本发明涉及机器视觉领域,具体是一种基于运动边界稠密采样和运动梯度直方图的人体动作识别方法。



背景技术:

人体动作识别是计算机视觉领域研究的重要分支之一,其在视频监控、视频检索、人机交互、虚拟现实、移动分析等领域有着极大的应用价值。但人体动作本身具有较大自由度,因相机运动、视角变化造成的类间差异,动作的识别与人体姿势、相关目标及场景的复杂关系等因素给人体动作识别带来极大的挑战性。

在动作识别中,通常采用的基于底层像素的特征表示对复杂背景有着较强的鲁棒性,但是单独采用全局或者局部特征来描述运动信息存在局限性,所以将多个特征相结合的识别方法受到研究者们的关注。并且,视频主要包含两类信息:视频帧中的静态信息和视频帧之间的运动信息。视频中的人体运动信息又具有时序性和空间性,充分发到动作信息在时间和空间位置上的关联关系是非常必要的。

为准确实现人体动作识别,运动信息的特征表示是非常关键的环节。由于视频中存在相机移动,并且稠密采样会产生过多的特征点需要被跟踪,其中只有部分可用于有效的特征计算,造成人体动作的特征表示不够准确,同时也带来了大量计算。



技术实现要素:

本发明的目的是解决现有技术中存在的问题。

为实现本发明目的而采用的技术方案是这样的,一种基于运动边界稠密采样和运动梯度直方图的人体动作识别方法,其特征在于,主要包括以下步骤:

1)输入视频流。

2)计算输入视频的光流场并进行特征点采样,提取稠密特征点。

进一步,提取稠密特征点的主要步骤如下:

2.1)对输入视频进行光流计算,得到光流梯度幅值的运动边界。

2.2)在光流计算中,对运动边界设定阈值形成一个“掩膜”并进行稠密采样。

掩膜mb(i,j)如下所示:

式中,tu和tv分别为光流场在水平方向u和垂直方向v的分量。tω为二维光流图。为光流的分量u对v求导得到的值。为光流的分量v对v求导得到的值。为光流的分量v对u求导得到的值。为光流的分量u对u求导得到的值。max表示最大值。ostu(*)表示取(*)的最大类间方差。

其中,二维光流图tω如下所示:

tω=(tu,tv)。(2)

式中,tu和tv分别为光流场在水平方向u和垂直方向v的分量。ω为水平方向u和垂直方向v所在的平面。

其中,光流场ω如下所示:

ω=(u,v)。(3)

式中,u为光流场水平方向。v为光流场垂直方向。

光流场在水平方向u的分量tu对v求导得到的值tvu如下所示:

式中,v为光流场垂直方向。tu表示光流场在水平方向u的分量。

光流场在垂直方向v的分量tv对v求导得到的值如下所示:

式中,v为光流场垂直方向。tv为光流场在垂直方向v的分量。

光流场在垂直方向v的分量tv对u求导得到的值如下所示:

式中,u为光流场水平方向。tv为光流场在垂直方向v的分量。

光流场在水平方向u的分量tu对u求导得到的值如下所示:

式中,u为光流场水平方向。tu表示光流场在水平方向u的分量。

2.3)通过“掩膜”来保留稠密采样中具有判别性、有效地采样点。

2.4)将位于掩膜内的稠密采样点记为稠密特征点。

3)依据设定的视频帧数,计算特征点的轨迹。

4)沿所述特征点轨迹计算稠密描述符hog、稠密描述符hof、稠密描述符mbh和稠密描述符traj。稠密描述符mbh包括mbhx和mbhy两个分量。

稠密描述符hog主要描述静态外观信息。稠密描述符hof描述局部运动信息。稠密描述符mbhx描述光流梯度在x方向上的移动信息。稠密描述符mbhy描述光流梯度在y方向上的移动信息。稠密描述符traj主要描述轨迹的长度和位移信息。

进一步,计算稠密描述符的主要步骤如下:

4.1)对所述视频流的每帧视频按照s个空间尺度进行划分。

4.2)针对每个尺度,以w为步长对所述图像进行特征点采样。

4.3)利用中值滤波对所述采样点进行跟踪。

采样点p在第t帧的位置记为采样点pt,如下所示:

pt=(xt,yt)。(8)

式中,xt为采样点pt在图像x轴方向的坐标。yt为采样点pt在图像y轴方向的坐标。

第t帧采样点pt在下一帧,即第t+1帧的位置记为采样点pt+1,如下所示:

式中,m为中值滤波核。为采样点pt坐标(xt,yt)对应的中值位置。ω为光流场。

4.4)在尺度s处,将连续帧的采样点连接,从而形成轨迹(pt,pt+1,pt+2,...)。

设定轨迹的长度为l帧,轨迹形状s如下所示:

s=(δpt,δpt+1,...,δpt+l-1)。(10)

式中,δpt为第t帧采样点pt和第t+1帧采样点pt+1构成的向量。δpt+1为第t+1帧采样点pt+1和第t+2帧采样点pt+2构成的向量。δpt+l-1为第t+l-1帧采样点pt+l-1和第t+l帧采样点pt+l构成的向量。

其中,向量δpt如下所示:

δpt=(pt+1-pt)=(xt+1-xt,yt+1-yt)。(11)

式中,pt+1为第t+1帧采样点。pt为第t帧采样点。xt+1为采样点pt+1的横坐标。yt+1为采样点pt+1的纵坐标。xt为采样点pt在图像x轴方向的坐标。yt为采样点pt在图像y轴方向的坐标。

向量δpt+1如下所示:

δpt+1=(pt+2-pt+1)=(xt+2-xt+1,yt+2-yt+1)。(12)

式中,pt+1为第t+1帧采样点。pt+2为第t+2帧采样点。xt+1为采样点pt+1的横坐标。yt+1为采样点pt+1的纵坐标。xt+2为采样点pt+1的横坐标。yt+2为采样点pt+1的纵坐标。

δpt+l-1=(pt+l-pt+l-1)=(xt+l-xt+l-1,yt+l-yt+l-1)。(13)

式中,pt+l-1为第pt+l-1帧采样点。pt+l为第t+l帧采样点。xt+l为采样点pt+1的横坐标。yt+l为采样点pt+1的纵坐标。xt+l-1为采样点pt+1的横坐标。yt+l-1为采样点pt+1的纵坐标。

4.5)对轨迹形状s进行归一化处理,得到轨迹特征traj。

式中,δpt为第t帧采样点pt和第t+1帧采样点pt+1构成的向量。δpt+l-1为第t+l-1帧采样点pt+l-1和第t+l帧采样点pt+l构成的向量。i为任意帧。l为轨迹长度。δpi为第i帧采样点pi和第i+1帧采样点pi+1构成的向量。

4.6)在轨迹(pt,pt+1,pt+2,...)上构建n×n×l为单位的时空立方体。将立方体细分为nσ×nσ×nτ大小的时空网格。其中,nσ为图像x轴方向上的像素点。y轴方向上的像素点等于图像x轴方向上的像素点。nτ为图像z轴方向上的视频帧数。

在所述立方体中计算hog特征、hof特征、mbhx特征、mbhy特征和轨迹特征traj。

4.6.1)计算hog特征的主要步骤如下:

4.6.1.1)将所述图像灰度化。

4.6.1.2)采用gamma校正法对所述图像进行颜色空间的标准化。

4.6.1.3)将所述图像划分为n*n的像素。

4.6.1.4)计算所述图像每个像素的梯度。

4.6.1.5)统计每个像素的梯度直方图。

4.6.1.6)每m*m个像素组成一个块。串联所述块内所述像素特征,即得到hog特征。

4.6.2)对所述图像的光流方向进行加权统计。统计光流方向信息直方图,从而得到hof特征。

4.6.3)提取mbhx特征,即在图像x方向上计算hog特征。

4.6.4)提取mbhy特征,即在图像y方向上计算hog特征。

4.6.5)利用公式12计算轨迹特征traj。

5)对相邻两帧视频图像在时间上求导,得到时序上的运动图像。计算所述时序上的运动图像的空间梯度,从而得到运动梯度描述符hmg。

进一步,计算运动梯度描述符hmg的主要步骤如下:

5.1)对相邻两帧图像在时间上求导。

式中,t(i,i+1)为运动图像,表示第i帧和第i+1帧视频图像对时间的导数。i表示视频帧数。fi是第i帧视频图像。fi+1是第i+1帧视频图像。time为时间。

5.2)计算运动图像的空间梯度,得到人体动作在空间上的运动信息。

式中,x(i,i+1)表示运动图像在水平方向的导数,记作x。y(i,i+1)表示运动图像在垂直方向的导数,记作y。x表示图像水平方向。y表示图像垂直方向。

计算运动图像的幅值mag和角度θ:

5.3)统计运动图像的幅值mag和角度θ,得到运动梯度描述符。

6)利用fv编码分别对分别对稠密描述符hog、稠密描述符hof、稠密描述符mbhx、稠密描述符mbhy、稠密描述符traj和运动梯度描述符hmg进行特征编码。

7)分别对稠密描述符hog、稠密描述符hof、稠密描述符mbhx、稠密描述符mbhy、稠密描述符traj和运动梯度描述符hmg作正则化处理。正则化处理后,将稠密描述符与运动梯度描述符以串联形式相连接形成特征向量。

进一步,特征融合的主要步骤如下:

7.1)利用主成分分析法分别对稠密描述符hog、稠密描述符hof、稠密描述符mbhx、稠密描述符mbhy、稠密描述符traj和运动梯度描述符进行降维。

7.2)利用fishervector分别对各个描述符进行特征编码,并采用l2正则化对fisher向量进行归一化处理。

7.3)将各个描述符的fisher向量以串联的形式相连接形成一组特征向量,得到新的特征描述符idt-mb+hmg。

idt-mb+hmg描述符的构成形式:

idt-mb+hmg:{hog,hof,mbhx,mbhy,traj,hmg}。(18)

式中,稠密描述符hog主要描述静态外观信息。稠密描述符hof描述局部运动信息。稠密描述符mbhx描述光流梯度在x方向上的移动信息。稠密描述符mbhy描述光流梯度在y方向上的移动信息。稠密描述符traj主要描述轨迹的长度和位移信息。运动梯度描述符hmg描述动作信息在时间和空间位置的内在关联。

7.4)将特征描述符idt-mb+hmg作为线性支持向量机分类器的输入。

8)利用线性支持向量机对特征融合得到的特征向量进行训练和学习,得到人体动作识别模型。

9)利用所述人体动作识别模型对人体动作进行识别。

本发明的技术效果是毋庸置疑的。本发明的目的是针对通常用于动作识别的稠密采样方法会受到相机运动、背景信息冗余等干扰问题,提出了一种基于运动边界稠密采样和运动梯度直方图的人体动作识别方法。在轨迹特征计算中,采用基于运动边界的改进型稠密采样策略,去除无效的采样点,减少轨迹数目。同时为增强特征表达效果和改善识别效果,在轨迹特征基础上引入运动梯度直方图,形成新的特征描述符,补充表达了人体动作在时间和空间上的运动信息。本发明算法在数据集ucf50、hmdb51上提高动作识别精度的同时也缩减了计算开销,取得了不错的识别效果。

附图说明

图1-a为hmdb51数据集中的样本帧;

图1-b为ucf50数据集中的样本帧;

图2为人体动作识别整体流程图;

图3为稠密轨迹描述符形成过程;

图4为idt与运动边界上的密集轨迹的比较;

图5为捕获hmg描述符的运动信息可视化的过程。

具体实施方式

下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。

实施例:

一种基于运动边界稠密采样和运动梯度直方图的人体动作识别方法,主要包括以下步骤:

1)输入视频流。本实施例选取人体动作识别常用的标准视频集hmdb51、ucf50作为动作识别测试数据集。

hmdb51数据主要来源于电影、internet、youtube、google等视频剪辑。这个数据集包含51个动作类别,共有6,766个视频片段。ucf50数据集包括了来自youtube的真实世界视频,总共有6,618个视频剪辑。这些行动包含了从普通体育到日常生活练习。对于所有50个类别,视频分成25个组。对于每个组,至少有4个动作片段。如图1所示的视频样本帧。

2)如图2所示的人体动作识别方法的整体流程图。计算输入视频的光流场并进行特征点采样,提取稠密特征点。

3)依据设定轨迹长度为15帧,计算特征点的轨迹,如图3所示。

提取稠密特征点的主要步骤如下:

3.1)对输入视频通过调用opencv库中的farneback方法计算光流,得到光流梯度幅值的运动边界。

3.2)在光流计算中,对运动边界设定阈值形成一个“掩膜”并进行稠密采样,如图4所示。图4为idt与运动边界上的密集轨迹的比较,其中点为采样点,虚线框为运动轨迹。

掩膜mb(i,j)如下所示:

式中,tu和tv分别为光流场在水平方向u和垂直方向v的分量。tω为二维光流图。为光流的分量u对v求导得到的值。为光流的分量v对v求导得到的值。为光流的分量v对u求导得到的值。为光流的分量u对u求导得到的值。max表示最大值。ostu(*)表示取(*)的最大类间方差。

其中,二维光流图tω如下所示:

tω=(tu,tv)。(2)

式中,tu和tv分别为光流场在水平方向u和垂直方向v的分量。ω为水平方向u和垂直方向v所在的平面。

其中,光流场ω如下所示:

ω=(u,v)。(3)

式中,u为光流场水平方向。v为光流场垂直方向。

光流场在水平方向u的分量tu对v求导得到的值如下所示:

式中,v为光流场垂直方向。tu表示光流场在水平方向u的分量。

光流场在垂直方向v的分量tv对v求导得到的值如下所示:

式中,v为光流场垂直方向。tv为光流场在垂直方向v的分量。

光流场在垂直方向v的分量tv对u求导得到的值如下所示:

式中,u为光流场水平方向。tv为光流场在垂直方向v的分量。

光流场在水平方向u的分量tu对u求导得到的值如下所示:

式中,u为光流场水平方向。tu表示光流场在水平方向u的分量。

3.3)通过“掩膜”来保留稠密采样中具有判别性、有效地采样点。

3.4)将位于掩膜内的稠密采样点记为稠密特征点。

4)沿所述特征点轨迹计算稠密描述符hog、稠密描述符hof稠密描述符mbh和稠密描述符traj。稠密描述符mbh包括mbhx和mbhy两个分量。

稠密描述符hog主要描述静态外观信息。稠密描述符hof描述局部运动信息。稠密描述符mbhx描述光流梯度在x方向上的移动信息。稠密描述符mbhy描述光流梯度在y方向上的移动信息。稠密描述符traj主要描述轨迹的长度和位移信息。

计算稠密描述符的主要步骤如下:

4.1)对所述视频流的每帧视频划分为8个尺度空间。

4.2)针对每个尺度,以5帧视频为步长对所述图像进行特征点采样。

4.3)利用中值滤波对所述采样点进行跟踪。

采样点pt在第t帧的位置记为采样点,如下所示:

pt=(xt,yt)。(8)

式中,xt为采样点pt在图像x轴方向的坐标。yt为采样点pt在图像y轴方向的坐标。

第t帧采样点pt在下一帧,即第t+1帧的位置记为采样点pt+1,如下所示:

式中,m为中值滤波核。为采样点pt坐标(xt,yt)对应的中值位置。ω为光流场。

4.4)在尺度s处,将连续帧的采样点连接,从而形成轨迹(pt,pt+1,pt+2,...)。

设定轨迹的长度为l=15帧,轨迹形状s如下所示:

s=(δpt,δpt+1,...,δpt+l-1)。(10)

式中,δpt为第t帧采样点pt和第t+1帧采样点pt+1构成的向量。δpt+1为第t+1帧采样点pt+1和第t+2帧采样点pt+2构成的向量。δpt+l-1为第t+l-1帧采样点pt+l-1和第t+l帧采样点pt+l构成的向量。

其中,向量δpt如下所示:

δpt=(pt+1-pt)=(xt+1-xt,yt+1-yt)。(11)

式中,pt+1为第t+1帧采样点。pt为第t帧采样点。xt+1为采样点pt+1的横坐标。yt+1为采样点pt+1的纵坐标。xt为采样点pt在图像x轴方向的坐标。yt为采样点pt在图像y轴方向的坐标。

向量δpt+1如下所示:

δpt+1=(pt+2-pt+1)=(xt+2-xt+1,yt+2-yt+1)。(12)

式中,pt+1为第t+1帧采样点。pt+2为第t+2帧采样点。xt+1为采样点pt+1的横坐标。yt+1为采样点pt+1的纵坐标。xt+2为采样点pt+1的横坐标。yt+2为采样点pt+1的纵坐标。

δpt+l-1=(pt+l-pt+l-1)=(xt+l-xt+l-1,yt+l-yt+l-1)。(13)

式中,pt+l-1为第pt+l-1帧采样点。pt+l为第t+l帧采样点。xt+l为采样点pt+1的横坐标。yt+l为采样点pt+1的纵坐标。xt+l-1为采样点pt+1的横坐标。yt+l-1为采样点pt+1的纵坐标。

4.5)对轨迹形状s进行归一化处理,得到轨迹特征traj。

式中,δpt为第t帧采样点pt和第t+1帧采样点pt+1构成的向量。δpt+l-1为第t+l-1帧采样点pt+l-1和第t+l帧采样点pt+l构成的向量。i为任意帧。l为轨迹长度。δpi为第i帧采样点pi和第i+1帧采样点pi+1构成的向量。

在轨迹的长度达到15帧时,行轨迹校对。这样可使得具有微小或较大的平均漂移和变化的轨迹将被修剪,保留有效的轨迹。

4.6)在轨迹(pt,pt+1,pt+2,...)上构建32×32×15为单位的时空立方体。将立方体细分为2×2×3大小的时空网格。

在所述立方体中计算hog特征、hof特征、mbhx特征、mbhy特征和轨迹特征traj,其维度分别是96、108、96、96、30。。

4.6.1)计算hog特征的主要步骤如下:

4.6.1.1)将所述图像灰度化。

4.6.1.2)采用gamma校正法对所述图像进行颜色空间的标准化。

4.6.1.3)将所述图像划分为8*8的像素。

4.6.1.4)计算所述图像每个像素的梯度。

4.6.1.5)统计每个像素的梯度直方图。

4.6.1.6)每6*6个像素组成一个块。串联所述块内所述像素特征,即得到hog特征。

即在得到运动图像的幅值和角度后,以块为单位对响应值聚合。在空间上以8*8个像素点为单位聚合,时间上以每6帧为一个单位聚合,且响应值被量化为8个方向,就可得到每块的特征为8个维度。在3*3*2为单位的时空立方体内将每一块的特征值连接,得到144维的运动梯度描述符。

4.6.2)对所述图像的光流方向进行加权统计。统计光流方向信息直方图,从而得到hof特征。

4.6.3)提取mbhx特征,即在图像x方向上计算hog特征。

4.6.4)提取mbhy特征,即在图像y方向上计算hog特征。

4.6.5)利用公式12计算轨迹特征traj。

5)为补充表达人体动作在时空间的运动信息,先对相邻两帧视频图像在时间上求导得到时序上的运动图像,然后计算运动图像的空间梯度,得到运动梯度描述符hmg,如图5所示。

计算运动梯度描述符hmg的主要步骤如下:

5.1)对相邻两帧图像在时间上求导。

式中,t(i,i+1)为运动图像,表示第i帧和第i+1帧视频图像对时间的导数。i表示视频帧数。fi是第i帧视频图像。fi+1是第i+1帧视频图像。time为时间。

5.2)计算运动图像的空间梯度,得到人体动作在空间上的运动信息。

式中,x(i,i+1)表示运动图像在水平方向的导数,记作x。y(i,i+1)表示运动图像在垂直方向的导数,记作y。x表示图像水平方向。y表示图像垂直方向。

计算运动图像的幅值mag和角度θ:

5.3)在计算运动图像的幅值和角度后,以块为单位对响应值聚合。在空间上以8*8个像素点为单位聚合,时间上以每6帧为一个单位聚合,且响应值被量化为8个方向,就可得到每块的特征为8个维度。在3*3*2为单位的时空立方体内将每一块的特征值连接,得到144维的运动梯度描述符。

6)利用fv编码分别对稠密描述符hog、稠密描述符hof、稠密描述符mbhx、稠密描述符mbhy、稠密描述符traj和运动梯度描述符hmg进行特征编码。除fv编码外,还可以采用的基于超向量的编码方法包括超矢量编码(svc)和局部聚合描述符矢量(vlad)。fishervector(fv编码)保留一阶、二阶统计信息,比vlad和svc更能充分表达图像信息,而且fv是基于高斯混合模型gmm,使用后验概率将每个描述符“软分配”给码本。fv编码的效果要优于vlad和svc。同时,fv只需简单的线性分类器就能取得较好的分类效果。本实施例采用fv编码。

7)分别对稠密描述符hog、稠密描述符hof、稠密描述符mbhx、稠密描述符mbhy、稠密描述符traj和运动梯度描述符hmg作正则化处理。正则化处理后,将稠密描述符与运动梯度描述符以串联形式相连接形成特征向量。

特征融合的主要步骤如下:

7.1)利用主成分分析法分别对稠密描述符(hog、hof、mbhx、mbhxy、traj)和运动梯度描述符进行降维。

7.2)利用fishervector分别对各个描述符进行特征编码,其中取fv编码中高斯混合模型gmm中的视觉词典大小k=256。并采用l2正则化对fisher向量进行归一化处理。

7.3)将各个描述符的fisher向量以串联的形式相连接形成一组特征向量,得到新的特征描述符idt-mb+hmg。

idt-mb+hmg描述符的构成形式:

idt-mb+hmg:{hog,hof,mbhx,mbhy,traj,hmg}。(18)

式中,稠密描述符hog主要描述静态外观信息。稠密描述符hof描述局部运动信息。稠密描述符mbhx描述光流梯度在x方向上的移动信息。稠密描述符mbhy描述光流梯度在y方向上的移动信息。稠密描述符traj主要描述轨迹的长度和位移信息。运动梯度描述符hmg描述动作信息在时间和空间位置的内在关联。

7.4)将特征描述符idt-mb+hmg作为分类器的输入。

8)线性分类在一定程度上也可降低计算复杂度,故本发明采用线性支持向量机对输入的特征进行模型的训练、学习。

9)利用所述人体动作识别模型对人体动作进行识别。

在结果中,通过分析对比六类特征(hog,hof,mbhx,mbhy,traj,hmg)在hmdb51数据集中识别效果,可以看出,由六类特征相融合得到的idt-mb+hmg描述符的识别效果最佳。融入hmg特征后,整体的识别精度由原来的53.79%提高到了57.58%,可见hmg特征是对稠密特征idt在运动信息上的补充表示。

在单个特征的识别率上,虽然hmg的计算过程与hog类似,但在识别效果上hmg要高于hog,从特征融合的角度可看出hmg特征并不能完全取代hog特征在静态外观信息上的作用。同时,可得出hmg特征的识别效果与idt特征中的hof特征相近。traj特征是基于光流场的特征点轨迹,包含特征点坐标、位移等运动信息,从识别效果来看,其在特征表示中不处于主导地位。从图3可以看出,在计算hmg特征时,是由简单的时间和空间推到得到的,并未涉及光流计算,而光流计算需要大量的计算开销,所以hmg的特征计算在一定程度上节省了计算成本。

本发明在提取稠密特征idt前加入对运动边界的阈值设定,也提高了算法的计算速度。但在在运动边界的阈值设定中存在小部分运动信息的丢失,导致idt-mb较idt的识别精度略有下降。在融入hmg描述符后,进一步增强了人体动作在时间和空间上的表达效果,使得整体识别率得到提高。

总体来说,本发明方法是在保证动作识别精确度的前提下,减少不必要的轨迹计算,从而加快特征编码速度,减少计算复杂度。

10)验证本实施例所述方法的有效性。选取最常用的几种相关人体动作识别方法对应程序,对比实验的参数设置完全相同,动作识别对比效果,如表1、表2和表3所示。

表1在数据集hmdb51和ucf50上的稠密描述符效果对比

表2hog\hof\mbh\traj\hmg特征在hmdb51数据集中识别效果对比(‘/’表示未添加)

表3本发明在数据集ucf50、hmdb51中的识别效果

根据表1、表2和表3可以看出,本实施例所述方法对人体动作的识别准确率最高。

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