大部分现有的车辆重识别方法表现不尽人意,因为他们的主要关注点在于车辆的通用外观却忽视了一些车辆个体独有的特征(例如车牌)。
文章提出了一种新的基于深度学习的渐进式车辆重识别的方法:PROVID。
这种方法将重识别任务视为两个特定的渐进式搜索过程:特征层面上由粗糙到精细的搜索,以及真实世界里由近及远的监控搜索。
收集了迄今为止最大规模的数据集VeRi-776,不仅包含大量的多特征车辆数据,而且具有高重现率,以及足够的车牌号和时空信息标签。VeRi-776上,该方法较目前最好的方法更为优秀,mAP提高了9.28%。
关键词:车辆重识别 渐进式搜索 深度学习 车牌识别 时空关联
车辆重识别任务描述:给定检测的车辆图像,在多相机视角捕获的包含该车辆的图像库中进行检索判别。
车辆重识别可以视为实例级的对象检索问题。现实世界的车辆重识别中,这个问题可以通过渐进搜索来完成。
如果监控人员想要在大量监控视频中找到可疑车辆,他们会先通过外观特征(例如颜色,外形和类型)过滤掉大量车辆,以缩小搜索空间。然后,对于剩余的车辆,再利用车牌信息来准确识别,如图1(b)所示。
此外,搜索范围从先是近端摄像头(先检索图像库里的空间信息和待检索图像的空间信息相近的),然后延升至远端,搜索时段同样先是相近的周期(先检索图像库里的时间戳和待检索图像的时间戳相近的),然后延升至更长的周期。时空信息如图2所示。
该方法在真实世界里面临的挑战:
总之,相比已有的基于外观的方法,PROVID的特点有:
PROVID的架构如图3所示。每次检索的输入为一张包含拍摄相机ID和时间戳(时间、地点)的车辆图像。PROVID把检索任务视为渐进式搜索过程:
颜色、形状等显著外观特征很容易过滤掉不相似的样本,而且在大规模数据集里实现也很高效。所以,采用参考文献[9]的纹理、颜色、语义融合模型作为粗过滤器。
最后,上述三种特征通过距离信息融合在一起。how?
车牌是车辆独一无二的ID。无约束的监视场景中,由于视角,低照明和图像模糊(如图4左),可能无法正确识别牌照。而且,车牌识别流程复杂,包括检测定位、形状调整、字符分割和识别,无法高效应用在重识别任务中。但是,重识别任务中,只需要验证两个车牌是否相同而不用进行识别。 SNN的主要思想是学习一个将输入模式映射到潜在空间的函数,其中相似性度量大的认为是同一对象的一对图像,反之则是不同对象的一对图像。因此,种类数量庞大,或者所有种类的样本训练时不可得的验证场景下,SNN尤其适用。车牌验证正是。。。
用于车牌验证的SNN包含两个并行CNN(如图4右),每个CNN包含两个部分:
对比损失层连接两个并行CNN的输出。
训练之前:一对车牌imgs为一个训练样本,
训练时:一对imgs分别输入上下两个CNN前向传播,输出则在对比损失层中组合,用于计算模型LOSS,然后反向传播,共享权值同时更新。
令 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,然后使用欧氏距离用于计算图像对的相似性得分。此处不太理解具体实现
无约束交通场景下,很难对车辆行进轨迹建模或者预测任意车辆之间的时空关系。所以,时空关系信息究竟对重识别任务有效与否?
分析了20000对相同车辆图像对的时空关系,以及20000对随机选择的车辆图像对的时空关系,统计信息如图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。
最后,车牌特征、外观特征可以采用融合策略或者重排序策略和时空关系组合。具体怎么操作???
VeRi-776来源于VeRi。
VeRi:
扩充数据集:
- 对于测试集,每个轨迹里选取一张图像作为需要检索的对象,这样就有1678 queries。对于每一个待检索图像和测试图像,如果检测器(什么检测器???)能够检测到车牌,就标注车牌BBoxes。最终,1678个query里,包含999的车牌图像,测试图像里则有4825的车牌图像,训练集为7647。大概50%的query和测试图像可以利用车牌信息促进重识别。
评估:利用交叉相机搜索,利用一个相机拍摄的一辆车的一张图片,去寻找这辆车在其他相机里的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进行理解。
(1) FACT + Plate-SIFT
(2) FACT + Plate-SNN
FACT又是什么鬼? 后续了解是这个系列的前一篇文章。。。
总之就是SNN比SIFT更好更适合,SIFT对于多视角、多光照情况鲁棒性不强:
其他模型在VeRi-776的结果:
(1)基于外观的模型,BOW-CN,LOMO,GoogLeNet,FACT 都表现不错,但是在车辆重识别上表现不好。FACT比GoogleNet更好,GoogleNet只考虑语义属性(high level),但FACT还考虑了颜色和纹理特征(low level)。所有,high,low level特征都在粗过滤上有效且高效。
。。。。。。后面的没必要分析了,建议看原论文,写的脉络清晰易懂。
后续如果能有开源代码的话再详细瞅瞅实现细节。