2024AAAI SCTNet论文阅读笔记

文章目录

  • SCTNet: Single-Branch CNN with Transformer Semantic Information for Real-Time Segmentation
    • 摘要
    • 背景
    • 创新点
    • 方法
      • Conv-Former Block
        • 卷积注意力机制
        • 前馈网络FFN
      • 语义信息对齐模块
        • 主干特征对齐
        • 共享解码头对齐
      • 总体架构
        • backbone
        • 解码器头
      • 对齐损失
    • 实验
      • SOTA效果对比
      • Cityscapes可视化对比
    • 结论
    • 补充

SCTNet: Single-Branch CNN with Transformer Semantic Information for Real-Time Segmentation

论文地址: https://ojs.aaai.org/index.php/AAAI/article/view/28457
代码地址: https://github.com/xzz777/SCTNet

摘要

  • 最近的实时语义分割方法通常采用一个额外的语义分支来追求丰富的远程上下文。
  • 然而,额外的分支会带来额外的计算开销,并减慢推理速度
  • 为了解决这种困境,我们提出了SCTNet——一个用于实时语义分割的具有Transformer语义信息的单分支CNN
  • SCTNet具有推理解放语义分支的丰富语义表示,同时保持轻量级单分支CNN的高效率
  • 考虑到它的强大的语义能力,SCTNet利用一个transformer作为只用来训练的语义分支
  • 借助所提出的transformer类CNN模块CFBlock和语义信息对齐模块,SCTNet可以在训练中从transformer分支中捕获丰富的语义信息。
  • 推理阶段,只有单个CNN分支需要部署。
  • 对Cityscapes、ADE20K和COCO-Stuff-10K上进行实验,结果表示我们的方法达到了新的SOTA性能。

背景

  • 最近的语义分割方法追求丰富的长程上下文信息。Transformer的自注意力机制被证明具有对长程上下文建模的显著能力。尽管这些工作得到了显著改进,但也会导致高昂的计算成本。基于自注意力的工作在图像分辨率方面甚至具有平方计算复杂度,这会显著增加处理高分辨率图像的延迟。
  • 最近许多实时工作采用双边架构来快速提取高质量的语义信息。BiSeNet提出了一种双边网络,用于在早期阶段分离详细的空间特征和丰富的上下文信息,并并行处理它们,如下图a所示。BiSeNetV2和STDC做了进一步努力,以增强提取丰富的长程上下文的能力或降低空间分支的计算成本。为了平衡推理速度和精度,DDRNet、RTFormer和SeaFormer采用一种特征共享架构,该架构在深层阶段划分空间和上下文特征,如下图b所示。但是这些方法在两个分支之间引入了密集融合模块,以增强提取特征的语义信息。总之,所以的双边方法都由于额外的分支和多个融合模块而导致推理速度有限和计算成本高。
    在这里插入图片描述

创新点

  • 为了解决上述困境,提出了一个用于实时分割的单分支CNN,其中包含Transformer语义信息。它可以有效地提取语义信息,而不会因为双边网络而繁重的计算。
  • SCTNet从仅用于训练的Transformer语义分支学习长程上下文信息到CNN分支。
  • 为了减轻Transformer和CNN之间的语义差距,设计了一个类似Transformer的CNN模块,称为CFBklock。在对齐之前使用共享解码头。
  • 通过在训练中对齐的语义信息,单分支CNN可以联合编码语义信息和空间细节。
  • SCTNet可以保持轻量级单分支CNN架构在推理中的高效的同时,对齐来自Transformer架构的大感受野的语义表示。整体架构如上图c表示。主图如下图所示
    在这里插入图片描述

方法

Conv-Former Block

CNN和Transformer提取的特征表示存在显著差异。直接对齐CNN和Transformer之间的特征会使学习过程变得困难,导致性能提升有限。为了让CNN分支能够轻松学习到从Transformer分支中提取到的 高质量的语义信息,设计了Conv-Former模块。

Cov-Former模块尽可能的模拟Transformer模块的结构,以便更好地学习Transformer分支的语义信息。同时,Conv-Former仅使用高效地卷积运算来实现注意力函数。

Conv-Former模块的结构类似于典型的Transformer编码器结构,如下图左侧所示。其过程为:
f = N o r m ( x + C o n v A t t e n t i o n ( x ) ) y = N o r m ( f + F F N ( f ) ) \begin{aligned} f&=Norm(x+ConvAttention(x))\\ y&=Norm(f+FFN(f)) \end{aligned} fy=Norm(x+ConvAttention(x))=Norm(f+FFN(f))
其中 N o r m Norm Norm表示batch Normalization。
在这里插入图片描述

卷积注意力机制

用于实时分割的注意力机制应具有低延迟和强大的语义提取能力。GFA是一个潜在的候选方案,提出的卷积注意力机制源于GFA。

GFA和提出的卷积注意力机制主要有两个区别:

  1. 将GFA的矩阵乘法替换为像素级卷积运算。点卷积等于像素到像素的乘法,但不涉及特征扁平化和重塑操作。这些操作不利于保持固有的空间结构,并会增加额外的推理延迟。此外,卷积提高了一种更灵活的方式来扩展外部参数。
  2. 由于Transformer和CNN之间的语义差距,仅仅计算几个可学习向量与每个像素之间的相似性,然后根据相似图和可学习向量增强像素,不足以捕捉丰富的上下文信息。为了更好地对齐Transformer的语义信息,将可学习向量扩展为可学习核。一方面,这将像素与可学习向量之间的相似度计算转换为像素块与可学习核之间的相似性计算;另一方面,使用可学习核的卷积操作在某种程度上保留了更多局部空间信息。

卷积注意力的操作可以总结如下:
X = θ ( X ⊗ K ) ⊗ K T , X=\theta(X\otimes K)\otimes K^T, X=θ(XK)KT,
其中 X ∈ R C × H × W X\in\mathbb{R}^{C\times H\times W} XRC×H×W, K ∈ R C × N × k × k K\in\mathbb{R}^{C\times N\times k\times k} KRC×N×k×k, K T ∈ R N × C × k × k K^T\in\mathbb{R}^{N\times C\times k\times k} KTRN×C×k×k分别表示输入图像和可学习的query和key。 N N N表示可学习参数的数量, k k k表示可学习参数的核大小。 θ \theta θ表示分组双重归一化,它在 H × W H\times W H×W维度上应用softmax, 并在 N N N维度上应用分组 L 2 L_2 L2归一化, ⊗ \otimes 表示卷积操作。

考虑到效率, 使用条带卷积而不是标准卷积来实现卷积注意力。具体来说,利用一个 1 × k 1\times k 1×k卷积核一个 k × 1 k\times1 k×1卷积来近似一个 k × k k\times k k×k卷积层。上图右侧为卷积注意力的实现细节。

前馈网络FFN

经典的FFN在提供位置编码和嵌入通道方面起着至关重要的作用。最近的Transformer模型中的FFN由扩展点卷积、深度方向 3 × 3 3\times 3 3×3卷积核压缩点卷积组成。与经典的FFN不同,本文的FFN由两个标准 3 × 3 3\times 3 3×3卷积层组成。这样可以更高效,并提供更大的感受野。

语义信息对齐模块

提出了一个简单而有效地对齐模块来进行训练过程中的特征学习。它可以分为主干特征对齐和共享解码器头对齐。

主干特征对齐

由于Conv-Former模块类似Transformer的架构,对齐损失可以轻松地将Conv-Former模块的特征与Transformer的特征对齐。简而言之,主干特征对齐首先对来自Transformer和CNN分支的特征进行下采样或上采样以进行对齐。然后将CNN的特征投影到Transformer的维度。需要统一通道数量以及避免直接对齐。直接对齐会在训练过程中破坏CNN的真实标签监督。最后,将语义对齐损失应用于投影后的特征以对齐语义表示。

共享解码头对齐

Transformer解码器通常使用多个阶段的特征进行复杂解码,而SCTNet解码器仅选择stage2和stage4的特征。考虑到两者之间解码空间的显著差异,直接对齐解码头特征和输出logits只能获得有限的改进。因此,提出共享解码头对齐。具体来说,将单分支CNN的concatenation stage2和stage4特征输入到点卷积中以扩展维度。然后将高维特征通过Transformer解码器。Transformer解码器的新输出特征和logits用于计算与Transformer解码器原始输出的对齐损失。

总体架构

为了获得丰富的语义信息的同时降低计算成本,将流行的两分支架构简化为一个用于推理的快速CNN分支和一个只用于训练的语义对齐的Transformer分支。

backbone

为了提高推理速度,SCTNet采用典型的CNN主干网络。SCTNet起始于一个由两个连续的 3 × 3 3\times3 3×3卷积层组成的stem块。前两个阶段由堆叠的残差块组成,后两个阶段包含提出的类似Transformer的块,称为Conv-Former块(CFBlock)。CFBlock采用多个精心设计的卷积操作来执行与Transformer块类似的远程上下文捕获功能。在2-4阶段的开始应用一个由bacth normal和ReLU激活的步幅卷积组成的convdown层进行下采样。

解码器头

解码头由一个DAPPM和一个分割头组成。为了进一步丰富上下文信息,在第4阶段的输出之后添加了一个DAPPM。然后将输出与阶段2的特征图连接起来。最后,这个输出特征被传递到一个分割头。精确地说,分割头由一个 3 × 3 3\times3 3×3的Conv-BN-ReLU算子后跟一个 1 × 1 1\times1 1×1卷积分类器组成。

对齐损失

为了更好地对齐语义信息, 需要一种关注语义而不是空间信息的对齐损失。在实现中,使用CWD损失作为对齐损失, 它显示出比其他损失函数更好地结果。CWD损失如下:
ϕ ( x c ) = e x p ( x c , i τ ) ∑ i = 1 W ⋅ H e x p ( x c , i τ ) , L c w d = τ 2 C ∑ c = 1 C ∑ i = 1 H ⋅ W ϕ ( x T c , i ) ⋅ log ⁡ [ ϕ ( x T c , i ) ϕ ( x T c , i ) ] , \begin{aligned} \phi(x_c)&=\frac{exp(\frac{x_{c,i}}{\tau})}{\sum^{W\cdot H}_{i=1}exp(\frac{x_{c,i}}{\tau})},\\ L_{cwd}&=\frac{\tau^2}{C}\sum^C_{c=1}\sum^{H\cdot W}_{i=1}\phi(x^{c,i}_T)\cdot \log\left [\frac{\phi(x^{c,i}_T)}{\phi(x^{c,i}_T)}\right ], \end{aligned} ϕ(xc)Lcwd=i=1WHexp(τxc,i)exp(τxc,i),=Cτ2c=1Ci=1HWϕ(xTc,i)log[ϕ(xTc,i)ϕ(xTc,i)],

其中 c = 1 , 2 , … , C c=1,2,\dots,C c=1,2,,C表示通道索引, i = 1 , 2 , … , H ⋅ W i=1,2,\dots,H\cdot W i=1,2,,HW表示空间位置, x T x^T xT x S x^S xS分别表示Transformer分支和CNN分支的特征图。 ϕ \phi ϕ将特征激活转换为逐通道概率分布,消除了Transformer和CNN紧凑CNN之间的尺度影响。为了最小化 L c w d L_{cwd} Lcwd, 当 ϕ ( x T c , i ) \phi(x^{c,i}_T) ϕ(xTc,i)很大时, ϕ ( x S c , i ) \phi(x^{c,i}_S) ϕ(xSc,i)应该很大。但当 ϕ ( x T c , i ) \phi(x^{c,i}_T) ϕ(xTc,i)很小时, ϕ ( x S c , i ) \phi(x^{c,i}_S) ϕ(xSc,i)的值无关紧要。这迫使CNN学习前景显著性的分布,其中包含语义信息。 τ \tau τ是一个超参数,值越大,概率分布就越平滑。

实验

SOTA效果对比

Cityscapes:
在这里插入图片描述

ADE20K:
在这里插入图片描述

COCO-Stuff-10k:
在这里插入图片描述

Cityscapes可视化对比

在这里插入图片描述

结论

在本文中,我们提出了SCTNet,这是一种新颖的单分支架构,它可以在不增加额外推理计算成本的情况下提取高质量的远程上下文。 广泛的实验表明,SCTNet取得了新的最先进的结果。 此外,通过证明SCTNet的效率,我们为双边分支网络中的语义分支提供了一种新的见解,并提供了一种新的方法来提升实时分割社区,这不仅采用了Transformer的结构,而且还利用了它的知识。

补充

  • 在ImageNet-1K上进行预训练。遵循swin-transformer在ImageNet-1K上的预训练设置。
    在这里插入图片描述

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

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

相关文章

数字IC设计高频面试题

在数字IC设计领域,面试是评估候选人技术能力和问题解决能力的重要环节。数字IC设计的复杂性和要求在不断提高。面试官通常会提出一系列面试题,以考察应聘者在数字设计、验证、时钟管理、功耗优化等方面的专业知识和实践经验。 这些题目不仅涉及理论知识…

Functions

1.trigonometric function 定义和图像 反三角函数是三角函数的反函数 versin(verse -sin):1/sinx 性质 三角函数的公式 三角恒等式 周期性公式:直接画图记 公式记忆:先想象一个在第一象限的锐角 1:在坐标轴中旋转360 2.sin&am…

1/7 C++

练习&#xff1a;要求在堆区连续申请5个int的大小空间用于存储5名学生的成绩&#xff0c;分别完成空间的申请、成绩的录入、升序排序、成绩输出函数&#xff0c;并在主程序中完成测试 要求使用new #include <iostream>using namespace std; double *addr_new() {double …

[文献精汇]使用PyCaret预测 Apple 股价

介绍 开发一个机器学习模型来尝试通过线性回归分析来预测 Apple 股票的价格会很有趣。PyCaret 的库&#xff0c;这是一个开源的 Python 低代码机器学习库&#xff0c;可以自动化机器学习工作流程&#xff0c;非常适合像我这样的机器学习初学者。 线性回归分析 线性回归分析用…

【51单片机】02LED流水灯实验

点亮你的LED 一、点亮第一个LED1.GPIO介绍2.P1、P2、P3端口 二、LED实验2.尝试点亮LED3.LED流水灯 一、点亮第一个LED 1.GPIO介绍 这块内容这里可以做简单的了解&#xff0c;与数电知识强相关。后续可以再回过头来学习 GPIO (general purpose input output) 通用输入输出端口…

「Mac畅玩鸿蒙与硬件53」UI互动应用篇30 - 打卡提醒小应用

本篇教程将实现一个打卡提醒小应用&#xff0c;通过用户输入时间进行提醒设置&#xff0c;并展示实时提醒状态&#xff0c;实现提醒设置和取消等功能。 关键词 打卡提醒状态管理定时任务输入校验UI交互 一、功能说明 打卡提醒小应用包含以下功能&#xff1a; 提醒时间输入与…

Python递归(汉诺塔问题)

递归分析 递归&#xff1a;通过自我调用来解决问题的函数 递归通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 递归要注意&#xff1a; 1.递归出口 2.当前问题如何变成子问题 利用递归写一个阶乘函数&#xff0c;F(n)&#xff0c;求n的阶乘…

VS2022 C#创建Com组件和调用

生成一个类库项目 这里创建了一个.net 4.8的项目&#xff0c;添加了一个ComAIFaceTest类 如下图&#xff1a; ComAIFaceTest代码如下&#xff1a; [ComVisible(true)][Guid("12345678-ABCD-1234-EF00-0123456789AB")][ClassInterface(ClassInterfaceType.AutoDual)…

【GOOD】A Survey of Deep Graph Learning under Distribution Shifts

深度图学习在分布偏移下的综述&#xff1a;从图的分布外泛化到自适应 Northwestern University, USA Repository Abstract 图上的分布变化——训练和使用图机器学习模型之间的数据分布差异——在现实世界中普遍存在&#xff0c;并且通常不可避免。这些变化可能会严重恶化模…

ARM发布Armv9.5架构:迈向更强性能与灵活性的新时代

2024年11月30日&#xff0c;ARM正式发布了其最新的Armv9.5架构&#xff0c;这是Arm技术发展的又一重要里程碑。从表中信息来看&#xff0c;Armv9.5架构的发布标志着该公司的架构系列在性能、灵活性和可扩展性方面取得了进一步突破。本次发布不仅是技术上的提升&#xff0c;更是…

RAFT:随机退火森林

RAFT:随机退火森林 RAFT(Randomized Annealed Forests)是一种机器学习算法,主要用于分类和回归任务。以下是对它的介绍及原理举例说明: 一、RAFT简介 RAFT是一种基于随机森林的集成学习方法,它结合了随机森林的优点和退火算法的思想。随机森林通过构建多个决策树并综…

“AI智慧语言训练系统:让语言学习变得更简单有趣

大家好&#xff0c;我是你们的老朋友&#xff0c;一个热衷于探讨科技与教育结合的产品经理。今天&#xff0c;我想和大家聊聊一个让语言学习变得不再头疼的话题——AI智慧语言训练系统。这个系统可是我们语言学习者的福音&#xff0c;让我们一起来揭开它的神秘面纱吧&#xff0…

自动驾驶相关知识学习笔记

一、概要 因为想知道SIL、HIL是什么仿真工具&#xff0c;故而浏览了自动驾驶相关的知识。 资料来源《自动驾驶——人工智能理论与实践》胡波 林青 陈强 著&#xff1b;出版时间&#xff1a;2023年3月 二、图像的分类、分割与检测任务区别 如图所示&#xff0c;这些更高阶的…

1/7距离放假一周加1

要求在堆区连续申请5个int的大小空间用于存储5名学生的成绩&#xff0c;分别完成空间的申请、成绩的录入、升序排序、成绩输出函数以及空间释放函数&#xff0c;并在主程序中完成测试 要求使用new和delete完成 #include <iostream> #include<algorithm> using nam…

解锁编程智慧:23种设计模式案例分享

为什么要学习设计模式&#xff1f;你可以把设计模式想象成一些做饭的菜谱。当我们需要做一道菜&#xff08;开发一个功能&#xff09;时&#xff0c;如果按照自己的想法随意添加调料&#xff08;编写代码&#xff09;&#xff0c;很可能做出的菜味道不好&#xff08;功能不稳定…

UWB实操:用信号分析仪(频谱分析仪)抓取UWB频域的图像

连接好UWB设备和信号分析仪&#xff08;频谱分析仪&#xff09;&#xff0c;让UWB设备持续发送信号。我来演示如何一步一步获得下面的图像&#xff1a; 设置频率&#xff0c;FREQ&#xff0c;Center Freq 7987.2MHz 设置X轴&#xff0c;宽度&#xff0c;SPAN 2GHz设置Y轴&…

Kali系统(Debian 10.3) 遇到的问题

目录 问题一&#xff1a;非问题 kali 基础官网与安装 问题二&#xff1a; 问题三&#xff1a; Kali系统 MySQL问题Cant connect to local MySQL server through socket /run/mysqld/mysqld.sock (2) 问题四&#xff1a;重新安装MySQL 也就是MariaDB(MariaDB 含 MySQL相关…

2025最新版Visual Studio Code安装使用指南

2025最新版Visual Studio Code安装使用指南 Installation and Usage Guide for the Latest Visual Studio Code in 2024 By JacksonML 2025-1-7 1. Visual Studio Code背景 早在二十年前&#xff0c;通用的集成开发环境&#xff08;Integrated Deveopment Environment, 简称…

opencv 学习(1)

文章目录 opencv导学部分opencv的作用ffmpeg和 opencv的关系opencv的未来 计算机视觉是什么&#xff1f; opencv导学部分 opencv的作用 1 : 目标识别 人脸识别 车辆识别 2 : 自动驾驶技术 – 计算机视觉 进行车道的检测 3 : 医学图像分析 通过分析光片 来分析人到底得了什么病…

C/C++编程安全标准GJB-8114解读——初始化类

软件测试实验室在申请CMA测试认证时&#xff0c;需要根据相应的标准确定检测方法。GJB-8114是一部嵌入式软件安全测试相关的国家标准&#xff0c;本系列文章我们针对GJB-8114《C/C语言编程安全子集》的具体内容进行解读。GJB-8114标准规则中一共有124条强制性规则&#xff0c; …