当前位置: 首页 > wzjs >正文

网站建设 从用户角度开始广州网站排名推广

网站建设 从用户角度开始,广州网站排名推广,设计一个自己的电商网站,宁波做网站的公司哪家好Multiscale Sparse Cross-Attention Network for Remote SensingScene Classification 【TGRS 2025】多尺度稀疏交叉注意力MSC,涨点起飞! 一、论文信息 2025TGRS 中文题目:多尺度稀疏交叉注意力网络在遥感场景分类中的应用 所属单位&#…

Multiscale Sparse Cross-Attention Network for Remote SensingScene Classification

【TGRS 2025】多尺度稀疏交叉注意力MSC,涨点起飞!

一、论文信息 2025TGRS

中文题目:多尺度稀疏交叉注意力网络在遥感场景分类中的应用

所属单位:西安电子科技大学人工智能学院智能感知与图像理解教育部重点实验室,南京理工大学计算机科学与工程学院智能感知与系统高维信息教育部重点实验室

核心速览:本文提出了一种名为MSCN的多尺度稀疏交叉注意力网络,用于遥感场景分类(RSSC)。通过多级特征融合与稀疏注意力机制,显著提升了分类精度

二、论文概要 

1. 研究背景:

  • 研究背景: 遥感场景分类是遥感图像处理的重要课题,涉及土地利用调查、环境保护等应用。传统方法依赖手工特征和机器学习分类器,但随着空间分辨率提升,复杂场景的分类需求增加。
  • 问题分析: 深度学习模型(如CNN)虽能提取高级特征,但小目标容易在深层网络中丢失,导致信息损失。例如,ResNet50在提取UC Merced数据集中的飞机场景时,小型飞机逐渐消失。
  • 文献综述:多级特征融合:如MIDC-Net通过密集连接CNN提取低、中级特征,并简单拼接融合。SF-MSFormer则采用自适应卷积调整特征尺寸后融合基于CAM的方法: CrossViT和EMTCAL分别通过跨分支选择性融合和高效ViT设计实现多尺度特征融合。稀疏表示在SAM中的应用: SWin Transformer和CSWin Transformer通过局部窗口注意力降低计算复杂度,同时保持全局信息。BiFormer采用双路径注意力机制过滤无关键值对,减少干扰信息影响。

2. 本文贡献:

  • 提出了MSCN网络:本文提出了一种名为多尺度稀疏交叉注意力网络(MSCN)的遥感场景分类(RSSC)模型。该模型通过考虑卷积神经网络提取的多层次特征的不同贡献,将高层特征与每个浅层特征进行交叉整合,从而有效挖掘嵌入在多层次特征中的有用信息
  • 多尺度稀疏交叉注意(MSC)机制:来有效融合多层次特征。一方面,MSC能够探索隐藏在遥感场景中的多尺度复杂内容;另一方面,它通过稀疏方案减少无关信息的影响,从而最小化干扰项的影响。
  • 多组空间通道注意力机制:开发了一个多组CBAM增强模块(GCE),以增强分类特征的表示能力。GCE通过多组CBAM识别分类特征中的局部显著信息,并通过重新调整CBAM的注意力权重来增强关键信息,从而使分类特征更具辨别力。
  • 全面实验验证:本文在三个数据集上进行了全面实验,结果表明MSCN在RSSC任务中的有效性。这些贡献共同提升了遥感场景分类的效果和精度,为后续研究提供了重要的参考和启示。

三、创新方法 

一、MSCN的整体框架

该框架包含四个主要组件:多级特征提取模块(MFEM)、多级特征交叉融合模块(MFCM)、全局上下文增强器(GCE)以及分类模块(CM)。MFEM旨在从遥感图像中学习多级特征,MFCM用于将高级特征与不同低级特征进行融合以获得分类特征,GCE则用于进一步增强分类特征,CM完成最终分类。

二、多尺度稀疏交叉注意力(MSC)机制:

MSC通过结合多尺度池化、稀疏操作和自适应加权机制,实现了对多层特征的有效融合,同时过滤掉无关信息,增强了特征表达能力,为遥感场景分类任务提供了更准确的特征。

1. 多尺度信息提取:首先通过对输入特征图 Y 进行不同窗口大小的平均池化操作,生成多个池化特征图 Y_1, Y_2, Y_3 。这些池化操作能够捕捉到输入数据中的多尺度线索:较大的池化窗口捕获整体结构信息,而较小的窗口则保留细节信息。

2. 特征融合与注意力权重计算:将上述多尺度特征图相加后得到包含丰富多尺度信息的特征表示,并将其与另一输入 X 分别展平和映射为查询矩阵 Q、键矩阵 K,以及值矩阵 V。通过计算相似度矩阵 M,衡量 Q 和 K 中各元素之间的相关性。具体来说,M 的每个元素 m_{ij} 表示 Q 中第 i 个元素与 K 中第 j 个元素的相关性。LayerNorm的作用是稳定数值计算过程,能消除不同尺度特征的数值差异;为什么不用batch norm或者instance norm?会难以处理 跨尺度的通道间统计量差异。

3. 稀疏操作过滤无关信息:为了减少无关信息的干扰,MSC引入了两次TopK稀疏操作。一次低稀疏看清整体,一次高稀疏看清局部;该操作通过保留每行中相关性最高的k比例元素,将低相关性的元素置为负无穷。这样,在后续的Softmax操作中,这些无关元素会被转化为0,从而有效抑制干扰信息的影响。

 

4.自适应调整与加权融合:对稀疏操作后的注意力图应用可学习参数α和β,以自适应调整两种稀疏程度的比例。最终生成调整后的注意力图 M',并将其应用于值矩阵 V 来生成输出特征 A 。

 原文代码是适应多通道图像任务(4维输入shape),我将其修改成了适应三维输入shape

import torch
import torch.nn as nn
from einops import rearrangeclass MSC_Temporal(nn.Module):def __init__(self, dim, num_heads=8, topk=True, kernel=[3, 5, 7], s=[1, 1, 1], pad=[1, 2, 3],qkv_bias=False, qk_scale=None, attn_drop_ratio=0., proj_drop_ratio=0., k1=2, k2=3):super(MSC_Temporal, self).__init__()self.num_heads = num_headshead_dim = dim // num_headsself.scale = qk_scale or head_dim ** -0.5self.q = nn.Linear(dim, dim, bias=qkv_bias)self.kv = nn.Linear(dim, dim * 2, bias=qkv_bias)self.attn_drop = nn.Dropout(attn_drop_ratio)self.proj = nn.Linear(dim, dim)self.proj_drop = nn.Dropout(proj_drop_ratio)self.k1 = k1self.k2 = k2self.attn1 = nn.Parameter(torch.tensor([0.5]), requires_grad=True)self.attn2 = nn.Parameter(torch.tensor([0.5]), requires_grad=True)# 使用1D池化层处理时间序列self.avgpool1 = nn.AvgPool1d(kernel_size=kernel[0], stride=s[0], padding=pad[0])self.avgpool2 = nn.AvgPool1d(kernel_size=kernel[1], stride=s[1], padding=pad[1])self.avgpool3 = nn.AvgPool1d(kernel_size=kernel[2], stride=s[2], padding=pad[2])self.layer_norm = nn.LayerNorm(dim)self.topk = topkdef forward(self, x, y):# 输入形状: x (B, C, T), y (B, C, T)b, c, t = x.shape# 处理y: 使用1D池化处理时间维度y1 = self.avgpool1(y)y2 = self.avgpool2(y)y3 = self.avgpool3(y)y = y1 + y2 + y3# 转置为 (B, T, C) 用于线性层y = rearrange(y, 'b c t -> b t c')y = self.layer_norm(y)# 处理x: 转置为 (B, T, C)x = rearrange(x, 'b c t -> b t c')# 生成Q, K, VB, N, C = x.shapeq = self.q(x).reshape(B, N, self.num_heads, C // self.num_heads).permute(0, 2, 1, 3)B, N1, C = y.shape     #N1=32kv = self.kv(y).reshape(B, N1, 2, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)k, v = kv[0], kv[1]# 计算注意力attn = (q @ k.transpose(-2, -1)) * self.scale# Topk注意力机制mask1 = torch.zeros(B, self.num_heads, N, N1, device=x.device, requires_grad=False)index = torch.topk(attn, k=int(N1/self.k1), dim=-1, largest=True)[1]mask1.scatter_(-1, index, 1.)attn1 = torch.where(mask1 > 0, attn, torch.full_like(attn, float('-inf')))attn1 = attn1.softmax(dim=-1)attn1 = self.attn_drop(attn1)out1 = (attn1 @ v)mask2 = torch.zeros(B, self.num_heads, N, N1, device=x.device, requires_grad=False)index = torch.topk(attn, k=int(N1/self.k2), dim=-1, largest=True)[1]mask2.scatter_(-1, index, 1.)attn2 = torch.where(mask2 > 0, attn, torch.full_like(attn, float('-inf')))attn2 = attn2.softmax(dim=-1)attn2 = self.attn_drop(attn2)out2 = (attn2 @ v)# 加权融合out = out1 * self.attn1 + out2 * self.attn2# 输出处理out = out.transpose(1, 2).reshape(B, N, C)out = self.proj(out)out = self.proj_drop(out)# 恢复原始形状 (B, C, T)out = rearrange(out, 'b t c -> b c t')return outif __name__ == "__main__":# 设置随机种子以确保结果可复现torch.manual_seed(42)batch_size = 64channels = 256time_steps = 32# 创建模块实例msc = MSC_Temporal(dim=channels)# 创建测试数据x = torch.randn(batch_size, channels, time_steps)y = torch.randn(batch_size, channels, time_steps)# 前向传播output = msc(x, y)print(output.shape)  # 输出: torch.Size([4, 64, 128])# 前向传播测试try:output = msc(x, y)# # 验证输出形状# assert output.shape == (batch_size, dim, img_size_H, img_size_W), \#     f"输出形状错误,期望: {(batch_size, dim, img_size_H, img_size_W)},得到: {output.shape}"print("测试通过!")print(f"输入形状: {x.shape}, {y.shape}")print(f"输出形状: {output.shape}")# 打印可训练参数total_params = sum(p.numel() for p in msc.parameters() if p.requires_grad)print(f"可训练参数数量: {total_params}")# 简单测试反向传播loss = output.sum()loss.backward()print("反向传播测试通过!")except Exception as e:print(f"测试失败: {e}")# 打印详细错误堆栈import tracebackprint(traceback.format_exc())

http://www.dtcms.com/wzjs/29560.html

相关文章:

  • 网站备案后可以修改吗免费网站怎么做出来的
  • 智慧团建网站登录操作百度网站首页提交入口
  • 信阳 网站建设杭州seo营销公司
  • wordpress 多站点设置中国十大搜索引擎排名
  • 模块建站平台生成关键词的软件
  • 淘宝属于什么网站怎么做网络安全培训机构哪家好
  • 学校风采网站建设需求百度收录申请入口
  • 企业网站模板 首页大图怎样创建网页
  • 扬州市做网站外贸seo软件
  • 登录注册网站怎么做网站的优化
  • 自己这么做网站2023第二波疫情已经到来了
  • 网站建设电脑端手机端今日热点新闻事件简介
  • 界面设计好看的网站沈阳seo关键词排名
  • javaweb做网站的优点关键词优化seo排名
  • 广告传媒公司哪家好西安关键词seo
  • 新乐市做网站网址
  • 企业做网站要注意些什么杭州网站制作排名
  • 武汉优联网站建设厦门seo外包
  • wordpress采集微信公众号seo搜索引擎优化工资薪酬
  • 做网站的人搞鬼少首页文件网站如何推广营销
  • wordpress主机免费广州关键词优化外包
  • 百度收录网站技巧广州排前三的seo公司
  • 校园互动网站建设专业做网站的公司
  • 微信的企业网站模板18款免费软件app下载
  • 如何网站做百度推广竞价推广代运营服务
  • 网站上传程序流程中国宣布疫情结束日期
  • 做兼职什么网站靠谱国内新闻今日头条
  • 如何做网站的维护和推广线上营销推广方案模板
  • 怀化主要网站电商培训机构排名
  • 营销网站建设培训今日山东新闻头条