【语义分割】——又快又强:Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road

本文主要是介绍【语义分割】——又快又强:Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

出处:哈尔滨工业大学
论文
code:暂未开源
关键词: 实时语义分割

在这里插入图片描述

语义分割是自动驾驶汽车了解周围场景的关键技术,对于实际的自动驾驶汽车来说,为了获得高精度的分割结果而花费大量的推理时间是不可取的。使用轻量级架构(编码器解码器或two-pathway)或推理在低分辨率图像。本文提出的模型在单张2080ti上DDRNet-slim能打到77.4% mIoU和230FPS,DDRNet-39能打到80.4% mIoU 和 23FPS

1. 简介

  • 提出了一种新的深度双分辨率双边网络用于实时语义分割。
  • 设计了一个新的模块,通过将特征聚合与金字塔池相结合来获取丰富的上下文信息。当它与低分辨率的特征映射集成时,推理时间几乎没有增加。

2. 相关工作

2.1 实时语义
实时语义分割主要从两个方面优化模型结构:1. 编码器-解码器结构; 2. 双通道结果(可以避免decoder时上采样操作带来的特征无法恢复问题)
在这里插入图片描述

3. 模型

文章借鉴了HRNet,重新设计了一个双分辨率的主干网络,并在ImageNet上重新训练。同时为了满足实时性的要求,网络是在resnet18,resnet34上修改而来。
3.1 主干网络
在这里插入图片描述
3.2 语义分割网络

  • 整体网络
    在这里插入图片描述

  • DAPPM上下文捕捉模块:更多尺度特征的融合
    基于pspnet的特征金字塔池化和res2net,提出了一个DAPPM模块,用捕捉高层语义的上下文信息
    在这里插入图片描述

  • 深度监督:多个分支辅助监督学习
    采用了pspnet中的deepsup思路,

4. 实验

不能说是最soa,但是速度是真的快
在这里插入图片描述
和start-of-art的比较
在这里插入图片描述
PPM 和 DAPPM 的比较
在这里插入图片描述
DDRNet和HRNetv2-w18 推理速度的比较
在这里插入图片描述

5. 总结

  • DDRNet感觉是HRNet的一个简化,相当于只有两个分辨率,但是效果更好,归咎于resnet18的残差链接吗?
  • DAPPM上下文特征模块,比PPM尺度更多,
  • 这和SFNet一样,从resnet18出发来做实时语义分割backone。但是效果和精度确实比pspnet-resnet50还好。难道论文的改进点确实有效???

这篇关于【语义分割】——又快又强:Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1056808

相关文章

Deep Learning复习笔记0

Key Concept: Embedding: learned dense, continuous, low-dimensional representations of object 【将难以表示的对象(如图片,文本等)用连续的低维度的方式表示】 RNN: Recurrent Neural Network -> for processing sequential data (time se

nginx 504 Gateway Time-out

环境:PHP7.1,NGINX,Mysql 问题描述: 本地写了一个需要执行比较长时间的脚本,放到了php-fpm里面跑。用一个链接调用起这个脚本。发现第一次调用的时候,需要等比较久的时间,但是如果在执行期间再次请求这个链接。第二个请求的链接会返回504。甚至,直接在脚本最开始的地方中断都还是报 504. 但是如果请求其他链接,可以正常请求。 nginx 返回码、、 504 Gateway

leetcode刷题(95)——416. 分割等和子集

给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2: 输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子

cpp随笔——浅谈右值引用,移动语义与完美转发

右值引用 什么是右值 在cpp11中添加了一个新的类型叫做右值引用,记作&&,而在开始今天的正文之前我们先来看一下什么是左值什么是右值: 左值(&):存储在内存中,有明确存储地址的数据右值(&&):临时对象,可以提供数据(不可取地址访问) 而在cpp11中我们可以将右值分为两种: 纯右值:非引用返回的临时变量,比如运算表达式产生的临时变量,原始字面量以及lambda表达式等将亡值:与右值

转:oracle数据库里dual表是什么表?

这几天一直在研究oracle,常常会用到dual这个系统表,dual表到底是一个什么表?带着疑问google了一下,现在总结一下: DUAL是Oracle与数据字典一起自动创建的一个表,它只有一列:DUMMY,其数据类型为:VARCHAR2(1)。DUAL中只有一行数据:'X'。DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表,因为

【PL理论深化】(2) 语法分析 (Syntax) | 编程语言的语法结构:文法 | 语义结构 (Sematics)

💬 写在前面:编程语言是由归纳法生成的程序的集合。定义属于该语言的程序的形式的规则,即编写程序的规则,称为编程语言的 语法分析 (syntax) 而定义属于该语言的程序的意义的规则称为 语义结构(semantics)。这两者都是归纳定义的。 目录 0x00 语法分析(syntax analysis) 0x01 编程语言的语法结构:文法(grammar) 0x02 语义结构(Seman

细胞核的分割与分类模型·hover net| 补充文档

小罗碎碎念 这期推文算是hover net系列的一个补充文档,把几个非常重要的脚本拿出来单独做了一个分析,感兴趣的自取。 extract_patches.pyconfig.pydataset.pyopt.pyrun_infer.py 一、extract_patches.py 1-1:加载和处理图像数据集 注意 dataset属于自建函数,所以一定要保证这个文件与你的代码执行文

2024-06-23 编译原理实验3——语义分析

文章目录 一、实验要求二、实验设计三、实验结果四、附完整代码 补录与分享本科实验,以示纪念。 一、实验要求 基于前面的实验,编写一个程序对使用 C—语言书写的源代码进行语义分析,输出语义分析中发现的错误(涉及 17 种错误类型)并完成实验报告,实验中主要使用 C 语言。 基本要求 a. 对程序进行语法分析,输出语法分析结果; b. 能够识别多个位置的语法错误。附加要求 a.

道路 Road(百练,POJ)

题目链接: 1724 -- ROADS (poj.org) 题目描述: 思路: 这题目乍一看,是一个含有2个标尺的单源最短路问题,挺难处理的。 既然没法直接用最短路处理,那我们就“记录信息”,将花费的时间也记录进dp数组,然后跑“状态最短路”。 用f[i][j] 表示到达点i 且 总花费时间为j的最短距离,然后跑堆优化的dijkstra算法就好。由于不含有负边权,因此可以搞一个vis数

Windows 内核驱动无法使用 __DATA__、__TIME__、__TIMESTAMP__ 解决方法

项目 -> 属性 -> Driver Settings -> Driver Model -> Allow Date, Time and Timestamp -> Yes。 感谢单总的解答和这篇文章:https://developercommunity.visualstudio.com/content/problem/186922/-timestamp-macro-not-defined-in-r