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

网站建设拾金手指下拉二一wordpress生成xml

网站建设拾金手指下拉二一,wordpress生成xml,做网站怎样租用虚拟空间,商标注册证查询一、本文介绍 本文给大家带来的改进机制是由北大和北航联合提出的FFA-net: Feature Fusion Attention Network for Single Image Dehazing图像增强去雾网络#xff0c;该网络的主要思想是利用特征融合注意力网络#xff08;Feature Fusion Attention Network#xff09;直接…一、本文介绍 本文给大家带来的改进机制是由北大和北航联合提出的FFA-net: Feature Fusion Attention Network for Single Image Dehazing图像增强去雾网络该网络的主要思想是利用特征融合注意力网络Feature Fusion Attention Network直接恢复无雾图像FFA-Net通过特征注意力机制和特征融合注意力结构的创新设计有效地提升了单图像去雾技术的性能。通过巧妙地结合通道和像素注意力以及局部残差学习网络能够更加精准地处理不同区域的雾霾实现了在细节保留和色彩保真度上的显著提升。 欢迎大家订阅我的专栏一起学习YOLO  专栏目录YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制 专栏回顾YOLOv8改进系列专栏——本专栏持续复习各种顶会内容——科研必备  目录 一、本文介绍 二、原理介绍  三、核心代码  四、添加方式教程 4.1 修改一 4.2 修改二  4.3 修改三  4.4 修改四  五、yaml文件和运行记录 5.1 yaml文件1 5.2 训练代码  5.3 训练过程截图  五、本文总结 二、原理介绍  官方论文地址 官方论文地址点击此处即可跳转 官方代码地址 官方代码地址点击此处即可跳转 FFA-Net的主要思想是利用特征融合注意力网络Feature Fusion Attention Network直接恢复无雾图像。这种架构通过三个关键组件实现高效的图像去雾效果 1. 特征注意力Feature Attention, FA模块结合通道注意力Channel Attention和像素注意力Pixel Attention机制因为不同通道的特征包含完全不同的加权信息且雾的分布在不同的图像像素上是不均匀的。FA通过不平等地对待不同的特征和像素提供了处理不同信息类型的额外灵活性从而扩展了卷积神经网络的表示能力。 2. 基本块结构包含局部残差学习Local Residual Learning和特征注意力。局部残差学习允许如轻雾区域或低频等不那么重要的信息通过多个局部残差连接被绕过使主网络架构可以专注于更有效的信息。 3. 基于注意力的不同级别特征融合FFA结构通过特征注意力FA模块自适应学习的特征权重给予重要特征更多的权重。这种结构还可以保留浅层的信息并将其传递到深层。 个人总结 FFA-Net通过特征注意力机制和特征融合注意力结构的创新设计有效地提升了单图像去雾技术的性能。通过巧妙地结合通道和像素注意力以及局部残差学习网络能够更加精准地处理不同区域的雾霾实现了在细节保留和色彩保真度上的显著提升。 三、核心代码  核心代码的使用方式看章节四 import torch.nn as nn import torchdef default_conv(in_channels, out_channels, kernel_size, biasTrue):return nn.Conv2d(in_channels, out_channels, kernel_size, padding(kernel_size // 2), biasbias)class PALayer(nn.Module):def __init__(self, channel):super(PALayer, self).__init__()self.pa nn.Sequential(nn.Conv2d(channel, channel // 8, 1, padding0, biasTrue),nn.ReLU(inplaceTrue),nn.Conv2d(channel // 8, 1, 1, padding0, biasTrue),nn.Sigmoid())def forward(self, x):y self.pa(x)return x * yclass CALayer(nn.Module):def __init__(self, channel):super(CALayer, self).__init__()self.avg_pool nn.AdaptiveAvgPool2d(1)self.ca nn.Sequential(nn.Conv2d(channel, channel // 8, 1, padding0, biasTrue),nn.ReLU(inplaceTrue),nn.Conv2d(channel // 8, channel, 1, padding0, biasTrue),nn.Sigmoid())def forward(self, x):y self.avg_pool(x)y self.ca(y)return x * yclass Block(nn.Module):def __init__(self, conv, dim, kernel_size, ):super(Block, self).__init__()self.conv1 conv(dim, dim, kernel_size, biasTrue)self.act1 nn.ReLU(inplaceTrue)self.conv2 conv(dim, dim, kernel_size, biasTrue)self.calayer CALayer(dim)self.palayer PALayer(dim)def forward(self, x):res self.act1(self.conv1(x))res res xres self.conv2(res)res self.calayer(res)res self.palayer(res)res xreturn resclass Group(nn.Module):def __init__(self, conv, dim, kernel_size, blocks):super(Group, self).__init__()modules [Block(conv, dim, kernel_size) for _ in range(blocks)]modules.append(conv(dim, dim, kernel_size))self.gp nn.Sequential(*modules)def forward(self, x):res self.gp(x)res xreturn resclass FFA(nn.Module):def __init__(self, gps3, blocks1, convdefault_conv):super(FFA, self).__init__()self.gps gpsself.dim 8kernel_size 3pre_process [conv(3, self.dim, kernel_size)]assert self.gps 3self.g1 Group(conv, self.dim, kernel_size, blocksblocks)self.g2 Group(conv, self.dim, kernel_size, blocksblocks)self.g3 Group(conv, self.dim, kernel_size, blocksblocks)self.ca nn.Sequential(*[nn.AdaptiveAvgPool2d(1),nn.Conv2d(self.dim * self.gps, self.dim // 4, 1, padding0),nn.ReLU(inplaceTrue),nn.Conv2d(self.dim // 4, self.dim * self.gps, 1, padding0, biasTrue),nn.Sigmoid()])self.palayer PALayer(self.dim)post_precess [conv(self.dim, self.dim, kernel_size),conv(self.dim, 3, kernel_size)]self.pre nn.Sequential(*pre_process)self.post nn.Sequential(*post_precess)def forward(self, x1):x self.pre(x1)res1 self.g1(x)res2 self.g2(res1)res3 self.g3(res2)w self.ca(torch.cat([res1, res2, res3], dim1))w w.view(-1, self.gps, self.dim)[:, :, :, None, None]out w[:, 0, ::] * res1 w[:, 1, ::] * res2 w[:, 2, ::] * res3out self.palayer(out)x self.post(out)return x x1if __name__ __main__:image_size (1, 3, 640, 640)image torch.rand(*image_size)net FFA(gps3, blocks1)out net(image)print(out.size()) 四、添加方式教程 4.1 修改一 第一还是建立文件我们找到如下ultralytics/nn/modules文件夹下建立一个目录名字呢就是Addmodules文件夹(用群内的文件的话已经有了无需新建)然后在其内部建立一个新的py文件将核心代码复制粘贴进去即可。 ​ ​ 4.2 修改二  第二步我们在该目录下创建一个新的py文件名字为__init__.py(用群内的文件的话已经有了无需新建)然后在其内部导入我们的检测头如下图所示。 4.3 修改三  第三步我门中到如下文件ultralytics/nn/tasks.py进行导入和注册我们的模块(用群内的文件的话已经有了无需重新导入直接开始第四步即可) 从今天开始以后的教程就都统一成这个样子了因为我默认大家用了我群内的文件来进行修改 ​ 4.4 修改四  按照我的添加在parse_model里添加即可。 到此就修改完成了大家可以复制下面的yaml文件运行。 五、yaml文件和运行记录 5.1 yaml文件1 # Ultralytics YOLO , AGPL-3.0 license # YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parameters nc: 80 # number of classes scales: # model compound scaling constants, i.e. modelyolov8n.yaml will call yolov8.yaml with scale n# [depth, width, max_channels]n: [0.33, 0.25, 1024] # YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPss: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPsm: [0.67, 0.75, 768] # YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPsl: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPsx: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs# YOLOv8.0n backbone backbone:# [from, repeats, module, args]- [-1, 1, FFA, []] # 0-P1/2- [-1, 1, Conv, [64, 3, 2]] # 1-P1/2- [-1, 1, Conv, [128, 3, 2]] # 2-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, Conv, [256, 3, 2]] # 4-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, Conv, [512, 3, 2]] # 6-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 8-P5/32- [-1, 3, C2f, [1024, True]]- [-1, 1, SPPF, [1024, 5]] # 10# YOLOv8.0n head head:- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 7], 1, Concat, [1]] # cat backbone P4- [-1, 3, C2f, [512]] # 13- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 5], 1, Concat, [1]] # cat backbone P3- [-1, 3, C2f, [256]] # 16 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 13], 1, Concat, [1]] # cat head P4- [-1, 3, C2f, [512]] # 19 (P4/16-medium)- [-1, 1, Conv, [512, 3, 2]]- [[-1, 10], 1, Concat, [1]] # cat head P5- [-1, 3, C2f, [1024]] # 22 (P5/32-large)- [[16, 19, 22], 1, Detect, [nc]] # Detect(P3, P4, P5)5.2 训练代码  大家可以创建一个py文件将我给的代码复制粘贴进去配置好自己的文件路径即可运行。 import warnings warnings.filterwarnings(ignore) from ultralytics import YOLOif __name__ __main__:model YOLO(ultralytics/cfg/models/v8/yolov8-C2f-FasterBlock.yaml)# model.load(yolov8n.pt) # loading pretrain weightsmodel.train(datar替换数据集yaml文件地址,# 如果大家任务是其它的ultralytics/cfg/default.yaml找到这里修改task可以改成detect, segment, classify, posecacheFalse,imgsz640,epochs150,single_clsFalse, # 是否是单类别检测batch4,close_mosaic10,workers0,device0,optimizerSGD, # using SGD# resume, # 如过想续训就设置last.pt的地址ampFalse, # 如果出现训练损失为Nan可以关闭ampprojectruns/train,nameexp,) 5.3 训练过程截图  五、本文总结 到此本文的正式分享内容就结束了在这里给大家推荐我的YOLOv8改进有效涨点专栏本专栏目前为新开的平均质量分98分后期我会根据各种最新的前沿顶会进行论文复现也会对一些老的改进机制进行补充如果大家觉得本文帮助到你了订阅本专栏关注后续更多的更新~ 专栏目录YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制
http://www.w-s-a.com/news/899912/

相关文章:

  • 广东省自然资源厅网站h5移动端网站模板下载
  • 网站建设和安全管理制度云南九泰建设工程有限公司官方网站
  • 网站的关键词和描述做外贸家纺资料网站
  • 绥化市建设工程网站招投标地址链接怎么生成
  • 网站制作设计发展前景网页链接制作生成二维码
  • 廊坊哪里有制作手机网站的企业网站建设费用财务处理
  • 手机网站建设书籍工商咨询服务
  • 麻花星空影视传媒制作公司网站美食网站网站建设定位
  • 网站的切图是谁来做学会网站 建设
  • 交通局网站建设方案答辩ppt模板免费下载 素材
  • 个人摄影网站推介网手机版
  • 有哪些免费的视频网站网站开发和竞价
  • 学校网站如何做广州商城型网站建设
  • 微网站建设哪家便宜易优建站系统
  • 推荐做木工的视频网站毕业设计做的网站抄袭
  • 网站导航页面制作wordpress调用文章阅读量
  • app小程序网站开发品牌购物网站十大排名
  • 用wordpress做购物网站龙岩品牌设计
  • 网站开发是指wordpress系统在线升级
  • 网站建设运营的灵魂是什么意思页面跳转中
  • 家政服务网站源码重庆建网站企业有哪些
  • 怎样分析一个网站做的好坏重庆长寿网站设计公司哪家专业
  • 百度助手app下载苏州seo关键词优化排名
  • 17网站一起做 佛山诸城网站建设多少钱
  • 郑州网站建设培训学校泉州做网站设计公司
  • 西峡做网站深圳建筑工务署官网
  • 单县网站惠州seo计费
  • 万网网站建设 优帮云怎样用记事本做网站
  • 注册域名后网站建设百度指数的功能
  • 怎么做伪静态网站山西网站建设设计