终于看到一个不在 Backbone上研究 ReNet的了!直接优化小目标检测性能,不卷ImageNet-1K数据集!

终于看到一个不在 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数据集上取得了令人印象深刻的检测结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/822791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吴恩达llama课程笔记:第六课code llama编程

羊驼Llama是当前最流行的开源大模型,其卓越的性能和广泛的应用领域使其成为业界瞩目的焦点。Meta公司基于llama2发布了code llama,用于代码生成,补全等,Code Llama拥有7B、13B和34B三种版本。 吴恩达教授推出了全新的Llama课程&a…

OceanBase 4.3 列存存储格式和列存索引存储格式

以 t1 表和索引为例子,下面两张图说明了存储层如何存储数据。 create table t1 (id1 int, id2 int, name varchar(10), salary int, primary key(id1, id2)) with column group (each column);create index idx (name) storing(salary) with column group(each co…

基于GIS、python机器学习技术的地质灾害风险评价与信息化建库应用

结合项目实践案例和科研论文成果进行讲解。入门篇,ArcGIS软件的快速入门与GIS数据源的获取与理解;方法篇,致灾因子提取方法、灾害危险性因子分析指标体系的建立方法和灾害危险性评价模型构建方法;拓展篇,GIS在灾害重建…

vue elmentui 可编辑table 实现

废话不多说上图: 1.可编辑input 2.可编辑下来框 3.点击chechbox 4.可编辑radio 其实后面两种可以直接显示值 需要修改直接改就行 保持风格统一所以就做了点击之后出现修改功能 上代码,不要哔哔 哈哈 粗暴 真得是曲不离口 拳不离手, 几天…

【力扣】45. 跳跃游戏 II

Problem: 45. 跳跃游戏 II 文章目录 问题思路复杂度Code 问题 思路 核心思路,例如nums[i]5,那么最远能跳五步; //那么在这接下来1-5范围内,哪个能让我跳的最远,这个最远指的是 -------------------------------------…

代码随想录图论

1. 所有可能的路径 class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:def dfs(graph, result, path, root): #result 返回结果, path记录路径, root记录遍历到了第几个节点if root len(graph) - 1: #如果遍历到最后…

如何让多人同时扫码看图?图片转二维码的制作方法

现在经常会发现需要通过扫描二维码的方式来获取图片信息,这种方式可以让很多人能够同时获取图片信息,有利于提升传播的效率和用户体验。那么如何使用图片二维码生成器来在线制作二维码呢?其实步骤很简单,只需要在电脑3步就可以轻松…

Solana 上创建自己的 SLPToken:简明指南

Solana 定义 Solana 是由 Solana Labs 创建的区块链平台,旨在提供高吞吐量和低延迟的去中心化应用(DApps)开发环境。它采用一系列创新技术,如 PoH(Proof of History)共识机制和 Tower BFT(BFT …

大模型预测结果导入到Doccano,人工修正预测不准的数据

背景 使用大语言模型做实体识别的实验时,发现大模型关于实体的边界预测一直不准。 主要原因在于当时找了很多同学标注数据,由于不同组同学关于实体的边界没有统一,故导致数据集中实体边界也没统一。 (找太多人标,会有…

HalconLen2-示例程序分析

dev_update_window(off) dev_open_window(0, 0, 512, 512, black, WindowHandle) //打开窗口 stop() //程序中断 *dev_close_window() //关闭窗口 read_image (Bond, die/die_03) //读取图片 dev_display(Bond) //显示图片 set_display_font(WindowHandle, 16, mono, true, fal…

#陶晶驰串口屏使用

1.陶晶驰串口屏输入要连接的wifi信息实现 (1)选择文本控件 (2)给文本控件配置输入键盘,id代表用户名,password代表wifi密码(注意wifi的频段需要为2.4GHz) (3&#xff0…

【结构型模式】适配器模式

一、适配器模式概述 适配器模式的定义-意图:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。(对象结构模式->对象适配器/类结构模式->类适配器) 适配器模式包含三个角色:目标(Target)角色、适配者(Adapt…

打破常规,重新定义PMP备考之路

今天我想和大家聊聊一个我们都不陌生的话题——PMP备考。你是不是也在备考的苦海中挣扎,或是听说过各种“速成”的神话?🤔 最近读到一篇文章(来着圣略PMP培训讲师老杨),让我对PMP备考有了新的认识。原来&a…

常见的地图绘制方法,这个包全包了~~

在上一篇介绍完Bokeh精美可视化作品之后,有小伙伴咨询我能不能稍系统的介绍下如何在地图上添加如柱形图等其他元素的付方法? 这就让我想到一个优秀的地图绘制可视化包-R-cartography,虽然之前也有简单介绍过,本期就具体分享下该包…

Python QP 求解器

系列文章目录 前言 该 Python 库提供一站式 solve_qp 函数,用于求解凸二次规划: 向量不等式逐个坐标应用。函数返回后端 QP 求解器找到的初等解 ,如果求解失败/问题不可行,则返回 None。所有求解器都要求问题是凸的,这…

隐式/动态游标的创建与使用

目录 将 emp 数据表中部门 10 的员工工资增加 100 元,然后使用隐式游标的 %ROWCOUNT 属性输出涉及的员工数量 动态游标的定义 声明游标变量 打开游标变量 检索游标变量 关闭游标变量 定义动态游标,输出 emp 中部门 10 的所有员工的工号和姓名 Orac…

【Vue3】getters---Vue3中的计算属性工具

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

多模态之ALBEF—先对齐后融合,利用动量蒸馏学习视觉语言模型表征,学习细节理解与论文详细阅读:Align before Fuse

Align before Fuse: Vision and Language Representation Learning with Momentum Distillation (ALBEF)在融合之前对齐:利用动量蒸馏进行视觉与语言表示学习 Paper: arxiv.org/pdf/2107.07651.pdf Github: https://github.com/salesforce/…

napi系列学习基础篇——如何通过DevEco Studio开发一个NAPI工程

简介 NAPI(Native API)是OpenHarmony系统中的一套原生模块扩展开发框架,它基于Node.js N-API规范开发,为开发者提供了JavaScript与C/C模块之间相互调用的交互能力。如下图所示: 这套机制对于鸿蒙系统开发的价值有两方…

权威认证!亚信安全9款产品入选CCIA首版《网络安全专用产品指南》

权威认证 近日,中国网络安全产业联盟(CCIA)正式发布《网络安全专用产品指南》(第一版)(以下简称《指南》),亚信安全凭借突出技术实力、创新优势以及业内深厚积累,旗下9款…