乐趣区

关于算法:BorderDet通过边界特征大幅提升检测准确率即插即用且速度不慢-ECCV-2020-Oral

边界对于定位问题非常重要,BorderDet 的核心思想 BorderAlign 奇妙又无效,将边界特色融入到指标定位预测中,而且可能简略地融入到各种指标检测算法中带来较大的性能晋升下。在开源实现中,对 BorderAlign 进行了高效 CUDA 实现,不会对耗时带来很大的影响,整个工作非常扎实

起源:晓飞的算法工程笔记 公众号

论文: BorderDet: Border Feature for Dense Object Detection

  • 论文地址:https://arxiv.org/abs/2007.11056
  • 论文代码:https://github.com/Megvii-BaseDetection/BorderDet

Introduction


  目前大部分的 point-based 指标检测算法 (SSD, RetinaNet, FCOS) 应用特色图的 single-point 进行定位和分类,但 single-point 特色可能没有足够多的信息来表白残缺的实例以及实例的边界信息。很多钻研通过各种伎俩补充 single-point 的特色表达能力,这些办法尽管可能提取更多的特色,但可能带来不必要的计算以及会受背景的影响。最要害的,这些办法都没有间接利用边界特色,而边界对于定位是非常重要的。为此,论文提出新的特征提取操作 BorderAlign,可间接利用边界特色优化本来的 single-point 特色,基于 BorderAlign 提出了 SOTA 指标检测算法 BorderDet。
  论文的次要奉献如下:

  • 剖析 dense object detector 的特色表白,展现边界特色对补强 single-point 特色的重要性。
  • 提出新的特征提取操作 BorderAlign,通过边界特色来优化网络特色,并基于 BorderAlign 提出高性能指标检测算法 BorderDet。
  • 在 COCO 数据集上,将 BAM 模块集成到 FCOS 和 FPN 中别离晋升 2.8AP 和 3.6AP,而集成到 ResNext-101-DCN 准确率为 50.3AP,达到 SOTA。

Our Approach


Motivation

  论文以 FCOS 为 baseline,退出第二阶段预测来比照多种特色加强办法的成果,最初发现仅用边界中心点的加强成果与 region-based 办法简直一样。从试验后果来看,能够得出以下论断:

  • point-based 特色表白不足残缺物体的显著特色,须要进行特色加强。
  • 从残缺的 boxes 内提取特色是不必要的,且存在冗余。
  • 高效的边界特色提取策略可能带来更好的性能。

Border Align

  密集地从边界提取特色是很低效的,个别边界上的指标物体相干的点很少,大多为背景点。为此,论文提出 BorderAlign 特征提取操作,可能无效且自适应地榨取边界特色。

  参考 R -FCN 的思维,BorderAlign 提取 $(4+1)C$ 维度的 border-sensitive 特色图作为输出,$4C$ 维度对应 4 条边,另外 $C$ 维对应本来的 single-point 特色。假设特色图程序为(single point, left border, top border, right border 和 bottom border),计算输入特色图时,对点 $(i, j)$ 对应的 bbox 的每条边平均取 $N$ 个采样点,$N$ 默认设为 10,采样点的值应用双线性插值计算,最初通过 channel-wise max-pooling 失去输入:

  $(x_0, y_0, x_1, y_1)$ 为点 $(i,j)$ 预测的 bbox,这种办法可能自适应地从边界极点榨取边界特色。

  论文对 border-sensitive 特色图中各 channel 的最大值进行了可视化,发现最大值散布根本合乎预设的作用。

Border Alignment Module

  BAM 模块封装了 BorderAlign 操作,先应用 $1\times 1$ 卷积生成 border-sensitive feature maps,而后联合初步 bbox 预测,通过 BorderAlign 输入 Border 加强后的特色图,再应用 $1\times 1$ 卷积复原为模块输出维度。

BorderDet

  BorderDet 基于 FCOS 检测架构,次要在特色金字塔的预测 head 中退出 BAM 模块。首先预测初步 bbox 预测和初步分类预测,而后将初步 bbox 预测输出到 BAM 模块失去 Border 分类预测和 Border bbox 预测,预测跟原先一样应用 $1\times 1$ 卷积,最初对立两种后果进行输入。

BorderRPN

  BAM 模块也能用于 two-stage 指标检测算法中,将本来第二阶段的 region-based 特征提取改为文中的 BAM 模块进行边界特色加强预测,另外将后面特征提取的卷积改为空洞卷积来晋升感触域。

Model Training and Inference

  • Target Assignment

  BorderDet 基于 FCOS 进行初步预测,在第二阶段将 GT 赋予每个 IoU 大于 0.6 的初步预测后果,回归指标定义为:

  $\sigma$ 为方差,用于进步多任务学习的效率,默认为 0.5。

  • Loss Function

  BorderDet 的损失函数定义为:

  $\mathcal{L}^C_{cls}$ 和 $\mathcal{L}^C_{reg}$ 为初步分类损失和初步定位损失,在实现时别离为 focal loss 和 IoU loss,$\mathcal{L}^B_{cls}$ 和 $\mathcal{L}^B_{reg}$ 则计算 border 预测后果与对应 GT 之间的分类损失和定位损失,仅解决正样本,在实现时别离为 focal loss 和 $\mathcal{L}_1$ loss。

  • Inference

  BorderDet 在推理时对两种分类后果进行间接的相乘输入,而对于定位则应用 border 定位预测对初步定位的 bbox 进行公式 2 的反向转换,对所有的后果进行 NMS 输入,IoU 阈值为 0.6。

Experiments


  对 BAM 模块以及 BorderAlign 参数进行比照试验。

  比照其它特色加强办法,作者对 BorderAlign 进行高效的 CUDA 实现,速度很快。

  间接将 BorderDet 联合到 one-stage 检测器和 two-stage 检测器中。

  与支流的检测算法进行比照。

Conclustion


  边界对于定位问题非常重要,BorderDet 的核心思想 BorderAlign 奇妙又无效,将边界特色融入到指标定位预测中,而且可能简略地融入到各种指标检测算法中带来较大的性能晋升下。在开源实现中,对 BorderAlign 进行了高效 CUDA 实现,不会对耗时带来很大的影响,整个工作非常扎实。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

退出移动版