【步态识别】GaitMPL

目录

  • 概述
  • 细节
    • 网络结构
    • Dynamic Reweighting Progressive Learning module (DRPL)
    • Global Structure-Aligned Memory bank (GSAM)
    • 训练过程

概述

步态识别:通过生物步态模式识别远距离的行人
步态识别困难的原因之一:各种协变量(不可控的变量)的存在以及行人轮廓无纹理无色的特性,而这个困难就导致了困难样本的产生,即同一个行人可能有不同的轮廓;不同的行人可能有相同的轮廓,前者称为类内多样性(困难正例),后者称为类间相似性(困难负例)。
【步态识别】GaitMPL_第1张图片

而除了这些困难样本之外就是简单样本了,作者发现,对于简单负例和困难负例的判别,模型需要关注的点是不一样的(前者关注明显的部分即可,后者就需要细粒度的细节了),也就是说这两种情况下模型的学习目标是不一致的。
对于正例而言也是如此的,所以如果模型在训练的时候随机采样,可能导致网络学习不顺畅,最终影响模型的效果。
【步态识别】GaitMPL_第2张图片

因此作者为了缓解这种由于困难样本导致的学习目标不一致性,提出了一个Memory-augmented Progressive Learning network( GaitMPL),模型主要包含两个模块,分别是Dynamic Reweighting Progressive Learning module (DRPL)和Global Structure-Aligned Memory bank (GSAM),前者让模型从简单样本到困难样本进行渐进式的学习,使模型在训练过程中更加具有一致性,后者增强这个渐进式学习的效果,更好的处理困难样本。并且这两个模块即插即用,可以添加到当前的主流模型中,并且仅在训练时生效,推理的时候没有额外的开销,最终在两个主流数据集上达到了SOTA的效果。

细节

网络结构

首先是左边的一个特征提取网络,得到步态特征,然后这部分特征经过DRPL模块和GSAM模块,前者采用了渐进式学习的思想,后者采用了记忆库学习的思想,我们使用后者进一步正常前者的效果。并且,前者采用了一个batch级的渐进式学习策略,而不是像往常的课程学习机制一样改变采样过程;后者也在记忆库学习的基础上,设计了结构性对齐的策略,同时更新当前batch中包含的ID以及不包含的ID,增强存储库中特征的可靠性,而不是像往常一样只更新当前batch中包含的ID。
【步态识别】GaitMPL_第3张图片

Dynamic Reweighting Progressive Learning module (DRPL)

首先这个模块要做的就是渐进式学习中的课程学习,即首先从简单样本中学习,然后再从困难样本中学习,通过这种方式缓解不一致的学习目标。那这就涉及到一个样本困难度的定义了,作者认为,对于正样本而言,和anchor的距离越远,样本困难度就越大了;对于负样本而言,和anchor的距离越近,样本困难度就越大。
【步态识别】GaitMPL_第4张图片
有了样本困难度之后,然后根据这个样本的困难度计算注意力系数,然后使用注意力系数对样本加权,让模型处理当前阶段需要处理的样本,并且随着训练的过程,让模型更加关注困难样本。

下面这个公式就清晰的反应了根据距离计算样本困难度,根据样本困难度计算注意力系数,然后分母的 σ \sigma σ表示softmax的平滑程度,一定程度上反应注意力系数的分布情况,他是通过计算得到的,这个计算的过程就反映了随着训练的过程,让模型更加关注困难样本这一件事。
【步态识别】GaitMPL_第5张图片
我们可以看到这个式子的值其实是不断减小的,那么softmax的结果就会越来越陡峭,那么也就达到了让模型逐渐的关注困难样本的效果了。
【步态识别】GaitMPL_第6张图片
这个模块的loss按照下面的公式计算,是两部分loss的和。
这部分loss描述的是,对于每个行人的序列中的图片,我们要求他和当前序列中的其他图片尽可能的距离近,和其他行人序列中的图片距离尽可能的远。
【步态识别】GaitMPL_第7张图片
这部分loss描述的是和上面思想一致的,只是上面要求的是注意力加权之后的距离,这部分描述的是注意力加权之前。而最终loss中的系数则是为了模型的稳定。
【步态识别】GaitMPL_第8张图片

Global Structure-Aligned Memory bank (GSAM)

首先这个模块的作用是增强之前的DRPL模块,利用全局先验信息通过记忆机制监督整个训练过程,一方面相当于一个辅助的分类器,使得类间特征更具判别性,另一方面使得类内特征更加紧凑。并且当前模块采用了一种结构对齐的更新策略,使得GSAM中的特征更加可靠。
GSAM主要包括三个部分,第一个是GSAM中存储哪些元素,第二个是这些元素如何更新,第三个就是这个模块如何指导网络的更新。
首先,GSAM中存储的元素是每个行人的核心特征,能够辅助区分每个行人,并且为了高效,存储的元素应该精炼。因此作者存储的是每个行人的核心特征,它的计算公式如下:就是使用当前行人序列中所有图片特征提取之后的结果和,去除上行人的个数,作为当前行人的标志性特征。
【步态识别】GaitMPL_第9张图片
其次,GSAM中存储元素的更新是结构性对齐的,即同时更新当前batch中包含的ID以及不包含的ID。
【步态识别】GaitMPL_第10张图片
最后就是这个模块的目标函数:
【步态识别】GaitMPL_第11张图片

训练过程

最终整体的损失就是两个模块的损失和:
【步态识别】GaitMPL_第12张图片
最终的训练过程就是:
【步态识别】GaitMPL_第13张图片

你可能感兴趣的:(论文学习,其他)