论文阅读| ExtremeNet

ExtremeNet是一种新颖的自下而上目标检测方法,摒弃了传统的矩形框和anchor,通过预测物体的四个极点及中心点进行目标检测。网络创新包括Ghostbox suppression解决重叠极点问题和Edge aggregation增强极点定位准确性。此外,结合DeepExtremeCut可实现实例分割。实验表明,ExtremeNet在COCO数据集上取得了SOTA性能,特别是在中小物体检测上表现出色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

目标检测方法可分为自上而下和自下而上两种:

  • 自上而下的方法中,以矩形框的形式检测目标,并基于这些框以整体方式预测目标。如R-CNNFaster R-CNN这样的(two-stage)从图片或者特征图上截取矩形区,然后进一步分类,或则SSD这样生成固定大小anchor来作为目标的先验等,这些方式都是自上而下,虽然其现在仍然再目标检测领域中占主流,但是存在明显的缺点:我们的目标大多数不能和矩形边框形状贴合,往往矩形边框都是把目标包含在内,里面还有大量的容易干扰的背景区域,因此这种矩形边框不是我们物体的很好表示。此外,自上而下的方法往往会列出尽可能多的边框(候选区域),其中大部分都不包含目标物体,产生大量的无用计算。

  • 自下而上的方法中,目标是通过检测部分结构(或子对象结构)而出现的。如CornerNet,CenterNet这样的先预测部分关键点,然后给关键点分组得到方框的方式。但是,像CornerNet这样的模型,其corner在坚持无特别突出外形特征的物体时,往往会超出其边界。

摘要

本文提出的方法属于自下而上,anchor-free类的一种,通过一种新颖的关键点预测和分组方式实现目标检测,即使用标准关键点预测网络分别预测每类物体的(最上,最下,最左,最右)四个端点以及一个中心点(横坐标为左右两点横坐标中点,纵坐标为上下两点的中点),如果四个极点的几何中心对应位置再中点的热力图上得分超过一个预定义好的阈值则视为一个目标,其得分为4个极点热力图的得分和对应几何中心点位置所在中心热力图上的得分的均值。对于每个位置,使用4×2(4个极点,每个极点的x和y坐标单独)个通道的类别无关但针对特定极点的热力图来做位置偏移。因此,ExtremeNet将目标检测转换成了单纯的基于外形的关键点检测问题。
此外,将该网络结合Deep Extreme Cut (DEXTR)能够用于做实例分割。即将该网络输出的极点标注当作DEXTR指导,从而实现先进的实例分割。

网络创新:

  • 新的anchor-free目标检测方法。
  • 新的关键点分组方法
  • ExtremeNet结合DEXTR可得到一种两阶段的实例分割方法。

ExtremeNet目标检测

网络示意图如下:
在这里插入图片描述

每类物体有4个极点热力图和一个中心点热力图,假设四张极点图上每个图预测的极点数量为n,那么四个极点热力图上极点总共可能有 O ( n 4 ) O(n^4) O(n4)种结合方式。看起来会很多,但是因为一般每个热力图预测的极点数量很少,所以即使使用暴力算法也能够穷举出所有可能,相比自上而下的方式计算量小几倍。

四个极点工作原理如下图所示:
在这里插入图片描述
一旦四个极点被提取出来,就只需要使用几何的方式把他们分组。

关键点分组的算法流程如下:
在这里插入图片描述

Ghost box suppression

当有三个等间距平行的物体时,可能会出现中间物体4个极点对应的几何中心和三个物体的合起来的4个极点的几何中心重叠,这时候可能会把大的框错当成ground-truth,作者把这种错的框叫做ghost box。
显然,这种ghost box,如下图所示。
在这里插入图片描述
ABC三个框表示三个ground truth bbox,橙色的框则是ghost bbox,因为等间距,所以三个物体合起来的四个极点的几何中心和中间物体的几何中心重叠了,而中间物体的几何中心位置对应的center heatmap处的值因为中间物体是gt,所以必然大于阈值,于是将这个大的框也判定为了positive。
为了解决整个问题,论文采soft NMS算法,如果某个box内部所包含box的得分总和大于其得分的三倍,那么我们就将这个box的分值除2,最后的nms中就会将其过滤。至于为什么是大于其三倍,是因为只有三个以上的等间距平行物体才会出现以上的ghost box现象。
这种ghost box不多,会影响分组情况,但是影响不大。

Edge aggregation

极限点并不总是唯一定义的,例如水平或垂直的边缘上要产生极点时,其上任意一点均可为极点,但是这样的话最终得到的极点的得分会较低,因为该极点没有很好的满足局部最大,甚至该极点可能被阈值所过滤,导致没有得到任何极点。此外,即使上述的得到的极点没有被过滤掉,我们检测物体时,任何稍微旋转过的图片,都会有比他分值高得多的得分。
于是需要使用edge aggregation来解决这个问题。对于最左和最右极点,聚集其垂直方向的得分以使它成为局部最大;对于最上和最下的极点,聚集其水平方向的得分。聚集时聚集所有递增的得分,然后在聚集方向的局部最小处停止聚集。
假设m为某垂直或水平方向的极点,其值为 N i m = Y ^ m x + i , m y N_i^m=\hat{Y}_{mx+i,my} Nim=Y^mx+i,my,假设有 i 0 < 0 i_0<0 i0<0 i 1 > 0 i_1>0 i1>0是其左右两个的局部最小点,即有 N i 0 − 1 m > N i 0 m N_{i_0-1}^m>N_{i_0}^m Ni01m>Ni0m N i 1 m < N i 1 + 1 m N_{i_1}^m<N_{i_1+1}^m Ni1m<Ni1+1m,那么我们通过边缘聚合更新得到我们的极点的值为 Y ~ m = Y m ^ + λ a g g r ∑ i = i 0 i 1 N i m \tilde{Y}_m=\hat{Y_m}+\lambda_{aggr}\begin{matrix}\sum_{i=i_0}^{i_1}N_i^m\end{matrix} Y~m=Ym^+λaggri=i0i1Nim,其中 λ a g g r \lambda_{aggr} λaggr为聚合权重,在我们实验中,通常设置其为0.1。效果如下图:
在这里插入图片描述

Extreme Instance Segmentation

基于极值点包含的目标信息比边界框丰富,论文提出一种通过极点创造八边形来近似物体掩膜的方法。具体做法是:首先根据4个极值点找到外接矩形;然后对每个极值点,在其所属的矩形边上,沿着两个方向延长至其长度为整条边的 1 4 \frac{1}{4} 41,如果遇到拐角点则停止。如下图:
在这里插入图片描述
同时将ExtremeNet获得的极值点传到上面提到的Deep Extreme Cut网络可以获得一个类别未知的分割Mask,注意类别其实在ExtremeNet中已经知道了,这就相当于一个双阶段的实例分割。效果如下:
在这里插入图片描述

Experiments

该网络的训练沿用了CornerNet训练方式,其超参数设置也基本相同,

  • 输入分辨率大小511×511,输出128×128
  • 优化器采用Adam, learning rate 2.5e4
  • 数据增强有flip,random scaling between 0.6 and 1.3, random cropping, and random color jittering
  • 受限于GPU资源,在预训练好的CornerNet上使用了一个随机初始化的头部,然后做微调。5GPU,250k iter,batch size 24
  • 学习率每200k iter除以10(把lr_scheduler放在iter循环即可实现)

核心结果对比图:
使用多尺度(MS)情况下在MSCOCO上map值达到了43.7%,相比于使用多尺度检测的CornerNet涨点1.6%。单尺度检测时虽然AP略低CornerNet,但是在比较难检测的中小物体上却比CornerNet更高。
在这里插入图片描述

Conclusion

这篇论文提出新颖检测框架以及关键点分组方法,改善了CornerNet角点预测困难的问题,在MS COCO上的检测结果达到了SOTA(state-of-the-art),提出的ExtremeNet不仅仅在精度上有较大提升并且可以用来做分割。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值