ECCV 2020 | 清华提出基于循环关联的自监督行人再识别, 无标签ReID仅需两个摄像头!...

作者:清华大学电子系三年级博士生 王重道

本文将分享来自清华大学的电子系在读博士生王重道等人在ECCV的工作。他们提出了一种简单有效的自监督行人再识别解决方案——CycAs,它的良好性能证明了针对任务设计的自监督学习大有可为。


论文链接:

https://arxiv.org/pdf/2007.07577.pdf

现有的无监督行人再识别往往依赖聚类的伪标签,或者其他模块(如跟踪)带来的辅助信息作为监督。监督信息的不准确和算法的复杂性使得这些方法难以应用到实际当中。本文提出了CycAs,一种简单、有效的自监督行人再识别解决方案,仅需两个摄像头拍摄到的行人视频作为输入,通过数据关联的循环一致性即可学习到有鉴别力的行人再识别特征。这是自监督学习在行人再识别领域的一次早期尝试,CycAs的良好性能告诉我们针对任务设计的自监督学习大有可为。

                            

一、背景和动机

在行人再识别应用中,数据标注是一个耗时耗力的平方复杂度问题。因此,如何能从海量无标签的行人数据中学习到有效的再识别特征成为了一个实际应用中亟待解决的问题。如果解决得当,潜在的应用主要分为两个方面:一是可以通过大量无标签数据训练得到高泛化性的预训练模型;二是可以通过源域有监督+目标域无监督的方式实现模型的域适应 (Domain adaptation) 。

 

现有的无监督行人再识别方法可以分为三大类:

  1. 基于无监督域适应的方法。这类方法从一个在源域上通过有监督的方式训练好的模型开始,在目标域数据上通过无监督的方式实验模型的域适应。严格来讲,这类方法并不能算作完全无监督。

  2. 基于聚类-伪标签-度量学习的方法。这类方法通过多次迭代的聚类-分配伪标签-通过伪标签训练模型的过程来使得模型不断进化。最终的性能与伪标签的预测准确度息息相关,所以最重要的事情是要保证伪标签尽可能正确。

  3. 基于跟踪的方法。这类方法需要一个较好的多目标跟踪模块,先在视频中运行多目标跟踪,然后将提取到的每个跟踪轨迹试做一个单独的ID。得到ID之后,再通过度量学习来训练模型。理论上来说,也依靠一种伪标签的分配,只不过这里的伪标签是通过跟踪得来的。

 

这些已有的方案虽然有效,但都各自都存在一些缺陷:或需要有监督的模型初始化,或需要耗时的多次迭代,或依赖伪标签的准确性。那么有没有可能设计出一种对外部模块和算法依赖尽可能少的方法呢?

 

为了解决这个问题,我们提出了CycAs (Cycle Association),首个自监督学习行人再识别方案。CycAs不需要源域上训练好的模型做初始化,不需要依赖于跟踪模块,也不需要分配任何伪标签,因此就不需要关心伪标签的正确性。CycAs仅需视频作为输入,在一个较好的行人检测器的帮助下即可学习到良好的再识别特征。

 

我们的灵感来源于多目标跟踪中的数据关联 (Data association) ,以及在自监督学习中构造监督信号的一种常见方式:循环一致性 (Cycle consistency) 。在多目标跟踪中,数据关联是指将两帧中检测到的目标(一般是bounding boxes)两两匹配连接起来形成轨迹。

如下图(a)中左右两帧F_t和F_{t+1}是同一视频中连续的两帧,数据关联是要找到F_t到F_{t+1}的两两匹配关系。假设我们在此基础上再做一次反向的数据关联,也就是找到F_{t+1}到F_t的匹配关系,那么期望的结果是什么呢?当然,期望的结果是每个ID在经过一次循环F_t到F_{t+1}再到F_t之后,都被匹配回它自身这个实例。通过这一理想性质,我们可以将模型在循环匹配后与期望结果的不一致性作为“免费”的自监督信号来训练特征提取器,如下图中红色方框所示。

 

另外,除了单角度视频外,我们的方法还可以利用跨摄像头视频来学习更具鉴别力的再识别特征。如下图(b)所示,两个摄像头同时拍摄同一片区域,视频里的个体会有很大的重合,即出现在左边视频中的人物大部分也出现在了右边的视频中。通过利用双摄像头拍摄到的数据,我们的方法能够学习在大的外观变化下的数据关联,从而学习到具有鉴别力的再识别特征。

二、方法梗概

训练数据:我们的目标是从两组有ID交叠的行人图像集合I_1和I_2中学习行人特征提取器。I_1和I_2是分别从两个视频帧中检测到的行人检测框集合,有两种采样方式:相机内采样 (intra-sampling) 和跨相机采样 (inter-sampling) 。相机内采样是指行人采样自统一视频不同帧,跨相机采样指行人采样自两个视频同一时间戳的两帧,且这两个视频的相机要求有较大的视野交叠(如下图(b)所示)。

 

循环匹配 (Cycle Association) :为了方便说明,我们首先假设I_1和I_2是对称的,即他们之中的个体都能找到一一对应关系,因此个体数量也相同,记为K。对于I_1和I_2中的每张图像,我们通过特征提取器提取特征得到特征矩阵X_1和X_2,形状均为D x K, D代表特征维度。这里的特征经过了L2归一化,所以我们可以用内积计算两两余弦距离:

之后,我们可以对相似度矩阵S利用Softmax函数进行行归一化,得到的矩阵A每行相加之和应为1,因此其中的元素a_{I,j}代表的含义是“第一帧中第i个实例匹配到第二帧第j个实例的概率”。A便是第一帧到第二帧的前向匹配矩阵的一个可导的近似。相似的,如果我们对A^T做Softmax行归一化,得到的则是从第二帧到第一帧的后向匹配矩阵A’。两者如果乘在一起的话,则构成了循环匹配矩阵

在经过前向+后向匹配之后,完美的结果是每个个体都被匹配回其自身。也就是说理想的A_{cycle}应该等于单位阵I。所以一个自然的监督信号是:

非对称条件下的优化目标松弛:上述方法描述中我们假设了数据是完全对称的,但是在现实中数据往往是非对称的,因为很难保证出现在镜头A中的个体100%也都出现在镜头B中。在这种非对称的条件下,我们发现基于对称假设的监督信号L_{symmetric}是有问题的,因此我们对优化目标做了一些修改,放宽了它的要求。

首先,假设I_1和I_2中所包含的个体数分别为K_1和K_2,不妨使K_1<=K_2,那么循环匹配矩阵A_{cycle}的秩是一定小于等于K_1的。所以我们可以通过交换位置使得第一帧总是包含个体数比较少的那一帧,这样可以减少不必要的错误监督。

其次,我们发现“强迫循环匹配矩阵趋近于单位阵”这个目标过于强,以至于在非对称情况下,那些无法完成循环匹配的样本会被分配到错误的监督信号。所以我们将损失函数松弛成如下的形式:

也就是说,这里只要求对角元素比同一行和同一列的元素都要大,且需要大于一个给定的间隔m。类似于triplet loss,这里我们取一个固定的m=0.5即可。

在实验中我们发现,L_{asymmetric}总是优于L_{symmetric},无论给定的数据是对称还是非对称的。

 

三、实验验证

1. 模拟实验

为了和其他无监督ReID方法进行对比,我们follow其设定在七个图片、视频ReID标准数据集上进行模拟无监督的实验。为了模拟现实场景中的非对称数据,我们首先定义数据的对称性为两帧间重合ID数量与两帧中ID较多的一帧的ID数量的比值,即:

然后我们通过随机采样的方式控制训练时数据的对称性。训练用到了相机内采样和跨相机采样两种数据,对应的我们分别设置为0.9和0.6,来模拟现实中常见的非对称场景。

表中CycAs^{asy}即模拟实验结果,可以发现在此仿真设置下我们的方法超过了大部分已有的无监督方案。另外我们也尝试了完全利用对称数据进行训练,结果记为CycAs^{sym},可以理解成我们方法的性能上界。根据结果观察到其性能已经和某些有监督训练的模型相差不多。

 

2. 真实数据实验

已有的无监督ReID方法大都只在标准数据集上进行实验,并不能说明其在真实场景下的有效性。为了验证CycAs在真实场景下确实是有效的解决方案,我们自己随机采集了一些行人视频作为训练数据,利用CycAs训练特征提取器,再在标准测试集上进行跨域测试。我们在机场、商场和校园里共采集了6小时的无标注视频,其中5小时只有单一视角,1小时为双视角视频。测试结果如下表所示

可以看到,我们的方法远远超过了其他两种无监督ReID方案BUC和UGA,并且除了行人检测外无需任何前处理和后处理,方便快捷。我们还与有监督模型进行了对比:如模型D是在DukeMTMC-ReID数据集上有监督训练,并在Market-1501上跨域测试的。同为跨域测试的CycAs与之相比,甚至略微超过了有监督模型(50.8% v.s. 48.1% Rank-1)。这说明我们的自监督ReID方案是非常有竞争力的。我们相信随着数据量的增大,CycAs的性能甚至可以更进一步。

//

关于作者:

王重道,清华大学电子系三年级博士生,导师是王生进教授。目前主要研究方向为多目标跟踪及其关键技术(包括ReID、多任务学习)、任务导向的自监督学习。曾经从事度量学习与人脸识别研究。曾在CVPR/ICCV/ECCV等会议上发表论文数篇。

备注:reid

行人-ReID-步态交流群

行人检测、行人重识别、步态识别等技术,

若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值