ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification

文章目录

    • 摘要
    • 1.引言
    • 2.相关工作
    • 3.提出的方法(PROVID)
      • 3.1 概述
      • 3.2 外观特征提取(by CNN)
      • 3.3 基于SNN的车牌识别
      • 3.4 基于时空关系重排序
    • 4.实验
      • 4.1 数据集
      • 4.2 实验设置
      • 4.3 车牌验证评估
      • 4.4 车辆重识别评估

A Deep Learning-Based Approach to Progressive Vehicle Re-identification for Urban Surveillance

摘要

大部分现有的车辆重识别方法表现不尽人意,因为他们的主要关注点在于车辆的通用外观却忽视了一些车辆个体独有的特征(例如车牌)。
文章提出了一种新的基于深度学习的渐进式车辆重识别的方法:PROVID。
这种方法将重识别任务视为两个特定的渐进式搜索过程:特征层面上由粗糙到精细的搜索,以及真实世界里由近及远的监控搜索。

  • 第一个搜索过程采用外观特征进行粗过滤,然后利用Siamese神经网络(孪生神经网络)进行车牌验证,准确识别车辆;
  • 第二个搜索过程就像人类的重识别车辆的过程一样,依赖于由近及远的摄像头和时间信息。

收集了迄今为止最大规模的数据集VeRi-776,不仅包含大量的多特征车辆数据,而且具有高重现率,以及足够的车牌号和时空信息标签。VeRi-776上,该方法较目前最好的方法更为优秀,mAP提高了9.28%。

关键词:车辆重识别 渐进式搜索 深度学习 车牌识别 时空关联

1.引言

车辆重识别任务描述:给定检测的车辆图像,在多相机视角捕获的包含该车辆的图像库中进行检索判别。
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第1张图片
车辆重识别可以视为实例级的对象检索问题。现实世界的车辆重识别中,这个问题可以通过渐进搜索来完成。

如果监控人员想要在大量监控视频中找到可疑车辆,他们会先通过外观特征(例如颜色,外形和类型)过滤掉大量车辆,以缩小搜索空间。然后,对于剩余的车辆,再利用车牌信息来准确识别,如图1(b)所示。

此外,搜索范围从先是近端摄像头(先检索图像库里的空间信息和待检索图像的空间信息相近的),然后延升至远端,搜索时段同样先是相近的周期(先检索图像库里的时间戳和待检索图像的时间戳相近的),然后延升至更长的周期。时空信息如图2所示。
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第2张图片
该方法在真实世界里面临的挑战:

  • 基于外观特征的方法难以得到最佳结果:不同视角下相同车辆可能会有很大的类内差异,而同样视角下的不同车辆却可能只有微小的类间差异,如图1(a)所示。
  • 车牌识别包括检测、分割、形状调整以及字符识别多个过程,复杂交通环境下有效、高效地获取、利用车牌信息极具挑战(重识别过程无需识别车牌,只要能判别两个车牌是否一致即可
  • 城市监控环境中,很难在不受约束的条件下对车辆行为模式建模。交通状况,路况和天气会影响行车路线。时空线索的利用也具有挑战性。

总之,相比已有的基于外观的方法,PROVID的特点有:

  • 采用渐进式搜索
  • 深度卷积网络学习的外观属性模型用作粗过滤(采用多尺度特征融合)
  • 孪生神经网络用于车牌匹配(只需验证是否属于同一辆车,用大量车牌图像训练)
  • 时空关系辅助搜索(用于重新排序)

2.相关工作

  • 车辆重识别
  • 车牌识别
  • 时空关系

3.提出的方法(PROVID)

3.1 概述

PROVID的架构如图3所示。每次检索的输入为一张包含拍摄相机ID和时间戳(时间、地点)的车辆图像。PROVID把检索任务视为渐进式搜索过程:

  • 待检索数据集中进行基于外观(颜色、纹理、形状、类型)的粗过滤
  • 车牌精细查找:剩余数据集中孪生网络通过计算车牌的相似性找到车牌相似的车辆(多个,猜测是通过阈值过滤)
  • 根据由近及远原则,利用时空信息进行车辆置信度重排序
    ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第3张图片

3.2 外观特征提取(by CNN)

颜色、形状等显著外观特征很容易过滤掉不相似的样本,而且在大规模数据集里实现也很高效。所以,采用参考文献[9]的纹理、颜色、语义融合模型作为粗过滤器。

  • 纹理特征:常用传统描述子表示,比如SIFT(尺度不变特征变换),描述子再由词袋模型编码。
  • 颜色特征:CN模型提取(参考文献23)(该模型由词袋模型量化,在行人重识别中表现优异)。
  • 高维特征:CNN网络学习(GoogLeNet),该模型在CompCars数据集上微调,以用于检测车辆细节特征,比如车门数量、车灯形状、座位个数以及车辆型号。

最后,上述三种特征通过距离信息融合在一起。how?

3.3 基于SNN的车牌识别

车牌是车辆独一无二的ID。无约束的监视场景中,由于视角,低照明和图像模糊(如图4左),可能无法正确识别牌照。而且,车牌识别流程复杂,包括检测定位、形状调整、字符分割和识别,无法高效应用在重识别任务中。但是,重识别任务中,只需要验证两个车牌是否相同而不用进行识别。 SNN的主要思想是学习一个将输入模式映射到潜在空间的函数,其中相似性度量大的认为是同一对象的一对图像,反之则是不同对象的一对图像。因此,种类数量庞大,或者所有种类的样本训练时不可得的验证场景下,SNN尤其适用。车牌验证正是。。。

用于车牌验证的SNN包含两个并行CNN(如图4右),每个CNN包含两个部分:

  • (卷积层+最大池化层)x 2
  • 全连接层 x 3

对比损失层连接两个并行CNN的输出。
训练之前:一对车牌imgs为一个训练样本,

  • 标注为1:if belong same vehicle
  • 标注为0:otherwise

训练时:一对imgs分别输入上下两个CNN前向传播,输出则在对比损失层中组合,用于计算模型LOSS,然后反向传播,共享权值同时更新。
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第4张图片
W W W为SNN的权重参数,给定输入图像 x 1 , x 2 x1,x2 x1,x2,将其映射到潜在度量空间 S w ( x 1 ) S_w(x1) Sw(x1) S w ( x 2 ) S_w(x2) Sw(x2)。然后,用energy函数 E w ( x 1 , x 2 ) E_w(x1,x2) Ew(x1,x2)来衡量 x 1 , x 2 x1,x2 x1,x2的相似性:
在这里插入图片描述
那么就可以这样表示对比损失:
在这里插入图片描述
( x 1 , x 2 , y ) (x1,x2,y) (x1,x2,y)为一对带标签的样本, m m m为positive margin(正边缘?),默认为1。测试时,第二个全连接层输出为1000,然后使用欧氏距离用于计算图像对的相似性得分。此处不太理解具体实现

3.4 基于时空关系重排序

无约束交通场景下,很难对车辆行进轨迹建模或者预测任意车辆之间的时空关系。所以,时空关系信息究竟对重识别任务有效与否?

分析了20000对相同车辆图像对的时空关系,以及20000对随机选择的车辆图像对的时空关系,统计信息如图5所示,可以发现相同车辆图像对的时空标签信息的距离(地理距离、时间戳差距)会比随机车辆对的更小。

ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第5张图片
假设如果车辆图像对之间有着更小的时空距离,那么他们属于同一车辆的概率机会更高

此处可以发现是否为同一车辆图像对在时间关系上更加显著,空间关系反而差异不那么大
基于这个假设,每个检索图像 i i i和测试图像 j j j,时空相似性 S T ( i , j ) ST(i,j) ST(i,j)可以表示为:
在这里插入图片描述
其中, T i , T j T_i,T_j Ti,Tj表示图像时间戳, T m a x T_{max} Tmax表示所有查询图像和测试轨迹之间的最大时间差。 δ ( C i , C j ) \delta(C_i,C_j) δ(Ci,Cj)表示相机 C i C_i Ci C j C_j Cj之间的最短路径。 D m a x D_{max} Dmax表示所有相机之间的最长路径。最短路径由Google Map获取并且矩阵存储如图6。

最后,车牌特征、外观特征可以采用融合策略或者重排序策略和时空关系组合。具体怎么操作???
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第6张图片

4.实验

4.1 数据集

VeRi-776来源于VeRi。
VeRi:

  • 20个摄像机捕捉的619辆车的40000张图像
  • 图像均在无约束的真实交通条件下捕获,标签包括BBoxes、类型、颜色、品牌
  • 每个车辆的图像都是2~18个相机从不同的视角、照明环境、遮挡情况下捕获的,具备车辆Re-ID需要的高重现率。

扩充数据集:

  • 数据量扩充。添加20%的新车辆,具备同样的标注(包括时空信息),之后包括50000+图像,9000+轨迹,776种车辆。
  • 车牌标注。数据集先分为200辆车(11579图像)作为测试集,576辆车(37781)作为训练集。
  • 对于测试集,每个轨迹里选取一张图像作为需要检索的对象,这样就有1678 queries。对于每一个待检索图像和测试图像,如果检测器(什么检测器???)能够检测到车牌,就标注车牌BBoxes。最终,1678个query里,包含999的车牌图像,测试图像里则有4825的车牌图像,训练集为7647。大概50%的query和测试图像可以利用车牌信息促进重识别。
  • 时空关系标注。对所有车辆的tracks标注时空信息。track是同一时刻同一摄像头捕获的车辆路径,属于同一track的轨道会被聚类在一起。对于每一个track,首先将捕获这个track的摄像头进行标号(1-20),然后使用第一次捕获到的时间戳作为该track的时间标注,更进一步地,为了促进(用于基于时空关系重排序)空间距离的计算,标注信息还包含了通过Google map计算地20个摄像机中的每对摄像机的最短路径(图6)。

4.2 实验设置

评估:利用交叉相机搜索,利用一个相机拍摄的一辆车的一张图片,去寻找这辆车在其他相机里的tracks(用图像寻轨迹)

  • 文献9中,车辆重识别就像行人重识别那样时image-to-image的。而本文是image-to-tracks的,search tragets是tracks。

图像到轨迹的相似性度量:该图像和track中所有图像的相似性的最大值。那么,image-to-track搜索中,有1678的query images,2021 testing tracks。

VeRi-776数据集中,每张查询图像都有多个 ground truths,采用mAP指标衡量整体性能,对每张查询图像,AP如下:
在这里插入图片描述
n n n为test track的数量, N g t N_{gt} Ngt是ground truth的数量(正例数), P ( k ) P(k) P(k)是结果中cut-off k的precision, g t ( k ) gt(k) gt(k)是一个标识函数(如果第 k k k个结果正确,则为1,反之为0。理解为只计算正样本)。那么mAP如下:
在这里插入图片描述
其中Q为query的数量。关于mAP,可以看目标检测模型的评估指标mAP详解

可以参照多标签图像分类任务的评价方法-mAP进行理解。

4.3 车牌验证评估

(1) FACT + Plate-SIFT
(2) FACT + Plate-SNN

FACT又是什么鬼? 后续了解是这个系列的前一篇文章。。。

总之就是SNN比SIFT更好更适合,SIFT对于多视角、多光照情况鲁棒性不强:
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第7张图片

4.4 车辆重识别评估

其他模型在VeRi-776的结果:
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第8张图片
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第9张图片
ECCV 2016 A Deep Learning-Based Approach to Progressive Vehicle Re-identification_第10张图片
(1)基于外观的模型,BOW-CN,LOMO,GoogLeNet,FACT 都表现不错,但是在车辆重识别上表现不好。FACT比GoogleNet更好,GoogleNet只考虑语义属性(high level),但FACT还考虑了颜色和纹理特征(low level)。所有,high,low level特征都在粗过滤上有效且高效。

。。。。。。后面的没必要分析了,建议看原论文,写的脉络清晰易懂。

后续如果能有开源代码的话再详细瞅瞅实现细节。

你可能感兴趣的:(#,车辆重识别)