终于看到一个不在 Backbone上研究 ResNet的了!直接优化小目标检测性能,不卷ImageNet-1K数据集!
前言 传统的基于深度学习的目标检测网络在数据预处理阶段常通过调整图像大小以达到特征图中的统一尺寸和尺度。调整大小的目的是为了便于模型传播和全连接分类。然而,调整大小不可避免地导致图像中目标的变形和信息丢失。对于具有线性形状和少量像素的微小目标(如配电塔)来说,这一缺点尤为明显。
为了解决这个问题,作者提出放弃调整大小的操作。相反,作者引入了位置编码多头交叉注意力机制。这使得模型能够捕获上下文信息,并从多个表示子空间中学习,有效地丰富了配电塔的语义信息。此外,作者还通过将三个池化特征图 Reshape 为一个新统一的特征图,同时减少计算负担,增强了空间金字塔池化。这种方法允许不同尺寸和尺度的图像生成具有统一维度的特征图,并可用于特征图传播。作者的SCAResNet将这些改进整合到主干网络ResNet中。作者使用杜克大学的输电和配电基础设施图像数据集评估了作者的SCAResNet。
I Introduction
检测输电和配电塔对于电力网的安全可靠运行至关重要,因为这些塔的位置和数量是设计电力网络拓扑和规划其扩展的关键参数。将遥感(RS)和深度学习技术相结合作为一种广泛采用的目标检测方法具有多种优势,包括能够快速覆盖大面积、减少人为错误以及提高检测精度。卷积神经网络(CNNs)已成为深度学习中的主要方法,因为它们可以从原始图像像素自动学习判别特征,捕捉图像区域之间的复杂空间关系,并获得更好的检测性能。基于CNN的主流目标检测器可以分为基于 Anchor 框和无需 Anchor 框两类。基于 Anchor 框的检测器使用预定义的 Anchor 框来预测目标位置和大小,这提供了更好的准确性,但可能会受到 Anchor 框设计偏差的影响。无需 Anchor 框的检测器直接回归目标的中心和大小,不使用 Anchor 框。
然而,由于输电和配电塔体积小且缺乏明显特征,检测这些塔具有挑战性,尤其是配电塔在遥感图像中通常是黑色的线性物体。微小的物体通常具有较小的空间占用和与周围环境较低的对比度,这使得它们更难以检测。此外,现有的目标检测器在分配正负样本时往往倾向于较大的物体[1],导致大多数微小目标没有得到正样本分配[1]。因此,在检测微小物体,如输电塔尤其是配电塔时,检测性能显著降低。
目前,许多工作致力于解决微小目标检测的困难。多尺度特征学习涉及分别学习不同大小的物体,主要解决微小物体特征判别性不足的问题。基于特征金字塔的方法[2]主要使用低级空间和高级语义信息来增强目标特征。为了解决微小物体未被分配到样本的问题,徐等人提出了基于高斯感受野的标签分配(RFLA)[3]。作为一种专门为微小目标设计的标签分配方法,RFLA从归一化高斯Wasserstein距离[4]和有效感受野[5]中汲取灵感,采用高斯建模 GT 框和感受野以重新测量它们之间的距离进行标签分配。这种方法提高了微小目标标签分配的概率,并为基于 Anchor 框和无需 Anchor 框的检测器都带来了良好的结果。
然而,当前相关研究对数据预处理对微小目标检测影响的研究有限。在数据预处理阶段,传统做法是在数据输入目标检测网络之前对其进行调整大小的操作,以实现不同大小和尺度图像的统一大小和尺度。这一做法旨在减轻模型的计算负担,更重要的是,确保特征图可以生成相同长度的特征向量。这是后续全连接分类不可或缺的前提条件。不幸的是,对于微小物体,由于它们的像素较少且特征相对贫乏,在数据预处理中调整大小时丢失的像素对提取微小物体的特征产生了比大型物体更严重的影响。
如图1所示,与具有丰富特征的输电塔调整大小后的图像相比,具有微小黑色线性形状的配电塔调整大小后的图像失去了更多独特的特征,甚至变成了一个模糊的黑点。这对于后续的特征提取极为不利,因为这些微小物体从一开始就失去了宝贵的特征[6]。
因此,作者提出放弃传统调整大小的数据预处理步骤。相反,在主干网络的传播过程中,作者最初在不同大小和尺度的特征图上执行位置编码的多头交叉注意力。这使得模型能够在多个子表示空间中学习整个图像的全局上下文信息,以便模型可以学习到遥感图像中配电塔位置及其周围环境的更丰富的特征信息。随后,将三轮池化应用于不同大小和尺度的特征图。将池化特征图的展平特征向量 Reshape 为具有相同大小和尺度的新特征图。作者设计的主干网络SCAResNet,将前述创新模块整合到ResNet[7]中,在杜克大学发布的电力传输和配电基础设施图像数据集[8]上取得了有希望的结果。
II Methods
SCAResNet结合了基于ResNet的位置编码多头交叉注意力(Positional-Encoding Multi-head CCA)和SPPRCSP模块,其架构如图2所示。
Positional-Encoding Multi-head CCA Module
在检测传输和分配塔的过程中,一个挑战是丰富特征的可获得性有限,特别是对于常常表现为微小黑色线性形状的分配塔。为了减轻分配塔特征不够鲜明的问题,作者采用了基于自注意力(Self-Attention)[10]改进的交叉注意力(Criss-Cross Attention, CCA)[9]来捕捉分配塔从长期依赖关系中情境信息和相关性,从而得到具有更丰富语义的塔。
如图3中的交叉注意力块模块所示,CCA用两次连续的行-列相关矩阵转换替换了自注意力中的全图相关矩阵转换,大大减少了自注意力所需的参数数量,同时保持了高精度。
然而,单头注意力以单一表示处理输入数据,这可能限制了模型捕捉数据完整复杂性的能力。相比之下,多头注意力将输入数据投影到多个表示子空间,使模型能够捕捉信息的不同方面并将它们整合为最终输出[10]。因此,多头CCA可以将多个注意力焦点分配到不同的兴趣点,如图3所示,包括图像中的周围环境以及全局上下文,例如输电线路、居民区块和道路。这种全面的学习方法有助于确定哪些环境特征更可能与分配塔的存在相关联,从而协助检测。
在计算注意力时,没有考虑不同位置键的影响,因此预处理绝对位置编码的目的是在注意力机制中添加位置信息以捕捉位置关系。作者使用基于正弦和余弦函数的位置编码方法,该方法将位置信息编码为周期性的高维向量,可以轻松地添加到输入数据中。
SPPRCSP Module
在经过位置编码多头CCA模块对与配电塔相关的上下文信息进行综合特征提取并保留信息后,不同大小和尺度的特征图将通过作者设计的空间金字塔池化 Reshape 跨阶段部分(SPPRCSP)模块。该模块确保输出大小和尺度统一的特征图,同时避免精度损失并降低后续任务(如全连接分类等)的计算成本。
空间金字塔池化(SPP)[11],由He等人提出,将各种大小和尺度的特征图划分为一组(通常是3个)具有固定大小网格的金字塔层。每个网格区域内的特征独立进行池化。最终,来自金字塔层每个网格区域的池化特征被连接起来形成一个固定长度的特征向量。然而,这个特征向量不能在以特征图组织的网络中传播;它只能作为分类网络的输入。因此,作者引入了空间金字塔池化 Reshape (SPPR)层,以实现在网络中的特征向量传播。
如图4所示的SPPR模块所示,在SPPR层的早期阶段,保持了SPP层的步骤不变,区别在于最后对连接的特征向量进行 Reshape 。与标准的SPP层不同,为了成功将连接的特征向量 Reshape 为特征图,SPPR层中池化特征图的 Level 不能任意指定;它们必须满足以下方程:
其中 、、 和 是三个池化特征图和 Reshape 特征图的 Level 。、、 和 是任意正整数。在作者的研究中,、、 和 被确定为 、、 和 。
在建立了池化特征图层次之后,作者可以推理出池化层的参数,包括池化核、步长和填充值。在原始SPP论文的方程中,在特征图的池化过程中,填充大小有可能超过池化核大小的一半。这种情况可能导致边缘信息的截断和有价值特征的丢失,进而阻碍模型训练过程。因此,作者提出了以下修正后的方程,用于计算SPPR池化层的参数:
其中 是使用方程 (2) 计算的判断值。 表示输入特征图的高度或宽度。 表示池化特征图的层次。
如果满足方程 (3),则:
如果不满足方程 (3),则:
由于没有进行尺寸调整,来自高分辨率遥感图像的特征图尺寸较大。这又在一定程度上给训练过程带来了重大的计算负担。为了解决这个问题,作者引入了跨阶段部分(CSP)结构和DSEConv模块。
如图4所示,进入SPPRCSP结构的特征图经过通道压缩以减少参数。为了弥补由通道压缩和特征图的池化引起的准确度损失,特征图通过跳跃连接将详细信息整合到SPPR层的输出结果中。此外,作者用深度卷积和点卷积替换普通卷积以减少参数和FLOPs[15],同时引入压缩和激励注意力[16]来帮助从全局角度选择更有利于小目标检测的通道。
III Experiment Results
Dataset
作者使用了电力传输与配电基础设施图像(ETDII)数据集进行实验,这是一个来自杜克大学的公开数据集。该数据集的来源包括CT ECO、USGS、LINZ和SpaceNet等不同提供者。它由494个图像块组成,来自六个国家,分别是美国、苏丹、新西兰、墨西哥、中国和巴西,每个国家都有独特的地形类型,分辨率为0.3米。检测类别包括配电塔(DT)和输电塔(TT),分别为DT和TT提供了16,418个和1,385个真实框。
根据标准COCO数据集[17]的大小分类标准,尺寸小于或等于像素的目标被认为是小型,尺寸大于像素但小于或等于像素的目标被认为是中型,尺寸大于像素的目标被认为是大型。在ETDII数据集中,有12,713个小型目标,其中6,342个小于或等于像素;有4,723个中型目标;以及367个大型目标。
Experiment Settings
所有实验都在一台配备有NVIDIA GeForce RTX 3060笔记本电脑GPU的计算机上进行。模型训练基于PyTorch [18],核心代码建立在MMdetection [19]之上。使用了来自ImageNet [20]的预训练模型。
所有模型都采用随机梯度下降(SGD)优化器进行训练,动量为,权重衰减为,批量大小为,共训练个周期。初始学习率设置为,在第和第个周期时衰减到。作者使用具有层的SCAResNet进行实验。所有其他参数设置与基于RFLA的检测器相同。
Ablation Study
作者通过消融实验评估了不同模块对SCAResNet性能的影响,以验证每个模块的有效性。消融实验的结果展示在表1中。
Iii-C1 Effect of Positional-Encoding Multi-head CCA
在作者的实验中,与仅使用RFLA的检测器相比,基于RFLA并配备了位置编码多 Head CCA模块的检测器在mAP上提高了0.7%,在mAP上提高了1.4%,在mAP上提高了0.2%,在mAP上提高了1.0%,在mAP上提高了1.7%。
Iii-C2 Effect of SPPRCSP
在作者的实验中,基于RFLA的检测器结合SPPRCSP模块,在mAP上提升了1.7%,在mAP上提升了2.5%,在mAP上提升了1.1%,在mAP上提升了1.9%,但与单独的基于RFLA的检测器相比,在mAP上下降了3.4%。
Iii-C3 Effect of Combining Positional-Encoding Multi-head CCA and SPPRCSP
基于RFLA的检测器,结合了位置编码多 Head CCA和SPPRCSP模块的优点,与仅基于RFLA的检测器相比,在mAP上提高了1.3%,在mAP上提高了4.3%,在mAP上提高了2.1%,在mAP上提高了1.4%。
Contrast Experiments
为了验证SCAResNet在不同检测器架构下检测输电和配电塔的性能,作者通过将Cascade R-CNN [21],Faster R-CNN [22],FCOS [23]的 Backbone 网络替换为作者设计的SCAResNet,在ETDII数据集上进行了对比实验。
表2展示了实验结果,图5说明了每个检测器的精确度-召回率性能。
可以看出,基于SCAResNet的检测器在不同检测器上应用时,在mAP、mAP、mAP和mAPm方面都有不同程度的提升。然而,mAPl略有下降。这是由于与中、小目标相比,大目标的数量要少得多,造成了不平衡。
为了更好地可视化SCAResNet在输电和配电塔特征提取方面的改进,作者采用基于RFLA的检测器作为 Baseline ,并使用带有SCAResNet的 Baseline 分别检测主要包含配电塔和输电塔的遥感图像。如图6所示,可以明显看出,SCAResNet增强的基于RFLA的检测器提取了更丰富的特征,并且在输电和配电塔的检测性能上表现更好。
IV Conclusion
作者提出了一种 Backbone 网络,名为SCAResNet,专门为小目标检测而设计。作者消除了数据预处理中的传统缩放操作,因为从一开始就丢失宝贵信息对于像输电塔这样的小目标是有害的。作者设计的定位编码多头CCA模块能够在不丢失信息的情况下从图像中学习更多上下文特征。随后的SPPRCSP模块将不同大小和尺度的特征图统一到一致的大小和尺度,使得在减少参数的同时,传播不会牺牲准确性。SCAResNet在ETDII数据集上取得了令人印象深刻的检测结果。