位置: IT常识 - 正文

目标检测算法——YOLOv5/v7/v8改进结合即插即用的动态卷积ODConv(小目标涨点神器)(运动目标检测算法)

编辑:rootadmin
目标检测算法——YOLOv5/v7/v8改进结合即插即用的动态卷积ODConv(小目标涨点神器)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨📚📚>>>人工智能 | 计算机视觉 | 深度学习Tricks | 第一时间送达<<<📚📚ICLR2022  助力YOLO | 动态卷积ODConv:大幅提升小目标检测能力!!论文题目:Omni-Dimensional Dynamic Convolution论文链接:https://openreview.net/forum?id=DmpCfq6Mg39

推荐整理分享目标检测算法——YOLOv5/v7/v8改进结合即插即用的动态卷积ODConv(小目标涨点神器)(运动目标检测算法),希望有所帮助,仅作参考,欢迎阅读内容。

目标检测算法——YOLOv5/v7/v8改进结合即插即用的动态卷积ODConv(小目标涨点神器)(运动目标检测算法)

文章相关热门搜索词:3d目标检测算法,目标检测算法的主要目的是找到图像中用户感兴趣的,目标检测算法有哪些,目标检测算法排名,SSD目标检测算法,目标检测算法排名,目标检测算法排名,目标检测算法有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

作者将CondConv中一个维度上的动态特性进行了扩展,同时了考虑了空域、输入通道、输出通道等维度上的动态性,故称之为全维度动态卷积。ODConv通过并行策略采用多维注意力机制沿核空间的四个维度学习互补性注意力。

作为一种“即插即用”的操作,它可以轻易的嵌入到现有CNN网络中。ImageNet分类与COCO检测任务上的实验验证了所提ODConv的优异性:即可提升大模型的性能,又可提升轻量型模型的性能,实乃万金油是也!值得一提的是,受益于其改进的特征提取能力,ODConv搭配一个卷积核时仍可取得与现有多核动态卷积相当甚至更优的性能。

一、ODConv网络结构

二、ODConv相关代码import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.autogradclass Attention(nn.Module): def __init__(self, in_planes, out_planes, kernel_size, groups=1, reduction=0.0625, kernel_num=4, min_channel=16): super(Attention, self).__init__() attention_channel = max(int(in_planes * reduction), min_channel) self.kernel_size = kernel_size self.kernel_num = kernel_num self.temperature = 1.0 self.avgpool = nn.AdaptiveAvgPool2d(1) self.fc = nn.Conv2d(in_planes, attention_channel, 1, bias=False) self.bn = nn.BatchNorm2d(attention_channel) self.relu = nn.ReLU(inplace=True) self.channel_fc = nn.Conv2d(attention_channel, in_planes, 1, bias=True) self.func_channel = self.get_channel_attention if in_planes == groups and in_planes == out_planes: # depth-wise convolution self.func_filter = self.skip else: self.filter_fc = nn.Conv2d(attention_channel, out_planes, 1, bias=True) self.func_filter = self.get_filter_attention if kernel_size == 1: # point-wise convolution self.func_spatial = self.skip else: self.spatial_fc = nn.Conv2d(attention_channel, kernel_size * kernel_size, 1, bias=True) self.func_spatial = self.get_spatial_attention if kernel_num == 1: self.func_kernel = self.skip else: self.kernel_fc = nn.Conv2d(attention_channel, kernel_num, 1, bias=True) self.func_kernel = self.get_kernel_attention self._initialize_weights() def _initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d): nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') if m.bias is not None: nn.init.constant_(m.bias, 0) if isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0) def update_temperature(self, temperature): self.temperature = temperature @staticmethod def skip(_): return 1.0 def get_channel_attention(self, x): channel_attention = torch.sigmoid(self.channel_fc(x).view(x.size(0), -1, 1, 1) / self.temperature) return channel_attention def get_filter_attention(self, x): filter_attention = torch.sigmoid(self.filter_fc(x).view(x.size(0), -1, 1, 1) / self.temperature) return filter_attention def get_spatial_attention(self, x): spatial_attention = self.spatial_fc(x).view(x.size(0), 1, 1, 1, self.kernel_size, self.kernel_size) spatial_attention = torch.sigmoid(spatial_attention / self.temperature) return spatial_attention def get_kernel_attention(self, x): kernel_attention = self.kernel_fc(x).view(x.size(0), -1, 1, 1, 1, 1) kernel_attention = F.softmax(kernel_attention / self.temperature, dim=1) return kernel_attention def forward(self, x): x = self.avgpool(x) x = self.fc(x) x = self.bn(x) x = self.relu(x) return self.func_channel(x), self.func_filter(x), self.func_spatial(x), self.func_kernel(x)class ODConv2d(nn.Module): def __init__(self, in_planes, out_planes, kernel_size, stride=1, padding=0, dilation=1, groups=1, reduction=0.0625, kernel_num=4): super(ODConv2d, self).__init__() self.in_planes = in_planes self.out_planes = out_planes self.kernel_size = kernel_size self.stride = stride self.padding = padding self.dilation = dilation self.groups = groups self.kernel_num = kernel_num self.attention = Attention(in_planes, out_planes, kernel_size, groups=groups, reduction=reduction, kernel_num=kernel_num) self.weight = nn.Parameter(torch.randn(kernel_num, out_planes, in_planes//groups, kernel_size, kernel_size), requires_grad=True) self._initialize_weights() if self.kernel_size == 1 and self.kernel_num == 1: self._forward_impl = self._forward_impl_pw1x else: self._forward_impl = self._forward_impl_common def _initialize_weights(self): for i in range(self.kernel_num): nn.init.kaiming_normal_(self.weight[i], mode='fan_out', nonlinearity='relu') def update_temperature(self, temperature): self.attention.update_temperature(temperature) def _forward_impl_common(self, x): # Multiplying channel attention (or filter attention) to weights and feature maps are equivalent, # while we observe that when using the latter method the models will run faster with less gpu memory cost. channel_attention, filter_attention, spatial_attention, kernel_attention = self.attention(x) batch_size, in_planes, height, width = x.size() x = x * channel_attention x = x.reshape(1, -1, height, width) aggregate_weight = spatial_attention * kernel_attention * self.weight.unsqueeze(dim=0) aggregate_weight = torch.sum(aggregate_weight, dim=1).view( [-1, self.in_planes // self.groups, self.kernel_size, self.kernel_size]) output = F.conv2d(x, weight=aggregate_weight, bias=None, stride=self.stride, padding=self.padding, dilation=self.dilation, groups=self.groups * batch_size) output = output.view(batch_size, self.out_planes, output.size(-2), output.size(-1)) output = output * filter_attention return output def _forward_impl_pw1x(self, x): channel_attention, filter_attention, spatial_attention, kernel_attention = self.attention(x) x = x * channel_attention output = F.conv2d(x, weight=self.weight.squeeze(dim=0), bias=None, stride=self.stride, padding=self.padding, dilation=self.dilation, groups=self.groups) output = output * filter_attention return output def forward(self, x): return self._forward_impl(x)三、实验对比结果

🚀🏆🍀【算法创新&算法训练&论文投稿】相关链接👇👇👇✨【YOLO创新算法尝新系列】✨🏂 美团出品 | YOLOv6 v3.0 is Coming(超越YOLOv7、v8)🏂 官方正品 | Ultralytics YOLOv8算法来啦(尖端SOTA模型)🏂 改进YOLOv5/YOLOv7——魔改YOLOv5/YOLOv7提升检测精度(涨点必备)————————————🌴【重磅干货来袭】🎄————————————🚀一、主干网络改进(持续更新中)🎄🎈1.目标检测算法——YOLOv5/YOLOv7改进之结合ConvNeXt结构(纯卷积|超越Swin)2.目标检测算法——YOLOv5/YOLOv7改进之结合MobileOne结构(高性能骨干|仅需1ms)3.目标检测算法——YOLOv5/YOLOv7改进之结合Swin Transformer V2(涨点神器)4.目标检测算法——YOLOv5/YOLOv7改进结合BotNet(Transformer)5.目标检测算法——YOLOv5/YOLOv7改进之GSConv+Slim Neck(优化成本)6.目标检测算法——YOLOv5/YOLOv7改进结合新神经网络算子Involution(CVPR 2021)7.目标检测算法——YOLOv7改进|增加小目标检测层8.目标检测算法——YOLOv5改进|增加小目标检测层🌴 持续更新中……🚀二、轻量化网络(持续更新中)🎄🎈1.目标检测算法——YOLOv5/YOLOv7改进之结合​RepVGG(速度飙升)2.目标检测算法——YOLOv5/YOLOv7改进之结合​PP-LCNet(轻量级CPU网络)3.目标检测算法——YOLOv5/YOLOv7改进之结合轻量化网络MobileNetV3(降参提速)4.目标检测算法——YOLOv5/YOLOv7改进|结合轻量型网络ShuffleNetV25.目标检测算法——YOLOv5/YOLOv7改进结合轻量型Ghost模块🌴 持续更新中……🚀三、注意力机制(持续更新中)🎄🎈1.目标检测算法——YOLOv5改进之结合CBAM注意力机制2.目标检测算法——YOLOv7改进之结合CBAM注意力机制3.目标检测算法——YOLOv5/YOLOv7之结合CA注意力机制4.目标检测算法——YOLOv5/YOLOv7改进之结合ECA注意力机制5.目标检测算法——YOLOv5/YOLOv7改进之结合NAMAttention(提升涨点)6.目标检测算法——YOLOv5/YOLOv7改进之结合GAMAttention7.目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM(涨点神器)8.目标检测算法——YOLOv5/YOLOv7改进之结合Criss-Cross Attention9.​目标检测算法——YOLOv5/YOLOv7改进之结合​SOCA(单幅图像超分辨率)🌴 持续更新中……🚀四、检测头部改进(持续更新中)🎄🎈1.魔改YOLOv5/v7高阶版(魔法搭配+创新组合)——改进之结合解耦头Decoupled_Detect2.目标检测算法——YOLOv5/YOLOv7改进结合涨点Trick之ASFF(自适应空间特征融合)🌴 持续更新中……🚀五、空间金字塔池化(持续更新中)🎄🎈1.目标检测算法——YOLOv5/YOLOv7改进之结合​ASPP(空洞空间卷积池化金字塔)2.目标检测算法——YOLOv5/YOLOv7改进之结合特征提取网络RFBNet(涨点明显)🌴 持续更新中……🚀六、损失函数及NMS改进(持续更新中)🎄🎈1.目标检测算法——YOLOv5/YOLOv7改进|将IOU Loss替换为EIOU Loss2.目标检测算法——助力涨点 | YOLOv5改进结合Alpha-IoU3.目标检测算法——YOLOv5/YOLOv7改进之结合SIoU4.目标检测算法——YOLOv5将NMS替换为DIoU-NMS🌴 持续更新中……🚀七、其他创新改进项目(持续更新中)🎄🎈1.手把手教你搭建属于自己的PyQt5-YOLOv5目标检测平台(保姆级教程)2.YOLO算法改进之结合GradCAM可视化热力图(附详细教程)3.目标检测算法——YOLOv5/YOLOv7改进之结合SPD-Conv(低分辨率图像和小目标涨点明显)4.目标检测算法——YOLOv5/YOLOv7改进之更换FReLU激活函数5.目标检测算法——YOLOv5/YOLOv7改进之结合BiFPN🌴 持续更新中……🚀八、算法训练相关项目(持续更新中)🎄🎈1.目标检测算法——YOLOv7训练自己的数据集(保姆级教程)2.人工智能前沿——玩转OpenAI语音机器人ChatGPT(中文版)3.深度学习之语义分割算法(入门学习)4.知识经验分享——YOLOv5-6.0训练出错及解决方法(RuntimeError)5.目标检测算法——将xml格式转换为YOLOv5格式txt6.目标检测算法——YOLOv5/YOLOv7如何改变bbox检测框的粗细大小7.人工智能前沿——6款AI绘画生成工具8.YOLOv5结合人体姿态估计9.超越YOLOv5,0.7M超轻量,又好又快(PP-YOLOE&PP-PicoDet)10.目标检测算法——收藏|小目标检测的定义(一)11.目标检测算法——收藏|小目标检测难点分析(二)12.目标检测算法——收藏|小目标检测解决方案(三)🌴 持续更新中……🚀九、数据资源相关项目(持续更新中)🎄🎈1.目标检测算法——小目标检测相关数据集(附下载链接)2.目标检测算法——3D公共数据集汇总(附下载链接)3.目标检测算法——3D公共数据集汇总 2(附下载链接)4.目标检测算法——行人检测&人群计数数据集汇总(附下载链接)5.目标检测算法——遥感影像数据集资源汇总(附下载链接)6.目标检测算法——自动驾驶开源数据集汇总(附下载链接)7.目标检测算法——自动驾驶开源数据集汇总 2(附下载链接)8.目标检测算法——图像分类开源数据集汇总(附下载链接)9.目标检测算法——医学图像开源数据集汇总(附下载链接)10.目标检测算法——工业缺陷数据集汇总1(附下载链接)11.目标检测算法——工业缺陷数据集汇总2(附下载链接)12.目标检测算法——垃圾分类数据集汇总(附下载链接)13.目标检测算法——人脸识别数据集汇总(附下载链接)14.目标检测算法——安全帽识别数据集(附下载链接)15.目标检测算法——人体姿态估计数据集汇总(附下载链接)16.目标检测算法——人体姿态估计数据集汇总 2(附下载链接)17.目标检测算法——车辆牌照识别数据集汇总(附下载链接)18.目标检测算法——车辆牌照识别数据集汇总 2(附下载链接)19.收藏 | 机器学习公共数据集集锦(附下载链接)20.目标检测算法——图像分割数据集汇总(附下载链接)21.目标检测算法——图像分割数据集汇总 2(附下载链接)22.收藏 | 自然语言处理(NLP)数据集汇总(附下载链接)23.自然语言处理(NLP)数据集汇总 2(附下载链接)24.自然语言处理(NLP)数据集汇总 3(附下载链接)25.自然语言处理(NLP)数据集汇总 4(附下载链接)🌴 持续更新中……🚀十、论文投稿相关项目(持续更新中)🎄🎈1.论文投稿指南——收藏|SCI论文投稿注意事项(提高命中率)2.论文投稿指南——收藏|SCI论文怎么投?(Accepted)3.论文投稿指南——收藏|SCI写作投稿发表全流程4.论文投稿指南——收藏|如何选择SCI期刊(含选刊必备神器)5.论文投稿指南——SCI选刊6.论文投稿指南——SCI投稿各阶段邮件模板7.人工智能前沿——深度学习热门领域(确定选题及研究方向)8.人工智能前沿——2022年最流行的十大AI技术9.人工智能前沿——未来AI技术的五大应用领域10.人工智能前沿——无人自动驾驶技术11.人工智能前沿——AI技术在医疗领域的应用12.人工智能前沿——随需应变的未来大脑13.目标检测算法——深度学习知识简要普及14.目标检测算法——10种深度学习框架介绍15.目标检测算法——为什么我选择PyTorch?16.知识经验分享——超全激活函数解析(数学原理+优缺点)17.知识经验分享——卷积神经网络(CNN)18.海带软件分享——Office 2021全家桶安装教程(附报错解决方法)19.海带软件分享——日常办公学习软件分享(收藏)20.论文投稿指南——计算机视觉 (Computer Vision) 顶会归纳21.论文投稿指南——中文核心期刊22.论文投稿指南——计算机领域核心期刊23.论文投稿指南——中文核心期刊推荐(计算机技术)24.论文投稿指南——中文核心期刊推荐(计算机技术2)25.论文投稿指南——中文核心期刊推荐(计算机技术3)26.论文投稿指南——中文核心期刊推荐(电子、通信技术)27.论文投稿指南——中文核心期刊推荐(电子、通信技术2)28.论文投稿指南——中文核心期刊推荐(电子、通信技术3)29.论文投稿指南——中文核心期刊推荐(机械、仪表工业)30.论文投稿指南——中文核心期刊推荐(机械、仪表工业2)31.论文投稿指南——中文核心期刊推荐(机械、仪表工业3)32.论文投稿指南——中国(中文EI)期刊推荐(第1期)33.论文投稿指南——中国(中文EI)期刊推荐(第2期)34.论文投稿指南——中国(中文EI)期刊推荐(第3期)35.论文投稿指南——中国(中文EI)期刊推荐(第4期)36.论文投稿指南——中国(中文EI)期刊推荐(第5期)37.论文投稿指南——中国(中文EI)期刊推荐(第6期)38.论文投稿指南——中国(中文EI)期刊推荐(第7期)39.论文投稿指南——中国(中文EI)期刊推荐(第8期)40.【1】SCI易中期刊推荐——计算机方向(中科院3区)41.【2】SCI易中期刊推荐——遥感图像领域(中科院2区)42.【3】SCI易中期刊推荐——人工智能领域(中科院1区)43.【4】SCI易中期刊推荐——神经科学研究(中科院4区)44.【5】SCI易中期刊推荐——计算机科学(中科院2区)45.【6】SCI易中期刊推荐——人工智能&神经科学&机器人学(中科院3区)46.【7】SCI易中期刊推荐——计算机 | 人工智能(中科院4区)47.【8】SCI易中期刊推荐——图像处理领域(中科院4区)48.【9】SCI易中期刊推荐——工程技术-计算机:软件工程(中科院4区)49.【10】SCI易中期刊推荐——工程技术-计算机:人工智能(中科院2区)50.【11】SCI易中期刊推荐——计算机方向(中科院4区)51.【12】SCI易中期刊推荐——计算机信息系统(中科院4区)🌴 持续更新中……关于YOLO算法改进&论文投稿可关注并留言博主的CSDN/QQ>>>一起交流!互相学习!共同进步!<<<
本文链接地址:https://www.jiuchutong.com/zhishi/290811.html 转载请保留说明!

上一篇:【哈士奇赠书活动 - 24期】-〖前端工程化:基于Vue.js 3.0的设计与实践〗(哈士奇新手礼包)

下一篇:Anaconda D2L 虚拟环境安装配置(anaconda虚拟机)

  • 税控盘开票软件访问数据库错误
  • 增值税月末结转还是年末结转
  • 公司代扣个人所得税有完税凭证明
  • 租赁服务增值税税率
  • 个人所得税缴纳标准税率表
  • 企业留存的盈余公积属于哪个会计科目
  • 消费税可以在企业抵扣吗
  • 加计扣除要交所得税嘛
  • 服务业按什么结算收入
  • 印花税多报了几块钱税务局会找我吗
  • 已经缴纳的税款怎么做账
  • 收取租车押金怎么做会计分录
  • 抄报税校验失败调用系统服务出错怎么办
  • 产成品入库金额和售价一样嘛
  • 旅游业全额开票可以差额征税吗
  • 企业内部控制调查问卷
  • 旅游的合同
  • 小规模纳税人普通发票可以抵税吗
  • 旅行社差额征收怎么做账
  • 公允价值变动损益属于当期损益吗
  • 每月发放奖金的会计分录
  • 增资印花税缴纳时间
  • 付款申请需要附什么依据
  • 银行呆帐坏账
  • 资产减值损失需要结转吗
  • 开票需要对方提供营业执照吗
  • 员工辞退补偿金会计分录
  • 公益事业捐赠
  • 结转出租设备的会计分录
  • Win10时间显示到秒
  • 其他资金结转结余包括哪些
  • 王者荣耀中刘邦技能解析以及如何连招
  • 酒店布草洗涤赔偿怎样折旧
  • uniapp微信小程序支付流程
  • 出售应收债权属于收入吗
  • 二级资本债是什么意思
  • 股东分红会计分录摘要
  • 购买支票费用计入
  • 办公室买花卉怎么做分录
  • unet bn
  • wallengine
  • 人工智能机器人的好处
  • 计提坏账准备需要确认递延所得税吗
  • thinkphp框架怎么用
  • 固定资产损失用什么科目
  • 加班补贴费
  • 年终奖要计入工资吗
  • db2数据库性能调整和优化
  • 一般纳税人公司出售旧车怎么开票
  • 背书转让流程图
  • 个体户需要税务报道不
  • 分页存储的优缺点
  • 装饰公司购入材料税额会计分录
  • 营改增后简易计税是多少税率
  • 主营业务收入多计提怎么冲减
  • 哪些发票可以报销哪些不可以
  • 国外佣金算什么费用比较好
  • 不动产分割要哪些步骤
  • 取得工程款发票计入什么会计科目里
  • 其他应收款科目核算哪些业务
  • 各单位应当设置专职能源管理岗位
  • sqlserver性能优化
  • window装机必备应用
  • softmangerlite.exe是什么进程 有什么用
  • xp系统几位操作系统
  • 安装yum的命令
  • virtualbox 虚拟化
  • unicode 字符百科
  • jquery设置鼠标样式
  • jquery制作图片提示效果
  • nodejs操作mysql
  • unityprefab
  • 10个常用linux指令
  • python获取entry里输入的值
  • android反编译软件
  • javascript数组操作方法
  • python 连接pg
  • 河南税务局退税流程
  • 美国对中国企业的政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设