一种基于层级实时记忆的步态识别方法与流程

文档序号:17864410发布日期:2019-06-11 23:06阅读:315来源:国知局

本发明涉及计算机视觉、模式识别及步态识别技术领域,特别是指一种基于层级实时记忆的步态识别方法。



背景技术:

随着安全敏感场合(银行、机场等)对智能视觉监控系统的需求提高,一些传统的生物特征识别系统难以满足实际应用的需要。步态识别,作为一种新兴的生物特征识别方式,一种新的技术研究方向,正在蓬勃发展。步态识别方式有一系列的优势,例如:远距离、分辨率要求低、非接触、不需要配合等,这些优点也得到了研究者们的广泛关注,具有很高的研究价值和意义。

步态特征指的是人行走时的频率相位,倾斜度,脚变化,胳膊摆动的物理参数等,提取步态特征通常在一个周期的图片序列中进行提取,这样就使得步态特征和传统的人脸特征有些差异。传统的人脸特征表征的是一种空间特征,而步态识别不光包含空间上的连续,还包含时间上的连续,即步态特征是一种时空特征。对于步态时空特征,当前研究大都是使用步态能量图的形式来表征。但是步态能量图特征滤掉了人行走过程中时间上的连续和时间上的关联性,这样使得步态能量图仅仅包含空间上的连续,造成当下步态识别效果不尽如人意。



技术实现要素:

基于当前步态识别中特征提取无法提取到时间相关特征的技术问题,本发明提供一种基于层级实时记忆的步态识别方法,通过个体多视角训练的层级实时记忆模型,不但同时在空间和时间上对输入模式的特征都有记忆功能,而且克服了以往步态识别单视角的局限性,提高了步态识别的效率。

为了实现上述技术目的,本发明采用如下技术方案:

一种基于层级实时记忆的步态识别方法,包括以下步骤:

新个体学习阶段:

步骤1.1,获取新个体不同角度的步态视频,对每个步态视频做好身份和角度标记;

步骤1.2,将步态视频拆分成连续的单帧图像并进行预处理,得到一组连续步态图像,对该组连续步态图像进行处理获取步态图片序列;

步骤1.3,将新个体每个角度的步态图片序列分别作为训练样本,输入并训练层级实时记忆模型,且层级实时记忆模型的输出层得到训练样本的聚类结果;根据步态图片序列训练样本的聚类结果与身份和角度标记,计算层级实时记忆模型的输出层中的条件概率,所述条件概率是指在得到训练样本的聚类结果的条件下其真实的标记为训练样本的身份和角度标记的概率;

身份识别阶段:

步骤2.1,获取待识别个体某个角度的步态视频,如步骤1.1和步骤1.2对待识别个体的步态视频进行处理,得到待识别个体的步态图片序列;

步骤2.2,将待识别个体的步态图片序列输入到层级实时记忆模型中,层级实时记忆模型的输出层得到待识别个体的步态图片序列的聚类结果,选择与待识别个体的步态图片序列的聚类结果对应的条件概率最高的身份和角度标记,作为待识别个体的身份和角度。

本方案采用的层级实时记忆模型,同时在空间和时间上对输入模式的特征都有记忆效果,解决了当前步态识别中特征提取无法提取时间相关特征的问题,多视角的共同训练也克服了以往步态识别单视角的局限性,提高了步态识别的识别率。

进一步地,所述层级实时记忆模型依次包括输入层、若干个中间层和输出层,所述训练层级实时记忆模型的过程为:

每个角度的步态图片序列训练样本,经输入层输入后,依次对各个中间层和输出层进行逐层训练;

每个中间层的训练均包括:

对输入模式进行空间池的聚类,得到训练样本在当前中间层的空间池编码,更新当前中间层的空间池模式分组;

对空间池编码中的元素按照时间邻接关系进行时间池的分组,得到训练样本在当前中间层的时间池编码,并更新当前中间层的空间编码与时间池编码之间的映射矩阵t;

其中,所述输入模式是指由输入层传递给第一个中间层的图片或者由上一个中间层传递给当前中间层的时间池编码;

输出层的训练包括:

以最后一个中间层输出的时间池编码作为输入模式,对输入模式进行空间池的聚类,得到训练样本在输出层的聚类结果,更新输出层的空间池模式分组;

更新层级实时记忆模型的输出层中,训练样本的聚类结果所对应的身份和角度标记的条件概率。

进一步地,各个中间层采用无监督学习的方式训练,输出层采用有监督学习的方式训练。

进一步地,所述层级实时记忆模型包括5个中间层。

进一步地,所述对单帧图像的预处理进一步为:

采用基于深度学习的语义分割技术对单帧图像进行人体分割,得到以人体为前景、其他外界环境为背景的二值图像;

将二值图像归一化处理,得到统一尺寸的步态图像。

进一步地,所述根据该组连续步态图像获取步态图片序列具体为:

采用自相关性方法,计算该组连续步态图像的步态周期ngait:

其中,nperiod表示步态周期,c(n)表示该组连续步态图像的自相关性,argmaxc(n)表示n从最小值nmin到最大值nmax之间取值时相应的c(n)取得最大值时n的值,g(x,y,n)表示该组连续步态图像的第n个图像在(x,y)处的像素值,t(n)=ttotal-n-1,ttotal表示该组连续步态图像的总数量,nmin表周期的最小值,nmax表示周期的最大值;

从该组连续步态图像中取一段作为该新个体当前角度的步态图片序列,且序列长度为步态周期ngait。

有益效果

本发明方法的层级实时记忆模型,通过学习阶段对新学习个体的步态特征进行学习,实现层级实时记忆模型对该个体同时在空间和时间上的记忆效果,解决了当前步态识别中特征提取无法提取时间相关特征的问题,同时多视角的共同训练也克服了以往步态识别单视角的局限性,提高了步态识别的识别率。

附图说明

图1为本发明提供的基于层级实时记忆的步态识别方法的整体工作流程图;

图2为本发明层级实时记忆模型的层级结构图;

图3为本发明层级实时记忆模型进行多层次处理输入模式的方法示意图。

具体实施方式

下面将结合附图和实例对本发明做进一步的说明。

本发明公开的基于层级实时记忆(hierarchicaltemporalmemory,简称htm)的步态识别方法如图1所示,包括新个体学习阶段和身份识别阶段。

新个体学习阶段即为对层级实时记忆模型进行训练,包括以下步骤:

步骤1.1,获取新个体的不同角度的步态视频。

使用摄像头对待采集人员进行多角度步态视频采集,从行走者的行走方向正前方(0°)到正后方(180°),每隔一定角度采集一段时间的行走视频,视频需要保证是统一的帧率,并做好行走者身份及角度的标记。其中,本实施例选取每隔10°采集一段行走视频,在其他情况下采集行走视频的角度间隔可根据实际需要而定,本发明不作具体限定。

步骤1.2,获取新个体的不同角度的步态图片序列。

首先,使用opencv库或者其他视频处理方法对视频片段拆分成连续的单帧图像,连续的图像组成该视频片段对应的步态图片序列,每个视频对应一组连续步态图像。

接着,基于深度学习的语义分割技术主要采用深度神经网络对每个图像进行像素级别的分类:将图像中属于人体部位的像素点分类为前景点,将不属于人体部位的像素点分类为背景点,从而每个图像得到对应的二值图像,并将二值图像的尺寸归一化为64×64。

然后,采用makihara的自相关性方法检测步态周期。

步态周期ngait是从一系列的自相关性的步态轮廓图中得出来的,公式描述如下:

其中,nperiod表示步态周期,c(n)表示该组连续步态图像的自相关性,argmaxc(n)表示n从步态周期最小值nmin到步态周期最大值nmax之间、在c(n)取得最大值时n的值,g(x,y,n)表示第n帧图片(该组连续步态图像的第n个图像)在(x,y)处的像素值,t(n)=ttotal-n-1,ttotal表示总帧数。通过实验数据表明设置nmin=20,nmax=35可以有效的取得行走测试角度的步态周期。

再对从该组连续步态图像中取一段作为该新个体当前角度的步态图像序列样本,且序列长度为步态周期ngait。

步骤1.3,将新个体的每个角度的步态图片序列分别作为训练样本,输入并训练层级实时记忆模型,且层级实时记忆模型的输出层得到训练样本的聚类结果;根据步态图片序列训练样本的聚类结果与身份和角度标记,计算层级实时记忆模型的输出层中的条件概率p(w|c);所述条件概率是指在得到训练样本的聚类结果c的条件下,其真实的标记为训练样本的身份和角度标记w的概率。

首先,构建层级实时记忆模型,层级结构如图2所示,由6个层级构成,最底层为输入层,接着为4个中间层,最高层为输出层。在层级实时记忆模型的层级结构中,底层的输入层节点的个数由输入图片的像素尺寸所决定,最底层的节点与图片的每一个像素一一对应,共有64×64个传感器。根据层级实时记忆模型层级结构,高层节点数量规律递减的特点,其第2层是16×16个节点,每个节点采集前一层相邻的4×4像素的信息。第3层是8×8个节点,第4层是4×4个节点,第5层是2×2个节点,第6层也就是最高层,只有一个输出节点。高层的一个节点获取低层的四个相邻节点的信息,直到最后的输出层得到聚类结果,即从最高层节点获得的将是整个图片的信息。

然后使用构建的层级实时记忆模型对新个体进行学习。

以该新个体每个角度的步态图片序列分别作为一个训练样本,且已知训练样本的实际标签,即采样新个体步态视频时记录的身份及角度的联合标签。将该角度的步态图片序列训练样本输入到层级实时记忆的输入层,输入层完全接收每张图片的完整信息,将其传给第二层。从第二层到倒数第二层的这几层都采用无监督学习的方式训练,而输出的最后一层采用监督学习的方式训练。

每个角度的步态图片序列训练样本,经输入层输入后,自下而上依次对各个中间层和输出层进行逐层训练。

一个步态图片序列训练样本中的所有图片经输入层输入后,先进入第一个中间层进行空间池的聚类,如图3所示。空间池使用一个阈值threashold对所有输入模式进行聚类,计算输入模式与已知类别模式之间的欧氏距离。本文所指的输入模式是指输入该层的内容,第一个中间层的输入模式即是步态图片序列中的各个图片,欧式距离即是指图片对应像素值之差的平方和开根号。如果欧氏距离小于该阈值,则将该输入模式划分到这个已知类别当中,否则就把该输入模式划分到一个新的类别。这个阈值控制了同一类别中的模式与模式之间的相似度,阈值越小,被分到同一类别的模式类内差距越小,模式之间更趋于相似,反之亦然。这样操作直到所有的输入模式都被分别归到一个类别当中。此时,对空间池中所有的类别进行编码,使得所有类别都有一个独一无二的编码,这些编码构成了一个集合,称为c集合,c集合中的每个编码称之为巧合因子(coincidence)。该c集合即为该中间层的空间池模式分组。

空间池聚类完成后,就要对c集合中的所有元素进行时间池上的分组,得到时间池的分组集合g集合,g集合中的每个元素的本质都是根据c集合中元素的时间邻接性得到的分组序列。从c集合到g集合的映射关系可以用一个映射矩阵t来表示。

在得到t矩阵的过程中,先要对中间层的输入模式在时间上的连续关系构建一个时间邻接矩阵h。h被初始化为一个nc×nc大小的全零方阵,nc是c集合的元素个数。从的第一个输入模式开始,如果t时刻的输入模式在空间池的分类为ci,而t+1时刻的输入模式在空间池的分类为cj,则hij自增1,直到序列末尾,所有模式输入完成。

在h矩阵中找到行和最大的行索引ci,将ci添加到新的时间分组g1中。同时,在ci行找到前d个最大的元素hcij,其中d是设置的一个最大邻接数,d越小,则时间分组越细;反之亦然。将这d个元素对应的列代表的输入模式的类别cj1~cjd也添加到时间分组g1中。同时,在添加了新元素(即新添加到时间分组g1中的类别)的情况下,对时间分组g1中的其他成员(目前时间分组g1中已有的类别)也找到它们对应的前d个最大的对应元素。重复这个步骤直到没有元素可以被加入到时间分组g1中为止。

在剩余的模式分类中再次找到一个行和最大的索引,分到时间分组g2中,其后续步骤与g1的分组方法一样,直到所有的输入模式在该中间层都被分别划分到某个时间分组中。所有的时间分组构成一个集合g。对于c集合中的模式分类到g集合中时间分组之间的映射关系,通过一个映射矩阵t记录。

输入层接受的一个步态图片序列训练样本通过这一系列操作转变为一个g集合内的元素序列,即时间池编码,将这个时间池编码作为该中间层的输出传递到更上的层去。当一个个体的图像序列集合中的全部步态图片序列在该层都训练完后,该层的学习阶段结束,继续下一层的学习训练。

每一个中间层都会训练得到该层在空间池上的模式分组和时间池上的映射矩阵,即空间池模式分组和时间池映射矩阵,并将其存储以备推理时使用。

其中,上述输入模式,除第1个中间层从输入层接收到的输入模式为图片,另外3个中间层的输入模式不再是图片,而是低层的中间层,即前一个中间层传递上来的时间池编码。而且一个节点覆盖到下面层级的多个节点,所以要将它们合并处理。所有中间层的空间池和时间池的训练方式都是一致的,直到它们汇聚到了输出层。

输出层采用有监督学习,对于倒数第二层,即最后一个中间层传递上来的时间池编码,依旧要进行空间池上的聚类。由于不同训练样本可能因为相似度比较高,导致不同的训练样本得到相同的聚类结果,为了提高识别的准确率,为本发明进一步通过计算条件概率来实现:在得到步态图片序列训练样本的聚类结果c后,再根据步态图片序列训练样本的聚类结果c与相应的身份和角度标记w,计算层级实时记忆模型的输出层中的条件概率p(w|c);所述条件概率是指在得到训练样本的聚类结果c的条件下其真实的标记为训练样本的身份和角度标记w的概率;条件概率p(w|c)也可理解为,在某个训练样本的聚类结果为c的条件下,与所述某个训练样本具有相同的真实身份和角度标记w的训练样本数量,占聚类结果均为c的训练样本数量的比值。

直到层级实时记忆模型接受该新个体各角度的步态图片序列训练样本对所有层级的训练和条件概率的计算,此时层级实时记忆模型即可对该个体某角度进行识别,识别得到该个体的身份和角度。

身份识别阶段:

步骤2.1,获取待识别个体某个角度的步态视频,如上述新个体学习阶段对步态视频处理方法相同,对待识别个体的步态视频进行处理,得到待识别个体的步态图片序列;

步骤2.2,将待识别个体的步态图片序列输入到层级实时记忆模型中,层级实时记忆模型的输出层得到待识别个体的步态图片序列的聚类结果,选择与待识别个体的步态图片序列的聚类结果对应的条件概率最高的身份和角度标记,作为待识别个体的身份和角度。

将该待识别个体的步态图像序列输入到层级实时记忆模型,输入层接收到步态图像序列后,每一中间层根据训练得到的空间池模式分组,使用欧式距离采用最近邻分类先进行空间池上的分配,得到待识别个体的步态图片序列的空间池编码;再根据每一层中空间编码与时间池编码之间的映射矩阵t,获得待识别个体的步态图像序列的时间池编码,并将时间池编码向上传递给后续层;在最后的输出层依据接收到的来自最后一个中间层的时间池编码进行空间池聚类,即根据输出层的空间池模式分组进行空间池聚类从而得到该待识别个体的聚类结果。然后输出层根据新个体学习时训练得到的条件概率分布情况,选择其中条件概率最高的身份和角度标记作为待识别个体的身份和角度,即为待识别个体的步态识别结果。

例如,新个体学习阶段,层级实时记忆模型通过多次学习身份和角度标记分别为张三-45°与李四-45°的训练样本,由于步态特征相似度较高,两者的步态图序列样本在层级实时记忆模型的输出层可能出现聚类结果相同均为c1,因此本方案通过设置条件概率,即训练聚类结果为c1时对应张三-45°与李四-45°两个身份和角度标记的条件概率分别为70%和30%(假设聚类结果c1仅对应这两个标记)。在身份识别阶段,输入待识别个体某角度的步态图片序列到层级实时记忆模型中,输出层的聚类结果为c1,但此时对应两个身份和角度标记:张三-45°和李四-45°,但是由于张三-45°的条件概率为70%,大于李四-45°的条件概率30%,因此层级实时记忆模型选择较高条件概率的身份和角度标记:张三-45°,作为待识别个体的步态识别结果。可以提升层级实时记忆模型进行步态识别的鲁棒性。

本发明方法的基于层级实时记忆的步态识别方法,通过学习阶段对新个体各个角度的步态图片序列训练样本进行训练,存储训练得到的空间池模式分组和时间池映射矩阵,相当于将在层级实时记忆模型中存储了该新个体的多个角度的步态特征,然后在待识别个体进行身份识别时,输入其某个角度的步态图片序列,层级实时记忆模型即能根据包括步态特征的步态图片序列,通过与学习阶段所存储的步态特征数据库进行匹配查找,最终在输出层得到该待识别个体的聚类结果;最后层级实时记忆模型的输出层根据该得到的聚类结果和训练时得到的条件概率分布情况,选择概率最高的身份和角度标记作为待识别个体的身份和角度,即为待识别个体的步态识别结果。从而,本发明解决了当前步态识别中特征提取无法提取时间相关特征的问题,不但同时在空间和时间上对输入模式的特征都有记忆功能,而且克服了以往步态识别单视角的局限性,提高了步态识别的效率。该方法可被广泛应用于配备视频监控的场景用于身份的识别,如火车站、机场及步行街等公共场所的安全监控,职员签到,门禁系统,罪犯逮捕等,应用十分广泛。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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