一种基于自注意力机制的深度学习的步态识别系统与方法与流程

文档序号:19420060发布日期:2019-12-14 01:19阅读:341来源:国知局
一种基于自注意力机制的深度学习的步态识别系统与方法与流程

本发明属于步态识别领域,更具体地,涉及一种基于自注意力机制的深度学习的步态识别系统与方法。



背景技术:

步态识别是指通过人在走路时的姿态对其身份进行识别和验证。步态是一种有效的动态生物特征,作为人独一无二的特征,并且在识别中不需要目标的配合对距离要求也不高,并且在外貌改变的条件下,步态仍然不会随其发生改变。所以步态在以后的身份认证的应用前景是非常可观的。

目前的表示步态的方式基本都是去背景的灰度图。步态识别方法在很早之前就剔除了色彩以及背景还有长相对识别的影响。步态识别主要受主观和客观两种因素的影响,主观因素有目标自身的穿着、打扮、身体健康、行走速度等,客观因素除了光照和地面的起伏程度、摄像头的角度等。

为了解决这些问题,当前对于步态识别的研究主要分为两种,一种是基于非模型的方法,另一种是基于模型的方法。基于模型的方法主要是将身体切分成多块或者获取身体的关节点,通过关节点或者身体运动的部分的运动轨迹进行拟合。这类方法主要依赖身体的各块的静态特征以及关节点的运动轨迹特征进行建模。常见的步态模型有椭圆模型、钟摆模型以及关节点连接的棍状模型。除了这些二维模型还提出了3-d模型。但是基于模型的步态识别方法计算量较大,计算过程也相对复杂,提取到的特征区也会存在手工误差,在高维上的表达能力不够。而基于非模型的方法就在一定程度上解决了上述问题。2016年,中科院提出了全新并且浅层的卷积神经网络来解决跨视角和穿戴变换的步态识别问题,三层卷积层两层全连接层的比对网络,开创了深度学习在步态识别上应用的先河。而其后提出用siamese网络联合二元损失代替原始神经网络进行改进,得到更好的结果。在解决跨视角问题中,还有用到gan网络对能量图进行预处理,训练得到最容易被识别的角度的动态能量图再对其进行识别。但是深度学习的方法通常都使用了目标身份这种单一的身份信息,提取到的特征包含的信息单一,同时又因为深度学习的方法存在视野域以及网络结构本身的问题,提取到的不太特征表达能力不够强,因此用深度学习解决步态识别问题也仍有提升空间。



技术实现要素:

针对现有技术基于深度学习的步态识别方法特征信息单一、表达能力不够强的技术问题,本发明提供了一种基于自注意力机制的深度学习的步态识别系统与方法,其目的在于从注意力机制、分类对比验证结合损失、先验知识三个方面增强深度特征。

为实现上述目的,按照本发明的一个方面,提供了一种基于自注意力机制的深度学习的步态识别系统,所述识别系统包括:

输入模块,用于选择步态能量图训练集和输入待识别步态能量图;

基于自注意力机制的深度学习模块,所述基于自注意力机制的深度学习模块以浅层卷积神经网络为基干网络,其包括:全局特征图提取模块、局部特征图提取模块、第一注意力机制模块、第二注意力机制模块、第一校正模块、第二校正模块、降维模块,所述全局特征图提取模块用于从步态能量图中提取全局特征图,所述第一注意力机制模块用于根据全局特征图得到全局特征图权重矩阵,所述第一校正模块用于根据全局特征图和全局特征图权重矩阵得到校正后的全局特征图,所述局部特征图提取模块用于从全局特征图中提取局部特征图,所述第二注意力机制模块用于根据局部特征图得到局部特征图权重矩阵,所述第二校正模块用于根据局部特征图和局部特征图权重矩阵得到校正后的局部特征图,所述降维模块用于对所述校正后的全局特征图、所述校正后的局部特征图进行降维;

训练模块,用于采用步态能量图训练集对所述基于自注意力机制的深度学习模块进行训练,得到训练好的基于自注意力机制的深度学习模块;

步态识别模块,用于将所述待识别步态能量图输入至训练好的基于自注意力机制的深度学习模块,将提取到的特征进行比对,输出步态识别结果。

具体地,所述全局特征图提取模块为三层卷积和三层池化层,每个卷积层后面跟着一个池化层,所述降维模块为两层全连接层。

具体地,第一注意力机制模块、第二注意力机制模块、第一校正模块、第二校正模块在最后一个池化层和第一个全连接层之间。

具体地,注意力机制模块用1×1的卷积核对输入特征图做更高层的抽象处理,得到与输入特征图相同大小的矩阵,然后用sigmiod层将该矩阵中所有元素归一化到0~1之间;校正模块将输入特征图与对应特征图权重矩阵进行相乘,再将输入特征图与相乘结果相加,得到注意力机制校正后的特征图。

具体地,最终的损失函数计算公式如下:

l=ls全局+μlc全局+λ*(ls局部+μlc局部)

其中,ls表示分类损失,lc表示比对损失,下标全局表示全局损失,下标局部表示局部损失,ls_n表示第n张图片的分类损失,lc_i表示第i个图像对的比对损失,λ表示局部损失的权重,μ表示比对损失的权重,一个批次有m张图片、n个图像对,k表示训练集中不同身份id的总数目,si表示第i个图像对是否来自于同一目标,1表示是,0表示否,表示欧式距离,m是一个阈值,yn表示训练样本xn对应的训练标签,pnk是指对于第n张图片属于第k个图片的概率。

为实现上述目的,按照本发明的另一个方面,提供了一种基于自注意力机制的深度学习的步态识别方法,所述识别方法包括以下步骤:

采用步态能量图训练集对基于自注意力机制的深度学习网络进行训练,得到训练好的基于自注意力机制的深度学习网络;

将待识别步态能量图输入至训练好的基于自注意力机制的深度学习网络,将提取到的特征进行比对,输出步态识别结果;

其中,所述基于自注意力机制的深度学习网络以浅层卷积神经网络为基干网络,其包括:全局特征图提取模块、局部特征图提取模块、第一注意力机制模块、第二注意力机制模块、第一校正模块、第二校正模块、降维模块,所述全局特征图提取模块用于从步态能量图中提取全局特征图,所述第一注意力机制模块用于根据全局特征图得到全局特征图权重矩阵,所述第一校正模块用于根据全局特征图和全局特征图权重矩阵得到校正后的全局特征图,所述局部特征图提取模块用于从全局特征图中提取局部特征图,所述第二注意力机制模块用于根据局部特征图得到局部特征图权重矩阵,所述第二校正模块用于根据局部特征图和局部特征图权重矩阵得到校正后的局部特征图,所述降维模块用于对所述校正后的全局特征图、所述校正后的局部特征图进行降维。

具体地,注意力机制模块用1×1的卷积核对输入特征图做更高层的抽象处理,得到与输入特征图相同大小的矩阵,然后用sigmiod层将该矩阵中所有元素归一化到0~1之间;校正模块将输入特征图与对应特征图权重矩阵进行相乘,再将输入特征图与相乘结果相加,得到注意力机制校正后的特征图。

具体地,所述局部特征为四肢特征。

具体地,采用随机梯度下降法对所述基于自注意力机制的深度学习网络进行训练。

具体地,最终的损失函数计算公式如下:

l=ls全局+μlc全局+λ*(ls局部+μlc局部)

其中,ls表示分类损失,lc表示比对损失,下标全局表示全局损失,下标局部表示局部损失,ls_n表示第n张图片的分类损失,lc_i表示第i个图像对的比对损失,λ表示局部损失的权重,μ表示比对损失的权重,一个批次有m张图片、n个图像对,k表示训练集中不同身份id的总数目,si表示第i个图像对是否来自于同一目标,1表示是,0表示否,表示欧式距离,m是一个阈值,yn表示训练样本xn对应的训练标签,pnk是指对于第n张图片属于第k个图片的概率。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)针对深度特征表达能力不够的问题,本发明提出使用注意力机制加强深度学习方法中提取到的特征的显著性,注意力机制作用于原始的特征图上,通过学习到一个与原始特征相同大小的0-1之间的矩阵,对原始特征进行降噪,挑选图片中的显著特征,减少特征中的噪音,对学习到的特征进行校正,得到更有鲁棒性的特征。

(2)针对深度特征区分度不够大的问题,本发明将分类损失和对比验证损失有机结合,分类损失有效利用了目标的身份信息,比对损失用来比对两张图片的相似性,从而拉近相同目标特征之间的距离,扩大不同目标间的距离,以结合损失函数对特征进行限制惩罚,不仅利用了目标的身份信息,同时利用了目标之间的不同关系,增加了不同特征之间的区分度。

(3)针对衣服变换的步态识别问题,本发明将步态中最重要的四肢特征作为先验知识加入到原始深度特征中,这种结合不仅能利用目标的全局体型特征(身高,头身比例,手脚比例等),还能在一定程度上校正全局特征学习到的关于衣服变换带来的不利于分类的特征,增强了原始深度特征的表达能力,从不同维度上增强特征的表达能力。

附图说明

图1为本发明实施例提供的能量图的提取过程示意图;

图2为本发明实施例提供的一种基于自注意力机制的深度学习的步态识别系统结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

步态能量图(gaitenergyimages,gei)不仅能有效的保留步态轮廓特征,还能减少噪声的影响同时将时序信息压缩在同一张图片上。因此本发明中步态表达方式选择步态能量图,去掉了图片的颜色以及纹理特征。在步态能量图中,像素值越大证明,证明该像素在一个周期的时间里出现的频率越高,其能量也就越高,因此称之为能量图。

如图1所示,能量图的提取过程是,先把一个步态周期的原始序列图片去背景、二值化、归一化,最后再将归一化以后的单周期图片求平均,得到了步态能量图。

网络模型过深将导致过拟合,因此,如图2所示,本发明选用的基础网络结构是一个三层卷积、三层池化层、两层全连接层组成的浅层的网络。具体地,在数据层之后有三个卷积层的神经网络结构,这三层卷积的卷积核大小分别为:7×7、5×5和3×3步长全都为1,且这三层卷积神经网络后面全部都跟了最大池化层,核大小分别为:2×2、3×3和2×2,且步长全部为2。但是浅层的网络提取到的往往是辨识力不强的特征,为了解决该问题,本发明在基础卷积神经网络上在最后一个池化层和第一个全连接层之间增加两个注意力机制模块和校正模块,以此来帮助增加提取到的特征的鲁棒性。

如图2所示,第一注意力机制模块的输入是经过三层卷积、三层池化层之后的全局特征图,输出的是全局特征图权重矩阵。用1×1的卷积核对输入的全局特征图做更高层的抽象处理,得到与原始特征相同大小的矩阵,其本质是在不改变特征维度的情况下,得到更高维的特征表达。然后用sigmiod层将该矩阵中所有元素归一化到0~1之间。第一校正模块包括矩阵相乘、矩阵相加运算。将全局特征图与全局特征图权重矩阵进行相乘,再将全局特征图与相乘结果相加,得到注意力机制校正后的全局特征。

针对步态识别中的衣服变换问题,将步态中最重要的四肢特征作为先验特征加入到深度特征中(这里指的是四肢以及其运动轨迹特征),这种结合原始全局深度特征和局部有效特征的方法不仅能利用目标的全局体型特征(身高,头身比例,手脚比例等),还能在一定程度上校正全局特征学习到的关于衣服变换带来的不利于分类的特征,辅助原始深度特征的优化过程,在一定程度上实现了局部全局特征相结合,增强特征的表达能力。

从全局特征图中提取局部特征图,即按照比例获取相应的四肢特征。第二注意力机制模块的输入是局部特征图,输出是局部特征图权重矩阵。用1×1的卷积核对输入的局部特征图做更高层的抽象处理,得到与原始特征相同大小的矩阵,其本质是在不改变特征维度的情况下,得到更高维的特征表达。然后用sigmiod层将该矩阵中所有元素归一化到0~1之间。第二校正模块包括矩阵相乘、矩阵相加运算。将局部特征图与局部特征图权重矩阵进行相乘,再将局部特征图与相乘结果相加,得到注意力机制校正后的局部特征。

本发明提出的注意力机制,本质上是学习一个原始特征挑选器,学习到一个跟原始特征图相同大小、其值为0~1之间的矩阵,加宽网络模型获取更高维表达的同时对特征降噪提纯。

特征挑选器的计算公式如下。

其中,xi,j是原始特征第i行第j列上的值,而θ是1×1的卷积核的参数值,f则是卷积层所做的运算,学习到的是作用于i行j列特征值上的权重。它能自动的学习到不同像素上的特征的权重,对特征进行增强。

将校正后的全局特征、校正后的局部特征分别输入到串联的全连接层fc6和fc7中。全连接层对特征进行降维,同时加了一层特征归一化层,将特征归一化到0~1之间。计算这两部分的比对损失,同时计算所有特征的分类损失,并将这两部分损失以一定的比例组合,更好的利用身份信息同时增大特征的区分度。只需要将同一批次的样本进行比对,无需样本的组合预处理,直接将样本输入到网络中即可。

为了统一原始全局深度特征和局部有效特征,并且能同步的进行训练,本发明提出了统一的损失函数l如下:

l=l全局+λ*l局部

其中,λ代表的是两部分信息的权重比例,当λ=0时则局部信息不起作用,λ越大代表局部信息在步态识别中扮演的角色越重要。

比对损失

比对损失的作用是用来比对两张图片的相似性,这个损失的主要作用就是用来拉近相同目标特征之间的距离,扩大不同目标间的距离。某个批次中的第p对图像特征为(xp,1,xp,2),那么它们的比对损失计算公式如下:

其中,sp表示这对图像是否来自于同一目标,1表示是,0表示否。表示欧式距离,用来度量图片特征之间的相似程度,也是常说的l2范数。m则是一个阈值,其目标是当不同类别之间的特征对距离大的时候,目标函数反而能最小化,取值范围为[0.2,2]。

假设一个批次有n个图像特征对,该批次图片的平均比对损失计算公式如下。

分类损失

分类损失有效利用了目标的身份信息,其损失函数是softmax损失函数。这个函数其实就是一个多类的逻辑回归,能有效的解决多分类问题。假设训练的一个批次中有m张图片,且训练集中有k个不同的身份id,这里的pn,k是指对于第n张图片属于第k张图片的概率。那么一个批次的softmax损失函数如下。

该批次图片的平均分类损失计算公式如下。

改进的损失函数

其中,是一个正则化项,起作用是防止过拟合并且能加快模型收敛,λ是权重衰减参数,这个值不能过大,太大会使得参数w很快就变成0,所以这里取一个接近于0的值。μ是一个权重比例,通过实验比较并且得到两种损失之间的最佳权重比例。μ取值越小则整个网络趋近于分类网络,当μ取值越大则整个网络越趋向于验证分类。

已知每部分损失都是由上述分类损失以及对比损失组合而成,结合l=l全局+λ*l局部的总损失,所以这里的损失函数为

l=ls全局+μlc全局+λ*(ls局部+μlc局部)

本实施例采用随机梯度下降法(sgd)对网络进行训练,进而得到步态识别模型。改进的损失函数将分类损失和对比验证损失有机结合,不仅利用目标的身份信息,同时利用目标之间的不同关系,拉开了不同类别之间的特征区分度,特征的区分度得以提升。

实施例

使用随机梯度下降法对网络模型进行训练,参数设置如下:batchsize为64,baselearningrate为0.01,设置weightdecay为0.0005,同时learningrate每10k次降低10倍。不设置任何形式的数据扩充,包括裁剪,翻转等。用一个学习好的基础网络的权重进行初始化,新的层重新学习,用微调的方式进行训练。

训练具体包括以下子步骤:

(1)训练的每个批次包括64张图像;

(2)以预先训练过的模型作为网络初始参数,将训练样本输入网络后,前向传播计算网络各层的值;

(3)若未达到预定的总迭代次数,则继续步骤(4),否则结束训练;其中,所述预定的总迭代次数为35000;

(4)反向逐层采用梯度下降算法更新网络各层参数,最小化局部和全局两个分支的损失函数;重复步骤(2)至(3)。

将待识别的步态能量图输入至训练好的深度学习网络,提取特征,并将提取到的特征与本地数据库中的特征进行比对,通过排序,输出步态识别结果。

有关实验结果的展示,和相关算法的对比在表1中给出。从表1中的结果不难看出,本文提出的方法是大大优于传统方法的(rwsw和rsw等)同时在一定程度上提高了基于深度学习方法提取到的特征的抗衣服变性。说明挖掘步态中的重要特征并且将不同步态特征结合起来能提取到更有效的特征,在一定程度上实现了特征互补和增强,并且注意力以及分类损失和比对损失结合这两个机制也在特征值层面,增加不同特征的鲁棒性以及区分度。

表1本算法与其他方法的实验对比

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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