论文笔记之---Faster R-CNN Features for Instance Search

来源:互联网 发布:什么是数据共享 编辑:程序博客网 时间:2024/06/05 13:29
Abstract

来源于预先训练好的CNN的图像表示已经成为了CV领域一种新方法,比如实例检索。文中利用RPN网络学得的候选物体以及它们相关的CNN特征来建立了一种实例搜寻的渠道,它的第一部分是滤波阶段,紧接着是空间重排序;当对用来检索某人想要的同一物体的网络微调好时,我们便可以进一步研究Faster R-CNN特征的合适性。文中使用Oxford Buildings 5k,Paris Buildings 6k以及TRECVid的子集来对所提出模型进行评估并达到了有竞争力的效果。

Introduction
本文解决了实例搜寻的问题,可以理解为:从图片库中检索那些包含有所需物体的图片。利用大量数据训练的CNN所学得的特征表示具有很好的普遍性,甚至对于那些非训练集也是如此。特别是图像检索。
一般来说,实例搜寻系统的第一阶段是fast first filtering,这一阶段中所有图像根据它们与所需查询的物体的相似性进行排序,并且对于那些 top retrieved items会使用非常耗费时间的机制。几何上的认证和空间分析是常用的重排序算法,这些策略之后,通常紧跟着的是query expansion(查询展开?)。
空间重排序通常是在一幅图片上使用不同尺寸和不同长宽比的滑动窗口,随后将每个窗口与所需检索物体相比较,得到包含检索物体的最佳窗口位置。但是这种方法计算量很大。
相比以上的方法,CNN物体检测法则提升了一个高度,它不再需要对每个滑动窗和object proposals进行耗时的计算。相反较为先进的 detection CNNs以端对端(end-to-end)的模式进行训练,能够同时得到物体的位置和相应的标签。

文章同时探索了现成特征(off-the-shelf features),以及微调特征(fine-tuned features)。文中主要的贡献如下:
1.在图像进行单次前向传递过程中,我们提出使用预先训练好的CNN进行物体检测,来提取出全局特征和局部特征。
2.探索出一种简单的空间重排序策略,这种策略利用RPN网络得到的位置信息,对排序好的图片中的top retrieved images进行大致定位。
3.分析了对于相同的物体,微调object detection CNN所产生的影响。我们发现这个策略对于想要得到更好的image representations是有比较有用的。
下图反映了文中提出的检索系统所得出的图片排名:
(注:该图中最左侧一列(位于蓝色方框内的图片)的图片代表 query objects,右侧是rankings)

Related Work
CNNs for Instance Search
(前几段主要列举了一些前人研究的实例搜寻方法)
虽然文中的模型与先前一些研究有相似之处,但是该模型使用的是较为先进的object detection CNN,在单次前向传播时能够一并提取了image-based和region-based的卷积特征。

Object Detection CNNs
介绍了用于物体检测的CNN发展历程:
R-CNN(利用候选物体算法代替整张图片)
SPP-NET(利用空间金字塔)
Fast R-CNN(SVM和box regression被端对端方法代替。)
Faster R-CNN(通过引入RPN,去除了候选物体对前面CNN系统的依赖性)
本文使用的是Faster R-CNN。

Methodology
CNN-based Representations
1.利用事先训练好的Faster R-CNN模型,将其作为一种同时提取全局、局部尺度特征的特征提取器。与其他相关研究类似,我们的目标就是为了提取建立在卷积层激活值基础上,一种简洁的图片表示。
2.IPA(Image-wise pooling of activations):可以忽视网络中除了最后一层用于提取特征的卷积层之外的所有层。假定卷积层的激活值之后,聚集每个滤波器对应所有的激活值,来建立一个以卷积层滤波器个数来作为其维度的image descriptor。在后面的内容中会比较maxpooling和sumpooling的效果。
RPA(Region-wise pooling of activations):Faster R-CNN使用了一个region pooling层,提取由RPN得到的每个object proposal的卷积激活值。在这种方式下,对于每个window proposal,通过聚集window proposal在RoI层所对应的所有激活值,从而组成 region-wise descriptors。(如下图)
前文提到的sum-pooled特征是L2正则化的,之后进行白化以及第二轮的L2正则化;而max-pooled特征则是只需一次L2正则化且不需要白化操作。

Fine-tuning Faster R-CNN
微调Faster R-CNN的目的:得到更好的图像检索的特征表示,以及提高空间分析和重排序的能力。因此我们修改Faster R-CNN的结构,从而输出经过回归后的bounding box的坐标和测试数据中所需检索的物体对于不同类别的得分。
Fine-tuning的两种方式:
#1.仅更新classification branch的全连接层权重(也就是说卷积层和RPN层不变)
#2.在最初两个卷积层之后的所有层的权重都被更新。这种情况下,卷积特征, RPN proposals和全连接层将都被修改以适用要查询的实物。
经过fune-tuned之后的网络能够提取更好地对image和region进行表征,并基于类别得分而不是特征相似度进行空间重排序。

Image Retrieval
分为三个步骤:
1.Filtering Stage:IPA策略为须要检索的图片和数据集中的图片都建立了图片描述器。在测试过程中,需要检索图像的描述器与数据集中的所有经过排序的图片进行比较。这个阶段,整张图片被认为是query。
2.Spatial Reranking:经过Filtering Stage,相似度最高的N张图片将被进行局部分析和重排序。重排序的两种方法如下:
1) 未知类别空间排序(Class-Agnostic Spatial Reranking):假设类别不可知,每一张属于topN的图片中所有RPN proposals和query bounding box中的region descriptor作比较,top N ranking中一张图的某个region如果拥有与query object最大的余弦相似度,那么该region就给出了物体的位置,并且它的得分被保留继续用作ranking。
2)特定类别排序(Class-Specific Spatial Reranking):使用一个已经被微调好的网络,对于每个RPN proposal,直接使用其分类得分作为与query object比较后的相似度得分。
3.Query Expasion (QE):将ranking中topM个 image descriptors与query descriptor进行平均来执行新的研究。

Experiments
Datasets:Oxfording Buildings,Paris Buildings,INS 2013

Experimental Setup:使用VGG16和ZF模型来提取图像特征和区域特征。两种模型中都使用最后一个卷积层来建立图片描述器(ZF的是256维,VGG16的是512维)。RoI pooling层则可以取得区域特征。图片经过re-scaled。

Off-the-shelf Faster R-CNN features:对了比sum和max pooling在图片检索中的效果差异,以及不同Faster R-CNN结构(ZF和VGG16)的差异,如图:


结论:
a)在filtering阶段,sumpooling的效果比maxpooling更为显著
b)当使用region-wise特征进行重排序时,maxpooling的效果比sumpooling更好。
c)maxpooling得到的物体位置比sumpooling更精确。
d)在测试数据中,spatial reranking后面使用Query expansion得到了更好的增益。

Fine-tuning Faster R-CNN
文中选择对VGG16 Faster R-CNN模型进行微调。利用方法#1和方法#2分别进行微调后的结果如下:

与目前较为先进方法的对比图如下:


具体细节还需要仔细阅读原文。




0 0