【CVPR 2016】Weakly Supervised Deep Detection Networks

【CVPR 2016】WSDDN

结构

先学习一下SPP(spatial pyramid pooling),如下图所示,在R-CNN中,进入卷积层之前必须对图片进行crop或者warp以保证大小相同(因为有全连接层),但是这样不仅会影响识别精度,而且检测的速度也很慢,因为原始图片经过crop或者warp后得到的图片会重复使用卷积网络计算feature maps,但是SPP只计算一次原始图像的feature maps,SPP主要的作用就是保证在进入全连接层前维度一致。
在这里插入图片描述
SPP论文(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(TPAMI2015))中还展现了经过卷积层后输出的特征图主要有两个信息:

  1. 对个别特征的响应强度
  2. 对应的空间位置

比如下图,filter#175对于四边形比较敏感,而filter#55对于圆形比较敏感。
在这里插入图片描述
SPP的模块如下图所示,这里的输入图像是经过SS后proposal regions
在这里插入图片描述SPP将feature maps分成 4 × 4 4\times4 2 × 2 2\times2 1 × 1 1\times1 三个level的bin,经过最大池化后将每层feature map就变成16,4,1三个level的特征向量。

接着再来看看WSDDN,整个网络如下所示,首先添加了SPP模块,并且结合region proposals机制,从而无论什么形状的proposals都能得到相同维度的输出。这里有两个问题,一是如何通过SSW(Selective Search Windows)或EB(Edge Boxes)获取proposal(这都是最开始的获取proposal的方法,之后的RPN会解放这些费时的操作)?二是如何将多个proposal拼接起来?
在这里插入图片描述

  • 如何通过SSW(IJCV2012)或EB(ECCV2014)获取proposal?

SSW
首先了解一下SSW,在训练分类器之前通常要把图片分成一些小的区域,并且一张图中包含的信息比较丰富,不同物体之间的不同之处也有很多,而不是仅仅靠纹理或者颜色,形状大小等而区分开,更何况物体之间也有层次关系。SSW主要包括两个方面,一个是Hierarchical Grouping Algorithm来获取bounding boxes,另一个是Diversification Strategies来计算相似度。
Hierarchical Grouping Algorithm
这里首先利用基于图的图像分割(论文代码下载地址)得到初始区域,然后两两计算邻近区域之间的相似度,将两个相似度最大的区域合并,并删去这两个区域,再计算合并区域和相邻区域的相似度,重复这些过程,最后就得到了每个区域的bounding boxes。
Diversification Strategies
该部分主要为了保证抽样的多样性,计算的正式上述过程的相似度,主要从颜色、纹理、尺度、形状四个角度来计算最终加权相似度。

EB
利用边缘信息确定bounding boxes包含的轮廓个数,并基于此对bounding boxes进行评分,进一步根据得分的高低确定最终的proposal。

  • 如何将多个proposal拼接起来?

加一个维度,类似于batchsize。

在加入了SSP后,引出了两个分支,一个负责分类,一个负责检测。如下图所示,对列进行softmax即 σ c l a s s \sigma_{class} 是得到每个proposal的类别概率,对行进行softmax即 σ d e t \sigma_{det} 是得到哪个proposal更有可能包含多个图像片段。
在这里插入图片描述
最后再对这两个矩阵按元素相乘,结果是region-level的结果,为了得到整个图片的image-level类预测的结果,按以下式子进行计算,其中 y c y_c R |R| 归一化了,这里并不用softmax是因为一张图会有多个类别的目标。
在这里插入图片描述

最后介绍以下损失函数:
在这里插入图片描述
除了上式,还有Spatial Regulariser,为了精确的定位,不同于fast R-CNN(会选择与gt boxes的交并比大于50%的proposal作为正样本并回归它们的坐标),WSDDN中没有gt boxes,所以采用了如下软正则策略来训练与最高分的proposal有至少60%的IOU的proposal,因为如果某个proposal在类别中获得高分,则与其具有高重合度的相邻proposal也将具有高分,公式如下式所示,其中 N k + N^+_k 是类别 k k 的正样本(即包含这个类别的图片个数), * 是第 i i 个正样本图片第 k k 类最高分数的proposal(并且其他的proposal和这个最高分数的proposal的交并比大于60%),但是为什么选fc7作者没有说:
在这里插入图片描述

测试
网络输出图片x的各个proposal属于各类的分数(region-level),以及图片x的各个类别的分数(image-level),根据合适的阈值在y_c里面选取靠前的几个类别,然后对于每一个类别,将proposal排序进行nms操作。

实验

评价指标

  1. AP
  2. CorLoc:即某个类别的correct localization,以IOU>0.5为标准,正确定位的图像数量占总共的图像数量的百分比,如何算是正确定位?某张图片至少有1个该类别的实例,并且每个实例和其中置信度最高的IOU超过0.5。

在这里插入图片描述
在这里插入图片描述

发布了86 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_36530992/article/details/104252118