ECCV 2020 | 再见,迁移学习?可解释和泛化的行人再辨识

2020-08-05 17:25:11 浏览数 (1)

机器之心专栏

作者:廖胜才

阿联酋起源人工智能研究院(IIAI)科学家提出一种可解释和泛化的行人再辨识方法,通过查询图自适应的卷积和相似度的时序提举,该方法的预训练模型无需迁移学习即可在 Market-1501 上达到 88.4% 的 Rank-1 和 76.0% 的 mAP,从而为实际应用发展了开箱即用的行人再辨识。相关论文已被 ECCV 2020 接收。

(注:本文迁移学习是指行人再辨识领域单模态跨场景的迁移学习。)

  • 论文地址:https://arxiv.org/abs/1904.10424
  • 代码地址:https://github.com/ShengcaiLiao/QAConv

简介

已有的基于深度学习的行人再辨识方法主要关注单张图的特征学习,其训练好的模型是固定的,在面对没见过的场景时缺乏自适应性。为此,迁移学习被大量地研究并用于增强模型在新场景下的适应性,但其代价是针对特定场景的应用需要深度学习训练。

有鉴于此,本文重点研究面向实际应用、开箱即用的行人再辨识。具体而言,在特征学习之外,本文更多地考虑在两张待匹配图像的深度特征图上直接做点对点的图像匹配。为此,本文提出一种查询图自适应的卷积(Query-Adaptive Convolution,QAConv),通过查询图的深度特征图实时生成新的卷积核,并在注册图的深度特征图上做卷积和全局最大池化实现图像对应点匹配。这样,这种匹配过程和结果是可解释的(如图 1),而且这种显式匹配也比特征学习更容易泛化到未知场景,如未知的错位、姿态或视角变化等。

图 1:QAConv 局部对应点匹配示例

为了对 QAConv 执行有效地端到端训练,本文进一步提出一个类别记忆模块,用来缓存每个类别新近样本的深度特征图,从而计算图像匹配的损失函数并进行度量学习。通过直接跨库测试,本文提出的 QAConv 方法大幅超越一些主流的分类 / 度量学习方法(10% mAP),同时它无需迁移学习便可超越近两年的大部分迁移学习方法。此外,本文还提出一种模型无关的基于时序共现的相似度分数加权方法,称为时序提举(Temporal Lifting, TLift)。该方法进一步提升了结果,达到当前最好的跨库行人再辨识性能。

研究动机

人脸识别是目前计算机视觉领域应用最成熟的技术之一。这一方面得益于大量的标注数据训练,另一方面也得益于在此基础上的应用便利性:通过大量数据离线训练好模型之后,便可把模型应用在大量的未知场景而无需迁移学习。本文把这种应用模式称为「开箱即用」。

然而,行人再辨识并没有这么幸运。这一方面是因为该任务本身的复杂性,涉及更多的变化因素和困难。另一方面,当前也缺乏大量的标注训练数据,对人脸识别的训练数据规模只能望洋兴叹,远远不是一个数量级。于是,虽然在一些主流数据库上行人再辨识的性能似乎已达天花板,呈现一片欣欣向荣的态势,但真要以开箱即用为目标,用我们多年前提出的直接跨库测试作为评估准则,目前的方法大多性能很差,跟前述的天花板现象反差极大。

很多研究人员很早就意识到了跨库测试这个问题,为此提出了迁移学习作为解决方案,目前这已经发展为行人再辨识的一个常见研究方向,并且在最近一年中进展尤为迅速,使得跨库测试的性能指标取得了长足的进步。但是这种应用模式并非开箱即用,而是需要在每个应用场景都采集数据进行深度学习训练。这种情形虽然无需人工标注数据,但仍然是费时费力的。

这里我们需要进一步澄清一下应用模式。对于多摄像机跟踪来说,它是 24 小时不间断的智能视频监控,其应用模式是实时的、在线的。这种情形下,迁移学习如果效果显著则仍然是可用的,因为深度学习再训练的代价相对于 24x7 的长期应用来说大可不必在意。然而,虽然行人再辨识的方法和模型可以作为多摄像机跟踪中相似度匹配的基础,但行人再辨识更广阔的应用是作为刑事侦查的手段,即一旦有案情发生需要调阅视频时,行人再辨识能有效地缩短排查时间。这种情形下,开箱即用就显得尤为重要,特别是调阅的视频分布广泛时,不同地点的视频都需求进一步深度学习训练的话,时间肯定是不够的。

在这个背景下,本文研究的是可泛化的、开箱即用的行人再辨识。

关于泛化性我们先从卷积讲起。卷积可以理解为一个模板匹配的过程,它的卷积核是模板,该模板既可以是预定义的,如传统的差分滤波用于边缘检测,也可以是学习得到的,如 CNN。卷积核通常是一个局部模板,卷积操作则是将该模板在全图滑动,得到的输出则是图像各处对该模板的匹配响应,大的响应则代表较好的局部匹配。因此,在深度卷积神经网络里,要学习的卷积核参数是很重要的,它决定了该网络要寻觅的是什么样的模式。然而,一旦在一个数据集上训练完成,CNN 的卷积核就是固定的,它只能代表对训练数据固化的记忆。如果应用场景跟训练场景不一样,CNN 学到的固定卷积核就有可能对没见过的图像模式(颜色、纹理等)缺乏响应,从而导致泛化性不够好。

对于图像分类来说,它只涉及单张输入图片,因此分类可以看作是输入图像跟学到的模型之间的一个匹配,而模型仅能判断已知的类别。但是图像匹配任务不一样,它涉及一对输入图像,而且通常是开放类别的问题,即测试的图像通常是新的未知类别,如人脸识别或行人再辨识。

然而,大部分已有方法并不直接考虑待匹配的两张图像之间的关系,它们依然把图像匹配当做图像分类来做,把每张图像独立对待,只不过抛弃了分类器,应用学到的模型从中提取一个固定的特征表达。然后,图像匹配就变成对两个特征向量简单地应用传统的距离度量,如欧式距离或余弦距离,而忽略两张图像实际内容之间的直接关系。

为此,在特征学习之外,本文提出一种查询图自适应的卷积 QAConv,通过查询图的深度特征图实时生成新的卷积核,并在注册图的深度特征图上做卷积和全局最大池化实现图像对应点匹配。与基于自注意的动态卷积不一样的是,QAConv 是个图像匹配方法,其匹配过程和结果是可解释的,而且这种显式匹配也比特征学习更容易泛化到未知场景,如未知的错位、姿态或视角变化等。

此外,TLift 的研究动机是,摄像机网络中的时空结构对跨摄像机匹配有很好的约束作用。然而,已有的时序约束方法通常需要估计不同摄像头之间的转移时间模型,但这样很难处理多样化的行人转移模式和复杂的转移时间分布,如 Market-1501 中同一个人在同一场景多次出现。

为此,本文提出模型无关的 TLift 方法,通过同一个摄像头下的同现关系约束来规避跨摄像机的转移时间估计。其核心思想是,在一个摄像头下邻近走过的人,在另一摄像头下很可能仍然是邻近的,因此,这些邻近的人在另一摄像头下相应匹配到的行人可以作为参考来加权提举其附近的其他人。这里的关键区别是跨摄像头之间是通过相似度匹配来关联的,而不是通过已有方法的转移时间。同时,TLift 也是可以直接计算的,无需事先对转移时间进行统计学习建模。

查询图自适应卷积

基本思路

如图 2 所示,为了匹配查询图和注册图,首先将它们输进骨干网络得到特征图,并对特征维进行 l2 归一化。然后,在查询图特征图的每个位置提取一个固定大小的局部方块作为卷积核。这是查询图自适应的卷积核,其参数是从查询图特征图里实时构建的,因此区别于固定的训练好的卷积核。在此基础上,实时构建的卷积核可以用于在注册图特征图上进行卷积(可视为模板匹配),并通过全局最大池化寻找响应最大的局部匹配。这样,通过两张图片的交叉卷积,便可以找到他们的局部对应点,并可以相应地进行可视化。

图 2:QAConv 示意图

网络结构

QAConv 训练时的网络结构如图 3 所示,包含骨干网络、QAConv 模块、类别记忆模块、全局最大池化(GMP)、BN-FC-BN 度量学习模块和损失函数。

其中,类别记忆模块是为了在训练阶段配合度量学习,在测试阶段这一模块则被替换成注册图的特征图。BN-FC-BN 模块是将所有局部匹配结果整合为相似度度量,反映成对的输入图像是否来自同一个类别。这里两个 BN 层的使用是为了归一化相似度输出,同时在训练时稳定梯度。

图 3:QAConv 网络结构

类别记忆和更新

为了训练 QAConv 图像匹配模型,需要形成足够的训练图像配对。一个自然的想法是在 mini batch 中形成图像配对来训练,但这样对于整个组合空间来说采样效率是很低的,因为图像配对数是训练图片数的平方量级。因此,我们提出一个类别记忆模块来辅助 QAConv 模型的端到端训练。

具体而言,网络训练的时候注册了一个缓存作为记忆池,每个类别允许记忆一个最近训练过的该类样本的特征图。这样 QAConv 卷积每次都对所有类别进行匹配,并计算相应的损失,从而提升训练效率。计算完损失函数后,每个 mini batch 中的样本都被更新到其相应类别的记忆块中,采用直接替代的方式进行更新。

这里也可以采用移动平均法进行更新,但直接替代更好一些,理由可能来自两方面。一方面,直接替代的话,记忆池反映的是当前网络的最新状态,减少了滞后;另一方面,由于 QAConv 需要匹配两张图像的局部细节,而移动平均会平滑掉局部细节,因此并不利于局部匹配。

损失函数

在 BN-FC-BN 模块之后,我们采用了一个 sigmoid 函数将相似度分数映射到 [0,1] 区间,并计算二值交叉熵损失。由于负样本对比正样本对多得多,为了平衡样本分布同时在线挖掘难例样本,我们也采用了 focal loss 来加权损失。

时序提举

TLift 时序提举的基本假设是在一个摄像头下邻近走过的人,在另一摄像头下很可能仍然是邻近的。示例如图 4 所示,其中,A 是查询图,而在另外的摄像头下,因视角关系 E 比跟 A 是同一个人的 A’ 更像 A。此时,B 和 C 是跟 A 一起邻近走过的人,而他们在另外摄像头下检索到的 B’ 和 C’ 此时就可以作为 A’ 的参考,以此提举 A’ 的匹配分数,因为 A’ 是 B’ 和 C’ 邻近走过的人。相反地,E 的匹配分数会降低,因为没有类似 B’ 和 C’ 的邻近人参考。

图 4:TLift 时序提举示意图

这便是 TLift 时序提举的基本思路。正式的公式化定义可参考原论文。由此,在参考人附近的正确匹配会被提举,而远离参考人但表象很相似的难例负样本会被抑制,从而提升检索的准确率。值得一提的是,TLift 也是根据查询图实时计算得到的,无需事先对转移时间模型进行统计学习。因此,TLift 不需要训练数据,且能被大部分已有的行人再辨识方法直接应用。

实验结果

在直接跨库测试的准则下,我们首先对比了常见的分类学习方法和损失函数,如表 1 所示,从中可以看出,QAConv 取得了大幅提升。论文附件进一步对比了 triplet loss 等更多的损失函数,结论类似。因此,可以得出,QAConv 得到的显著提升并不是简单的损失函数改进,而是其匹配机制的改变。

表 1:学习方法 / 损失函数对比

其次,我们对比了一些后处理方法,如表 2 所示。同样可以看出,TLift 的引入大幅提升了行人再辨识的性能。其中,对比方法 TFusion 是基于转移时间分布建模的,它在 Market-1501 数据库上的表现并不太理想,可能原因是该库上复杂的转移模式。而 TLift 规避了转移时间的估计,因此其表现更稳定。

表 2:后处理方法对比

最后,我们在 Market-1501、DukeMTMC-reID、CUHK03 和 MSMT17 上对比了已有的迁移学习及其 baseline 的性能,如表 3 和表 4 所示。可以看出,QAConv 大幅超越了多个迁移学习的 baseline,而且它本身已经能超越或接近近年来的一些迁移学习方法,特别是在 MSMT17 大数据训练下。而 TLift 的额外引入则能以更少的时间代价超越迁移学习的性能。

值得一提的是,QAConv 采用的是开箱即用的模式,未采用目标数据再训练,而重排序和 TLift 时序提举则是实时计算的,也无须训练。因此,本文提出的方法相比于迁移学习而言更适合在实际应用中部署。

表 3:Market-1501 和 DukeMTMC-reID 性能对比

表 4:CUHK03 和 MSMT17 性能对比

结语

大量实验表明,QAConv 的开箱即用模式具备潜在的更好的泛化能力,有希望在未经迁移学习的条件下直接使用。虽然 QAConv 也可以作为迁移学习方法的更好的预训练模型,但考虑到实际应用的需求,我们还是建议采用如下的解决方案:一是大数据训练,如 MSMT17 上所观察到的效果;二是大网络训练再蒸馏;三是采用重排序和时序提举进行有效的后处理,其实时计算能力比迁移学习更高效。

作者简介

廖胜才,中科院自动化所博士,曾任副研究员,现任阿联酋起源人工智能研究院 Lead Scientist,IEEE 高级会员。研究兴趣为行人和人脸分析。

0 人点赞