CFNet: Cascade Fusion Network for Dense Prediction

news2024/9/20 20:41:51

论文名称:CFNet: Cascade Fusion Network for Dense Prediction

论文下载:https://arxiv.org/pdf/2302.06052.pdf

论文代码:GitHub - zhanggang001/CFNet: CFNet: Cascade Fusion Network for Dense Prediction

摘要:

        在密集预测任务中多尺度的特征融合至关重要,当前的主流的密集预测的范式是先通过BackBone提取通用特征,然后通过特征融合模块来融合BackBone中的多尺度特征,最后使用head来输出密集预测结果(检测,分割等)。作者发现BackBone的网络参数量远远大于特征融合模块,基于此发现作者提出了级联融合网络结构(CFNet)来平衡BackBone和融合模块网络的参数占比。最终提出的网络结构在Imagenet,COCO,ADE20K等数据集上取得了领先的结果。

整体网络结构:

         算法的整体网络结构如上图所示。该网络结构主要由三部分组成:Stem,Block和一系列的CFNet Stage网络结构。Stem网络结构比较简单主要是由两个步长为2的卷积层组成,每个卷积层后面跟了LN层和GELU激活函数层。Block网络结构是由N个ResNet残差结构块或者swin transformer结构块组成,主要的作用是提取深层的语义信息,增加感受野,并不会对特征图进行下采样操作。论文中会有M个CFNet Stage网络结构块,每个CFNet Stage网络结构都是一样的,CFNet Stage主要是由两个Block网络结构块,焦点模块和聚合模块组成,CFNet Stage之间只会传输P3特征图进行处理,只有最后的CFNet Stage块才会输出P3,P4,P5三个尺度的特征图给到head网络结构来输出想要的结果(语义分割,目标检测等)。

聚合模块(Transition Block):

         上图为论文中提出的三种聚合模块的网络结构。(a)图为特征相加的融合方法,先将C5和C4上采样到C3大小,随后将C5,C4和C3的特征图像加在一起。(b)图为通道相加的融合方法,先将C5和C4上采样到C3大小,随后将C5,C4和C3的特征图通道加在一起,最后通过一个3*3的卷积层进行降维操作。(c)图则是先将C5和C4进行特征相加操作,得到的结果再与C3进行特征相加操作,输出最终的结果。

        上表是三种聚合方法在Imagenet数据集上的精度对比,(c)方法取得最高的精度,但是参数量也会相应地增加。

焦点模块(Focal Block):

         论文中提出了两种焦点模块,分别是Next block和Swin block,它们分别是ConvNext和Swim Transformer两个基础block块地变体,主要是增加了黄色区域7*7的卷积层,增加大内核卷积的主要作用就是增加网络的感受野,提取丰富的语义信息。同时网络为了减少参数量,将每一个黄色区域7*7的卷积使用深度可分离卷积。

        上表展示了使用焦点模块和不使用焦点模块在Imagenet上精度的对比,可以看出使用焦点模块虽然参数增加,但是模型的精度也有了较高的提升。

 实验结果:

         基于论文中提出的网络结构块,作者在Swim Transformer和ConvNext基础上提出了三个网络结构。T表示的是Tiny,S表示的是Small。上表是论文中提出的三个网络的网络结构。

        下表为三个网络结构在Imagenet上的精度表现,可以看出在参数量相当的情况下论文中提出的网络结构的精度要比其他算法高一些。

 

         上表为论文提出的网络结构在COCO数据集目标检测方面的精度对比。

         上表为论文提出的网络结构在ADE20K语义分割上的精度对比。该网络取得了当前语义分割方向先进的分割水平。

总结:

        在本文中作者提出了一种新的结构(CFNet)用于密集预测任务。与现在的FPN及其变体不同,本文提出的CFNet在骨干网中插入特征集成操作,可以利用整个BackBone来有效地融合多尺度特征。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/391717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十四届蓝桥选拔赛Scratch-2023.02.12 试题解析

十四届蓝桥选拔赛Scratch-2023.02.12 试题解析 单选题: 1. 运行以下程序,小猫和小企鹅谁能到达舞台右侧边缘? ( B ) *选择题严禁使用程序验证,选择题不答和答错不扣分 A. 小企鹅 B. 小猫 C. 都能到达 D. 都不能到达 2. 运行以下程序(小象仅有两个造型),小象的造型是…

最简单的SpringBoot+MyBatis多数据源实现

最简单的SpringBootMyBatis多数据源实现1.数据库准备2.环境准备3.代码部分3.1多数据源配置2.测试随着应用用户数量的增加,相应的并发请求的数量也会跟着不断增加,慢慢地,单个数据库已经没有办法满足频繁的数据库操作请求了,在某些…

【JeecgBoot-Vue3】第4节 目录结构与常用组件介绍

一、项目的目录结构讲解 1. src/api/ 存放API相关信息 src/api/存放的是调用后台api接口相关信息src/api/commonapi.tsapi接口信息2. src/assets 静态资源 src/assets静态资源 src/assets/icons 图标 src/assets/images 图片 src/assets/less 样式src/assets/svgsvg图像3. s…

函数编程:强大的 Stream API

函数编程:强大的 Stream API 每博一文案 只要有人的地方,世界就不会是冰冷的,我们可以平凡,但绝对不可以平庸。—————— 《平凡的世界》人活着,就得随时准备经受磨难。他已经看过一些书,知道不论是普通…

Python API教程:API入门

什么是API? 一个API,或被称为应用程序接口,是一个服务器为你提供一个接收或发送数据的代码。API通常用来接收数据。 本文就集中焦点在此话题中。 当我们想从一个API中接收数据,我们需要开始请求。请求可以包含整个Web。例如&am…

Vue基础18之github案例、vue-resource

Vue基础18github案例静态页面第三方样式引入(以bootstrap举例)App.vueSearch.vueList.vue列表展示接口地址使用全局事件总线进行兄弟间组件通信Search.vueList.vue完善案例List.vueSearch.vue补充知识点:{...this.info,...this.dataObj}效果呈…

Serverless

Serverless:云计算的下一个十年 最近几年的技术圈,对于 Serverless 技术的讨论异常火热,在业内也有了很多成熟的案例,国外发展较早,比较有代表性的就是亚马逊和谷歌, 而在国内,腾讯和阿里两位巨…

Maven使用教程

1.什么是Maven? 当我们在创建一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量极多,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。 以往开发项目时…

GraphPad Prism v9.5.1.733 科研绘图软件多语言

GraphPad Prism集生物统计、曲线拟合和科技绘图于一体,其所具有的功能均非常实用和精炼,包括了一些特色的功能,如ROC曲线分析、Bland-Altman分析等;曲线拟合功能是GraphPad Prism8 汉化版超越其他统计软体的制胜法宝,GraphPad Prism8 汉化版的线性/非线性拟合功能使用操作…

JVM运行时数据区—Java虚拟机栈

虚拟机栈的背景 由于跨平台性的设计,java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 根据栈设计的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功…

python制作【法律条文查询工具】妈妈再也不担心我法盲了

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 更多教程源码资料电子书: 点击此处跳转文末名片获取 环境准备8 Python 3.8 Pycharm 《中华人民共和国刑法》 效果展示 打算做个简单的界面,主要功能就是查询法律条文 代码展示 查询器界面 设定界面大小 …

戴眼镜检测和识别2:Pytorch实现戴眼镜检测和识别(含戴眼镜数据集和训练代码)

Pytorch实现戴眼镜检测和识别(含戴眼镜数据集和训练代码) 目录 Pytorch实现戴眼镜检测和识别(含戴眼镜数据集和训练代码) 1.戴眼镜检测和识别方法 2.戴眼镜数据集 3.人脸检测模型 4.戴眼镜分类模型训练 (1)项目安装 (2)准…

反向代理和负载均衡有何区别?

反向代理和负载均衡是两种常用的网络架构模式,它们可以一起使用来提高网站的性能和可靠性,很多人会把这两者混淆,实际上,这两者的作用略有不同,今天我们就来详细说说具体区别是什么。一、反向代理(Reverse …

Python|贪心|数组|桶排序|二叉搜索树|贪心|单选记录:最大间距|将有序数组转换为二叉搜索树|跳跃游戏 II

1、最大间距(数组,桶排序) 给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。 示例 1: 输入: [3,6,9,1] 输出: 3 解释: 排序后的数组是 [1,3,6,9]…

三个案例场景带你掌握Cisco交换机VLAN互通

VLAN间路由的方式现在主流的组网主要是依靠三层交换机通过配置SVI接口【有的厂商叫VLANIF接口】,当然也有比较小型的网络,它就一个出口路由器可管理的二层交换机,还有一种更加差的,就是出口路由一个可管理的二层交换机&#xff0c…

描述一下锁的四种状态及升级过程?

文章目录1、锁的四种状态2、Java对象头描述3、锁的升级过程(Synchronized加锁/膨胀流程)1)简单过程如下图2)详细过程(1)偏向锁(2)轻量级锁(3)重量级锁4、拓展…

SpringBoot下的Spring框架学习(Tedu)——DAY02

SpringBoot下的Spring框架学习(Tedu)——DAY02 目录SpringBoot下的Spring框架学习(Tedu)——DAY02Spring框架学习1.1 Spring介绍1.2 知识铺垫1.2.1 编辑Dog类1.2.2 编辑Cat类1.2.3 编辑测试类User.java1.2.4 上述代码的总结1.3 面…

PPQ库中KLD算法实现代码解析

PPQ量化工具库KLD算法解析前言PPQ算法实现NVIDIA的PPT中KLD算法流程KLD算法PPQ实现版本PPQ与NVIDIA的区别:前言 这是对PPQ库中KLD算法实现代码解析,关于PPQ库安装与使用详情见专栏上一篇博客。 PPQ算法实现 nvidia发布的PPT:8-bit Inferen…

使用vue-element-admin进行二次开发

vue-element-admin 介绍 基于 vue 和 element-ui实现 的后台前端解决方案 集成方案: vue-element-admin基础模板: vue-admin-template桌面终端: electron-vue-adminTypescript 版: vue-typescript-admin-template Others: awesome-project 亮点 i18 国际化解决方案 动态路由…

射频功率放大器在辉光放电特征及风速测量原理中的应用

实验名称:辉光放电特征及风速测量原理研究方向:辉光放电测试设备:信号发生器、ATA-8202射频功率放大器,热成像仪、万用表、等离子体传感器实验过程:在等离子体形成条件和流场响应机制的基础上,可以明确影响…