【2018-AAAI】Spatial As Deep: Spatial CNN for Traffic Scene Understanding

2023-05-16

概述

提出了SCNN语义分割网络,将传统的深度逐层卷积推广到特征图中的逐片卷积,在同一特征图的行和列上做信息传递,可有效识别强先验结构的目标。此外论文还发布了一个大型的车道线检测数据集CULane Dataset,用于进一步推动自动驾驶的发展

  • Paper
  • Code | Pytorch

总结

  • 创新点:

    • 提出面向RGB图像针对车道线的语义分割网络SCNN,实现行和列上的信息传递
    • 发布车道线检测数据集CULane Dataset(三次样条曲线标注四条线)
  • 不足:只有四条车道线;基于语义分割;代码配置?

  • 分析:

    • 1.分割单通道多通道都还行
    • 2.细长结构信息,可解决外显不明显问题
    • 3.有益于大目标分割
  • 结论:传递空间信息 、易集成、端到端、1st in a challenge


1. Introdution

自动驾驶->交通场景理解->车道线检测->语义分割->挑战:严酷场景;强结构信息但外观线索少。CNN网络常常通过逐层堆叠卷积来构建,但捕获行列之间空间关系的能力还未完全开发,而这些关系对于学习强形状先验但弱外观一致性(空间关系强但外观线索少)的语义对象是重要的,如遮挡或磨损或根本就没画的车道线。
在这里插入图片描述
在CNN逐层传播中,卷积层接收上一层的结果作为输入,应用卷积和非线性激活操作后,将本层结果输出到下一层;SCNN将特征图的行列视为层,然后应用卷积和非线性激活与求和运算,将结果输出到下一层。实现了信息在同层中的传递,强化了空间信息,这对容易被遮挡的结构化对象非常有用。
SCNN相较于其他方法的优点:

  • 顺序消息传递方案比传统的密集MRF/CRF具有更高的计算效率
  • 消息作为残差传播,使SCNN更易于训练
  • SCNN灵活可插入深度神经网络的任何层中

2. SCNN

2.1 CULane Dataset

专用于车道线检测的数据集。KITTI和CamVid有像素级标注但只有几百张太少了;Caltech Lanes Dataset和TuSimple分别有1224和6048张图片,但场景简单。上述数据集均未标注遮挡不可见的车道线,CULane用三次样条也标注了车道线遮挡不可见的部分,共分为9个场景(1普通8挑战),共133235帧,分辨率1640×590。
在这里插入图片描述

2.2 Pipeline

在这里插入图片描述
在这里插入图片描述
传统的建模空间关系的算法是基于马尔科夫随机场(MRF)或条件随机场(CRF)的,现有的工作将其与CNN联合起来的pipeline如图3(a),其具体过程为:(1)归一化:CNN的输出被视为一元势,并通过softmax操作来归一化;(2)信息传递:通过具有大核的通道维卷积实现(对于密集CRF,核大小将覆盖整个图像,其核的权重取决于输入图像);(3)兼容性变换:用1×1卷积实现;(4)添加一元势:这个过程重复N次来给出最终的输出。每个像素从其他所有像素接收信息,计算昂贵很难实时,难学习初始化难,其应用在CNN的输出而非高隐藏层(含有更丰富的信息)。
本文提出的方法如3(b),将数据看成一个3D张量,然后将张量切成H片,对第一片送入一个核大小为C×w的卷积层,w为核的宽度,然后将输出加入到下一片形成新的一片,新的一片继续被送入下一个卷积层直到到达最后的一片。具体前向传播过程公式如下所示: X i , j , k X_{i, j, k} Xi,j,k表示通道、行、列索引像素, K i , j , k K_{i, j, k} Ki,j,k表示最后一片位于通道i和当前片位于通道j,两个元素w在列上有k个偏移的元素之间的权重,'表示的是更新后的值,f表示非线性激活函数例如ReLU,卷积核的权重在所有切片上共享。且SCNN是有方向的,DURL分别表示向下/上/右/左。
在这里插入图片描述

2.3 Advantages

(1)计算效率高:传统其他所有点到1,SCNN顺序传播。张量H行W列,迭代n次,密集MRF/CRF消息传递nWWHH次(每两个行列像素传递一次),SCNN消息传递nWHw次(每个像素只接收w个像素的信息)。迭代次数由0到100,迭代方向设为4即上下左右。
在这里插入图片描述
(2)信息残差:SCNN中的信息按照残差的方式传播,公式(1)中的ReLU函数的输出,这种信息传递方案比LSTM更好。
(3)灵活性:SCNN可以很容易的集成进CNN的任何部分而不仅是在输出位置,高隐藏层是个很好的集成位置,它有丰富且高度的语义信息

3. Experiment

相关训练参数设置详见原文,在CULane和Citysacpes两个数据集上进行实验。整个模型基于LargeFOV模型修改,四个空间方向上的SCNN依次添加到顶部隐藏层(fc7层)之后,以引入空间信息传播。
在这里插入图片描述
检测模型
生成像素级的真值来训练网络就像语义分割,四条车道线被视为不同的类别,先预测是否存在再预测类别;测试时置信度大于0.5,每20行搜索一个最高相应的位置,然后用三次样条曲线连接起来即是最后的预测结果。SCNN模型与LargeFOV的区别:(1)fc7层的输出通道设为128;(2)fc6的atrous卷积层速率设置为4;(3)在每个ReLU层前添加BN层;(4)加入了个小网络来预测车道线是否存在。
评价标准
使用调和平均值F-measure = ( 1 + β 2 )  Precision Recall  β 2  Precision  +  Recall  \left(1+\beta^2\right) \frac{\text { Precision Recall }}{\beta^2 \text { Precision }+\text { Recall }} (1+β2)β2 Precision + Recall  Precision Recall ,其中Precision = T P T P + F P =\frac{T P}{T P+F P} =TP+FPTP,Recall = T P T P + F N =\frac{T P}{T P+F N} =TP+FNTP β \beta β设置为1。
消融实验
(1)SCNN多方向性的效果
在这里插入图片描述
(2)核宽度w的效果
在这里插入图片描述
(3)空间CNN在不同的位置
在这里插入图片描述
(4)顺序传播的有效性
在这里插入图片描述
(5)与SOTA方法的比较
在这里插入图片描述
在这里插入图片描述
(6)计算效率
在这里插入图片描述
Cityscapes上的语义分割
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. Conclusion

提出了一个类CNN框架的网络SCNN,有效的实现了空间级的信息传播。很容易集成进深度网络中并进行端到端的训练,实验表明可有效保持细长结构的连续性。发布的数据集会有用。

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

【2018-AAAI】Spatial As Deep: Spatial CNN for Traffic Scene Understanding 的相关文章

  • cas-server服务端搭建

    1 下载cas服务代码 xff0c https github com apereo cas overlay template tree 5 3 2 使用idea工具打开cas overlay template 5 3包 xff0c 使用ma

随机推荐

  • 自适应阈值canny边缘检测(功能实现)

    学习记录 1 概述 canny边缘检测是一种特别常用且性能优秀的边缘检测算法 xff0c 相比于普通的边缘检测算法 xff0c canny获得的边缘较细且具有连续的边缘轮廓 xff0c 为之后的一系列图像处理带来极大的便利 canny边缘检
  • OpenCV实现图像基础频率域滤波

    写在前面 xff1a 刚开始接触数字图像处理频率域滤波时 xff0c 很是陌生 xff0c 感觉这个技术使用范围很窄 xff0c 不如空域直接处理来的实在 xff0c 最近看书发现有些情况又不得不在频率域中进行操作 xff0c 个人感觉图像
  • OpenCV实现同态滤波

    同态滤波是属于图像增强的一个小算法 xff0c 其原理和代码实现在众多博客中均有提及 xff0c 再此 xff0c 只对学习中一些自认为有用的知识点进行总结 实现和学习过程中的一些总结 xff1a 同态滤波类似于灰度变换 xff0c 都是对
  • OpenCV实现击中击不中变换和形态学细化

    1 击中击不中变换 1 1 HMT概述 形态学Hit or Miss是形状检测基本工具 xff0c 只要结构元设置得当 xff0c 就可以检测一些基本的形状图案 xff0c HMT变换只能作用于二值图像 xff0c 结构元 xff08 核
  • OpenCV综合练习1——水瓶水位线合格检测

    数字图像处理综合练习 水瓶水位线合格检测 马上就要转到学习深度学习的主干线了 xff0c 这也是大势所趋 xff0c 但不能忘本 xff0c 传统图像处理的知识也是非常重要的 xff0c 特此记录一下之前学习时做过的小练习 整个项目的资源放
  • 目标检测学习1——iou计算与非极大值抑制NMS

    刚开始学习目标检测 xff0c 都是在学习一些经典的目标检测框架 xff0c 个人认为在大量阅读和理解别人现成的代码时 xff0c 也要懂得去动手模仿 xff0c 尝试着去修改别人的代码 xff0c 即使是自己抄一遍别人的代码 xff0c
  • OpenCV实现按指定间隔抽取视频中的图像帧

    习惯了C 43 43 语言的OpenCV突然用Python语言OpenCV还是感觉有点不适应 xff0c 但是慢慢在写的过程中 xff0c 觉得Python语言的风格也挺美的 但自己的写的还是很丑 xff0c 晚上回宿舍的剩余时间 xff0
  • 深度估计berHu损失函数和语义分割带权值交叉熵损失函数

    深度估计berHu损失函数和语义分割带权值交叉熵损失函数 最近在做联合深度估计和语义分割的深度学习算法 xff0c 深度估计默认使用的是L1 loss xff0c 语义分割使用的是普通的交叉熵损失函数 xff0c 继续改进模型对于指标的提升
  • 游览器是如何工作的

    游览器是如何工作的 浏览器的主要功能浏览器的主要构成一次网络请求浏览器发生了什么 xff1a 如果请求使用了HTTPS那么流程会有什么不同 xff1f 总结 浏览器的主要功能 浏览器的主要功能是将用户选择得web资源呈现出来 xff0c 它
  • OSG QT 完整附加依赖项(.lib)

    OSG QT 完整附加依赖项 lib 可在VS等需要添加附加依赖项的环境使用 注 xff1a OSG版本 xff1a 3 6 4 xff1b QT版本 xff1a 5 9 8 带d的为debug xff0c 不带d的release省掉了Qt
  • Ubuntu登陆账户后自动运行VNCserver

    问题 xff1a 远程桌面时 xff0c 如果重启远程Ubuntu xff0c 则VNC会话失效 解决 xff1a 一个解决的方法就是用putty将重启的Ubuntu登陆入账户后 xff0c 再开启VNC会话 为了方便 xff0c 可以设置
  • RAP与RARP原理

    ARP与RARP都属于网络层协议 xff0c 但是他们是为了解决链路层的帧转发问题 xff0c ARP的功能是将IP解析成MAC地址 xff0c 而RARP则相反 ARP 地址解析协议 xff08 Address Resolution Pr
  • eyeshot官方样例说明

    Eyeshot 12 例子 1 wings拖动按钮改变机翼的尺寸参数 xff0c 并导出到step文件 2 snaptogrid鼠标画平面 xff0c 类似于CATIA的多段线功能 3 sceneeditor控制灯光点和变换位置 xff0c
  • Python爬虫实现获取股票信息并保存到文件(亲测可运行)

    主要参考了北京理工大学嵩天老师的视频 xff0c 因老师所讲的网址已做更改 xff0c 将获取股票列表信息和股票价格的网站做了更改 xff0c 用到了beautiful soup库 xff0c re库 xff0c requests库 xff
  • 为什么要内存对齐?

    CPU访问非对齐的内存时为何需要多次读取再拼接 xff1f 首先简单说一下何为内存对齐 例如 xff0c 当cpu需要取4个连续的字节时 xff0c 若内存起始位置的地址可以被4整除 xff0c 那么我们称其对齐访问 反之 xff0c 则为
  • 读AQS源码-关于shouldParkAfterFailedAcquire函数的返回值

    先上源码 final boolean acquireQueued final Node node int arg boolean failed 61 true try boolean interrupted 61 false for fin
  • 读AQS源码-关于同步队列与锁的公平性

    先上部分源码 xff1a public final void acquire span class token punctuation span int arg span class token punctuation span span
  • FreeRTOS 正点原子教程学习笔记

    正点原子视频教程 FreeRTOS 教程非常详细 xff09 小知识 如果创建了任务却完全空着 xff0c 没有while xff08 1 xff09 延时 的话 xff0c 整个程序会卡住 xff0c 其他正常的任务无法运行 如果任务里单
  • 数据分析之Matplotlib(一)简介

    Matplotlib简介 Matplotlib是一个Python 2D绘图库 xff0c 可以生成各种硬拷贝格式和跨平台的交互式环境的出版物质量数据 Matplotlib可用于Python脚本 xff0c Python和IPython sh
  • 【2018-AAAI】Spatial As Deep: Spatial CNN for Traffic Scene Understanding

    概述 提出了SCNN语义分割网络 xff0c 将传统的深度逐层卷积推广到特征图中的逐片卷积 xff0c 在同一特征图的行和列上做信息传递 xff0c 可有效识别强先验结构的目标 此外论文还发布了一个大型的车道线检测数据集CULane Dat