CVPR‘2023

2023-11-10

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

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

导读

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

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

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

  • 空间细节信息

  • 上下文信息

  • 边界信息

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

最终,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 Lo ss, 因为这可以令网络更倾向于使用粗糙的边界来突出边界区域, 并增强小物体的特征。

紧接着,  和  分别代表交叉熵损失, 这里使用的是输出的边界头来协调语义分割和边界检测任务, 并增强 Bag 模块的功能, 因此在  中采用了具有边界感知性的 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 利用边界预测来平衡细节信息和上下文信息,因此通常需要花费较多的时间来处理边界周围的精确注释以获得更好的性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CVPR‘2023 的相关文章

  • 问CHAT很繁琐的问题会不会有答案呢?

    问CHAT 什么已有的基于极值理论的极端温度重现期主要针对极端高温事件 对极端低温事件研究较少 CHAT 回复 为这主要可能是由于以下几个原因 1 气候变化与全球变暖 当前 全球变暖和气候变化的问题备受关注 这导致科研者更加关注极端高温事件
  • Soul App:年轻人的社交状态,还有多少种可能?

    查尔斯 狄更斯在 双城记 的开篇写下 这是最好的时代 这是最坏的时代 这是智慧的时代 这是愚蠢的时代 这是信仰的时期 这是怀疑的时期 人们面前有着各样事物 人们面前一无所有 既然万事万物都和狄更斯所说般 好坏参半 那又何必执着于过去 苦恼于
  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • 活动日程&直播预约|智谱AI技术开放日 Zhipu DevDay

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 直播预约通道 关于AI TIME AI TIME源起于2019年 旨在发扬科学思辨精神 邀请各界人士对人工智能理论 算法和场景应用的本质问题进行探索 加强思想碰撞 链接全球AI学
  • 毕业设计:基于卷积神经网络的验证码识别系统 机器视觉 人工智能

    目录 前言 设计思路 一 课题背景与意义 二 算法理论原理 2 1 字符分割算法 2 2 深度学习 三 检测的实现 3 1 数据集 3 2 实验环境搭建 3 3 实验及结果分析 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实
  • 毕业设计:基于卷积神经网络的图像分类系统 python人工智能

    目录 前言 设计思路 一 课题背景与意义 二 算法理论原理 2 1 卷积神经网络 2 2 SVM算法 三 检测的实现 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • 台积电再被坑,2纳米光刻机优先给Intel和三星,美国太霸道了

    外媒指出今年ASML的10台2纳米光刻机分配已经基本确定了 Intel拿到6台 三星获得3台 台积电只能得到一台 考虑到美国对ASML的强大影响力 外媒的这些消息应该有较高的可信性 Intel在先进工艺制程方面 自从2014年量产14纳米之
  • 如何快速申请GPT账号?

    详情点击链接 如何快速申请GPT账号 一OpenAI 1 最新大模型GPT 4 Turbo 2 最新发布的高级数据分析 AI画图 图像识别 文档API 3 GPT Store 4 从0到1创建自己的GPT应用 5 模型Gemini以及大模型
  • 手把手教你用 Stable Diffusion 写好提示词

    Stable Diffusion 技术把 AI 图像生成提高到了一个全新高度 文生图 Text to image 生成质量很大程度上取决于你的提示词 Prompt 好不好 前面文章写了一篇文章 一份保姆级的 Stable Diffusion
  • 2023最新pytorch安装(超详细版)

    前言 一 判断是否有Nvidia 英伟达显卡 二 CPU版 2 1 安装Anaconda 2 2 创建虚拟环境 2 3安装pytorch 2 4 验证pytorch是否安装成功 三 GPU版 3 1 安装Anaconda 3 2 创建虚拟环
  • CorelDRAW2024官方中文版重磅发布更新

    35年专注于矢量设计始于1988年并不断推陈出新 致力为全球设计工作者提供更高效的设计工具 CorelDRAW 滋养并见证了一代设计师的成长 在最短的时间内交付作品 CorelDRAW的智能高效会让你一见钟情 CorelDRAW 全称 Co
  • 15天学会Python深度学习,我是如何办到的?

    陆陆续续有同学向我们咨询 Python编程如何上手 深度学习怎么学习 如果有人能手把手 一对一帮帮我就好了 我们非常理解初学者的茫然和困惑 大量视频 书籍 广告干扰了大家的判断 学习Python和人工智能 成为内行人不难 为此 我们推出了
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 基于节点电价的电网对电动汽车接纳能力评估模型研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

    详情点击链接 GPT4 Python近红外光谱数据分析及机器学习与深度学习建模 第一 GPT4 入门基础 1 ChatGPT概述 GPT 1 GPT 2 GPT 3 GPT 3 5 GPT 4模型的演变 2 ChatGPT对话初体验 注册与
  • 5_机械臂运动学基础_矩阵

    上次说的向量空间是为矩阵服务的 1 学科回顾 从科技实践中来的数学问题无非分为两类 一类是线性问题 一类是非线性问题 线性问题是研究最久 理论最完善的 而非线性问题则可以在一定基础上转化为线性问题求解 线性变换 数域 F 上线性空间V中的变
  • 深度学习(5)--Keras实战

    一 Keras基础概念 Keras是深度学习中的一个神经网络框架 是一个高级神经网络API 用Python编写 可以在TensorFlow CNTK或Theano之上运行 Keras优点 1 允许简单快速的原型设计 用户友好性 模块化和可扩
  • 两个月进口猛增10倍,买近百台光刻机,难怪ASML不舍中国市场

    据统计数据显示 2023年11月和12月 中国从荷兰进口的光刻机设备同比猛增10倍 进口金额超过19亿美元 让ASML赚得盆满钵满 ASML早前表示中国客户在2023年订购的光刻机全数交付 2023年11月中国进口的光刻机达到42台 进口金

随机推荐

  • RuoYi项目中VUE表单修改表单中数据回显下拉选项或者单选出现异常

    若依项目中有一个功能就是字典 字典可以让我们不需要修改前端代码的情况下实现表单中下拉选项文字 单选 多选按钮的文字变更 但也会遇到各种各样的问题 后端传递的某个字段的值是数字类型的值 但是字典里面的确实字符串的值 不可能让后端传递字符串的值
  • OpenCV实现SfM(一):双目三维重建(包含SIFT特征点提取)

    三维重建介绍 三维重建是指根据基于一个视图或者多个视图所获得的物体或者场景的图像重建三维模型的过程 由于单视图的信息很单一 因此三维重建需要更复杂的算法和过程 相比之下 多视图的三维重建 模仿人类观察世界的方式 就比较容易实现 其方法是先对
  • Uni-App开发框架介绍

    Uni App开发框架介绍 1 Uni App简介 Uni App是一家公司 DCloud 产品 公司承诺将一直开源且免费 公司旗下有4个产品 HBuilder X 开发工具 uni app 跨平台统一框架 uniCloud 云服务提供商
  • 浏览器的事件轮询(消息轮询)

    目录 浏览器的进程模型 何为进程 何为线程 浏览器有哪些进程和线程 渲染主线程是如何 作的 相关问题 何谓异步 JS为什么会阻塞渲染 JS 中的计时器为什么无法精确计时 任务队列与优先级 浏览器的进程模型 何为进程 程序运 需要有它 专属的
  • 【AI with ML】第 11 章 :对序列模型使用卷积和递归方法

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 操作系统复习【南邮】

    声明 操作系统系列只针对南邮操作系统课程重点进行梳理 尽量不要作为考研复习资料 可能会有缺失之类 也恳请读者进行批评指正 共同进步 参考教材 操作系统教程 人民邮电出版社 黄刚 徐小龙 段卫华编著 2009 9
  • ChatGPT开源系列

    目录 进化树 从GPT 4 可以看出未来 LLM 的哪些趋势 未来的研发方向和优化策略是什么 模型 Stanford Alpaca 可以借鉴的点 llama cpp 验证阶段已完成 nebullvm chatllama 待定 可以借鉴的点
  • sql注入的分类总结

    前言 之前对联合查询 报错注入 布尔盲注 延迟注入 对这几种类型模糊不定 我也查阅了一些资料 做了一点总结 希望对大家有帮助 对于SELECT语句 我们通常分其为两种情况 有回显和无回显 有回显 什么是有回显 我们举个例子当我们看到一个ur
  • typedef struct语法解释

    C语言源代码 typedef char datatype typedef struct node datatype data struct node lchild rchild bintnode typedef bintnode bintr
  • Pytest系列-快速入门和基础讲解(1)

    前言 目前有两种纯测试的测试框架 pytest和unittest unittest应该是广为人知 而且也是老框架了 很多人都用来做自动化 无论是UI还是接口 pytest是基于unittest开发的另一款更高级更好用的单元测试框架 单元测试
  • 上最简单的SpringCloud教程

    上一篇文章 讲述了如何通过RestTemplate Ribbon去消费服务 这篇文章主要讲述如何通过Feign去消费服务 一 Feign简介 Feign是一个声明式的伪Http客户端 它使得写Http客户端变得更简单 使用Feign 只需要
  • elementui中的表格实现无限滚动

    背景 找了很多资料 发现elementui中的表格需要实现无限滚动 需要下载一个插件 然后再结合elementui中的无限滚动的属性一起搭配使用 才能有实现完整的功能 在目前网上 我没有看到实现完整功能的博客文章 于是 我在结合他们的方法
  • 宏观经济学笔记

    最近在网上买了一套关于宏观经济学的简短课程 后面将课程笔记会一起放在这儿上面 今天暂时占坑
  • 射频与微波测量之S参数

    S参数 S散射也叫散射参数 是微波传输中的一组重要参数 由于我们很难在高频率时测量电流或电压 因此我们要测量散射参数或 S 参数 这些参数用来表征RF 元件或网络的电气属性或性能 与我们熟悉的测量 如增益 损耗和反射系数 有关 如上图为二端
  • [OpenAirInterface实战-10] :OAI nFAPI的软件组织结构和软件协议栈架构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 OpenAirInterface实战 10 nFAPI的软件组织结构和软件协议栈架构 文火冰糖 王文兵 的博客 CSDN博客 目录 第1章
  • 6种微服务RPC框架,你知道几个?

    6种微服务RPC框架 你知道几个 开源 RPC 框架有哪些呢 一类是跟某种特定语言平台绑定的 另一类是与语言无关即跨语言平台的 跟语言平台绑定的开源 RPC 框架主要有下面几种 Dubbo 国内最早开源的 RPC 框架 由阿里巴巴公司开发并
  • ubuntu下opencv和opencv_contrib编译

    第一次编译之后 测试opencv example不成功 又重新卸载了再装了一次 成功了 简单记录一下 下载opencv4 6以及opencv contrib 4 6 0 opencv下载地址github opencv contrib下载地址
  • 浅析epoll – epoll函数深入讲解

    http www cppfans org 1418 html 前一篇大致讲了一下epoll是个什么东西 优点等内容 这篇延续上一篇的内容 主要是分析epoll的函数 epoll高性能的深入分析 epoll的三大函数 1 创建epoll fd
  • UDP组播调试(使用TCP&UDP调试工具)

    如何使用调试工具进行UDP组播调试 一 下载UDP TCP调试工具 二 双击打开调试工具并建立端口 2 1 创建组播客户端1 类型 UDP 组播模式 目标IP 225 0 0 20 端口 60000 本机端口制定 60002 点击 创建 按
  • CVPR‘2023

    Paper https arxiv org pdf 2206 02066 pdf Code https github com XuJiacong PIDNet 导读 本文介绍了一种名为PIDNet的实时语义分割网络架构 虽然传统的双分支网络