Batch DropBlock Network for Person Re-identification and Beyond论文阅读

动机:

依旧是一篇基于part-based的re-id论文,但与其他相比不同的是,这篇文章没有正面提取local 信息,而是从侧面通过结合随机mask有效信息强化对local特征的学习。

创新:

  • Batch DropBlock,这个思路和Random Erasing如出一辙,只不过Random Erasing在图像层面,而Batch DropBlock在特征层面。既然原理相似,那只要把Random Erasing对于图片层面的说辞换成特征层面就行了。
  • Batch DropBlock, 顾名思义, 就是对一个batch的特征加入DropBlock。DropBlock是Google之前提出的Dropout系列的一个正则化的模块,这个在SONA网络中有用到。
    这样一个batch的所有特征的同一区域都加入了mask对于这几个Drop操作,作者也很贴心画了图,一目了然:
    Batch DropBlock Network for Person Re-identification and Beyond论文阅读
  • 作者举了一个例子也很好,如果对一个batch内的样本的特征随机打mask,如果anchor和neg样本头部打了mask,pos样本在脚打了mask,那么在Triplet loss的时候,损失函数将无法将这些local特征一一对应。
    Batch DropBlock Network for Person Re-identification and Beyond论文阅读
  • 参数设置,rh=0.3,rw=1.0r_{h} = 0.3, r_{w} = 1.0,即纵向占比0.3,横向占比为1,至于位置则是随机的。

框架:

Batch DropBlock Network for Person Re-identification and Beyond论文阅读

  1. 框架结构:单一分支
  2. 特征:使用Global Max Pooling和Global Average Polling后的特征进行学习。其中,Global Max Pooling的特征加入了Batch DropBlock模块,期望可以更好学习到local特征。
  3. 损失函数:CE loss+ BH triplet loss
  4. backbone:resnet50 使用last-stride = 1

实验:

Batch DropBlock Network for Person Re-identification and Beyond论文阅读
这个实验对比了cutout和random erasing对于结果的提升,看样子cutout要优于random erasing。
之前我也以为这两个方法是一样的,只不过叫法不同,查资料后原来还是有差别的。

方法 cutout random erasing
选择区域大小 固定 随机
填充像素 0(可理解为"裁掉") 图像平均值/随机点

Batch DropBlock Network for Person Re-identification and Beyond论文阅读
在除了market上的结果都很好。

疑惑:

我的疑问在RE,Cutout的对比试验,如果作者不使用cutout而使用BDB+RE,那不就是可以理解为是Bag of trick的baseline+Batch DropBlock分支。但是加入后market上效果从94.5掉到了94.4,这样看样子效果甚至不如不加。转念一想,那这篇文章的亮点我感觉是cutout而不是DropBlock啊。。。