论文链接:https://arxiv.org/pdf/1703.07220.pdf
摘要
行人再识别(reid)和属性识别有着一个共同的目标是描述行人。它们的不同在于粒度。属性识别注重一个人的局部而reid提取全局特征。考虑到两者的异同,这篇文章提出一个非常简单的CNN用于学习reid,同时预测行人属性。这个多任务方法整合了一个id分类loss和一系列属性分类losses,用它们的权重和进行back-propagate。
我们展示了两个学习了不同特征的行人bench-marks,我们自己的方法显著提高了reid的baseline并且可以应用与大规模galleries。且在两个数据集上可以与最先进的方法媲美。
1.介绍
本文目的在于提升大规模数据下reid的表现,使用了属性labels作为补充线索。reid和属性识别都是监控中的关键应用。reid的任务是从没有交集的摄像头中找出查询的人,而属性识别的的目标在于预测一张图片的一系列属性。
本文主要从person reid开始,特别是基于CNN特征,依赖全局描述的reid,而属性识别通常指出一个人的局部结构。我们考虑到正确预测人物属性可以提升reid系统的判别能力。reid算法可能在两个人外貌相似的时候不能区别细节差异,但是可以通过观察细节做出更精准的判断。正如图1第四行所示,reid系统难以区别穿着相似的蓝黑色衣服的人们,但是用男性、不戴帽子、未背包等属性可以消除错误的匹配。
图一:属性提升re-ID。在第三行的两个人提取出不同的属性集合。第四行中,一个re-ID系统不能区别两个相似外表的人时,属性可以提供补充的局部信息。
本文与之前讨论reid和属性的文献相比,有两方面差异。
1. 大多数方法都是利用属性来增强两张或三张图片之间的联系[33,34,16,21],这一系列方法这样设计有历史原因,因为得到的数据集通常每个身份两张图片。但是最近的大规模数据集(例如Market-1501[51]和DukeMTMC-reID[54])为每个分类提供了更丰富的训练样本,观察可知训练一个分类模型比双输入模型(siamese model)效果更好[52]。因此,本文采取一个分类CNN模型来训练这个多任务网络。
2. 据我们所知,几乎没有工作揭示reid标签的使用对属性识别的影响,而这有重要的研究和应用价值。我们的工作在reid能否提升属性识别的准确度上做出初步努力。请注意本文主要讨论本源层面的属性而非具象层面的属性。本源属性指与人本身相关的属性,例如性别年龄等。相反的是,具象属性是持续短时间或来源于外部环境的属性,例如打电话,骑单车。某种程度上来看,人物reid是一个考虑了本源层面的属性识别的更泛化任务。从这一角度看,如果两个检测框是同一个人,我们通常希望大多数本源层面的属性应该匹配。因此,reid可能对大部分属性识别的准确度可能有正面效果。
本文中,我们提出一个和以前的工作不同的视角,以往工作主要讨论属性标签不依靠图像对如何在大规模学习问题中帮助reid。据我们所知,这是第一个整合属性进reid 的分类CNN模型的工作,我们提出了在loss层整合两个任务的属性=人识别(APR)网络。APR网络建立在两个baseline上,一个是reid,另一个是属性识别。两个baseline都用一个分类CNN结构实现,并且reid的baseline已证明得出有竞争力的准确率[52,9,2]。APR网络结合了reid的loss和属性识别的loss(如图二)。导致他们互补的方面提升了reid的准确率。为了评价所提方法的表现,我们在Market-1501[51]和DukeMTMC-reID[54]数据集上进行了实验。我们发现学习结果达到了与目前最好水平有竞争力的准确率。除此之外,我们提出的APR网络在属性识别方面比baseline有所提升。
主要贡献总结如下:
1. 合并ID和属性分类loss,我们提出一个新的属性-人识别网络(APR)。该网络同时学习了一个能识别reid和属性分类的CNN网络模型,并在reid上产生有竞争力的准确率,且在属性识别上有所提升。
2. 我们在Market1501和DukeMTMC-reID数据集中人工标注了一些行人属性。该属性标注将对公众开放。
2.近期工作
这部分简要回顾一些相关方面,比如基于CNN的reid方法,reid的属性以及脸部应用的属性。
- 基于CNN的reid。绝大部分reid方法都是基于CNN的,可以分为两种策略:深度距离学习和深度deep metric learning and deep representation learning.对于第一种策略,通常将一对图片或三张图片送入网络。代表性的方法包括[44,23]。通常,空间约束也整合进了相似的学习过程[1,23,44,5]。例如,在[38]中,每个卷积层插入了一个阈值函数,使得网络可以捕获两个输入图片间的一些潜在差异。在[5]中,Chen等人提出一种多任务方法,对三张输入图片,实现了一个排名loss和一个验证loss。一般来说,deep metric learning在训练相关小数据集上有优势,但是在更大数据集上效率有些不足。第二种representation learning策略正变得越来越火,因为它得出更好的准确率[52]并且不降低效率。例如[41,49,42,9,53]。Xiao等人在[41]中提出通过在多数据集中训练一个分类模型,再在每个数据集中测试。在[53,9]中,验证和分类losses的结合已证明是有效的,与[35]中的发现一致。本文采取这一系列方法作为reid的baseline,具体来说,微调一个分类模型,学会的结果用于计算query和gallery图像的相似度。
- 行人reid属性。在人物reid任务中,属性已经用于很多工作。其中大部分用属性作为reid的辅助信息。在[21,20,19]中,低级的描述器和SVM用于训练属性探测器,并且将属性整合进若干深度度量学习的方法。Su等人在[33]中用多任务学习来训练了一个分类模型,利用不同镜头分享的特征和属性。Khamis等人在[16]中提出将三元reid的loss和属性分类的loss一同优化,但是没有该方法没有表明是否比属性识别的baseline有提升。这些方法通常用图片对或者三元组来训练,而我们的方法用分类CNN模型分型reid对属性识别的影响。也有若干数据集发布出来用于这些任务。Deng等人在[7]中和Li等人在[22]中发布了两个大规模行人属性数据集PETA和RAP。PETA数据集对每个ID没有足够的训练样本,RAP没有ID标签,所以本文中没有用这两个数据集。最近,Li在[32]中贡献了一个用自然语言描述人物图像的数据集。我们没有采用这一数据集,因为我们关注属性识别,但是自然语言并没有明确标明属性。[36]中的工作最接近我们的工作,他们只用属性loss训练CNN。我们将展示同时用ID和属性分类loss训练的APR网络比[36]中的方法更好。
- 脸部应用的属性。脸部识别的属性已经研究很久了。在过去,Moghaddam等人在[29]中提出使用Haar特征,用SVM来预测性别。Lanitis等人比较了年龄预测的不同分类器。近期有很多深度学习的方法面世了。Zhang等人在[48]中用脸部属性识别作为辅助任务来提升用CNN的脸部校准的效果。在[27]中,两个CNN结构串联并一起用属性标签微调来预测脸部属性。Yang等人在[43]中训练了脸部属性识别的CNNs来获取脸部区域的高度回应,使得可以定位脸部窗口候选区域。但是由于复杂的CNN结构,该方法在实践中时间花费过大。
3.属性标注
出于两个原因,我们人工标注了[51]文中的Market-1501和[54]文中的DukeMTMC-reID数据集的属性标签。首先,目前最大的行人属性数据集,[22]文中的RAP并没有ID标签。其次,[7]中的PETA数据集是[12]中的VIPeR和[28]中的iLIDS这样的相关小re-ID数据集组合起来的。对于PETA,每个ID的训练样本数非常有限,这会影响深度学习的效果。
虽然Market-1501和DukeMTMC-reID数据集是在大学实验室中收集的,大部分id都是学生,他们在季节上有显著区别(一个是夏天一个是冬天)因此有不同的衣服。例如,Market-1501中的许多人穿裙子或裤子,而DukeMTMC-reID中的大部分人穿裤子。因此对两个不同的数据集,我们用了两个不同的属性集合。考虑了数据集中人物特点,精心挑选的属性确保每个属性的分布不会严重偏颇。
对Market-1501,我们标注了27个属性:性别(男,女),头发长度(长,短),袖子长度(长,短),下装长度(长,短),下装类型(裤子,裙子),是否带帽(是,否),是否提袋(是,否),是否背包(是,否),是否提手提包(是,否),上装的八种颜色(黑,白,红,紫,黄,灰,蓝,绿),下装的九种颜色(黑,白,粉,紫,黄,灰,蓝,绿,棕)以及年龄(儿童,青年,成年,老人)。请注意颜色属性是二进制表示。图三中展示了Market-1501中某些具有代表性的正反样本属性。
对于DukeMTMC-reID,我们标注了23种属性:性别(男,女),鞋子类型(靴子,其他),是否带帽(是,否),是否提袋(是,否),是否背包(是,否),是否提手提包(是,否),鞋子颜色(暗,亮),下装长度(长、短),上装的八种颜色(黑,白,红,紫,灰,蓝,绿,棕),下装的七种颜色(黑,白,红,灰,蓝,绿,棕)。颜色属性也是二进制表示。在图四中我们展示了一些有代表性的属性的关联。在图五中展示了两个数据集的属性分布。
请注意属性在ID层面标注的。例如在图三中,第二行的前两张图片是同一个ID。虽然我们不能在第二张图片中清楚的看到背包,但它的标签仍是“背包”。Market-1501和DukeMTMC-reID的属性标注都可以在我们的网站上找到。
4.提出方法
4.1.baseline的方法
本文对re-ID和行人属性识别构建了两个baseline。我们用[13]中的ResNet-50作为基准网络,在文[52]中取得了有竞争力的re-ID表现。基准网络用[6]中的ImageNet上预先训练过。我们用新的标注属性和目前可获取的身份标签分别对两个baseline进行微调。
Baseline 1(person re-ID)。
我们将基础模型的最后一个全连接层的神经元数量设置为K,K表示训练id的数目。为了避免过拟合,我们在全连接层前面插入一个dropout层,设置dropout率为0.9。测试中,每个query和gallery图片,我们在pool5层抽取一个2048维的特征向量。对每个查询,我们计算query和gallery特征间的欧几里得距离,然后进行排序。Baseline 1的结果在表格1中展示。
Baseline 2(行人属性识别和re-ID)。
我们用M个全连接层接在属性识别的softmax层前面,M表示属性的数目。对于CaffeNet,M个全连接层取代了FC8。对于ResNet-50,他们取代了FC层。对于m类的属性,其全连接层为m维。和Baseline 1一样我们也插入了dropout层。Baseline 2的结果在表格3中展示。
4.2.属性-人识别(APR)网络
结构
在这一部分,我们描述了提出的属性-人识别(APR)网络。APR网络包含一个基础模型,在计算loss前有M+1个全连接层,一个id分类的loss,M个属性识别的losses,M是属性的个数。新的全连接层命名为FC0,FC1,...,FCMFC0,FC1,...,FCM 用于属性分类。新全连接层的维数和Baseline 1以及Baseline 2中相等。给定输入图像,该网络同时预测id和一系列属性。pre-trained的模型可以用[13]中的ResNet-50或者[17]中的CaffeNet。
图二:APR网络的概览。训练过程中产生M个属性标签和一个ID标签。单个loss的权重和用于回传。测试过程中,我们提取ResNet-50中的Pool5或者CaffeNet中的FC7用于查询。
对于ResNet-50,正如图二中所示,全连接层与Pool5相连。对于CaffeNet,全连接层与FC7相连。大小为224×224的图片用于[13]中的ResNet-50而227×227的图片用于[17]中的CaffeNet。
损失计算
假定我们有K个id的n张图片。每个id有M个属性。令Di={xi,di,li}作为训练集,xixi平衡两个losses的贡献且由Market-1501中的一个验证集决定。
在图六中,我们将CNN中的特征图部分可视化了,这阐明了融入属性如何增强了网络的解释性。
5.实验
5.1.数据集和评价标准
[51]中的Market1501数据集,人re-ID的最大数据集之一,包含6个摄像头采集的32668个gallery图片和3368个query图片。也包含来自一个误导(distractor)集合的50万张不相干图片,这可能对识别精准率引起相当大的影响。Market-1501分为751个id来训练和750个id来测试。我们的绝大部分实验中,使用651个id在训练集而另外100个id用于验证集来决定参数λλ的取值。在验证re-ID表现的时候,我们对每个摄像头下的每个ID随机选取一个query图片,所以一共选了431个queries用于验证。在测试和验证的时候,我们都采用了交叉摄像头取回(cross-camera retrieval)的方法。
[54]中的DukeMTMC-reID数据集是[31]中的DukeMTMC数据集的一个子集。它包含8个摄像头采集的1812个id。其中1404个id出现在多于两个摄像头,剩下的408个id为误导(distractor)图片。使用[54]中的验证标准,训练集和测试集都有702个id。所以一共有2228张query图片,16522张训练图片和17661张gallery图片。
评价度量。对于re-ID任务,我们采用累积匹配特征(CMC)曲线和平均预测(mAP)。对每个query,平均预测(AP)由查准和找回(precision查准:表示查询结果多少是准确的,recall召回:表示所有准确结果有多少查询出来)。平均预测是所有查询的平均预测准确值。
假定CMC反应了查询结果的精准度,MAP反应召回。我们用[51,54]里的公用度量包。
对于属性识别任务,我们测试对每个属性分类的准确度。Market-1501有24个属性,DukeMTMC-reID有21个属性。gallery图片用于测试集。对于Market-1501,误导(背景)图片和废弃图片没有属性标签,因此不用于测试属性预测。我们把所有属性的平均识别率作为总的属性识别率。
5.2.实现细节
我们采用了和[53]相似的训练策略。具体说,当用ResNet-50时,我们设置epoch数为55。batch大小为64。学习步长初始化为0.001,在5个epochs后降到0.0001。对于CaffeNet,epoch数设为110。对前100个epochs,学习步长为0.1,最后10个epochs降到0.01。batch大小设为128。两个网络的随机梯度下降(SGD)都在每个小的batch里实现来更新参数。
5.3.人re-ID的评价
参数验证。我们先展示对于参数λλ。
属性识别提升re-ID超过baseline。我们评价APR网络是否胜过两个baselines。两个数据集上的结果在表格1和表格2中显示。我们注意到Baseline 2的FCFC一样用于re-ID。
首先,虽然Baseline1如同预期得到了好的表现[52],我们观察到Baseline2取得了较低的准确率,比如,在Market-1501上使用ResNet-50的rank-1准确率只有49.76%。实际上,Baseline2只利用了属性标签而没用ID的损失。这说明属性可以区别两个不同的人。
其次,整合Baseline1和Baseline2的优势,我们的方法很大程度超过了两个baselines。比如,在Market-1501数据集上,当使用ResNet-50和651个训练id的时候,对B1和B2的rank-1分别提升了12.47%和33.22%。在DukeMTMC-reID上也得到了一致的发现,例如,我们发现对B1和B2的rank-1分别提升了6.47%和17.78%。这说明两个baselines自带互补属性,也就是id和属性学习。除此之外,一个微小的发现就是用更多的id训练可以明显提升匹配准确率。
最后,对CaffeNet和ResNet-50两个网络,APR都取得了提升。在Market-1501数据集上用651个训练ID,对rank-1分别提升了5.41%和12.47%。
与最高水平方法比较。与最高水平方法在Market-1501和DukeMTMC-reID上的比较分别在表1和表2中展示。在Market-1501上,我们用ResNet-50模型和751个训练IDs,取得的rank-1=84.29%,mAP=64.67%。我们在比较的方法中达到了最好的rank-1准确率,mAP达到了第二高(最高的mAP是Gent等人在[9]中提出的)。在DukeMTMC-reID数据集上,我们用ResNet-50和所有训练集(702个IDs)的结果是rank-1=70.69%,mAP=51.88%。因此,我们的方法显露出与最高水平方法有可比性。Market-1501数据集上的一组样例re-ID结果展示在图八。Baseline1在排序中前8的图片都没有正确的匹配。在B1的结果中,返回了背包的人或者异性。当用APR网络的时候,所有六个正确的匹配都找到了。在这个例子中,包和女性是关键属性。
摄像头对之间的结果。为了更好的了解在Market-1501数据集上的表现,我们在图10中提供了所有摄像头对之间的re-ID结果。尽管6号摄像头是一个720×576SD的摄像头并且和其他高清摄像头捕获的背景不同,但6号摄像头和其他摄像头的re-ID准确率相对较高。交叉摄像头的平均mAP和平均rank-1准确率分别是52.24%和58.56%。和[51]中的结果比较,我们的准确率明显更高,我们也观察到不同摄像头之间更小的标准差,表明APR可以在多视角下工作。
学习特征的可扩展性。为了测试我们方法的可扩展性,我们展示了在Market-1501+500k数据集上的结果。500k误导数据包含背景探测和很多无关行人。该数据集上我们模型(ResNet,751个训练IDs)对re-ID的准确率在图11中展示。可以预见,随着数据集的增大,由于包含更多干扰,re-ID的准确率会有所下降。结果进一步展示了我们的方法超过了[53]和Baseline 1。不过,我们注意到APR和B1随着gallery规模增大越来越相近,可能因为转移的影响:当500k图片逐渐加入,gallery的数据分布越来越偏离了训练集。所以如何使得训练的模型适应为见过的测试gallery还是一个挑战。
消融的研究。我们评价单个属性对re-ID准确率的贡献。固定λ=8λ=8,每次从该系统中移除一个属性,将两个数据集上的结果总结在图9中。我们发现对于Market-1501中的10个属性和DukeMTMC-reID中的9个属性,大部分都是不可缺少的。在两个数据集上,最有影响力的属性是“背包类型”和“鞋子颜色”,这两个属性分别使两个数据集的rank-1降低2.34%和4.85%。这表明两个数据集的行人有不同的表现。“是否戴帽子”这一属性似乎对所有re-ID的准确率都造成了负面影响,但是影响非常小。
5.4.属性识别的评价
我们分别在表三和表四的Market-1501和DukeMTMC-reID的galleries集上测试了属性识别。我们比较了APR和Baseline2学习的模型。有两个发现。
第一个,在Market-1501和DukeMTMC-reID两个数据集上,总的来,提出的APR网络在一定程度上能提升属性识别准确率。在Market-1501和DukeMTMC-reID上提升分别有0.69%和0.06%。所以总的来说,引入id分类带来一些互补信息,帮助学习一个更有识别能力的属性模型。
第二点,我们发现APR网络使一些属性的识别率降低了,比如DukeMTMC-reID中的“性别”和“靴子”。然而图九中展示了这些属性在提升re-ID表现中很重要。原因可能在于APR的多任务天性。因为这一模型是为了re-ID优化的(图七),某些属性的模棱两可的图片可能预测错误。然而在两个数据集上的提升还是鼓舞人心的,进一步的研究也应该很重要。
我们在图12中展示了属性预测的两个例子。我们的系统对左边的人的所有属性做出了正确的预测。对于右边的人,错误在于“头发长短”和“是否戴帽子”。
6.结论
本文中,我们主要讨论了如何通过整合属性学习来提升re-ID。这两个任务在一定程度上可以通过多任务学习过程相互收益。我们提出APR网络能为人的re-ID学习一个有区别能力的模型,并能做属性预测。APR网络包括ID分类和属性分类losses,分别包含于re-ID和属性识别的baselines。为了展示我们方法的效果,我们在两个大规模re-ID数据集上标注了属性标签。我们展示了APR网络对两个baselines在re-ID准确率上带来提升。我们得出和当前最高水平有竞争力的re-ID准确率。对于属性识别,得到了复杂的结果,但是总体来说是提升。
未来,会有更多关于属性和re-ID如何互相帮助的研究。许多属性如同局部属性或者相关属性[8,30]会研究到。