【Person Re-ID】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification

paper下载地址:https://arxiv.org/abs/1710.00478

Introduction

Person Re-ID目前依然是一项十分具有挑战的任务。姿势,视角,光照,背景和遮挡都给这项任务带来困难。

传统的方法通过学习low-level特征,比如颜色、外形、局部描述子等来描述一个人。而CNN通过学习high-level特征能够提升性能。目前的监督性学习方法能够分为两类,一类是表示学习,一类是度量学习。

  • 表示学习:把ReID看为分类与识别任务。直接受益于常用的分类方法,比如softmax,因此很容易训练出来,性能也还不错。但是这类方法主要关心的是类与类之间的不相似性,忽略了pair之间的相似性,导致很难将同一个人的pairs和不同人的pairs区分开。
  • 度量学习:直接评估两张图像embedding features的相似性。比如contrastive loss,triplet loss,improved triplet loss, quadruplet loss。尽管这些度量距离的loss对image pairs很敏感,也很难训练,但是性能却比表示学习要好。

本文中,作者提出了一种新的度量学习方法,称之为margin smaple mining loss(MSML)。在一个batch中,随机选取P个人的K张图像,总共N=P*K张,计算特征空间的N*N距离矩阵,选择距离最大的positive pairs和距离最小的negative pairs来计算最终的loss。

Method

Triplet loss

老生常谈的话题,直接上公式。

【Person Re-ID】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification_第1张图片

公式第一项表示要使得同类之间pairs越来越近,第二项表示不同类之间的pairs越来越远。这两项共用同一张positive image,即anchor,因此triplet loss更加关注同类image(same probe image)。

Quadruplet loss

【Person Re-ID】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification_第2张图片

quadruplet loss是triplet loss的扩展,包含4个元组(图像)。上式中第一项与triplet loss一样关注同类图像,第二项则关注不同类图像。有了第二项的限制,内间距离应该比内类距离大。将 fC 设为与 fA 相等或不等,作者将上式扩展为下式。

Margin sample mining loss

直接用上式训练是没法获得比较好的性能的,因为随着数据集的增大,quadruplets的数量也会猛增,而绝大多数的quadruplets是很easy的,特别是上式中的第二项,导致“宝贵的”hard samples没有被选上,从而性能大打折扣。作者用对triplet loss的改进方法(参考我的上一篇博客In Defense of the Triplet Loss for Person Re-Identification)来改进quadruplet loss。

【Person Re-ID】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification_第3张图片

改进的目的就是hard-mining,上式第一项是选择距离最大的同类image,即hard positive pair,第二项是选择距离最小的不同类image,即hard negative pair。在一个batch中,只需要考虑最难的positive pair和最难的negative pair,因此它的连接是十分稀疏的。

特点:

  • 不仅考虑了三元组中的相对距离,也考虑了四元组中的绝对距离。
  • hard-mining的优势使得性能突出。

Experiments

作者做了两组实验,一组是比较不同的网络在ReID任务上的性能;一组是评估不同loss的性能。

【Person Re-ID】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification_第4张图片

  • mAP和rank-1,Triplet loss(Tri)比分类loss(Cls)提升了将近10%。
  • TriHard (triplet loss with hard sample mining) and Quad (quadruplet loss)比triplet loss性能好。
  • MSML在大多数数据集上获得了最好的表现。

看法与评价:

  • 在resnet-50上,我只用market-1501数据集训的结果比作者用了4个数据集训的结果还要好。
  • 训练的trick较多且耗时。
  • triplet loss中为了快速训练,考虑一个batch中所有的最难的难例是几乎训不出来的,一般是考虑semi-hard。
  • TriHard和MSML中只选择最难的positive pair和negative pair保证了稀疏性,性能有所提升,但epoch会大大增加。

你可能感兴趣的:(Person,Re-ID)