CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition

GaitPart: Temporal Part-Based Model for Gait Recognition
基于时间部件的步态识别模型
作者 | Chao Fan, Yunjie Peng, Chunshui Cao, Xu Liu, Saihui Hou, Jiannan Chi, Yongzhen Huang, Qing Li, Zhiqiang He
单位 | 北京科技大学;北航;WATRIX.AI;联想
代码 | https://github.com/ChaoFan96/GaitPart

Abstract

步态识别应用于在长距离中识别个人的行走模式,是最有发展前景的视频生物特征识别技术之一。目前,大多数的步态识别方法都是将整个人体作为一个单元来建立其时空表征。然而,我们已经观察到,在行走过程中,人体的不同部位表现出明显不同的视觉形态和运动模式。在最近的文献中,利用部分特征描述人体特征已被证实有利于个体识别。综合以上观点,我们假设人体的每个部分都需要自己的时空表达。在此基础上,我们提出了一种新的基于部分的模型GaitPart,并得到了提高性能的两方面效果:一方面,提出了卷积的一种新的应用——聚焦卷积层,以增强部分层次空间特征的细粒度学习。另一方面,提出了微动作捕捉模块(MCM),在微动作捕捉模块中有多个并行的MCM,分别对应于预先定义的人体部位。值得一提的是,MCM是一种新的步态任务时态建模方法,它关注的是周期步态的短期特征,而不是冗余的长期特征。在两个最流行的公共数据集CASIA-B和OU-MVLP上进行的实验充分证明了我们的方法在多个stan-dard benchmarks中满足了最新的技术水平。

1. Introduction

步态是描述一个人行走模式的一种生理和行为生物特征。与其他生物识别方式相比,比如面部、指纹和虹膜。它可以很容易地在远距离捕获,不需要感兴趣目标主题的合作。因此,步态识别在犯罪调查、门禁和社会安全方面具有巨大的潜力。步态识别作为一项视觉识别任务,其基本目标是从人体形态的时间变化特征中学习独特的、不变的表征。然而,在现实场景中,变化,如拎包,穿衣服和摄像机视点导致步态外观的巨大的变化,这给步态识别带来重大挑战。为了缓解这些问题,许多基于深度学习的方法已经提供了很有前途的解决方案[30,25,5,26,18,29,21,14]。Thomas等[25]利用3D-CNN对时空信息进行解析,试图找到人类步态的基本描述符。GaitNet[30]提出了一种自动编码器框架,从原始RGB图像中提取步态相关特征,然后使用LSTMs对步态序列的时间变化进行建模。而GaitSet[5]则假设轮廓的外观包含了其位置信息,因此将步态视为可提取时间信息的序列。这些方法将整个人体形状作为一个单元来提取时空信息,以进行最终的识别。然而,我们观察到人体不同部位在行走过程中具有明显不同的形状和运动模式,如图1(a)所示。
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第1张图片
[6, 15, 20, 5, 12, 13, 19, 28]的更多证据表明,人体描述的部分特征可以提供更精细的信息,有利于个性化识别任务。对于时间变化特征,一些最新的方法没有明确地建模时间特征,这导致在时间序列中丢失重要的不变特征[23,7,3,26]。其他一些方法通过深度叠加3d-卷积或重复操作来建模远程依赖关系,以再现步态序列的全局理解[25,30]。然而,这些方法被认为保留了不必要的长时间序列约束周期步态,从而失去步态识别的灵活性[5]。
基于上述研究结果,我们假设人体的各个部位都需要有自己的表达方式,其中局部的短程时空特征(微动pat- terns)是对人体步态最具区别性的特征因此,我们提出了一个新的基于时态部分的框架GaitPart。如图1(b)所示,步态-部分由两个新颖设计的部件组成,即步态-部分。,帧级部件特征提取(FPFE)和微动作捕捉模块(MCM)。
GaitPart的输入是一系列步态轮廓。
FPFE,一个特殊但简洁的堆叠CNN,首先采取
将每一帧作为输入,然后对输出的feature map进行预定义的水平划分。
这样,我们可以得到图1(b)中重新上色的几个部分级空间特征序列,每个序列都对应于人体的某个预定义部分,相应的MCM将捕捉其微运动模式。
注意,这些并行mcm之间的参数是独立的,这反映了GaitPart是一种部分独立的方法。
最后的步态表征是通过简单地简化这些MCMs的输出来形成的。
更具体地说,我们作出以下三大贡献。
1.在FPFE中,我们提出了一种简单而有效的卷积应用,称为焦点卷积(focalconvolution, FConv),以促进部分层次空间特征的细粒度学习。其核心思想是让顶层的卷积核关注输入帧中每个特定部分的更多局部细节,直观地挖掘出更细粒度的局部信息。
2.在MCM中,我们认为局部的短时空间特征(微运动模式)是对周期性步态最具鉴别性的特征,而长期的依赖关系是冗长和低效的。此外,还提出了一种基于注意力的MCM来模拟局部微运动特征和对整个步态序列的全局理解。
3.我们提出了一种新的基于时间部分的步态识别框架,称为GaitPart。在广泛使用的步态数据库CASIA-B[17]和OU-MVLP[21]上进行的大量实验表明,GaitPart大大优于现有的先进步态方法,显示了其优越性。在CASIA-B[17]上进行了大量严格的消融实验,进一步证明了GaitPart内各部件的有效性。

2. Related Work

步态识别大多数最新的作品都以空间特征提取和时间建模为重点[16,23,7,3,26,2,1]。
对于第一个问题,之前基于CNN的研究通常对整个feature map执行常规的2-D[30,5]或3-D[25,27]卷积操作。这种空间尺度上的统一操作是很自然的,并且得到了广泛的应用,但是这些方法忽略了在步态任务中人体各部位之间的显著差异。为了得到时空表征,许多方法倾向于明确地对时间变化建模[30,25],或直接将整个步态序列压缩为一帧[5,23,7,3,26,29]。然而,基于rnn的方法被认为保留了周期性步态[5]不必要的顺序约束,而另一种基于gei的方法[23,7,3,26]对现实世界场景的变化很敏感,尽管它们具有简单的优势。
Part-based model.
将特征图分割成条状,并将其汇聚成列向量,这是相关领域中常用的方法。例如,person Re-ID[6,20,15]。这些方法假设每个列向量可以表示人体[20]的某个相关部位。忽略了空间对齐,与行人重识别领域的认知领域不同,步态任务中应用的基于部分的图式应该以部分依赖的方式设计。与行人重识别领域的认知领域不同,我们认为步态任务中应用的基于部分的图式应该以部分依赖的方式设计。由于在步态任务中,人体部分的外观和移动模式有显著的不同,而人体的不同部分完全有可能拥有共同的属性,例如在REID中人的颜色和纹理。因此,GaitPart被设计成一个部分依赖的方法,它的参数在时空表征的合成阶段是部分依赖的。
此外,本文还提出了卷积的一种新的应用,即焦点卷积(F-Conv),构成了FPFE。更具体地说,FConv首先将输入特征映射分割成若干部分,然后分别对这些部分执行常规的卷积。当FConv深度叠加时,顶层神经元的感受野会受到限制,预计会聚焦于输入框对应部分内部更多的局部细节。

Temporal model
步态时间变化的建模方法一般可分为三类:基于3dcnn的[25]、基于lstm的[5][30,14]和基于Set的[5]。其中,基于3dcnn的方法[2,1,22,25]直接提取时空特征用于步态识别,但这些方法通常难以训练,不能带来相当可观的性能。Zhang等人提出了一种新的自动编码器框架,从原始RGB视频中提取姿态特征,并使用三层LSTM在时间序列中聚合这些姿态特征,生成最终的步态特征[30]。
然而,基于LSTM的方法被认为保留了周期性步态[5]必要的顺序约束。GaitSet[5]假设一个轮廓的外形包含了它的位置信息,提出将步态作为一个集合,采用时间池的方法提取其时空特征。
这种方法足够简洁和有效,但没有显式地对时间变化建模。
与上述情况相比,我们观察到具有相似视觉外观的框架在周期性步态中很可能呈现周期性,这表明在完成一个完整的步态周期后将不会获得有区别的信息。这一现象意味着长距离依赖(例如,比一个完整的步态周期长)可能是多余的,对步态识别无效。因此,GaitPart将注意力转向了局部短时建模,并提出了微动作捕捉模块。更多细节将在第3.3节讨论。

3. Proposed Method

在本节中,我们首先介绍GaitPart的流程,然后介绍帧级部件特征提取器(FPFE),最后介绍时态特征聚合器(TFA)和实现细节。框架如图2所示。
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第2张图片
Figure 2. The framework of GaitPart. The Block1, 2 and 3 are composed of FConvs and pooling layers. The HP represents HorizontalPooling and MCM represents Micro-motion Capture Module. In particular, MCM j is responsible for aggregating all the vectors at row j in Part Representation Matrix to generate the spatio-temporal feature v j for the final identification.

3.1. Pipeline

如图2所示,将包含t帧的步态轮廓序列逐帧输入GaitPart。帧级部分特征提取器(FPFE)是一种特殊设计的卷积网络,用于提取每帧fi的空间特征Fi。
 i ∈ 1,2,...,t
i ∈ 1,2,…,t
t为步态序列中帧的指标,FPFE的细节将在3.2中介绍。这样,将特征图序列记为SF = {F i |i = 1,…,t},其中Fi为三维张量,即通道、高度和宽度维度。然后,在水平池(HP)模块中,以提取部分人体的不同部分信息特征为目标,将特征图Fi水平分割为n个部分。对于Fi的第j部分, Fj,i,HP模块通过全局平均Pooling和全局最大Pooling将其向下采样到列向量pj,i中:
在这里插入图片描述
类似的操作常用于[5,6,20,15]。
作为中间结果,将SF中的每个特征映射转换为n个部分级特征向量,由这些特征向量得到部分表示矩阵 (PR-Matrix),记为在这里插入图片描述
正如图2中所示,显然,PR矩阵中相应的向量行,记为在这里插入图片描述
其代表 j 部分的步态变化。因此,将pj聚合到特征向量 vj 中,自然可以提取出j部分的时空特征,表示为
在这里插入图片描述
式中,MCM j为第j个微动作捕捉模量(MCM)。
同时存在n个并行mcm,其参数独立,构成了时间特征聚合器(TFA)。
最后,利用几个独立的FC层将TFA中提取的特征向量映射到度量空间进行最终的个体识别。

3.2. Frame-level Part Feature Extractor

帧级部件特征提取
帧级部分特征提取器(FPFE)由三个块组成,每个块由两个焦点卷积层(FConv)组成,目的是提取每帧的部分信息空间特征。接下来,将首先详细描述FCon- v,然后是FPFE的确切结构。
定义 FConv是卷积的一种新应用,它可以先将输入特征图原形地分割成若干部分,然后对每一部分分别进行规则的卷积。设p为预定义部分的数量,特别地,当p = 1时,FConv相当于常规的卷积层。
动机为了增强对部分知情空间特征的细粒度学习,发展了FConv,如图3(a)所示。通过在FConv中设置超参数p,可以使顶层神经元的感受野小于正常情况下的感受野,如图3(a)所示:
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第3张图片
随着网络的深入,通过在FConv中设置超参数p,可以使顶层神经元的感受野小于正常情况下的感受野,这使得即使在深度网络中,顶层神经元也有可能聚焦于输入帧中相应部分的更多局部细节。

Operation
如上图3(b)所示,首先将输入的feature map水平分割为p个预定义的部分,然后对这些部分分别进行规则的卷积运算。之后,将输出的feature map水平连接,作为F-Conv的最终输出。FPFE的确切结构如表1所示。第4.3节将讨论为每个FConv设置超参数p的消融研究。

3.3. Temporal Feature Aggregator

如第3.1节所述,时间特征聚合器(TFA)由n个并行的微运动捕捉模块(MCMs)组成,每个MCM负责对对应部分的短距离时空表征进行建模。接下来,我们以MCM的细节为重点,忽略预定义部件的索引。
MCM包括两个部分:分解动作模板编辑器Tem- plate Builder (MTB)和时间池化(TP)。
设 Sp = {p i |i = 1,2,…,t}是PR-Matrix的一行,PR-Matrix是一个序列和通道维度的二维张量。MTB是为了将部分级特征向量Sp映射为微运动特征向量序列Sm,表示为Sm = MTB(Sp)。之后,通过聚合序列Sm,TP模块提取最具鉴别性的运动特征向量v,表示为v = TP(Sm),用于最终识别,接下来,将首先对MTB模块进行详细描述,然后是TP模块。
Micro-motion Template Builder
分解动作模板编辑器
Description: 将部分已获取的帧级特征向量映射为分解动作特征向量。
Motivation:假设短程时空表征(分解动作特征)是周期步态最具鉴别性的特征,并且认为在任意时刻的分解动作模式应该完全由它自己和它周围的坐标系决定。
**Operation.**设R(pi, r) = {pk |k = i-r,…,i,…,i + r}表示由pi及其r近邻坐标系组成的子序列,则可以定义在第i时刻的分解动作特征为:
在这里插入图片描述
式中,TempFunc表示分解动作时间函数,旨在压缩子序列R(pi, r)。
参考GEIs的做法,将序列中所有帧的平均值作为步态[7]的时空表示,我们加入两个统计函数作为模板函数的实例。如图4所示:
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第4张图片
将模板函数应用于Sp的每个时刻,我们实际执行的是kernel size为2r + 1的一维全局平均池化和一维全局最大池化。从而得到分解动作特征向量序列Sm,可以表示为
在这里插入图片描述
此外,为了获得对分解动作更有鉴别性的表示,引入了通道注意机制来对每个时刻的特征向量重定权重[9,24,12,4]。在实际应用中,采用一维卷积核,重新加权的微运动分量的表达式为:
在这里插入图片描述
其中,Conv1dNet表示由两个一维卷积层组成的小网络。
如图4所示,MTB就像一个滑动窗口检测器。一方面,所有窗口内的帧级特征向量将被TempFunc压缩成一个分解运动矢量。另一方面,引入通道注意机制,能够模型根据窗口内的特征存储微分解动作向量的权重,从而得到更有辨别力的表达,为最终的识别提供依据。
实际上,MCM中有两个MTBs,使用不同的窗口大小(3和5),如图5所示。Conv1dNet在各MTB中的确切结构如表2所示。本设计的目的是将多尺度信息在序列维度上融合,以收集更多的分解动作特性。消融研究将在第4.3节说明。
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第5张图片
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第6张图片
Temporal Pooling
时间池化
Description.
集合分解动作特征向量序列
在这里插入图片描述
表示步态运动模式,公式为
在这里插入图片描述
其中v表示TP模块的输出(列向量)。
Principle
原理:理想条件下,作为一个周期运动,一个完整的周期应该能够完全代表整个步态序列。(每个人的步态是一个没有任何干扰的纯周期过程如视图变化、与步态无关的动作等。)
因此,设S表示一个完整步态周期内的分解动作特征序列(T为周期),TP模块应满足以下公式
在这里插入图片描述
这是步态时间聚集的基本原理,其核心思想是周期性步态在完成一个完整周期后就不会再可能获得有区别性的信息了。
Operation.
采用两个自然而简单的序列维数统计函数作为TP模块的实例,即mean(·)和max(·)。
当TP(·)= mean(·)时:
在这里插入图片描述
在这里插入图片描述
显然,当且仅当t是T的整数倍时,公式Eq.9=Eq.10(这里m不是常数).然而,真实步态视频的长度是不确定的,平均值的统计函数似乎不是一个好的选择。当TP(·)= max(·)时:
在这里插入图片描述
由于步态是一种周期性的动作,很明显,Eq.11= q.12。因此,最后采用max(·)函数。消融研究将在第4.3节讨论。

Implementation Details

网络超参数如表1所示,F- PFE由FConv层、最大池化层和Leaky ReLU激活函数组成。需要指出的是FCon-v中预定义零件编号p的设置,当p较大时,对感受野的约束更强。当p=1时,FConv相当于常规卷积层,约束将被重新移动。因此,随着网络的深入,设置p值的经验也在增加。
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第7张图片
**损失函数:**如Sec3.1所述,GaitPart的输出s为n列特征向量。在本文中,我们使用单独的BatchAll (BA +) triplet loss[8]来训练网络,并使用不同样本之间对应的列特征向量来计算损失。训练批次大小为(pr,k),其中pr为人员数量,k为训练批次中每个人的样本数量。此外,在测试阶段,原始步态视频将直接输入到模型;在训练阶段,由于步态视频的长度不确定,采样器需要采集一个固定长度的片段作为输入:首先截取一个30-40帧长的片段,然后随机提取30个已排序的帧进行训练。特别地,如果原始视频的长度小于15帧,它将被淘汰。当长度大于15帧小于30帧时,将重复采样。
测试
在测试阶段,将gallery与probe之间的距离定义为对应特征向量的欧氏距离的平均值。

4. Experiments

GaitPart的评价采用了两个开放数据库CASIA-B[17]和OU-MVLP[21]。在本节中,我们将首先介绍这些数据库。然后,将其表演与其他先进的方法进行比较。最后,将严格对CASIA-B[17]进行详细的烧消融研究,以验证GaitPart中各部件的有效性。
4.1. Datasets and Training Details
datasets
CASIA-B.:可参考另外一篇博文。比较好下载,写申请就可以。
OU-MVLP.:OU-MVLP步态数据库[21]是迄今为止世界上最大的公共步态数据集。共有10307个科目(5153个为培训科目,5154个为测试科目)。此外,每个主题包含14个视图(0,15,…,90;180,195,…每个视图包含两个序列。在测试阶段,索引#01的序列被分组到库中,而索引#02的其余序列被分组到探测中。
Training details.
1)常见配置:输入轮廓按[21]中提到的方法对齐,并调整为64×44的大小。使用Adam optimizer,学习率为1e-4,动量为0.9[10]。在单独的三重损失的margin被设定为0.2[8]。
2)在CASIA-B[17]中,按照Sec3.4中介绍的方式将批处理大小设置为(8,16)。此外,我们对模型进行了120K次迭代训练。
3)在OU-MVLP中,由于OU-MVLP它包含的序列比CASIA-B多近20倍,所以在FPFE中增加了一个由两个FConv层组成的块(输出通道设置为256),每个块的p值分别设置为1,1,3,3。将batch size设为(32,16),迭代次数设为250K,当150k次迭代时学习率降为1e-5。
4.2. Comparison with State-of-art Method
CASIA-B. 如表3所示,为了能与其他先进的方法进行系统全面的比较,所有的跨视图和跨行走情况都包含在比较程序中。
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第8张图片
1)除了基于gei的CNN-LB[26]之外,表3所示的其他方法都是基于视频的,都明显优于CNN-LB。这表明基于视频的方法在从原始步态中提取更细粒度和更有鉴别性的信息方面有很大的潜力。
2)与GaitSet[5]相比,在拥有类似骨干的情况下,GaitPart明显表现出更好的性能(事实上,其参数仅为GaitSets的一半左右)。
在这里插入图片描述
实验结果表明了FConv和MCM的优越性。
3)与GaitNet[30]相比,这两种方法具有相同的姿态,但方法不同。在GaitNet中,引入了自动编码框架以获得更有鉴别性的特征,并将多层LSTM应用于[30]的时空建模。在我们的模型中,分别提出了FConv和MCM。从实验来看,GaitPart在CASIA-B上在各种行走条件下都取得了较好的性能。
OU-MVLP不做参考,因为数据集不好下载,读一般的同学来说也没有参考价值。
4.3. Ablation Study(消融实验)

为了验证Gait-part每个组件的有效性,消融的一些研究将CASIA-B进行各种设置,包括设置在FConv不同的p值,在MCM模块中设置只有一个或两个MTB ,w/和w/o在MCM模块中的应用注意机制以及TP模块的不同实例。实验结果和分析如下。
FConv的有效性。按照3.4节中FConv中超参数p的设置方式,A试验组进行了4次对照实验(分别编号为A- a、b、c、d),所有实验结果如表5所示。值得注意的是,在A-a实验的主干中,所有F- Convs的p值设为1,即主干完全由常规层组成。
1)我们可以清楚地发现,使用FConvs的所有实例(包括A-b、c和d)都比实验A-a获得了更好的性能。一方面,验证了FConv的有效性。另外,在GaitPart中也声明了FConv中p值变化的鲁棒性。
2) A-d和A-c的比较表明,在Block1 (bottom layers)使用FConv会对性能产生负面影响。可能的原因是在底层,FConvs会破坏相邻部分之间的边缘和轮廓信息。
3)比较A-a、b、c三个实验的差异可以发现,平均rank-1准确率在NM子集上先上升后下降,在BG和CL子集下仍保持上升趋势。我们认为产生这种现象的原因是不同的顶层神经元感受野可以适应不同的步行条件。
另外,在没有使用FConvs的A-a实验中,A组的性能较差,但在表3中其他基准测试中是最好的。由于A-a应用的主干比其他基准测试更轻、更简洁,因此可以松散地、部分地验证MCM模块的有效性。最后,选取了具有显著影响的实验性能作为步态的基线。
MCM的有效性。
如Tab.6所示,有5个对照实验(分别编号为 B-a, b, c, d和e,)在b组,B-a, b, c and d侧重于MTB模块的设计,其余B-e只考虑TP模块的实例化。
1)通过比较实验B-a, b, c的差异,我们发现MTB1和MTB2一起使用的性能最好。这表明MCM的多尺度设计(在第3.3节中提到)有助于捕获鉴别分解动作的特征。
2)通过实验B-a和B-d的对比,我们发现引入注意机制是必要的。它确实使模型能够突出最具代表性的分解动作特征。
3)通过实验B-a和B-e的比较,可以看出TP模块的实例化对GaitPart非常重要。当不满足步态时间聚集的基本原理时,以实例为函数mean(·)为例,得到B组和A组实验中性能最差的结果。
4.4. Spatio-temporal Study
一般认为静态外观特征和动态时间信息是个体步态的代表性特征。但已有的许多方法在不进行建模的情况下取得了良好的性能。但是许多以前的方法在没有明确建模的情况下取得了良好的性能,换句话说,在这些先进的方法中输入帧的顺序并不重要[26,5]。
因此在本节中,我们的目标是分别探索时间信息和外观特征在GaitPart中扮演什么角色。
为此,进行C组实验,所有结果如表7所示。正如您所看到的,在列车(C-a)和测试阶段(C-c)对输入帧进行随机排序可以获得较差的性能,但精度的降低并不严重。结果表明,即使在输入序列的时间信息不稳定的情况下,该模型仍能取得良好的性能。这一现象表明,静态外观特征在步态识别中确实起着至关重要的作用。在真实场景下步态外观变化很大但我们并不认为时间信息是琐碎的或不重要的,因为模型在穿着交叉的条件下获得了相当大的准确性鲁棒性。表7显示了在GaitPart中,时间信息也是非常重要的鲁棒特征。
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第9张图片
CVPR2020步态识别论文翻译(一):GaitPart: Temporal Part-based Model for Gait Recognition_第10张图片

5. Conclusion

在这篇论文中,我们针对行走过程中不同的视觉外观和人体之间的运动模式,提出了人体各部分需要各自的时空建模的新观点。因此,GaitPart预先提出了由FConv组成的帧级部件特征模块和由多个并行且相互依赖的微动作捕捉模块组成的时间特征模块。这两部分的核心目标分别是增强局部级有限元模型的细粒度学习和提取局部短程时空数据。最后在著名的公共数据库CASIA-B[17]和OU-MVLP[21]上进行了实验,实验证明了GaitPart及其各组成部分的优越性。

你可能感兴趣的:(步态识别,python,计算机视觉,人工智能,深度学习,机器学习)