有哪些可以做兼职的网站网站被降权怎么恢复
2026/4/1 11:02:08 网站建设 项目流程
有哪些可以做兼职的网站,网站被降权怎么恢复,深圳西乡有什么好玩的,网站域名被注销前言 本文提出信息整合注意力#xff08;IIA#xff09;机制#xff0c;并将其集成到YOLO26中用于遥感图像语义分割。传统CNN难捕捉全局信息#xff0c;Transformer计算复杂#xff0c;现有基于Mamba的方法未充分考虑局部信息。IIA利用图像特征空间位置不变性#xff0c…前言本文提出信息整合注意力IIA机制并将其集成到YOLO26中用于遥感图像语义分割。传统CNN难捕捉全局信息Transformer计算复杂现有基于Mamba的方法未充分考虑局部信息。IIA利用图像特征空间位置不变性先融合编解码器特征再从高度和宽度方向提取序列信息生成注意力权重因子动态调制特征。其通过通道级拼接、双方向拆分与池化、轻量级1D卷积和残差融合等操作平衡了精度与计算成本。实验表明集成IIA的YOLO26在数据集上提高了精度且运行高效。文章目录 YOLO26改进大全卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总专栏链接: YOLO26改进专栏文章目录前言介绍摘要文章链接基本原理一、核心逻辑基于“空间位置不变性”的双方向动态调制二、关键操作创新四大环节实现“轻量精准”的平衡1. 特征融合环节通道级拼接保留多尺度信息完整性2. 特征重塑与信息提取环节双方向拆分池化组合精准捕捉空间关系3. 注意力调制因子生成环节轻量级1D卷积控制计算成本4. 特征增强与输出环节残差融合平衡增强与信息保留核心代码YOLO26引入代码注册步骤1:步骤2配置yolo26-IIA.yaml实验脚本结果介绍摘要在遥感图像语义分割领域基于卷积神经网络CNNs和Transformer的方法已得到广泛研究。然而由于CNN的局部特征提取特性其难以捕捉全局上下文信息而Transformer则受限于二次计算的复杂性。近年来基于Mamba的状态空间模型引发了大量关注。但现有的基于Mamba的方法在遥感图像分割任务中未能充分考虑局部信息的重要性。本文构建了一种编解码风格的网络UMFormer用于遥感图像的语义分割。具体而言UMFormer采用ResNet18作为编码器旨在进行初步的图像特征提取。随后对自注意力机制进行优化以在多尺度条件下提取不同大小目标的全局信息。为了融合编解码器的特征图信息构建了另一种注意力结构用于重建空间信息并捕捉相对位置关系。最后设计了一个基于Mamba的解码器以有效对全局和局部信息进行建模。同时设计了一种利用特征相似性的特征融合机制目的是将局部信息嵌入到全局信息中。在无人机影像数据集UAVid、Vaihingen和Potsdam数据集上进行的大量实验表明所提出的UMFormer在保持高效运行速度的同时还提高了精度。相关代码将在以下网址免费公开https://github.com/takeyoutime/UMFormer文章链接论文地址论文地址代码地址代码地址基本原理信息整合注意力Information Integration Attention, IIA是一种为解决编码器-解码器架构中特征融合痛点设计的轻量级注意力机制核心创新围绕“精准保留空间位置信息、高效抑制噪声干扰、平衡精度与计算成本”展开。一、核心逻辑基于“空间位置不变性”的双方向动态调制IIA的核心创新逻辑源于对“图像特征空间位置不变性”的利用——即同一目标在图像中的相对位置关系如“车辆在道路上”“窗户在建筑立面”具有稳定性可通过捕捉这种关系强化有效特征、过滤噪声。其本质是**“先融合信息→再分方向提取关键序列→最后动态加权增强”** 的三阶段递进式处理具体逻辑链如下基础信息融合先将编码器的局部特征与解码器的全局特征拼接形成“多尺度信息池”确保不丢失原始特征细节双方向序列提取针对特征图的“高度”和“宽度”两个空间维度分别提取序列信息类比人类观察图像时“先看上下范围、再看左右范围”全面捕捉空间位置关联动态权重调制为两个方向的序列信息生成“注意力权重因子”对目标区域赋予高权重强化关键特征、对噪声区域赋予低权重抑制干扰最后通过残差融合保留基础信息输出增强后的特征。二、关键操作创新四大环节实现“轻量精准”的平衡IIA通过四步核心操作落地上述逻辑每一步均包含针对性创新既保证效果又控制计算成本1. 特征融合环节通道级拼接保留多尺度信息完整性传统问题传统特征融合常采用“元素相加”或“简单卷积压缩”易导致局部细节或全局语义丢失如相加时高层级特征覆盖低层级特征IIA创新将编码器输出的局部特征图如尺寸为C×H×WC为通道数、H为高度、W为宽度与解码器输出的全局特征图按“通道维度”直接拼接形成新的融合特征图尺寸为2C×H×W。这种方式能完整保留两种特征的原始信息为后续空间位置提取奠定基础且仅增加通道数、不引入额外计算量。2. 特征重塑与信息提取环节双方向拆分池化组合精准捕捉空间关系这是IIA最核心的创新环节之一通过“拆分维度双池化”解决传统注意力“全局笼统处理”的缺陷步骤1双方向特征重塑将融合特征图拆分为两个独立的“方向特征”聚焦“高度方向”将特征图重塑为“宽度×通道×高度”W×C×H的形态专门捕捉上下方向的位置关系如“建筑顶部与底部的相对位置”聚焦“宽度方向”将特征图重塑为“高度×通道×宽度”H×C×W的形态专门捕捉左右方向的位置关系如“道路左侧与右侧的车辆分布”。这种拆分使注意力不再“全局平均用力”而是针对两个空间维度分别优化提升位置信息捕捉精度。步骤2双池化提取序列信息对每个方向的特征图沿“非目标维度”高度方向特征沿宽度维度池化、宽度方向特征沿高度维度池化同时执行平均池化和最大池化平均池化提取“全局趋势信息”如整个高度方向的特征分布规律避免局部噪声干扰最大池化提取“局部显著信息”如高度方向上的目标峰值特征如建筑边缘的强响应突出关键细节。两种池化结果拼接后每个方向的序列信息既包含全局规律、又涵盖局部细节解决了传统单池化“要么丢全局、要么丢局部”的问题。3. 注意力调制因子生成环节轻量级1D卷积控制计算成本传统问题传统注意力如自注意力用全连接层生成权重计算量随特征尺寸呈O(n²)增长IIA创新采用1D卷积核大小为7处理双池化后的序列信息1D卷积更适配“序列信息”如高度方向的特征序列能有效捕捉相邻位置的关联如“某行特征与上下几行的依赖关系”且计算量仅为2D卷积的1/H或1/WH、W为特征图尺寸卷积后通过“1D批归一化”稳定训练避免梯度波动再用“Sigmoid激活函数”将输出压缩到0-1区间生成“高度方向调制因子”和“宽度方向调制因子”——因子值越接近1代表对应位置的特征越重要如目标区域越接近0代表该位置为噪声或干扰如背景纹理。4. 特征增强与输出环节残差融合平衡增强与信息保留传统问题传统注意力直接用权重因子加权特征易丢失原始信息如权重过小导致有效特征被过度抑制IIA创新采用“残差融合”策略先将高度、宽度方向的调制因子分别与原始融合特征图进行“逐元素相乘”得到两个方向的“增强特征”目标区域被放大、噪声被削弱再将这两个增强特征与原始融合特征图进行“逐元素相加”残差连接确保既保留原始特征的基础信息又叠加注意力增强的效果。这种方式避免了“过度增强”或“信息丢失”让输出特征同时具备“精准定位”和“强判别性”。核心代码classIIA(nn.Module):def__init__(self,channel):super(IIA,self).__init__()self.attentionAttentionWeight(channel)defforward(self,x):# b, w, c, hx_hx.permute(0,3,1,2).contiguous()x_hself.attention(x_h).permute(0,2,3,1)# b, h, c, wx_wx.permute(0,2,1,3).contiguous()x_wself.attention(x_w).permute(0,2,1,3)# b, c, h, w# x_c self.attention(x)# return x 1 / 2 * (x_h x_w) # 89.8 92.5 81.9returnxx_hx_wYOLO26引入代码在根目录下的ultralytics/nn/目录新建一个attention目录然后新建一个以IIA.py为文件名的py文件 把代码拷贝进去。importtorchimporttorch.nnasnnclassAttentionWeight(nn.Module):def__init__(self,channel,kernel_size7):super(AttentionWeight,self).__init__()padding(kernel_size-1)//2self.conv1nn.Conv2d(2,1,kernel_size1)self.conv2nn.Conv1d(channel,channel,kernel_size,paddingpadding,groupschannel,biasFalse)self.bnnn.BatchNorm1d(channel)self.sigmoidnn.Sigmoid()defforward(self,x):b,w,c,hx.size()x_weighttorch.cat((torch.max(x,1)[0].unsqueeze(1),torch.mean(x,1).unsqueeze(1)),dim1)x_weightself.conv1(x_weight).view(b,c,h)x_weightself.sigmoid(self.bn(self.conv2(x_weight)))x_weightx_weight.view(b,1,c,h)returnx*x_weightclassIIA(nn.Module):def__init__(self,channel):super(IIA,self).__init__()self.attentionAttentionWeight(channel)defforward(self,x):# b, w, c, hx_hx.permute(0,3,1,2).contiguous()x_hself.attention(x_h).permute(0,2,3,1)# b, h, c, wx_wx.permute(0,2,1,3).contiguous()x_wself.attention(x_w).permute(0,2,1,3)# b, c, h, w# x_c self.attention(x)# return x 1 / 2 * (x_h x_w) # 89.8 92.5 81.9returnxx_hx_w注册在ultralytics/nn/tasks.py中进行如下操作步骤1:fromultralytics.nn.attention.IIAimportIIA步骤2修改def parse_model(d, ch, verboseTrue):elifmisIIA:args[ch[f],*args]配置yolo26-IIA.yamlultralytics/cfg/models/26/yolo26-IIA.yaml# Ultralytics AGPL-3.0 License - https://ultralytics.com/license# Ultralytics YOLO26 object detection model with P3/8 - P5/32 outputs# Model docs: https://docs.ultralytics.com/models/yolo26# Task docs: https://docs.ultralytics.com/tasks/detect# Parametersnc:80# number of classesend2end:True# whether to use end-to-end modereg_max:1# DFL binsscales:# model compound scaling constants, i.e. modelyolo26n.yaml will call yolo26.yaml with scale n# [depth, width, max_channels]n:[0.50,0.25,1024]# summary: 260 layers, 2,572,280 parameters, 2,572,280 gradients, 6.1 GFLOPss:[0.50,0.50,1024]# summary: 260 layers, 10,009,784 parameters, 10,009,784 gradients, 22.8 GFLOPsm:[0.50,1.00,512]# summary: 280 layers, 21,896,248 parameters, 21,896,248 gradients, 75.4 GFLOPsl:[1.00,1.00,512]# summary: 392 layers, 26,299,704 parameters, 26,299,704 gradients, 93.8 GFLOPsx:[1.00,1.50,512]# summary: 392 layers, 58,993,368 parameters, 58,993,368 gradients, 209.5 GFLOPs# YOLO26n backbonebackbone:# [from, repeats, module, args]-[-1,1,Conv,[64,3,2]]# 0-P1/2-[-1,1,Conv,[128,3,2]]# 1-P2/4-[-1,2,C3k2,[256,False,0.25]]-[-1,1,Conv,[256,3,2]]# 3-P3/8-[-1,2,C3k2,[512,False,0.25]]-[-1,1,Conv,[512,3,2]]# 5-P4/16-[-1,2,C3k2,[512,True]]-[-1,1,Conv,[1024,3,2]]# 7-P5/32-[-1,2,C3k2,[1024,True]]-[-1,1,SPPF,[1024,5,3,True]]# 9-[-1,2,C2PSA,[1024]]# 10# YOLO26n headhead:-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,6],1,Concat,[1]]# cat backbone P4-[-1,2,C3k2,[512,True]]# 13-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,4],1,Concat,[1]]# cat backbone P3-[-1,2,C3k2,[256,True]]# 16 (P3/8-small)-[-1,1,IIA,[]]#17-[-1,1,Conv,[256,3,2]]-[[-1,13],1,Concat,[1]]# cat head P4-[-1,2,C3k2,[512,True]]# 19 (P4/16-medium)-[-1,1,IIA,[]]# 21-[-1,1,Conv,[512,3,2]]-[[-1,10],1,Concat,[1]]# cat head P5-[-1,1,C3k2,[1024,True,0.5,True]]# 22 (P5/32-large)-[-1,1,IIA,[]]# 25-[[17,21,25],1,Detect,[nc]]# Detect(P3, P4, P5)实验脚本importwarnings warnings.filterwarnings(ignore)fromultralyticsimportYOLOif__name____main__:# 修改为自己的配置文件地址modelYOLO(./ultralytics/cfg/models/26/yolo26-IIA.yaml)# 修改为自己的数据集地址model.train(data./ultralytics/cfg/datasets/coco8.yaml,cacheFalse,imgsz640,epochs10,single_clsFalse,# 是否是单类别检测batch8,close_mosaic10,workers0,optimizerMuSGD,ampTrue,projectruns/train,nameyolo26-IIA,)结果

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询