【图像分割 2023 CVPR】CFNet

文章目录

  • 【图像分割 2023 CVPR】CFNet
    • 摘要
    • 1. 简介
    • 2. 相关工作
      • 2.1 稠密预测的主干网设计
      • 2.2 多尺度特征融合
    • 3. 方法
      • 3.1 整体架构
      • 3.2 过渡块
      • 3.4 结构变体

【图像分割 2023 CVPR】CFNet

论文题目:CFNet: Cascade Fusion Network for Dense Prediction

中文题目:CFNet:用于密集预测的级联融合网络

论文链接:https://arxiv.org/abs/2302.06052

论文代码:

论文团队:

发表时间:

DOI:

引用:

引用数:

摘要

多尺度特征对于对象检测、实例分割和语义分割等密集预测任务是必不可少的。 现有的最先进的方法通常首先通过分类主干提取多尺度特征,然后通过轻量级模块(如FPN中的融合模块)对这些特征进行融合。 然而,我们认为,通过这样一个范例来融合多尺度特征可能是不可取的,因为与笨重的分类主干相比,为特征融合分配的参数是有限的。 为了解决这一问题,我们提出了一种新的结构&级联融合网络(CFNET)用于密集预测。 在CFNET中,除了提取初始高分辨率特征的STEM和几个块外,我们还引入了几个级联阶段来生成多尺度特征。 每个阶段包括用于特征提取的子主干和用于特征集成的极其轻量级的过渡块。 这种设计使得整个主干的大比例参数更深入有效地融合特征成为可能。 在对象检测、实例分割和语义分割等方面进行了大量的实验,验证了所提出的CFNET的有效性。 代码将在这里提供。

1. 简介

在过去的几年里,卷积神经网络(CNNs)和基于变换器的网络在许多计算机视觉任务中取得了很好的结果,包括图像分类、对象检测、语义分割等。对于图像分类任务,最流行的细胞神经网络[1-5]和最近开发的基于变换器的网络[6-9]在架构设计中通常遵循顺序方式,即逐渐减小特征图的空间大小,并基于最粗略的特征尺度进行预测。然而,对于许多密集的预测任务,如对象检测和实例分割,需要多尺度特征来处理不同尺度的对象。获得多尺度特征并将其集成CNN[1-5]和最近开发的基于变换器的网络[6-9]通常在架构设计中遵循顺序方式,即逐渐减小特征图的空间大小,并基于最粗尺度的特征进行预测。然而,对于许多密集的预测任务,如对象检测和实例分割,需要多尺度特征来处理不同尺度的对象。获得多尺度特征并对其进行有效集成对于这些任务的成功至关重要[10-14]。

特征金字塔网络(FPN)及其变体[14-20]是目前广泛应用的多尺度特征提取和融合模型。 如图1(a)所示,这些模型通常由一个用于提取多尺度特征的重分类背骨和一个用于融合这些特征的轻量级融合模块组成。 然而,我们认为,使用这种范式可能不足以融合多尺度特征,因为与重型分类主干相比,特征融合所分配的参数是有限的。 例如,考虑一个基于骨干Convnext-S[5]构建的FPN,融合模块的参数与骨干的比值小于10%。 我们认为,在特征融合中分配较大比例的参数可以获得更好的性能。

image-20230719215143992

给定固定的计算预算,如果我们想为特征融合分配更多的参数,一个直观的方法是使用较小的主干网,并扩大融合模块的规模。 然而,使用较小的主干意味着整个模型从大规模预训练(例如,ImageNet分类预训练)中受益较少,这对于训练数据有限的下游任务至关重要。 那么如何分配更多的参数来实现特征融合,同时保持一个简单的模型架构,仍然可以最大程度地受益于大规模的预训练呢?

我们先来回顾一下FPN的融合模块。为了融合多尺度特征,首先对相邻层次的特征进行元素加法,然后使用单个3×3卷积对相加后的特征进行变换。我们将这两个步骤称为特征融合和特征转换,从而构成特征融合。很明显,我们可以堆栈更多的卷积来转换集成的特征,但它引入了更多的参数,留给主干的参数更少。从另一个角度思考,我们进一步询问是否可以将特征整合操作插入到主干中,使其之后的所有参数都可以用来对整合后的特征进行转换。

在本工作中,我们试图回答上述问题。 本文提出了一种用于密集预测的级联融合网络(CFNET)。 图1(b)说明了CFNET的信息流。 它可以看作是重组不同尺度特征之间联系的结果。 图3显示了CFNET的体系结构。 基于一个茎和几个块提取的高分辨率特征,引入M级联CFNET级来生成多尺度特征。 所有阶段共享相同的结构,但它们的大小可以不同。 具体地说,每个阶段包括用于提取多尺度特征的子主干和用于集成这些特征的极其轻量级的过渡块。 这样,我们将特征集成操作插入到主干中,以便集成的特征可以在过渡块之后进行所有阶段的转换。 也就是说,过渡块之后的所有参数都可以用于特征融合。 此外,我们在图像分类任务上进行的实验表明,由于CFNET的结构简单,它仍然可以从大规模的预训练中受益。

基于所提出的CFNET,我们进行了一系列实验来验证我们的假设。 定义CFNET中用于特征融合的参数比例为第一个过渡块后各阶段的参数占整个骨干的比例。 图2中的结果表明,随着特征融合参数的增加,检测性能逐渐提高,验证了我们的假设。 更多详情请参阅第4.1节。

我们对三个流行的密集预测任务进行了广泛的实验。 在COCO VAL 2017用于对象检测和实例分割上,CFNET的性能优于其基线,即SWIN Transformer[6]和ConvNext[5],基于流行的RetinaNet[4]和Mask R-CNN[10]的Box AP和Mask AP分别为1.9-2.9和1.2-1.8。 在用于语义分割的ADE20K上,CFNET在强大的UperNet[13]的基础上比其基线性能高出0.8-2.2miou。 这些结果表明CFNET的强大性能,并鼓励社区重新思考广泛使用的密集预测任务模型设计原则。

2. 相关工作

2.1 稠密预测的主干网设计

对于密集的预测任务,现有的大多数工作都采用图像分类网络和特征融合模块相结合的策略来提取和融合多尺度特征。然而,将预先设计的分类网络直接应用于密集预测任务可能是次优的。因此,为密集预测设计任务友好型主干引起了人们的极大兴趣[21-29]。为了获得具有强语义的高分辨率特征,UNet[21]和SegNet[22]都采用了类似的具有跳跃连接的U形结构进行医学图像分割。Hourglass[23]介绍了一种卷积网络架构,该架构使用重复的自下而上和自上而下的处理来完成人体姿态估计任务。HRNet[25]在整个转发过程中保持高分辨率特征,并且所得到的表示在语义分割和人体姿态估计方面表现良好。SpineNet[26]引入了神经结构搜索(NAS)[30]来学习用于对象检测的尺度排列主干。GiraffeDet[29]采用了轻量级主干与重型融合模块相结合,以鼓励不同规模特征之间的密集信息交换。CBNet[27]通过在相邻主干之间引入复合连接来组装多个相同的主干。DetectoRS[28]直接堆叠多个FPN来增强多尺度特征。与这些方法不同的是,我们引入了几个级联阶段,在CFNet中基于提取的高分辨率特征迭代提取和集成多尺度特征。

2.2 多尺度特征融合

由于传统分类网络生成的低级特征在语义上较弱,这些多尺度特征不适合下游密集预测任务。为了解决这个问题,已经提出了许多用于多尺度特征融合的方法[14-18,31-33]。对于语义分割,DeeplabV3+[31]将低级特征与通过萎缩的空间金字塔池获得的语义强的高级特征融合在一起。ESeg[32]采用了更丰富的多尺度特征空间,并使用强大的特征融合网络来融合特征。对于对象检测,FPN[14]引入了一种自上而下的方法,将高级特征与低级特征依次组合。PANet[15]进一步增加了另一种自下而上的途径,以缩短低级特征和最高级特征之间的信息途径。NAS-FPN[16]通过NAS[30]搜索的重复融合阶段融合多尺度特征。EfficientDet[17]采用具有复合缩放规则的加权双向特征金字塔网络来实现简单快速的多尺度特征融合。A2-FPN[18]通过注意力引导的特征聚合改进了多尺度特征学习。所有上述方法都依赖于重分类主干来提取多尺度特征,然后用轻量级融合模块融合这些特征。然而,与分类主干相比,融合模块的参数是有限的。相反,我们提出了一个非常轻量级的转换块,并将其插入到主干中。这样,过渡块之后的所有阶段都可以用于融合集成的多尺度特征。

3. 方法

3.1 整体架构

CFNet体系结构的概述如图3所示。将空间大小为H×W的输入RGB图像馈送到一个干和N个连续块中,以提取空间大小为H4×W4的高分辨率特征。茎由两个3×3的卷积组成,步长为2,每个卷积后面都有一个LayerNorm[34]层和一个GELU[35]单元。CFNet中的块可以是先前工作中提出的任何设计,例如ResNet瓶颈[4]、ConvNeXt块[5]、Swin Transformer块[6]等。

在被送入M级联级之前,提取的高分辨率特征通过步幅为2的2×2卷积进行下采样。 所有阶段共享相同的结构,但可能具有不同的大小,即不同的块数。 具体来说,每个阶段都由子主干和极其轻量级的过渡块组成,用于提取和集成不同尺度的特征。 在这里,我们将每个阶段的块组定义为用于转换相同尺度特征的块的并集。 N1I、N2I和N3I分别表示第I级的三个块组中包括的块的数量。 在每个阶段的最后一个块组中,应用焦点块。 关于过渡块和焦点块的更多细节分别在3.2节和3.3节中介绍。 值得注意的是,每级输出特征P3、P4、P5,步幅为8、16、32,但只有P3被馈入后期。 最后,将最后一阶段输出的融合特征P3、P4和P5用于密集预测任务。

image-20230719162600033

图3。CFNet的体系结构。首先将空间大小为H×W的输入图像馈送到一个干和N个连续块中,以提取空间大小为H4×W4的高分辨率特征。然后,将这些特征馈送到M个级联级中以提取多尺度特征。每个阶段输出具有步幅8、16、32的融合特征P3、P4、P5,但只有P3被馈送到后面的阶段。请注意,只有主干和“下采样对流”会减小特征的空间大小。×nki(k=1,2,3)表示应用了nki个连续块。

3.2 过渡块

引入过渡块,在每个阶段整合不同尺度的特征。为了避免引入过多的额外计算成本,我们提出了三个简单的设计,如图4所示。“添加”融合首先减少了特征C4和C5的频道数,以对齐C3与1×1卷积的频道数。在执行元素加法之前,双线性插值操作用于对齐特征的空间大小。“Concat”融合直接对C4和C5特征进行采样,以对齐C3的空间大小,然后将这些特征连接起来,然后进行1×1卷积以减少通道数量。“顺序添加”融合了样本,并将不同尺度的特征顺序地组合在一起。这个设计类似于FPN中的融合模块,除了没有额外的卷积来转换求和的特征。以上三种设计在实验中均表现良好(对比见4.5节表8),其中“顺序添加”融合的效果最好。我们在CFNet变体中默认采用这种设计(见章节3.4)。

对于密集预测任务,处理各种尺度的对象一直是一大挑战。 一种广泛使用的解决方案是生成不同分辨率的特征。 例如,通常生成步幅为8、16、32、64、128的特征,以在一级检测器中检测相应比例的对象[11、12、36、37]。 用于产生步幅较大的特征的神经元通常具有较大的感受野。 在CFNET的每个阶段中,有三个块组来提取特征,步幅分别为8、16、32。 理想情况下,我们可以提取另外两个分辨率特征来集成更多的特征尺度,如FPN变体[15-17]。 但是,它会引入更多的参数,因为随着特征空间尺寸的缩小,后续组的通道数逐渐增加。 因此,我们提出局灶阻滞扩大每一阶段最后一个阻滞组神经元的感受野作为替代方式。

图5给出了焦块的两种设计。 在ConvNext模块和SWIN变压器模块中都引入了扩展的深度卷积和两个跳过连接。 因此,Focal Block可以同时包含细粒度的局部交互和粗粒度的全局交互(Focal Block的名称来自这里)。 利用全局注意力[38,39]或大卷积核[5,40]来扩大感受野是近年来研究的热点。 虽然取得了很好的效果,但由于输入图像大小较大,将这些操作应用于密集预测任务时,通常会引入大量的计算开销和内存开销。 相比之下,拟议的重点区块引入了边际额外费用(见第4.5节表9进行比较)。

image-20230719163031222

3.4 结构变体

我们构建了三种CFNet变体,即CFNet-T(Swin)、CFNet-T和CFNet-S(NeXt)。T和S分别是单词tiny和small的缩写,表示模型的大小。第一个使用Swin Transformer块和焦点Swin块。另外两个使用ConvNeXt块和焦点NeXt组块。每个CFNet变体的详细配置如表1所示。CFNet-T和CFNet-S的级数分别设置为3和4。尽管具有不同配置的不同阶段可能会获得更好的性能,但为了简单起见,我们为所有阶段设置了相同的配置。并且所有焦块中的膨胀率r默认设置为3。由于计算资源的限制,我们在本文中没有考虑更大的CFNet变体。

image-20230719163006262

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

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

相关文章

音视频H265编码; Socket通信实现N对N连接代码示例

H.265编码和Socket通信是两个不同的概念,它们分别涉及视频编码和网络通信。在实现N对N连接时,您可以将它们结合起来,但要注意每个方面的具体实现。 H.265编码(视频编码): H.265编码涉及将视频数据进行压缩…

❤️创意网页:打造简洁美观的网页轮播图(HTML简单实现轮播图)操作简单可以直接使用

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…

EMC学习笔记(十七)PCB设计中的安规考虑

PCB设计中的安规考虑 1 概述2.安全标识2.1 对安全标示通用准则2.2 电击和能量的危险2.3 PCB上的熔断器2.4 可更换电池 3.爬电距离和电气间隙4.涂覆印制板4.1 PCB板的机械强度4.2 印制电路板的阻燃等级4.3 热循环试验与热老化试验4.4 抗电强度试验4.5 耐划痕试验 5.布线和供电 1…

【智能交互】OPPO接入小布语音技能通关教程:个人开发者实现接口调用

目录 前言实际操作注册OPPO平台账号打开创建技能界面创建技能创建意图槽位解析对话管理对话测试接口代码编写接口创建新建意图对话管理测试猜想测试相关文档前言 适用人群:本教程适合大赛接入小布语音技能的同学以及初次使用小布助手的开发者 本篇文章是博主弄了多次测试才勉…

智慧数据驱动:基于smardaten构建多维数据可视化大屏

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

node基于express+mongodb项目的整体结构搭建和逻辑抽离

一、为什么需要逻辑抽离 这是我用express实现的一个缩减版的注册功能,如下: app.js const express require("express"); const app express();// 连接数据库 const mongoose require("mongoose"); // 连接数据库myTest mongoose.connect(…

关于Windows 11 docker desktop 运行doris 容器时vm.max_map_count=2000000的设置问题

需要一个简单的测试环境,于是准备用docker启动一个1fe 1be的简单玩一下 如果be容器启动后再去修改 /etc/sysctl.conf sysctl -w vm.max_map_count2000000 这个参数是没用的,be仍然会启动失败 这时可以打开cmd wsl --list C:\Users\pc>wsl --list …

ES系列--打分机制

一、文档打分机制 当你通过关键字搜索相关文档时,可能会出现多个文档,这些文档的顺序是通过一个max_score属性的大小从高到低顺序展现出来的,max_score属性就是我们所说的评分。而这个评分是通过一个文档打分机制计算出来的。 二、打分原理 …

JDK 下载 华为云镜像站 地址

通常去 Oracle 官网下载 JDK,速度很慢而且需要账号登入 Oracle 官网下载地址 https://www.oracle.com/cn/java/technologies/downloads/archive/ JDK 下载 华为云镜像站 地址 https://repo.huaweicloud.com/java/jdk/ 我们下期见,拜拜!

CentOS 8 GLIBC升级失败系统崩溃抢修实战

CentOS 8 GLIBC升级失败系统崩溃抢修实战 1. 恐怖的问题2. 参考解决方案3. 抢修实战3.1 准备工作3.2 抢修流程3.3 解决启动后Permission Denied3.3.1 参考方案3.3.2 解决 4. 总结 服务器为CentOS 8,支持glibc版本为2.28,但编译一个工具的glibc需求版本为…

MySQL-概述-数据模型SQL简介

数据库:DataBase(DB),是存储和管理数据的仓库数据库管理系统:DataBase Management System(DBMS),操作和管理数据库的大型软件。SQL:Structured Query Language&#xff0…

spring boot 多模块项目非启动模块的bean无法注入(问题记录)

之前有说我搭了一个多模块项目,往微服务升级,注入的依赖在zuodou-bean模块中,入jwt拦截, Knife4j ,分页插件等等,但是启动类在system中,看网上说在启动类上加SpringBootApplication注解默认扫描范围为自己…

物联网(IoT):连接未来的万物之网

引言: 物联网(Internet of Things,简称IoT)是指通过各种智能设备和传感器,使物体能够互联互通、收集和共享数据的网络。随着科技的不断进步和智能设备的普及,物联网的应用呈现出爆发式增长,对各…

哇~真的是你呀!今天是LINUX中的RSYNC服务

目录 前言 一、概述 二、特性 三、rsync传输模式 四、rsync应用 五、格式 六、配置文件 七、守护进程传输 八、rsyncinotfy实时同步 一、概述 rsync是linux 下一个远程数据同步工具;他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的…

微信小程序(二)

目录 1、input标签 一、表单绑定 1、数据绑定 2、输入获取 二、网络请求 1、介绍 2、注意 3、使用 4、基于Promise封装 三、自定义组件 1、创建 2、父向子组件通信 3、子向父组件通信 4、生命周期 四、vant weapp组件库 1、配置 2、使用 进入本章前的拓展&#…

Jmeter(119)-函数threadNum妙用

今天的接口场景是:有N个用户需要每隔5秒去查询一次数据,也就是说N个用户会去循环执行同一个接口。一开始的时候将用户参数化时使用了counter, 要执行2个线程3次循环,发现每次循环时,接口中用户参数的数据就会不一样&am…

【AutoGluon_01】自动机器学习框架的安装与示例

文章目录 一、安装二、示例一 AutoGluon预测目标数据1、导入数据2、训练3、预测4、评估5、小结 三、示例二 AutoGluon多模态预测(Multimodal Prediction)1、导入数据2、训练3、预测4、评估 四、示例三 AutoGluon进行时间序列预测1、导入数据2、训练3、预…

漫谈大数据时代的个人信息安全(三)——“点赞之交”

大数据时代的个人信息安全系列三:“点赞之交” 1. 点赞之交2. 点赞诈骗3. 个人信息保护小贴士 互联网就像公路,用户使用它,就会留下脚印。 每个人都在无时不刻的产生数据,在消费数据的同时,也在被数据消费。 近日&am…

AJAX异步请求JSON数据格式

目录 前言 1.AJAX的实现方式 1.1原生的js实现方式 1.2JQuery实现方式 2.1语法 3.JSON数据和Java对象的相互转换 3.1将JSON转换为Java对象 3.2将Java对象转换为JSON 前言 AJAX:ASynchronous JavaScript And XML 异步的JavaScript 和 XML。 Ajax 是一种在…

微信小程序

页面跳转&#xff1a; navigator 显示跳转 跳转普通页面跳转 tab栏页面 open-type"switchTab"回退上一个 open-type"navigateBack" <navigator url"/pages/detail/detail?usernamecc&addresschengdu">detail</navigator>js跳…