目录

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

概述

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

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

因此作者为了缓解这种由于困难样本导致的学习目标不一致性,提出了一个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。

Dynamic Reweighting Progressive Learning module (DRPL)

首先这个模块要做的就是渐进式学习中的课程学习,即首先从简单样本中学习,然后再从困难样本中学习,通过这种方式缓解不一致的学习目标。那这就涉及到一个样本困难度的定义了,作者认为,对于正样本而言,和anchor的距离越远,样本困难度就越大了;对于负样本而言,和anchor的距离越近,样本困难度就越大。

有了样本困难度之后,然后根据这个样本的困难度计算注意力系数,然后使用注意力系数对样本加权,让模型处理当前阶段需要处理的样本,并且随着训练的过程,让模型更加关注困难样本。

下面这个公式就清晰的反应了根据距离计算样本困难度,根据样本困难度计算注意力系数,然后分母的σ\sigmaσ表示softmax的平滑程度,一定程度上反应注意力系数的分布情况,他是通过计算得到的,这个计算的过程就反映了随着训练的过程,让模型更加关注困难样本这一件事。

我们可以看到这个式子的值其实是不断减小的,那么softmax的结果就会越来越陡峭,那么也就达到了让模型逐渐的关注困难样本的效果了。

这个模块的loss按照下面的公式计算,是两部分loss的和。
这部分loss描述的是,对于每个行人的序列中的图片,我们要求他和当前序列中的其他图片尽可能的距离近,和其他行人序列中的图片距离尽可能的远。

这部分loss描述的是和上面思想一致的,只是上面要求的是注意力加权之后的距离,这部分描述的是注意力加权之前。而最终loss中的系数则是为了模型的稳定。

Global Structure-Aligned Memory bank (GSAM)

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

其次,GSAM中存储元素的更新是结构性对齐的,即同时更新当前batch中包含的ID以及不包含的ID。

最后就是这个模块的目标函数:

训练过程

最终整体的损失就是两个模块的损失和:

最终的训练过程就是:

【步态识别】GaitMPL相关推荐

  1. 【步态识别】GaitMPL 算法学习《GaitMPL: Gait Recognition with Memory-Augmented Progressive Learning》

    目录 1. 论文&代码源 2. 论文亮点 2.1 问题提出 2.2 模型简述 3. 框架解读 3.1 整体框架 3.2 DRPL 3.2.1 渐进式学习 3.2.2 基于困难度的注意力模型 3 ...

  2. GaitSet:通过交叉视角步态识别

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 小白导读 论文是学术研究的精华和未来发展的明灯.小白决心每天为大家 ...

  3. 步态识别 GaitSet

    介绍: OpenGait:首个步态识别框架开源了! 开源地址: https://github.com/ShiqiYu/OpenGait 复旦提出GaitSet算法,步态识别的重大突破! 时间0.28s ...

  4. 【步态识别】基于深度学习的步态识别系统的MATLAB仿真,包括ALEXNET,改进CNN,GOOGLENET

    1.软件版本 matlab2021a 2.本算法理论知识 图显示了步态识别研究策略的流程图.在整个研究过程中,我们将从实际场景中记录多人的行走视频.利用颜色模型从行走视频中提取人体目标,得到人体目标行 ...

  5. 中国式创新技术“步态识别”终于来临,你大胆地走两步,我就知道你是谁

    放完假的数据君,回到办公室,苦恼该码一篇什么文章,来给各位送上"节后的祝福". 这么想着,数据君便开始浏览最新的科技报道: 什么鬼!这难道是什么新兴的黑科技吗?! 数据君赶紧查了下 ...

  6. 【Pytorch神经网络理论篇】 35 GaitSet模型:步态识别思路+水平金字塔池化+三元损失

    代码: [Pytorch神经网络实战案例]28 GitSet模型进行步态与身份识别(CASIA-B数据集)_LiBiGor的博客-CSDN博客1 CASIA-B数据集本例使用的是预处理后的CASIA- ...

  7. 《碟中谍5》中惊鸿一瞥的步态识别技术,究其神在哪里?

    <碟中谍5>中惊鸿一瞥的步态识别技术,究其神在哪里? 电影<碟中谍5>中,黑客班吉起初并未把门禁放在眼里,当他得知必须经过"步态识别系统"的监测时,最后只能 ...

  8. OpenGait:首个步态识别框架开源了!

    关注公众号,发现CV技术之美 本文转自于仕琪团队. 远远地,看一眼你走路方式,就知道你是谁!这就是步态识别技术. 首个步态识别框架OpenGait正式发布了!OpenGait由南方科技大学计算机系于仕 ...

  9. 复旦提出GaitSet算法,步态识别的重大突破!

    点击我爱计算机视觉标星,更快获取CVML新技术 这两天专注介绍计算机视觉黑科技的52CV君发现一篇被AAAI2019录用的非常棒的复旦大学的文章!性能强悍到爆! 而且,论文作者经把代码也开源了!(文末 ...

  10. python步态识别算法_译 | GaitSet:将步态作为序列的交叉视角步态识别(一)

    本文是复旦大学发表于 AAAI 2019 的工作,截至目前CASIA-B正确率最高的网络. 英文粘贴原文,google参与翻译但人工为主,有不对的地方欢迎评论 ,部分为本人理解添加,非原文内容. 译 ...

最新文章

  1. 【Verilog HDL】参数(Parameter)的作用案例
  2. 添加库路经 linux,linux下的静态库与动态库
  3. 一个基于STM32实现的多组分气体分析仪项目
  4. 滤波器开发之三:基于算数平均的阶进平滑滤波器
  5. 计算机中Git配置环境变量 - 教程篇
  6. ML《集成学习(五)XGBoost》
  7. 使用IDEA+MVN 编译Spark 1.5.2 without hive
  8. 【Java并发编程:volatile关键字之解析】
  9. 升级AndroidStudio3.4问题汇总
  10. UI初学者必备知识|最好的Sketch App 素材资源都在一流设计导航
  11. SQL Server 内存泄露(memory leak)——游标导致的内存问题
  12. Linux文件目录与路径
  13. xcodebuild -exportArchive -allowProvisioningUpdates
  14. 人脸表情识别/人脸检测/ML/DL/图像处理博主
  15. Oculus:自己做内容不是长远之计,资助第三方开发者才是王道
  16. c++ 17 std::variant
  17. 微信小程序之地图功能
  18. 如何在VMware虚拟机中查看Linux的IP地址
  19. 计算机慢的解决方法,电脑很卡反应很慢该如何处理【解决方法】
  20. PubMed数据下载

热门文章

  1. 服务器芯片将填补中国空白,3年迭代4次技术,芯片黑马填补国产空白,韩企的垄断被打破...
  2. 阿铭Linux_网站维护学习笔记20190305
  3. Md5加密工具类DigestUtils
  4. cdrx8如何批量导出jpg_cdrx8如何批量导出jpg_办公软件操作技巧022:如何从word文档中批量导出多张图片......
  5. 苹果计算机远程控制软件,向日葵远程控制软件iPhone手机远程控制电脑
  6. 010Editor查看PE文件
  7. CAN资料整理(二):CAN协议帧格式
  8. RHEL 7 使用 CentOS 源安装 docker ce
  9. 路由器wifi信号测试软件,常用路由器WIFI测速效果比对
  10. 怎么将苹果手机屏幕投屏到电脑上