CVPR‘2023 | PIDNet: 基于注意力机制引导的实时语义分割网络架构,完美解决空间细节、上下文和边界信息

简介: CVPR‘2023 | PIDNet: 基于注意力机制引导的实时语义分割网络架构,完美解决空间细节、上下文和边界信息

640.png


Title: PIDNet: A Real-time Semantic Segmentation Network Inspired by PID Controllers

Paper: https://arxiv.org/pdf/2206.02066.pdf

Code: https://github.com/XuJiacong/PIDNet

导读

本文介绍了一种名为PIDNet实时语义分割网络架构。虽然传统的双分支网络结构例如大家最熟悉的BiSeNet,其在实时语义分割任务中已经被证明有效。但是,作者认为直接融合高分辨率的空间细节信息和低频的上下文信息的方法存在缺陷,容易使得细节特征被周围的上下文信息淹没。这种现象被称为overshoot,限制了现有两分支模型的分割准确性的提高。

给大家解释下,overshoot 即超调,是控制系统中一种普遍的现象,指的是系统在达到稳态之前或之后,输出变量会超过其最终稳态值的情况。在PID(即比例积分微分)控制器中,当反馈信号与期望值不同时,PID 控制器会根据比例、积分、微分三个部分计算出一个控制量来调整输出,从而使反馈信号逐渐接近期望值。但是在比例系数过大或系统响应过快时,控制器可能会产生超调现象,使得输出超过期望值一段时间,这可能导致系统出现震荡、不稳定等问题。【三百六十行,行行转AI!】

因此,为了解决这个问题,作者将卷积神经网络和比例积分微分即 PID 控制器之间建立联系,并揭示了这种双分支网络可以等效于比例积分控制器,本质上也会遭受类似的超调问题。基于这个认知,作者提出了一种新的三分支网络架构:PIDNet,其包含三个分支,分别用于解析:

  • 空间细节信息
  • 上下文信息
  • 边界信息

同时,采用边界注意力机制来指导空间细节信息分支和上下文信息分支的融合。

640.png

最终,PIDNet的精度超过了所有具有相似推理速度的现有模型,在CityscapesCamVid两个主流的道路场景解析数据集上实现了最佳的推理速度和准确度平衡。其中:

  • PIDNet-SCityscapes数据集上的推理速度为 93.2 FPS,mIOU 为 78.6%;
  • CamVid数据集上的推理速度为 153.7 FPS,同时 mIOU 为 80.1%。

背景

如上图上半部分所示,一个 PID 控制器包含三个组件:

  • 比例(P)控制器
  • 积分(I)控制器
  • 微分(D)控制器

其中,P 控制器关注当前信号,而I控制器则累加所有过去的信号。由于积分的惯性效应,当信号变化相反时,简单的 PI 控制器的输出会出现超调现象。因此通常会引入了 D控制器进行调节,当信号变小时,D分量将变为负数,并作为阻尼器减少超调现象。类似地,TBN,即双分支网络也是通过不同的卷积层来解析上下文和空间细节信息。

再来看看上图下半部分,相比于空间细节信息分支,上下文信息分支对局部信息的变化不太敏感。换个角度理解,便是细节信息和上下文信息分支在空间域中的行为类似于时间域中的P(当前)和I(所有先前)控制器。

如何理解这个类比呢?我们可以从这个角度想想。

由于 PI 控制器更加关注输入信号的低频部分,不能立即对信号的快速变化做出反应,因此它天然存在超调问题。而 D 控制器通过使控制输出对输入信号的变化敏感,从而减少了超调。如上图下半部分所示,即使不准确,细节信息分支仍会解析各种语义信息,而上下文信息分支则聚合低频上下文信息,类似于在语义上使用一个较大的均值滤波器。所以直接融合细节和上下文信息会导致某些细节特征丢失。因此,本文得出这么一个结论:即 TBN 在傅里叶即频域中等价于一个 PI 控制器。【不得不说,现在发个顶会真是越来越卷啊,story 越来越高大上,下次生化环材估计也可以来个类比】

方法

上面扯了很多背景知识,其实只是“包装”,对于做科研的同学可能很有帮助。但是我们还是实事求是,看下具体的框架和细节吧。其实语义分割相对来说还是很好理解的,一般看框架图就知道大概思路了。以往的工作解决的角度无非就是从空间细节、上下文关系和边界信息入手,本文倒好,一口气解决三个。下面让我们快马加鞭的过一遍吧!

Overall

正如我们前面说到的,现有的双分支结构可以类比于 PI 控制器,这类控制器容易出现 overshoot 的问题。在控制系统中,一般我们会引入微分控制器进行调节,转换个思路,换到 CNN 这边,无非就是加多个分支嘛,你说是不是?

因此,为了缓解这个问题,本文在 TBN 上增加了一个辅助的导数分支 ADB,即在空间上模拟 PID 控制器,并突出高频语义信息。其中,考虑到每个 object 内部像素的语义是一致的,只有在相邻对象的边界处才会出现语义不一致,因此语义的差异仅在对象边界处为非零,所以 ADB 的目标是边界检测。遂本文建立了一种新的三分支实时语义分割体系结构,即比例-积分-微分网络——PIDNet,如上图所示。

PIDNet 拥有三个分支,具有互补的职责:

  1. 比例分支负责解析和保留高分辨率特征图中的详细信息;
  2. 积分分支负责聚合局部和全局的上下文信息以捕获远距离依赖;
  3. 微分分支负责提取高频特征以预测边界区域。

DDRNet一样,本文也采用级联残差块作为骨干网络,以更好地移植到硬件部署。此外,为了实现更加高效,作者将 P、I 和 D 分支的深度设置为适中、较深和较浅。因此,通过加深和加宽模型可以生成一系列 PIDNet 模型,即PIDNet-SPIDNet-MPIDNet-L,也就是做对网络架构进行缩放啦~~~

上面大致介绍了主体的框架,下面我们重点讲解下损失函数和各个模块,GOGOGO!

Loss

从图中可以看出,损失函数是一个复合函数,其由四部分组成。具体地:

首先,作者在第一个 Pag 模块的输出处添加了语义头,生成额外的语义损失  以更好地优化整个网络.

其次,为了处理边界检测中的不平衡问题,本文使用加权二元交叉熵损失 ,而不是 Dice Loss,因为这可以令网络更倾向于使用粗糙的边界来突出边界区域,并增强小物体的特征。

紧接着, 和  分别代表交叉熵损失,这里使用的是输出的边界头来协调语义分割和边界检测任务,并增强 Bag 模块的功能,因此在 $l_{3$ 中采用了具有边界感知性的 CE 损失。

因此,PIDNet 的整体损失可以定义为:

文中将这四个超参数分别设置为 0.4、20、1 和 1。

Pag: Learning High-level Semantics Selectively

Pixel-attention-guided fusion, Pag, 即像素注意力引导模块,很好理解,就是将比例和微分分支的特征利用一个注意力机制进行交互增强。

首先,作者提到了在其他语义分割网络中常用的横向连接lateral connection技术,该技术可以加强不同尺度的特征图之间的信息传递,提高模型的表达能力。而在 PIDNet 中,I 分支提供了丰富准确的语义信息,对于 P 和 D 分支的细节解析和边界检测至关重要。因此,作者将 I 分支视为其他两个分支的备用支持,并使其能够为它们提供所需的信息。此外,与 D 分支直接添加提供的特征图不同,作者为 P 分支引入了Pag 来选择性地学习 I 分支中有用的语义特征。

PAPPM: Fast Aggregation of Contexts

(⊙o⊙)…,这图怎么这么眼熟,喔,一看就是 PPM 模块,的改进版啦!PPM 是啥,不会还有人不知道吧?

众所周知,Pyramid Pooling Module, PPM,主要用于构建全局场景的先验信息。实现上,PPM 就是对不同尺度的特征图进行池化操作,然后将不同尺度的池化特征图进行拼接,形成本地和全局上下文的表示。说白了就是个多尺度融合。

作者认为 PPM 虽然能够很好地嵌入上下文信息,但它的计算过程无法并行化,非常耗时,而且对于轻量级模型来说,PPM 包含的每个尺度的通道数太多,可能会超过这些模型的表示能力。因此,作者对 PPM 进行了修改,提出了一种可并行化的新的 PPM,叫做 Parallel Aggregation PPM, PAPPM,并将其应用于PIDNet-M 和 PIDNet-S 以保证它们的速度。对于深度模型 PIDNet-L,作者仍然选择 PPM,但减少了每个尺度的通道数,以减少计算量并提高速度。

Bag: Balancing the Details and Context

最后,边界注意力引导 Bag 模块的作用是利用边界特征来指导细节(P)和上下文(I)表示的融合,以实现更好的语义分割效果。作者指出,尽管上下文分支具有语义精度,但它在边界区域和小物体上丢失了太多的空间和几何细节,因此,PIDNet 利用细节分支来提供更好的空间细节,并强制模型在边界区域更加信任细节分支,同时利用上下文特征来填充其他区域。

效果

总结

本文提出了一种新颖的用于实时语义分割的三分支网络架构PIDNet。该模型的目标是实现对图像的语义分割和边界检测。其中,语义分割需要解析图像中的细节信息,而边界检测需要高频语义信息。为了解决这个问题,模型使用了比例分支(P)、积分分支(I)和微分分支(D)。

其中,P 分支解析高分辨率特征图中的细节信息,I 分支聚合局部和全局的上下文信息以捕获远距离依赖,而 D 分支提取高频特征以预测边界区域。整个模型使用级联残差块作为主干网络,并使用不同深度和宽度的网络来生成 PIDNet 系列模型。

此外,所提方法还使用了一种复合的损失函数进行优化,包括边界感知交叉熵损失等。同时,引入了像素注意力引导模块(Pag)和边界注意力引导模块(Bag)来协调不同分支的特征融合。最后,为了更好地捕捉上下文信息,模型还基于 PPM 模块提出了一个并行的高效 PPM 模块来增强上下文嵌入能力。

总的来说,PIDNet 实现了推理时间和准确性之间的最佳折衷。然而,由于 PIDNet 利用边界预测来平衡细节信息和上下文信息,因此通常需要花费较多的时间来处理边界周围的精确注释以获得更好的性能。

写在最后

如果您也对网络架构设计、目标检测、语义分割等技术感兴趣,欢迎扫描屏幕下方二维码,备注“技术”,加入 CVHub 官方的技术交流群进行更深入的细节探讨,期待您的加入!

目录
相关文章
|
5天前
|
缓存 监控 数据格式
信息系统架构模型(2) SOA
信息系统架构模型(2) SOA
16 0
|
18天前
|
安全 Linux 虚拟化
网络名称空间在Linux虚拟化技术中的位置
网络名称空间(Network Namespaces)是Linux内核特性之一,提供了隔离网络环境的能力,使得每个网络名称空间都拥有独立的网络设备、IP地址、路由表、端口号范围以及iptables规则等。这一特性在Linux虚拟化技术中占据了核心位置🌟,它不仅为构建轻量级虚拟化解决方案(如容器📦)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。
网络名称空间在Linux虚拟化技术中的位置
|
18天前
|
网络协议 安全 Linux
Linux网络名称空间之独立网络资源管理
Linux网络名称空间是一种强大的虚拟化技术🛠️,它允许用户创建隔离的网络环境🌐,每个环境拥有独立的网络资源和配置。这项技术对于云计算☁️、容器化应用📦和网络安全🔒等领域至关重要。本文将详细介绍在Linux网络名称空间中可以拥有的独立网络资源,并指出应用开发人员在使用时应注意的重点。
|
18天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
18天前
|
SQL 监控 安全
构筑数字堡垒:网络安全与信息保护的深层剖析
【4月更文挑战第9天】在数字化时代,网络安全和信息安全已成为维护个人隐私、企业数据和国家安全不可或缺的一环。本文深入探讨了网络安全漏洞的形成机理、加密技术的进展,以及提升安全意识的重要性。通过对现有安全挑战的分析,提出了一系列创新的防御策略,并强调了构建一个全面的信息保护体系的必要性。
|
1天前
|
存储 SQL 安全
网络防御先锋:洞悉网络安全漏洞与加固信息防线
【4月更文挑战第26天】 在数字化的浪潮中,网络安全和信息安全已成为守护每个组织和个人数据资产的堡垒。本文将深入探讨网络安全领域内常见的安全漏洞类型、加密技术的最新进展以及提升安全意识的重要性。通过对这些关键领域的剖析,读者将获得构建坚固信息防线的知识武装,以应对日益复杂的网络威胁。
12 5
|
3天前
|
监控 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息保护策略
【4月更文挑战第24天】 随着企业数字化转型的加速,云计算作为提供灵活、可扩展资源的关键平台,其安全性已成为企业关注的焦点。然而,云服务的共享性和开放性给传统的网络安全防护带来了新的挑战。本文将探讨云计算环境中面临的安全威胁,并针对这些威胁提出相应的防护措施和最佳实践,以期为信息安全管理者提供参考和指导。
6 0
|
4天前
|
安全 网络安全 区块链
网络防线的构筑者:深入网络安全与信息保护
【4月更文挑战第23天】在数字化时代,数据成为新石油,而网络安全则是油井防护的铁栅栏。本文将探讨网络安全漏洞的潜在风险、加密技术的防御策略以及提升安全意识的重要性。我们将剖析常见网络威胁,揭示加密技术如何为数据传输披上隐形斗篷,同时强调培养全民网络安全意识的必要性。通过实例分析和教育建议,旨在为读者打造一道坚不可摧的网络安全防线。
|
5天前
|
前端开发 Java PHP
信息系统架构模型(1) MVC
信息系统架构模型(1) MVC
13 0
|
5天前
|
SQL 安全 算法
网络防线的构筑者:洞悉网络安全漏洞与加固信息防护
【4月更文挑战第22天】在数字化浪潮下,网络安全和信息安全成为维护社会稳定、保障个人隐私的重要基石。本文将深入探讨网络安全中存在的漏洞问题,介绍现代加密技术,并强调提升全民安全意识的必要性。通过对这些关键知识点的分享,旨在为读者提供一个关于如何构建和维护一个安全网络环境的全面视角。