一种基于改进维特比算法的连续动作识别方法技术

技术编号:11374779 阅读:135 留言:0更新日期:2015-04-30 12:42
本发明专利技术属于视频处理领域,具体涉及一种基于改进维特比算法的连续动作识别方法,用于高效地识别人体全身连续动作。首先通过建立以人体关节为基准的坐标系消除人旋转平移等因素造成的动作差异性。其次通过按照人体模型的约束对人体骨架坐标进行进一步处理,消除因为人体形的差异,然后通过K-means对人体关节点数据进行编码,然后为每个动作训练对应的隐式马尔科夫模型,接着通过活跃关节的变化、速度快慢、角度大小进行连续动作序列的分割,然后为每个子序列筛选出较好的候选动作,最后通过改进的维特比算法找出最佳路径,进而得到最佳的动作序列。与已有的方法相比,该方法能够高效地识别出连续动作序列中包含的动作。

【技术实现步骤摘要】
一种基于改进维特比算法的连续动作识别方法
本专利技术属于视频处理领域,具体涉及一种基于改进维特比算法的连续动作识别方法,用于高效地识别人体全身连续动作。
技术介绍
随着计算机应用的迅速发展,基于视频序列的人体行为识别逐渐成为计算机视觉领域研究的热点,在人机接口系统、智能家居应用、智能监控、运动分析等方面得到了广泛的应用。对于动作识别这一具有较高应用价值问题,国内外的学者已经做了大量的基础研究。常用的动作识别方法有:基于HMM的方法、基于DTW的方法、基于SVM的方法以及基于神经网络的方法等。对于单个的动作识别这些方法都达到了比较令人满意的效果,但是对于连续的动作识别,国内外的研究学者大多只是专注于手势的识别,并且连续的动作识别没有达到很好的效果。A.Ali等人在文献《Segmentationandrecognitionofcontinuoushumanactivity》(IEEEWorkshopon.IEEE,2001:28-35)实现了基于普通视频的动作分割算法,但是该算法中用于分割的方法不具备良好的鲁棒性。该方法利用一些特定的静态姿态对连续的动作视频进行分割。其它用于分割连续手势序列的文献也都是基于特定的静态手势或者是概率模型,对于手势或者动作的分割都不尽如人意;并且大部分是以实现手势的连续识别为目标,并没有将其拓展到全身动作领域。目前对于全身的连续动作识别还没有系统的方法。本专利技术中涉及到的重要一项已有技术是隐马尔可夫模型。隐马尔可夫模型是一种有效的描述存在于离散时间段上的具有关联关系的数据序列的统计学方法。隐马尔科夫模型的理论基础是在1970年前后由Baum等人建立起来的,随后有CMU的Baker和IBM的Jelinek等人将其应用到语音识别之中,由于Bell实验室Rabiner等人在80年代中期对隐马尔科夫模型的深入浅出的介绍,才逐渐使隐马尔科夫模型为世界各国从事语音处理的研究员所了解和熟悉,进而成为公认的一个研究热点。隐马尔科夫模型是在Markov链(一种有限状态机)的基础上发展起来的。首先介绍两个概念:状态集合和观察序列。状态集合指隐马尔科夫模型所具有的全部状态{S1,...,Si,...,SN},其中N为隐式状态数;观察序列是一个具有上下文关联性的数据序列,用v1,...,vt,...,vT表示,v1,...,vt,...,vT为一个观测序列,其中vt=cb,表示该序列中时刻t的元素的取值为cb,1≤b≤B,B表示每个状态可输出的元素(值)的总数。由于实际问题比Markov链模型所描述的更为复杂,观察到的观察序列中的元素并不是与Markov链中的状态一一对应,而是通过一组概率分布相联系。这样,站在观察者的角度,只能看到观察值,不像Markov链模型中的观察值和状态一一对应。因此,不能直接看到状态,而是通过一个随机过程去感知状态的存在及其特性,这就是所谓的“隐”Markov模型,即HiddenMarkovModel(HMM)。隐马尔科夫模型的三个基本问题是:评估问题、解码问题及学习问题。其中,学习问题是使模型参数最优化,及调整模型参数,以使模型能最好的描述一个给定观测序列,最好的说明这个观测序列就是最优化模型产生出来的,用来解决分类问题。
技术实现思路
本专利技术的目的是针对人体连续动作的识别,提出了一种基于改进维特比算法的连续动作识别方法。该方法首先通过建立以人体关节为基准的坐标系消除人旋转平移等因素造成的动作差异性。其次通过按照人体模型的约束对人体骨架坐标进行进一步处理,消除因为人体形的差异,然后通过K-means对骨骼数据进行编码,然后为每个动作训练对应的隐式马尔科夫模型,接着通过活跃关节的变化、速度快慢、角度大小进行连续动作序列的分割,然后为每个子序列筛选出较好的候选动作,最后通过改进的维特比算法找出最佳路径,进而得到最佳的动作序列。本专利技术的目的是通过下述技术方案实现的。本专利技术的一种基于改进维特比算法的连续动作识别方法,其特征在于:其包括训练过程和识别过程。所述训练过程的具体实施步骤如下:步骤一、对训练数据中的人体全身动作视频数据进行预处理。将每一种人体全身动作的训练数据称为一个训练样本集;一个训练样本集中的训练样本数量用R表示,R≥20。分别对每个训练样本集中的每个人体全身动作视频数据做预处理,得到一条单一动作编码序列。所述人体全身动作视频是通过三维体感摄像机拍摄获得的单个人体全身动作。所述人体全身动作视频为RGB-D格式视频。所述对每个训练样本集中的每个人体全身动作视频数据做预处理,得到一条单一动作编码序列的具体操作步骤为:步骤1.1:利用人体骨架提取工具从每个人体全身动作视频的每帧图像中提取人的骨架信息。所述骨架信息为人体关节点在三维体感摄像机所建立的原始坐标系上的三维坐标值。所述人体关节点的个数用符号m表示,m≥10。所述人体关节点包括头部关节点、脊柱关节点、肩膀中心节点、左肩膀关节点、右肩膀关节点、左肘关节点、右肘关节点、左腕关节点、右腕关节点、左手关节点、右手关节点、臀部关节点、左髋骨关节点、右髋骨关节点、左膝关节点、右膝关节点、左踝关节点、右踝关节点、左脚关节点、右脚关节点。步骤1.2:建立矫正坐标系。以脊柱关节点为坐标原点,以左肩膀关节点和右肩膀关节点的连线为X轴,以垂直于X轴并指向所述三维体感摄像机的方向为Z轴,重建右手坐标系,第三轴为Y轴,则重建的三维坐标系称为矫正坐标系。步骤1.3:获得每个人体全身动作视频的每帧图像中的全部人体关节点在矫正坐标系中的坐标值,得到矫正骨架信息。步骤1.4:为了解决因不同人体型不同造成的对矫正骨架信息的影响,对步骤1.3得到的矫正骨架信息进行归一化处理,具体为:步骤1.4.1:建立人体模型。所述人体模型定义了每两个相邻并连接的关节点之间的距离。步骤1.4.2:按照人体模型中定义的相邻并连接的关节点之间的距离,调整矫正骨架信息,具体操作位:首先保证脊柱关节点位置不变;然后对于其它关节点,在保证相邻并连接的两个相邻关节点连线与矫正坐标系所成角度不变的情况下,调整各个关节点的位置,使相邻并连接的两个关节点的距离与人体模型中与之对应的相邻并连接的两个关节点之间的距离相等。经过步骤1.4的操作,得到归一化处理后的矫正骨架信息。步骤1.5:得到每个人体全身动作视频对应的单一动作编码序列。将每个人体全身动作视频的每帧图像对应的归一化处理后的矫正骨架信息中的m个人体关节点的三维坐标信息,组成一个3×m维的向量;然后通过K均值聚类算法对训练数据中全部人体全身动作视频中的各帧图像对应的3×m维向量进行聚类,并将各帧图像用一个距离最近的聚类中心的序号来表示,该序号称为聚类编码。因此,一个人体全身动作视频用一组代表各帧图像的聚类编码的有序序列表示,该有序序列称为单一动作编码序列。通过步骤1.5的操作,将每个人体全身动作视频表示为一个单一动作编码序列。步骤二、建立HMM分类器。在步骤一操作的基础上,建立HMM分类器。所述HMM分类器的模型参数为λ={N,M,AN×N,BN×M,π,o}。其中,N表示模型的隐式状态数,5≤N≤10;M为显式状态数量,即步骤一第5步中所述对训练数据中全部人体全身动作视频中的各帧图像对应的3×m维向量进行聚类后的聚类数量;AN本文档来自技高网
...
一种基于改进维特比算法的连续动作识别方法

【技术保护点】
一种基于改进维特比算法的连续动作识别方法,其特征在于:其包括训练过程和识别过程;所述训练过程的具体实施步骤如下:步骤一、对训练数据中的人体全身动作视频数据进行预处理;将每一种人体全身动作的训练数据称为一个训练样本集;一个训练样本集中的训练样本数量用R表示,R≥20;分别对每个训练样本集中的每个人体全身动作视频数据做预处理,得到一条单一动作编码序列;所述对每个训练样本集中的每个人体全身动作视频数据做预处理,得到一条单一动作编码序列的具体操作步骤为:步骤1.1:利用人体骨架提取工具从每个人体全身动作视频的每帧图像中提取人的骨架信息;所述骨架信息为人体关节点在三维体感摄像机所建立的原始坐标系上的三维坐标值;所述人体关节点的个数用符号m表示,m≥10;步骤1.2:建立矫正坐标系;以脊柱关节点为坐标原点,以左肩膀关节点和右肩膀关节点的连线为X轴,以垂直于X轴并指向所述三维体感摄像机的方向为Z轴,重建右手坐标系,第三轴为Y轴,则重建的三维坐标系称为矫正坐标系;步骤1.3:获得每个人体全身动作视频的每帧图像中的全部人体关节点在矫正坐标系中的坐标值,得到矫正骨架信息;步骤1.4:为了解决因不同人体型不同造成的对矫正骨架信息的影响,对步骤1.3得到的矫正骨架信息进行归一化处理,具体为:步骤1.4.1:建立人体模型;所述人体模型定义了每两个相邻并连接的关节点之间的距离;步骤1.4.2:按照人体模型中定义的相邻并连接的关节点之间的距离,调整矫正骨架信息,具体操作位:首先保证脊柱关节点位置不变;然后对于其它关节点,在保证相邻并连接的两个相邻关节点连线与矫正坐标系所成角度不变的情况下,调整各个关节点的位置,使相邻并连接的两个关节点的距离与人体模型中与之对应的相邻并连接的两个关节点之间的距离相等;经过步骤1.4的操作,得到归一化处理后的矫正骨架信息;步骤1.5:得到每个人体全身动作视频对应的单一动作编码序列;将每个人体全身动作视频的每帧图像对应的归一化处理后的矫正骨架信息中的m个人体关节点的三维坐标信息,组成一个3×m维的向量;然后通过K均值聚类算法对训练数据中全部人体全身动作视频中的各帧图像对应的3×m维向量进行聚类,并将各帧图像用一个距离最近的聚类中心的序号来表示,该序号称为聚类编码;因此,一个人体全身动作视频用一组代表各帧图像的聚类编码的有序序列表示,该有序序列称为单一动作编码序列;通过步骤1.5的操作,将每个人体全身动作视频表示为一个单一动作编码序列;步骤二、建立HMM分类器;在步骤一操作的基础上,建立HMM分类器;所述HMM分类器的模型参数为λ={N,M,AN×N,BN×M,π,o};其中,N表示模型的隐式状态数,5≤N≤10;M为显式状态数量,即步骤一第5步中所述对训练数据中全部人体全身动作视频中的各帧图像对应的3×m维向量进行聚类后的聚类数量;AN×N为N×N的状态转移概率矩阵;BN×M为N×M混淆矩阵,即隐式状态转移到显式状态的概率矩阵;π为初始隐式状态分布N维向量;o为最终隐式状态分布N维向量,表示最终的隐式状态的分布情况,用于辅助判断动作的起始位置;步骤三、训练HMM分类器;在步骤二操作的基础上,同时训练Q个HMM分类器,Q表示训练数据中人体全身动作类别的数量;即:对应每一种人体全身动作,训练一个HMM分类器;用φq表示第q种人体全身动作对应的HMM分类器,1≤q≤Q;所述识别过程的具体实施步骤如下:步骤四、对待识别人体全身连续动作视频x进行预处理,得到待识别人体全身连续动作视频x的连续动作编码序列;所述待识别人体全身连续动作视频x包括1个以上人体全身动作;步骤4.1:利用人体骨架提取工具从待识别人体全身连续动作视频x的每帧图像中提取人的骨架信息,其包含的关节点与步骤1.1中所述骨架信息中包含的关节点相同;步骤4.2:建立矫正坐标系;以脊柱关节点为坐标原点,以左肩膀关节点和右肩膀关节点的连线为X轴,以垂直于X轴并指向所述三维体感摄像机的方向为Z轴,重建右手坐标系,第三轴为Y轴,则重建的三维坐标系称为矫正坐标系;步骤4.3:获得待识别人体全身连续动作视频x的每帧图像中的人体关节点在矫正坐标系中的坐标值,得到矫正骨架信息;步骤4.4:为了解决因不同人体型不同造成的对矫正骨架信息的影响,对第4.3步得到的矫正骨架信息进行归一化处理,得到归一化处理后的矫正骨架信息;步骤4.5:得到待识别人体全身连续动作视频x对应的连续动作编码序列;将待识别人体全身连续动作视频x对应的归一化处理后的矫正骨架信息中的m个人体关节点的三维坐标信息,组成一个3×m维的向量;然后利用步骤一第5步得到的K个聚类中心,将待识别人体全身连续动作视频x的各帧图像用一个距离最近的聚类中心的序号来表示,得到连续动作编码序列;步骤五、通过步骤三得到的Q个HMM分类器,得到待识别人体...

【技术特征摘要】
1.一种基于改进维特比算法的连续动作识别方法,其特征在于:其包括训练过程和识别过程;所述训练过程的具体实施步骤如下:步骤一、对训练数据中的人体全身动作视频数据进行预处理;将每一种人体全身动作的训练数据称为一个训练样本集;一个训练样本集中的训练样本数量用R表示,R≥20;分别对每个训练样本集中的每个人体全身动作视频数据做预处理,得到一条单一动作编码序列;所述对每个训练样本集中的每个人体全身动作视频数据做预处理,得到一条单一动作编码序列的具体操作步骤为:步骤1.1:利用人体骨架提取工具从每个人体全身动作视频的每帧图像中提取人的骨架信息;所述骨架信息为人体关节点在三维体感摄像机所建立的原始坐标系上的三维坐标值;所述人体关节点的个数用符号m表示,m≥10;步骤1.2:建立矫正坐标系;以脊柱关节点为坐标原点,以左肩膀关节点和右肩膀关节点的连线为X轴,以垂直于X轴并指向所述三维体感摄像机的方向为Z轴,重建右手坐标系,第三轴为Y轴,则重建的三维坐标系称为矫正坐标系;步骤1.3:获得每个人体全身动作视频的每帧图像中的全部人体关节点在矫正坐标系中的坐标值,得到矫正骨架信息;步骤1.4:为了解决因不同人体型不同造成的对矫正骨架信息的影响,对步骤1.3得到的矫正骨架信息进行归一化处理,具体为:步骤1.4.1:建立人体模型;所述人体模型定义了每两个相邻并连接的关节点之间的距离;步骤1.4.2:按照人体模型中定义的相邻并连接的关节点之间的距离,调整矫正骨架信息,具体操作位:首先保证脊柱关节点位置不变;然后对于其它关节点,在保证相邻并连接的两个相邻关节点连线与矫正坐标系所成角度不变的情况下,调整各个关节点的位置,使相邻并连接的两个关节点的距离与人体模型中与之对应的相邻并连接的两个关节点之间的距离相等;经过步骤1.4的操作,得到归一化处理后的矫正骨架信息;步骤1.5:得到每个人体全身动作视频对应的单一动作编码序列;将每个人体全身动作视频的每帧图像对应的归一化处理后的矫正骨架信息中的m个人体关节点的三维坐标信息,组成一个3×m维的向量;然后通过K均值聚类算法对训练数据中全部人体全身动作视频中的各帧图像对应的3×m维向量进行聚类,并将各帧图像用一个距离最近的聚类中心的序号来表示,该序号称为聚类编码;因此,一个人体全身动作视频用一组代表各帧图像的聚类编码的有序序列表示,该有序序列称为单一动作编码序列;通过步骤1.5的操作,将每个人体全身动作视频表示为一个单一动作编码序列;步骤二、建立HMM分类器;在步骤一操作的基础上,建立HMM分类器;所述HMM分类器的模型参数为λ={N,M,AN×N,BN×M,π,o};其中,N表示模型的隐式状态数,5≤N≤10;M为显式状态数量,即步骤一第5步中所述对训练数据中全部人体全身动作视频中的各帧图像对应的3×m维向量进行聚类后的聚类数量;AN×N为N×N的状态转移概率矩阵;BN×M为N×M混淆矩阵,即隐式状态转移到显式状态的概率矩阵;π为初始隐式状态分布N维向量;o为最终隐式状态分布N维向量,表示最终的隐式状态的分布情况,用于辅助判断动作的起始位置;步骤三、训练HMM分类器;在步骤二操作的基础上,同时训练Q个HMM分类器,Q表示训练数据中人体全身动作类别的数量;即:对应每一种人体全身动作,训练一个HMM分类器;用φq表示第q种人体全身动作对应的HMM分类器,1≤q≤Q;所述识别过程的具体实施步骤如下:步骤四、对待识别人体全身连续动作视频x进行预处理,得到待识别人体全身连续动作视频x的连续动作编码序列;所述待识别人体全身连续动作视频x包括1个以上人体全身动作;步骤4.1:利用人体骨架提取工具从待识别人体全身连续动作视频x的每帧图像中提取人的骨架信息,其包含的关节点与步骤1.1中所述骨架信息中包含的关节点相同;步骤4.2:建立矫正坐标系;以脊柱关节点为坐标原点,以左肩膀关节点和右肩膀关节点的连线为X轴,以垂直于X轴并指向所述三维体感摄像机的方向为Z轴,重建右手坐标系,第三轴为Y轴,则重建的三维坐标系称为矫正坐标系;步骤4.3:获得待识别人体全身连续动作视频x的每帧图像中的人体关节点在矫正坐标系中的坐标值,得到矫正骨架信息;步骤4.4:为了解决因不同人体型不同造成的对矫正骨架信息的影响,对第4.3步得到的矫正骨架信息进行归一化处理,得到归一化处理后的矫正骨架信息;步骤4.5:得到待识别人体全身连续动作视频x对应的连续动作编码序列;将待识别人体全身连续动作视频x对应的归一化处理后的矫正骨架信息中的m个人体关节点的三维坐标信息,组成一个3×m维的向量;然后利用步骤一第5步得到的K个聚类中心,将待识别人体全身连续动作视频x的各帧图像用一个距离最近的聚类中心的序号来表示,得到连续动作编码序列;步骤五、通过步骤三得到的Q个HMM分类器,得到待识别人体全身连续动作视频x包含的动作类别序列,具体过程为:步骤5.1:依次从待识别人体全身连续动作视频x的每一帧图像中找出活跃关节;具体为:分别计算当前图像帧中的每个关节与前一图像帧中的对应关节的距离,并将距离最大的关节作为备选活跃关节;如果备选活跃关节与前一帧图像的活跃关节不是同一关节,则判断d2≤2×d1是否成立,如果成立,则将前一帧图像的活跃关节确定为当前帧图像的活跃关节;否则,将当前帧的备选活跃关节确定为当前帧图像的活跃关节;其中,d1表示前一图像帧中的活跃关节与当前图像帧中的对应关节的距离;d2表示当前图像帧中的备选活跃关节与前一图像帧中的对应关节的距离;此方法可以避免因为同时有两个关节在运动而造成的活跃关节在二者之间来回变换;步骤5.2:对待识别人体全身连续动作视频x进行分割;具体为:步骤5.2.1:当相邻两帧图像的活跃关节发生变化时,在两帧图像之间进行分割;分割后的每一段视频称为一个图像子序列;步骤5.2.2:对于步骤5.2.1得到的每个图像子序列,按照动作快慢进行分割;具体为:用D表示当前图像子序列中每帧图像的活跃关节的平均活动距离,活动距离为图像中的活跃关节与前一图像帧中的对应关节的距离;如果同时满足以下3个条件:①前一帧活跃关节的活动距离不大于0.3×D;②当前帧活跃关节的活动距离大于0.3×D;③当前帧之前的连续e帧图像活跃关节的活动距离均不大于0.3×D;则在当前帧与前一帧图像之间做分割;其中,5≤e≤15;经过步骤5.2.2的操作,得到更多图像子序列;步骤5.2.3:对于步骤5.2.2得到的每个图像子序列按照动作变化角度进行分割;具体为:用p1表示前一帧活跃关节;用p2表示当前帧活跃关节;用p3表示后一帧活跃关节;如果向量与向量的夹角大于60度,则在当前帧与下一帧之间做分割;经过步骤5.2的操作,完成对待识别人体全身连续动作视频x的分割,得到的图像子序列的数量用符号H表示,H≥1;步骤5.3:选出候选动作;依...

【专利技术属性】
技术研发人员:张磊白栋天黄华
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1