这篇paper在CVPR2018上被收录,来自于中科院自动化所孙哲南组,主要探讨了局部行人的再识别问题,在这个问题上,作者提出了一种被称为深度空域特征重建(DSR)的方法,相较于现有的滑窗匹配法(sliding window Matching 、SWM)、部分对部分匹配法(Part-to-part Matching)、形变匹配法(Resize Matching)等,识别效率和准确率都有大幅提高。
一、前言
1.1论文背景
在现实生活中,由于车辆、数目等物体阻挡,我们通过监控摄像头采集到的行人图片有很多都只有一部分。
因此局部行人再识别技术具有非常大的现实应用性,但这项技术还面临非常大的挑战,目前还几乎没有人给出一个可以灵活识别出人体任意部分的方法。在本文中,作者提出用全卷积神经网络(FCN)对图像进行处理得到固定大小的特征图,然后利用深度空域特征重建方法来实现不同大小图像的特征匹配。
1.2目前方案
目前主要的局部行人再识别技术有如下三种:
Resize to match: 对于大小不同的输入图像,将其重新调整为和完整图像大小相同,然后输入CNN中进行特征提取和识别。但是这个方法在应用过程中会让图像变形而失真,影响识别效果。
Sliding window Matching: 用和部分图像(probe person image)相同的滑窗在整体图像(gallery person image)上进行滑动,选出和probe person image最为相似的区域从而实现识别。这个方法的缺陷是应用的场景有限,当probe person image图像大于gallery person image时就无法应用这个方法。
part to part Matching: 这种方法提取了图像中的局部特征进行匹配,效果较前两种方案来说都稍微好一些,但是在对齐过程中过程需要消耗大量的计算量,不是一个很完美的方法。
1.3论文贡献
这篇paper的贡献主要有如下四点:
1、提出深度空域特征重建算法(DSR),这种算法无需对图像进行对齐,而且对输入的图像大小没有限制。
2、将稀疏特征重建学习和深度学习在同一个框架内进行统一,并训练一个端到端的模型来将同一个人物误差最小化,将不同人物的误差最大化。
3、用块级别的特征重建取代像素级别的特征重建,并训练一个多层次(不同block size)的模型来提高性能。
4、在Partial-RELD和Partial-ILIDs上都表现出非常好的准确率和效率。
二、相关工作
2.1全连接神经网络
全卷积神经网络只有卷积层和池化层两种,在语义分割,目标检测等领域都有非常广泛的应用。
2.1.1稀疏表示分类
SRC是一种在人脸识别中得到大量广泛应用的方法,在光照变化和遮挡情况下都具有非常好的应用。
2.1.2局部行人重识别
局部行人重识别是一个受到广泛关注的研究方向,目前主要的方法有Ambiguity-sensitive Classifier(AMC)、Sliding Window Matching (SWM)以及两者的结合AMC+SWM(这个方法的效率稍微好一些,但是计算量过大)
三、模型介绍
3.1全卷积神经网络
由于全连接层最后需要输出固定大小的特征向量,因此全连接层需要输入图像保持一定的大小。如果我们在物体检测问题中使用全连接层,则我们需要对输入的图片进行resize,这会降低该过程的效率和准确率。所以我们在这里运用了全卷积神经网络,本模型中的FCN包含13个卷积层和5个池化层。由于全卷积神经网络的使用,我们最后的输出是一个可以根据输入大小调整的特征图。
3.2深度空域特征重建
这一部分介绍了如何衡量不同图像之间相似度,是这篇paper的核心部分。我们用
I
I
I表示局部图像(partial images),用
J
J
J表示完整图像(holistic images),
θ
\theta
θ表示FCN中的有关参数。
X
X
X和
Y
Y
Y分别是两者通过全卷积神经网络FCN后得到的与输入尺度相对应的feature maps,相应的稀疏feature maps为:
x
=
c
o
n
v
(
I
,
θ
)
x=conv(I,\theta)
x=conv(I,θ)
y
=
c
o
n
v
(
J
、
θ
)
y=conv(J、\theta)
y=conv(J、θ)
x
x
x是大小为
w
∗
h
∗
d
w*h*d
w∗h∗d的张量,其中
w
w
w、
h
h
h、
d
d
d分别表示宽、高和
x
x
x的通道数目。如下图所示,我们把
x
x
x分解为
N
N
N个blocks,
N
=
w
∗
h
N=w*h
N=w∗h,每个block的大小都是11d,Y的分解同理。因为
I
I
I和
J
J
J的输入图像大小可能不一样,因此我们得到的feature maps的大小也不同,X和Y进行划分的数目也要随之做出调整,分别划分为N和M个。表示如下:
对于每一个
x
n
x_{n}
xn,我们都可以用
Y
Y
Y来对其进行线性表示,所以我们可以利用Y中相似块来对
x
n
x_{n}
xn进行特征重建。我们用Y来求解
x
n
x_{n}
xn的稀疏稀疏
w
n
w_{n}
wn,因为只有Y中的部分块和
x
n
x_{n}
xn的重建有关,因此我们使用L1范数对
w
n
w_{n}
wn的取值进行约束。综上,稀疏特征重建公式可以定义为:
β
\beta
β用于控制
w
n
w_{n}
wn的稀疏度,在本文中取0.4,
∥
x
n
−
Y
w
n
∥
2
2
\left \| x_{n}-Yw_{n} \right \|_{2}^{2}
∥xn−Ywn∥22用于衡量
x
n
x_{n}
xn和
Y
Y
Y之间的相似程度。
对于X中N个块,匹配距离定义为:
d
=
1
N
∥
X
−
W
Y
∥
2
F
d=\frac{1}{N}\left \| X-WY \right \|_{2}^{F}
d=N1∥X−WY∥2F整个过程的流程如下:
预训练模型的微调
模型的损失函数为
L
v
e
r
i
(
θ
,
W
)
=
α
∥
X
−
Y
W
∥
2
F
+
β
∥
W
∥
1
L_{veri}\left (\theta,W\right )=\alpha\left \| X-YW\right \|_{2}^{F}+\beta \left \| W \right \|_{1}
Lveri(θ,W)=α∥X−YW∥2F+β∥W∥1
优化阶段主要分为两个步骤:
step1: 固定
θ
\theta
θ,对
W
W
W进行优化,这一步骤可以用下式进行表示:
step2: 固定
w
n
w_{n}
wn,对
θ
\theta
θ进行优化,整个过程可以通过计算损失函数的梯度,然后利用梯度下降法进行优化。
将以上两个步骤进行反复操作,从而实现对
W
W
W和
θ
\theta
θ的优化。我们把DSR直接加入到FCN结构中,训练一个端到端的神经网络结构,这个模型在各方面均具有比较好的性能。
具体算法流程如下:
3.4多尺度块的表示
输入的局部图像(partial image)和整体图像(holistic image)的大小不同,因此无法进行匹配,导致识别性能的下降。为了应对图像尺度的变化,让图像能更好的匹配,同时也是为了提高鲁棒性,这篇文章选择了
1
∗
1
1*1
1∗1,
2
∗
2
2*2
2∗2和
3
∗
3
3*3
3∗3三种尺度的blocks,这些blocks按照滑窗的形式对feature maps 进行特征提取。
一些传统基于区域的模型都是在图像层次上进行multi—scale,由于在计算特征时有重复操作,因此模型对计算力的消耗较大。本文的multi scale在像素层次上进行处理,特征只需要被计算一次,且不同的blocks之间可以进行参数共享,因此大大的减少了计算力的消耗。
实验
在实验部分主要对图片的变形、多尺度、与state-of-the-art算法的性能比较等部分进行,每个实验都在Partial RELD和Partial-iLIDS两个数据集上进行。原文描述非常详细,在此不再赘述。
实验的三个结论如下:
(1)与欧几里得距离相比,DSR的效率更高,因为他可以自动寻找相似的特征来实现匹配;
(2)多尺度表示考虑了尺度变化对检测精度的影响,因此准确率更高;
(3)带有DSR的模型识别出更多空间特征,便于对图像进行区分。
结论
这篇paper探讨了目前行人重识别领域非常具有挑战性的局部行人识别问题。最主要的贡献是提出一种深度空域特征重建方法(DSR),用完整图像(gallery image)中的通道对输入图像(probe spatial image)进行特征重构,不再需要图像的对齐。考虑到输入图像尺度差异带来的不匹配问题,用多尺度blocks对feature maps进行特征提取。另外本文还在像素层次而不是图像层次上进行multi scale,大大减小了模型的计算力消耗。