(四)论文阅读 | 目标检测之ExtremeNet


简介

在这里插入图片描述

图1:论文原文

论文是发表在 C V P R   2019 {\rm CVPR\ 2019} CVPR 2019上的一篇基于 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free的目标检测论文。与前面介绍的 C o r n e r N e t {\rm CornerNet} CornerNet C e n t e r N e t {\rm CenterNet} CenterNet不同, E x t r e m e N e t {\rm ExtremeNet} ExtremeNet的关注点的是目标各边界上的极值点。并通过检测的极值点生成边界框,以完成整个检测过程。实验结果为在 C O C O {\rm COCO} COCO数据集上的 A P {\rm AP} AP 43.7 % {\rm 43.7\%} 43.7%论文原文 源码


0. Abstract

随着深度学习的发展,目标检测逐渐从一个自下而上的问题发展成一个自上而下的问题(自下而上的目标检测方法先生成边界框的局部信息,如边界框的角点或极值点信息,再由关键点得到边界框,其中典型的方法有前面介绍的 C o r n e r N e t {\rm CornerNet} CornerNet C e n t e r N e t {\rm CenterNet} CenterNet等;自上而下方法先生成大量建议框,然后通过后处理得到边界框,这是当前目标检测方法常采取的策略,其中典型的方法有 R {\rm R} R- C N N {\rm CNN} CNN Y O L O {\rm YOLO} YOLO等)。而 E x t r e m e N e t {\rm ExtremeNet} ExtremeNet将目标检测转化为检测四个极值点和一个中心点,如果这些点几何对齐,则认为可以生成边界框。

本文贡献:(一)提出一种新的 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free目标检测方法;(二)提出一种新的关键点分组方法;(三) E x t r e m e N e t {\rm ExtremeNet} ExtremeNet结合 D E X T R {\rm DEXTR} DEXTR可得到一种两阶段的实例分割方法。


1. Introduction

自上而下的目标检测方法包含目前的大多数两阶段算法和一阶段算法,这类方法将目标检测转化为矩形区域分类。大致流程是首先列举出大量的候选区域,但这不仅会带来计算量的增加,同时矩形框也不能很好地表征目标的外观特征,如目标的形状和姿态等。

论文提出的 E x t r e m e N e t {\rm ExtremeNet} ExtremeNet是一种自下而上的方法,通过检测四个极值点和一个中心点完成目标检测。该方法对于每个类别预测 4 {\rm 4} 4个极值点的热图和 1 {\rm 1} 1个中心点的热图。然后,通过几何方法判断 4 {\rm 4} 4个极值点是否属于同一个物体,时间复杂度为 O ( n 4 ) O(n^4) O(n4)。然后结合中心点的热图判断是否生成边界框。

在这里插入图片描述

图2:ExtremeNet检测流程

如上图是 E x t r e m e N e t {\rm ExtremeNet} ExtremeNet的检测流程,首先为四个边界方向分别生成一个关键点热图以及一个目标中心的热图。当且仅当四个极值点呈几何对其,且该四个极值点组成的边界框的中心在预测的中心点热图上有较大的响应时才认为该生成的边界框有效。

E x t r e m e N e t {\rm ExtremeNet} ExtremeNet C o r n e r N e t {\rm CornerNet} CornerNet不同之处在于:(1) C o r n e r N e t {\rm CornerNet} CornerNet中的角点通常位于目标外, E x t r e m e N e t {\rm ExtremeNet} ExtremeNet中的极值点位于目标上,其能够反映物体的表观特征;(2) C o r n e r N e t {\rm CornerNet} CornerNet基于几何关系分组, E x t r e m e N e t {\rm ExtremeNet} ExtremeNet基于目标外观分组,实验证明后者更加有效。本论文是受到这篇论文的启发,该论文使用 4 4 4个极值点表示边界框。同时,极值点与目标掩膜关系密切,其能够产生比边界框更加精细的掩膜。


2. Related Work

在相关工作部分首先介绍了经典的两阶段算法和一阶段算法,最后指出 E x t r e m e N e t {\rm ExtremeNet} ExtremeNet属于一阶段算法,并且是一种 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free的方法。

论文的关键点分组思想与 D P M {\rm DPM} DPM D e f o r m a b l e   P a r t   M o d e l {\rm Deformable\ Part\ Model} Deformable Part Model,可变形组件模型。它是一种基于组件的传统的目标检测算法。它的大体思路是:在特征图上对目标的多个组件分别检测得到不同的响应,然后将提取的特征组合形成融合特征,最后对融合特征分类从而得到最后的目标位置)相关。

在人体姿态估计中,为了判断哪些关键点来自于同一目标,通常采用嵌入向量方法。而论文提出了中心分组的方法对关键点分组,利用极值点及其中心的几何结构使其更容易学习。

论文的关键点检测方法采取了类似 S t a r M a p {\rm StarMap} StarMap S t a r M a p {\rm StarMap} StarMap是在 E C C V   2018 {\rm ECCV\ 2018} ECCV 2018上提出的一种通过单通道、多峰值的热图来检测关键点的方法)的方法,且具有更加明确的几何性质。


3. Preliminaries

3.1 Extreme and Center Points

传统的目标检测算法采用矩形框的左上角顶点和右下角顶点表示目标边界框。而本文采用的是 4 {\rm 4} 4个极值点 ( x ( t ) , y ( t ) ) , ( x ( l ) , y ( l ) ) , ( x ( b ) , y ( b ) ) , ( x ( r ) , y ( r ) ) (x^{(t)},y^{(t)}),(x^{(l)},y^{(l)}),(x^{(b)},y^{(b)}),(x^{(r)},y^{(r)}) (x(t),y(t)),(x(l),y(l)),(x(b),y(b)),(x(r),y(r))中心点由极值点计算得到,为: ( x ( l ) + x ( r ) 2 , y ( t ) + y ( b ) 2 ) (\frac{x^{(l)}+x^{(r)}}{2},\frac{y^{(t)}+y^{(b)}}{2}) (2x(l)+x(r),2y(t)+y(b))。实验证明这种方法生成边界框的速度快于传统的目标检测算法。

3.2 Keypoint Detection

关键点检测通常使用一个全卷积的编解码网络来预测一个多通道热图,同时使用 L 2 {\rm L2} L2损失函数或者逻辑斯蒂损失函数来训练网络。当前 S O T A {\rm SOTA} SOTA的关键点检测网络,如 104 {\rm 104} 104层的 H o u r g l a s s N e t {\rm HourglassNet} HourglassNet使用全卷积网络对每个输出通道回归一个热图 Y ^ ∈ ( 0 , 1 ) H × W \hat{Y}∈(0,1)^{H×W} Y^(0,1)H×W,而标注热图 Y ∈ ( 0 , 1 ) H × W Y∈(0,1)^{H×W} Y(0,1)H×W呈由内向外高斯分布。

3.3 CornerNet

C o r n e r N e t {\rm CornerNet} CornerNet的相关信息可参考这里

3.4 Deep Extreme Cut

DEXTR是一种基于极值点的图像分割算法,它以四个极值点和由极值点所包围的图像区域作为输入。而 E x t r e m e N e t {\rm ExtremeNet} ExtremeNet的输出恰好满足 D E X T R {\rm DEXTR} DEXTR的输入形式,以此可以产生更加精细的检测结果,目标掩膜。


4. ExtremeNet for Object Detection

E x t r e m e N e t {\rm ExtremeNet} ExtremeNet B a c k b o n e {\rm Backbone} Backbone H o u r g l a s s N e t {\rm HourglassNet} HourglassNet,网络的输出为 5 × C 5×C 5×C个热图以及 4 × 2 4×2 4×2个偏移图, C C C是类别数。详细内容如下图:
在这里插入图片描述

图3:ExtremeNet网络结构

如上图, C × W C×W C×W是产生热图的大小,第一行共预测 5 5 5个热图,包括四个极值点和一个中心点的热图;第二行预测四个极值点的相对于标注信息的偏移, 2 2 2对应于 x x x y y y方向上的偏移,注意此处没有对中心点预测偏移。

4.1 Center Grouping

由于极值点位于目标的不同侧,嵌入向量不能充分利用全局信息对极值点分组。论文利用极值点的扩展性,提出一种新的分组方法,中心分组

中心分组算法的输入是 4 4 4个极值点热图 Y ^ ( t ) , Y ^ ( l ) , Y ^ ( b ) , Y ^ ( r ) ∈ ( 0 , 1 ) H × W \hat{Y}^{(t)},\hat{Y}^{(l)},\hat{Y}^{(b)},\hat{Y}^{(r)}∈(0,1)^{H×W} Y^(t),Y^(l),Y^(b),Y^(r)(0,1)H×W 1 1 1个中心点热图 Y ^ ( c ) ∈ ( 0 , 1 ) H × W \hat{Y}^{(c)}∈(0,1)^{H×W} Y^(c)(0,1)H×W,通过热图的峰值预测对应的关键点。峰值预测 E x t r e c t P e a k ExtrectPeak ExtrectPeak定义为:找到一个像素,该像素值比阈值 τ p τ_p τp大,并且该像素的值在其 3 × 3 3×3 3×3领域内最大。

通过上述方法找到 4 4 4个极值点后,则其几何中心为 c = ( l x + t x 2 , t y + b y 2 ) c=(\frac{l_x+t_x}{2},\frac{t_y+b_y}{2}) c=(2lx+tx,2ty+by)。如果预测的中心点在 Y ^ ( c ) \hat{Y}^{(c)} Y^(c)处有较大响应,则认为该极值点有效: Y ^ c x , c y ( c ) ≥ τ c \hat{Y}^{(c)}_{c_x,c_y}≥τ_c Y^cx,cy(c)τc τ c τ_c τc为定义的一个阈值)。算法流程为:

在这里插入图片描述

图4:Center Grouping

如上图,算法的输入是 4 4 4个极值点热图、 1 1 1个中心点热图、阈值 τ c τ_c τc τ p τ_p τp,算法的输出是带有置信度的边界框。算法的大致流程是:首先在各热图 Y ^ \hat{Y} Y^中找到极值点,分别为 T 、 L 、 B 、 R T、L、B、R TLBR。然后采用暴力枚举的方式判断每 4 4 4个极值点组合能够构成边界框。如果能,则计算其几何中心点,并判断中心点在中心热图的响应是否大于给定的阈值;否则,丢弃该组预测结果。最后,边界框的置信度为 5 5 5个关键点的置信度的平均值。

4.2 Ghost Box Suppression

中心分组在以下情况会产生一个错误的边界框而且其置信度很高:如果三个物体的尺寸一样,且在空间上呈线性排列。那么此时中间物体的预测边界框会有两个。如下图:
在这里插入图片描述

图5:Ghost Box

如上图,论文中称红色边界框为 G h o s t   B o x {\rm Ghost\ Box} Ghost Box,而绿色边界框为所需结果。为了消除红色边界框对最终检测结果的影响,论文提出的解决办法基于 s o f t   N M S {\rm soft\ NMS} soft NMS,其思路是:如果某个边界框所包围的框的置信度之和超过其自身 3 3 3倍,则将其置信度除以 2 2 2,这时该边界框可能由于置信度低而被滤除。

4.3 Edge Aggregation

极值点在以下情况不是唯一的:如果以物体的水平或垂直边缘形成极值点时,则沿边(如汽车的水平顶部与边界框重合的部分)的任意一点均可认为是极值点。这将导致网络对物体对齐的边缘产生弱响应,而非单个强响应,这主要会带来两方面的问题:(1)较弱的响应可能会低于阈值 τ p τ_p τp,从而产生极值点漏检的情况;(2)即使检测到了极值点,其置信度仍低于具有强响应的略微旋转的物体。

论文提出了边缘聚合的方法解决上述问题。对于每个局部最大的极值点,在垂直方向或水平方向上聚合。将置信度单调递减区间上的极值点聚合到原极值点处。现在定义 m m m为一个极值点, N i ( m ) = Y ^ m x + i , m y N^{(m)}_i=\hat{Y}_{m_x+i,m_y} Ni(m)=Y^mx+i,my为该极值点所在的水平或垂直边。令 i 0 < 0 i_0<0 i00 i 1 > 0 i_1>0 i10为两个最接近的局部最小值,满足 N i 0 − 1 ( m ) > N i 0 ( m ) N^{(m)}_{i_0-1}>N^{(m)}_{i_0} Ni01(m)Ni0(m) N i 1 ( m ) < N i 1 + 1 ( m ) N^{(m)}_{i_1}<N^{(m)}_{i_1+1} Ni1(m)Ni1+1(m)(即上文提到的单调性)。边缘聚合采用以下方式更新极值点的置信度:

Y ~ m = Y ~ m + λ a g g r ∑ i = i 0 i 1 N i ( m ) \tilde{Y}_m=\tilde{Y}_m+λ_{aggr}\sum_{i=i_0}^{i_1}N^{(m)}_i Y~m=Y~m+λaggri=i0i1Ni(m)

下图是边缘聚合的效果:
在这里插入图片描述

图6:Edge Aggregation

如上图在经过边缘聚合后,红色区域的极值点的响应被加强。

4.4 Extreme Instance Segmentation

基于极值点包含的目标信息比边界框丰富,论文提出了一种生成八边形掩膜加粗样式的方法。具体地:对于每个极值点,将其沿相应边的两个方向延伸到整个边缘长度的 1 / 4 {\rm 1/4} 1/4,遇到角时则停止。然后将 4 4 4部分连接起来从而形成八边形(一般情况下为 4 4 4条水平或垂直的边和 4 4 4条倾斜的边,有时会少于 8 8 8条边)。
在这里插入图片描述

图7:生成八边形掩膜

为了生成更加精细的分割边界,论文使用了 D E X T R {\rm DEXTR} DEXTR。将 E x t r e m e N e t {\rm ExtremeNet} ExtremeNet的输出作为 D E X T R {\rm DEXTR} DEXTR的输入,得到一个两阶段实例分割方法。


5. Experiments

论文中训练和测试等阶段的设定等遵循 C o r n e r N e t {\rm CornerNet} CornerNet
在这里插入图片描述

图8:消融实验

在这里插入图片描述

图9:目标检测实验结果对比

在这里插入图片描述

图9:实例分割实验结果对比


6. Conclusion

本文提出了一种自下而上的基于极值点检测的目标检测算法,在一阶段目标检测算法上 S O T A {\rm SOTA} SOTA,并且在图像实例分割任务上得到了优异的结果。总的来说,与 C o r n e r N e t {\rm CornerNet} CornerNet C e n t e r N e t {\rm CenterNet} CenterNet E x t r e m e N e t {\rm ExtremeNet} ExtremeNet关注的是目标在边界处的响应,这更能利用图像中目标的语义信息。同时, E x t r e m e N e t {\rm ExtremeNet} ExtremeNet的检测流程也可以直接转化为实例分割,并产生不错的分割结果。


参考

  1. Law H, Deng J. Cornernet: Detecting objects as paired keypoints[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 734-750.
  2. Zhou X, Zhuo J, Krahenbuhl P. Bottom-up object detection by grouping extreme and center points[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 850-859.
  3. https://blog.csdn.net/weixin_39875161/article/details/93374834.


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值