Eliminating Background-bias for Robust Person Re-identification学习笔记

我是一个期待骚操作的人,可能写博客正好满足了我的这种需求,所以我竟然坚持了很久,让自己都会有点意外。

今天学习的这篇论文叫“为了更加鲁棒的ReID系统消除背景偏置带来的影响”。

直观的先给大家看看背景带来的影响:第一张图是原图,第二张图排序是对的,他和第一张图是相似的,但是第三张图和第四张图的排序却出现了错误,这里将同一背景下的不同人与不同背景下的同一人发生了排序混淆,说明背景的存在对于ReID是存在影响的。所以作者提出要消除ReID问题中背景的影响。

人们在针对ReID的问题的时候,通常会先将人像转化为特征向量,然后通过计算特征向量之间的距离来获得两张图片的相似度。但是这样做存在一些问题:1)现有的方法通常是将整张图像输入,并且认为所有的像素拥有相同的影响。但是这么做会引入背景噪声。2)现存的数据集通常是在少有的几个摄像头下进行的数据采集,背景固定,缺乏广泛性 3)缺少一种针对于固定人像区域的提取机制

针对上文问题,文中提出了deep human parsing network用来进行背景和前景分离,此外还基于分离网络提出了深度网络用于ReLD。

我认为文中所做出的主要工作有两个,一个是关于背景对于模型性能的影响,另一个是基于分离网络的模型

一)背景对于模型性能的影响

首先作者基于CUHK03  ,Market-1501这两个数据集自己造出了四种不同的数据集,生成数据集是基于参考文献四中的人像分割模型。四种新的数据集展示如下:a就是没有经过任何变化的原图;b是对背景进行平均值处理;c是对背景进行随机值处理;d是对前景进行均值处理。

然后作者进行了一大堆的实验,实验结果完整的如下图所示:

在上图a中,我们可以看出这个实验是利用原始数据进行训练,分别用所有的数据集进行测试的结果展示,左右两边分别是在CUHK03 和Market-1501这两个数据集上的表现。我们可以看到,尽管mean-backgroud和random-background这两种与原始图像有着相同的前景,但是top1的正确率却同时发生了一个较大的下滑,由此我们可以得出这样的结论,尽管在original数据上获得了较高的准确性,但是他的这个判断依据,有一部分可能是由于相同的背景,误打误撞判断出来的,如果换一组不同背景的图像,也许就会发现这个模型的适应性很差。

同时我们再次把注意力放到C的这组图像上来,我们发现这个用mean-background数据训练出来的模型,在各项数据上测试出来的top1准确度相比于a中的数据都有一部分的下滑,但是这部分下滑是可以理解的,因为可以判断的特征只剩下前景了,所以肯定会造成模型的准确度变化,但是对于这个模型,即使换一组不同背景的输入,模型的性能也不会发生太大的变化,模型用一点准确性的牺牲换来了在所有数据集上的鲁棒性。关于这个表格就将这两个例子,剩下的有兴趣的可以参考我的讲解自己继续分析。

此外通过只通过背景训练模型,我们可以发现在original以及其他几个数据及上都获得了随机猜测要高得多的正确率,这也就证实了作者的猜想,在这几个数据集中,由于背景的相似性,通常会对模型造成一定的倾向影响。

二)模型中提出的框架

为了解决上述问题,文中作者提出了一个深度框架包含了三个部分(the whole-person main network,the person parsing network,the person-region guided pooling sub-network),并且同时还提出了一中新的数据增广的手段。

2.1模型

whole-person main network:这个模型是用来捕获人像的总体特征的,输入图像大小是96*96*3,首先是经过3个卷积核5*5,步长为2的卷积层,然后经过一个2*2的最大池化层,到这里输出的大小为64*48*48,之后会经过三个inception层,他们每个都包含两个模块,并且将分辨率降低一半。最后是一个6*6的均值池化层,输出一个256维的特征向量。

 person-region parsing network:这部分对应每张输出图片产生相应的区域分解图。每个人被分为三部分,头上半身和下半身。然后每个特征图被转化为一个二值分割掩码用来指导对于特征图的池化,之后各个部分首先下采样,再inception1输入过来的特征图进行像素操作。person-region parsing network的效果图可以如下图所示:

The person-region guided pooling sub-network:这部分网络负责将parsing网络传输过来的三个图像转化为相应的256维的特征向量。这部分网络拥有与main network自inception2后面完全相同的结构,但是三个分支的参数完全不同,因为他们对应的十三个不同部分的部分。这三个分支最后都会输出一个256维的特征向量。

最后这三个分支的256维向量,与主网络的256维向量,汇集到一起,通过一个全连接层生成了最后的256维特征向量。通过这种方法,最后的特征向量中包含了整体信息以及局部信息。最后整个模型通过cross-entropy来训练

2.2数据增广方式

但是上述的模型只是讲了本文的方法,还是没有最直接的面对本文中的背景bias。最后解决这个问题的办法是,通过随机背景的方式对数据进行增广。

过程如下采用的是online数据增广,并且设定一个超参数p用来表示将原始背景更换为随机背景的概率。对于一个输入,首先通过分离网络生成他的掩图,然后在训练过程中,如果确定要更换背景,就会从真实场景中采集的一百个背景库中随机选取一张,并且随机选取一个区域进行替换,最后的输出图像还可以表示为这样的公式:

如果不替换,就输入原图片。

PS 有朋友看到这里可能会问了,online的数据增广,那么有offline的数据增广嘛

有固定按照例如1比1的比例进行数据替换,这就是offline的替换方式,那么效果如何呢,看表:

今天的介绍到这里结束了,有兴趣的同学欢迎交流。

猜你喜欢

转载自blog.csdn.net/weixin_40955254/article/details/81086803