RetinaNet论文翻译

2023-10-19 07:10
文章标签 翻译 论文 retinanet

本文主要是介绍RetinaNet论文翻译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文原文:https://arxiv.org/abs/1708.02002v2
代码:GitHub - facebookresearch/Detectron: FAIR's research platform for object detection research, implementing popular algorithms like Mask R-CNN and RetinaNet.
标记意义
test个人的理解
test本段重点
test不太懂的翻译
test(加粗)重点关注文本

目录

Focal Loss for Dense Object Detection
Abstract
1. Introduction
2. Related Work
3. Focal Loss
        3.1. Balanced Cross Entropy
        3.2. Focal Loss Definition
        3.3. Class Imbalance and Model Initialization
        3.4. Class Imbalance and Two-stage Detectors
4. RetinaNet Detector
        4.1. Inference and Training
5. Experiments
        5.1. Training Dense Detection
        5.2. Model Architecture Design
        5.3. Comparison to State of the Art
6. Conclusion
References


Focal Loss for Dense Object Detection

作者:Tsung-Yi Lin Priya Goyal Ross Girshick Kaiming He Piotr Dollar ´
Facebook AI Research (FAIR)

译者:I will,Sichuan University

Abstract

       迄今为止精度最高的物体探测器是基于R-CNN推广的两阶段方法,其中分类器应用于候选物体位置的稀疏集。相比之下,对可能的物体位置进行常规、密集采样的单级探测器有更快、更简单的潜力,但到目前为止,它的精度落后于两级探测器。在本文中,我们研究了为什么会出现这种情况。我们发现,在密集检测器训练过程中遇到的极端的前景背景类不平衡是主要原因我们提议通过重塑标准交叉熵损失来解决这种类别不平衡,以便降低分配给分类良好的样例的损失的权重我们的新颖的 Focal Loss 将聚焦训练在一个硬例子的稀疏数据集上,并防止训练过程中大量的简单否定样本使检测器无效。为了评估损失的有效性,我们设计并训练了一个简单的密集检测器,我们称之为RetinaNet。我们的结果表明,当使用 Focal Loss 训练时,RetinaNet能够与以前的一级检测器的速度相匹配,同时超过所有现有最先进的两级检测器的精度。

1. Introduction

       目前最先进的目标探测器是基于两阶段的 proposal-driven mechanism[提议驱动机制]。在R-CNN框架[11]中,第一阶段生成候选对象位置的稀疏集,第二阶段使用卷积神经网络将每个候选位置分类为前景类之一或背景。通过一系列的改进[10,27,19,13],这个两阶段框架在具有挑战性的COCO基准[20]上始终保持最高的精度。

       尽管两级探测器取得了成功,一个自然的问题是:一个简单的一级探测器能否达到类似的精度? 一阶段探测器应用于对象位置、尺度和纵横比的常规、密集采样。最近关于单级探测器的研究,例如 YOLO[25,26]和SSD[21,9]证明了有希望的结果,相对于最先进的两阶段方法,其产生了更快的探测器,精度在10-40%之内。

       这篇论文更进一步: 我们提出了一个单阶段对象检测器,这是第一次单阶段检测器匹配最先进的、更复杂的两级探测器的COCO AP,这些两级检测器如特征金字塔网络(FPN)[19] 或 Mask R-CNN[13] 的 Faster R-CNN[27]变体为了实现这一结果,我们将训练期间的类别不平衡确定为一级检测器实现最先进精度的主要障碍,并提出了一个新的损失函数来消除这一障碍

       像R-CNN的目标检测器通过两阶段级联和启发式抽样解决类不平衡通过两阶段级联和抽样解决类别不平衡问题提议阶段(例如,Selective Search [34], EdgeBoxes [37],DeepMask [23,24], RPN[27])快速将候选对象位置的数量缩小到少量(例如,1-2k),过滤掉大部分背景样本在第二分类阶段,进行启发式抽样,例如固定前景与背景比(1:3),或在线硬示例挖掘(OHEM)[30],以保持前景和背景之间的可管理的平衡

       相比之下,单级检测器必须处理在图像中定期采样的更大的候选对象位置集。在实践中,这通常相当于枚举~ 100k个位置,密集地覆盖空间位置、规模和纵横比。虽然类似的启发式抽样也可以应用,但它们的效率很低,因为训练过程仍然由容易分类的背景样本主导。这种低效率是目标检测中的一个经典问题,通常通过 bootstrapping[32,28] 或 hard example mining[36,8,30]等技术来解决

       在这篇文章中,我们提出了一个新的损失函数,作为一个更有效的替代方法来处理分类不平衡。损失函数是一个动态缩放的交叉熵损失,其中缩放因子随着正确类的置信度的增加而衰减为零,参见图1。直观地说,这个比例因子可以在训练过程中自动降低简单示例的贡献,并快速将模型集中在困难示例上。实验表明我们提出的 Focal Loss使我们可以训练一个高精度的单阶段检测器,这大大优于使用启发式采样和硬例挖掘训练的替代方案,启发式采样和硬例挖掘是以前训练单阶段检测器最先进的技术。最后,我们注意到 Focal Loss 的确切形式并不重要,我们展示了其他实例可以达到类似的结果。

        为了证明所提出的焦点损失的有效性,我们设计了一个简单的单阶段目标探测器称为RetinaNet,因其对输入图像中物体位置的密集采样而得名。其设计特点是高效的网络内特征金字塔和锚框的使用。它借鉴了[21,6,27,19]的各种最新观点。视网膜网是高效和准确的,是我们最好的模型。其基于ResNet-101-FPN主干网络,在以5 fps 运行时实现了COCO test-dev数据集上39.1的AP,超过了之前发布的最佳的单级和两级检测器模型,详见图2。

图2: COCO test-dev 上的速度(毫秒)与准确性(AP)。在Focal Loss 的支持下,我们的简单 单阶段RetinaNet检测器性能优于所有以前的单级和两级检测器,包括来自[19]的最佳报道Faster R-CNN[27]系统。我们用ResNet-50-FPN(蓝色圆圈)和ResNet-101-FPN(橙色菱形)在五个尺度(400-800像素)上展示了RetinaNet的变体。忽略低精度区域(AP<25),RetinaNet 形成了所有当前检测器的上包络,并且训练时间较长的变体(未显示)达到39.1 AP。详细信息在§5中给出。

2. Related Work

       Classic Object Detectors: 滑动窗口范式是一种将分类器应用于密集图像网格的方法,它有着悠久而丰富的历史。最早的成功之一是LeCun等人的经典工作,他们将卷积神经网络应用于手写数字识别[18,35]。Viola和Jones[36]使用增强物体探测器进行人脸检测,导致这种模型被广泛采用。HOG[4]和完整通道特征的引入[5]产生了有效的行人检测方法。DPMs[8]将密集检测器扩展到更一般的对象类别,并在PASCAL[7]上获得了多年的最佳结果。虽然滑动窗口方法是经典计算机视觉中的主要检测范式,但随着深度学习[17]的复兴,接下来描述的两级检测器迅速主导了目标检测。

       Two-stage Detectors: 现代目标检测的主导范式是基于两阶段方法。正如在选择性搜索工作[34]中首创的那样,第一阶段生成一个稀疏的候选建议集,该集合应包含所有对象,同时过滤掉大多数负位置,并且第二阶段将提案分为前景类和背景类。R-CNN[11]将第二阶段分类器升级为卷积网络,在精度上获得了很大的提高,并迎来了现代目标检测时代。R-CNN在过去的几年里得到了改进,无论是在速度方面[14,10]还是通过使用学习对象提议[6,23,27]。区域提议网络(Region Proposal Networks, RPN)将提议生成和第二阶段分类器集成到一个卷积网络中,形成了Faster- RCNN框架[27]。对该框架的许多扩展已经被提出,例如[19,30,31,15,13]。

       One-stage DetectorsOverFeat[29]是第一个基于深度网络的现代单阶段目标检测器之一。最近,SSD[21,9]和YOLO[25,26]对单阶段方法重新产生了兴趣。这些探测器已经调整了速度,但其精度落后于两阶段方法。SSD的AP降低了10-20%,而YOLO则专注于更极端的速度/精度权衡。参见图2。最近的工作表明,通过降低输入图像的分辨率和建议的数量,两级检测器可以被做的很简单快速,但是即使是在大量的计算预算下,单阶段方法的精度也会落后。与此相反,这项工作的目的是了解在运行速度相似或更快的情况下,一级探测器是否能达到或超过两级探测器的精度。

       我们的RetinaNet检测器的设计与以前的密集检测器有许多相似之处,特别是RPN[27]引入的“锚”概念,以及SSD[21]和FPN[19]中使用的特征金字塔我们强调,我们的简单检测器达到顶级结果不是基于网络设计的创新,而是由于我们的新损失

       Class Imbalance: 无论是经典的单阶段目标检测方法,如增强检测器[36,5]和DMPs[8],还是最近的方法,如SSD[21],在训练过程中都面临着很大的类不平衡。这些检测器每张输入图片将估计10_4-10_5个候选位置,但只有少数位置包含对象。这种不平衡导致了两个问题: (1)训练效率低,大多数位置是 easy negatives[易分负样本: 很容易辨别的负样本,该类的概率很高,训练过程中损失值很低],没有提供有用的学习信号; (2)总体而言,easy negatices 会压倒训练,导致模型退化。一个常见的解决方案是执行某种形式的硬负例挖掘[32,36,8,30,21],在训练或更复杂的采样/重加权方案[2]中对硬示例进行采样。相比之下,我们提出的焦点损失自然地处理了单级检测器面临的类不平衡,并允许我们在所有示例上有效地训练,而无需采样,也没有 easy negatives 压倒损失和计算梯度。

       Robust Estimation: 人们对设计鲁棒损失函数(例如Huber损失[12])很感兴趣,它通过降低具有大误差的示例(hard examples)的损失权重来减少异常值的贡献。相比之下,我们的焦点损失不是解决异常值,而是通过降低内值(easy examples)的权重来解决类别不平衡,这样即使内值的数量很大,它们对总损失的贡献也很小。换句话说,focal loss 起到了与 robust loss 相反的作用:它将训练重点放在稀疏的硬示例集上。

3. Focal Loss

       焦点损失旨在解决单阶段目标检测场景,其中在训练期时前景和背景类之间存在极端不平衡(例如,1:100)。我们从交叉熵(CE)损失开始引入焦点损失,用于二分类:

 在上面,y∈{±1}指定了ground-truth[标注框]类类别,p∈[0,1]是模型对标签为y = 1的类的估计概率。为了便于标记,我们定义p_t:

并且,重写CE(p, y) = CE(p_t) =−log(p_t)。

       CE损耗如图1中蓝色(顶部)曲线所示。这种损失的一个值得注意的性质,可以很容易地在它的图中看到,就是即使是很容易分类的例子(p_t >> 5)也会产生非平凡量级的损失。 当把大量简单的例子加起来时,这些小的损失值可以压倒罕见的类别

3.1. Balanced Cross Entropy

       解决类不平衡的常用方法是为类1引入权重因子α∈[0,1],为类−1引入1−α。在实践中,α可以通过类别频率倒数来设置,也可以通过交叉验证来设置的超参数。为了便于标记,我们用类似于定义p_t的方式定义α_t。我们将α平衡的CE损失写成:

这一损失是CE的一个简单扩展,我们将其作为我们提出的 Focal Loss 的实验基线。

3.2. Focal Loss Definition

       正如我们的实验将表明的那样,在密集检测器训练过程中遇到的大类别不平衡压到了交叉熵损失。容易分类的负样本构成了大部分的损失,并主导了梯度。而α虽然平衡了正/负例子的重要性,但是它不区分简单/困难的例子。相反,我们建议重塑损失函数以降低简单示例的权重,从而将训练重点放在硬负例上

       更正式地说,我们建议添加一个调制因子 (1−pt)γ 的交叉熵损失,可调聚焦参数 γ≥0。我们将Focal Loss 定义为: 

        对于γ∈[0,5]时,Focal Loss的对应值可见图1。我们注意到Focal Loss的两个特性:(1)当样本被误分类且p_t较小时,调制因子接近1,损失不受影响。当p_t→1时,因子趋于0,分类良好的示例的损失将下降[此时0^0=1,CE=FL]。(2)聚焦参数γ平滑地调整了easy examples 降低权重的速率。当γ = 0时,FL相当于CE[蓝色曲线],随着γ的增加,调制因子的效果也同样增加(我们发现γ = 2在我们的实验中效果最好)。

       直观地说,调制因子减少了easy example 的 loss 贡献,并扩展了 example 接收低 loss 的范围。例如,当γ = 2时,分类概率pt = 0.9的示例与CE相比损失将降低100倍,而分类概率pt≈0.968的示例与CE相比损失则会降低1000倍[意思就是相比于以前的损失,Focal Loss把easy example的损失降低了,使其就算数量很多,也不会压到梯度更新]。这反过来增加了纠正错误分类示例的重要性(当pt≤.5且γ = 2时,其损失最多减少4倍)。

       在实践中,我们使用 Focal Loss 的α平衡变体:

我们在实验中采用这种形式,因为它比非α平衡形式的精度略有提高。最后,我们注意到损失层的实现将用于计算p的sigmoid操作损失计算结合起来,从而获得了更大的数值稳定性。

       虽然在我们的主要实验结果中,我们使用了上面的焦损定义,但它的精确形式并不重要。在在线附录中,我们考虑了焦损的其他实例,并证明这些实例同样有效。

3.3. Class Imbalance and Model Initialization

       默认情况下,二元分类模型初始化为输出y =−1或1的概率相等。在这样的初始化下,在类不平衡的情况时,频繁的类损失会主导总损失,导致早期训练不稳定。我们引入了一个“先验”的概念,用于模型在训练开始时对稀有类(前景)估计的p值。我们用π表示先验,并设置它,以便模型对稀有类例子[前景]的估计p较低,例如0.01。我们注意到,这是模型初始化的变化(见§4.1),而不是损失函数的变化。我们发现,在严重的类别不平衡的情况下,这可以提高交叉熵和焦点损失的训练稳定性

3.4. Class Imbalance and Two-stage Detectors

       两级探测器通常用交叉熵损失训练,而不使用α-平衡或我们提出的损失。相反,他们通过两种机制解决类不平衡:(1)两级级联(2)偏置小批量抽样。第一个级联阶段是一个对象提议机制[34,23,27],它将几乎无限的对象可能的位置集减少到1-2000个。重要的是,所选择的提议不是随机的,而是很可能的对应真实的物体位置,这就消除了绝大多数easy negatives[很容易被区分的背景区域]。在训练第二阶段时,偏置抽样通常用于构建一定比例(例如1:3)的正负样本[正样本表示物体,负样本表示背景]比例的小批量。这个比率就像一个隐式的α平衡因子,是通过抽样来实现的我们提出的 Focal Loss 旨在通过损失函数直接在一级检测系统中解决这些机制

4. RetinaNet Detector

       RetinaNet 是一个单一的、统一的网络,由一个骨干网络和两个特定任务的子网络组成。骨干网络负责在整个输入图像上计算卷积特征映射,是一个自卷积网络。第一子网对主干输出执行卷积对象分类; 第二个子网执行卷积边界盒回归。这两个子网络的特点是简单的设计,是我们专门为单阶段,密集检测提出的,见图3。虽然这些组件的细节有许多可能的选择,但大多数设计参数对实验中显示的确切值并不是特别敏感。接下来我们将描述 RetinaNet 的每个组件。

       Feature Pyramid Network Backbone: 我们采用[19]的特征金字塔网络(FPN)作为 RetinaNet的骨干网络。简而言之,FPN通过自顶向下的路径和横向连接增强了标准卷积网络,因此该网络从单个分辨率输入图像有效地构建了丰富的多尺度特征金字塔,见图3(a)-(b)。金字塔的每一层都可以用来探测不同尺度的物体。FPN改进了全卷积网络(FCN)[22]的多尺度预测,这从它对RPN[27]和 DeepMask-style proposals [23]的增益以及Fast R-CNN[10]或Mask R-CNN[13]等两级检测器的增益中可以看出。

       遵循[19],我们在ResNet架构[15]之上构建FPN。我们构建了一个P_3 到P_7 级的金字塔,其中l表示金字塔级别(P_l 的分辨率比输入低 2^l )。在[19]中,所有金字塔级别都有C = 256个通道。金字塔的细节通常遵循[19],有一些适度的差异[具体差异查看下面: RetinaNet 和FPN的适度差异]。虽然许多设计选择不是至关重要的,但我们强调使用FPN骨干; 初步实验只使用最终ResNet层的特征,得到了低AP。

RetinaNet 和FPN的适度差异RetinaNet使用特征金字塔级别P3到P7[原始的FPN只有P2-P5],其中P3到P5是从对应 ResNet 残差阶段(C3到C5)的输出中计算出来的,使用自上而下和横向连接,就像[19]中一样。P6是通过C5上的 3×3 conv 以 stride=2 得到的。P7通过在P6上应用ReLU和 3×3 conv (stride=2) 来计算得到的。我们有些与[19]略有不同的地方: (1)由于计算原因,我们不使用高分辨率金字塔级别P2,(2) P6采用跨步卷积计算,而不是下采样; 并且(3)我们加入P7来提高大目标检测。这些微小的修改提高了速度,同时保持了准确性。

Figure 3. 单阶段RetinaNet 网络架构在ResNet架构[15](a)的前馈顶部使用特征金字塔网络(FPN)骨干网络,来生成丰富的多尺度卷积特征金字塔(b)。在这个主干网上,RetinaNet 附加了两个子网络,一个用于分类锚框(c),另一个用来计算锚框和真实标注框之间的边界框回归(d)。网络设计是故意简单的,这使得这项工作能够专注于新的 Focal Loss 函数,消除了我们的单阶段探测器和最先进的双阶段检测器之间的精度差距,如具有FPN[19]的Faster R-CNN,同时具有更快的运行速度。

       Anchors: 我们使用平移不变锚框,类似于[19]中的RPN变体。锚点在金字塔P3到P7级别的面积分别为32^2到512^2。与[19]一样,在每个金字塔级别上,我们以三个纵横比{1:2,1:1,2:1}使用锚框。对于比[19]更密集的规模覆盖,在每个级别我们添加大小为{2^0, 2^1/3、2^2/3}的3个比例的锚框[这个比例是相对于原图大小的比例]。这在我们的设置下提高了AP值。每层总共有A = 9个锚框[3个纵横比,3个相对于原图的锚框大小进行匹配,共有3x3=9种],并且在各个级别上,相对于网络的输入图像,它们涵盖了 32-813 像素的刻度范围。

       每个锚点被分配一个长度为K的分类目标的 one-hot vector 和一个框回归的4维向量[每个锚点被分配两个向量,一个是K维代表分类目标,一个是4维代表目标框回归值]。我们使用 RPN[27] 的分配规则,但对多类检测进行了修改,并调整了阈值。具体来说,使用0.5的交并比(IoU)阈值,锚点被分配给真实标注对象框,并且如果交并比在[0,0.4),则锚点被分配给背景类。由于每个锚框最多分配给一个对象框,我们将其长度K标签向量中的对应元素设置为1,并且其他所有元素设置为0。如果一个锚是未分配的,这可能发生在交并比在[0.4,0.5)内,那么在训练时忽略它。边界框回归被计算作为每个锚框其分配的对象框之间的偏移量,如果没有分配则省略

       Classification Subnet: 分类子网络为A个锚框预测对象的在每个空间位置出现的概率和预测K对象类别。该子网是连接到每个FPN级别的小型FCN; 该子网的参数在所有金字塔级别上共享。它的设计简单。从给定的金字塔层取一个带有C通道的输入特征映射[就是特征图谱],子网应用了四个3×3 conv层,每个都带有C个滤波器[意思就是中间层输出的特征通道数为C],每个后都有ReLU激活层,然后是一个带有 K*A 个滤波器的3×3 conv层[意思是后面卷积层的输出通道数是K*A]。最后,sigmoid激活层附加到每个输出KA二进制预测的空间位置,参见图3 (c)。在大多数实验中我们使用C = 256 和A = 9。与RPN[27]相比,我们的对象分类子网更深入,仅使用3×3 convs,并且不与框回归子网共享参数(下面将介绍)。我们发现这些高级设计决策比超参数的具体值更重要。

       Box Regression Subnet: 与目标分类子网并行,我们将另一个小FCN附加到每个金字塔级别,以便回归从每个锚框到附近的标注框(如果存在的话)的偏移量。框回归子网络的设计与分类子网络相同,不同之处在于它在每个空间位置以4A个线性输出结束,见图3 (d)。对于每个空间位置的A个锚框,这4个输出预测的是锚框和标注框之间的相对偏移(我们使用来自RCNN[11]的标准框参数化)。我们注意到,与大多数最近的工作不同,我们使用了一个类别不可知的边界盒回归器,它使用了更少的参数,我们发现它同样有效。

4.1. Inference and Training

       Inference: RetinaNet 形成一个单一的FCN,由ResNet-FPN骨干网络、分类子网络和框回归子网络组成,如图3所示。因此,推断仅仅涉及通过网络前向传播图像。为了提高速度,在设置阈值后检测器置信度为0.05后,我们最多只解码每个FPN级别的1k个最高得分预测框。合并来自所有级别的顶级预测,并应用阈值为0.5的非极大值抑制来产生最终检测结果

       Focal Loss: 我们将本文引入的 Focal Loss 作为分类子网输出的损失。正如我们将在§5中所示,我们发现γ = 2在实践中的效果很好,并且 RetinaNet 在γ∈[0.5,5]时是相对稳健的。我们强调,在训练RetinaNet时,Focal Loss 应用于每个采样图像中的所有~ 100k锚点。这与使用启发式抽样(RPN)或硬示例挖掘(OHEM, SSD)为每个批量选择一小组锚点(例如256)的常见做法相反。图像的total focal loss计算为所有~ 100k锚点的 focal loss 之和,通过分配给标注框的锚点数量归一化。我们通过分配锚框的数量来进行归一化,而不是总锚框数量,因为绝大多数锚框都是easy nagetives,并且其在 focal loss 下得到的损失值可以忽略不计。最后我们注意到,分配给稀有类的权重α也有一个稳定的范围,但它与γ相互作用,因此有必要同时选择两者(见表1a和表1b)。一般来说,α应随着γ的增加而略有降低(对于γ = 2, α = 0.25效果最好)。

       Initialization: 我们用 ResNet-50-FPN 和 ResNet-101-FPN backbone[19]进行实验。基本的ResNet-50 和 ResNet-101模型在ImageNet1k上进行预训练; 我们使用[15]发布的模型。为FPN添加的新层模仿[19]进行初始化。除了RetinaNet中子网络的最后一个卷积层外,所有新的conv层都初始化为偏差b = 0和高斯权值σ = 0.01。对于分类子网络的子网络的最后一个卷积层,我们设置偏置初始化值为 b=-log((1-π)/π),其中 π 指的是在训练开始阶段,预测锚框都被标注为前景的置信度为π。我们在所有实验中都使用π = .01,尽管结果对准确值具有鲁棒性[意思是结果对π的值不敏感是多少不是很所谓,但是出于严谨性依然给定这个值]。如§3.4所述,这个初始化可以防止大量的背景锚点在第一次迭代训练中产生一个大的、不稳定的损失值

       Optimization: 采用随机梯度下降(SGD)方法训练RetinaNet。我们在8个GPU上使用同步SGD,每个minibatch总共16个图像(每个GPU 2个图像)。除非另有规定,所有模型都训练了90k次迭代,初始学习率为0.01,然后在60k次迭代时除以10,在80k次迭代时再次除以10。除非另有说明,否则我们使用水平图像翻转作为数据增强的唯一形式权重衰减为0.0001,动量为0.9训练损失是用于边界框回归[10]的 focal loss 和 标准平滑L1损失的总和。对于表1e中的模型,训练时间在10到35小时之间。

Table 1. Ablation experiments for RetinaNet and Focal Loss (FL). 除非特别注明,所有模型都在trainval35k上训练,并在minival上测试。如果未指定,默认值为:γ = 2; 3个比例和3个纵横比的锚框;ResNet-50-FPN骨干; 和600像素的训练和测试图像尺寸。(a) α-平衡CE的RetinaNet最多达到31.1 AP。(b)相比之下,使用具有相同精确网络的FL提供2.9 AP增益,并且对精确的γ/α设置相当稳健。(c)使用2-3个比例和3个纵横比的锚会产生良好的结果,之后点性能饱和[意思是过了sc=2,ar=3的sc/ar点之后,继续增加sc/ar的值对结果影响不大](d) FL优于在线硬例挖掘(OHEM)的最佳变体[30,21],AP超过3点。(e)不同网络深度和图像尺度下 RetinaNet 在测试开发中的精度/速度权衡(参见图2)。

5. Experiments

       我们给出了具有挑战性的COCO基准[20]的边界框检测轨迹的实验结果。对于训练,我们遵循常见的做法[1,19],并使用COCO trainval35k分割 (来自train的80k图像来自40k图像val分割的随机35k图像子集的联合集)。我们报告了病变和敏感性研究,通过评估小val split(剩余的5k图像来自val)。对于我们的主要结果,我们报告的COCO AP是在 test-dev split 上,它没有公共标签,并且需要使用评估服务器。

5.1. Training Dense Detection

       我们运行了大量的实验来分析各种优化策略下损失函数对密集检测的影响。对于所有的实验,我们都使用深度 50或101 ResNets[15]与构造在顶部的特征金字塔网络(FPN)[19]。对于所有的消融研究,我们使用600像素的图像尺度进行训练和测试。

       Network Initialization: 我们第一次尝试训练 RetinaNet 使用标准交叉熵(CE)损失,而没有对初始化或学习策略进行任何修改。这很快就会失败,因为在训练过程中网络会发散。然而,简单地初始化我们模型的最后一层,使探测到物体的先验概率为π = .01 (见§4.1)能够有效地学习。用ResNet-50训练 RetinaNet,这个初始化已经在COCO上产生了30.2的可观AP。结果对 π的确切值不敏感,因此我们对所有实验都使用π = .01。

       Balanced Cross Entropy: 我们的下一个改进学习的尝试涉及使用§3.1中描述的α-平衡CE损失。各种α的结果见表1a。设置α = 0.75,AP增益0.9点

       Focal Loss: 使用我们提出的焦点损失的结果见表1b。Focal Loss 引入了一个新的超参数,聚焦参数 γ,它控制调制项的强度。当γ = 0时,我们的损失相当于CE损失。随着γ的增加,损失的形状发生变化,因此具有低损失的easy example[很容易被分为背景类的锚框样本]进一步打折,见图1。随着γ的增加,FL显示了较大的增益比CE。当γ = 2时,FL比α平衡的CE损失提高2.9 AP。

       对于表1b中的实验,为了进行公平的比较,我们找到了每个γ的最佳α。我们观察到较低的α被较高的γ选择 (因为 easy nagetives 的权重被降低,我们不需要过分强调积极的方面[个人理解意思是训练损失重点不应该放在easy nagetives的样本上,而应该在 hard nagetives的样本上])。然而,总的来说,改变γ的好处要大得多,确实最好的α的范围只有[.25, 75](我们测试α∈[。01, .999])。我们在所有实验中都使用γ = 2.0和α = .25,但α = .5几乎同样适用(AP低了0.4)。

       Analysis of the Focal Loss: 为了更好地理解焦点损失,我们分析了一个收敛模型的损失的经验分布。为此,我们采用默认的ResNet-101,用γ = 2训练的输入为600像素的模型(其拥有36.0
的 AP)。我们将该模型应用于大量随机图像,并对∼10^7个负窗口[负类锚框]和∼10^5个正窗口[正类锚框]的预测概率进行采样。接下来,我们分别为正数和负数计算这些样本的FL,并将损失归一化,使其总和为1。给定归一化损失,我们可以对损失从低到高进行排序,并对正样本和负样本以及对的不同设置的γ(即使模型训练时γ = 2)绘制其累积分布函数(CDF)

       正样本和负样本的累积分布函数如图4所示。如果我们观察正样本,我们会发现不同γ值的CDF看起来相当相似。例如,大约20%的 hard positive examples 占了大约一半的 psitives loss,随着γ的增加,更多的损失集中在前20%的 examples 中,但影响很小

       γ 对 nagetive examples 的影响有显著不同。当γ = 0时,正的和负样本损失的 CDF 相当相似。然而,随着γ的增加,更多的权重会集中在 hard nagetive examples上[我的理解是:横坐标从左到右的样本损失越来越大,偏左的是easy nagetive examples,偏右的是hard nagetive examples,而曲线中心右移,说明权重逐渐集中在了 hard nagetive examples 上]。事实上,当γ = 2(我们的默认设置)时,绝大多数损失来自一小部分样本。可以看出,FL可以有效地淡化 easy nagetive examples 的影响,将所有注意力集中在 hard nagetive examples 上。

       Online Hard Example Mining (OHEM): [30]提出了通过使用高损失的样本来构建小批量来改进两级检测器的训练。具体地说,在OHEM中,每个样本都根据其损失进行评分,然后应用非最大抑制(nms),并使用损失最高的样本构建一个小批量。NMS阈值和 batch size 为可调参数。就像焦点损失一样,OHEM更强调错误分类的样本[对应与前文中的 hard examples],但与FL不同的是,OHEM 完全放弃了easy examples。我们还实现了SSD[21]中使用的OHEM的一个变体:在对所有样本应用nms后,以强制正负样本比为1:3 构建小批,以帮助确保每个小批都有足够的正样本[这么做的目的是解决样本不平衡问题]

        我们在一级检测的设置中测试了两个OHEM变体,其中有很大的 class embalance。表1d显示了原始OHEM策略“OHEM 1:3”策略对选定批大小和nms阈值的结果。这些结果使用ResNet-101,我们用FL训练的基线在此设置下达到36.0 AP。相比之下,OHEM的最佳设置(非1:3比例,批量大小128,nms阈值为.5)达到32.8 AP。这是3.2 AP的差距,表明FL在训练密集检测器方面比OHEM更有效。我们注意到,我们尝试了OHEM的其他参数设置和变量,但没有取得更好的结果。

       Hinge Loss:  最后,在早期的实验中,我们尝试在pt上使用铰链损失[12]进行训练,它将损失设置为0,高于pt的某个值。然而,这是不稳定的,我们没有设法获得有意义的结果。探索替代损失函数的结果见在线附录。

5.2. Model Architecture Design

       Anchor Density: 在单级检测系统中,最重要的设计因素之一是它覆盖可能的图像框空间的密度。两级检测器可以使用区域池化操作[10]对任何位置、规模和纵横比的锚框进行分类相比之下,由于单级探测器使用固定的采样网格,在这些方法中实现高对象框覆盖率的一种流行方法是在每个空间位置使用多个“锚框”[27]来覆盖不同规模和纵横比的对象

       我们扫过在每个空间位置和每个金字塔水平上使用的比例和纵横比的锚框的数量。我们考虑了从每个位置的单个正方形锚框到每个位置的12个延展锚框[3 * 4 = 12],这些锚框跨越4个比例(2^k/4,对于k≤3)和3个纵横比[0.5,1,2]的情况。使用ResNet-50的结果见表1c。只使用一个正方形锚框可以得到一个惊人的AP(30.3)。然而,如果每个位置使用3个比例和3个纵横比,AP可以提高近4点(到34.0)。我们在这项工作中的所有其他实验中都使用了这种设置。

       最后,我们注意到增加超过6-9个锚点并没有显示出进一步的增益。因此,虽然两级系统可以对图像中的任意框进行分类,但性能w.r.t.密度的饱和意味着两级检测系统的更高潜在密度可能不会提供优势。

       Speed versus Accuracy: 更大的骨干网产生更高的精度,但也会有更慢的推断速度。同样,对于输入图像的比例(由较短的图像一侧定义)[我的理解是输入图像的短侧越长精度越高,推理更慢]。我们在表1e中显示了这两个因素[骨干网络的大小,输入图像短边的长度]的影响。在图2绘制了 RetinaNet 的速度/精度权衡曲线,并将其与使用公共的COCO test-dev 数据集的最近方法进行了比较。该图显示,由于我们的焦点损失,视网膜网在所有现有方法上形成了一个上包络,降低了低准确度的范围。值得注意的是,带有ResNet-101-FPN和600像素输入图像尺度(为了简单起见,我们用RetinaNet-101-600表示)的RetinaNet 与最近发布的ResNet-101-FPN Faster R-CNN[19]的精度相匹配,然而每张图像的运行时间为122毫秒,而不是172毫秒(都是在Nvidia M40 GPU上测量的)。使用更大的图像尺寸可以使视网膜网的精度超过所有两阶段方法,同时速度仍然更快。为了更快的运行时间,使用ResNet-50-FPN只有一个工作点(500像素输入)优于ResNet-101-FPN。解决高帧率机制可能需要特殊的网络设计,如[26],而不是使用现成的模型,这超出了本工作的范围。

5.3. Comparison to State of the Art

       我们在具有挑战性的COCO数据集的边界盒检测任务上评估RetinaNet,并将测试开发结果与最近最先进的方法(包括单阶段和两阶段模型)进行比较。表2给出了使用缩放抖动训练的RetinaNet-101-800模型的结果,该模型的训练时间比表1e中模型长1.5倍(有1.3 AP的增益)。与现有的一次性方法相比,我们的方法与最接近的竞争对手DSSD[9]的AP差距达到了5.9分(39.1比33.2),同时也更快,请参见图2。与最近的两阶段方法相比,RetinaNet比基于快速R-CNN的性能最好的模型Inception-ResNet-v2-TDM [31]高出2.3点。

6. Conclusion

       在这项工作中,我们认为 class imbalance 是阻止单阶段目标检测器超越性能最好的两阶段方法(如Faster R-CNN变体)的主要障碍。为了解决这个问题,我们提出了 focal loss ,它对交叉熵损失应用了一个调制项,以便将学习重点放在 hard examples 上,并降低大量 easy nagetives 的重要性。我们的方法简单有效。我们通过设计一个全卷积的单阶段检测器来证明它的有效性,并报告了广泛的实验分析,表明它在具有挑战性的COCO数据集上达到了最先进的精度和运行时间。

References

  1. S. Bell, C. L. Zitnick, K. Bala, and R. Girshick. Insideoutside net: Detecting objects in context with skip pooling and recurrent neural networks. In CVPR, 2016. 6
  2. S. R. Bulo, G. Neuhold, and P. Kontschieder. Loss maxpooling for semantic image segmentation. In CVPR, 2017.
  3. J. Dai, Y. Li, K. He, and J. Sun. R-FCN: Object detection via region-based fully convolutional networks. In NIPS, 2016. 1
  4. N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005. 2
  5. P. Dollar, Z. Tu, P. Perona, and S. Belongie. Integral channel features. 2009. 2, 3
  6. D. Erhan, C. Szegedy, A. Toshev, and D. Anguelov. Scalable object detection using deep neural networks. In CVPR, 2014.2
  7. M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes (VOC) Challenge. IJCV, 2010. 2
  8. P. F. Felzenszwalb, R. B. Girshick, and D. McAllester. Cascade object detection with deformable part models. In CVPR, 2010. 2, 3
  9. C.-Y. Fu, W. Liu, A. Ranga, A. Tyagi, and A. C. Berg. DSSD:Deconvolutional single shot detector.arXiv:1701.06659,016. 1, 2, 8
  10. R. Girshick. Fast R-CNN. In ICCV, 2015. 1, 2, 4, 6, 8
  11. R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. 1, 2, 5
  12. T. Hastie, R. Tibshirani, and J. Friedman. The elements of statistical learning. Springer series in statistics Springer, Berlin, 2008. 3, 7
  13. K. He, G. Gkioxari, P. Dollar, and R. Girshick. Mask R- CNN. In ICCV, 2017. 1, 2, 4
  14. K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV. 2014. 2
  15. K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016. 2, 4, 5, 6, 8
  16. J. Huang, V. Rathod, C. Sun, M. Zhu, A. Korattikara, A. Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama, and K. Murphy. Speed/accuracy trade-offs for modern convolutional object detectors. 2017. 2, 8
  17. A. Krizhevsky, I. Sutskever, and G. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, 2012. 2
  18. Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural computation, 1989. 2
  19. T.-Y. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. In CVPR, 2017. 1, 2, 4, 5, 6, 8
  20. T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick. Microsoft COCO: Common objects in context. In ECCV, 2014. 1, 6
  21. W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed. SSD: Single shot multibox detector. In ECCV, 2016. 1, 2, 3, 6, 7, 8
  22. J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. 4
  23. P. O. Pinheiro, R. Collobert, and P. Dollar. Learning to segment object candidates. In NIPS, 2015. 2, 4
  24. P. O. Pinheiro, T.-Y. Lin, R. Collobert, and P. Dollar. Learning to refine object segments. In ECCV, 2016. 2
  25. J. Redmon, S. Divvala, R. Girshick, and A. Farhadi. You only look once: Unified, real-time object detection.CVPR, 2016. 1, 2
  26. J. Redmon and A. Farhadi.YOLO9000: Better, faster, stronger. In CVPR, 2017. 1, 2, 8
  27. S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015. 1, 2, 4, 5, 8
  28. H. Rowley, S. Baluja, and T. Kanade. Human face detection in visual scenes. Technical Report CMU-CS-95-158R, Carnegie Mellon University, 1995. 2
  29. P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014.2
  30. A. Shrivastava, A. Gupta, and R. Girshick. Training regionbased object detectors with online hard example mining. In CVPR, 2016. 2, 3, 6, 7
  31. A. Shrivastava, R. Sukthankar, J. Malik, and A. Gupta. Beyond skip connections: Top-down modulation for object detection. arXiv:1612.06851, 2016. 2, 8
  32. K.-K. Sung and T. Poggio. Learning and Example Selection for Object and Pattern Detection. In MIT A.I. Memo No.1521, 1994. 2, 3
  33. C. Szegedy, S. Ioffe, and V. Vanhoucke. Inception-v4, inception-resnet and the impact of residual connections on learning. arXiv:1602.07261, 2016. 8
  34. J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013. 2, 4
  35. R. Vaillant, C. Monrocq, and Y. LeCun. Original approach for the localisation of objects in images. IEE Proc. on Vision, Image, and Signal Processing, 1994. 2
  36. P. Viola and M. Jones. Rapid object detection using a boosted cascade of simple features. In CVPR, 2001. 2, 3
  37. C. L. Zitnick and P. Dollar. Edge boxes: Locating object proposals from edges. In ECCV, 2014. 2

这篇关于RetinaNet论文翻译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238201

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

linux dlopen手册翻译

名称 dlclose, dlopen, dlmopen 打开和关闭一个共享对象 简介 #include <dlfcn.h>void *dlopen(const char*filename, int flags);int dlclose(void *handle);#define _GNU_SOURCE#include <dlfcn.h>void *dlmoopen(Lmid_t lm