一种基于SEHM特征图序列的动作识别方法与流程

文档序号:12468315阅读:582来源:国知局
一种基于SEHM特征图序列的动作识别方法与流程

本发明涉及图像识别领域,更具体地,涉及一种基于SEHM特征图序列的动作识别方法。



背景技术:

伴随着摄像头传感器技术的发展,摄像头的清晰度水平有着普遍的提高,而使得摄像头在各种场景中出现的数目和概率大大增加。当今时代互联网的浪潮下,大量的图像视频数据在每天的生活中涌现,也带动了图像处理技术的发展。动作识别技术作为图像处理技术中的一个领域,一直广泛应用于许多场景中,包括视频监控、体感游戏、健康护理、社会援助等方面。例如,微软在2010年推出了Xbox360的体感外设——Kinect,可以在主机游戏中作为深度摄像头捕捉玩家的肢体动作并与游戏进行互动;除此之外,开发者还可以利用开发工具包,在Windows平台上开发出自己应用,如模拟穿衣等。

在拥有广泛的应用场景的同时,动作识别的发展也一直存在着许多的技术难点和约束条件。

第一是客观条件的制约。在视频图像序列中,因为实际拍摄情况,常常会出现无法避免的妨碍因素,如摄像头中的人遇到其他物体的遮挡(物体遮挡);摄像头因为不是一直固定的原因造成摄像画面出现晃动(视角抖动);同一个人在光线和阴影中其颜色发生改变(光照条件);不同摄像头因为镜头的好坏造成画面清晰度有很大的区别(分辨率)。在动作识别领域,甚至于图像处理领域,上述都是必须考虑的问题。

第二是主观条件的影响。作为动作识别处理的主体,不同人对于同一个动作有自己的定义和理解,即使是同一个动作也会有一些细微的差别。具体的表现为不同的人做同样一个动作,动作的长短、幅度、停顿等往往会造成整个图像序列许多的不同。除此主体动作造成的不同外,不同人因为年龄性别原因在体型结构上也会有些许差异;离摄像头的距离、面对摄像头的角度都会使得记录的动作间有巨大的差别。上述所说的每一个因素都有可能增加数据的多样性。同时,为了实现动作识别算法,为不同的行业和场景提供具体的接口与应用,不仅要考虑动作识别算法的准确率,还要考虑其他约束条件,例如成本问题和实时性问题。

在动作识别算法中,一般都以传感器作为原始的输入数据,配合预处理、特征计算和分类模型等过程进行动作的分类判断。传统的动作识别方法一般都是以传统的RGB摄像头为输入的方法,但随着各种新的传感器出现,越来越多种类的传感器被应用到动作识别方法中去,如深度摄像头、红外线摄像头和加速度传感器等。新的传感器的出现使得新的输入数据被应用到动作识别方法中,甚至于诞生了许多模型融合方法。深度图作为有别于传统RGB图的新数据,每个像素记录的不是颜色值而是距离摄像头的距离。因为其具有距离信息,以此为基础的研究和算法获得了越来越多的关注和兴趣。

参考文献一公开了一种动作识别方法,该方法以深度图作为输入,根据深度图的距离信息把深度图投影到三个正交坐标系的不同平面中:正视图、侧视图面、俯视图。文献一提出了一个新的特征图——深度能量图;然后计算不同视图下的深度能量图对应的HOG特征并输入SVM分类器进行预测分类。该方法直接把整个深度视频序列合为一张深度能量图,没有充分考虑到动作在整个动作前后间的重叠、冗余信息,也没考虑整个动作中人体姿态的前后变化。在前后出现了多个不同动作的视频中,并不能正确地分割并生成多个动作的能量图导致无法识别出多个动作(前后多动作视频识别);同理,在线识别中因为不能选取结束帧导致无法合成深度能量图,即无法满足实时性的需求。

参考文献二公开了一种动作识别方法,该方法同样把深度图先投影到三个坐标面上并计算出对应的深度能量图,然后引用另外一个特征算子LBP作高级特征。计算出了深度能量图的LBP特征后,再用改进的极限学习机模型做动作识别。该方法同样把整个视频序列处理为一张深度能量图,并没有考虑动作前后姿势的内在联系,无法满足前后多动作视频识别、在线识别和实时性等需求。

参考文献三公开了一种动作识别方法,该方法同样把深度图投影到三个不同的视角图,不同于参考文献一、参考文献二只计算整个视频中代表距离变化的深度能量图,该方法计算出深度距离活跃区域的历史轨迹图,把姿态出现的次序纳入考虑;同时也提出了静态姿势图和平均能量图,丰富了特征的输入。然而,该方法虽然考虑了姿态的出现顺序,但是并没有充分考虑整个视频序列中前面的历史姿态会被后面的姿态覆盖的问题,导致某些动作的前半部分被后半部分所覆盖而丢失了许多信息。把整个视频序列合成历史轨迹图虽然一定程度上考虑了姿态前后出现的情况,但没有考虑一些冗余动作的干扰。虽然加入了静止区域的计算,但还是只考虑了动作能量图的绝对值而没有考虑动作能量的正负方向。与参考文献一、参考文献二相似,参考文献三同样无法满足前后多动作视频识别,在线识别和实时性需求。

参考文献一:Yang,Xiaodong,C.Zhang,and Y.L.Tian."Recognizing actions using depth motion maps-based histograms of oriented gradients."ACM International Conference on Multimedia 2012:1057-1060.

参考文献二:Chen,Chen,R.Jafari,and N.Kehtarnavaz."Action Recognition from Depth Sequences Using Depth Motion Maps-Based Local Binary Patterns."Applications of Computer Vision IEEE,2015:1092-1099.

参考文献三:Liang,Bin,and L.Zheng."3D Motion Trail Model Based Pyramid Histograms of Oriented Gradient for Action Recognition."International Conference on Pattern Recognition IEEE Computer Society,2014:1952-1957.



技术实现要素:

本发明为解决以上现有技术的难题,提供了一种基于SEHM特征图序列的动作识别方法,该方法的能够实现离线识别和在线识别,方法的实时性较好。

为实现以上发明目的,采用的技术方案是:

一种基于SEHM特征图序列的动作识别方法,包括以下步骤:

S1.针对视频中选定的时间段长度为N帧的深度图序列,将深度图序列中每一帧的深度图投影到三个正交坐标系的不同平面中,得到三个正交的视角图:正视图、侧视图和俯视图;

S2.对于每个视角图下的深度图序列,计算其相邻两帧的差值作为能量图,其中每帧能量图代表着前后帧的距离变化;然后根据能量图的具体数值和设定的阈值将能量图分为三种状态图:向前状态的二进制图、向后状态的二进制图或静态的二进制图。具体如下:

其中为在视角图v下第t帧的能量图;ε为所设的阈值;表示后一帧减去前一帧的差值的绝对值;i=1,2,3,分别代表向前状态的二进制图、向后状态的二进制图和静态的二进制图;第t帧的状态图通过一个三通道矩阵EMt进行表示;

S3.执行步骤S2后分别得到三个视角图下的状态图序列;将三个视角图的N帧状态图序列分别按照前后顺序平均分为S个时间片,S=N/K,其中K表示每个时间片的长度;对于每个视角图下的状态图序列,按照从前到后的顺序依次选取一个时间片的状态图序列进行SEHM特征图的计算:

S31.设第p次选择进行计算的时间片的状态图序列是从N帧状态图序列的第(p-1)*K+1帧开始而在第p*K帧结束的,则该时间片的SEHM特征图由以下公式和步骤S32计算得到:

SEHMp=max(SEHMp,EM(p-1)*K+k·k)

其中,k的初始值为1,SEHMp是初始值被设为零的三通道矩阵;

S32.令k=k+1然后执行步骤S31的公式直至k>K,最后经过标准化处理后输出SEHMp作为第p次选择进行计算的时间片的SEHM特征图;

S4.通过步骤S31、S32得到三个视角图下各个时间片的SEHM特征图;

S5.将三个视角图下相互对应的时间片的SEHM特征图进行融合,得到融合的以时间片为单位的SEHM特征图;

S6.融合后的各个时间片的SEHM特征图构成SEHM特征图序列,将SEHM特征图序列输入到神经网络中,神经网络输出一列代表各个动作可能性的概率向量P,根据输出的概率向量P确定当前N帧深度图序列的动作识别结果。

上述方案中,动作识别方法在进行动作识别时是基于SEHM特征图进行动作识别的。通过合理选择算法中时间片长度等参数,计算相应的SEHM特征图序列并应用到神经网络进行预测,能够在动作识别上实现离线识别和在线识别的功能。且由于构建的SEHM特征图是与动作整体姿态的前后变化相关的,因此可以充分地利用动作变化过程中的动作信息,提高动作识别的准确度。同时,在进行SEHM特征图计算时对原始数据进行了一定的压缩,方法的复杂度和硬件的要求较低,并能做到在线的实时动作识别。

优选地,分别对三个视角图下的N帧状态图序列进行SEHM特征图的计算,然后对计算得到的三个视角图下的SEHM特征图进行融合,得到全局SEHM特征图;所述步骤S6中,全局SEHM特征图与各个时间片的SEHM特征图构成SEHM特征图序列,将该SEHM特征图序列输入神经网络中进行动作识别。通过以上设置,能够将整个时间段长度的动作特征考虑在内,进一步提高动作识别的准确率。

优选地,所述步骤S1中,选定N帧深度图序列进行动作识别时,是通过滑动窗口进行选定的,所述滑动窗口包括一个窗口大小值m,表示下一次选取的深度图序列的起始帧距离上一次选取的深度图序列的起始帧的时间长度。一段视频可以通过滑动窗口的形式选取多段长度为N帧的时间段进行动作识别,模型最后也会分别给出每段的结果预测。

优选地,所述ε=30。

优选地,所述K=10。

优选地,所述N=80。

优选地,所述步骤S5中,将正视图、侧视图和俯视图相互对应的时间片的SEHM特征图按照2:1:1的比例进行融合。

优选地,所述神经网络包括卷积层、磁化层、LSTM层、全连接层和Softmax层;

其中卷积层和磁化层用于从SEHM特征图序列中提取高级特征;

所述LSTM层用于对提取的特征图序列的高级特征进行前后文处理,输出识别效果更好的具有时序信息的高级特征;

所述全连接层和Softmax层用于接收LSTM层或卷积层、磁化层输出的高级特征,输出一列预测概率向量P。

优选地,所述概率向量P包括若干个概率pi,其中pi表示动作识别为动作i的概率;

则步骤S6中确定动作识别结果的过程如下:

设定一个值在0至1之间的阈值ρ,若概率向量P中没有一个动作的概率大于ρ,则认为N帧深度图序列内的动作为无意义动作;否则取识别概率值最大的动作作为识别结果进行输出。

优选地,所述ρ=0.5。

与现有技术相比,本发明的有益效果是:

本发明提供的动作识别方法在进行动作识别时是基于SEHM特征图进行动作识别的。通过合理选择算法中时间片长度等参数,计算相应的SEHM特征图序列并应用到神经网络进行预测,能够在动作识别上实现离线识别和在线识别的功能。且由于构建的SEHM特征图是与动作整体姿态的前后变化相关的,因此可以充分地利用动作变化过程中的动作信息,提高动作识别的准确度。同时,在进行SEHM特征图计算时对原始数据进行了一定的压缩,方法的复杂度和硬件的要求较低,并能做到在线的实时动作识别。

附图说明

图1为挥手动作的SEHM特征图序列的结构分解图。

图2为实施例用到的具备LSTM层的神经网络的整体的结构图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

以下结合附图和实施例对本发明做进一步的阐述。

实施例1

不同的人对于同一个动作有自己的定义和理解,其中一个最为明显的表现就是动作长短的不同。而又由于主观原因同一个人在不同的时间里做同一个动作的时间也不一样。现有的大多数的方法一般都只是将整个深度视频序列合并成一张新的特征图。但这样做的后果是导致视频序列中的很大一部分时空信息丢失了,特别是像单手在身前划叉等姿势重叠部分比较多的动作更是容易丢失很多信息。为了减少信息的丢失,本发明提出了SEHM特征图(segment energy history maps)。

对于时间段长度为N帧的深度视频序列,先把每一帧的深度图投影到三个正交的视角图(Mapf,Maps,Mapt):正视图、侧视图、俯视图。针对每个视图下的深度图序列接下来都会进行能量图的计算。对于每个视图下的深度图序列,本发明会计算序列中相邻两帧的差值(后一帧减去前一帧)作为能量图。每张能量图代表着前后帧的距离变化。根据获得的每张能量图的具体数值,本发明根据阈值把它们分为三个状态的二进制图:向前状态的、向后状态的、静态状态的。具体如下:

其中为在视角图v下第t帧的能量图;ε为所设的阈值;表示后一帧减去前一帧的差值的绝对值;i=1,2,3,分别代表向前状态的二进制图、向后状态的二进制图和静态的二进制图;第t帧的三个状态图通过一个三通道矩阵EMt进行表示;

通过计算,可以得到不同视角下的能量图序列。但是并不能直接把能量图直接当作输入数据用到神经网络,这是因为:

1、图像识别往往需要用到上百万的数据集才能获得较好的效果;而一些简单动作的长度一般都有几十到上百帧的图片,且每个主体都为外形相似的人;相比图像识别来说,动作识别想要获得类似的效果需要的数据集远远比前者多。因此若以每帧的数据作为输入,则训练模型时需要较大的数据集才可得到比较可观的结果。

2、因为神经网络中的LSTM层需要考虑所有输入序列的前后关系,若以视频中的每一帧做输入单位,要么选取的时间段合适但计算量较大且对硬件的需求比较高;要么选取的时间段过短影响模型训练结果。

综上所述,本发明先对原始深度序列进行了适当的压缩合并——SEHM特征图计算。

当计算了当前时间段下每个视图下的所有能量图序列后,就可以把每帧的能量图合成为SEHM特征图。为了考虑算法的实时性,必须综合考虑动作数据的具体情况选取合适的N和K的值做SEHM特征图计算。同时为了达到前后多动作视频识别、在线识别和实时性的功能,采用滑动窗口的形式把视频分为多个时间段分别进行识别。例如,某个视频的长度为120帧,若每次取80帧作为时间段的长度,滑动窗口为40帧,则需对1到80帧、41到120帧的深度图序列分别做SEHM特征图序列计算。通过计算可以得到两个时间段的SEHM特征图序列;经过神经网络模型分别得出两个时间段的动作识别结果,从而实现在线识别等功能。

而对于某个时间段长度为N帧的能量图序列,将三个视角图的N帧状态图序列分别按照前后顺序平均分为S个时间片,S=N/K,其中K表示每个时间片的长度;对于每个视角图下的状态图序列,按照从前到后的顺序依次选取一个时间片的状态图序列进行SEHM特征图的计算:

S31.设第p次选择进行计算的时间片的状态图序列是从N帧状态图序列的第(p-1)*K+1帧开始而在第p*K帧结束的,则该时间片的SEHM特征图由以下公式和步骤S32计算得到:

SEHMp=max(SEHMp,EM(p-1)*K+k·k)

其中,k的初始值为1,SEHMp是初始值被设为零的三通道矩阵;

S32.令k=k+1然后执行步骤S31的公式直至k>K,最后经过标准化处理后输出SEHMp作为第p次选择进行计算的时间片的SEHM特征图;

计算完了时间片的特征图后,类似地还需要计算整个时间段的全局SEHM特征图。全局SEHM特征图从时间段的第一帧开始,最后一帧结束。通过上述操作,SEHM特征图进行了压缩并且保留了视频中的关键的姿态信息。对于一般速度和复杂程度的动作,可以考虑N=80,K=10。

同时为了得出最后的识别结果,必须要把三个视角下的SEHM特征图进行融合。考虑到神经网络具有处理图片的局部与整体关系的能力,本发明把多视角下每个相应时间片的SEHM特征图或时间段的全局SEHM特征图按2:1:1的比例合并为一个最终的SEHM特征图。最终的SEHM特征图则交由神经网络提取特征。图1给出的合并后的最终的SEHM特征图序列的结构组成。

对于模式识别方法来说,除了对原始数据进行了特征提取外,算法模型就是最为重要的部分。因为SEHM特征图序列已经进行了压缩和前后排序,所以LSTM(long short term memory)层这种具备处理有序输入的模型会有比较好的效果。而LSTM在自然语言与语音领域已经取得了较大的成果,近年来也开始引用到图像领域。

深度神经网络在数据集越大时发挥的效果越好,可以选择对模型进行预处理。Alexnet网络模型是针对RGB图的图像识别模型,其中人就是其任务的一个识别类型。考虑到SEHM特征图是明显具有人体的轮廓特征的三通道特征图,可以认为本发明的SEHM特征图以Alexnet的卷积层和磁化层的参数为初始值再训练会得到较好的结果。使用Alexnet网络的卷积层和磁化层的网络结构作为本发明的神经网络结构前段的同时把LSTM网络层接在神经网络模型的后段,这样可以加速模型前半段的训练速度和提高精度。神经网络模型的整体的结构图如图2所示。

可从图2中看出,全局SEHM特征图和SEHM特征图序列都经历了卷积磁化层提取高级特征;不同的是因为SEHM特征图序列因为具备了前后文信息可经过LSTM层处理提出更好的高级特征;而全局SEHM特征图因为涵盖了整个时间段的信息不需要再经过LSTM层。最后把它们的高级特征输入全连接层和Softmax层得到一列概率向量P(其中向量中每项pi代表判断为该类的概率)。

对于某个时间段的概率向量P,可以定义了一个阈值在0和1之间ρ,若概率向量中没有一个分类的pi大于ρ,则认为该时间段的动作为无意义动作;否则取概率pi最大的类别作为预测动作。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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