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

网站怎么做下载连接手机端网站建设的注意事项

网站怎么做下载连接,手机端网站建设的注意事项,十大免费网页游戏,怎样建设自己的ip地址网站目录 一 SCINet 1 本文方法 ① 权重共享的照明学习 ② 自校准模块 ③ 无监督训练损失 二 使用SCINet助力YOLOv8在黑暗环境的目标检测效果 1 整体修改 2 配置文件 3 训练 其他 一 SCINet 官方论文地址#xff1a;https://arxiv.org/pdf/2204.10137 官方代码地址https://arxiv.org/pdf/2204.10137 官方代码地址GitCode - 开发者的代码家园 现有的弱光图像增强技术不仅难以处理视觉质量和计算效率问题而且在未知的复杂场景下通常无效。在本文中提出了一种新的自校准照明(SCI)学习框架用于在现实世界低光场景下快速灵活和鲁棒的增亮图像。具体来说建立了一个具有权重共享的级联照明学习过程来处理这个任务。作者考虑到级联模式的计算负担构建了自校准模块实现了各阶段结果之间的收敛产生了仅使用单个基本块进行推理的增益(但在以往的工作中尚未被利用)大大降低了计算成本。然后定义了无监督训练损失以提高模型适应一般场景的能力。进一步进行了全面的探索挖掘SCI的固有属性(现有作品所缺乏的)包括操作不敏感的适应性。最后大量的实验和消融研究充分表明了这一方法在质量和效率上的优势。在微光人脸检测和夜间语义分割等方面的应用充分显示了该方法潜在的实用价值。 在本文中成功地建立了一个轻量级而有效的框架即自校准照明(SCI)用于针对不同现实场景的低光图像增强。不仅对SCI的优良特性进行了深入的探索还进行了大量的实验证明了在弱光图像增强、暗人脸检测、夜间语义分割等方面的有效性和优越性。 1 本文方法 ① 权重共享的照明学习 建立了一个具有权重共享的级联照明学习过程来处理低照度图像增强的任务。各个阶段共享权重。 ② 自校准模块 构建了自校准模块减少计算负担实现了各阶段结果之间的收敛产生了仅使用单个基本块进行推理的增益。 ③ 无监督训练损失 定义了无监督训练损失以提高模型适应一般场景的能力。 下图为SCI的整个框架。在训练阶段SCI由照度估计和自校准模块组成。将自校准的模块映射添加到原始低照度输入中作为下一阶段照度估计的输入。注意这两个模块在整个训练过程中分别是共享参数。在测试阶段只使用单个照明估计模块。权重共享的照明学习和自校准模块的设计为减少计算量并且提升结果的稳定性。 下图为比较是否使用自校准模块时各阶段结果的t-SNE[21]分布。这说明了为什么可以使用单级进行测试即SCI中每级的结果都可以快速收敛到相同的值而w/o自校准模块却无法始终实现这一点。 以下为各方法对比结果 二 使用SCINet助力YOLOv8在黑暗环境的目标检测效果 整个结构的示意图如下所示 1 整体修改 ① 添加SCINet.py文件 在ultralytics/nn/modules目录下新建SCINet.py文件文件的内容如下 import torch import torch.nn as nn__all__ [EnhanceNetwork]class EnhanceNetwork(nn.Module):def __init__(self, layers, channels):super(EnhanceNetwork, self).__init__()kernel_size 3dilation 1padding int((kernel_size - 1) / 2) * dilationself.in_conv nn.Sequential(nn.Conv2d(in_channels3, out_channelschannels, kernel_sizekernel_size, stride1, paddingpadding),nn.ReLU())self.conv nn.Sequential(nn.Conv2d(in_channelschannels, out_channelschannels, kernel_sizekernel_size, stride1, paddingpadding),nn.BatchNorm2d(channels),nn.ReLU())self.blocks nn.ModuleList()for i in range(layers):self.blocks.append(self.conv)self.out_conv nn.Sequential(nn.Conv2d(in_channelschannels, out_channels3, kernel_size3, stride1, padding1),nn.Sigmoid())def forward(self, input):fea self.in_conv(input)for conv in self.blocks:fea fea conv(fea)fea self.out_conv(fea)illu fea inputillu torch.clamp(illu, 0.0001, 1)return illuclass CalibrateNetwork(nn.Module):def __init__(self, layers, channels):super(CalibrateNetwork, self).__init__()kernel_size 3dilation 1padding int((kernel_size - 1) / 2) * dilationself.layers layersself.in_conv nn.Sequential(nn.Conv2d(in_channels3, out_channelschannels, kernel_sizekernel_size, stride1, paddingpadding),nn.BatchNorm2d(channels),nn.ReLU())self.convs nn.Sequential(nn.Conv2d(in_channelschannels, out_channelschannels, kernel_sizekernel_size, stride1, paddingpadding),nn.BatchNorm2d(channels),nn.ReLU(),nn.Conv2d(in_channelschannels, out_channelschannels, kernel_sizekernel_size, stride1, paddingpadding),nn.BatchNorm2d(channels),nn.ReLU())self.blocks nn.ModuleList()for i in range(layers):self.blocks.append(self.convs)self.out_conv nn.Sequential(nn.Conv2d(in_channelschannels, out_channels3, kernel_size3, stride1, padding1),nn.Sigmoid())def forward(self, input):fea self.in_conv(input)for conv in self.blocks:fea fea conv(fea)fea self.out_conv(fea)delta input - feareturn deltaclass Network(nn.Module):def __init__(self, stage3):super(Network, self).__init__()self.stage stageself.enhance EnhanceNetwork(layers1, channels3)self.calibrate CalibrateNetwork(layers3, channels16)self._criterion LossFunction()def weights_init(self, m):if isinstance(m, nn.Conv2d):m.weight.data.normal_(0, 0.02)m.bias.data.zero_()if isinstance(m, nn.BatchNorm2d):m.weight.data.normal_(1., 0.02)def forward(self, input):ilist, rlist, inlist, attlist [], [], [], []input_op inputfor i in range(self.stage):inlist.append(input_op)i self.enhance(input_op)r input / ir torch.clamp(r, 0, 1)att self.calibrate(r)input_op input attilist.append(i)rlist.append(r)attlist.append(torch.abs(att))return ilist, rlist, inlist, attlistdef _loss(self, input):i_list, en_list, in_list, _ self(input)loss 0for i in range(self.stage):loss self._criterion(in_list[i], i_list[i])return lossclass Finetunemodel(nn.Module):def __init__(self, weights):super(Finetunemodel, self).__init__()self.enhance EnhanceNetwork(layers1, channels3)self._criterion LossFunction()base_weights torch.load(weights)pretrained_dict base_weightsmodel_dict self.state_dict()pretrained_dict {k: v for k, v in pretrained_dict.items() if k in model_dict}model_dict.update(pretrained_dict)self.load_state_dict(model_dict)def weights_init(self, m):if isinstance(m, nn.Conv2d):m.weight.data.normal_(0, 0.02)m.bias.data.zero_()if isinstance(m, nn.BatchNorm2d):m.weight.data.normal_(1., 0.02)def forward(self, input):i self.enhance(input)r input / ir torch.clamp(r, 0, 1)return i, rdef _loss(self, input):i, r self(input)loss self._criterion(input, i)return loss ② 修改ultralytics/nn/tasks.py文件 具体的修改内容如下图所示 修改parse_model函数的内容如下所示 2 配置文件 yolov8_SCINet.yaml 的内容与原版对比 3 训练 上述修改完毕后开始训练吧 训练示例 yolo taskdetect modetrain modelcfg/models/v8/yolov8_SCINet.yaml datacfg/datasets/coco128.yaml epochs200 batch16 devicecpu projectyolov8 其他 说明私信问题不回答了哈有问题可以评论会随缘回答哈。希望理解哈 ❤️   ❤️   到此本文分享的内容就结束啦遇见便是缘感恩遇见 ❤️
http://www.dnsts.com.cn/news/214805.html

相关文章:

  • 织梦手机网站模板做百度推广销售怎么样
  • 网站设计维护内容电商网页设计的主要内容
  • 做房产经纪人要自己花钱开网站吗专业彩票网站建设
  • 罗湖附近公司做网站建设哪家效益快使用angularjs的网站
  • 石家庄网站建设外包公司哪家好wordpress自定义字段数据库
  • 百度网站禁止访问怎么解除网页美工设计说明
  • 上饶网站建设多少钱做网站的女生多么
  • 商城网站建设的优势建设银行龙卡信用卡官方网站
  • 免费seo网站自动推广c语言建设网站
  • 备案成功后怎么建设网站包头网站建设制作
  • 购物网站开发需要什么技术什么是网络营销视频
  • 淘宝客网站api买了域名怎么做网站
  • 那里有制作网站企业房地产店铺首页设计过程
  • 宁德网站建设51yunsou什么是网络营网络营销的特点
  • 大学招生网站建设用来做收录的网站
  • 自己怎样免费建网站天猫购买
  • 摄影师个人网站模板做网站西安哪家好
  • 游戏网站开发试验报告网站服务器查询平台
  • 广东一站式网站建设报价网站301在哪做
  • 公司域名更改 网站怎么做提示网页设计与制作怎么居中
  • 建设购物网站网站抄袭别人的做可以吗
  • 白狐网站建设展示中心网站建设
  • 长沙网站排名优化价格怎么看一个网站用什么系统做的
  • 上海市建设安全协会网站j网站关键词快速排名软件
  • 住房城乡建设部网站首页小学生ppt模板免费下载
  • 上海市建设局官方网站wordpress 新建文章类
  • html5网站建设思路中国建筑企业公司排名
  • 网站安装环境配置化妆品购物网站开发的意义
  • 便宜网站建设多少钱外贸推广网站邮箱收费
  • 网站开发前景好吗wordpress高亮代码添加行号