约洛论文

论文:高效检测:可扩展和高效的对象检测

?目前在目标检测领域,高精度模型通常需要大量的参数和计算,而轻量级网络一般会牺牲精度。因此,本文希望构建一个高精度、高性能、可扩展的检测框架。基于一阶段的检测网络范式,本文试图构建多种骨干网络,进行特征融合和类/盒预测,这主要面临两个挑战:

?FPN是目前应用最广泛的多尺度融合方法,最近还有PANet和NAS-FPN等跨尺度特征融合方法。为了融合不同的特征,最初的方法是简单的直接相加。但由于不同的特征分辨率不同,融合输出特征的享受应该是不平等的。为了解决这一问题,提出一种简单而高效的加权双向特征金字塔网络(BIFPN ),该网络利用可学习的权重来学习不同特征的重要性,同时反复进行自顶向下和自底向上的多尺度融合。

?文章认为,除了缩放骨干网络和输入图像的分辨率之外,特征网络和盒/类预测网络的缩放对于准确性和性能也是非常重要的。借鉴EfficientNet,作者提出了一种检测网络的复合标度方法,并对骨干网络、特征网络和盒/类预测网络的分辨率/深度/宽度进行了标度。

?最后,本文以EfficientNet为骨干,结合BiFPN和混合定标,提出了一种新的检测系列EfficientDet,该检测系列精度高,重量轻。COCO的结果如图1所示,本文的贡献如下:

?定义了多尺度特征,本文的目标是找到一个变化函数来有效地融合不同的特征并输出新的特征。具体地,图2a示出了自上而下的FPN网络结构。一般情况下,FPN只有一层,重复形式应写在这里进行比较。FPN获取图层3-7的输入,表示分辨率为的要素图层。

?自顶向下FPN操作,如上图所示,是通过上采样或下采样来对齐分辨率,这通常是特征处理的卷积操作。

?自上而下的FPN受到单向信息流的限制。为了解决这个问题,PANet(图2b)增加了一个额外的自底向上路径的融合网络,NAS_FPN(图2c)使用神经架构搜索来获得更好的跨尺度特征网络的拓扑结构,但是需要大量的资源来搜索。PANet是精度最高的一个,但是需要的参数和计算太多。为了提高性能,本文对跨尺寸连接做了几点改进:

?大多数特征融合方法对输入特征一视同仁,但是本文观察到不同分辨率的输入对融合输出特征的贡献应该是不同的。为了解决这个问题,本文提出在融合过程中对输入特征增加额外的权重预测,主要通过以下方法:

?是可学习的权重,可以是每个特征、每个通道或多维张量。发现标量形式足以在不增加计算量的情况下提高精度。但由于标量形式是无限的,容易造成训练不稳定,所以要进行规范化和限制。

?Softmax是用来归一化所有权重的,但是softmax的操作会导致GPU性能下降,后面会详细说明。

?,Relu保证,保证价值的稳定。这样归一化的权重也落在了上,因为没有softmax运算,效率更高,大约快了30%。

?BiFPN结合了双向跨尺寸连接和快速归一化融合。6级融合操作如上,是自顶向下路径的中间特征,自底向上路径的输出特征。其他层的特征也以类似的方式构建。为了进一步提高效率,特征融合采用深度方向可分离卷积,并在每次卷积后加入批量归一化和激活。

?EfficientDet的结构如图3所示。基于一级检测器的范式,以ImageNet-Pre-trained efficient net为主干,BiFPN以主干的3-7层特征为输入,然后重复自顶向下和自底向上的双向特征融合。所有层* * *享受类和盒网络。

?以前的检测算法的缩放是针对单一维度的。受EfficientNet的启发,提出了一种新的检测网络混合缩放方法,该方法使用混合因子同时缩放主干网络、BiFPN网络、类/箱网络的宽度和深度以及分辨率。因为缩放维度太多,EfficientNet使用的网格搜索效率太慢,所以本文使用基于启发式的缩放方法同时缩放网络的所有维度。

?EfficientDet将EfficientNet,efficient net-B0的宽度和深度因子重新用于EfficientNet-B6。

?在本文中,BiFPN宽度(通道数)按指数比例缩放,深度(层数)线性增加,因为深度需要限制为较小的数值。

?Box/class预测网络的宽度与BiFPN的宽度一致,深度(#层)按等式2线性增加。

?因为BiFPN利用了3-7层的特性,输入画面的分辨率必须是可分的,所以利用等式3来线性提高分辨率。

?结合公式1-3的不同,提出了效率检测-D0到效率检测-D6。不使用表1和EfficientDet-D7等具体参数,但在D6的基础上提高了输入分辨率。

?动量=0.9和重量衰减=4e-5的SGD优化器用于模型训练。在最初的5%预热阶段,学习率从0线性增加到0.008,然后按余弦衰减规律递减,每次卷积后增加批量归一化。批次范数衰减=0.997,ε= 1e-4,梯度的指数移动平均值,衰减=0.9998,和的焦点损失,bbox的纵横比,32 GPUs,批次大小=128,D0-D4和D5-D7的RetinaNet预处理方法。

?表2给出了EfficientDet与其他算法的比较结果,EfficientDet具有更高的精度和更好的性能。在低精度区域,Efficiency-D0具有与YOLOv3相同的精度,但仅使用1/28计算。与RetianaNet和Mask-RCNN相比,同样的精度只用了1/8个参数和1/25次计算。在高精度区域,EfficientDet-D7达到51.0mAP,比NAS-FPN少用了4倍的参数和9.3倍的计算量,而anchor只用了3×3而不是9×9。

?本文在实际机器上对模型的推理速度进行了比较。如图4所示,EfficientDet在GPU和CPU上的加速分别为3.2倍和8.1x。

?本文通过实验比较了骨干网和BiFPN的具体贡献,结果表明骨干网和BiFPN都很重要。这里需要注意的是,第一个模型应该是RetinaNet-R50(640),第二个和第三个模型应该是896个输入,所以精度的提高部分是因为这个原因。此外,使用BiFPN后,模型简化了许多,这主要是由于通道的减少。FPN的通道都是256和512,而BiFPN只用160维,这里应该不会重复。

?表4显示了图2中使用不同跨尺寸连接的同一网络的精度和复杂度,BiFPN在精度和复杂度方面相当不错。

?表5显示了不同模型尺寸下两种加权方法的比较。本文提出的快速归一化融合方法在精度损失很小的情况下,速度提高了26%-31%。

?图5显示了两种方法在训练过程中的权重变化过程,快速归一化融合的变化过程与softmax方法非常相似。此外,我们可以看到权重变化非常快,这证明不同的特征确实有不同的贡献。

?本文将混合标度法与其他方法进行了比较。虽然一开始也差不多,但是随着模型的增加,混合精度的效果越来越明显。

?本文提出了一种轻量级跨尺度FPN和检测版本的定制混合缩放方法BiFPN。在这些优化的基础上,引入了一系列高效的Det算法,既保持了高精度,又保持了高性能,效率达到了SOTA。总体来说,论文的思路是基于之前的EfficientNet,创新可能没有之前那么惊人,但是从实验的角度来看,论文介绍的新的检测框架非常实用,期待作者开源。