BorderDet: Border Feature for Dense Object Detection论文阅读翻译 - 2020ECCV oral

BorderDet: Border Feature for Dense Object Detection论文阅读翻译

论文下载地址:点击此链接跳转.
这是博主自己在github整理的目标检测方向论文的合集,应该算比较全,目前2020ECCV持续更新中,即将更新:2020IJCAI合集,欢迎下载…

一、Abstract.

       密集目标检测器通过滑动窗口以规则的图像网格来预测目标。同时利用网格点上的特征来生成边界框预测。这些点特征虽然使用非常方便,但是缺少明确的边界信息,无法进行精确定位。本文中作者提出了一个简单有效的操作BorderAlign,从边界极值点提取边界特征来增强点特征。基于BorderAlign,作者设计了一个新的检测架构叫作BorderDet,利用边界信息实现了更强的分类和更准确的定位。

二、Introduction

       滑动窗口目标检测器是在密集且规则的网格上生成边界框预测,在现代目标检测中发挥着重要作用。大多数滑动窗口目标检测器如SSD,RetinaNet,FCOS采用基于点的边界框特征表示,如下图(b)所示根据网格中每个点的特征作边界框预测。这种单点特征不需要进行额外的特征提取,能够非常方便地用于目标定位和分类。
在这里插入图片描述
       但是由于这种点特征的接收域有限,包含的信息可能并不能够非常充分地表示整个实例,也可能会缺失目标的边界信息,无法精确地回归边界框。目前很多研究都针对的目标的特征表示,比如GA-RPN,RepPoints,Cascade RPN,或者是基于池的方法如RoI pooling,RoIAlign。如上图所示,这些方法能够比点特征提取出更多有代表性的特征。但是这些密集目标检测方法会有两个限制:1)在整个框内提取出的特征可能会涉及到不必要的计算,而且很容易受到背景的影响。2)这些方法都是隐式且间接地提取边界特征。并且由于这些特征都是在整个框内自适应地进行判别和提取,并没有对边界特征进行特别地提取。
       本文作者提出了一种特征提取操作BorderAlign,利用每个边界集合的边界特征来增强原本的点特征。与其他特征提取操作从整个方框中密集地提取特征不同,BorderAlign聚焦于目标边界,自适应地去判别目标边界具有代表性的部分,例如极值点等,如上图(e)所示。BorderDet利用边界对齐模块(BAM)来对分类分数和边界框回归作进一步细化。与相似的特征增强方法相比,BorderDet计算量更少,精度更高,并且可以很容易地集成到任意有或没有anchor的密集目标检测器中。

Contributions:

       1)分析了密集目标检测器的特征表示,描述了用边界特征来补充单点特征表示的意义。
       2)提出了BorderAlign,通过边界特征来做特征增强,并基于BorderAlign提出了一个高效精确的目标检测器架构BorderDet。
       3)达到了SOTA效果。

三、Approach

3.1 Motivation

       滑动窗口目标检测器通常是在密集且规则的特征图网格上生成边界框预测。如下图(a)所示利用网格中每个点的特征来预测目标的类别和位置。这种基于点的特征表示难以包含有效的边界特征,限制了目标检测器的定位能力。两阶段的目标检测器则是通过由整个边界框提取的区域特征来描述物体,如下图(b)所示。与基于点的特征表示相比,基于区域的特征表示能够给目标的分类和定位提供更加丰富的特征。
在这里插入图片描述
       在下表中,作者对边界框的特征表示进行了更深入的分析。首先以FCOS作为baseline生成粗糙的边界框预测。然后从FCOS倒数第二层的特征图中重新提取如上图(a)所示的特征。然后逐步用不同的特征来补充单点特征细化粗糙预测。这样得到以下结论。1)区域特征比点特征更具代表性,用区域特征增强点特征后带来了1.3ap的增益。2)当区域特征对单点特征进行增强时,边界特征在区域特征中起着重要作用。如果只引入边界特征而忽略边界框内部特征,只降低了0.3 AP。3)提取边界特征能够带来明显的改进。从第4列可以看出,提取边界中心特征进行增强能够比提取边界特征进行增强带来更高的ap增益,在使用较少样本点的情况下达到和使用区域特征进行增强相同的效果。
       也就是说在密集目标检测器的特征表示中,基于点的特征表示缺少关于整体目标的显式特征,需要进行特征增强。但是从整个框中提取特征来做增强是不必要且冗余的。相比之下更有效的边界特征提取策略会带来更好的性能。因此作者开始思考如何利用边界特征来增强点特征从而提高密集目标检测器的性能。
在这里插入图片描述
       Fpoint是baseline,F’point是指用单点特征做增强,Fregion是指用ROIAlign提取框内的所有特征来做增强,Fborder是指用边界上所有点特征来做增强,Fmiddle是指只用边界中心点来做增强。N表示第二次预测中提取的特征采样点个数,在这些实验中N=5。

3.2 Border Align

       根据以上观察可以发现边界特征对于获得更好的检测性能是非常重要的。但是如果在边界上密集地提取特征效率是很低的,因为目标边界上通常前景很少,背景很多。因此作者提出了一种新的特征提取操作BorderAlign以有效地利用边界特征。
       受R-FCN的启发,BorderDet以(4+1)C个通道的边界敏感特征图作为输入,特征图的4C个通道分别对应4条边界(上、下、左、右),另外的C个通道对应于原本的单点特征。然后每个边界被均匀地分为N个点,经最大池化进行聚合,N表示池大小,文中设为10。BorderAlign能够自适应地利用边界极值点中具有代表性的边界特征。其大体架构如下图所示:首先采用正常的单阶目标检测器来生成分类分数和边界框位置的粗糙预测。然后边界对齐模块BAM根据边界特征对粗糙预测进行微调。π表示相乘,δ表示两个边界框位置的一个结合。
在这里插入图片描述
       BorderAlign采用的基于通道的最大池化机制,四个边界分别在输入特征图的C个通道内进行最大池化。假设输入的特征图的顺序为(单个点、左边界、上边界、右边界、下边界),则输出的特征图F可以表示为:
在这里插入图片描述
       Fc(i, j)是指输出特征图F的第c个通道的(i, j)位置的特征值。(x0, y0, x1, y1)是点(i, j)上的边界框预测,w, h是(x0, y0, x1, y1)的宽, 高。为避免量化误差,作者通过双线性插值利用特征图上邻近的特征值计算出准确的Ic值。
       下图是作者对边界敏感特征图各自C个通道上的最大值做了可视化。可以看到(4+1)C个通道的特征图会被引导激活至目标对应位置。比如第一个C个通道会在整个目标上显示强烈的响应。第二个C个通道会在左边界上显示强烈的响应。这些对边界敏感的特征图会更有利于边界特征的提取。
在这里插入图片描述

3.3 Network Architecture

3.3.1 BorderDet.

       接下来是BorderDet的网络架构,作者用FCOS作为baseline,由于BorderAlign中的边界提取处理需要有边界位置作为输入,因此BorderDet分为了两个预测阶段,如上上图所示。先是以特征金字塔作为输入预测出粗糙的分类分数和边界框位置。然后将粗边界框位置和特征图输入边界对齐模块(BAM)生成包含显式边界信息的特征图,BAM块的最后会使用1个1×1卷积来生成预测的边界分类分数和边界位置,并与粗糙预测做一个统一,形成最终的预测。边界分类分数是分类敏感的,这样在不同类别的边界有重叠时可以有效避免模糊预测。虽然BorderDet在目标分类和定位都使用了额外的预测,但由于结构和层共享,增加的额外计算量可以忽略不计,可以以一种即插即用的方式集成到其他目标检测器中。

3.3.2 Border Alignment Module.

       BAM以C个通道的特征图作为输入,接一个1*1卷积和实例归一化来输出边界敏感的特征图,边界敏感特征图由5个C个通道的特征图组成,对应四个边界和一个单点。因此输出特征图有(4 + 1)C个通道。作者将分类分支的C设置为256,回归分支的C设置为128。最后采用BorderAlign模块从边界敏感特征图中提取边界特征,并使用1×1卷积将(4+1)C个通道减回C。

3.3.3 BorderRPN.

       对于两阶目标检测器,作者的方法也可以作为一种更好的proposal生成器。作者在RPN中加入了BAM,记为BorderRPN。BorderRPN的架构如下图所示。作者保留了RPN中的回归分支来预测粗糙的边界框位置,并且RPN中的第一个3×3卷积被替换为一个3×3的空洞卷积来增加有效的感受野。
在这里插入图片描述

3.4 Model Training and Inference

3.4.1 Target Assignment.

       采用FCOS作为baseline来预测粗糙分类分数和边界框预测(x0, y0, x1, y1)。然后在第二阶段将粗糙的边界框预测根据IOU阈值0.6分配给GT( x 0 t x_0^t x0t, y 0 t y_0^t y0t, x 1 t x_1^t x1t, y 1 t y_1^t y1t),其回归目标(δx0, δy0, δx1, δy1)由以下公式进行计算:
在这里插入图片描述
       w, h是粗糙边界框预测的宽高,σ是对提高多任务学习效率有显著作用的方差(默认0.5)。

3.4.2 Loss Function.

       BorderDet能够通过多任务loss以端到端的方式进行优化。结合BorderDet的输出定义训练损失函数如下:
在这里插入图片描述
       其中 L c l s C L^C_{cls} LclsC L r e g C L^C_{reg} LregC是粗糙分类损失和粗糙回归损失。用focal loss和IOU loss作为分类和回归损失。 L c l s B L^B_{cls} LclsB是在边界分类和其分配的GT分类C*间计算Focal loss,损失会根据正样本数Npos取平均值。作者使用L1 loss作为角点回归损失。PB表示预测边界框分类分数,△是预测的边界偏移。

3.4.3 Inference.

       BorderDet对特征图上每个像素预测分类分数和框位置,最终分类分数是将粗糙分类分数和边界框分数相乘得到。然后、通过简单的转换计算出边界框位置。最后将所有层级的预测进行合并,NMS阈值设为0.6。

四、Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、个人总结

       这篇文章感觉有一点点ExtremeNet的影子,不过差别还是蛮大的,思路啥的完全不一样,ExtremeNet是通过heatmap来找的四个方向的极值点,这篇文章则是先生成通道数为5*C的边界敏感特征图,对应4个方向的边界特征和单点特征,这里分5C个通道其实是为了避免出现在同一个特征图上提取四条边界和中心点的特征可能最后边界上的强响应不一定是边界的极值点,也有可能会是其他物体的中心或者语义信息较强的位置的情况,也就是说,假如我们在前C个通道中只在边界框的左边界提取特征,计算loss时也只选iou>0.6的这种阈值较高的高质量正样本进行回传,这样前C个通道就会自然对应到物体的左边界上去,并且还会通过maxpool使响应集中在极值点附近。其他几个方向也类似,这样使网络自适应的去对应到四条边和单点上去。接着在每条边上选出5个待采样点,对这5个待采样点取最大值作为这条边的极值点特征,原本采样单点特征就变成了采样四个方向的极值点及最初的单点的特征作为输出,然后再降维至原本的通道数做最后的分类和回归,这样能够去更准确的确定各个框的位置,使定位更加精确。并且作者在这用了两个头分别进行分类和回归,并且分为了两个阶段,将第一阶段的粗糙分类分数和最终的分类分数相乘作为最终的分类分数,边界框坐标也有做统一,不过还没看代码不知道是相加求平均还是咋的。最后效果挺好的,能够达到50.9,大厂的实验还是做的很到位。
       但是个人感觉有唯一有点美中不足的是这样的设计引入了太多超参,比如C的大小,每条边选的待采样点的数目,每条边最终取几个极值点等等,感觉未来的一个趋势还是会尽量地去避免这种hand-crafted的痕迹。不过就目前的情况来看,想要避免hand-crafted暂时还是很难的。总的来说,这确实是一篇很好的直击痛点的文章,推荐!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值