Scale-Aware Trident Networks for Object Detection
1.背景
尺度问题一直是目标检测领域关键的待解决的问题。目前针对这一问题而言还未找到较为彻底的解决方案;有两类较为有效的策略可用
图像金字塔是一种用于网络输入图像多尺度表示的方法,在实际应用中常被采用的一种技巧性手段(例如multi-scale techniques),而这种方法往往伴随着较高的计算开销(computational cost)
Feature Pyramid, commonly known as a structure that integrates feature maps from different depths to capture multi-scale features, such as the FPN module mentioned in many papers, achieves this through the fusion of these feature maps. However, despite its speed advantages, its performance falls short in practical applications. The paper explains that this is due to the trade-off in maintaining consistency across different scales of features (as distinct features at various scales undergo transformations with varying depths and parameters, resulting in a more comprehensive representation and enhanced capability to capture complex patterns).
不考虑这些结构方面的因素,并聚焦于DNN的具体设计层面时
1、较深的层一般感受野越大,因此处理大目标的能力较强。
2、过多的下采样层会损伤网络对小目标的检测能力
这篇文章研究探讨了另一个潜在的关键因素对其目标检测效果的影响, 即探讨感受野尺寸的问题. 提出了Trident Network这一架构以适应不同尺度的变化, 并实现了权值共享机制、基于尺度自适应的训练方法以及高效的推理过程. 进行了系统性的对比实验分析, 内容丰富充实.
2.方法
在原始backbone架构的基础上,TridentNet实现了以下三项技术改进:
1.其trident block中的各个分支共享权重参数;
2.每个分支在训练与测试过程中均专注于特定尺度范围内的样本特征;
3.每个分支内部分别负责不同尺度范围内的特征提取任务。
2.1空洞卷积
空洞卷积是一种用于优化普通卷 convolution操作的技术方案,在其设计中通过引入像素间隔来扩大可作用区域。
其中参数 ds 具体来说就是,在卷积核取值时,在像素点之间插入了 ds−1 个空像素。
当 ds 等于 1 时,则对应的是标准的卷积方式。
值得注意的是,在 ds 值逐渐增大的过程中,
尽管与普通卷积相比,
空洞卷积能够不断扩大感受野,
但其计算量始终保持与普通卷积一致。

特别地,在深度可变分辨率网络中(DRN),无论是采用3×3 的空洞卷积还是内核大小为3 + 2 (ds−1) 的标准卷积操作,在感受野上表现一致。当输入特征图的空间尺寸定义为s时,则每一步操作后将带来额外s × 2 (ds − 1)的空间分辨率提升。经过n层这样的卷积处理后,累计增加了2(ds − 1)s n的空间分辨率

可以看出,在Dilation参数中设置较大的rate值会导致感受野范围增大并对目标产生更大的吸引力
2.2 Trident Network

TridentNet的设计思路较为直接,在采用相同基础网络架构的前提下,并行部署多组不同空洞率的卷积层进行特征提取,并将各层输出融合生成最终特征。以ResNet的基本残差块为例,在传统的1x1, 3x1, 1x1卷积序列基础上,在3x3卷积操作中引入上述改进方法:首先分别利用不同空洞率(C^r、C^2、C^1)的空洞卷积提取多尺度特征;随后对各分支输出进行逐通道融合;最后整合所得特征形成改进后的模块结构(称为Trident模块)。

2.3 权值共享
(1)确保网络参数数量稳定。
(2)通过从不同尺寸的物体中提取能够生成高度一致特征的方式。
(3)网络的参数可以通过接受多种尺寸与感受野的变化来进一步优化,并能有效提升模型鲁棒性能或降低过拟合风险。
3.训练及运算过程
在对TridentNet进行训练的过程中,在面对感受野与物体尺寸差异较大的情况时也会随之更新网络参数;基于最初的实验结果可以看出,在这种情况下会导致模型性能下降。
解决的方法被称为scale-aware training。为每一支分设定一个区间 [li, ni ]。
针对物体的RoI区域而言,在其中假定其宽度与高度分别取值为 w, h.
则物体可以在分支 i 下训练的条件为:

这样可以增强网络的稳定性。
在网络上运行预测任务时,在各个分支生成的结果中应用非最大值抑制算法,并剔除不必要的边界框以获得最终预测结果
另外,尽管多分支网络未增加额外参数量但每次预测都需要依次计算各分支的结果从而导致预测速度显著降低为了避免性能下降这一问题我们可以采用一种折中方法即在进行预测时仅考虑其中间_ds=2_层的特征提取这部分能够在一定程度上兼顾性能与速度同时仍能维持与未优化版本相当的速度水平值得注意的是这种方法本质上等同于仅增加了空洞卷积
4.实验
本文的基准模型是基于ResNet构建的主要干网络框架是Faster R-CNN模型,并通过采用具有三个分支结构的Trident模块来进行消融实验。

采用多分支结构,在尺度感知机制下性能都有显著提升。
存在的问题是为何在权重不共享的情况下性能会出现下降,
独立参数的设计意图应旨在捕捉不同尺度下的特征差异。
对于分支数的实验:

本实验未采用scale-aware training策略,并旨在使各个分支都能充分发挥其潜力。 当设置为3个分支时,在性能指标上取得了较为理想的效果。
关于Trident block的应用层级,在本研究中我们不仅讨论了其常规应用位置如前所述,在输出层通常采用这一策略;同时为了进一步研究其实现途径及其对模型性能的影响,在本实验中尝试将其应用于ResNet的不同阶段

在该网络架构中,conv2层采用4倍下采样率,而conv3和conv4则分别采用了8倍和16倍的下采样策略。这一发现提示我们,在当前设计框架下TridentNet在高层小物体特征提取方面仍存在一定的局限性。即使仅关注小物体检测任务,在各层中选择最优分支策略时仍然倾向于采用基础卷积操作(即步长参数设置为1)。这表明当前模型架构可能在高层次特征提取方面有所欠缺,并未显著提升对细节特征的捕捉能力。
堆叠使用Trident block的实验:

通过叠加trident block能够优化结果表现,然而过多可能导致系统性能受限.
用所有的数据分别训练每个分支,探究每个分支发挥的作用:

结果显示,在处理小物体时,branch-1表现更为突出;而分支2和3则分别在中等和大型物体上取得了更好的效果。值得注意的是,在处理小型和大型物体时,分支2仍然能够维持较好的性能表现。这也正是Fast Inference Approximation方法得以发展的重要原因之一。
不同模型的比较:

TridentNet基于ResNet-101主干网络与Fast R-CNN框架,并作为本文的主要方法提出。
TridentNet 采用多尺度训练、soft-NMS以及可形变卷积等技术手段,并结合了large-batch BN的做法来提升性能。
总体来说
转载
https://zhuanlan.zhihu.com/p/56468485
https://zhuanlan.zhihu.com/p/113194981
