SABL:侧面边框定位的目标检测
论文题目:Side-Aware Boundary Localization for More Precise Object Detection
亮点:
- 通过特征图内容的边界信息来进行定位bbox的边框,取代了之前通过中心点加anchor滑窗的方式,得到更高质量的bbox边界信息.
- 通过rescore的方式,提高高质量边框的分类分数
解决的问题:
主流的边框生成方法都是通过预测中心点以及中心偏移的offset来得到
边框或者proposal信息.
然而这样并不能很好地提高定位精度.
而在本文中,目标框的生成直接从特征图的边框开始关注;
简单来说,本文的步骤
- 将目标空间分为多个桶区域(buckets)
- 先确定其边框在哪个buckets上
- 然后再回归其边框线离bucket中心点的offset.这样通过四个边框的精准回归来得到高质量边框坐标信息.
其主要流程如图所示:
通过三个模块来实现该idea:
- Side-Aware Feature Extraction
- Boundary Localization with Bucketing
- Feature-Aligned Refinement
Side-Aware Feature Extraction
该模块主要用于将RPN抽取的特征图(roi features),沿着X、Y轴方向进行分解,然后再进过upsample后分离出四个方向(、、、)的特征图;
其示意图如下所示:
(论文中用k=7做说明)
(1) 首先, rpn网络送进来的proposal首先经过ROIAlign得到 ROI特征图.
(2) 该ROI特征图首先经过两个3*3的卷积,得到特征输出
(3) 为了更好地获取roi区域的特定方向信息,作者采用了self-attention机制来增强roi,具体操作是:
将特征图经由两个1*1的卷积进行self-attention信息抽取,得到通道信息融合后的两个7*7的attention-map(,)
然后将原来的 与 两个方向上的attention-map进行aggregate操作,得到X,Y轴上的特征图;
(4) 和 都是一维向量(1*k) or (k * 1) ,然后经过1*3的卷积或者3*1的卷积,再经过upsample * 2 后,得到 1*2k,或者2k*1,这样就能各自分离出4个方向的feature(、、、)
其亮点:
- self-attention的引用
- 分离后继续upsample操作;
Boundary Localization with Bucketing
给定一个proposal box(),将边框放大倍,以便能覆盖整个物体;
候选区域(特征图)上划分2*k个buckets区域,每个边界中心线与一个bucket对应.每个bucket的宽度为:
采取二分类的形式,来觉得bbox的边框与哪个bucket最接近.(训练时候把每边中心线最接近gt的bucket作为正样本(1),其他标记为0 负样本来训练)
这样得到边框的粗略估计(coarse estimation),图中橙色虚线框所组成的边框;
还需要对边框进行更精准的回归定位;
localization targets
为了提高精细回归分支的稳健性,作者同时包含了最近的(在粗略估计步骤中标记为“正”)存储桶和第二个最近的(在粗略估计步骤中标记为“忽略”)存储桶来训练回归器。回归目标是铲斗中心线和相应的地面真相边界之间的位移。
(就是top2 bucket在粗略估计分支中作为负样本,top1 bucket 仅提供一个更精准的proposal来使用.但是在精准回归分支的时候,同时选用top1 top2的两个offset,以更精准地定位)
Bucketing-guided rescoring
前面都通过bucket机制得到更精准的bbox location了,当然不能因为这些边框的score太低而 被nms掉了.
所以一个简单地想法就是要提高这些高质量框的分数.(分类分数会乘上一个边框系数,得到最终的分数作为nms)
Feature-Align Refinement
简单来说,就是一个特征重用的模块,其目的在于减少计算量;
对于Side-Aware Feature Extraction 模块抽取的特征.通过线性插值的方式得到位置对齐特征.然后进行位置回归.
one-stage detector的应用:
SABL作为一个边框回归定位模块,也适用于one-stage的检测器;
如图所示:
将抽取的特征作为两部分:
- box subnet 采取SABL的方式抽取bbox边框信息;
- class subnet 获取label信息;
实验对比
作为一个更精准的边框回归模块,SABL实验效果还是很漂亮的;
速度提升了,效果还涨了1-2个map点;
代码部分
(作者说开源在mmdetection上,至今2020/3/12 还在)
总结
其亮点在于
- 先关注边框边界的方式来精准回归 bbox 的location,算是另一种anchor-free的方式把(如果不用rpn的话).比中心点+anchor的方式能更好地定位精准边框
与其他对比:
- fcos通过特征图逐像素点回归四个边界的offset方式来得到bbox location,然后通过 center-ness来抑制低质量框
- (two-stage系列) rpn 网络通过中心点滑窗+anchor的方式生成proposal 再通过多阶段地边框回归来得到更精准的bbox location
- reppoint 通过dcn卷积的方式,得到k个点代表了其object的 边缘信息,再转化成bbox 矩形框的方式得到bbox location
reference
- Wang J, Zhang W, Cao Y, et al. Side-Aware Boundary Localization for More Precise Object Detection[J]. arXiv preprint arXiv:1912.04260, 2019.