Cascade RetinaNet 论文学习

提出Cas-RetinaNet,一种改进的单阶段目标检测器,通过增强分类置信度与定位一致性及特征一致性,显著提升了RetinaNet的检测性能。

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

论文地址:https://arxiv.org/abs/1907.06881v1

Abstract

最近很多研究都在尝试通过级联的方式来提升单阶段目标检测器的检测性能。在这篇论文中,作者分析并发现不一致性是制约此类模型表现的一个主要因素。这些模型将优化后的 anchors(预测边框) 和之前位置提取的特征联系起来,造成分类与定位无法对齐。作者针对级联方式提出了两个设计规则:提高分类置信度和定位表现的一致性维持不同阶段中特征的一致性。本文提出了一个多阶段目标检测器 Cas-RetinaNet,降低不一致性。它由多个连续的阶段组成,在训练过程中 IoU 的阈值逐渐递增,从而提升关联程度,以及一个创新的特征一致性模块(Feature Consistency Module),缓解特征的不一致性。实验证明,Cas-RetinaNet 在不同模型和输入尺度上的表现都很稳定。在 MS COCO 数据集上,该方法将 RetinaNet 的 AP 由 39.1 提升到了 41.1。

1. Introduction

目标检测是计算机视觉领域的基础任务,在近些年中因为深度学习的兴起取得了显著的进步。现在的检测流程可以分为两类:单阶段和双阶段检测。一般而言,双阶段方法(如 Faster R-CNN)的性能是最佳的。单阶段方法(如 SSD和YOLO)在保持性能的同时也可以实现实时的速度,受到越来越多的关注。

最近的研究都试图从多个不同的角度来提升检测性能。一个简单的想法就是多增加几个阶段,多进行几次分类和回归,进而得到更加准确的置信度得分和定位表现。Cascade R-CNN 通过级联子网络逐步提升候选区域的质量,改进双阶段方法。至于单阶段方法,RefineDet 采用了一个改良模块来模拟双阶段方法中的回归步骤。Consistent Optimization 方法将后续的分类目标附到回归边框上,降低训练阶段和测试阶段的差异。但是,级联方式的单阶段方法都忽略了特征一致性,这就限制了它们的性能。例如,RetinaNet 是目前 SOTA 的单阶段目标检测方法,它从特征金字塔上生成预测边框,通过预测边框中心点的特征对每个预测边框进行分类和回归。如果我们对 RetinaNet 增加级联阶段,第一个阶段输出的预测边框与原来的预测边框在中心点的位置会有一些变动。绝大多数的单阶段方法都是通过滑动窗方式进行特征提取,它是基于原来的位置,而非回归后的新位置,因此在不同的级联阶段中,特征不一致性就肯定会出现。

在这篇论文中,作者发现单纯地往 RetinaNet 中添加与原始设定一样的级联阶段是无益的。原因主要有2个:分类置信度和定位表现的不一致性,不同阶段中的特征不一致性。在 RetinaNet 中,如果 IoU 大于某个阈值(如0.5),该预测边框就被认为是 positive。这也就是说,不管实际的 IoU 是0.55还是0.95,要分类的目标是一样的。所以分类置信度就没法反映定位的精度,如 IoU-Net 提到的。作者发现,在训练过程中以级联的方式,逐步提高后续阶段 IoU 的阈值,有助于解决不一致的问题,因为分类目标与实际 IoU 逐渐趋向一致。为了解决特征不一致性,本文提出了一个简单而有效的特征一致性模块(FCM),使特征可以适应改良后的新位置。特别地,该方法可以预测特征图上每一位置的偏移量,并通过一个简单的 deformable convolution 层为后续阶段生成优化后的特征图。通过级联的方式,检测器的 IoU 会逐渐上升,检测结果逐步得到优化。

本文主要贡献如下:

  • 探讨了特征不一致问题,针对级联单阶段目标检测提出了2个设计规则:改进分类置信度和定位表现的一致性,以及保持不同阶段的特征一致性
  • 为了提高分类置信度的可靠性,在级联中逐渐增加 IoU 阈值。另外提出了FCM来环节不同阶段中的特征不一致问题。
  • Cas-RetinaNet 的表现很稳定,在 RetinaNet 基础上实现了性能提升。

2. Related Work

经典目标检测器:在深度卷积网络之前,很多年都是滑动窗模式在主导目标检测。该领域大多数的进展都与人工图像描述符(如HOG和SIFT)有关。基于这些强大的特征,DPMs 将这些密集检测器拓展到了更加通用的物体类别上,在 PASCAL VOC 上取得了非常优异的成绩。

双阶段目标检测器:现在的目标检测领域,Faster R-CNN 是双阶段检测器的代表,它在多个基准上都处于领先的位置。人们后来又提出了多个扩展版本来提升其性能,包括采用多任务学习机制,构建特征金字塔,利用级联的方式。

单阶段目标检测器:和双阶段方法相比,单阶段方法旨在实现实时的速度,而保留其性能。OverFeat 算是第一个基于深度学习的单阶段目标检测器。YOLO和SSD 省略了候选区生成步骤,直接预测分类得分和边框回归偏移。最近 Lin 等人指出前景、背景类别的不均衡极大地制约了模型性能,因而提出了 Focal Loss 来提升准确率。一般而言,绝大多数的单阶段检测器都遵循滑动窗的思路,通过全卷积网络在每个位置都预测得分和偏移,这有助于降低计算复杂度。

不一致的分类和定位准确率:在大多数的目标检测器中,非极大抑制(NMS)都是去除重复边框的重要手段。它以迭代的方式运行。在每个迭代中,选取分类置信度最高的边框,然后通过一个IoU 阈值来抑制其相邻边框。分类置信度与定位准确度之间的不一致可能导致以下情形,在NMS过程中准确定位的边框被没那么准确的边框抑制。所以,IoU-Net 对每个候选框,预测其 IoU 得分,减少不一致性。

级联分类和回归:将多个阶段级联起来是一个非常简单的想法,意图取得更准确的置信度和定位精度。有些工作已经尝试了在早期阶段使用类似级联的方式来排斥容易样本,然后迭代地进行边框回归。但是,传统方法(尤其是单阶段方法)忽视了不同级联阶段中的特征一致性,因为它们中的大多数都是通过全卷积的方式从原始位置上提取特征。双阶段方法利用 RoI-Pooling 或 RoI-Align 提取的特征来生成预测结果。这些操作降低了不同阶段中对不齐的情况,因为特征和边框中心的相关程度没有很强。而在单阶段方法中,滑动窗方式将边框特征和边框中心对齐。下一阶段中改良后的边框与上一阶段提取的特征相关联,这就限制了模型检测的性能。

3. Analysis in Cascade Manner

在这一节中,作者主要探讨了一个简单但很重要的问题:在单阶段模型中,什么样的阶段可以作为级联?作者认为,主要有2个关键的设计规则:提升分类置信度和定位表现的一致性,维持不同阶段之间的特征一致性。

3.1 Misaligned Classification and Localization

一般而言,对于双阶段检测器,进行多次分类和回归可以逐步地提高检测效果,尤其是定位精度。但是作者发现,将网络按照其原始设定单纯地增加额外的阶段,对单阶段检测器是无益的。作者分析该现象后发现这是因为,分类置信度和定位精度之间的不一致。在级联的单阶段检测器中,预定义的 anchors 作为第一阶段的输入,然后加入回归偏移量来生成新的边框,作为第二阶段的输入。如图1(a)所示,在第一阶段中,较高 IoU 的边框并没有和较高分类置信度的边框很好地关联起来,尤其是那些置信度在 I o U @ 0.5 IoU@0.5 IoU@0.5附近的。不一致的置信度就会限制整体的性能。

为了降低其不良影响,作者在后续阶段中逐渐升高 IoU 阈值,修改正样本的判断条件,这样只有高质量的样本才被选为正样本。但是,IoU阈值过高则会导致训练正样本过少,造成检测性能退化。从本文实验中,作者发现逐渐升高 IoU 阈值可以提升性能。

3.2 Feature Inconsistency

大多数的单阶段方法都是通过滑动窗,在边框位置上进行特征选取。由于特征是以全卷积的方式提取出来的,滑动窗方法能够将边框特征和 边框中心很好地对齐。例如,RetinaNet 有一个小型的全卷积网络,其中包含4个卷积层用于特征提取,在不同的分支中有单个的卷积层来做预测。特征图上每个位置的预测包括了不同边框形状的分类与回归。

在级联方式中,边框在加上回归偏移后就会变换到不同的位置。如图2(a)所示,原来的边框(橘色边框)就回归为了红色边框。从特征网格(b)的视角来看,利用了一个小型的全卷积网络,将边框特征从橘色点的位置提取出来。如果在同样的特征图上,我们只简单地添加新的阶段,那么改良后的边框特征仍然是从这个橘色点提取而来,导致特征不一致。这种边框特征和边框位置的不一致性,就会极大地损害检测性能。为了维持不同阶段之间特征的一致性,改良后的边框应该被调整到新的位置上。

4. Cascade RetinaNet

在这一节,作者首先回顾了 RetinaNet,然后提出了 Cas-RetinaNet,在 RetinaNet 上增加了若干级联 heads。整体结构如图3所示。

4.1 RetinaNet

RetinaNet 是单阶段检测方法的代表结构,表现是 state of the art 的。它由主干网络和两个具体任务的子网络构成。主干网络为特征金字塔网络(FPN),用于构建多尺度特征金字塔。在特征金字塔之上是分类子网络和边框回归子网络,分别预测类别和修正边框位置。这两个子网络的参数在所有的金字塔层级上共享。由于前景和背景类别的极端不均衡,作者使用了 Focal Loss 来避免在训练过程中,出现过多的 easy negative 样本。

4.2 Cas-RetinaNet

级联检测。困难的检测任务可以通过级联方式拆分为一组简单的阶段。前一阶段的输出可以看作为下一阶段的输入。一般而言,第 i i i个阶段的损失函数可以写作:

L i = L c l s ( c i ( x i ) , y i ) + λ i 1 [ y i ≥ 1 ] L l o c ( r i ( x i , b i ) , g ) L^i = L_{cls} (c_i(x^i), y^i) + \lambda ^i \mathbb{1}[y^i \geq 1] L_{loc} (r_i(x^i, b^i), g) Li=Lcls(ci(xi),yi)+λi1[yi1]Lloc(ri(xi,bi),g)

其中, x i , c i , r i x^i, c_i, r_i xi,ci,ri 分别代表第 i i i个阶段的主干网络特征、分类head和回归 head。 b i , g b^i, g bi,g分别代表预测边框和 groundtruth 边框, b 0 b_0 b0代表预定义的边框。计算 b i b^i bi g g g 之间的 IoU 来判断边框标签 y i y^i yi。如果 IoU 大于阈值 T + i T^i_+ T+i,给 b i b^i bi 指定 ground-truth 目标边框;如果 I o U ∈ [ 0 , T − i ] IoU\in [0, T^i_-] IoU[0,Ti],则它为背景。由于每个输入边框最多被指定到一个 ground truth 目标边框,我们可以将类别标签转化为一个 one-hot 向量,进而得到 y i y^i yi。在训练时,不考虑没有指定的样本。基于此,原来的 Focal Loss 和 Smooth L 1 L_1 L1 损失就用 L c l s L_{cls} Lcls L r e g L_{reg} Lreg表示。当 y i ≥ 1 y^i \geq 1 yi1时,指标函数 1 [ y i ≥ 1 ] \mathbb{1}[y^i \geq 1] 1[yi1]就等于1,不然就等于0。 λ i \lambda^i λi用于平衡前项和后项,默认值为1。级联检测的整体损失函数如下:

L = α 1 L 1 + α 2 L 2 + . . . + α i L i + . . . + α N L N L = \alpha_1 L^1 + \alpha_2 L^2 + ... + \alpha_i L^i + ... + \alpha_N L^N L=α1L1+α2L2+...+αiLi+...+αNLN

平衡系数 α 1 , . . . , α N \alpha_1, ..., \alpha_N α1,...,αN默认值为1。

分类与定位的不一致性。如3.1节所分析的,分类置信度和定位精度之间存在巨大的差距。这主要是采样方法造成的,它决定训练的样本和权重。具体地说,不管实际的 IoU 是 0.55 还是 0.95,只要 I o U ( b 1 , g ) ≥ T + 1 ( 0.5 ) IoU(b^1, g) \geq T^1_+ (0.5) IoU(b1,g)T+1(0.5) y 1 y^1 y1就设为该类别。一个简单的想法就是,逐渐地增加前景 IoU 阈值,驱使分类置信度与定位精度一致。作者在后面的阶段依经验增加 IoU 阈值,如 T + 2 = 0.6 T^2_+=0.6 T+2=0.6。如图1(b)所示,分类与定位的特征一致性得到改善。注意, b i − 1 b^{i-1} bi1 b i b^i bi的回归目标可以不同,作者在不同的阶段中给边框指定不同的 ground truth 边框。通过各阈值,我们就可以得到相应的分类标签和回归目标。

特征一致性模块(FCM)。从上面的公式可见,作者基于主干网络特征 x i x^i xi来预测分类得分和回归偏移量。当前的级联检测器通常在多个阶段中采用相同的 x x x,这会带来特征的不一致性,因为没有考虑到位置的转换。本文中,作者希望在下一阶段的特征中编码当前的位置信息,就像图2中的位置由橘点变换到红点。作者提出了一个新的 FCM,将特征修正至新的位置。如图3©右边部分所示,基于 x i x^i xi,我们就可以学习到位置的变换偏移量,使用了一个 deformable 卷积层来修正特征 x i + 1 x^{i+1} xi+1。FCM可以表述为:

x i + 1 = F C M ( x i ) = D e f o r m a b l e ( x i , o f f s e t ( x i ) ) x^{i+1} = FCM(x^i) = Deformable(x^i, offset(x^i)) xi+1=FCM(xi)=Deformable(xi,offset(xi))

x i x^i xi之上,使用了一个 1 × 1 1\times 1 1×1卷积层来为 deformable 卷积的 3 × 3 3\times 3 3×3个 bins 计算偏移量。然后将 x i x^i xi和偏移量输入进一个 3 × 3 3\times 3 3×3 deformable 卷积层,产生一个新的特征图 x i + 1 x^{i+1} xi+1。Guided Anchoring 同样采用了 deformable 卷积来对齐特征,但是其主要是针对预测边框不规则的形状造成的特征表现不一致的情况。从实验中可以看出,作者证明了在不同设定中,FCM能够稳定地提升检测性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值