赞
踩
paper题目:Learning Deep Context-aware Features over Body and Latent Parts for Person Re-identification
paper是CRIPAC & NLPR, CASIA发表在CVPR 2017的工作
paper链接:地址
行人重识别(ReID)是通过不同的摄像头识别同一个人。由于人体姿势、遮挡、背景杂乱等方面的巨大变化,这是一项具有挑战性的任务。如何提取强大的特征是 ReID 中的一个基本问题,并且在今天仍然是一个悬而未决的问题。在本文中,我们设计了一个多尺度上下文感知网络(MSCAN)来学习全身和身体部位的强大特征,它可以通过在每一层中堆叠多尺度卷积来很好地捕捉局部上下文知识。此外,我们提出使用具有新颖空间约束的空间变换器网络 (STN) 来学习和定位可变形的行人部件,而不是使用预定义的刚性部件。学习的身体部位可以缓解一些困难,例如在基于部分的表示中,姿势变化和背景杂乱。最后,我们通过多类行人识别任务将全身和身体部位的表示学习过程整合到一个统一的行人 ReID 框架中。对当前具有挑战性的大规模人 ReID 数据集的广泛评估,包括基于图像的 Market1501、CUHK03 和基于序列的 MARS 数据集,表明所提出的方法达到了最先进的结果。
行人重识别旨在使用给定的探测图像在不同的摄像机上搜索同一个人。由于它在许多实际应用中的重要性,例如视频监控和基于内容的图像检索,近年来引起了人们的广泛关注。尽管经过多年的努力,它仍然面临许多挑战,例如人物姿势、照明和背景杂乱的巨大变化。此外,不同人的衣服外观相似,行人检测结果不完善,进一步增加了其在实际应用中的难度。
大多数现有的 ReID 方法都专注于开发强大的表示来处理视角、身体姿势、背景杂波等的变化。 [7, 10, 18, 19, 22, 27, 41–43, 50, 51] 或学习有效距离度量 [2, 16, 21, 22, 29, 47, 57]。一些现有的方法共同学习这两种方法 [1, 20, 31, 44]。最近,基于深度特征学习的方法 [5, 6, 34, 35] 学习了全局行人特征并使用欧几里德度量来测量两个样本,获得了最先进的结果。随着 ReID 数据集样本量的增加,从多类人识别任务 [30、39、40、52、55] 中学习特征,称为 ID 判别嵌入 (IDE) [55],在当前大规模的人 ReID 数据集,例如 MARS [52] 和 PRW [55],其中 IDE 特征取自深度卷积神经网络 (DCNN) 的最后一个隐藏层。在本文中,我们旨在使用 DCNN 学习行人 ReID 的 IDE 特征。
用于行人 ReID 的现有 DCNN 模型通常学习输入人物图像的全局全身表示(图 1 中的全身),或者学习预定义刚性部分(图 1 中的刚体部分)的基于部分的表示,或者学习特征嵌入对于他们俩。尽管这些 DCNN 模型在现有的 ReID 数据集上取得了令人印象深刻的结果,但仍然存在两个问题。首先,对于特征学习,当前流行的 DCNN 模型通常堆叠单尺度卷积和最大池化层来生成深度网络。随着层数的增加,这些 DCNN 模型很容易漏掉一些小尺度的视觉线索,比如太阳镜和鞋子。然而,这些细粒度的属性对于区分具有小的类间变化的行人对非常有用。因此这些 DCNN 模型并不是行人特征学习的最佳选择。其次,由于姿态变化和不完善的行人检测器,行人图像样本可能会错位。有时他们可能有一些背景或缺少某些部分,例如。腿。在这些情况下,对于基于部分的表示,预定义的刚性网格可能无法捕获两个行人图像之间的正确对应关系。因此,刚性预定义网格对于有效的基于零件的特征学习来说远非鲁棒。
图 1. 典型的深度学习特征学习框架示意图。如黑色虚线框所示,当前的方法侧重于全身或刚体部分进行特征学习。与它们不同的是,我们使用空间变换网络来学习和定位行人部位,并使用多尺度上下文感知卷积网络来提取 ReID 的全身和身体部位表示。最好以彩色观看。
在本文中,我们提出联合学习全身和身体部位的特征。为了解决第一个问题,我们提出了多尺度上下文感知网络(MSCAN)。如图1所示,对于MSCAN的每个卷积层,我们采用多个不同感受野的卷积核来获得多个特征图。来自不同卷积核的特征图被连接为当前层的输出。为了减少不同卷积核之间的相关性,使用了扩张卷积[45]而不是一般的卷积核。通过这种方式,在同一层获得多尺度上下文知识。因此,用于细粒度区分的局部视觉线索得到了增强。此外,通过逐层嵌入上下文特征(跨层卷积操作),MSCAN 可以为输入图像获得更多的上下文感知表示。为了解决第二个问题,我们提出通过空间变换网络(STN)[13]来定位潜在的行人部位,而不是使用刚体部分,该网络最初是为了学习图像变换而提出的。为了使其适应行人部分定位任务,我们对学习的变换参数提出了三个新的约束。有了这些约束,可以将更灵活的部分定位在信息区域,从而减少背景内容的干扰。
一般来说,全身和身体部位的特征是相辅相成的。全身特征更关注全局信息,而身体部分特征更关注局部区域。为了更好地利用这两种类型的表示,在本文中,将全身和身体部位的特征连接起来形成最终的行人表示。在测试阶段,采用欧几里得度量来计算人 ReID 的两个 L2 归一化行人表示之间的距离。
本文的贡献总结如下:(a)我们提出了一种多尺度上下文感知网络来增强视觉上下文信息,从而更好地表示细粒度视觉线索的特征。 (b) 我们建议使用具有新的先验空间约束的空间变换器网络来学习和定位行人部件,而不是使用刚性部件。实验结果表明,融合全局全身和局部身体部位表示极大地提高了行人 ReID 的性能。
典型的person ReID方法集中在两个关键点:开发一个强大的图像表示特征和学习一个有效的度量来使同一个人靠近而不同的人远离。最近,深度学习方法在人 ReID [34,39,48,52,54] 方面取得了最先进的结果。这里我们主要回顾一下相关的深度学习方法。
行人 ReID 的深度学习方法倾向于联合学习人物表示和相似度(距离)度量。给定一对人物图像,以前的深度学习方法学习每个人的特征,然后从卷积特征 [1, 3, 4, 20] 或全连接 (FC) 特征 [31,37,44] 中学习深度匹配函数。除了深度度量学习之外,一些工作直接通过成对对比损失或三重排序损失来学习图像表示,并使用欧几里德度量进行比较[5,6,34,35]。
随着 ReID 数据集样本量的增加,通过多类行人识别任务学习的 IDE 特征在当前的大规模行人 ReID 数据集上显示出巨大的潜力。肖等人。 [39] 提出域引导 dropout 来同时学习多个数据集上的特征,同时进行身份分类损失。郑等人。 [52] 学习基于视频的人员重新识别的 IDE 功能。肖等人。 [40]和郑等人。 [55] 学习 IDE 特征,共同解决行人检测和行人 ReID 任务。舒曼等人。 [30] 学习域自适应人员 ReID 的 IDE 功能。类似的现象也在人脸识别中得到了验证[33]。
众所周知,以往的 DCNN 模型通常采用逐层单尺度卷积核来学习上下文信息。一些 DCNN 模型 [5, 31, 44] 采用刚体部分来学习局部行人特征。与他们不同,我们通过两种方式改进经典模型。首先,我们建议通过同一层的多尺度卷积来增强上下文知识。通过逐层嵌入特征图(卷积或FC操作)来学习不同上下文知识之间的关系。其次,我们不是使用刚性部件,而是利用具有先验约束的空间变换器网络来学习和定位潜在的人体部件。
这种方法的重点是学习强大的特征表示来描述行人。所提出方法的总体框架如图 2 所示。在本节中,我们从四个方面介绍我们的模型:用于高效特征学习的多尺度上下文感知网络(第 3.1 节)、潜在部分学习和更好的局部部分的定位基于特征表示(第 3.2 节),行人 ReID 的全局全身和局部身体部分特征的融合(第 3.3 节),以及我们在第 3.4 节中的最终目标函数。
图 2. 提出模型的总体框架。所提出的模型由三个部分组成:使用 MSCAN 的全局基于身体的特征学习、使用空间变换网络和基于局部的特征嵌入的潜在行人部位定位、用于多类人识别任务的全身和身体部位的融合。
视觉上下文是辅助视觉相关任务的重要组成部分,例如目标识别 [24] 和目标检测 [46, 56]。典型的卷积神经网络通过分层卷积和池化来建模上下文信息 [11, 17]。对于person ReID任务,最重要的视觉线索是视觉属性知识,例如衣服颜色和类型。但是,它们在尺度、形状和位置上的差异很大,例如局部尺度较小的帽子/眼镜和较大尺度的布料颜色。直接使用自下而上的单尺度卷积和池化可能无法有效处理这些复杂的变化。特别是随着层数的增加,小的视觉区域,如帽子,在顶层很容易被遗漏。为了更好地学习这些不同的视觉线索,我们提出了多尺度上下文感知网络。
所提出的 MSCAN 的架构如表 1 所示。它有一个内核大小为 5 × 5 5 \times 5 5×5的初始卷积层来捕获低级视觉特征。然后我们使用四个多尺度卷积层来获得复杂的图像上下文信息。在每个多尺度卷积层中,我们使用大小为 3 × 3 3 \times 3 3×3的卷积核。为了获得多尺度感受野,我们对卷积滤波器采用扩张卷积 [45]。我们使用三种不同的膨胀率,即 1,2 和 3,来捕捉不同尺度的上下文信息。来自不同膨胀率的特征图沿通道轴连接,形成当前卷积层的最终输出。因此,视觉上下文信息被显式地增强。为了将不同的上下文信息整合在一起,当前卷积层的特征图通过逐层卷积或FC操作嵌入。结果,不同尺度的视觉线索以一种潜在的方式融合在一起。此外,我们在每个卷积层之后采用 Batch Normalization [12] 和 ReLU 神经激活单元。
在本文中,我们使用扩张比为 1、2 和 3 的扩张卷积代替内核大小为 3 × 3 , 5 × 5 3 \times 3,5 \times 5 3×3,5×5和 7 × 7 7 \times 7 7×7的经典卷积滤波器。主要原因是内核大小为 3 × 3 , 5 × 5 3 \times 3,5 \times 5 3×3,5×5和 7 × 7 7 \times 7 7×7的经典卷积滤波器在相同的输出位置相互重叠并产生冗余信息。为了更清楚起见,我们在图 3 中展示了扩张比为 1 到 3 的扩张卷积核(大小为 3 × 3 3 \times 3 3×3)。对于相同的输出位置(红色圆圈所示),扩张比越大的卷积核越大感受野,而只有中心位置与其他卷积核重叠。这可以减少具有不同感受野的过滤器之间的冗余信息。
图 3. 相同输入特征图的扩张卷积示例。卷积核为 3 × 3 3 \times 3 3×3,从左到右的膨胀比为 1、2、3。蓝色框是红色圆圈处卷积的有效位置。最好以彩色观看。
总之,如图 2 所示,我们使用 MSCAN 来学习全身和身体部位的多尺度上下文表示。此外,它还用于下面提到的空间变换器网络中的特征学习。
行人部分在行人 ReID 中很重要。一些现有的工作 [5, 10, 22, 44] 已经探索了刚体部件以开发稳健的特征。然而,由于行人检测算法不尽如人意,姿态变化较大,使用刚体部位进行局部特征学习的方法并不是最优的解决方案。如图 1 所示,当使用刚体部件时,顶部由大量背景组成。这促使我们自动学习和定位行人部分。
我们将 STN [13] 集成为我们提出的模型中的部分定位网络。原始的 STN 被提出来显式地学习图像变换参数,例如平移和缩放。它有两个主要优点:(1)它是完全可微分的,并且可以很容易地集成到现有的深度学习框架中,(2)它可以在没有明确区域注释的情况下学习平移、缩放、裁剪或扭曲感兴趣的区域。这些事实使其非常适合行人部位定位。
STN 包括两个组件,空间定位网络用于学习变换参数,以及网格生成器用于使用图像插值内核对输入图像进行采样。关于 STN 的更多细节可以在 [13] 中看到。在我们的 STN 实现中,采用双线性插值内核对输入图像进行采样。并且使用了四个变换参数
θ
=
[
s
x
,
t
x
,
s
y
,
t
y
]
\theta=\left[s_{x}, t_{x}, s_{y}, t_{y}\right]
θ=[sx,tx,sy,ty],其中
s
x
s_{x}
sx和
s
y
s_{y}
sy是水平和垂直尺度变换参数,
t
x
t_{x}
tx和
t
y
t_{y}
ty是水平和垂直平移参数。图像的高度和宽度被归一化为
[
−
1
,
1
]
[-1,1]
[−1,1]。只学习尺度和平移参数,因为这两种类型的变换足以有效地裁剪行人部分。该变换作为反向扭曲应用以生成输出身体部位区域:
(
x
i
i
n
y
i
i
n
)
=
[
s
x
0
t
x
0
s
y
t
y
]
(
x
i
out
y
i
out
1
)
\left(
其中
x
i
n
x^{i n}
xin和
y
i
n
y^{i n}
yin是输入图像坐标,
x
out
x^{\text {out }}
xout 和
y
out
y^{\text {out }}
yout 是输出部分图像坐标,
i
i
i索引输出身体部分图像中的像素。
在本文中,我们期望 STN 学习对应于头肩、上身和下身的三个部分。每个部分都是由一个独立的 STN 从原始行人图像中学习的。对于空间定位网络,我们首先使用 MSCAN 提取全局图像特征图。然后我们通过 128 维 FC 层(图 2 中的 FC_loc)学习高级抽象表示。最后,我们基于 FC_loc 使用 4 维 FC 层学习变换参数 θ \theta θ。 MSCAN 和 FC_loc 在三个空间定位网络之间共享。网格生成器可以根据学习到的变换参数裁剪学习到的行人部分。在本文中,裁剪后的部分图像的分辨率为 96 × 64 96 \times 64 96×64。
对于局部定位网络,很难学习三组用于局部定位的参数。存在三个问题。首先,来自 STN 的预测部分很容易落入同一区域,例如人的中心区域,并导致冗余。其次,尺度参数很容易变成负数,行人部分将变为垂直或水平或两者镜像。这不符合人类的普遍认知。因为在监控场景中很少有人会倒立。最后,裁剪的部分可能会从人物图像中掉出来,因此网络将难以收敛。为了解决上述问题,我们提出了零件定位网络中变换参数的三个先验约束。
第一个约束是针对预测零件的位置。我们期望预测的部分靠近先前的中心点,以便学习的部分相互补充。这被称为中心约束,其形式化如下:
L
c
e
n
=
1
2
max
{
0
,
(
t
x
−
C
x
)
2
+
(
t
y
−
C
y
)
2
−
α
}
L_{c e n}=\frac{1}{2} \max \left\{0,\left(t_{x}-C_{x}\right)^{2}+\left(t_{y}-C_{y}\right)^{2}-\alpha\right\}
Lcen=21max{0,(tx−Cx)2+(ty−Cy)2−α}
其中
C
x
C_{x}
Cx和
C
y
C_{y}
Cy是每个部分的先验中心点。
α
\alpha
α是控制估计中心点和先前中心点之间转换的阈值。在我们的实验中,我们将每个部分的先验中心点
(
C
x
,
C
y
)
\left(C_{x}, C_{y}\right)
(Cx,Cy)设置为
(
0
,
0.6
)
,
(
0
,
0
)
(0,0.6),(0,0)
(0,0.6),(0,0),和
(
0
,
−
0.6
)
(0,-0.6)
(0,−0.6)。阈值
α
\alpha
α设置为 0.5。
第二个是预测尺度参数的值域约束。我们希望尺度为正,使预测的部分有一个合理的范围。 scale 参数的取值范围约束形式化如下:
L
p
o
s
=
max
{
0
,
β
−
s
x
}
+
max
{
0
,
β
−
s
y
}
L_{p o s}=\max \left\{0, \beta-s_{x}\right\}+\max \left\{0, \beta-s_{y}\right\}
Lpos=max{0,β−sx}+max{0,β−sy}
其中
β
\beta
β为阈值参数,本文设为
0.1
0.1
0.1。
最后一个是使定位网络专注于图像的内部区域。形式化如下:
L
i
n
=
1
2
max
{
0
,
∥
s
x
±
t
x
∥
2
−
γ
}
+
1
2
max
{
0
,
∥
s
y
±
t
y
∥
2
−
γ
}
其中
γ
\gamma
γ是边界参数。在我们的论文中,
γ
\gamma
γ设置为 1.0,这意味着裁剪的部分应该在行人图像内。
最后,局部定位网络中变换参数的损失描述如下:
L
l
o
c
=
L
c
e
n
+
ξ
1
L
p
o
s
+
ξ
2
L
i
n
L_{l o c}=L_{c e n}+\xi_{1} L_{p o s}+\xi_{2} L_{i n}
Lloc=Lcen+ξ1Lpos+ξ2Lin
其中
ξ
1
\xi_{1}
ξ1和
ξ
2
\xi_{2}
ξ2是超参数。在我们的实验中,超参数
ξ
1
\xi_{1}
ξ1和
ξ
2
\xi_{2}
ξ2都设置为 1.0。
全身和身体部位的特征由单独的网络学习,然后融合在一个统一的框架中,用于多类人员识别任务。对于基于身体的表示,我们使用 MSCAN 提取全局特征图,然后学习 128 维特征嵌入(在图 2 中表示为 FC 身体)。对于基于部位的表示,首先,对于每个身体部位,我们使用 MSCAN 提取其特征图并学习 64 维特征嵌入(表示为 FC part1、FC part2、FC part3)。然后,我们基于每个身体部位的特征学习一个 128 维特征嵌入(表示为 FC 部分)。在每个 FC 层之后采用 Dropout [32] 以防止过度拟合。最后,将全局全身和局部身体部位的特征连接成一个 256 维的特征作为最终的人表示。
在本文中,我们采用 softmax loss 作为多类人物识别任务的目标函数。
L
c
l
s
=
−
∑
i
=
1
N
log
exp
(
W
y
i
T
x
i
+
b
y
i
)
∑
j
=
1
C
exp
(
W
j
T
x
i
+
b
j
)
L_{c l s}=-\sum_{i=1}^{N} \log \frac{\exp \left(W_{y_{i}}^{T} x_{i}+b_{y_{i}}\right)}{\sum_{j=1}^{C} \exp \left(W_{j}^{T} x_{i}+b_{j}\right)}
Lcls=−i=1∑Nlog∑j=1Cexp(WjTxi+bj)exp(WyiTxi+byi)
其中
i
i
i是人物图像的索引,
x
i
x_{i}
xi是第
i
i
i个样本的特征,
y
i
y_{i}
yi是第
i
i
i个样本的身份,
N
N
N是人物图像的数量,
C
C
C是人物身份的数量,
W
j
W_{j}
Wj是第
j
j
j个分类器身份。
对于整体网络训练,我们联合使用分类和定位损失。最终的目标函数如下。
L
=
L
c
l
s
+
λ
L
l
o
c
L=L_{c l s}+\lambda L_{l o c}
L=Lcls+λLloc
其中
λ
\lambda
λ是超参数,在我们的实验中设置为 0.1。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。