使用胶囊的多尺度部分表示变换的步态识别

paper题目:Gait Recognition using Multi-Scale Partial Representation Transformation with Capsules

paper是皇后大学发表在ICPR 2021的工作

论文地址:链接

Abstract

步态识别是指基于个人行走方式的个人识别,由于相机视角和个人外观的变化,可能非常具有挑战性。当前的步态识别方法主要由深度学习模型主导,尤其是那些基于部分特征表示的模型。在这种情况下,作者提出了一种新颖的深度网络,学习使用胶囊传输多尺度部分步态表示以获得更具辨别力的步态特征。本文的网络首先使用最先进的深度部分特征提取器获得多尺度部分表示。然后,它使用双向门控循环单元(BGRU)循环学习前向和后向部分特征之间模式的相关性和共同发生的模式。最后,采用胶囊网络来学习更深层次的部分-整体关系,并为更相关的特征分配更多权重,同时忽略虚假的维度。这样,获得了对视角和外观变化都更加稳健的最终特征。本文的方法的性能已经在两个步态识别数据集 CASIA-B 和 OU-MVLP 上进行了广泛的测试,使用了四种具有挑战性的测试协议。本文的方法的结果已与最先进的步态识别解决方案进行了比较,显示了模型的优越性,尤其是在面临具有挑战性的视角和携带条件时。

Index Terms-步态识别 卷积网络 门控循环单元 胶囊网络

I. INTRODUCTION

从步行过程中个人的身体运动获取的步态数据可以提供重要的身份信息,从而为生物特征识别提供广泛的可能性。步态数据通常可以使用可穿戴或非可穿戴传感器获取。基于可穿戴传感器的步态识别系统需要用户的合作才能将传感器连接到他们的身体上,而本文中考虑的非可穿戴步态识别系统可以在没有个人合作的情况下获取步态数据,特别是使用一个或多个成像传感器。有两个具有挑战性的因素会影响非穿戴式基于图像的步态识别系统的性能,即相机视角的变化和个体的外观变化。由于步态识别的不受约束的性质,可以从不同的视角捕获步态数据,因此可以将身体的某些部位从一个视角隐藏到另一个视角。由于服装的不同,个人的外观也可能不同,例如穿着外套或帽子,或携带手提包或背包。

近年来,深度学习的步态识别发展势头良好,提供了最先进的识别精度。然而,由于上述具有挑战性的因素,很难学习对视角和外观变化具有高度鲁棒性的步态特征。基于部分特征表示的深度学习方法已被证明对于视角和外观不变的步态识别是有效的。这些方法基于将步态数据拆分为空间和/或时间段,可能在多个尺度上,以获得部分步态表示。部分表示通常连接在单个特征向量中以执行步态识别。然而,这些表示可以进一步处理以探索它们的层次部分整体关系,同时保留位置属性,例如表示的位置、旋转和比例。通过保留位置属性,步态识别系统可以对步态数据的视角和方向变化更加稳健,这可能有助于设计改进的视角不变步态识别系统。部分特征的重要性也可以进行调查,因为它们可能代表不同数量的个人特定信息,这些信息对最终识别性能的贡献可能不同;当一个特征代表一个外观变化因素时,这个问题会更加明显,例如,背包。

为了解决这些问题,本文提出了一种新颖的深度网络,学习使用胶囊传输部分步态表示,以获得对视角和外观变化都具有鲁棒性的更具辨别力的步态特征。图 1 抽象描述了学习表示如何在本文提出的解决方案中进行转换。深度网络首先使用最先进的深度部分特征提取器 Gaitset来获得多尺度部分表示。然后,部分表示形成一个特征序列来馈送双向门控循环单元(BGRU),从而循环学习每个特定输入的前向和后向部分特征之间模式的相关性和共现性表示。然后使用胶囊网络,将反复学习的部分特征视为胶囊,以通过动态路由学习底层和输出胶囊之间的耦合权重。它在部分表示之间建立了分层的部分-整体关系,使本文的网络对视角变化更加健壮。此外,胶囊网络为更相关的特征分配更多权重,同时忽略虚假维度,从而获得对外观变化具有更强鲁棒性的步态表示。最终使用 softmax 分类器进行步态识别。尽管 BGRU 和胶囊网络的组合最近已应用于一些其他领域,例如问题目标分类、情感分类和情感检测,但它从未用于生物特征识别的上下文中系统。

图 1. 提出的方法概述。步态轮廓由 GitSet 方法处理,提取不同尺度的部分嵌入。然后使用 BGRU学习了部分嵌入之间的关系。最后,通过胶囊进一步学习循环学习的特征,以利用部分-整体关系并为更相关的特征分配更多权重,同时忽略虚假维度。

贡献可以总结如下:

  1. 第一次使用循环神经网络 (RNN) 来学习多尺度部分步态表示之间的关系。然后使用胶囊网络来学习更深层次的部分-整体关系,并充当注意力机制,使模型对不同的视角和外观条件更加鲁棒;
  2. 首次将统一流形逼近和投影 (UMAP) 可视化应用于学习的步态胶囊表示,展示了本文提出的解决方案的判别能力;
  3. 模型在两个步态数据集上获得了步态识别的最先进。提出的模型不仅对视角变化具有鲁棒性,而且对人类外观变化(包括穿着不同的衣服和携带条件)也具有鲁棒性。

II. RELATED WORK

步态识别解决方案可以分为基于模型的和基于外观的类别,分别处理身体的结构和外观。如今,深度学习网络在基于模型和基于外观的步态识别方面提供了最先进的结果。表 I 概述了用于步态识别的深度学习方法的主要特征,按发布日期排序,突出显示了它们的网络架构和用于将时间信息与视频一起聚合的模板。这些时间模板可以在深度网络的初始层以步态能量图像 (GEI)、周期能量图像 (PEI)、Chrono Gait Image 的形式获得(CGI)等,或在网络的中间层,例如以卷积步态能量图(Conv. GEM)的形式。

最先进的深度步态识别方法概述。

在表示方面,步态识别方法可以具有全局或部分表示。基于全局表示的步态识别方法将步态数据作为一个整体来处理;一些示例包括 MGAN、GaitNet1、GaitNet-2和DiGGAN。基于部分表示的步态识别方法,例如Ensemble CNNs和 Gait-Set,将步态数据拆分为空间(和/或时间)bins。然后可以进一步处理拆分数据,例如使用全连接 (FC) 层,从而提取对姿势和外观变化不太敏感的部分特征。

在调查的解决方案中,GaitSet目前在两个大规模 CASIA-B 和 OU-MVLP 步态数据集上的跨视图步态识别优于其他识别解决方案。它首先从帧级步态轮廓中提取卷积图,然后使用集合池化策略以 Conv 的形式聚合卷积时空信息。GEM模板。模板被分成不同尺度的 bin,然后映射到具有水平金字塔匹配方案的判别特征空间,形成最终的步态表示,其中学习到的 bin 的特征对最终目标具有相同的重要性。深度网络使用Gaitset作为其第一个block来获得多尺度部分表示,然后使用胶囊将其转移到更具辨别力的特征空间。

III. METHOD

A. Problem Definition


给定一个步态序列数据集D\mathcal{D}D,其中每个序列Si,jS_{i, j}Si,j​是从身份xi∈{x1,x2,…,xN}x_{i} \in\left\{x_{1}, x_{2}, \ldots, x_{N}\right\}xi​∈{x1​,x2​,…,xN​}和记录视角θj∈{θ1,θ2,…,θV}\theta_{j} \in\left\{\theta_{1}, \theta_{2}, \ldots, \theta_{V}\right\}θj​∈{θ1​,θ2​,…,θV​},探测步态序列Sprobe S_{\text {probe }}Sprobe ​的步态识别任务可以定义为:
x^=arg⁡max⁡xiPr⁡(xi∣Sprobe ,D),\hat{x}=\arg \max _{x_{i}} \operatorname{Pr}\left(x_{i} \mid S_{\text {probe }}, \mathcal{D}\right), x^=argxi​max​Pr(xi​∣Sprobe ​,D),
其中Pr⁡(xi∣Sprobe ,D)\operatorname{Pr}\left(x_{i} \mid S_{\text {probe }}, \mathcal{D}\right)Pr(xi​∣Sprobe ​,D)是序列Sprobe S_{\text {probe }}Sprobe ​属于身份xix_{i}xi​的概率。每个序列样本S=S=S= (Si,j(1),Si,j(2),…,Si,j(T))\left(S_{i, j}(1), S_{i, j}(2), \ldots, S_{i, j}(T)\right)(Si,j​(1),Si,j​(2),…,Si,j​(T))由一系列二进制步态轮廓Si,j(t)S_{i, j}(t)Si,j​(t)表示每一帧的步态外观。

B. Model Overview


模型由以下四个主要模块构成:
f=fPFE∘fRNN∘fCAP∘fCLS,f=f_{P F E} \circ f_{R N N} \circ f_{C A P} \circ f_{C L S}, f=fPFE​∘fRNN​∘fCAP​∘fCLS​,
其中FPFEF_{P F E}FPFE​是由多个卷积、池化和全连接层构建的步态图的部分特征提取。FRNNF_{R N N}FRNN​是一个双向循环神经网络,它通过探索特征图中水平条带之间的空间相关性,将前一层提取的特征转换为更具辨别力的流形。fCAPf_{C A P}fCAP​是一个胶囊注意力层,它学习条带之间更深的部分-整体关系,然后有选择地为更具辨别力的特征分配更多权重,并解释误导因素。最后一层FCLSF_{C L S}FCLS​使用 softmax 激活函数进行分类。图 2 代表了模型的架构。

图 2. 步态识别网络架构。

C. Gait Partial Feature Extraction Block


第一个块FPFEF_{P F E}FPFE​旨在提取判别性的特征bin,其中每个bin对应于时空步态卷积能量图上的部分空间位置。在这种情况下,使用Gaitset作为最先进的深度部分特征提取器来获得多尺度部分表示。 Gaitset 首先使用八个 2D 卷积和池化层从步态序列中的单个轮廓Si,j(t)S_{i, j}(t)Si,j​(t)中提取卷积图。然后,它使用集合池化层通过时间累积卷积信息来总结步态的时间动态行为。该操作可以被认为是一种有效的时间压缩,应用于可变长度的特征图序列,从而使生成的单个图对每个序列的帧数保持不变。接下来,Gaitset 对步态图进行分区,并将每个部分空间位置表示为水平特征bin。这使模型能够了解显著和非显著的身体部位,从而使其对丢失的关键部位和局部外观变化不太敏感。最后,使用全连接层将不同尺度(即 1、2、4、8 和 16)的水平bin映射到判别特征空间,形成步态部分特征表示。

D. Recurrent Learning Block


由于不同体型和视角的存在,特征bins的显著性因序列而异。换句话说,模型的第一个块 Gaitset 对空间转换不是不变的。为此,应用了一个 BGRU网络,该网络已被证明对来自序列数据的许多学习任务有效。BGRU 网络循环学习每个特定输入表示的前向和后向特征bin之间模式的相关性和共现性。每一步的输出都表示为当前 bin 的函数,以及从上下特征 bin 中保留的信息。在全连接层上使用双向循环层的优势是双重的。首先,尽管具有足够容量的全连接层能够学习特征bin之间的相关性,但它可能会受到平移不变性的影响,这与对(在这种情况下)空间不变的循环神经网络相反。其次,一个足够大以捕获判别相关性的全连接层将需要大量可训练参数,使其容易过度拟合,特别是对于没有跨不同视角的大量训练样本的场景。

E. Capsule Learning Block


胶囊网络可以将输入特征分解为不同的层次子部分,然后在它们之间建立关系。与丢失位置属性(例如位置、旋转和比例)的标准池化层不同,胶囊网络可以保留这些属性。在这种情况下,建议将反复学习的部分特征视为胶囊,以学习底层胶囊和输出胶囊之间的耦合权重。它利用了输入部分特征表示之间的层次部分-整体关系,同时保留了位置属性,这有助于模型更好地泛化到新颖的视点,这是步态识别任务中的主要挑战之一。胶囊网络通常需要较少的特征检测器和较少的训练数据,因为它们能够处理视角变化。

胶囊网络还能够学习特征重要性以确定probe身份,因为它可以选择性地为更相关的特征分配更多权重,同时忽略虚假维度。与胶囊网络相比,一种流行的选择是使用传统的注意力层,其中双向循环隐藏状态由学习的权重加权。然而,为了捕捉bin之间更深的空间相关性,需要多层关注。这导致模型参数的高度扩展,使其容易过度拟合,尤其是在训练样本数量有限的情况下。为此,胶囊网络还在本文的网络中充当了注意力机制,从而使模型对不同的步行和外观条件更加鲁棒。

[21] 中提出的原始胶囊网络包含两个主要块,即初级胶囊和高级胶囊。初级胶囊块旨在使用卷积、重塑和挤压层对空间信息进行编码,而高级胶囊块则可以学习层次子部分之间更深层次的部分-整体关系。在这个块中,从主胶囊层中移除了卷积层,并且只对前一层的输出应用了整形和挤压功能。这种选择背后的原因是网络的第一个块,即部分特征提取,已经通过几个卷积层对空间信息进行了编码,因此在这个阶段不需要更多的卷积学习。

首先,将双向循环层生成的输出重新整形为C×D1C \times D_{1}C×D1​张量,其中CCC是主胶囊的数量,D1D_{1}D1​是它们的维度。接下来是一个非线性压缩函数,它将每个胶囊的长度映射到 0 到 1 之间的一个数字。本文使用了原始版本的压缩函数,如下所示:
vj=∥sj∥21+∥sj∥2sj∥sj∥\mathbf{v}_{j}=\frac{\left\|\mathbf{s}_{j}\right\|^{2}}{1+\left\|\mathbf{s}_{j}\right\|^{2}} \frac{\mathbf{s}_{j}}{\left\|\mathbf{s}_{j}\right\|} vj​=1+∥sj​∥2∥sj​∥2​∥sj​∥sj​​
其中 vjv_{j}vj​是初级胶囊层的第jthj^{t h}jth个向量输出,sjs_{j}sj​是通过重塑循环学习块的输出形成的第jthj^{t h}jth个胶囊输入。第二个胶囊层由D2D_{2}D2​维数字胶囊构成,其中每个胶囊通过类似于最初在 [21] 中提出的路由过程计算。每个未压缩的数字胶囊被确定为预测向量u^j∣i\hat{\mathbf{u}}_{j \mid i}u^j∣i​的加权和,如下所示:
sj=∑iciju^j∣i\mathbf{s}_{j}=\sum_{i} c_{i j} \hat{\mathbf{u}}_{j \mid i} sj​=i∑​cij​u^j∣i​
其中,cijsc_{i j} scij​s表示由动态路由过程计算的耦合系数。预测向量u^j∣i\hat{\mathbf{u}}_{j \mid i}u^j∣i​被计算为前一层中胶囊向量的变换版本,如下所示:
u^j∣i=Wijui\hat{\mathbf{u}}_{j \mid i}=\mathbf{W}_{i j} \mathbf{u}_{i} u^j∣i​=Wij​ui​
其中Wij\mathbf{W}_{i j}Wij​是一个可训练的权重矩阵,它对部分整体空间关系进行编码,从而建立了预测新视角的内在能力。因此,公式sj=∑iciju^j∣i\mathbf{s}_{j}=\sum_{i} c_{i j} \hat{\mathbf{u}}_{j \mid i}sj​=∑i​cij​u^j∣i​可以被认为是转换后的胶囊u^j∣i\hat{\mathbf{u}}_{j \mid i}u^j∣i​上的注意力层,其中耦合系数扮演着注意力权重的角色。

Results

参考文献

[21] S. Sabour, N. Frosst, and G. E. Hinton, “Dynamic routing between capsules,” in Advances in neural information processing systems (NIPS), Long Beach, CA, USA, December 2017, pp. 3856–3866.

(ICPR-2021)使用胶囊的多尺度部分表示变换的步态识别相关推荐

  1. OpenCV中的尺度不变特征变换(SIFT Scale-Invariant Feature Transform)

    OpenCV中的尺度不变特征变换(SIFT Scale-Invariant Feature Transform) 1. 效果图 2. 原理 2.1 步骤 2.2 opencv实现方法 2.3 SIFT ...

  2. 尺度不变特征变换匹配算法详解

    尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun 对于初学者,从David G.Lowe的论文到实现,有许多鸿沟, ...

  3. 局部图像描述子——SIFT(尺度不变特征变换)

    文章目录 SIFT(尺度不变特征变换) 1 兴趣点.描述子 2 检测兴趣点 3 匹配描述子 4 总结 SIFT(尺度不变特征变换) SIFT即尺度不变特征变换,是用于图像处理领域的一种描述.这种描述具 ...

  4. 【图像】尺度不变特征变换算法(SIFT)

    SIFT(Scale-Invariant Feature Transform),中文含义就是尺度不变特征变换.自1999年由David Lowe提出以后被广泛的应用于CV的各种领域:图像识别,图像检索 ...

  5. 算法 | 尺度不变特征变换匹配算法 Scale Invariant Feature Transform (SIFT)

    /******************************************************/ github:https://github.com/MichaelBeechan CS ...

  6. 数字图像处理学习笔记(三):ORB算法(尺度不变特征变换)Oriented FAST and Rotated BRIEF

    数字图像处理学习笔记(三):ORB算法(尺度不变特征变换)Oriented FAST and Rotated BRIEF 一.概述 参考:特征点匹配+特征检测方法汇总 ORB的全称是Oriented ...

  7. 数字图像处理学习笔记(二):SIFT(尺度不变特征变换)算法

    数字图像处理学习笔记(二):SIFT(尺度不变特征变换)算法 一.概述: 提到特征点算法,首先就是大名鼎鼎的SIFT算法了.SIFT的全称是Scale Invariant Feature Transf ...

  8. [转载]SIFT(尺度不变特征变换)算法小结

    原文地址:SIFT(尺度不变特征变换)算法小结[转]作者:慕容天峰 最近一直在看SIFT算法.Sift是David Lowe于1999年提出的局部特征描述子,并于2004年进行了更深入的发展和完善.S ...

  9. SIFT(尺度不变特征变换)算法浅析

    SIFT(尺度不变特征变换)算法浅析 SIFT简介 SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种算法,这是一种 ...

  10. Python+OpenCV:尺度不变特征变换(SIFT)的加速健壮特性(SURF)

    Python+OpenCV:尺度不变特征变换(SIFT)的加速健壮特性(SURF) 理论 In SIFT, Low approximated Laplacian of Gaussian with Di ...

最新文章

  1. 2020诺奖预测出炉!一位华人学者入选
  2. linux第三方模块参数,Swift on Linux – 导入第三方模块
  3. 今天开始学模式识别与机器学习Pattern Recognition and Machine Learning 书,章节1.1,多项式曲线拟合(Polynomial Curve Fitting)
  4. Flask之flask-script 指定端口
  5. java定义说话方法_类定义的基本形式_Java语言程
  6. python3 ftp启动_python3利用pyftpdlib模块启动ftp服务
  7. TCP协议中三次握手
  8. nginx php 源码安装,Nginx和php安装及配置一之编译安装nginx-1.8.0
  9. Spring AOP原理详解及实例
  10. 思维导图怎么画简单又漂亮?思维导图制作方法分享
  11. linux格式化挂载的硬盘,linux格式化和挂载硬盘
  12. 闭区间连续函数的性质
  13. C++如何检查浮点数是否为整数
  14. php interface类,类相关的关键字 - interface
  15. 展望 2017年商业智能BI发展的趋势分析
  16. python快速排名seo代码_python打造seo必备工具-自动查询排名
  17. Deep High-Resolution Representation Learning for Visual Recognition阅读笔记
  18. association内属性及作用
  19. 数字图像处理学习笔记 九 形态学处理
  20. 线上调试神器arthas

热门文章

  1. 黑马程序员宣传语征集大赛
  2. Django搭建后台管理系统
  3. 2017 matlab 仿真,【2017年整理】Simulink仿真教程.ppt
  4. 机器学习(周志华) 第五章神经网络
  5. 数据结构4:静态链表
  6. 用计算机软件绘制思维导图,无需其他软件!用Word 2016快速制作思维导图
  7. Linux系统如何测试无线网卡的信号强度,如何用wifi-linux检测AP信号强度
  8. 蓝宝石rx580怎么超频_【蓝宝石 RX580 8G D5 超白金 OC 显卡使用总结】游戏|界面|按钮|频率_摘要频道_什么值得买...
  9. GIS中常用专业英文术语
  10. 使用win10自带的计算器,计算对数log