Wu Y, Chen Y, Yuan L, et al. Rethinking classification and localization for object detection[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020: 10186-10195.
https://openaccess.thecvf.com/content_CVPR_2020/papers/Wu_Rethinking_Classification_and_Localization_for_Object_Detection_CVPR_2020_paper.pdf
CVPR-2020
文章目录
1、Background and Motivation
R-CNN 目标检测框架的头部结构中,full connection 和 full convolution 被广泛应用于分类和回归任务
However, there is a lack of understanding of how does these two head structures work for these two tasks.
作者实验分析了两种头部结构的优缺点,结合两种结构的优点,提出了 double head 结构,涨点明显
2、Related Work
One-stage Object Detectors
Two-stage Object Detectors
Backbone Networks
Detection Heads
3、Advantages / Contributions
基于 R-CNN 二阶段的目标检测框架,分析了全卷积头和全连接头的优缺点,结合两者的长处提出 double head,COCO 上提涨点明显
4、Method
4.1、Analysis: Comparison between fc-head and conv-head
(1)Data Processing for Analysis
公平起见,作者没有采用训练好的RPN产生RoI,而是通过在ground-truth box 周围滑动窗口(sliding window)来生成大小和交并比都不同的proppsals。然后比较在相同交并比的情况下,fc-head 和 conv-head 在classification 任务上的精度和 bbx regression 任务后的 IoU,以及相应的均值和标准差。
The predefined proposals include sliding windows around the ground truth box with different sizes
读第一遍的时候确实没有读出来 sliding window 的意思,看了同行的小伙伴解读才豁然开朗
(2)Comparison on Classification Task
图2,第一行是纵坐标是分类 score(得分应该是 train 出来的,不太清楚是 sliding window proposal 后只训头还是整体训完后替换 rpn 的 proposal),横坐标是 sliding window 的 proposal 和 GT 的 IoU
可以看到 fc-head 确实比 Conv-head 对位置更加敏感
classification score is more correlated to the intersection over union (IoU) between a proposal and its corresponding ground truth box
图 3 左图也能佐证这一点,皮尔逊系数的介绍看本文最后章节
图 3 右图没有用 sliding window 的 proposal,而是用 RPN 的 proposal(anchor + bbox regression),也看出同样的趋势
(3)Comparison on Localization Task
图 2 第二行,横坐标是 sliding window 的 proposal regression 后的 bbox 与 GT 的 IoU
实话说,区别不是很明显(蓝色比红色高了一点点)
作者还是给出了 conv-head has better regression ability than fc-head.
(4)Discussion
本文将特征层输出的7x7的feature map,以余弦距离计算其相似度,每一个feature point 都要与其他 48个计算相似度,所以一共 49 张小图,每一个有7x7的网格
确实可以看出,一个是 fc-head 对位置敏感,一个是 fc-head 可能更擅长物体部分区域的响应,而不是整体区域(可以理解为感受野有限吗?)
fc-head is better to distinguish between a complete object and part of an object (classification)
4.2、Our Approach: Double-Head
(1)Network Structure
基于 mask rcnn 框架
backbone 用的是 resnet50 or resnet101,配合 FPN(【FPN】《Feature Pyramid Networks for Object Detection》)
改进:引入了 non-local 模块(【NL】《Non-local Neural Networks》)
作者权衡速度和精度采用的是 3 residual blocks and 2 non-local blocks (K = 5 in the second group)
损失函数
也即头部的 loss 和 rpn 结构的 loss 的加权,分类用的是 cross entropy loss,回归用的是 Smooth-L1 loss
回顾一下 mask rcnn 的 RPN 细节
(2)Extension: Leveraging Unfocused Tasks
Ext 是 extension 的意思
unfocused task supervision
fc-head 和 conv-head 都有,然后两者的分类损失和回归损失加权在了一起
加权系数 λ f c \lambda^{fc} λfc 和 λ c o n v \lambda^{conv} λconv 均为 1 时,double-head-ext 就等价于 double head
作者仅融合了分类损失,没有融合回归损失,细节如下(Complementary Fusion of Classifiers)
s f c s^{fc} sfc 是 fc-head 的 classification score
s c o n v s^{conv} sconv 是 conv-head 的 classification score
5、Experimental Results
5.1、Datasets and Metrics
MS COCO2017
Pascal VOC07
AP
5.2、Ablation Study
Double-FC
Double-Conv
Double-Head
作者的方法Double-Head-Reverse
倒反天罡,fc for bbox regression,conv for classification
作者的 double-head 效果最好
single-conv 比 double-conv 的分类效果更好,所以作者在 double-conv 的基础上升级加权成了 double-conv-ext
sliding window analysis,double-fc 比 single-fc 要强一些的——有没有一种可能,是头部的参数量多了一些,网络的上限可以更高了
这里作者想说明,sharing two tasks in a single fully connected head (Single-FC) is not as good as separating them in two heads (Double-FC).
More training iterations,这个就有点赖皮了,万精油基本上是,不过参数量多了,确实可能要多训一些,2x有点太多了
Double-Head gains 0.6 AP (from 39.8 to 40.4)
Balance Weights λ f c \lambda ^{fc} λfc 和 λ c o n v \lambda ^{conv} λconv
这个应该是只训练了 double-head-ext,然后选择不同的 head,配合 λ \lambda λ 做的实验
还是作者的方法精度最高,实验做的无懈可击,哈哈,很完整
double-head-ext 看起来确实比 double-head 整体精度是要好
Fusion of Classifiers
这里实验的是 fc-head 和 conv-head 的 classification 的融合形式,作者融合的方法效果最好
5.3、Main Results
Comparison with Baselines on VOC07
Comparison with Baselines on COCO,table 5
Comparison with State-of-the-art on COCO,table 6
作者只比较 only has one training stage,抛开这个约束的话,slightly below Cascade RCNN (42.8 AP)
fc-head has more capability to distinguish a complete object from part of an object, but is not robust to regress the whole object.
5.4、APPENDIX
(1)Sliding Window Analysis on Different Difficulty Levels of Classes
classes 的难易程度怎么区分的呢?
rank all object classes based upon AP results of the FPN
确实 fc-head 有利于分类,这个信号特别明显
(2)Effect of Joint Training in Double-Head-Ext
还是在 classification 上信号特别明显,double-head-ext 冠绝全场
在 bbox regression 上并不是特别的明显
(3)Qualitative Analysis
d
inaccurate proposal
It is not suppressed by NMS
就会导致重复检测
6、Conclusion(own) / Future work / Reference
【论文笔记】Rethinking Classification and Localization for Object Detection
CVPR2020目标检测:Rethinking Classification and Localization for Object Detection
(fc-head) is more suitable for the classification task
convolution head (conv-head) is more suitable for the localization task
fc-head has more spatial sensitivity than conv-head
如何理解皮尔逊相关系数(Pearson Correlation Coefficient)? - 恒沙数’DataZen的回答 - 知乎
https://www.zhihu.com/question/19734616/answer/3544346892
文章没有将其扩展到单阶段检测上,以进一步验证其效果。
但由于输入到这两个分支的是同一个proposal ROI pooling之后的特征,所以分类和回归的冲突问题依然存在。
好像只 extend 了 classfication,没有 extend regression
实验用的是 sliding window proposal 替代了 rpn proposal(rpn 的结果)