基于整合深度典型时间规整及相关修正的行为识别方法与流程

文档序号:11177759阅读:512来源:国知局
基于整合深度典型时间规整及相关修正的行为识别方法与流程
本发明涉及人体行为识别领域,具体涉及一种基于整合深度典型时间规整及相关修正的行为识别方法。
背景技术
:人类行为识别属于计算机视觉和行为模式识别领域,在最近的几年逐渐成为了一个热门课题。在人机交互、安保监控、及基于内容的视频检索等方面,行为识别都有巨大的实际使用价值,行为识别的作用随着信息化的建设正日益突出其重要作用。同时,行为识别对计算机视觉的其他领域也有一定的促进作用,例如人脸识别、步态分析等。过去由于科技的限制,大部分行为识别都基于2d的视频和图像,识别的效果都不理想。随着深度摄像头等3d技术的发展和普及,人类行为识别也逐渐从平面的特征识别向立面的特征识别发展,3d行为识别成为人类行为识别的主要研究方法。在采集运动特征的过程中,不同的运动速度会导致产生的数据在时间序列上出现较大的差异。因此在行为识别的过程中,数据对齐是影响识别的准确率的重要因素。现有的3d行为识别光流模型、3d骨骼模型、3d轮廓模型、时空特征。现有的基于3d骨骼的行为识别方法使用多个摄像头或者其他传感器,将整个运动中每一帧所有关节的位置信息用坐标的方式表示出来,每一帧的数据在时间序列上的排列就构成了这个动作的全部信息。这是一种基于点特征的特征描述方法。人体可以看成一个由刚体段构成的铰接系统,连接点就是人体的关节,在计算机视觉中,大量的研究是通过提取关节信息或检测局部身体部位来识别行为。将人类的身体分割成几个部分进行行为识别的方法,从单一的图像中提取人体的关节位置信息,并将人体分成头、颈部、肩膀、手臂、肘部、手腕、手、躯干、腿、膝盖、脚踝等部分,不同的动作可以用不同的部分表示。这种方法激发了计算机视觉领域的科研人员的兴趣,利用骨骼的铰接性识别人类行为成为行为识别领域的热点。但是,现有技术存在识别精度低、识别时间长的问题。因此,提供一种识别精度高的基于3d骨骼的行为识别方法就很有必要。技术实现要素:本发明所要解决的技术问题是现有技术中存在的检识别精度低、时间长的技术问题。提供一种新的基于3d骨骼的行为识别方法,该基于3d骨骼的行为识别方法具有识别精度高的特点。为解决上述技术问题,采用的技术方案如下:一种基于整合深度典型时间规整及相关修正的行为识别方法,包括图像预处理、图像分析、图像理解,所述图像分析包括:(1)将人体的行为表示为刚体位移,将刚体位移分解为刚体平移和刚体旋转,用齐次矩阵李群se(3)表示刚体位移,反应齐次矩阵李群为se(3)全部信息的李代数为so(3);(2)采集的骨骼数据建立骨骼模型c(t),骨骼模型c(t)中有n段骨骼刚体,在t时刻,将一段骨骼定义为另一段骨骼位移的结果,一段骨骼与另一段骨骼之间的位置关系定义为位移映射关系,在欧式空间中,将位移映射关系表示为齐次矩阵李群se(3),然后将齐次矩阵李群se(3)相应的李代数so(3)作为运动特征,建立基于李代数相对特征描述方法的骨骼模型c(t),并对骨骼模型c(t)进行差值处理,李代数相对特征描述方法即liealgebrarelativepairs,简称larp,其中,n为正整数;(3)使用深度典型时间规整方法对齐所述骨骼模型c(t),得到对齐后的特征样本;(4)利用相关性特征,修正步骤(3)中对齐特征样本,得到修正后的对齐特征样本;(5)使用支持向量机对修正后的特征样本进行分类,得到行为识别结果。本发明的工作原理:为了增强行为识别的效果,我们利用相关性修正了对齐后的测试样本,获得了更好的测试结果。主要是通过训练,深度典型时间规整使样本之间的相关性得到了提高。上述方案中,为优化,进一步地,深度典型时间规整方法为整合深度典型时间规整方法。主要改进了深度典型时间规整方法,即dctw中的深层网络结构,目的是适当的减少算法的运行时间。在将dctw运用到larp的过程中,对训练样本中的每组数据都进行非线性变换虽然能提高行为识别的精确度,但是由于需要计算的梯度过多,导致算法的运算时间过长,因此我们尝试找到其他的简单方法。实际训练的目的是找到一组一般性的数据特征,对样本中的每一组数据求损失函数不是必须的,我们尝试用动态时间规整平均的方法首先得到一组数据,将这组作为全部样本的代表计算损失函数,这样深层网络中需要的计算量得到了显著的改善,能够减少计算时间。进一步地,步骤(4)所述相关性特征包括将骨骼模型c(t)与对齐后的特征样本对齐,计算骨骼模型c(t)与对齐后的特征样本每一帧的相关性,利用相关系数x∈r为变量计算修正系数,将修正系数与每一帧的特征数据相乘改变对应帧的权重,修正系数服从修正函数ex。进一步地,步骤(3)所述整合深度典型时间规整方法包括:利用权重w(t)和深层网络的激活函数对骨骼模型c(t)进行非线性变换,得到变换样本c’(t),将变换样本c’(t)中第一组数据c’1作为标准数据,使用动态时间规整方法将变换样本c’(t)分别与标准数据c’1对齐、求平均后得到整合特征c,根据合特征c与标准数据c’1及:计算协方差,并进行svd分解得到u、v,根据u、v,变换样本c,(t)及计算出与变换样本c,(t)一一对应的梯度g(t),根据梯度g(t)和深层网络的学习率更新权重w(t),收敛后,将所有经过深层网络变换的训练特征c1f,c2f,c3f…-与标准数据c’1对应的训练特征cf用动态时间规整对齐后平均,计算结果为对齐特征样本;其中,深层网络的总层数至少为2。进一步地,所述深层网络为bp网络,bp网络包括一个输入层、一个输出层及两个隐层。进一步地,步骤(2)所述差值处理包括使用插值方法,所述插值方法包括:通过插值得到帧数相同的特征,插值公式为:其中,定义q1,q2,q3…qn∈se(3)分别为t1,t2,t3…tn时刻的瞬时相对位置。进一步地,所述步骤(2)中所述建立基于李代数相对特征描述方法的骨骼模型c(t)包括:选择骨骼模型中的em骨骼及en骨骼进行分析,em骨骼的端点为em1及em2,en骨骼的端点为en1及en2,以端点en1为原点,en骨骼的方向向量为轴,骨骼em和骨骼en所处面为坐标面建立坐标系,em骨骼的端点em1及em2的相对位置表示成:en的端点相对于em的位置为:em骨骼与en骨骼的位移映射关系为em骨骼与en骨骼的相对位置关系为:根据em骨骼与en骨骼的相对位置关系计算每个骨骼和其他骨骼的相位移映射关系ve(b),定义骨骼模型有n段骨骼刚体,得出t时刻的骨骼模型形状为c(t)为:c(t)=(ve(b1,2),ve(b1,3),…,ve(bn,n-1)),ve(b)=(u1,u2,u3,v1,v2,v3)其中,c(t)共有6×n×(n-1)个向量,n与m均为小于n的正整数。进一步地,所述图像预处理还包括图像降噪和图像增强。一个矩阵李群的对数能构成一个李代数空间,李群中的信息能够完全转化成李代数的形式。用李群可以表示刚体的位移,刚体的位移变换可以分解成平移和旋转两部分。假设作为坐标原点的p在刚体位移过程中的位移向量为q∈r3,刚体围绕p做出的旋转为r∈so(3),那么我们可以将两者结合,得到一对位移坐标(q,r)来表示这个刚体位移,所有这样的坐标构成了一个集合se(3):se(3)={(q,r):q∈r3,r∈so(3)}=r3×so(3)。令x1,x2分别表示平移前和平移后的位置,那么可以得到:x2=q+rx1,其中q,r∈se(3)表示刚体的位移,se(3)中的元素表示刚体的位移变化。为了将平移和旋转用更简单清楚的方法表示出来,采用齐次矩阵来表示刚体的变换。在齐次化的过程中,这里用1来表示点的位置,向量用0来表示。一个点的位置变换可以表示成:为4×4矩阵,为g∈se(3)的齐次表示重新定义se(3),将原se(3)中的元素全部齐次化得到新的se(3),新的se(3)在乘法运算下能构成一个群,se(3)满足刚体位移条件,因此se(3)能够表示刚体的位移,表示的就是绕轴的旋转变换,q为旋转轴上的一点,由于坐标系是以位移前的q点为原点,因此位移后的q点反映出了q点的平移变换情况,se(3)是一个李群。必定存在一个李代数能反映se(3)的全部信息。使用se(3)描述基于3d骨骼的人类行为特征。行为识别的对象为视频或图像序列,在这些对象中,人的动作都是离散的,也就是说,人的运动是通过若干个静止的骨架形状排列而成,因此基于3d骨骼的人类行为识别的特征描述就是找到能描述静止的骨骼形状的方法。将两段骨骼之间的位置关系理解为位移映射关系,也就是说把一段骨骼看成是另一段骨骼位移的结果,在欧式空间中,某一段固定的骨骼相对于另一段骨骼的位置同样也能用李群表示出来,然后找到相应的李代数作为运动的特征。李代数相对描述方法的目的就是计算出每个骨骼和其他骨骼之间的相对位置关系,并使用ve(b)表示。假设一个骨骼模型有n段骨骼刚体,那么在t时刻,这个骨骼模型的形状可以表示成c(t)=(ve(b1,2),ve(b1,3),…,ve(bn,n-1)),这个向量共有数量6×n×(n-1)个。动态时间规整的处理对象是在时间序列上排列的数列,令这两个数组分别为x:x1,x2,x3,…,xn和y:y1,y2,y3,…,ym,长度分别为n,m∈r。这两个数组可能是离散的信号,或者更普遍的,是在采集特征数列的过程中产生的时间等距点。这里设这个特征空间为f,那么xn,ym∈f,其中n∈[1,n],m∈[1,m]。通常,当比较两个不同的特征x,y∈f,需要一个函数作为比较两个特征相似性的方法,这个函数满足c:f×f→r≥0。如果x和y的相似性越高,c(x,y)的值就越小。考虑所有x和y中的元素组成的数对,动态时间规整的目的就是找到一个最优的组合,使x和y中的元素两两组合之后得到的所有c(x,y)相加之后的值最小。动态时间规整本身具有不能处理维度不同的数列的缺陷。本发明采用一种改进的方法,整合深度典型时间规整。并引入典型相关性分析,加强需要对齐的两个数列的相似性,在相似度较高的情况下,对齐的准确率能有大幅的提升。两个数据之间的相关性是对象之间线性联系的度量。相关性越高的两组数据就越相似。两组数据的相关性反映的是这两组数据线性相关程度,相关性越大,就越容易从一组数据预测出另一组数据的分布。在行为识别的过程中,相关度高的两个数组表示的骨架形状也有较高的相似度。典型相关性分析的作用就是通过线性变换使两组数据具有更高的相关度。深度典型相关性分析将典型相关性分析中的线性变换变为非线性变换,使两个数列在变换之后的相似度达到更高的水平。深度学习指有超过两层的深度深层网络,能够通过抽象的多层嵌套形成的非线性函数获得更接近现实的效果。通过深度学习,能通过初始化参数并通过训练更新的形式得到很好的效果。在深度典型相关性分析中,深度学习主要是为了找到使两个数列的相关度更高的非线性变换。深度学习中的数列经过非线性变换之后,通过相应的方法计算深层网络的损失函数,然后根据损失函数确定各个权重的梯度,在梯度的基础上更新权重,最终达到稳定的状态,此时的权重就是深层网络更新多次后的最终结果,最后的输出结果就是深层网络的解。典型时间规整是在对齐数列之前,首先将数列进行典型相关性分析,提高这两组数据的相关性,在高相似性的情况下,数列的对齐能得到更好的效果。深度典型时间规整是首先利用深层网络中的函数对数据进行非线性变换,然后进行典型相关性分析,通过损失函数更新非线性映射中的各项参数,最终得到稳定的结果。融合深度典型时间规整主要是对深度典型时间规整进行改进。具体改进深层网络中的损失函数的计算方式。对经过非线性变换的样本f1,f2,f3,…,利用动态时间规整计算过程得到一个整合的函数fdtw,然后我们选择样本中的f1,利用这两个样本计算在计算损失函数时,利用fdtw和f1计算协方差,k以及奇异值分解k后得到的u和v也都是由这两个样本计算,将各样本f1,f2,f3,….计算为在深层网络的一个循环中只需要计算一次k及svd分解,同时以及也同样只需要计算一次,能够节省大量的时间。为了提高识别的精确度,我们尝试利用相关性对特征进行修正。通过对齐后的测试样本和训练得到的一般性特征数据的相关性,测试数据对齐的效果。由于larp运动特征矩阵的结构如图8所示,为特征矩阵的结构中时间序列表示,图9为相对应的相关系数计算方式。通过测试矩阵的每一列与一般性矩阵相应的列之间的相应系数评估对齐的效果。利用相关系数作为测试样本相关性的评估,增加相关性较高的帧数在识别中的作用,降低相关性较低的帧数的作用。为区分相关性之间的差异,把相关系数x∈r作为变量计算系数,通过相乘的形式改变帧数的权重,选择修正函数为ex,修正流程如图10。经过整合深度时间规整对样本相关性的调整,测试样本与训练结果之间的相关性大部分在0-0.2之间,极少出现负相关的情况。因此,能够区分相关性较低的帧与其他相关性高的帧,并降低相关性低的帧权重。本发明的有益效果:效果一,通过采用融合深度典型时间规整及相关性修正对齐提高了识别准确度;效果二,克服了现有3d骨骼行为识别的缺陷;效果三,使用融合深度典型时间规整显著降低了行为识别的计算时间。附图说明下面结合附图和实施例对本发明进一步说明。图1,实施例1中3d行为识别流程示意图。图2,实施例1的行为识别结果示意图。图3,整合深度典型时间规整深层网络结构示意图。图4,动态时间规整整合方法示意图。图5,刚体运动拆分示意图。图6,人体运动行为骨骼示意图。图7,修正函数示意图。图8,矩阵的时间序列表示示意图。图9,相关系数计算示意图。图10,修正流程示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。实施例1本实施例提供一种基于整合深度典型时间规整及相关修正的行为识别方法,包括图像预处理、图像分析、图像理解,如图1,所述图像分析包括:(1)将人体的行为表示为刚体位移,将刚体位移分解为刚体平移和刚体旋转,用齐次矩阵李群se(3)表示刚体位移,李代数so(3)反映齐次矩阵李群se(3)全部信息;(2)采集的骨骼数据建立骨骼模型c(t),骨骼模型c(t)中有n段骨骼刚体,在t时刻,将一段骨骼定义为另一段骨骼位移的结果,一段骨骼与另一段骨骼之间的位置关系定义为位移映射关系,在欧式空间中,将位移映射关系表示为齐次矩阵李群se(3),然后将齐次矩阵李群se(3)相应的李代数so(3)作为运动特征,建立基于李代数相对特征描述方法的骨骼模型c(t),并对骨骼模型c(t)进行差值处理,其中,n为正整数;(3)使用深度典型时间规整方法对齐所述骨骼模型c(t),得到对齐后的特征样本;(4)利用相关性特征,修正步骤(3)中对齐特征样本,得到修正后的对齐特征样本;(5)使用支持向量机对修正后的特征样本进行分类,得到行为识别结果。本实施例采用通过kinect制作出来的florence3d-action数据集作为实验对象。kinect一共包括3个摄像头,中间的是rgb摄像头,用来捕捉分辨率为640×480的彩色图像,每秒钟获取30帧图像,两边是两个深度传感器,用来检测用户的相对位置。florence3d-action数据集使用一个位置固定的kinect传感器收集数据。它由10个不同的人分别进行9种的不同动作构成。每个人进行每一次动作两到三次,整个数据集总共有215个动作。数据集中的骨架模型由15个关节构成。本实施例中,对每个人选择一半的动作作为训练样本,将剩下的一半作为测试样本。florence3d-action数据集中的骨架信息是在kinect平台输出的骨架上加工得到。kinect的视频的速度保持在30帧。在kinect的骨架模型中,如图6,为行为骨骼示意图,类似地,前臂、上臂、躯干、头部这些身体部分都被视为刚体。建立一个绝对坐标系表示各个关节,原点是kinect的位置,x轴为水平向左方向,y轴垂直向上,z轴为kinect正前方向,每个关节在坐标系中都有一个位置坐标。考虑到关节运动时的相关性,kinect的原始模型的数据存在大量的冗余,因此需要在这些数据的基础上进行改进。本实施中假设人体中一些相关性较高的关节是相对固定不变的,人体的躯干为一个较大的刚体。骨架上的关节就被分成了两级:一级是躯干上的关节点;二级是位于躯干外与一级关节通过骨骼相连的子关节点。为了确定一级关节的位置,模型以人体的脊椎尾部位置为原点建立坐标系,得到坐标(u,r,t)0、(u,r,t)1、(u,r,t)2和(u,r,t)3。以各个一级为坐标系原点,分别建立坐标系得到二级关节点坐标。本实施例的工作流程:采集骨骼参数模型,采用larp方法描述骨骼参数,对结果使用深度典型时间规整进行对齐,然后进行相关性修正,最后对结果进行分类输出。深度典型时间规整方法为引入深度学习的典型时间规整。引入深度学习的典型时间规整为利用权重w(t)和深层网络的激活函数对骨骼模型c(t)进行非线性变换,得到变换样本c,(t),变换样本c,(t)中第一组数据c,1作为标准数据,使用动态时间规整方法将变换样本c,(t)分别与标准数据c,1对齐得到对齐样本c,(t,),根据对齐样本c,(t,)与标准数据c’1及:计算与对齐样本c’(t’)对应的梯度g(t),根据梯度g(t)和深层网络的学习率更新权重w(t),重复直到满足深层网络收敛条件;将所有深层网络学习的训练特征c1f,c2f,c3f…-与c1f用动态时间规整方法对齐后平均,计算出训练结果其中,深层网络的总层数至少为2。深度典型时间规整方法具体为:输入原始的骨骼运动数据x;求出larp特征c1,c2,c3…;利用权重w1,w2,w3和网络的激活函数对c1,c2,c3…-进行非线性变换,得到c′1,c′2,c′3…;将c′1作为模板,令c′1,c′2,c′3…分别与c′1使用dtw对齐得到c″1,c″2,c″3…;c″1,c″2,c″3…根据梯度公式分别与c′1求出对应的梯度g1,g2,g3….;梯度公式为:根据g1,g2,g3…和网络设置的学习率更新权重w1,w2,w3…;优选地,为降低计算时间。深度典型时间规整优选为融合深度典型时间规整方法进行对齐。其中,修正流程如图10。所述相关性特征包括将骨骼模型c(t)与对齐后的特征样本对齐,计算骨骼模型c(t)与对齐后的特征样本每一帧的相关性,利用相关系数x∈r作为变量计算修正系数,将修正系数与每一帧的特征数据相乘改变对应帧的权重,修正系数服从修正函数ex。其中测试样本为骨骼模型,对齐后的特征样本为训练结果。由于larp运动特征矩阵的结构如图8所示,通过如图9测试矩阵的每一列与一般性矩阵相应的列之间的相应系数评估对齐的效果。优选地,为了降低对齐算法的耗时,深度典型时间规整可以优化为整合深度典型时间规整。因此,步骤(3)所述整合深度典型时间规整方法包括:利用权重w(t)和深层网络的激活函数对骨骼模型c(t)进行非线性变换,得到变换样本c’(t),将变换样本c’(t)中第一组数据c’1作为标准数据,使用动态时间规整方法将变换样本c,(t)分别与标准数据c’1对齐、求平均后得到整合特征c,根据合特征c与标准数据c,1及:计算协方差,并进行svd分解得到u、v,根据u、v,变换样本c,(t)及计算出与变换样本c’(t)一一对应的梯度g(t),根据梯度g(t)和深层网络的学习率更新权重w(t),本实施例中收敛次数手动设置为5次,收敛后,将所有经过深层网络变换的训练特征c1f,c2f,c3f…-与标准数据c’1对应的训练特征c1f用动态时间规整对齐后平均,计算结果为对齐特征样本。具体地,步骤(2)所述差值处理包括使用插值方法,所述插值方法包括:通过插值得到帧数相同的特征,插值公式为:其中,定义q1,q2,q3…qn∈se(3)分别为jt1,t2,t3…tn时刻的瞬时相对位置。其中,所述步骤(2)中所述建立基于李代数相对特征描述方法的骨骼模型c(t)包括:选择骨骼模型中的em骨骼及en骨骼进行分析,em骨骼的端点为em1及em2,en骨骼的端点为en1及en2,以端点en1为原点,en骨骼的方向向量为轴,骨骼em和骨骼en所处面为坐标面建立坐标系,em骨骼的端点em1及em2的相对位置表示成:en的端点相对于em的位置为:em骨骼与en骨骼的位移映射关系为em骨骼与en骨骼的相对位置关系为:根据em骨骼与en骨骼的相对位置关系计算每个骨骼和其他骨骼的相位移映射关系ve(b),定义骨骼模型有n段骨骼刚体,得出t时刻的骨骼模型形状为c(t)为:c(t)=(ve(b1,2),ve(b1,3),…,ve(bn,n-1)),ve(b)=(u1,u2,u3,v1,v2,v3)其中,c(t)共有6×n×(n-1)个向量,n与m均为小于n的正整数。优选地,所述图像预处理还包括图像降噪和图像增强。能够提高识别效果。实施例1中整合深度典型时间规整结构如图3,其中,我们使用的深度学习深层网络是bp网络结构。深层网络中共设置了4层,包括输入层、输出层和两个隐层。如图5,用李群可以表示刚体的位移,刚体的位移变换可以分解成平移和旋转两部分。在训练的过程中,动态时间规整方法,即dtw,的流程如图4为:选择训练数据集中的第一个数组作为参照对其他所有的数据进行对齐,然后平均得到一个新的参照数组,将这个步骤循环25次之后,最终得到整合数据。由于深层网络只需要计算一次梯度,相比较改进前的dctw,我们的深层网络在算法的时间上有改善,算法时间如下表1所示。表1在对特征进行相关性修正的过程中,修正目的是为了区分出相关性较好的视频帧和相关性较差的视频帧,对函数的要求是尽可能扩大相关性对修正系数产生的影响,导数较大的函数能在我们的实验中产生较好的效果。选择结果最好的函数作为我们的修正函数,选择准确率最高的ex作为修正函数,ex在[-1,1]的区间上的函数图像如图7所示。修正函数对数据进行修正之后的结果如表2。最终的相关性修正结果相比较于最初的larp+dtw有了0.62%的提高。表2实验结果larp+dtw0.9071larp+dctw0.9124larp+dctw+相关性修正0.9133经过相关性的修正之后,行为识别结果如图2。本实施例中的行为识别方法对一些识别率较低的动作提高较为明显,例如喝水和打电话这两个动作,识别的准确率都提高了1%-3%左右。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
的技术人员能够理解本发明,但是本发明不仅限于具体实施方式的范围,对本
技术领域
的普通技术人员而言,只要各种变化只要在所附的权利要求限定和确定的本发明精神和范围内,一切利用本发明构思的发明创造均在保护之列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1