详细解读 | 如何改进YOLOv3使其更好应用到小目标检测(比YOLO V4高出4%)(二)

简介: 详细解读 | 如何改进YOLOv3使其更好应用到小目标检测(比YOLO V4高出4%)(二)

3本文方法


如图1所示,输入图像经过4、8、16、32次下采样后,C2、C3、C4、C5分别代表不同level的特征。将F1、F2、F3是对应C3、C4、C5的特征通过一层卷积所生成的(C2因噪声混乱而丢弃)。L1、L2、L3表示FPN生成的特征与CEM的结果融合后输出的对应特征,P1、P2、P3表示FRM生成的特征。

image.png

图1

CAM的灵感来自于人类识别物体的模式。例如,在非常高的天空中,人类很难分辨出一只鸟,但在将天空作为上下文信息时,人类就很容易分辨出来。因此,作者认为上下文信息有助于微小目标的检测。

CAM采用不同扩张率的扩张卷积获取不同感受野的上下文信息,并从上到下注入FPN以丰富上下文信息。但由于FPN不同层次之间的语义差异,在共享信息时,会引入冗余信息和冲突信息。

因此,FRM被用来过滤冲突信息,减少语义差异。通过自适应融合不同层间的特征,消除层间的冲突信息,防止微小目标特征淹没在冲突信息中。

同时,针对微小目标产生的正样本数量少、对微小目标丢失的贡献有限的问题,作者提出了一种Copy-Reduce-Paste的数据增强方法。具体来说,复制训练集中较大的目标,然后缩小目标,再然后paste回原始图像。在粘贴过程中,必须保证paste的目标不与现有目标重叠。

3.1 具有上下文增强和特征的特征金字塔网络细化

1、上下文增强模块

通过前面的描述可以知道微小目标的检测需要上下文信息。作者提出使用不同扩张率的扩张卷积来获取不同感受野的上下文信息来丰富FPN的上下文信息。结构如图2所示。

image.png

图2:The Structure of CAM

图2为CAM的结构。在C5上以不同的扩张率空洞卷积进行卷积以获得不同感受野的语义信息。核大小为3×3,扩张率为1、3、5。可能的融合方式如图3 (a)、(b)和(c)所示。

图3

  • 方法(a):是Add融合方法
  • 方法(b):是自适应融合方法
  • 方法(b):是Concat融合方法

具体来说,假设输入的大小可以表示为(bs, C, H, W),可以通过卷积级联和Softmax操作得到(bs, 3, H, W)的空间自适应权值。3个通道一一对应3个输入,通过计算加权和,可以将上下文信息聚合到输出。

作者通过消融实验验证了每种融合方法的有效性,结果如下表1所示。、和被定义为小、中、大目标的精度。其中、和分别表示对小、中、大目标的召回率。

由表1可以看出,方法(c)对于微小目标所获得的增益最大,AP和AR都增加了1.8%。方法(b)对中、大型目标改进最大。方法(a)带来的改进基本上是介于两者之间。

2、特征细化模块

FPN被提出用于融合不同尺度的特征。但是,不同尺度的特征具有不可忽视的语义差异。直接融合不同尺度的特征会带来大量的冗余信息和冲突信息,降低多尺度表达的能力。因此,FRM被用来过滤冲突信息,防止微小的目标特征被淹没在冲突信息中。FRM的总体结构如图4所示。

image.png

图4:The proposed FRM

从图4可以看出,FRM主要由2个并行分支组成,即通道净化模块和空间净化模块。在空间维度和通道维度上生成自适应权值,引导特征向更关键的方向学习。

**通道净化模块 **结构如图4(b)所示。将输入的特征图压缩到空间维度,聚合能代表图像全局特征的空间信息,得到通道注意力图。将自适应平均池化和自适应最大池化相结合,获得更精细的全局特征。

被定义为FRM的第m (m=1,2,3)层的输入。定义为从第n层调整到第m层的结果。定义为第k个通道(x,y)位置的第m个特征图的值。因此,上分支的输出是:

image.png

式中表示第m层在(x,y)位置的输出向量。a、b、c为通道自适应权值,其大小为1×1×1。a、b、c定义为:

image.png

F是由Concat操作生成的特性,如图4所示。σ表示Sigmoid。AP和MP分别为平均池化和最大池化,然后将这两个权值在空间维度上相加,在Sigmoid后生成基于通道的自适应权值。

空间净化模块 通过softmax生成各位置相对于通道的相对权重,下分支的输出如式3所示:

image.png

式3中,x、y为特征图的空间位置,k为输入特征图的通道。为位置(x,y)处的输出特征向量。为相对于MTH层的空间注意权重,其中c为通道。µ,ν,η:

image.png

上式中F的含义是使用softmax对特征映射在通道方向上进行归一化,得到同一位置不同通道的相对权重。

因此,该模块的总输出可以表示为:

image.png

这样,FPN各层的特征在自适应权值的指导下融合在一起,p1、p2、p3作为整个网络的最终输出。

为了证明FRM的有效性,作者可视化了一些特征图。微小目标的检测主要由FPN的底层主导,因此仅对底层特征进行可视化。将特征图缩放到相同的尺寸。如图所示,最左边的一列是待检测的输入图像。F3、L3、P3为中对应标签的特征图可视化结果。

image.png

图5

从图5中可以看出,F3可以大致定位目标位置,但背景噪声较大。

在FPN之后,在L3中引入了大量的高级语义信息。这些特征可以滤除大部分背景噪声,但由于特征粒度的不同,也引入了冲突信息,使目标区域的响应变弱。

以P3为例,目标特征增强,背景区域被抑制,目标与背景的边界更加明显,有助于检测器区分正样本和负样本,便于定位和分类。从可视化分析可以看出,本文提出的FRM可以大大减少冲突信息,提高微小目标的检测精度。

3.2 Copy-Reduce-Paste数据增强

在目前主流的公共数据集中,小目标产生的正样本数量和小目标对损失的贡献都远远小于大目标,使得收敛方向倾向于大目标。为了缓解这个问题,作者在训练过程中对图像中的目标Copy-Reduce-Paste。

通过增加图像中微小物体的数量和包含微小物体的图像数量,增加了对微小物体损失的贡献,使训练更加均衡。下图为每个目标在不同位置粘贴一次的结果。

image.png

image.png

image.png

通过这种方式,大大丰富了微小物体的数量和上下文信息。在这一部分中,作者研究了粘贴次数对微小物体检测的影响。消融实验结果见下表。

image.png

从上表可以看出,随着粘贴次数的增加,微小物目标的检测性能逐渐下降,甚至可能低于baseline。这可能是因为随着粘贴次数的增加,数据集的分布逐渐被破坏,使得测试集的性能变差。实验结果表明,一次粘贴效果最好。与baseline相比,提高了2.5%,提高了1.9%,对大中型目标的检测性能也略有提高。

3.3 消融实验

作者设计了消融实验来验证各模块的有效性和贡献率。

实验结果如表所示:

总体而言,本文提出的模块可以显著提高目标检测性能,特别是对于微小目标和中等目标,这也符合设计的初衷。如表所示,增加了5.4%。增加3.6%,增加1.0%。同时,不同尺度目标的召回率也有不同程度的提高。具体而言,增加6.9%,增加2.3%,增加1.1%。

  • Copy-Reduce-Paste数据增强方法:使增加了,增加2.2%,但略有下降。
  • CAM: CAM模块可以对、和都有提升,特别是对。其查准率和查全率分别提高了1.8%和1.9%。
  • FRM: 增加2.8%,增加1.6%,基本不变。

4实验


从上表可以看出,本文提出的算法在VOC数据集上的mAP值高于近年来大多数算法。比 PFPNet-R512 高1.3%。但比IPG-RCNN低1.2% 。这主要是由于Backbone较差,图像尺寸较小,使得检测性能略低于IPG-RCNN。如果用多尺度方法测试算法,VOC数据集上的mAP可以达到85.1%,高于所有参与对比的算法。

从上表可以看出,本文提出的算法在微小目标的AP和AR方面具有绝对优势。

本文算法比YOLOV4算法提高3.9% (16.9%vs.13%),在比较算法中最高。与RefineDet相比在上高9.2%(29.4% vs. 20.2%),而在上低1.5%。

同时,本文提出的算法对中等目标的AR值最高,对中等目标具有较强的检测能力。

通过以上可以看到,本文提出的算法在微小目标检测方面有很大的优势。微小目标的AP和AR算法都有较好的性能,优于大多数目标检测算法。


5参考


[1].CONTEXT AUGMENTATION AND FEATURE REFINEMENT NETWORK FOR TINY OBJECT DETECTION

相关文章
|
6月前
|
机器学习/深度学习 算法 固态存储
最强DETR+YOLO | 三阶段的端到端目标检测器的DEYOv2正式来啦,性能炸裂!!!
最强DETR+YOLO | 三阶段的端到端目标检测器的DEYOv2正式来啦,性能炸裂!!!
224 0
|
机器学习/深度学习 算法 数据挖掘
目标检测算法——YOLOv3
目标检测算法——YOLOv3
348 0
目标检测算法——YOLOv3
|
算法 Go 文件存储
DAMO-YOLO: 兼顾速度与精度的新目标检测框架
我们团队最近开源了DAMO-YOLO!其效果达到了YOLO系列的SOTA,欢迎各位试用!​简介DAMO-YOLO是一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法,在实现SOTA的同时,保持了很高的推理速度。DAMO-YOLO是在YOLO框架基础上引入了一系列新技术,对整个检测框架进行了大幅的修改。具体包括:基于NAS搜索的新检测backbone结构,更深的neck结构,精
1092 0
DAMO-YOLO: 兼顾速度与精度的新目标检测框架
|
3月前
|
机器学习/深度学习 算法 计算机视觉
5.2 单阶段目标检测模型YOLOv3
这篇文章详细介绍了单阶段目标检测模型YOLOv3的基本原理和网络结构,包括如何生成候选区域、锚框的设计、预测框的生成以及如何对这些候选区域进行标注,并通过卷积神经网络进行特征提取和预测。
|
6月前
|
网络架构
YOLOv5改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv5(超级轻量化精度更高)
YOLOv5改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv5(超级轻量化精度更高)
284 0
|
6月前
|
机器学习/深度学习 网络架构
YOLOv8改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv8(超级轻量化精度更高)
YOLOv8改进 | 2023主干篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv8(超级轻量化精度更高)
423 1
|
机器学习/深度学习 算法 自动驾驶
YOLOX-PAI:加速YOLOX,比YOLOV6更快更强
本文,我们将逐一介绍所探索的相关改进与消融实验结果,如何基于PAI-EasyCV使用PAI-Blade优化模型推理过程,及如何使用PAI-EasyCV进行模型训练、验证、部署和端到端推理。欢迎大家关注和使用PAI-EasyCV和PAI-Blade,进行简单高效的视觉算法开发及部署任务。
|
存储 编解码 API
名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA(1)
名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA
477 0
名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA(1)
|
机器学习/深度学习 监控 算法
了解YOLO算法:快速、准确的目标检测技术
了解YOLO算法:快速、准确的目标检测技术
3048 0
|
机器学习/深度学习 编解码 算法
详细解读 | 如何改进YOLOv3使其更好应用到小目标检测(比YOLO V4高出4%)(一)
详细解读 | 如何改进YOLOv3使其更好应用到小目标检测(比YOLO V4高出4%)(一)
481 0