位置: IT常识 - 正文

YOLOv7改进之二十二:涨点神器——引入递归门控卷积(gnConv)(yolox改进)

编辑:rootadmin
YOLOv7改进之二十二:涨点神器——引入递归门控卷积(gnConv)

推荐整理分享YOLOv7改进之二十二:涨点神器——引入递归门控卷积(gnConv)(yolox改进),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov2改进,yolov5能从哪些方面改进,yolov3 改进,yolov5 改进,yolov3改进算法,yolov3 改进,yolov5 改进,yolov3 改进,内容如对您有帮助,希望把文章链接给更多的朋友!

 ​前 言:作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv7的如何改进进行详细的介绍,目的是为了给那些搞科研的同学需要创新点或者搞工程项目的朋友需要达到更好的效果提供自己的微薄帮助和参考。由于出到YOLOv7,YOLOv5算法2020年至今已经涌现出大量改进论文,这个不论对于搞科研的同学或者已经工作的朋友来说,研究的价值和新颖度都不太够了,为与时俱进,以后改进算法以YOLOv7为基础,此前YOLOv5改进方法在YOLOv7同样适用,所以继续YOLOv5系列改进的序号。另外改进方法在YOLOv5等其他算法同样可以适用进行改进。希望能够对大家有帮助。

解决问题:YOLOv7主干特征提取网络为CNN网络,CNN具有平移不变性和局部性,缺乏全局建模长距离建模的能力,引入自然语言处理领域的框架Transformer来形成CNN+Transformer架构,充分两者的优点,提高目标检测效果,本人经过实验,对小目标以及密集预测任务会有一定的提升效果。视觉 Transformers 的最新进展在基于点积 self-attention 的新空间建模机制驱动的各种任务中取得了巨大成功。递归门控卷积(gnConv),它通过门控卷积和递归设计执行高阶空间交互。新操作具有高度的灵活性和可定制性,它兼容各种卷积变体,并将自注意力中的二阶交互扩​​展到任意阶,而不会引入大量额外的计算。gnConv 可以作为一个即插即用的模块来改进各种视觉 Transformer 和基于卷积的模型。Transformer方法融合参考YOLOv5改进往期。

YOLOv5改进之十七:CNN+Transformer——融合Bottleneck Transformers_人工智能算法研究院的博客-CSDN博客

原理:

YOLOv7改进之二十二:涨点神器——引入递归门控卷积(gnConv)(yolox改进)

论文:https://arxiv.org/pdf/2207.14284.pdf

代码:GitHub - raoyongming/HorNet: HorNet: Efficient High-Order Spatial Interactions with Recursive Gated Convolutions

视觉变形金刚的最新进展在各种任务中都取得了巨大的成功由基于点积自注意力的新空间建模机制驱动。在本文中,我们展示了愿景变形金刚背后的关键要素,即输入自适应、长程和高阶空间交互,也可以使用基于卷积的框架有效地实现。我们提出递归门控卷积(gnConv),它通过门控卷积和递归设计执行高阶空间交互。新的操作高度灵活可定制,兼容各种卷积变体并将 self-attention 中的二阶交互扩​​展到任意阶,而无需引入大量额外的计算。 GnConv 可以作为即插即用模块来改进各种视觉变压器和基于卷积的模型。基于该操作,我们构建了一个新的通用视觉骨干家族 命名为 HorNet。 ImageNet分类、COCO对象的大量实验检测和 ADE20K 语义分割显示 HorNet 优于 Swin Transformers 和 ConvNeXt 具有相似的整体架构和训练配置。 HorNet 还显示出良好的可扩展性更多的训练数据和更大的模型大小。除了视觉编码器的有效性之外,我们还展示了 gnConv 可以应用于特定任务的解码器和以更少的计算持续提高密集预测性能。我们的结果表明,gnConv 可以成为可视化建模的新基础模块它有效地结合了视觉 Transformer 和 CNN 的优点

 项目部分代码如下:

class gnconv(nn.Module): def __init__(self, dim, order=5, gflayer=None, h=14, w=8, s=1.0): super().__init__() self.order = order self.dims = [dim // 2 ** i for i in range(order)] self.dims.reverse() self.proj_in = nn.Conv2d(dim, 2*dim, 1) if gflayer is None: self.dwconv = get_dwconv(sum(self.dims), 7, True) else: self.dwconv = gflayer(sum(self.dims), h=h, w=w) self.proj_out = nn.Conv2d(dim, dim, 1) self.pws = nn.ModuleList( [nn.Conv2d(self.dims[i], self.dims[i+1], 1) for i in range(order-1)] ) self.scale = s print('[gnconv]', order, 'order with dims=', self.dims, 'scale=%.4f'%self.scale)

结 果:本人在多个数据集上做了大量实验,针对不同的数据集效果不同,涨点明显。

预告一下:下一篇内容将继续分享深度学习算法相关改进方法。有兴趣的朋友可以关注一下我,有问题可以留言或者私聊我哦

PS:卷积的替换不仅仅是适用改进YOLOv5,也可以改进其他的YOLO网络以及目标检测网络,比如YOLOv7、v6、v4、v3,Faster rcnn ,ssd等。

最后,希望能互粉一下,做个朋友,一起学习交流。

本文链接地址:https://www.jiuchutong.com/zhishi/297649.html 转载请保留说明!

上一篇:【实战与杂谈】如何复活一个开源网站-游戏王卡片生成器(实战到底究竟是什么意思啊)

下一篇:MySQL面试题-锁相关(数据库锁面试题)

  • 冲回多计提费用
  • 个体工商户年报网上申报入口
  • 开电竞公司计划书
  • 已认证的专票可以取消认证吗
  • 现金流量表季度报表本期金额
  • 企业股东分红可以不按比例分吗
  • 单一窗口报关单
  • 生产企业的基础设施是指
  • 增值税加计扣除政策
  • 子公司分红对合并报表的影响
  • 内部报送会计信息有哪些
  • 国外包裹退回费用
  • 共同控制合营企业的合营者
  • 银行期初数不对,怎么调整
  • 未分配利润调整会计分录
  • 购进商品返点的钱用于抵扣货款怎么入账?
  • 小规模纳税人如何升级为一般纳税人
  • 个人年终奖如何交税
  • 高温补贴需要交个人所得税吗2019
  • 外贸企业增值税表二填写流程
  • 分公司可以迁移到新公司吗
  • 药品增值税简易征收
  • 什么情况需要对房屋外观拍照
  • 如何在虚拟机上下载软件
  • 产品入库的业务流程
  • 广告费和业务宣传费税前扣除基数
  • macos big sur正式版
  • 保险公司工伤保险
  • Win10 Build 19044.1288累积更新补丁KB5006670(附更新修复内容汇总)
  • PHP:curl_getinfo()的用法_cURL函数
  • php生成图片 html转img
  • PHP:imagesetbrush()的用法_GD库图像处理函数
  • 个人应纳税所得额是要交钱吗
  • 什么是两免一补的条件
  • Stable Diffusion 准确绘制人物动作及手脚细节(需ControlNet扩展)
  • php pdo oracle
  • 一般纳税人简易计税会计分录
  • 酒店客房成本构成
  • yolov3目标检测步骤流程图
  • css怎么让文字垂直居中显示
  • 房租费发票可以抵扣增值税吗
  • 企业投资计入什么科目
  • 会引起所有者权益总额变动的是
  • sql性能优化方法
  • 材料可变现净值为什么不减去材料的销售费用
  • 取得发票没有加税怎么办
  • 数据库双亲结点
  • SqlServer 2005 T-SQL Query 学习笔记(4)
  • 合并抵消分录影响母公司总分类账吗
  • 微信收款要收费吗?
  • 如何处理固定资产报废
  • 库存商品盘盈怎么做账
  • 给客户买的礼品要交税吗
  • 接受捐赠可以确认为收入吗
  • 研发费用如何做成本分析
  • 结汇时和月底结转汇兑损益
  • mysql中key 、primary key 、unique key 与index区别
  • mysql 去除重复查询结果
  • 统计得到的一组数据有80个
  • windows8.
  • xwizard.exe是什么
  • centos划分分区
  • windows8进入桌面
  • 845主板支持1t硬盘吗
  • win7网络问题
  • win8.1系统电脑设置闪退
  • 3ds怎么用3ds格式
  • javascript中常见的数据类型有哪些?
  • nodejs indexof
  • linux如何批量执行脚本
  • 如何在python中运行程序
  • js有多重模块定义方式
  • unity连接
  • Android之BroadcastReceiver
  • android环境搭建实验报告
  • 个税申报系统如何增加新单位
  • 江西省国家税务局
  • 河北省职称证去哪里查
  • 申请农合减免
  • 税控盘怎么变更
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设