【xNets】MatrixNets: A New Scale and Aspect Ratio Aware Architecture for Object Detection
概述
-
针对问题
- 目标的尺度问题
-
采用的方法
- 主干结构上的修改,可以说是FPN上的一种改进方案吧
-
Contributions(个人总结)
- 主要用来去增强一阶段网络,特别是对于非
anchor-based
的 - 同时,也可以将此主干用到各大检测网络中,可以泛化
- 主要用来去增强一阶段网络,特别是对于非
-
结果如何
- MS COCO dataset : mAP 47.8, higher than CornerNet by +5.6 mAP
Introduce
文章还是将网络按照一般分法分为一阶段和二阶段。但是呢,文章又将一阶段分为anchor-based detectors
以及corner(or key-points) based detectors
,一般我们是把anchor-based
和anchor-free
放在对立面,不过corner(or key-points) based detector和anchor-free在很大程度上是一类的。
-
anchor-based detector
:通常对每个anchor预测offsets以及classes -
corner(or key-points) based detector
:预测左上点和右下点的heat-maps
,最后使用feature emmbedding
来匹配这两类点(给出属于这类的有CornetNet
和Centernet(Huawei Noah’s Ark Lab、Oxford)
)
针对尺度问题来探讨解决方案:
- 目标的不同尺度给检测带来问题——FPN可以带来很大的增益
- 其中仍然有一些FPN解决不了的目标,如:high tower, giraffe, knife ——本文要更进一步去缓解这些尺度问题
- 下图是对coco的目标的长宽比的统计——提出本文矩阵网络主干。
MatrixNets
结构
具体的结构设计如下(做法倒是超级直接):
- 对角线上就是原来的
FPN layers
- 另外的部分就是由
FPN layers
通过downsample扩充过去的(以下的共享
3x3表示的范围是单个三角的部分三角呢还是两个三角的全局范围,)-
width
(下三角部分)由共享的3x3 conv 跨着1x2的步子对FPN layers
进行操作得来的 -
height
(上三角部分)由共享的3x3 conv跨着2x1的步子对FPN layers
进行操作得来的
-
- layer所表达的pixel大小的变化为:
- 如的,那么的
Advantages of MatrixNets
- 本文diss:以往传统的w,h相同的conv kernel是反直觉的,因为不同尺度和不同长宽比率的boxes需要不同的上下文信息。(觉得这个,嗯,有点强行)
- 所以,在MatrixNets里,conv kernel可以用来检测不同尺度的不同长宽比率的boxes,而且因为不同的metrix layer带有不同的上下文。
- 可以作为主干用到任意的目标检测结构中,不论是
anchor-based or keypoints-based
,还是说one-stage or two-stage
Applications
- Center-based Object Detection
- ground-truth根据长宽来分配到不同的matrix layer上
- ground-truth根据长宽来分配到不同的matrix layer上
- Corner-based Object Detection(CornerNet)
- 使用MatrixNets可以确保层内对象所需要的上下文受到该层单个特征图的接受域限制,可以舍去corner pool,使用常规卷积
Experiments
- center-based方式和corner-based方式对比
- 在COCO test-dev2017数据集上跟其他的detectors的结果对比
- 消融实验
- 效果图