git 生成多个patch_ReID-CVPR2019[2]——基于Patch的可分辨特征无监督学习

本文提出了一种名为PAUL的无监督学习框架,用于从无标签数据中学习可分辨的patch特征。通过PatchNet和两种损失函数PEDAL与IPFL,该框架能有效拉近相似patch,推远不同身份的patch,从而在Person Re-identification任务中提升性能。实验结果显示,在Market和Duke数据集上,该方法在无监督设置下超越了UDA方法。
摘要由CSDN通过智能技术生成

Patch-based Discriminative Feature Learning for Unsupervised

Person Re-identification

一、摘要

尽管有可分辨的局部特征早已被用于有效地解决person ReID问题,但是需要大量昂贵的手工标注。本文提出了一种基于patch的无监督学习框架,以便从patch而不是整幅图像中学习识别特征,即利用patch之间的相似性来学习一个有区别的模型。具体来说,作者开发了一个PatchNet来从feature map中选择patch,并学习这些patch的可分辨特征。为了有效地指导PatchNet学习未标记数据集上的判别特征,作者提出了一种基于无监督patch的判别特征学习丢失方法。此外,作者设计了一个图像级的特征学习损失,以利用同一图像的所有补丁特性作为PatchNet的图像级指导。

二、介绍

本文提出了patch-based unsupervised learning framework (PAUL),用来从无标签数据集中寻找可分辨的patch feature,并由三部分组成:

  1. 一个 patch discriminative feature learning network (PatchNet)被设计出来从feature map中选择patch,并从patch中提取可分辨feature。
  2. 在PatchNet中,本文提出了patch-based discriminative feature learning loss (PEDAL),拉进similar块, 推远dissimilar块。
  3. 同时,并挖掘hard negative样本,并生成替代positive样本来实现triplet loss。随后使用image-level patch feature learning loss (IPFL)来综合考量同一个图片的所有的patch features来提供图片级别的guidance。

主要贡献:

  1. 首次展示了如何在无标签数据集上有效地抽取可分辨的patch-based local feature
  2. 为了解决在无标签数据上缺少有效guidance的问题,本文提出了PEDAL和IPFL来训练模型。

三、方法

1、概述:

本文提出了全新的基于patch的分辨特征学习框架,来使用不同数据集的公共块并挖掘无标签数据集的可分辨特征。该框架包括一个PatchNet,意在于学习泛化且有可分辨的patch特征,且有两个完整的loss,能为PatchNet提供guidance,如图2。

63efd8b4283c240a0d3fe4640f3e7a00.png

PatchNet主要包括一个CNN backbone和patch generation network (PGN),后者能从特征map生成不同的块。随后网络被分成不同的branch,每个branch附加一个avgpool和conv layer。PatchNet在有标签数据集上预训练,以达到充分利用公共图像块的shared appearance knowledge的目的。为了给PatchNet提供有效的guidance,本文使用了patch-based discriminative feature learning loss (PEDAL)来拉近similar推远dissimilar。

同时,本文提出了 image-level patch feature learning loss (IPFL)来充分利用同样图片的patch feature来提供image-level guidance。因为没有label信息来组三元组,所以concat同一image的所有patch feature,并通过cyclic ranking来挖掘hard negative samples,并为每个图片生成替代(surrogate)的positive samples。

2、Patch Generation Network

本文从一个相对小尺寸的特征map中采样patch,而不是从整个图像,因为更有效且降低CNN计算复杂度。本文引入了spatial transformation network作为PGN,自动从特征map中取样。如图2,PGN可以被分为3个部分,包括localization network(LN),patch sampling grids和sampler。首先,LN输入特征map,并预测M个spatial locations,被一系列仿射变换参数

决定。LN包括一个conv和两个FC layer。本文初始化了LN的最后一个FC层,因为patch是从不同的空间region中获取且获取初始状态行人图片的不同线索。

e9926b281481e36fd22a83ff4cb0ed41.png
Patch generation network

随后,每个预测transformation parameter 被用来计算sampling grid,而sampling grid是一系列标识输入特征map的哪些位置应当被采样来形成patch的点。最后一步是采样M个patch。作者建议参考[Max Jaderberg, Karen imonyan, Andrew Zisserman, et al. Spatial transformer networks. In NIPS, 2015.]来获得更多细节。

[备注,本节介绍了一个基于现有工作的采样网络]

3、Patch-based Discriminative Feature Learning

本节的目标是guide patchnet学习可分辨的patch feature,在一个无监督的数据集上。注意PGN对每个图像特征图生成M个patch,而且这些来自同一图像的不同patch分布在不同的空间区域。这些区域包含身体的不同部分,含有不同的语义信息。因此,最好是用不同的CNN branch,来encode不同的patch,每个branch独立的学习可分辨特征。

d2b4386b8b113427372fe99bb02a9675.png
Patch-based Discriminative Feature Learning

本文无监督地拉近similar patch,推远dissimilar patch,如图3.

142f561000ab08d98ea40ba4f2c51a27.png
图3,如(c),如果直接拉近similar images,会导致相似但不同id的图片被拉近,影响结果

代表一个batch中第i个图像的第m个patch的特征,我们需要将每个无标签patch与其他图像的m个patch对比来发掘visually similar patches,然而这很难被基于mini-batch优化的深度学习处理。因此,本文提出了一个patch feature memory bank(注:memory bank在今年的出镜率特别高)来存储这些patch features。令
,N是training images的数量,对每个
,在训练中实时更新

b2d851aa6731421e46912c88d84c439c.png

其中t是训练epoch,l是

的更新率,
是最新的patch feature。因为这是一个滑动平均过程,因此可以用
来近似估计

在此基础上,对每一个

,通过计算与
中每个元素的l2距离,我们可以获得set
,包含
的k-nearest patches(注:与invariance matters中的neighborhood极其类似)。随后patch-based discriminative feature learning loss (PEDAL)可以用一个类softmax函数计算得到:

2b1a6dcccb46b5da919593993febd047.png

事实上我们可以对比一下invariance matters中的memory module的exemplar-invariance,是如出一辙的:

5019022f2156ab855eb12861fc0c20f1.png

其中s是scaling number。最小化

鼓励模型拉近similar patches(neighbors
接近
),推远dissimilar patches({
})。通过这种方法,模型可以学会如何将visually similar patches拉近,从而挖掘这些近似patch对的more visual consistent clues。

重新回到图3,作者介绍了为什么在基于patch的情况下,网络的健壮性更强。如图3(c),如果直接按拉近相似的整张person image,那么不同id的图片也被拉近,污染id的线索。相反,如果将图片切分成多个块,同一张图片的不同块可能包含该person的不同信息。拉近相似块可以挖掘潜在的可分辨细节,如图3(a)的“黄色T-shirt”。同时,尽管会碰到同样的问题,即不同id的patches被拉近,但是,要注意的是,id信息并不由单个的patch的feature决定,而重点是多个patches的综合。这意味着,即使一些不同id的patch被拉近,网络仍然可以通过结合其他的patch来分辨。如图3(b),即使3(a)聚合了不同id的拥有黄色T-shirt的块,还可以用3(b)的裤子区域的信息来分辨不同行人。

4、Image-level Patch Feature Learning

a3d0bbdc2346ec6208b4bd1cf2549650.png
Image-level Patch Feature Learning

本段介绍了在前文的基础上,使用多个patch的集合来实现triplet loss,来实现hard mining。作者提出了一个假设,如果两个样本属于同样id,那么他们很可能互相为nearest neighbors,即互相在

中。相对的,如果一个batch中的两个样本并不互相为neighbors,这种不一致性说明了它们很可能不是同一id。

基于以上讨论,本文提出了循环ranking来挖掘hard negative samples,如图4。给定一个batch的B个样本特征

,可以计算成对样本的相似度,然后得到样本
的ranking list
,随后按顺序排列。最后,如果
不在
的top-r nearest neighbor,我们可以认为是的一个负样本。更多的,因为hard negative对可以更有效的学习可分辨特征,作者只考虑了first(hardest) negative 候选样本,即
的ranking list中排第一,
却不在
的ranking list中。

966639fecd7acd160ed981741cdaf7d6.png

Hard negative samples有了,随后作者探讨了在一个mini-batch中挑选positive样本的问题。显然,当从数据集中随机挑选时,一个mini-batch很难有同样的id,即使它们互为neighbors。因此,参考了[Alexey Dosovitskiy, Jost Tobias Springenberg, Martin Ried-miller, and Thomas Brox. Discriminative unsupervised feature learning with convolutional neural networks. In NIPS, 2014.]的工作,作者定义了一系列random transformation来生成替代positive样本,包括crop,scaling,rotation,brightness,contrast和saturation。与Dosovitskiy的工作不同,作者在每个epoch,对每个anchor image的整个图像使用transformation来生成positive image。

ba83e1733057c006a170174c0cc3eef6.png

5、Training the PatchNet on Unlabeled Dataset

1e010664e54b188ba68d57bf9714273e.png

四、Experiments and Analysis

1、数据集:

在公认的market和duke上做

2、实现细节:

暂略

3、实验结果:

6765c5b9675845dea01f7e01ac03757e.png

e9e463d9ea05ff8605e14655bf39734c.png

可以看出,在完全无监督的情况下,获得了比UDA更高的结果,基本可以判UDA死刑了。当然,该方法比UDA复杂的多,远没有UDA的简单直接,这些挖掘信息的方法如果应用到UDA可能有更好的效果。值得注意的是,根据常识,无论是有监督学习还是UDA,market数据集上的效果都高于duke,然而在本文中duke效果远高于market,这或许说明了尽管duke数据集更为复杂,但同时也有更高的复杂度和信息量来供给无监督学习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值