原文链接:https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123460528.pdf

概述

密集物体检测依赖于滑动窗口,在图像的规则网格上预测物体,使用点的特征图来生成预测边界框,但由于边界信息不明确导致无法进行准确定位。本文提出了“Border-Align”的操作来从边界点中提取特征来增强点特征。基于该操作设计了一种新型的目标检测网络BorderDet,能够准确的利用边界信息来实现更强大的分类以及更准确的定位。

介绍

滑动窗口目标检测使用单点特征来进行目标检测是非常方便的,因为其没有额外的特征提取。然而点特征包括的信息不足以代表完整的实例,并且缺乏物体的边界信息。

目前已经有很多研究物体特征表示的研究,如GA-RPN、RepPoints和Cascade RPN,或基于pooling的RoI pooling和RoIAlign。如下图所示,这些方法提取了比点特征更具代表性的特征。

图中红色五角星表示当前需要预测边界框的点,黑色的矩形框表示对红色五角星预测的边界框,蓝色点表示当前特征被提取,不同于可变的卷积,RoIAlign从整个边界框密集得提取信息。我们的BorderAlign只从五个点中提取特征(当前的单点和边界的四个边界点)。

可以看出,使用这些方法进行密集物体检测有两个限制,1)从整个框中提取特征会导致一些不必要的计算,并且极易被背景影响。2)这些提取特征的方法是间接的,在整个方框内进行提取,而没有对边界特征进行专门的提取。

基于BorderAlign设计了一个易于集成到任何密集型物体检测器中。本文主要贡献:1)分析了密集物体检测器的特征表示,证明了用边界特征补充单点特征表示的意义。2)提出了一个新型的特征提取器BorderAlign,使用边界特征来增强特征。在此基础上提出了一个高效准确的物体检测架构(BorderDet)。3)在COCO数据集上取得最好的结果。

研究现状

滑动窗口

滑动窗口在物体检测中被广泛使用。对于一阶段的物体检测器,如Densebox、YOLO、SSD等,已经证明了密集地预测分类和定位的有效性。对于两阶段物体检测器,如R-CNN系列,采用了基于滑动窗口机制的区域建议网络(RPN)来生成初始建议,然后由RoIAlign和R-CNN组成的细化阶段来修改感兴趣区域(RoI)的特征图并生成精确预测。

物体的特征表示

典型的滑动窗口物体检测器采用基于点的特征表示,然而点的特征对于分类和定位是比较难的。因此Guided Anchor 利用可变性卷积来增强点特征的表示。Cascade-RPN提出了自适应卷积,将特征图与相应的物体边界预测相匹配。Reppoints将物体的边界框看作一组代表点,并通过可变形卷积提取代其特征。但这些方法中的feature map是从全局中进行提取,这些提取操作是重复的,并且极易被背景的feature map 所影响。我们提出的方法与上诉相反,是通过边界特征来增强点的特征,使特征图对物体边界点有着高响应,并且不被背景噪点所影响。

边界定位

有几种方法通过对区域的每一行每一列进行搜索来确定物体边界。LocNet和SABL将RoI特征图沿着X、Y轴进行汇聚,来定位物体边界,这种方法高度依赖于高分辨率的RoI特征图,因此在密集物体检测器中会受限制。

方法

不同边界框特征表示的效果

滑动窗口物体检测器通常在密集的、有规律的网格特征图上产生边界框预测。如下图所示,网格中每个点上的特征一般用来预测物体的类别和位置。这种基于点的特征表示很难包含有效的边界特征,可能会限制物体检测器的定位能力。至于两阶段物体检测器,物体由整个边界框提取的特征来进行描述,如下图(b)所示。这种基于区域的特征表示比基于点的特征表示具有更丰富的特征。

作者对边界框的特征表示进行了更深入的分析。使用一个简单的密集物体检测器FCOS作为baseline来生成粗略的边界盒预测,并从FCOS的倒数第二张特征图中重新提取如上图所示的特征。然后,分别使用不同的特征来补充单点特征,完善粗略的预测结果。 结果如下表所示:

可以看出使用middle border features 的AP提高了0.3,并且在使用的样本点更少的情况下,达到了跟区域特征一样好的效果。因此,在密集目标检测器中的特征表示中,基于点的特征表示缺乏整个对象的显式特征,需要进行特征增强。但从整个box中提取特征是没必要并且冗余的,但边界特征的提取会带来更好的效果。

BorderAlign

然而,由于物体的边界上通常只有很少的前景和大量的背景,因此在边界上密集地提取特征的效率很低。因此,作者提出了一个新的特征提取器-BorderAlign,以有效利用边界特征。

BorderAlign的结构如下图所示,它将具有(4+1)C个通道的边界敏感特征图作为输入。这些通道分别对应于左、上、右、下这四个边界以及原始点的特征。然后,每个边界被均匀地划分为N个点,这N个点的特征值通过max pooling得到输出。N表示集合的大小,本文默认为10。本文所提出的BorderAlign可以自适应地利用边界上的点来代表边界特征。

值得注意的是,我们的BorderAlign在通道上进行max pooling,即在输入特征图的每个C通道中独立地对四个边界进行max pooling。假设输入特征图的顺序为(单点、左边界、上边界、右边界和下边界),输出特征图F可表述为以下公式。

这里Fc(i, j)是输出特征图F的第c个通道的(i, j)点上的特征值,(x0, y0, x1, y1)是(i, j)点上的预测的边界框位置,w和h是(x0, y0, x1, y1)的宽度和高度。为了避免量化误差,精确值Ic由双线性插值与特征图上的附近特征值计算。

边界敏感特征图的可视化如下图所示,边界上的橙色圆圈表示当前边界上的极值点。单点"、"左边界"、"上边界"、"右边界 "和 "下边界 "的特征图是边界敏感特征图的每个C通道上的最大特征值。

可以看出,每个边界上的极值点跟在该边界上每个通道的最大特征值是一致的。

网络结构

作者使用FCOS(一个简单的无锚物体检测器)作为基线,由于BorderAlign需要边界位置作为输入,因此BorderDet采用了两个预测阶段。整个BorderDet的结构如下图所示,首先,采用常规的单阶段物体检测器来生成类别的分数和边界框位置的粗略预测。然后使用Border Alignment,用边界特征来完善之前的预测。其中π表示乘法,δ表示两个边界框位置的组合。

BorderDet先粗略的预测分类分数和边界框位置。然后,该边界框和特征图被送入Border Alignment Module模块(BAM),生成包含明确边界信息的特征图。最后,我们应用1×1卷积层来预测边界分类得分和边界位置。上述两个预测将被统一起来,形成最终的预测结果。该方法可以集成到其他目标检测器中,如RetinaNet、FCOS等。

Border Alignment Module

BAM将带有C通道的特征图作为输入,然后通过1×1卷积层与实例归一化来输出对边界敏感的特征图。最后,我们采用BorderAlign模块从边界敏感的特征图中提取边界特征,并应用1×1卷积层将(4+1)C通道还原为C。

BorderRPN

该方法也可以作为典型的两阶段检测器的一个更好的proposal generator。我们将BAM添加到RPN中,得到BorderRPN。其结构如下图所示,我们保留了RPN中的回归分支来预测粗略的边界盒位置,并将RPN中的第一个3×3卷积被替换为3×3扩展卷积,以增加有效感受野。

使用BAM来增强RPN的原点特征,并通过δ将粗略的边界框位置和边界位置结合起来。同时,使用边界分类分数作为BorderRPN的分类分数。

Target Assignment

使用FCOS作为基线来预测大概的分类和边界框,在第二阶段使用IoU=0.6的阈值给真实的边界框分配前一步生成的粗糙边界框,其回归目标(δx0, δy0, δx1, δy1)的计算如下:

w,h是预测边界框的高宽,σ(默认0.5)是提高多任务学习效果的方差。

损失函数

BorderDet使用多任务损失来进行优化。损失函数如下:

前两个是粗糙的分类损失和回归损失。在实现中,焦点损失和IoU损失分别作为分类损失和回归损失,这与FCOS相同。LBcls是在边界分类和其分配真实边框C∗之间计算的焦点损失,该损失由正样本的数量Npos进行平均。我们使用L1损失作为我们的角回归损失,PB代表预测的边界分类分数,∆是预测的边界偏移。

实验

该实验在8个GPU上同时使用同步随机梯度下降,minibatch=16,进行90k次迭代,初始学习率为0.01,在6万次和8万次迭代后分别减少十倍。对图片使用水平翻转进行数据增强,weight decay=0.0001,动量为0.9,在ImageNet数据集上进行预训练。

消融实验

在分类分支和回归分支上分别使用BAM进行实验,结果如下:

其中"cls "和 "reg "分别表示在分类分支和回归分支上应用Border Alignment Module(BAM)。可以看出用在分类分支上的的提升主要发生在低阈值中,并且该提升随着IoU的增加而衰退。在低IoU阈值下的改进是由于BAM可以根据边界特征对边界框进行重新评分,并保持预测的高分类分数和定位精度。与分类分支不同的是,在回归分支上AP的提升主要是在高Iou阈值上。回归分支上的BAM可以显著提高检测到的边界框的定位精度,在IoU=0.9的阈值下提升了2.6个AP。在两个分支同时使用的情况下,每个IoU阈值下的AP都得到了一个提升。

Border Align

BorderAlign首先将每个边界细分为几个点,然后在每个边界上汇集,提取边界特征。其中pooling size 是一个超参数,这里对不同大小的pooling对实验结果的一个影响进行比较,当size大于等于0时,相当于迭代预测边界框。结果如下所示:

实验表明,多数size的pooling结果都是比较稳定的,由于size较大的pooling会花费额外的计算,而小的pooling会导致不稳定的结果。考虑到速度/准确度的权衡,在所有的实验中,pooling size大小等于10。

为了分析边界敏感特征图的影响,我们将BorderAlign应用于具有C通道的边界特征图。在BorderAlign中的所有特征都将从相同的特征图中提取。实验结果如下所示:

border sensitive "表示对边界特征和原始单点特征的提取是在不同的特征图上进行的,“border agnostic "意味着特征提取是在单一特征图上进行的。可以看出”border sensitive“的AP高一点,因为边界敏感的特征图可以在不同通道上不同边界的极端点上高度激活,从而有利于边界特征的提取。

在BorderAlign中,我们采用了一种通道的max-pooling,即每个通道的边界特征沿着边界独立聚集。这里对pooling进行消融实验,结果如下:

        可以看出channel-wise max-pooling达到了最好的效果41.4,和其他方法相比,这种方法可以在不涉及背景噪声的情况下提取有代表性的边界特征。

Cascade-RPN和GA-RPN 这两种方法采用了一些不规则的卷积,如可变形卷积和自适应卷积来提取边界框的特征。这些不规则卷积也可以隐含地提取边界特征。直接用自适应卷积和可变形卷积分别替换了BorderAlign和BAM中的第二卷积,并使用RoIAlign取代BorderAlign来对这两个进行比较。如下表所示,BorderAlign比其他模型都至少好1个AP。结果如下:

BorderAlign是通过沿边界的通道的max pooling得到的,保证了特征提取过程是围绕边界上的代表性极端点进行的。首先使用实例分割的注释来得出极端点的位置(最上、最左、最下、最右)。然后,我们计算训练期间(5千次迭代、3万次迭代和9万次迭代)BorderAlign样本点到每个响应图中极端点的归一化距离的计数,如图6所示。(a)表示边界提取的统计分析。横轴表示从极端点到BorderAlign中具有最大特征值的点的归一化距离。(b) 输出边界框的IoU直方图。

可以看出在训练过程中,距离的方差逐渐减小。这意味着BorderDet可以自适应地学习提取极端点附近的特征。并且通过BorderDet,可以看到边界框的定位精度得到了明显的提高。且有效预测框的数量(IoU大于0.5)增加了约30%。特别是,IoU大于0.9的盒子的数量几乎翻了一番。这一观察结果也可以解释AP90的明显改善。

与其他结构相比较

将BorderDet在MS-COCO测试集上进行对比试验,结果如下所示。

在标准设置下,BorderDet达到了43.2的AP,超过了FASF、CornerNet在内的无锚框方法,在advanced setting下,AP=50,在现有一阶段和二阶段目标检测方法中处于领先水平。

结论

本文中,我们提出了一种简单有效的架构-BorderDet,通过对边界特征的提取,提高了目标检测的定位能力。改架构基于BorderAlign操作,该操作能够自适应地学习提取每个边界上点的特征。实验验证了BorderAlign比以前的特征细化操作具有更高的性能。

BorderDet:Border Feature for Dense ObjectDetection相关推荐

  1. DFAnet:Deep Feature Aggregation for Real-time Semantic Segmentation自己翻译的

    DFAnet:Deep Feature Aggregation for Real-time Semantic Segmentation 原始论文Li H, Xiong P, Fan H, et al. ...

  2. 目标检测经典论文——R-CNN论文翻译:Rich feature hierarchies for accurate object detection and semantic segmentation

    Rich feature hierarchies for accurate object detection and semantic segmentation--Tech report (v5) 用 ...

  3. 目标检测 | RetinaNet:Focal Loss for Dense Object Detection

    论文分析了 one-stage 网络训练存在的类别不平衡问题,提出能根据 loss 大小自动调节权重的 focal loss,使得模型的训练更专注于困难样本.同时,基于 FPN 设计了 RetinaN ...

  4. 论文笔记之:Multiple Feature Fusion via Weighted Entropy for Visual Tracking

    Multiple Feature Fusion via Weighted Entropy for Visual Tracking ICCV 2015 本文主要考虑的是一个多特征融合的问题.如何有效的进 ...

  5. Android Studio:missing feature Watch

    导入一个项目,修改gradle.version,忙活了一阵开始run.因为我手机API太低,于是我用虚拟机,但是新建虚拟机准备跑,点OK弹出了missing feature Watch.watch大家 ...

  6. 【Transformer】HRFormer:High-Resolution Transformer for Dense Prediction

    文章目录 一.背景 二.动机 三.方法 四.效果 论文链接:https://arxiv.org/abs/2110.09408 代码链接:https://github.com/HRNet/HRForme ...

  7. 详解两阶段3D目标检测网络PVRCNN:Point-Voxel Feature Set Abstraction for 3D Object Detection

    在<动手学无人驾驶(4):基于激光雷达点云数据3D目标检测>一文中介绍了3D目标检测网络PointRCNN.今天介绍该作者新提出的3D检测模型:PVRCNN,论文已收录于CVPR2020. ...

  8. html5boder属性,你未必知道的CSS小知识:border属性比你想象的要复杂

    我们很多人都用过这样的写法: .example { border: solid 1px black; } 这里的border属性的用法实际上是一种简写的形式,它分别设置了border-style, b ...

  9. 论文阅读:Pyramidal Feature Shrinking for Salient Object Detection

    论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/16331 发表于:AAAI 2021 I. Intro 这个网络是用来做显著目标检测的 核 ...

最新文章

  1. idea的debug调试
  2. 高中计算机室名言,高中教室励志标语名言
  3. SQL SERVER 2012修改数据库名称(包括 db.mdf 名称的修改)
  4. mysql删除bin-log_删除MYSQl BIN-LOG 日志
  5. 如何制作一条网线?(双绞线在水晶头中的排列顺序)
  6. linux下的web安全机制,linux http服务器web网页的不同安全机制
  7. 君正T31 ACC解码
  8. python爬关键词百度指数_Python爬虫爬取百度指数的关键词搜索指数教程
  9. 中端存储和高端存储的区别
  10. 第54件事 引爆流行的3个条件
  11. spring加载流程之AnnotatedBeanDefinitionReader
  12. LaTeX插入矩阵和方程组
  13. 系统分析师---论软件的系统测试及应用
  14. 核心项目:高并发秒杀系统(项目介绍,项目搭建,数据库,DAO)
  15. WildFly:如何从位于另一个应用程序中的 EJB 调用 EJB
  16. 16个免费高质量无版权图片视频网站分享,可以商用!
  17. MySQL数据库初体验
  18. 学JAVA可从事的工作岗位
  19. 经历过黑暗才更渴望黎明_黑暗的图案,你如何操纵以给予更多
  20. melodic 奥比中光(orbbec)相机安装

热门文章

  1. 浙江事业单位考不考计算机专业知识,浙江事业单位考试计算机相关综合知识,看哪些?...
  2. 云桌面服务器作用,云桌面服务器所需要具备的特点
  3. IMU-CAM联合标定测试(只依靠数据集)
  4. vscode px转换rem插件 px to rem rpx vw (cssrem)
  5. easy ui 中动态TreeGrid的使用
  6. 使用AD18 敷铜时,不显示敷铜的板框,
  7. 扫地机器人石头爬坡_扫地机器人选石头 or 米家?下单两台助你“不再纠结”...
  8. 360seo 如何进行网站优化,提高排名
  9. openmpi参数_OpenMPI源码剖析:网络通信原理(一)
  10. 已知3个人说了真话,1个人说的是假话,通过编程确定说假话的人