[读paper]CVPR18-对行人重识别数据集打标过程的探索

2018-11-08  本文已影响0人  北小卡

Paper

Exploiting Transitivity for Learning Person Re-identification Models on a Budget
作者:Sourya Roy其相关课题组自我介绍

Motivation

以下为个人解读的角度

TLNR

为了更好地传播关系,作者先把图片抽取特征计算两两之间的相似度,然后在此基础上提出两个办法:

  1. 贪婪的算法:把这些边排序,每次选择相似度最大的边,并且这些边不能组成一个三角形。这样取B条边进行人工打标,之后关系传播到整个大图。
  2. \frac{1}{2}-\text{approximation}算法(Max-Cut的思想):由于对图的边一大刀切过去后,得到的是一个无三角形图,但是Max-Cut是NP-hard的,所以采用\frac{1}{2}-Max-Cut的办法。具体做法就是,先对top-B条边和所有顶点组成图,再采用图的\frac{1}{2}-Max-Cut的办法,取出切到的边,然后对这些边进行人工打标,进而在传播关系到整个大图。

总之,作者认为为了更好地传播关系 \thickapprox 一个无三角形子图+最大概率为正样本的边 \thickapprox 一个无三角形子图+相似度最大的边

名词解释(可先跳过)

  1. 无三角形图(Triangle-free graph):如果在无向图中,没有三个顶点能组成三角形,这样的图称为无三角形图。
  1. 最大割(Max-Cut):把图中点分为两部分V1和V2,使得V1和V2之间的连边值最大。

算法介绍

  1. 贪婪算法(虽然作者把这个算法放在第二位介绍

这里的B为人工打标的数量限制;这里的Extract-Max(Q)就是每次在图中去除相似度最高的边。第6步为每次都检查是否构成个无三角形图。
时间复杂度分析:第4步需要O ( | E | ),第6步如果没设计一个好的结构来查询的话,需要O ( | E | ),那么总体需要O(|E|^2),但是设计一个好结构的话,总体可以降为O ( | E | ^\frac{3}{2}log|V|)甚至O ( | E | ^\frac{3}{2})
(排序时间,可以在循坏外面先排好)

  1. \frac{1}{2}-\text{approximation}算法(Max-Cut的思想)(作者把这个算法放在第一位介绍

首先,作者说这个想法来源于观察到如果对一个图切一刀,那么这一刀切过的边组成的图就便组成了一个无三角形图。这刚好是作者想要的,现在就是要这些边的权重和最大,即Max-Cut。然而Max-Cut是NP-hard,所以采用确定的\frac{1}{2}-\text{approximation}算法。

同样,这里的B为人工打标的数量限制,然后先取top-B条相似度最高的组成一个图(那没有组成一个图的话,可能这条边就放弃重选?)。
之后对这个图用\frac{1}{2}-\text{approximation}算法便取得又可以组成非三角形图,然后权重和又比较大的图。并且对于这个权重和较大,作者还给出简略证明这个权重和是比\frac{1}{2}最优最大的权重和要大的。具体请看论文
时间复杂度分析:第2步排序时间为O ( | E | log|E|),第4步为O(|E|),总时间复杂度为O ( | E | log|E|)

Experiments

  1. 对于实验的大图的每个点(即每个人)抽取29600维的LOMO特征。

LOMO(Local Maximal Occurrence Feature)为2015年提出的传统抽特征的方式。在光照(illumination)问题上采用了一个Retinex算子解决,对多角度(multi-viewpoint)的问题采用了滑窗口的方式水平抽取特征,之后对一个水平上的特征取响应度最大的,然后还针对多尺寸的问题,把图片缩小一定比例后同样进行上面的特征抽取。

  1. 对于实验的度量学习,即把特征映射到同一个更加容易区分的空间上,采用的是KISS的方法。

KISSME(Keep It Simple and Straight Metric)为2014年提出的,主要是让模型自动学习映射的参数。

  1. 对于实验的相似度度量,采用的是欧式距离。
  1. Baseline方法就是取相似度top-B的边,人工打标,然后传播关系。

  2. 两个细节:
    (1) 在选择无三角形图的时候,因为极有可能选择的两条边最后人工打标之后关系都是负,这样关系就不能传达到第三条边了。所以作者在选择的时候只是选择pB(0<p<1),实验中p为0.7。然后到最后把剩下的0.3B的边全部加入。
    所以其实选的的子图,只是一个不太严格的无三角形图
    (2) 百分比的计算公式,在实验中会提及,如下:
    \text { Total Labels in } \% = \frac { \# \text { Inferred labels } + \# \text { Manual labels } } { \# \text { Total pairs } } * 100
    \text { +ve Labels in } \% = \frac { \# \text {+ve pairs in (Manual + Inferred) labels } } { \# \text { +ve pairs in the datasets} } * 100
    \text{+ve} 表示正样本,即同一个人。

  3. 数据集
    WARD,RAiD,Market-1501。由于除了Market-1501外,其他数据集比较小,所以我们这里就只关注Market-1501的表现效果,其他数据集的实验效果读者请前往paper

WARD:2012年发布。包括3个摄像头,训练加测试总共70个人,图片数总共4786张。
RAiD:2014年发布。包括4个摄像头,训练加测试总共43个人,图片数总共6920张。
Market-1501:2015年发布。包括6个摄像头,训练加测试总共1501个人,图片数总共32,668张。

  1. 实验效果

(1) 对于Market数据集,需要20%的数据量。我们这里与上面进行对比,会发现从8%的打标量升到20%的打标量,正样本关系其实提升的并不是很大,\thicksim2%,但是总体打标量会提高一些,\thicksim7%-10%。所以其实这个打标过程,可能超过一定阈值的话,就是一直在标注负样本的关系了。
(2) 这对大型数据集标注来说,算是一个福音。超过一定阈值,发现关系传播的不大的话,其实可以简单粗暴的把剩下的关系都标为负样本的关系吧~

图a为采用8% labels的效果,主要看rank-1,发现本文提的两个算法的效果与Full set的效果差不多,\thicksim33%。Baseline会差一些。
图b为采用3% labels的效果,rank-1差\thicksim2%,Baseline差\thicksim3%。
图c为打标数量和效果的图。会发现是存在转折点和慢慢饱和区的,跟上面我们的理解类似。
疑惑:但是我们不知道作者对于那些传播后还不能确定的关系是怎么设定的呢?是直接把剩下的关系设为负样本,然后投入训练吗?
然后作者也比较了本文提出的两种算法的实际时间:

贪婪算法是比较慢的。

Conclusion

上一篇 下一篇

猜你喜欢

热点阅读