一、本文介绍
本文记录的是利用CARAFE上采样对RT-DETR的颈部网络进行改进的方法研究。RT-DETR
采用传统的最近邻插值的方法,仅考虑子像素邻域,无法捕获密集预测任务所需的丰富语义信息,从而影响模型在密集预测任务中的性能。CARAFE
通过在大感受野内聚合信息、能够实时适应实例特定内容且保持计算效率。
专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、CARAFE介绍
CARAFE
: 内容感知的特征重新组合
CARAFE(Content - Aware ReAssembly of FEatures)
是一种用于特征上采样的操作符,其设计原理和优势如下:
2.1、CARAFE原理
- 总体框架:
CARAFE
由两个关键组件组成,即核预测模块和内容感知重组模块。给定大小为$C×H×W$的特征图$x$和上采样比例$\sigma$(假设$\sigma$是整数),CARAFE
将产生大小为$C×\sigma H×\sigma W$的新特征图$X'$。 - 核预测模块:负责以内容感知的方式生成重组核。每个源位置$x$上对应$\sigma^{2}$个目标位置$X'$上,每个目标位置需要一个$k{u p}×k{u p}$的重组核,因此该模块将输出大小为$C{u p}×H×W$的重组核,其中$C{u p} = \sigma^{2}k_{u p}^{2}$。该模块由三个子模块组成,分别是通道压缩器、内容编码器和核归一化器。
- 通道压缩器:采用$1×1$卷积层将输入特征通道从$C$压缩到$C_{m}$,减少特征图的通道数,从而减少后续步骤的参数和计算成本,使CARAFE更高效。
- 内容编码器:使用核大小为$k{encoder}$的卷积层根据输入特征的内容生成重组核,编码器的参数为$k{encoder}×k{encoder}×C{m}×C{u p}$。增大$k{encoder}$可以扩大编码器的感受野,利用更大区域内的上下文信息,但计算复杂度也会随之增加。通过研究,$k{encoder} = k{u p} - 2$是性能和效率之间的良好平衡。
- 核归一化器:在将每个$k{u p}×k{u p}$重组核应用于输入特征图之前,使用softmax函数对其进行空间归一化,使核值之和为$1$,这是对局部区域的软选择。
- 内容感知重组模块:对于目标位置$l'$和以$l = (i, j)$为中心的相应方形区域$N(X{l}, k{u p})$,重组过程如公式$\mathcal{X}{l'}' = \sum{n = -r}^{r}\sum{m = -r}^{r}\mathcal{W}{l'(n, m)}·\mathcal{X}{(i + n, j + m)}$所示,其中$r = \lfloor k{u p} / 2\rfloor$。通过重组核,区域$N(X{l}, k{u p})$中的每个像素根据特征的内容而不是位置的距离对上采样像素$l'$的贡献不同,使得重组后的特征图的语义比原始特征图更强。
2.2、优势
- 大视野:与之前仅利用子像素邻域的工作不同,
CARAFE
可以在大感受野内聚合上下文信息。 - 内容感知处理:
CARAFE
能够根据实例特定的内容进行实时处理,为每个样本生成自适应的内核,而不是使用固定的内核。 - 轻量且计算快速:
CARAFE
引入的计算开销很小,可以很容易地集成到现代网络架构中。 - 通用性和有效性:在对象检测、实例分割、语义分割、图像修复等广泛的密集预测任务中,CARAFE都能显著提升性能。
论文:https://arxiv.org/abs/1905.02188
源码:https://github.com/tiny-smart/dysample
三、实现代码及RT-DETR修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: