(三十四)论文阅读 | 目标检测之DDBNet


简介

在这里插入图片描述

图1:论文原文

本文是发表在 E C C V   2020 {\rm ECCV\ 2020} ECCV 2020上的一篇关于目标检测论文,论文的关注点是 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法中的边界框回归过程。由于在 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法中摒弃了锚框的设定,因此如何设置有效的边界框回归目标以及方式格外重要。论文提出的 D D B N e t {\rm DDBNet} DDBNet不断精细化 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法中的边界框回归过程,主要是针对基于中心关键点的 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法的改进。实验结果为 C O C O {\rm COCO} COCO数据集上达到了 S O T A {\rm SOTA} SOTA论文原文


0. Abstract

近年, A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法引起了目标检测的一大研究浪潮,其中边界框回归是这类方法的一大关键。然而,即便是具有很高置信度的边界框仍可能具有很差的定位效果。基于此,论文提出 D D B N e t {\rm DDBNet} DDBNet用于实现更加精确的定位。首先过滤漂移框,因为这类框与真实框具有较大的语义差异性。然后为选定的框划定边界,以此来搜索对齐的边界继而将它们分组成一系列优化后的框,从而能够首先更加精确的定位。

论文贡献:(一)论文提出一种针对 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free的边界框回归方法;(二)语义一致性模块可能有效地过滤掉噪声点,帮助网络更精确地回归;(三) D D B N e t {\rm DDBNet} DDBNet A P {\rm AP} AP达到了 45.5 % {\rm 45.5\%} 45.5%


1. Introduction

目标检测是计算机视觉中的一项重要任务,它的目标是在给定图像中找出所有感兴趣目标,并用矩形框标出其位置和具体类别。当前目标检测算法可划分为 A n c h o r {\rm Anchor} Anchor- B a s e d {\rm Based} Based A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free两种,而近年来后者的热度正逐渐超越前者。然而,尽管 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法取得了实质性的进展,其准确性仍受限于许多因素。至此,论文介绍了两个造成 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法准确性较低的原因:

首先,中心关键点的定义与目标语义信息不合。基于中心关键点是 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free中的一种重要方法,其常用策略是将中心关键点映射到真实框内,如 F C O S {\rm FCOS} FCOS C o r n e r N e t {\rm CornerNet} CornerNet等。但是,在此过程中会不可避免地将噪声点当作训练正样本,这就会造成语义间的不一致,从而降低了检测器的精度。如下图,在基于中心关键点的这类方法中会将图中红色区域的所有点当作正样本处理。但是显然,该红色区域内包含许多背景信息,即大量关键点并不包含前景信息。
在这里插入图片描述

图2:基于中心关键点的不一致性

其次,基于局部区域回归的方式不能很好地获取图像的全局信息。具体地,在基于中心关键点的算法中以基于局部区域的方式回归,这种方法受限于感受野的大小。如下图,中心点以及对应的虚线边界框用相同的颜色标出。尽管每一个边界框都能将目标包括在内,但每个框都没有很好地拟合目标。这是因为,如果该点没有包含图像中的目标关键部分的感受野,则无法精确地识别出目标整体。
在这里插入图片描述

图3:基于中心关键点的方法受限于感受野大小

基于以上两点,论文提出了一种新的边界框回归方法, D D B N e t {\rm DDBNet} DDBNet。该方法包含两大部分:边界框的分解重组语义一致性模块。具体地,首先基于中心关键点形成一系列对于边界框的粗分布预测,这些预测可能并不能很好地拟合目标。然后基于边界框的置信度使用边界框的分解、重组模块将这些预测边界框的边界划分成四个集合,接着使用排序、重组的方法产生更加精确的定位预测。同时,语义一致性模块用于剔除噪声等干扰数据,使模型仅关注有用的关键点。语义一致性模块是一种自适应的方法,且不带有额外的超参数。


2. Related Work

Anchor Based Object Detectors A n c h o r {\rm Anchor} Anchor- B a s e d {\rm Based} Based的方法中, A n c h o r {\rm Anchor} Anchor可被看作是预定义大小和宽高比例的滑动窗口或先验框。在训练过程中 A n c h o r {\rm Anchor} Anchor被划分成正样本和负样本,然后使用偏移量来精细化边界框预测。 A n c h o r {\rm Anchor} Anchor最早出现于两阶段目标检测方法 F a s t e r {\rm Faster} Faster- R C N N {\rm RCNN} RCNN中的 R P N {\rm RPN} RPN。随后,一阶段检测器如 S S D {\rm SSD} SSD R e t i n a N e t {\rm RetinaNet} RetinaNet Y O L O 9000 {\rm YOLO9000} YOLO9000等都引入 A n c h o r {\rm Anchor} Anchor的概念。引入 A n c h o r {\rm Anchor} Anchor的主要目的是帮助网络更好地进行精细化的回归,同时也可以避免大量冗余的计算(主要是相比于滑动窗口而言)。但是 A n c h o r {\rm Anchor} Anchor的一大缺点是需要人为设置大量的超参数,如每个 A n c h o r {\rm Anchor} Anchor的大小以及宽高比例、正负样本采样的阈值等。

Anchor Free Object Detectors A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free检测器直接预测含目标的概率以及边界框的位置信息, D e n s e B o x {\rm DenseBox} DenseBox A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法的先驱,但是其存在无法很好地处理重叠目标的情况而没有被广泛使用。在 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法中,有一类借助 F P N {\rm FPN} FPN实现,如经典的 R e t i n a N e t {\rm RetinaNet} RetinaNet F S A F {\rm FSAF} FSAF等;另一类是基于关键点的方法,如 C o r n e r N e t {\rm CornerNet} CornerNet C e n t e r N e t {\rm CenterNet} CenterNet等。

与上面提出的基于关键点的 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法不同,论文的创新点在于:论文方法侧重在中层语义上表征目标,旨在在精确度和特征建模间达到平衡;该方法不需要引入嵌入向量。此外,显然 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free方法会引入大量低质量的预测框。为了抑制低质量的边界框, F C O S {\rm FCOS} FCOS提出 c e n t e r n e s s {\rm centerness} centerness模块; F o v e a B o x {\rm FoveaBox} FoveaBox基于人眼原理滤除掉靠近边界的像素。论文基于 F C O S {\rm FCOS} FCOS的思想提出了语义一致性模型用于滤除低质量的边界框。


3. Our Approach

D D B N e t {\rm DDBNet} DDBNet基于 F C O S {\rm FCOS} FCOS实现,如下图,其由边界框分解、组合语义一致性模块组成。
在这里插入图片描述

图4:DDBNet

首先, D & R {\rm D\&R} D&R模块在回归分支前重组预测边界框并将它们划为边界用以训练。在训练阶段,一旦在每个像素位置产生了预测边界框, D & R {\rm D\&R} D&R模块将预测的边界框划分成四个方向的边界。然后,在同一方向内的边界框基于相对于真实框的偏移排序。因此,通过重组排序后的预测框,模型能够产生更加精确的预测结果。

其次,通过添加新的语义分支来替换 F C O S {\rm FCOS} FCOS中的 c e n t e r n e s s {\rm centerness} centerness分支引入语义一致性模块,并通过分类分支和回归分支的输出来优化该模块。

3.1 Box Decomposition and Recombination

对于实例 I I I,实例上的每个像素点 i i i对应回归一个边界框 p i = { l i , t i , r i , b i } p_i=\{l_i,t_i,r_i,b_i\} pi={li,ti,ri,bi}。将这一系列的边界框表示为 B I = { p 0 , p 1 , . . . , p n } B_I=\{p_0,p_1,...,p_n\} BI={p0,p1,...,pn},其中 l , t , r , b l,t,r,b l,t,r,b分别表示边界框的左、上、右、下边界。通常,基于 I o U IoU IoU损失的回归表示如下:
L I o U = − 1 N p o s ∑ I ∑ i n log ⁡ ( I o U ( p i , p I ∗ ) ) (1) L_{IoU}=-\frac{1}{N_{pos}}\sum_I\sum_i^n\log(IoU(p_i,p_I^*))\tag{1} LIoU=Npos1Iinlog(IoU(pi,pI))(1)

其中, N p o s N_{pos} Npos表示实例中的正样本像素数、 p I ∗ p_I^* pI表示回归目标。简要地说, D & R {\rm D\&R} D&R模块基于 I o U IoU IoU损失再产生更加精确的预测 p i p_i pi。如下图, D & R {\rm D\&R} D&R模块由四个部分组成:
在这里插入图片描述

图5:D&R

Decomposition 将预测的边界框 p i p_i pi划分成四个边界 l i l_i li t i t_i ti r i r_i ri b i b_i bi p i p_i pi p I ∗ p_I^* pI之间的交并比 s i s_i si作为边界的置信度。如上图 ( a ) {\rm (a)} (a),黑色为真实框,其余三种颜色的框为预测框。 S ∗ S_* S分别表示对应边界框与真实框的交并比,也即表示该边界框的置信度。对于实例 I I I,得到一个表示边界置信度的大小为 N × 4 N×4 N×4的矩阵 S I S_I SI。然后,基于方向将所有边界划分成四个集合: l e f t I = { l 0 , l 1 , . . . , l n } left_I=\{l_0,l_1,...,l_n\} leftI={l0,l1,...,ln} r i g h t I = { r 0 , r 1 , . . . , r n } right_I=\{r_0,r_1,...,r_n\} rightI={r0,r1,...,rn} b o t t o m I = { b 0 , b 1 , . . . , b n } bottom_I=\{b_0,b_1,...,b_n\} bottomI={b0,b1,...,bn} t o p I = { t 0 , t 1 , . . . , t n } top_I=\{t_0,t_1,...,t_n\} topI={t0,t1,...,tn}

Ranking I o U IoU IoU损失的目标是找到与真实框具有最大交并比的边界框。因此,可能考虑的最佳方案是拟合出目标的每一条最佳边界。但是,如果直接将所有的边界进行组合,这时的时间复杂度是 O ( n 4 ) O(n^4) O(n4)。为了避免如此高的时间复杂度,论文采取一种简单有效的排序策略。对于实例 I I I,首先计算与真实边界 p I ∗ = { l I , r I , b I , t I } p_I^*=\{l_I,r_I,b_I,t_I\} pI={lI,rI,bI,tI}的偏移 δ I l , δ I r , δ I b , δ I t \delta_I^l,\delta_I^r,\delta_I^b,\delta_I^t δIl,δIr,δIb,δIt。然后,基于偏移对每个边界集合进行排序,如上图 ( b ) {\rm (b)} (b)。与真实边界更近的预测边界的排序分数更高,实验结果证明该排序策略效果很好且不会影响网络的训练。

Recombination 如上图 ( c ) {\rm (c)} (c),在上一步四个集合中具有相同排序位的边界组合成边界框 B I ′ = { p 0 ′ , p 1 ′ , . . . , p n ′ } B_I^{'}=\{p_0^{'},p_1^{'},...,p_n^{'}\} BI={p0,p1,...,pn}。然后 p i ′ p^{'}_i pi p i ∗ p^{*}_i pi间的交并比 s i ′ s_i^{'} si作为重组后对应边界的置信度。置信度用 N × 4 N×4 N×4的矩阵 S I ′ S_I^{'} SI表示。简单来说,即首先将边界框拆分成四条边界,然后根据边界与真实边界的交并比挑选出四个最佳的边界,继而将这四个边界组成边界框。

Assignment 现在,我们得到了两组关于边界的得分 S I S_I SI S I ′ S_I^{'} SI,最后将二者较高的值作为边界最终的置信度。该分配策略主要基于如下准则:低排序位框的边界离真实框边界较远,而重组后的置信度 s i ′ s_i^{'} si低于原置信度 s i s_i si。置信度的变化较大造成了训练过程的不稳定。因此,为了稳定训练过程,每个边界都基于 I o U {\rm IoU} IoU损失优化。特别地,最后的回归损失由两部分组成: L I o U D & R = 1 N ∑ I ( 1 S I ′ > S I L I o U ( B I ′ , T I ) + 1 S I ≥ S I ′ L I o U ( B I , T I ) ) (2) L_{IoU}^{D\&R}=\frac{1}{N}\sum_I({\bold 1}_{S_I^{'}>S_I}L_{IoU}(B_I^{'},T_I)+{\bold 1}_{S_I≥S_I^{'}}L_{IoU}(B_I,T_I))\tag{2} LIoUD&R=N1I(1SI>SILIoU(BI,TI)+1SISILIoU(BI,TI))(2)

损失函数中引入指示函数,使得在训练模型的过程中选择与真实框具有更高交并比的边框。这里,由于最终边框的边界可能来自不同边界框,所以这种方式实际上是一种实例级的操作。并且,在此过程中不会引入额外参数,而仅仅是改变了梯度更新的方式。

3.2 Semantic Consistency Module

由于 D & R {\rm D\&R} D&R模块的性能在一定意义上依赖于预测的边界框,所以急需一种高效的使网络集中于正样本而过滤掉负样本和噪声的方法。在以前的方法中,将实例边界框中心部分的样本定位为正样本,如图 ( 2 ) (2) (2)中的红色区域。而论文采取的是另一种不需要额外计算量的方法,在一定程序上加速了模型的运行。语义一致性模块的思想如下:
{ C I ↓ ‾ ∩ R I ↓ ‾ ←   n e g a t i v e C I ↑ ‾ ∪ R I ↑ ‾ ←   p o s i t i v e ,   c i = max ⁡ j = 0 g ( c j ) ∈ C I (3) \left\{ \begin{aligned} \overline{C_{I\downarrow}}\cap \overline{R_{I\downarrow}}& \leftarrow\ {\rm negative}\\ \overline{C_{I\uparrow}}\cup \overline{R_{I\uparrow}}& \leftarrow\ {\rm positive} \end{aligned} \right. ,\ c_i=\max^{g}_{j=0}(c_j)\in C_I\tag{3} {CIRICIRI negative positive, ci=j=0maxg(cj)CI(3)

其中, R I R_I RI表示在实例 I I I内的预测框与真实框的交并比集合, R I ‾ \overline{R_I} RI是得分的平均值, R I ↓ ‾ \overline{R_{I\downarrow}} RI表示低于平均值的部分、 R I ↑ ‾ \overline{R_{I\uparrow}} RI表示高于平均值的部分。 c i ∈ C I c_i\in C_I ciCI表示第 i i i个像素的所有类别中的最大得分。类似地, C I ↓ ‾ \overline{C_{I\downarrow}} CI表示低于平均值的部分、 C I ↑ ‾ \overline{C_{I\uparrow}} CI表示高于平均值的部分。值得注意的是,在这种方法中为了防止在训练过程中过滤掉不正确的类别,采用的是类别不可知的方法。如下图:
在这里插入图片描述

图6:语义一致性模块

如上图, R I ↓ ‾ \overline{R_{I\downarrow}} RI C I ↓ ‾ \overline{C_{I\downarrow}} CI交集部分的像素定义为负样本, R I ↑ ‾ \overline{R_{I\uparrow}} RI C I ↑ ‾ \overline{C_{I\uparrow}} CI交集部分的像素定义为正样本。同时,如果像素同时覆盖了多个目标,则该像素表示较大的那个目标。

此外,式 ( 3 ) (3) (3)能够自适应控制正负样本的比例,并通过实验证明该方法比手动控制正负样本比例的方式更佳。然后,像 F C O S {\rm FCOS} FCOS一样,使用所有的正样本像素点训练模型。区域一致性模块通过在原始网络中添加分支实现,其通过以下损失函数优化: L c o n = 1 N p o s ∑ I ∑ i ∈ C I ↑ ‾ ∪ R I ↑ ‾ C E ( r i , I o U ( p i , p I ∗ ) ) (4) L_{con}=\frac{1}{N_{pos}}\sum_{I}\sum_{i\in \overline{C_{I\uparrow}}\cup \overline{R_{I\uparrow}}}CE(r_i,IoU(p_i,p_{I}^*))\tag{4} Lcon=Npos1IiCIRICE(ri,IoU(pi,pI))(4)

最后, D D B N e t {\rm DDBNet} DDBNet的总的损失函数如下:
L = L c l s + L r e g D & R + L c o n (5) L=L_{cls}+L_{reg}^{D\&R}+L_{con}\tag{5} L=Lcls+LregD&R+Lcon(5)


4. Experiments

在这里插入图片描述

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

在这里插入图片描述

图8:各创新点的实验结果对比


5. Conclusion

论文提出一种 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free检测器 D D B N e t {\rm DDBNet} DDBNet,首次提出边界框的分解与重组的概念。边界框的分解和重组过程优化了边界框的生成,同时提出语义一致性模块来提取高质量的训练样本。总之,论文中提出的边界框的分解与重组概念还是比较新颖的,提出了一种全新的生成边界框的方法。


参考

  1. Chen R, Liu Y, Zhang M, et al. Dive Deeper Into Box for Object Detection[J]. arXiv preprint arXiv:2007.14350, 2020.


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值