《BASeg: Boundary aware semantic segmentation for autonomous driving》论文解读
期刊:Neural Networks | Journal | ScienceDirect.com by Elsevier
年份:2023
代码:https://github.com/Lature-Yang/BASeg
摘要
语义分割是自动驾驶领域街道理解任务的重要组成部分。现有的各种方法要么专注于通过聚合全局或多尺度上下文信息来构建对象内部的一致性,要么简单地将语义特征与边界特征相结合来细化对象细节。尽管令人印象深刻,但大多数都忽略了内部对象和边界之间的长程依赖关系。本文提出一种边界感知网络(BASeg)用于语义分割,利用边界信息作为指导上下文聚合的重要线索。具体而言,在BASeg中提出了边界细化模块(Boundary Refined Module, BRM),通过骨架中的高层多尺度语义特征来细化Canny检测器粗粒度的底层边界特征;在此基础上,进一步提出了上下文聚合模块(Context Aggregation Module, CAM),以捕获边界区域与目标内部像素之间的长程依赖关系,实现相互增益并增强类内一致性。此外,所提出方法可以插入到其他CNN主干中以较小的计算预算获得更高的性能,并在数据集ADE20K、Cityscapes和CamVid上分别获得了45.72%、81.2%和77.3%的mIoU。与一些最新的基于resnet101的分割方法相比,大量的实验证明了该方法的有效性。
Introduction
主要贡献:
- 针对语义分割问题,提出了由边界特征、语义特征和聚合特征组成的语义分割框架BASeg,该框架采用基于注意力的机制来引导边界特征的上下文聚合。
- 将边界细化模块(BRM)集成到BASeg中,从Canny检测器获得的粗轮廓中生成显著的细化边界信息。
- 在Cityscapes和CamVid等公共驾驶场景数据集和ADE20K等语义数据集上进行了广泛的实验,证明了所提出模型的优越性能。
Method

网络架构:
- BASeg网络由边界流、语义流和聚合流组成,利用边界上下文信息来分割对象。
- 边界流用于预测给定图像的二值边界,语义流用于生成语义特征图,聚合流用于捕获语义特征图和边界特征图之间的长距离依赖。
- 网络架构包括使用ResNet101作为主干网络,ASPP(Atrous Spatial Pyramid Pooling)模块用于提取空间信息,以及引入全局平均池化分支以提供图像级信息。
主要组件:
- AGB:注意门块,过滤噪声并增强更高层级特征的细节
- ASPP:Atrous空间金字塔池,融合多尺度特征
- CAM:上下文聚合模块,用于捕获边界区域与对象内部像素之间的长距离依赖关系,实现相互增益并增强类内一致性。
- BRM:边界细化模块,用于通过高级多尺度语义特征来细化Canny检测器粗略检测到的低级边界特征。
- Canny:边缘检测器
2.1 Boundary Refine Module(BRM)
提升从Canny边缘检测器获得的粗略边界特征,并将其与深层的语义特征结合起来,以便于网络能够更准确地识别和细化对象的边界。

AGB中,特征信号X(来自Canny检测的轮廓特征)和门控信号G(来自语义特征图的高级特征)被结合起来,以增强边界区域的特征。
2.2 Context Aggregation Module (CAM)
负责捕获边界区域与对象内部像素之间的长距离依赖关系,以增强语义分割的性能。

计算过程:
- 特征转换:CAM通过三个1×1卷积层将语义特征F和边界特征B转换为三个新的特征图Q (Query), K (Key), V (Value)。这有助于减少参数数量和计算成本。
- 亲和力矩阵计算:通过计算Key和Query之间的亲和力矩阵S,来衡量不同像素间的相互影响。亲和力矩阵S是通过Key和Query的矩阵乘法以及Softmax函数得到的。
- 注意力机制:亲和力矩阵S反映了像素间的相关性,通过Softmax函数进行归一化处理,以突出显示重要像素对其他像素的影响。
- 特征适应:对亲和力矩阵S应用另一个1×1卷积层进行特征适应,以进一步优化特征表示。
- 上下文聚合:利用亲和力矩阵和Value特征图V,通过元素级求和操作,聚合输入的语义特征图和上下文注意力图,生成聚合后的特征图F。
2.3 Loss function
用来衡量模型预测与真实标签之间的差异,并指导网络训练过程中的参数更新。BASeg采用了一个多任务损失函数,它联合了三个独立的损失来优化网络的不同部分:
1. body loss:计算了网络对每个像素预测的类别概率与真实标签之间的差异。

2. bound loss:衡量了预测的边界与真实边界标签之间的差异,有助于细化边界区域的分割。
![]()
3. 辅助损失:像素级交叉熵损失,用于对选定的中间层特征进行辅助监督,以帮助网络学习更泛化的特征表示。中间层 F4 施加辅助监督来训练模型、
4. 联合损失:![]()
![]()
相关文章:
《BASeg: Boundary aware semantic segmentation for autonomous driving》论文解读
期刊:Neural Networks | Journal | ScienceDirect.com by Elsevier 年份:2023 代码:https://github.com/Lature-Yang/BASeg 摘要 语义分割是自动驾驶领域街道理解任务的重要组成部分。现有的各种方法要么专注于通过聚合全局或多尺度上下文…...
高效利用iCloud指南
高效利用iCloud的指南主要包括以下几个方面: 一、注册与登录 创建Apple ID: 如果尚未拥有Apple ID,可以在苹果官网或iOS设备的设置中创建。Apple ID是访问iCloud服务的前提。登录iCloud: 在苹果设备上,进入“设置”应…...
【MySQL】常见的MySQL日志都有什么用?
MySQL日志的内容非常重要,面试中经常会被问到。同时,掌握日志相关的知识也有利于我们理解MySQL 底层原理,必要时帮助我们排查解决问题。 MySQL中常见的日志类型主要有下面几类(针对的是InnoDB 存储引擎): 错误日志(error log):对 MySQL 的启…...
IDEA社区版使用Maven archetype 创建Spring boot 项目
1.新建new project 2.选择Maven Archetype 3.命名name 4.选择存储地址 5.选择jdk版本 6.Archetype使用webapp 7.create创建项目 创建好长这样。 检查一下自己的Maven是否是自己的。 没问题的话就开始增添java包。 [有的人连resources包也没有,那就需要自己添…...
C/C++ list模拟
模拟准备 避免和库冲突,自己定义一个命名空间 namespace yx {template<class T>struct ListNode{ListNode<T>* _next;ListNode<T>* _prev;T _data;};template<class T>class list{typedef ListNode<T> Node;public:private:Node* _…...
android studio开发
Kotlin 编程简介 | Android Basics Compose - First Android app | Android Developers (google.cn) 这是官网的教程,实现试一下。 之后进入课程 您的第一个 Kotlin 程序 (google.cn) 程序可以被视为一系列指示计算机或设备执行某项操作的指令,...
PostgreSQl 物化视图
物化视图(Materialized View)是 PostgreSQL 提供的一个扩展功能,它是介于视图和表之间的一种对象。 物化视图和视图的最大区别是它不仅存储定义中的查询语句,而且可以像表一样存储数据。物化视图和表的最大区别是它不支持 INSERT…...
Win10工具:批量word转png图片
首先声明这个小工具是小编本人开发的,无任何广告,会员收费机制等,永久使用。允许公司或个人使用,不允许倒卖,否则发现后会追究法律责任,毕竟开发不易。工具是用python开发的。 功能非常单一,就…...
期货量化交易客户端开源教学第八节——TCP通信服务类
private FReciveStr: AnsiString; {接收到的数据} IsConErr: Boolean; {网络连接是否失败} FSocket_LB: Integer; {TCP连接类别,0为交易,1为行情,2为查询} FRetryCount: Integer; {网络连接重试次数} FLoginErrEvent: TLoginErrEvent; {…...
bi项目笔记
1.bi是什么 bi项目就是商业智能系统,也就是数据可视画、报表可视化系统,如下图的就是bi项目了 2.技术栈...
金蝶云苍穹-插件开发(四)GPT开发相关插件
我只对GPT开发的相关插件进行讲解,因为我的是插件开发教程,关于GPT的一些提示词的写法,GPT任务的配置,请去金蝶云苍穹的文档和社区内学习。 GPT自定义操作 GPT自定义操作的代码的类要实现 IGPTAction 这个接口,这个接…...
【机器学习】精准农业新纪元:机器学习引领的作物管理革命
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 🔍1. 引言📒2. 精准农业的背景与现状🍁精准农业的概念与发展历程🍂国内外精准农业实践案…...
一键掌握天气动态 - 基于Vue和高德API的实时天气查询
前言 本文将学习如何使用Vue.js快速搭建天气预报界面,了解如何调用高德地图API获取所需的天气数据,并掌握如何将两者有机结合,实现一个功能丰富、体验出色的天气预报应用 无论您是前端新手还是有一定经验,相信这篇教程都能为您带来收获。让我们一起开始这段精彩的Vue.js 高德…...
PostgreSQL修改最大连接数
在使用PostgreSQL 的时候,经常会遇到这样的错误提示, sorry, too many clients already,这是因为默认PostgreSQL最大连接数是 100, 一般情况下,个人使用时足够的,但是在生产环境,这个连接数是远远不够的&am…...
C# SqlSugar 如何使用Sql语句进行查询,并带参数进行查询,防注入
一般ORM查询单表数据已经是很简单的一种方式了 详情可以看我的另一篇文章:ORM C# 封装SqlSugar 操作数据库_sqlsugar 基类封装-CSDN博客 下面是介绍有些数据是需要比较复杂的SQL语句来进行查询的时候,则需要自行组装SQL语句来进行查询,下面…...
slf4j日志框架和logback详解
slf4j作用及其实现原理 SLF4J(Simple Logging Facade for Java)是一种日志框架的抽象层,它并不是一个具体的日志实现,而是一个接口或门面(Facade),旨在为各种不同的日志框架提供一个统一的API。…...
解决@Data与@Builder冲突的N种策略
前言 在Java项目中,Lombok的Data和Builder注解因其便捷性深受开发者喜爱,但两者并用时可能引发构造方法冲突。本文将全面解析这一问题的根源,并介绍包括利用实验性思路探讨的Tolerate概念在内的多种解决方案,确保您在实践中游刃有…...
一文看懂LUT(Lookup Table)查找表
文章目录 原理方法具体步骤和代码实现 查找表(Lookup Table,LUT)方法是一种通过预先计算并存储函数值来加速计算的方法。对于激活函数(例如ReLU),使用LUT可以在一定范围内通过查找预计算的值来近似函数计算…...
06 人以群分 基于邻域的协同过滤算法
这一讲我们将正式进入算法内容的学习。 推荐算法本质 推荐算法本质上是一一种信息处理方法,它将用户信息和物品信息处理后,最终输出了推荐结果。因为 05 讲中基于热门推荐、基于内容推荐、基于关联规则推荐等方法比较粗放,所以推荐结果往往…...
SQL性能下降的原因
一、SQL性能下降的原因 主要是性能下降SQL慢、执行时间长、等待时间长 不是一条SQL抓出来就要优化,在真实的生产环境下这种故障第一个要去复线,有可能去排查的时候没,所以没法复线。 可能需要它跑半天或者一天来缩小筛查的范围,…...
QModMaster:5分钟解决工业通信调试难题的开源ModBus工具
QModMaster:5分钟解决工业通信调试难题的开源ModBus工具 【免费下载链接】qModbusMaster Fork of QModMaster (https://sourceforge.net/p/qmodmaster/code/ci/default/tree/) 项目地址: https://gitcode.com/gh_mirrors/qm/qModbusMaster 还在为复杂的工业设…...
VisualGGPK2终极指南:如何轻松编辑《流放之路》游戏资源文件
VisualGGPK2终极指南:如何轻松编辑《流放之路》游戏资源文件 【免费下载链接】VisualGGPK2 Library for Content.ggpk of PathOfExile (Rewrite of libggpk) 项目地址: https://gitcode.com/gh_mirrors/vi/VisualGGPK2 VisualGGPK2是一款专为《流放之路》玩家…...
如何高效提取Wallpaper Engine资源?RePKG专业工具全解析
如何高效提取Wallpaper Engine资源?RePKG专业工具全解析 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专门为Wallpaper Engine用户设计的专业工具…...
BabelDOC:智能PDF翻译神器,完美保留原版格式与布局的终极方案
BabelDOC:智能PDF翻译神器,完美保留原版格式与布局的终极方案 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 还在为PDF文档翻译后格式错乱而烦恼吗?BabelDO…...
神经符号系统实践:耦合机器学习与本体论提升机器人自主诊断能力
1. 项目概述:当机器学习遇见本体论 在机器人圈子里摸爬滚打十几年,我见过太多“聪明”但“不可靠”的自主系统。它们能精准识别物体、规划路径,但一旦遇到训练数据之外的场景,或者传感器出现一点小毛病,行为就可能变得…...
别再只盯着深度学习!用OpenCV+Python实战传统分水岭算法,5分钟搞定细胞图像分割
用OpenCVPython玩转分水岭算法:5分钟实现细胞图像精准分割在医学图像分析领域,细胞计数和分割一直是基础且关键的环节。传统深度学习方法虽然效果惊艳,但往往需要大量标注数据和计算资源。而分水岭算法这个诞生于1992年的经典方法,…...
Arm嵌入式工具链全解析:从获取到优化
1. Arm嵌入式工具链概述Arm Toolchain for Embedded是Arm公司为嵌入式系统开发提供的一套完整工具链集合,包含编译器、调试器、链接器等核心组件。作为嵌入式开发领域的标准工具链,它支持从Cortex-M系列微控制器到Cortex-A系列应用处理器的全系列Arm架构…...
鸿蒙electron跨端框架PC墨案写作实战:把 Markdown 正文区做成桌面写作的中心
前言 欢迎加入鸿蒙PC开发者社区,共同打造开发者工具生态:鸿蒙PC开发者社区 :https://harmonypc.csdn.net/ 项目开源地址:https://AtomGit.com/lqjmac/ele-moanxiezuo 墨案写作这个小工具看起来轻,但真正落地时要先把…...
Flutter+React Native如何真正实现Lovable?跨端情感一致性开发规范(仅限内部团队流通版)
更多请点击: https://codechina.net 第一章:Lovable移动端应用开发 Lovable 是一套面向现代移动开发的轻量级跨平台框架,专为构建高响应、低资源占用且具备原生体验的应用而设计。它采用声明式 UI 编程模型,底层通过桥接机制与 i…...
仓储海量货物人车混跑,无感定位并发能力碾压UWB上限瓶颈技术白皮书方案
仓储海量货物人车混跑,无感定位并发能力碾压UWB上限瓶颈技术白皮书方案一、方案概述随着现代智能仓储向高密度、高周转、无人化、集约化模式快速迭代,立体仓储库区普遍形成海量货物堆叠、多叉车穿梭、人员高频作业、人车密集混跑的复杂动态工况。仓储作业…...
