详细解读SSPNet| 小目标检测该如何进行改进?

简介: 详细解读SSPNet| 小目标检测该如何进行改进?

1简介


随着搜救需求的不断增加,人们对在无人机(UAV)捕获的大尺度图像中检测感兴趣的物体的需求越来越高,由于物体的尺度极小,这非常具有挑战性。大多数现有方法采用特征金字塔网络(FPN)通过组合深层的上下文特征来丰富浅层的特征。然而,在跨层梯度计算不一致的限制下,FPN中的浅层没有被充分利用来检测微小物体。

在本文中提出了一个用于Tiny-Person检测的尺度选择金字塔网络(SSPNet),它由3个组件组成:

  • 上下文注意模块(CAM):CAM 考虑上下文信息以生成分层 Attention Heatmap。
  • 尺度增强模块(SEM):SEM 在不同层突出特定尺度的特征,使检测器专注于特定尺度的物体。
  • 尺度选择模块(SSM):SSM 利用相邻层的关系来实现深层和浅层之间适当的特征共享,从而避免不同层之间梯度计算的不一致。

此外,作者还提出了一种加权负采样(WNS)策略来指导检测器选择更具代表性的样本。Tiny-Person测试表明,本文所提方法优于其他SOTA检测器。


2本文方法


SSPNet主要是基于Faster R-CNN的框架,包括CAM、SEM、SSM,如图2(a)所示。

image.png

2.1 Context Attention Module

为了生成分层的attention heatmap,作者设计了CAM来生成不同层次的attention heatmap。因为上下文信息可以提高检测小目标的性能。

因此,作者首先将backbone在不同stage产生的特征进行上采样,使其与底部的特征具有相同的形状,并将它们cat起来。然后采用多尺度空间金字塔池算法(atrous spatial pyramid pooling, ASPP),提取的多尺度特征来寻找目标线索;ASPP生成的上下文感知特征被传递到一个由多个卷积和sigmoid激活函数组成的激活门,该激活门由多个不同stride的卷积和sigmoid激活函数组成,生成层次attention heatmap  :image.png

其中σ为sigmoid激活函数,为第k层的卷积,为卷积参数,为ASPP生成的上下文感知特征,为卷积步长。

为了指出在SSPNet的每一层中哪些尺度对象可以被指定为正样本,作者采用了supervised attention heatmap来突出SSPNet每一层中特定尺度的目标,避免被背景淹没。

具体地说,supervised attention heatmap与不同层次锚点匹配的对象相关联。如图2(b)所示,supervised attention heatmap在不同的层次上表现出不同的具体比例尺范围,其中红色和绿色虚线框表示对应层锚定不匹配的对象将被视为背景。与之对应的attention heatmap如图2(b)所示,CAM能够生成特定比例尺范围的attention heatmap。

2.2 Scale Enhancement Module

采用SEM增强特定尺度物体的线索。由于不同层的attention heatmap具有不同的尺度偏好,使得SEM能够产生尺度感知特征:

image.png

其中和分别为输入特征图和输出尺度感知特征,为第k层的attention heatmap。

请注意,残差连接用于避免降低目标周围的特征,因为上下文信息可能有助于检测。

2.3 Scale Selection Module

为了从深层为浅层选择合适的特征,作者提出SSM来引导深层向浅层提供合适的特征,在浅层中,合适的特征被优化到同一类,因此不会导致梯度计算不一致。另一方面,如果相邻层的目标都能被检测到,那么深层将提供更多的语义特征,同时与下一层进行优化。SSM可以设计如下:

image.png

其中与的交点为,为最近的上采样操作,为第k层的合并映射,为第(k−1)个残块的输出。

具体来说,SSM扮演着比例选择器的角色。对于下一层尺度范围内的目标对应的特征将被视为合适的特征流入下一层,而其他特征将被弱化,以抑制梯度计算中的不一致性。

2.4 Weighted Negative Sampling

在无人机拍摄的大视场图像中,复杂的背景通常比自然场景图像引入更多的噪声。此外,这些图像中的部分遮挡导致一些物体只被可见部分标注,导致检测器将人的部分视为完整的个体,尤其是在数据集不大的情况下。基于这些考虑,作者提出了小波神经网络,通过更多地观察代表性样本来增强检测器的泛化能力。

首先,hard negative样本通常被检测器视为具有较高置信度的positive样本。因此,置信度是最需要考虑的直觉因素。然后,采用前景交叉准则来量化目标的不完整程度。接下来,构造一个考虑IoF和置信度2个因素的评分融合函数:

image.png

其中和分别表示第个检测结果的置信度和对应的最大IoF, 表示调整置信度与IoF的系数。然后,可以根据调整每个样本的选择概率。

2.5 损失函数

总损失如下:

image.png

RPN损失:

image.png

Head损失:

image.png

其中和对边界框回归均采用smooth L1 loss,但在分类方面,采用了二进制交叉熵(BCE)损失,采用了交叉熵损失。

image.png

对于, i是minibatch中边界框的索引。和分别表示预测类和ground-truth的概率分布。和分别表示预测的边界框和ground-truth box。分类和回归损失由(minibatch)和(box位置的数量)归一化,并由一个平衡参数加权。默认情况下,将和设为1。以类似的方式定义。

表示attention loss,引导CAM生成hierarchical attention heatmaps。attention loss可以表述为:

image.png

其中α和β分别表示dice loss 和BCE loss 的超参数。具体来说,为了避免被背景淹没,使用dice loss来优先考虑前景,因为它只与attention heatmaps和supervised attention heatmap之间的交集相关。

其次,为了弥补attention heatmaps和supervised attention heatmap没有交集时梯度消失的问题,利用BCE损失来处理这种极端情况,提供有效的梯度进行优化。此外,采用OHEM来保证检测器主要聚焦于容易被视为前景的非物体区域,并且将正负极的比例设置为1:3,而不是考虑所有的负样本。具体来说,使用BCE loss来学习分类差的底片,使用dice loss来学习分类分布,以缓解数据的不平衡。


3实验


可视化结果:


4参考


[1].SSPNet: Scale Selection Pyramid Network for Tiny Person Detection from UAV Images

相关文章
|
机器学习/深度学习 监控 算法
YoloV(You Only Look Once)是一种基于深度学习的目标检测算法
YoloV(You Only Look Once)是一种基于深度学习的目标检测算法
291 0
|
机器学习/深度学习 算法 数据挖掘
目标检测算法——YOLOv3
目标检测算法——YOLOv3
367 0
目标检测算法——YOLOv3
|
3月前
|
机器学习/深度学习 监控 算法
目标检测算法
8月更文挑战第8天
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用卷积神经网络(CNN)进行图像分类与识别
使用卷积神经网络(CNN)进行图像分类与识别
1063 0
|
机器学习/深度学习 固态存储 算法
目标检测之TextBoxes++
翻译:《 TextBoxes++: A Single-Shot Oriented Scene Text Detector》
|
机器学习/深度学习 算法 自动驾驶
目标检测之TextSnake
翻译:《TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes》
108 0
|
存储 编解码 固态存储
一文带你了解时下最新的目标检测模型——YOLOv8
Ultralytics YOLOv8: State-of-the-Art YOLO Models,作者:Sovit Rath
1590 0
|
数据挖掘 计算机视觉
目标检测:YOLOV3技术详解
目标检测:YOLOV3技术详解
253 0
目标检测:YOLOV3技术详解
|
机器学习/深度学习 自动驾驶 大数据
使用 CNN 进行图像分类总结
使用 CNN 进行图像分类总结
413 0
|
机器学习/深度学习 算法 计算机视觉
目标检测算法——R-CNN
目标检测算法——R-CNN
194 0
目标检测算法——R-CNN

相关实验场景

更多