Rethinking Classification and Localization for Object Detection
提出问题
- 在目标检测开始以来。
目前所有的分类器都是将Classification划分为分类任务并且使用卷积对类别进行评分(刚开始是使用svm到后来的全连接,最后流行全卷积)。将定位任务(bbox)当作回归任务,使用全连接层给出(也流行使用卷积直接给出位置)。作者疑问全连接和卷积对于这2个任务的适配性,开展了研究。
实验1:分析卷积(conv)和全连接(fc)对任务的适配性
实验准备
- 首先对每个正样本都进行操作。对正样本附近的区域进行裁剪,作为proposal。裁剪的规则为:按照IOU的范围[0, 1]对原本的每个正样本裁剪出14000份。
- 对这些样本进行分组, 一共分为20组(按照IOU的范围,平均分配),作为画图的检查点。
实验过程
- 对这些候选框进行分类和回归,得到每个候选框的类别评分平均值和方差。绘制图如下
数据分析
- 上图可以很明显的看出无论是在大目标,中等目标或者小目标, 在分类方面, 当IOU较大时, fc(图中红色)得到的分值平均数比conv(图中蓝色)大。而在bbox回归方面则呈现出相反的情况。这样的发现正和流行的做法(用fc回归bbox,用conv分类)相反。为了显示出二者分别对2个任务的相关性,作者绘制了PPC图,对二者的相关性理性分析。从下图可以清楚的看出, 二者分别适用于那种任务。(PPC, Pearson correlation coefficient, 皮尔森相关系数, 用来表示2个变量之间的相关性。 下图的2个变量是IOU和分类得分)。
- Note: 下图(左)数据来自于实验一手动裁剪的候选框。另一个(右)来自于FPN候选框提取网络提取出的候选框。
实验二:fc和conv的空间敏感性研究
实验过程
- 首先对于conv。conv输出特征图为7x7, 对于这7x7的网格,作者计算每一个网格张量对于其它网格张量的余弦距离(向量的乘积除以向量的模长)。将所得值绘制在图中(左)。
- 对于fc。由于fc输出的是一位张量1024,没有空间相关性。为了解决这个问题, 作者对fc的权重进行裁剪。以输入特征图维度为256x7x7为例, 经过全连接层输出的维度为1024, 那么全连接层的参数为256x7x7x1024, 那么对于每个7x7网格都相当于拥有256x1024的张量。所以对他们计算余弦距离。(论文中还是没有指明怎么进行裁剪的。 按照我的理解, 全连接层的每个输出都要和输入特征图的全部特征进行连接, 按照作者这样子划分我觉得没有意义,这样不是失去了全连接的特点了嘛。。。)(中)
- 作者还对全连接层的权重进行了相同的操作。和fc相同。(右)
-`
`
实验结果分析
- 上图可能有点模糊,看不到详细细节我把每幅图放大,查看单个格子的细节。
图1 conv
|
图2 fc
|
图3 fc weight
|
- 可以看出在每一个图中,都存在有一个最红的点(自己), 表明他们最相关。 而其他的点和他的相关性则都被容纳在这7x7的网格中了。 也即, 对于每一个7x7的点, 计算它对于其他的点的余弦距离。将结果绘制在如上图的一个小格子中, 这每个小格子代表了他们之间相关性的值。
- fc的相关性最差(其他的张量对他的余弦距离最小), 那么它对于空间敏感性就最强。 作者所说, 空间敏感性越强那么他就越容易分辨出混在一起的样本。相反, 越强就越适合回归任务。
提出网络结构
- 由上述观察, 很容易提出新颖的网络结构(下图)。对于每个ROI使用卷积进行回归, 使用全连接进行回归。
` - 为了引入回归和分类之间的相互监督, 基于上图提出了一个更新颖的结构。
` - 在回归和分类的最后将他们连接起来(仅仅连接分类预测)。 没有连接的输出作为辅助监督, 只用于计算损失而不在推理中扮演角色。
损失函数
- 损失函数的设计就比较常规了, 将FPN, bbox, classification这几部分的损失加权相加, 作为优化。
模型表现