当前位置: 首页 > news >正文

CV——day80 读论文:DLT-Net:可行驶区域、车道线和交通对象的联合检测

DLT-Net:可行驶区域、车道线和交通对象的联合检测

  • I. INTRODUCTION
  • II. ANALYSIS OF PERCEPTION
  • IV. DLT-NET
    • A. Encoder
    • B. Decoder
      • 1) Drivable Area Branch(可行驶区域分支)
      • 2) Context Tensor(上下文张量)
      • 3) Lane Line Branch(车道线分支)
      • 4) Traffic Object Branch(目标检测对象分支)
    • C. Loss Function and Training
  • V. EXPERIMENTS
    • A. Dataset and Experimental Setting
    • B. Drivable Area Results(可驾驶区域结果)
  • VI. CONCLUSION

DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects

I. INTRODUCTION

image-20230301093847401

图1。我们的方法的输入和结果。我们的目的是联合检测可行驶区域、车道线和交通目标。(b)中,绿色区域为可行驶区域,橙色线为车道线,红色边界框为交通对象。

Mask R-CNN提出了联合检测对象和段实例,每个任务都达到了最先进的性能。但它不能直接应用于智能交通领域,因为它不能检测可行驶区域和车道线。我们认为,可行驶区域、车道线和交通目标的检测是智能车辆最基本的感知任务。

我们工作的两项贡献是:

  • 可行驶区域、车道线和交通目标检测集成为一个框架。

  • 设计了上下文张量,通过融合可驱动区域解码器与其他两个解码器的特征映射实现任务间的互信息共享。

II. ANALYSIS OF PERCEPTION

image-20230301094450169

假设智能车辆只需要使用一个摄像头进行行驶,可行驶区域的检测是感知中最紧迫的任务。当车辆行驶时,可行驶区域可能发生迅速变化。如果经常进行路径规划,就不能保证车辆的高速行驶。在大多数情况下,中心线是最好的选择,它突出了车道线检测的重要性

IV. DLT-NET

我们的网络简单而有效。我们的目标是使用统一的网络来检测可行驶区域、车道线和交通对象。该网络共享一个编码器,并为每个任务分为三个解码器。不同的部分用不同的颜色表示。在解码器中,我们设计了上下文张量结构来融合三个任务的特征映射。整个网络可以端到端的训练。

image-20230301122318042

图3,DLT-Net的架构。DLT-Net共享相同的编码器,并为每个任务组合三个解码器。上下文张量的设计是为了融合不同解码器之间的特征。每个feature map附近的数字就是feature map的大小。

A. Encoder

本文采用VGG16和特征金字塔结构作为编码器。

首先,通过VGG16使用卷积层和池化层生成5种不同大小的特征图。最后一层的尺寸为(W/16, H/16, 512)。然后所有完全连接的层在这里被移除。

研究表明,深层特征和浅层特征对感知任务都有重要作用。为了结合深层特征和浅层特征,我们采用策略融合相邻层。融合方法为单元平均运算。融合三个深度最大的feature map,最终feature map的大小为(W/4, H/4, 256)。最后的特征图用于为三个解码器提供信息。

B. Decoder

1) Drivable Area Branch(可行驶区域分支)

image-20230301122927726

可驱动区域分支的最终输出特征图的大小为(W, H, 2),这两个通道表示每个像素对于可行驶区域和背景的可能性。

2) Context Tensor(上下文张量)

image-20230301122938627

我们设计了上下文张量来融合可驾驶区域分支与其他两个分支的特征图。可行驶区域包含所有车道线,不可行驶区域包含所有潜在交通对象。交通对象在很大程度上是可驾驶区域边界的一部分。因此,可驾驶区域对其他两个任务有实际的指导。

例如,在其他的探测器中,车道线很容易与路缘混淆。由于车道线只存在于可行驶区域,因此我们的模型利用上下文张量具有很强的识别能力。

在此基础上,我们构建了上下文张量来分担任务间的指定影响。在上下文张量中,使用连接操作融合特征映射。在我们的模型中使用了两个上下文张量。

3) Lane Line Branch(车道线分支)

image-20230301122948625

车道线部分用橙色表示。车道线分支与可行驶区域具有相同的结构。融合特征图的大小为(W/16, H/16, 256)。最终的特征图也有两个通道,表示每个像素对于车道线和背景的可能性

4) Traffic Object Branch(目标检测对象分支)

其关键思想是用焦点损失函数代替原损失函数。在上下文张量之后,将网络分为两部分,一部分用于分类,另一部分用于边界盒回归。

C. Loss Function and Training

采用多任务丢失来训练整个网络。式1为总损失函数,为四部分之和。

image-20230301123135803

image-20230301123144001

V. EXPERIMENTS

A. Dataset and Experimental Setting

BDD数据集已经发布用于自动驾驶研究。这是一个很大的数据集,包含变化的天气、场景和一天中的时间。

本文利用BDD数据集对MultiNet进行再训练。然后在可行驶区域和交通目标检测任务中直接与我们的网络进行比较。

基本的DLT-Net也用于评估上下文张量。基本的DLT-Net是没有上下文张量结构的DLT-Net。换句话说,解码器在基本的DLT-Net中是完全分离的。

我们的CPU是Intel® Xeon® E5-2630 v4,我们的GPU是NVIDIA GTX TITAN Xp。

B. Drivable Area Results(可驾驶区域结果)

image-20230301123618813

图4。可行驶区域检测结果的实例。绿色区域为检测到的可行驶区域。红色圈出的区域是假阳性和假阴性。

image-20230301123653762

图5。交通对象检测结果示例。红色边界框为检测到的正确车辆,黄色边界框为误报车辆。

image-20230301123719487

图6。车道线检测结果实例。红线是检测到的正确车道线。黄线是假阳性。

image-20230301123733234

图7。一些使用DLT-Net的假阳性和假阴性。(a)可行驶区域检测结果。(b)红色边框为检测到的正确车辆,黄色边框为假阴性车辆。©车道线检测结果。红线为检测正确车道线,黄色椭圆为假阴性。

VI. CONCLUSION

提出了一种可行驶区域、车道线和交通目标联合检测的统一网络DLT-Net。这三个任务被认为是自动驾驶汽车最关键的感知任务。该网络在BDD数据集的所有三个任务中都显示出竞争性能。在DLT-Net中设计的上下文张量显著提高了检测精度,使其性能优于多项网络。

考虑到智能交通应用的性质,与将每个任务分开相比,统一网络具有固有的优势。此外,与分离每个解码器相比,上下文张量结构在提高检测精度方面显示出固有的优势。

相关文章:

CV——day80 读论文:DLT-Net:可行驶区域、车道线和交通对象的联合检测

DLT-Net:可行驶区域、车道线和交通对象的联合检测I. INTRODUCTIONII. ANALYSIS OF PERCEPTIONIV. DLT-NETA. EncoderB. Decoder1) Drivable Area Branch(可行驶区域分支)2) Context Tensor(上下文张量)3) Lane Line Branch(车道线分支)4) Traffic Object Branch(目标检测对象分…...

工具篇4.5数据可视化工具大全

1.1 Flourish 数据可视化不仅是一项技术,也是一门艺术。当然,数据可视化的工具也非常多,仅 Python 就有 matplotlib、plotly、seaborn、bokeh 等多种可视化库,我们可以根据自己的需要进行选择。但不是所有的人都擅长写代码完成数…...

京东前端二面常考手写面试题(必备)

实现发布-订阅模式 class EventCenter{// 1. 定义事件容器,用来装事件数组let handlers {}// 2. 添加事件方法,参数:事件名 事件方法addEventListener(type, handler) {// 创建新数组容器if (!this.handlers[type]) {this.handlers[type] …...

如何用AST还原某音的JSVMP

1. 什么是JSVMP vmp简单来说就是将一些高级语言的代码通过自己实现的编译器进行编译得到字节码,这样就可以更有效的保护原有代码,而jsvmp自然就是对JS代码的编译保护,具体的可以看看H5应用加固防破解-JS虚拟机保护方案。 如何区分是不是jsv…...

【蓝桥杯试题】 递归实现指数型枚举例题

💃🏼 本人简介:男 👶🏼 年龄:18 🤞 作者:那就叫我亮亮叭 📕 专栏:蓝桥杯试题 文章目录1. 题目描述2. 思路解释2.1 时间复杂度2.2 递归3. 代码展示最后&#x…...

【用Group整理目录结构 Objective-C语言】

一、接下来,我们看另外一个知识点,怎么用Group把这一堆乱七八糟的文件给它整理一下,也算是封装一下吧, 1.这一堆杂乱无章的文件: 那么,哪些类是属于模型呢,哪些类是属于视图呢,哪些类是属于控制器呢, 我们接下来通过Group的方式,来给它们分一下类, 这样看起来就好…...

JavaScript高级程序设计读书分享之8章——8.1理解对象

JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 创建自定义对象的通常方式是创建 Object 的一个新实例,然后再给它添加属性和方法。 let person new Object() person.name Tom person.age 18 person.sayName function(){//示 this.name…...

代码随想录算法训练营第四十天 | 343. 整数拆分,96.不同的二叉搜索树

一、参考资料整数拆分https://programmercarl.com/0343.%E6%95%B4%E6%95%B0%E6%8B%86%E5%88%86.html 视频讲解:https://www.bilibili.com/video/BV1Mg411q7YJ不同的二叉搜索树https://programmercarl.com/0096.%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BA%8C%E5%8F%89%E6%90…...

数据结构与算法系列之顺序表的实现

这里写目录标题顺序表的优缺点:注意事项test.c(动态顺序表)SeqList.hSeqList.c各接口函数功能详解void SLInit(SL* ps);//定义void SLDestory(SL* ps);void SLPrint(SL* ps);void SLPushBack(SL* ps ,SLDataType * x );void SLPopBack(SL* ps…...

基于Linux_ARM板的驱动烧写及连接、挂载详细过程(附带驱动程序)

文章目录前言一、搭建nfs服务二、ARM板的硬件连接三、putty连接四、挂载共享文件夹五、烧写驱动程序六、驱动程序示例前言 本文操作环境:Ubuntu14.04、GEC6818 这里为似懂非懂的朋友简单叙述该文章的具体操作由来,我们的主要目的是将写好的驱动程序烧进…...

python-爬虫-字体加密

直接点 某8网 https://*****.b*b.h*****y*8*.com/ 具体网址格式就是这样的但是为了安全起见,我就这样打码了. 抛出问题 我们看到这个号码是在页面上正常显示的 F12 又是这样就比较麻烦,不能直接获取.用requests库也是获取不到正常想要的 源码的,因为字体加密了. 查看页面源代码…...

计算机组成原理4小时速成5:输入输出系统,io设备与cpu的链接方式,控制方式,io设备,io接口,并行串行总线

计算机组成原理4小时速成5:输入输出系统,io设备与cpu的链接方式,控制方式,io设备,io接口,并行串行总线 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人&#xff0c…...

安全狗受聘成为福州网信办网络安全技术支撑单位

近日,福州市委网信办召开了2022年度网络安全技术支撑单位总结表彰大会。 作为国内云原生安全领导厂商,安全狗也出席了此次活动。 据悉,会议主要对2022年度优秀支撑单位进行表彰,并为2023年度支撑单位举行授牌仪式。 本次遴选工…...

RV1126 在Ubuntu18.04开发环境搭建

1:安装软件终端下输入安装命名:sudo apt install openssh-serversudo apt install android-tools-adbsudo apt install vim net-tools gitsudo apt install cmakesudo apt install treesudo apt install minicomsudo apt install gawksudo apt install bisonsudo ap…...

如何在 C++ 中调用 python 解析器来执行 python 代码(一)?

实现 Python UDF 中的一步就是学习如何在 C 语言中调用 python 解析器。本文根据 Python 官方文档做了一次实验,记录如下: 1. 安装依赖包 $sudo yum install python3-devel.x86_642. 使用 python-config 来生成编译选项 $python3.6-config --cflags -…...

操作系统权限提升(二十三)之Linux提权-通配符(ws)提权

系列文章 操作系统权限提升(十八)之Linux提权-内核提权 操作系统权限提升(十九)之Linux提权-SUID提权 操作系统权限提升(二十)之Linux提权-计划任务提权 操作系统权限提升(二十一)之Linux提权-环境变量劫持提权 操作系统权限提升(二十二)之Linux提权-SUDO滥用提权 利用通配符…...

Zookeeper下载和安装

Zookeeper 1.下载 官方下载地址:https://zookeeper.apache.org/ 版本:apache-zookeeper-3.7.1-bin.tar.gz 2. 安装 2.1 本地安装 2.1.1 安装JDK 见:Hadoop集群搭建 2.1.2 上传安装包 使用远程工具拷贝安装包到Linux指定路径 /opt/s…...

Biomod2 (上):物种分布模型预备知识总结

Biomod11.栅格数据处理1.1 读取一个栅格图片1.2 计算数据间的相关系数1.3 生成多波段的栅格图像1.4 修改变量名称1.4.1 计算多个变量之间的相关性2. 矢量数据处理2.1 提取矢量数据2.2 数据掩膜2.2 栅格计算2.3 拓展插件的使用3. 图表绘制3.1 遥感影像绘制3.2 柱状图分析图绘制3…...

操作指南:如何高效使用Facebook Messenger销售(二)

上一篇文章我们介绍了使用Facebook Messenger作为销售渠道的定义、好处及注意事项,本节我们将详细介绍怎么将Facebook Messenger销售与SaleSmartly(ss客服)结合,实现一站式管理多主页配图来源:SaleSmartly(…...

计算机三级|网络技术|中小型网络系统总体规划与设计方案|IP地址规划技术|2|3

p3 p4一、中小型网络系统总体规划与设计方案网络关键的设备选型路由器技术指标性能指标综述吞吐量背板能力丢包率时延抖动突发处理能力路由表容量服务质量网管能力可靠性和可用性1 吞吐量指路由器的包转发能力,涉及两个内容:端口吞吐量和整机吞吐量&…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...