A Comprehensive Study on Cross-View Gait Based Human Identification with Deep CNNs
论文信息:
作者:Zifeng Wu, Yongzhen Huang, Liang Wang, Xiaogang Wang, and Tieniu Tan
TPAMI 2017
这也是第一篇将深度学习应用于步态识别的文章,结果上也有了很大的飞跃。
(好长好长…这文章真的好长…另外第一篇步态还是希望看得细节一些,搞好久好久…
摘要
基于步态的行人识别:通过深度卷积神经网络学习相似性。通过一小组标记过的多角度行人走路视频,可以训练深度神经网络去识别不同的人最显著的步态模式的改变,从而识别出人的身份。
这是第一项将使用深度学习进行步态识别的工作。文章使用不同的预处理方法和网络结构基于不同场景(cross-view & cross-walking)提供了大量的实验评估。
这个方法首先在CASIA-B数据集进行评估,做了基于cross-view的步态识别,比之前最好的方法拥有很大的提升。这个方法表明在cross-view角度较大(不小于36°)时,平均识别率可以达到94.1%(之前的结果低于65%)。
之后把这个方法应用在OU-ISIR更大的步态数据集上去测试其泛化能力,OU-ISIR是当前文献中最大的步态识别数据集,有4007个主体。这个数据集在特定视角上的平均准确率超过了98%。cross-view场景下的识别准确率超过了91%。
此外,在USF步态数据集(户外场景的步态序列)上,也展现出了最好的效果。
Intro
步态识别最大的挑战是找到与行人识别无关的因素:
- 与受试者相关的因素:步行速度、穿着、携带物品
- 与设备相关的因素:帧速度、拍摄分辨率
- 环境因素:照明条件、相机视角
最近,cross-view多样性成为了视频相关任务的关键性问题,当视角改变时,有可能会导致类内之间的差别大于类间的差别。对于基于步态能量图(通过平均步态序列中对齐的人的轮廓)的步态识别方法也同样如此。
关于cross-view的步态识别大概可以被分为三类:
第一类是重建人体的3D结构,能够通过投影产生任意的2D视角,这类方法可以实现有前景的结果,但他们通常需要多角度的相机视角和能够完全控制共合作的环境;
第二类是使用手工选择的多视角特征用于步态识别,这些方法通常在特定场景下有很好的表现,但通常难以泛化到别的场景。
第三类是学习cross-view投影,能够把步态特征从一个视角标准化到另一个视角,这样就可以从两个视频中对比归一化的步态特征去计算相似度。但这种方法是当cross-view的角度很小时可以,当角度增长到36°左右时,性能就会急剧下降。
步态是有视频中的时间序列,这是与其它生物特征识别最大的不同。这里我们考虑一个特殊的主题:通过cross-view的步态视频序列进行人的识别, 在某种意义上它利用了加标签的cross-view对(第三类方法)。这个方法是以一种端到端的方式直接预测已给的一对样本的相似度。 考虑到步态序列cross-view的多样性,步态识别应该会非常适合于非线性深度模型。
本文工作:
- 基于CNN的步态识别方法,网络可以自动识别出步态特征中最有区分度的改变;
- 提供了丰富的评估在多种任务(cross-view & cross-walking-condition)上在预处理方法和网络结构不同时;
- 大幅提高了三个数据集(CASIA-B, OU-ISIR and USF)上的准确率。
Related Work
基于步态识别的近期文献大概可以被分为两类:一个是建模人体的底层结构,另一个是直接从视频中提取步态表示。这篇文章是基于后者的研究。
这次真的看了,但看完Method之后发现这里确实大部分都有在后面重新叙述,所以删掉了hh
Method
Gait Recognition
-
目标 给予已有的步态样本组成的gallery,预测probe sample的身份。 数学表示:给定一个probe sample
x
\mathbf x
x 和
N
g
N_g
Ng? 同属于一个gallery
{
(
x
i
,
y
i
=
i
)
∣
i
=
1
,
…
,
N
g
}
\{(\mathbf x_i,y_i=i)|i=1,…,N_g\}
{(xi?,yi?=i)∣i=1,…,Ng?} ,人的身份
y
(
x
)
y(x)
y(x) 需要被预测出来。 -
这篇文章针对两种更难处理的情况: ①cross-view(视角不同); ②cross-walking-condition(给定的样本能量图行人有大衣或背包,而预测的能量图是正常的走路条件) -
基于能量图的步态识别的pipline: 使用一些背景分离法从原始视频序列中提取轮廓序列;然后沿着时间序列将轮廓图进行对齐和平均以得到能量图;之后给定一个能量图和其它gallery中的能量图,计算两两之间的相似度(可以直接通过欧氏距离计算);最后得出给定能量图的身份,通常使用最近邻分类器。
Network Structure
整个网络结构可以被描述为如下公式:
s
i
=
η
(
ψ
(
?
(
x
)
,
?
(
x
i
)
)
)
s_i=\eta(\psi(\phi(\mathbf x),\phi(\mathbf x_i)))
si?=η(ψ(?(x),?(xi?)))
x
\mathbf x
x 是给定样本能量图,
x
i
\mathbf x_i
xi? 是其它的能量图集合,
?
\phi
? 把
x
\mathbf x
x 和
x
i
\mathbf x_i
xi? 投影到公共空间里,
ψ
\psi
ψ 有两个输入,可以是一个卷积层或者全连接层,
η
\eta
η 为预测器,为二分类,包括一个全连接层和softmax层,这里事实上也可以堆叠更多的卷积层或者全连接层。
下图所示是文章所研究的三种网络结构,关键的区别在于从哪里开始匹配能量图对的特征,在底层还是顶层,是局部特征还是全局特征。
在整个网络里,所有的卷积核都是7*7大小,步幅为1;所有的空间池化都是2*2大小,步幅为2;所有的神经元都使用ReLU除了最后一层是softmax。
-
Matching Local Features at the Bottom Layer (LB) 在计算能量图对的差别之前只用了线性层,是由最底层的16个卷积核实现的。对于两个输入,首先对两个输入的局部区域进行重新加权,再对加权后的结果求和。 目的是基于cross-view的步态识别模拟线性归一化,几乎等价于intro中所述的第三类方法,但这里在做了matching之后还有两个卷积层,是为了从能量图对中学习更复杂的模式。 -
Matching Mid-Level Features at the Top Layer (MT) 在计算差别之前经过了两个非线性通道。核心是用深层的非线性正则化的能量图对差别取代了LB中浅层的线性差别。这里的C3层并不是严格意义上的全局特征,而是中间层特征的相加。 LB和MT的区别:LB是在底层有局部特征时直接计算权重差别,然后利用这个差别在后两个卷积层中学习模式;而MT是先学习中间层的特征,再计算差别。这两个网络的复杂度几乎是相同的,只是顺序不同。 -
Matching Global Features at the Top Layer (GT) 能量图对通过学习到的全局特征来计算差别。相比于MT多了两个全连接层。F4和F4‘进行了参数共享。因为全连接层的关系,GT网络的复杂度要比前两种高很多,很有可能会因为数据量从而导致过拟合。但优点是网络很紧凑,可以提高计算效率。 对于LB和MT,每次计算都需把一个probe和N个gallery通过整个网络,但这里GT可以提前存储所有gallery在F4’层的输出(为啥这儿能保存呢,我的理解是,神经网络在卷积层学到的模式是局部特征,而全连接层是全局特征,局部特征的学习到的模式可能对于gallery的每一个能量图对都有所不同,所以能够保存的只能是全局特征) -
此外还有一些更浅层的网络(更简单更局部的特征)和一些更深层的网络(更复杂更全局的特征):
Temporal Information
-
训练了一个叫做”双流网络“的东西:左边是和上文中和LB相同的结构与输入;而右侧输入是时序步态图像(CGI,通过颜色映射的方式携带时序信息),是处理视觉流相应的部分。 -
把视频的各个帧作为输入,并对输出进行平均,下图中的输入为9个帧,在第一层和第二层训练三维卷积网络,在C3和C3’层对计算出的网络特征做平均。
实验
(今天一个朋友说 调参调到宇宙尽头,精辟极了hh,调得越多考虑得越多实验就能看起来越完备…
A. 数据集:CASIA-B、OU-ISIR、USF
B. 训练细节:没有细看,大概有一些GEI、Mixed-GEI提取方法,logistic回归,训练集的样本划分,评估等。
C. 网络结构的影响:
- 实验过程中GT过拟合较为严重(文中提到原因可能是数据过小)。但又想试试它在保存参数之后强大的计算效率,搞了一个Compact Mid-Level & Top (CMT),在卷积层中使用了更大的步幅。
- 一些实验结果…
D. 网络稀疏程度的影响:稀疏可以改善MT网络性能,可能是通过抑制过拟合实现的。
E. 网络深度的影响:网络变深或者变浅都不能改善性能。
F. 输入能量图大小的影响:做了下采样的实验,结果差了一些,但不论怎么改变效果都比baseline好。所以如果想要高一点的计算效率,可以用下采样。
G. 输入的特征对模型的影响:为了评估混合能量图对齐的重要性,在混合之前移动了一些轮廓,发现CNN对此有很好的鲁棒性。
H. 数据增强:与没有经过数据增强的网络相比,结果变差了。
I. 时序信息的影响:“双流网络”的效果要更好一些。对于3D卷积层网络来说,当3D卷积层从0增加到2时,效果有明显的提高,并且3帧的输入效果更好。
之后是三个数据集上的对比效果。
Discussion
- 我们需要一个无需配合的步态识别数据集。
- 我们可以有更好的预处理,比如像素级标记、行人检测等等。
|