原作者:Han Qiu1等 笔记整理:ganyongdong 2021.02.24
论文:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123460528.pdf
代码:https://github.com/Megvii-BaseDetection/BorderDet
1.摘要
- 当前的目标检测器采用点特征来预测bbox,但这样实则缺少准确定位所需要的边界信息;
- 文章提出一种简单有效的Border-Align(边界对齐)算子,能够从边界的极值点提取边界特征,以增强点特征;
- 基于Border-Align提出了一种新的检测结构-BorderDet,利用边界信息进行更准确的分类和定位;
- 使用ResNet-50作主干,较单阶段目标检测器FCOS提升了2.8点AP。
2.动机
- SSD、RetinaNet、FCOS等检测器采用点特征预测bbox
- 但是点特征感受野有限,不足以准确表明完整的目标实例
- 同时,点特征也缺少边界信息来准确定位bbox;
- 许多研究也着力于提取比点特征更多的表明特征,列如GA-RPN, RepPoints, Cascade RPN, RoI pooling, RpIAlign等
- 提取更多表明特征的过程中存在不必要的计算和引入更多背景影响
- 这些方法都潜在或间接地提取了边界特征,实则可以更直接明确提取特定边界特征
- 文章提出Border-Align(边界对齐)算子和Border Alignment Modules (BAM)
- 用于微调分类和bbox回归结果
- 比其他特征增强方法花费更少的计算,得到更高的精度
- 该模块容易集成到各anchor based和anchor free方法中
3.论证边界特征对目标检测的重大性
-
文章通过一组实验验证了边界特征对目标检测的重大性
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://www.niaorui.com/wp-content/themes/onenav/assets/images/t.png)
-
实验是FCOS作为baseline,
是第一次预测用到的点特征,在FCOS倒数第二个特征图中重新提取以下几种特征,
,
,
,
,这些表明第二次预测用到的特征,也就是增强特征,统计实验结果如table1所示。- (a)实验用单点特征预测,AP精度不高
- (b)实验用区域特征增强,在采样点周围用RoIAlign进行区域密集采样提取特征,精度较(a)提升1个点的AP,但是复杂度高,为
- (c)实验用边界特征增强,这里的边界特征是密集的边界特征,精度较(b)下降了0.3点AP,但是复杂度降低了许多
- (d)实验用边界的中心点特征增强,精度达到了(b)中的区域特征,而且复杂度进一步降低
-
实验说明区域特征比点特征能更准确预测结果,但是区域特征许多是多余的,直接提取边界特征更简单有效,由此,作者提出了采用边界极限点特征
4.BorderAlign
-
BorderAlign操作用于提取边界极限点特征
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://www.niaorui.com/wp-content/themes/onenav/assets/images/t.png)
-
BorderAlign输入由两部分组成
- 边界敏感特征图I,具有(4 + 1)个C通道,其中4C通道对应于四个边界(左、上、右、下)特征,1C通道对应于原始单点特征
- 粗bbox回归结果
-
边界敏感特征图I中对应粗bbox回归框的位置,每个边界被均匀地细分为N个点,然后经过max-pooling汇集每条边的边界极限特征。
-
输出特征图F表达式如下:
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://www.niaorui.com/wp-content/themes/onenav/assets/images/t.png)
-
是粗回归bbox的左上角和右下角坐标,
和
是粗回归bbox的宽和高 - 提取
上的N个点特征值可能存在小数位置上的特征值,为了避免测量误差,采用双线性插值
-
4.Border Alignment Module (BAM)
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/fc7c8bc3b3134190b0d824496d9b7ae5.jpg)
- 如4中fig3所示绿色虚线框中部分,BAM的输入是HxwxC的特征图,经过1×1卷积得到Hxwx5C的边界敏感特征图,该边界敏感特征图结合粗bbox回归结果一起输入到BorderAlign中进行边界对齐操作,然后输出依旧是Hxwx5C的特征图,但是这个时候边界处的特征已经最大池化成了极限点特征,然后再经过1×1卷积回HxWxC特征图。保证了输入输出一样,也使得该模块容易集成到各个网络结构中。
- 回归分支C是256,分类分支C是128。
- 对于两步检测器,同样使用BAM模块增强RPN的原点特征
5.BorderDet
-
以anchor free检测器FCOS作为baseline。
-
FPN得到的特征图作为输入,BorderDet先预测粗略分类得分和粗略bbox回归框,然后将粗回归框和特征图输入到BAM模块,得到的准确回归框结果输出,另一个BAM模块将粗回归框输入得到精细分类得分,该得分乘以粗略分类得分为最后总得分。
-
损失函数:
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://www.niaorui.com/wp-content/themes/onenav/assets/images/t.png)
-
和
是粗略分类和粗略回归的损失函数,分别采用focal loss和IoU loss -
是边界分类的focal loss,这部分取所有正样本的边界分类损失平均值,
表明预测的边界分类得分,
是真实标注。 -
所有真实标签非背景(
0″ mathimg=”1″>)的都计算边界回归损失
,
表明预测框相对真实框的偏移量,使用L1损失。
6.实验
-
BorderDet边界分类和边界回归消融实验
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://www.niaorui.com/wp-content/themes/onenav/assets/images/t.png)
-
BorderDet附加到单步和两步检测器实验结果
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://www.niaorui.com/wp-content/themes/onenav/assets/images/t.png)
-
BorderDet与不同检测器比较结果
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://www.niaorui.com/wp-content/themes/onenav/assets/images/t.png)
7.启发
- BorderDet是一个容易集成的模块
- 作者开头提出的点特征和区域特征对检测器的性能影响实验很好,说明区域特征中很大一部分是多余的,突出了边界特征的重大性
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/834ddaef10054361a5d0f0865cdb5c90.jpg)
是第一次预测用到的点特征,在FCOS倒数第二个特征图中重新提取以下几种特征,
,
,
,
,这些表明第二次预测用到的特征,也就是增强特征,统计实验结果如table1所示。
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/c2288927bb1e4a41a08f3de77e482474.jpg)
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/cdc47f88fe5f41e588f7bfa1589f3b73.jpg)
是粗回归bbox的左上角和右下角坐标,
和
是粗回归bbox的宽和高
上的N个点特征值可能存在小数位置上的特征值,为了避免测量误差,采用双线性插值![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/4e233bc9a251414a82ed3157e94142c7.jpg)
和
是粗略分类和粗略回归的损失函数,分别采用focal loss和IoU loss
是边界分类的focal loss,这部分取所有正样本的边界分类损失平均值,
表明预测的边界分类得分,
是真实标注。
0″ mathimg=”1″>)的都计算边界回归损失
,
表明预测框相对真实框的偏移量,使用L1损失。![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/0233203fe4914a4b846027a48227f323.jpg)
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/1b5aa5b943444d3caf03f3a2c5003750.jpg)
![[BorderDet 边界特征检测器 ECCV2020] Border Feature for Dense Object Detection [笔记]](https://img.niaorui.com/blogimg/20251101/bac6664321924eb0ba14c5a2fe80fc78.jpg)


