GaitPart: Temporal Part-based Model for Gait Recognition

目录

  • GaitPart: Temporal Part-based Model for Gait Recognition
    • 摘要
    • Intro
    • Related Work
    • Proposed Method
      • Pipeline
      • Frame-level Part Feature Extractor(FPFE)
      • Temporal Feature Aggregator(TFA)
    • 实验
      • 消融实验

论文信息:

Chao Fan, Yunjie Peng, Chunshui Cao, Xu Liu, Saihui Hou,
Jiannan Chi, Yongzhen Huang, Qing Li, Zhiqiang He

北京科技大学,北京航空航天大学,银河水滴,联想

CVPR 2020


摘要

这篇文章中假定人体的每个部分都需要一个特定时空表示,提出了基于部件的模型GaitPart,并从两个方面得到了提高性能的效果:一方面,卷积的新应用:Focal Convolution Layer,可以增强部件级别空间特征的细粒度学习;另一方面,提出了多个平行的微动作捕捉模块(Micro-motion Capture Module, MCM),对应于预定义的人体部分的GaitPart有几个平行的MCM。这里MCM是一种新颖的步态的时序建模方法,关注的是步态周期内的短时间特征,而不是冗余的长时间特征。在CASIA-B和OU-MVLP上都有SOTA的结果。


Intro

当前,大多数的步态识别方法都是把整个人体作为单元去建立时空表示,但我们可以看到人体不同部位具有明显的不同的视觉外观和运动模式。在最新的文献中,利用局部特征更有利于个体识别已经被证实。

当前的工作中,有使用人体部分特征提取 细粒度信息 的,但没有对时间序列进行显式建模;也有通过3D-CNN或者RNN利用 时序信息 的,但这种方法对于周期性的步态来说保留了不必要的长期序列约束,丧失了步态识别的灵活性。

本文提出的步态由两个部件构成:帧级别的部件特征提取器(FPFE)和微运动捕捉模块(MCM)。

  • FPFE:应用了FConv,以加强细粒度学习的部件级别空间特征的学习,核心思想是使得顶层的卷积核能够专注于更局部的细节,直接利用细粒度的局部信息;
  • MCM:局部的短距离时空特征(微运动模式)是最能区分周期性步态的特征,而远距离依赖则是冗长而低效的,本文提出了一种基于注意力机制的MCM模型来建模局部微运动特征并全局理解整个步态序列;
  • 提出了一种新的基于时序基于部件的步态识别框架GaitPart,在CASIA-B和OU-MVLP上都进行了实验,并且在CASIA-B上做了消融实验来证明GaitPart各部件的有效性。

Related Work

(这里只记录了一部分看起来想法比较新颖的)

将特征图分割为条带并将其合并为列向量已经在行人重识别等领域得到了广泛的应用,这种方法忽略了空间对齐,假定每个列向量可以代表一个特定的人体部分。与行人重识别领域不同,文章认为基于部件的方式在应用到步态任务上时应该被设计为 部件互相依赖 的方式,因此GaitPart的参数在生成时空表示时是部件依赖的。因为在步态任务中人体的各部位在外观和运动模式上存在着显著差异,而行人重识别中人体的各部分可能具有相同的属性,比如颜色和纹理等。

GaitSet方法足够简洁有效,但没有明确地对时间变化进行建模。

所以GaitPart的核心在于 局部和短时间建模


Proposed Method

Pipeline

如图2所示,一组包含t帧的步态轮廓序列逐帧输入GaitPart中,FPFE用于提取每个帧 fif_ifi​ 的空间特征 FiF_iFi​ :
Fi=FPFE(fi)F_i=FPFE(f_i) Fi​=FPFE(fi​)
这样可以得到一个特征图序列:SF={Fi∣i=1,…,t}S_F=\{F_i|i=1,…,t\}SF​={Fi​∣i=1,…,t} , FiF_iFi​ 是一个三维的张量,包含通道数、高、宽三个维度。

之后经过一个水平池化(HP)模块,针对人体部分提取part-informed features,对于 FiF_iFi​ 的第j个部分,通过全局平均池化和全局最大池化下采样到 pj,ip_{j,i}pj,i​ 中:
pj,i=Avgpool2d(Fj,i)+Maxpool2d(Fj,i)p_{j,i}=Avgpool2d(F_{j,i})+Maxpool2d(F_{j,i}) pj,i​=Avgpool2d(Fj,i​)+Maxpool2d(Fj,i​)
这样就可以获得一个部件表示矩阵(PR-Matrix):P=(pj,i)n×tP=(p_{j,i})_{n\times t}P=(pj,i​)n×t​ ,每一行的特征可以表示为:Pj,⋅={pj,i∣i=1,…,t}P_{j,·}=\{p_{j,i}|i=1,…,t\}Pj,⋅​={pj,i​∣i=1,…,t} ,之后将第j部分的时空特征进行聚合:
vj=MCMj(Pj,⋅)v_j=MCM_j(P_{j,·}) vj​=MCMj​(Pj,⋅​)
共有n个平行的MCM,其参数都是独立的,组成了时序特征聚合器(TFA),之后使用几个独立的全连接层把TFA中提取的特征向量映射到度量空间中用于最后的身份识别。

Frame-level Part Feature Extractor(FPFE)

FPFE由三个块组成,每个块有两个FConv层。

如图3所示,FConv是卷积的一种新应用,可以先水平地将输入特征图分为几个部分,然后分别对每个部分进行常规卷积,之后将输出的特征图进行水平连接,作为FConv的最终输出。这样顶层的卷积核将比正常的更窄一些,就能使其更关注于这个部分的局部细节。设p为预定义的部分(即把原始图像划分成几个块),当p=1时,FConv就是一个普通的卷积层。

Temporal Feature Aggregator(TFA)

TFA由n个并行的MCM组成,MCM包括两个部分:微动作模板生成器(MTB)和时序池化层(TP),MTB被设计用于映射微动作特征向量。之后通过TP模块提取最显著的动作特征向量进行聚合,用于最后的身份识别。

MTB : 这里做的假设是将短距离时空表示(微动作特征)看做是周期步态最具有辨别力的特征,并且认为任何特定时刻的微动作模式都应该完全由其自身及其相邻帧所决定。令 R(pi,r)={pk∣k=i−r,…,i,…,i+r}R(p_i,r)=\{p_k|k=i-r,…,i,…,i+r\}R(pi​,r)={pk​∣k=i−r,…,i,…,i+r} 是由 pip_ipi​ 和与它相邻的r帧所组成的子序列,那么i时刻的微动作特征可以被定义为:
mi=TempFunc(R(pi,r))m_i=TempFunc(R(p_i,r)) mi​=TempFunc(R(pi​,r))
这步操作相当于是在进行一个 R(pi,r)R(p_i,r)R(pi​,r) 子序列的压缩,MTB在时序维度上进行滑动,将相邻的2r+1维的列向量聚合为一个微运动特征向量。具体实现时使用的是平局池化和最大池化加和的方式,特征序列的表示如下:
Sm=Avgpool1d(Sp)+Maxpool1d(SP)S_m=Avgpool1d(S_p)+Maxpool1d(S_P) Sm​=Avgpool1d(Sp​)+Maxpool1d(SP​)
同时,为了获得更有区分度的特征,还引入了通道注意力机制,在每个时间通过一个以为卷积层对特征向量进行重新加权:
Slogits=Conv1dNet(Sp)SMre=Sm⋅Sigmoid(Slogits)S_{logits}=Conv1dNet(S_p)\\ S_M^{re}=S_m \cdot Sigmoid(S_{logits}) Slogits​=Conv1dNet(Sp​)SMre​=Sm​⋅Sigmoid(Slogits​)

在实际应用中,有两个平行的MTB,在MCM中使用不同的窗口大小,目的是融合序列维上的多尺度信息,从而收集到更丰富的微运动特征。

TP :这个模块也是步态时序聚合的底层逻辑,核心思想是在一个完整的步态周期之后不会产生信息增益。令 Smre(T)={mire∣i=1,…,T}S_m^{re}(T)=\{m_i^{re}|i=1,…,T\}Smre​(T)={mire​∣i=1,…,T} 代表一个完整步态周期的微运动特征序列,则TP应满足:
For∀t>T,∃TP(Smre(t))=TP(Smre(T))For \ \forall t>T, \ \exist \ TP(S_m^{re}(t))=TP(S_m^{re}(T)) For ∀t>T, ∃ TP(Smre​(t))=TP(Smre​(T))
使用的方法是mean或max.

  • mean:(对于假设步态是一个周期运动来说,当且仅当t是T的整数倍时,下面两个式子相等,这显然不太适合于现实应用,因为真实世界的视频长度是不确定的)

TP(Smre(t))=∑1tmiretTP(Smre(T))=∑1TmireTTP(S_m^{re}(t))=\frac{\sum^t_1 m^{re}_i}{t} \\ TP(S_m^{re}(T))=\frac{\sum^T_1 m^{re}_i}{T} TP(Smre​(t))=t∑1t​mire​​TP(Smre​(T))=T∑1T​mire​​

  • max:(对于假设步态是一个周期运动来说,下面两个式子无论何时都相等)

TP(Smre(t))=max(m1re,…,mTre,…,mtre)TP(Smre(t))=max(m1re,…,mTre)TP(S_m^{re}(t))=max(m^{re}_1,…,m^{re}_T,…,m^{re}_t) \\ TP(S_m^{re}(t))=max(m^{re}_1,…,m^{re}_T) TP(Smre​(t))=max(m1re​,…,mTre​,…,mtre​)TP(Smre​(t))=max(m1re​,…,mTre​)


实验

消融实验

(只记录了这里作者的消融实验逻辑)

  • FConv有效

  • 在底层使用FConv效果并不好,可能是因为相邻部分之间的边缘和轮廓信息被破坏

  • 顶层神经元的不同感受野可以适应不同的行走条件

  • 两个MTB同时使用效果最好

  • 注意力机制很有必要

  • TP阶段使用MAX效果更好

作者在消融实验里还有一个很有趣的点,他做了一个步态序列的打乱操作,但精度的退化非常小。

【论文阅读】CVPR 2020:GaitPart: Temporal Part-based Model for Gait Recognition相关推荐

  1. 论文阅读06——《CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network for Clustering》

    欢迎到我的个人博客看原文 论文阅读06--<CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network f ...

  2. 【步态识别】GaitPart 算法学习《GaitPart: Temporal Part-based Model for Gait Recognition》

    目录 1. 论文&代码源 2. 论文亮点 3. 模型结构 3.1 FPFE(FConv) 3.2 TFA(MCM) 3.2.1 微动作模板生成器(MTB) 3.2.2 时间池化(TP) 4. ...

  3. 行为识别论文阅读(2)——3D Human Sensing, Action and Emotion Recognition in Robot Assisted Therapy of Children

    行为识别论文阅读(2)--3D Human Sensing, Action and Emotion Recognition in Robot Assisted Therapy of Children ...

  4. 论文阅读:A deep multimodal network based on bottleneck layer features fusion for action recognition

    摘要:提出了一个深度瓶颈多模式特征融合(D-BMFF)框架,融合RGB.RGB- d(深度)和三维坐标信息三种不同的模式进行活动分类.在四个数据集: UT-Kinect, CAD-60, Floren ...

  5. 【论文阅读】Consistent Instance False Positive Improves Fairness in Face Recognition(CVPR2021)

    论文题目:Consistent Instance False Positive Improves Fairness in Face Recognition 论文地址:https://arxiv.org ...

  6. 论文阅读:(2020 AAAI) Video Cloze Procedure for Self-Supervised Spatio-Temporal Learning

    Video Cloze Procedure for Self-Supervised Spatio-Temporal Learning (2020 AAAI) Dezhao Luo, Chang Liu ...

  7. 论文阅读Targetless Calibration of LiDAR-IMU System Based on Continuous-time Batch Optimization(含代码解读)

    原文链接: https://arxiv.org/pdf/2007.14759v1.pdf 代码地址GitHub - APRIL-ZJU/lidar_IMU_calib: Targetless Cali ...

  8. 【论文阅读-ASE 2020】利用单词重叠信息的代码检索 OCoR: An Overlapping-Aware Code Retriever

    OCoR: An Overlapping-Aware Code Retriever Conference: ASE 2020 Authors: 摘要 代码搜索任务是通过给出一段自然语言描述,模型能够找 ...

  9. 论文阅读>烟雾检测:Vision based smoke detection system using image energy and color information

    原文 Vision based smoke detection system using image energy and color information 文章目录 原文 基于图像能量和颜色信息的 ...

最新文章

  1. varchar与varchar2的区别
  2. 共享文件夹Access-Based Enumeration特性一览
  3. project开发的程序设计与逻辑设计
  4. 谈AK管理之基础篇 - 如何进行访问密钥的全生命周期管理?
  5. C++_limits头文件
  6. 2020 网易 面经
  7. 国内大公司的开源项目一览表(包含mysql读写分离等)
  8. c# 使用NOPI 操作Excel
  9. eclipse jade插件安装
  10. 【自定义View】从零开始写一个PDF查看器
  11. Hive新特性reflect函数介绍
  12. 外星人笔记本没有修复计算机,外星人笔记本如何恢复出厂设置
  13. vue cle新建vue项目
  14. [健康]肾的保健按摩
  15. android客户端功能,推荐一个功能齐全的【玩Android客户端】
  16. Vue3+Vite+TS+Eslint搭建生产项目
  17. 京东11.11:京东中间件如何支撑起每一场大促
  18. java控制vnc_VNC 抓取远程桌面
  19. 2021年中国牛奶产业发展环境(PEST)分析:牛奶需求量在上升[图]
  20. 模仿网易新闻客户端(RSS版)(二)

热门文章

  1. 2023美赛E题程序建模思路
  2. 毕业设计一周一记04
  3. 关于推荐算法工程师大家比较关注的几个问题
  4. Ae:常用表达式及应用(01)
  5. 【程序】Marvell 88W8801 WiFi模块创建或连接热点,并使用lwip2.1.2建立http服务器(20200208版)
  6. RGB——三原色到五颜六色
  7. rg1 蓝光危害rg0_LED蓝光危害评价的最新标准及测试方案介绍
  8. checkbox选中和不选中 jqu_jquery 选中checkbox兼容问题如何解决?
  9. CSDN上传图片失败的解决方法
  10. java获取月末日期_Java -- 获取当前日期、当月月初日期、月末日期