论文阅读:MotionNet基于鸟瞰图的自动驾驶联合感知和运动预测

news2024/12/23 10:10:39

MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird’s Eye View Maps

MotionNet:基于鸟瞰图的自动驾驶联合感知和运动预测

论文地址:MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird’s Eye View Maps | IEEE Conference Publication | IEEE Xplore

代码地址:GitHub - pxiangwu/MotionNet: CVPR 2020, "MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird's Eye View Maps"

概要

The ability to reliably perceive the environmental states, particularly the existence of objects and their motion behavior, is crucial for autonomous driving. In this work, we propose an efficient deep model, called MotionNet, to jointly perform perception and motion prediction from 3D point clouds. MotionNet takes a sequence of LiDAR sweeps as input and outputs a bird's eye view (BEV) map, which encodes the object category and motion information in each grid cell. The backbone of MotionNet is a novel spatiotemporal pyramid network, which extracts deep spatial and temporal features in a hierarchical fashion. To enforce the smoothness of predictions over both space and time, the training of MotionNet is further regularized with novel spatial and temporal consistency losses. Extensive experiments show that the proposed method overall outperforms the state-of-the-arts, including the latest scene-flow- and 3D-object-detection-based methods. This indicates the potential value of the proposed method serving as a backup to the bounding-box-based system, and providing complementary information to the motion planner in autonomous driving.

可靠地感知环境状态的能力,尤其是物体的存在及其运动行为,对于自动驾驶至关重要。在这项工作中,我们提出了一种称为 MotionNet 的高效深度模型,以从 3D 点联合执行感知和运动预测云。MotionNet 将一系列 LiDAR 扫描作为输入并输出鸟瞰图 (BEV) 地图,该地图在每个网格单元中编码对象类别和运动信息 MotionNet 的主干是一种新颖的时空金字塔网络,它提取深度空间和分层方式的时间特征。为了加强空间和时间预测的平滑性,MotionNet 的训练进一步规范化了新的空间和时间一致性损失。广泛的实验表明,所提出的方法总体上优于最先进的方法,包括最新的基于场景流和 3D 对象检测的方法。这表明所提出的方法作为基于边界框的系统的备份的潜在价值,并为自动驾驶中的运动规划器提供补充信息。

Motivation

这篇论文旨在解决在自动驾驶领域中传统方法所无法解决的问题,即在动态环境中,基于点云数据的目标检测和运动预测是一项至关重要的任务。因此,该论文提出了一个基于时间混合网络的新方法——MotionNet,可以同时对点云数据进行目标检测和运动预测。

  • 对象检测器很难泛化到训练集中从未出现过的类,从而导致下游模块出现灾难性故障。
  • OGM 的一个主要弱点是难以找到细胞之间跨时间的对应关系。这使得明确地模拟对象的动力学变得困难。此外,对象类别信息通常在 OGM 中被丢弃,因此不可能考虑对交通参与者运动的类别特定约束以进行关系理解。

整体架构流程

MotionNet 概述。给定一系列 LiDAR 扫描,我们首先将原始点云表示为 BEV 地图,这些地图本质上是具有多个通道的2D 图像。 BEV 图中的每个像素(单元格)都与沿高度维度的特征向量相关联。然后,我们将 BEV 映射输入时空金字塔网络(STPN) 以进行特征提取。 STPN的输出最终传递给三个head:(1)cell classification,感知每个cell的类别,比如车辆、行人或背景; (2)运动预测,预测每个细胞未来的运动轨迹; (3)状态估计,估计每个细胞当前的运动状态,如静止或运动。最终输出是 BEV 图,其中包括感知和运动预测信息。

技术细节

MotionNet管道包括三个部分:(1)从原始3D点云到BEV地图的数据表示;(2)时空金字塔网络为骨干;(3)特定任务的head,负责网格单元的分类和运动预测。

1. 自我运动补偿
输入是一系列3D点云,其中每个原始点云帧均由其本地坐标系描述。需要将所有过去的帧与当前帧同步,即通过坐标变换表示自我车辆当前坐标系内的所有点云。这对于抵消自动驾驶车辆的自我运动并避免虚假的运动估计至关重要。此外,它还为静态背景聚合了更多点,同时提供了有关运动对象运动的线索。

2. 基于BEV地图的表示
与2D图像不同,3D点云稀疏且不规则散布,因此无法使用标准卷积直接进行处理。为了解决这个问题,将点云转换为BEV地图,适用于经典2D卷积。具体来说,我们首先将3D点量化为常规体素。与Voxelnet与second通过PointNet 将每个体素内的点分布编码为高级特征不同,仅使用二进制状态作为体素的代理,指示体素是否被至少一个点占据。然后,将3D体素晶格表示为2D伪图像,其高度尺寸对应于图像通道。这样的2D图像实际上是BEV图,其中每个单元都与沿垂直轴的二进制矢量相关联。通过这种表示,可以将2D卷积应用于BEV地图而不是3D卷积。

与依靠3D体素或原始点云的现有技术相比,该方法允许使用标准2D卷积,在软件和硬件级别上都很好地支持它们,因此效率非常高。此外,BEV地图保留了高度信息以及度量空间,从而使网络可以利用先验技术对物体进行物理扩展。

3. 时空金字塔网络
如上所述,我们模型的输入实际上是2D伪图像序列。为了有效地捕获时空特征,遵循了有关视频分类任务的最新研究精神,即建议将庞大的3D卷积替换为低成本的卷积(例如2D卷积)。但是,与经典视频分类任务仅预测整个图像序列的一个类别标签不同,该任务的目标是在当前时间对每个BEV晶格单元进行分类,并估计其未来位置。特别地,有两个问题需要解决。首先,何时以及如何汇总时间特征,时间卷积的时间对于实现良好的性能至关重要 。其次,如何提取多尺度时空特征,这些特征对于捕获密集预测任务中的局部和全局上下文都是必不可少的。

为了解决这些问题,开发了时空金字塔网络(STPN),以分层的方式沿空间和时间维度提取特征;参见图3。STPN的基本构建块是时空卷积(STC)块。每个STC块均由标准2D卷积和紧随其后的退化3D卷积组成,以分别捕获空间和时间特征。3D卷积的核大小为k×1×1,其中k对应于时间维。这样的3D滤波器本质上是伪1D卷积,因此可以降低模型的复杂性。

为了促进多尺度特征学习,STPN使用STC块在空间和时间上计算特征层次。特别是,对于空间维,以缩放比例为2的比例在多个尺度上计算特征图。类似地,对于时间维,在每次时间卷积后逐渐降低时间分辨率,从而提取不同尺度的时间语义。为了在不同级别上融合时空特征,执行全局时间池化以捕获显著的时间特征,并通过横向连接将其传递到特征解码器的上采样层。这种设计鼓励局部和全局时空上下文的流动,这有利于密集预测任务。STPN的整体结构仅依赖2D和伪1D卷积,因此非常高效。

细胞分类和状态估计头的输出可用于抑制不需要的抖动(例如,背景可能具有非零运动)。灰色:背景;蓝色:车辆。箭头:动作。 (放大以获得最佳视图。)

4. 输出头

为了生成最终输出,在STPN的末尾附加三个头:(1)单元分类头,本质上执行BEV图分割并感知每个单元格的类别;(2)运动预测头,预测未来单元的位置;(3)状态估计头,估计每个小区的运动状态(即静止或运动),并提供用于运动预测的辅助信息。

小结

在大规模nuScenes数据集上评估了方法,并与环境状态估计的不同现有技术进行了比较,包括基于场景流和对象检测的现有技术。实验结果证明了该方法的有效性和优越性。研究表明MotioNet在现实环境中对自动驾驶的潜在价值:它可以与其他模块协同工作,并为运动计划提供互补的感知和运动信息。总而言之,工作的主要贡献是:

•提出了一种名为MotionNet的新型模型,用于基于BEV地图的联合感知和运动预测。MotionNet没有边界盒,可以为自动驾驶提供补充信息;

•提出了一种新颖的时空金字塔网络,以分层方式提取时空特征。这种结构简单且效率高,因此适合实时部署。

•发展出时空一致性损失,以约束网络训练,从而增强时空预测的平滑性;

•广泛的实验验证了方法的有效性,并提供了深入的分析来说明设计背后的动机。

本文主要介绍了一种名为MotionNet的模型,通过将LiDAR扫描转换成鸟瞰图,实现了对自动驾驶中物体的感知和运动预测。该模型采用了一种新颖的空间时间金字塔网络,可逐层提取深度的空间和时间特征。为了保证预测的平滑性,该模型还采用了新颖的空间和时间一致性损失。实验表明,MotionNet的性能优于目前最先进的方法,可以为自动驾驶提供补充信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1452288.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——系统文件I/O

系统文件I/O 注:学习本次内容之前,最好先对C语言文件操作有所了解 本章思维导图: 注:思维导图对应的.xmind文件和.png文件都已同步导入至资源,可供免费查阅 在以前学习的C语言中,我们可以通过fwrite和fre…

Ansible file文件模块 设置文件的属性,比如创建文件、创建链接文件、删除文件

目录 语法创建目录创建链接文件删除文件 每个值的属性 语法 创建目录 ansible slave -m file -a path/data/app statedirectory path/data/app # 定义创建路径 statedirectory # 如果目录不存在就创建目录这就是创建目录成功之后的回显 可以看到,已经打印出目录a…

智慧公厕:让智慧城市的公共厕所焕发“智慧活力”

智慧城市的建设已经进入了一个新的阶段,不仅仅是智慧交通、智慧环保,如今甚至连公厕都开始迎来智慧化时代。智慧公厕作为智慧城市的神经末梢,正在通过信息化、数字化和智慧化的方式,实现全方位的精细化管理。本文以智慧公厕源头专…

Ubuntu忘记登录密码重置步骤

Ubuntu忘记登录密码重置步骤 1.开机界面长按shitf键,进入grub,并选择Advanced options for ubuntu,按下回车 2.选择一个较新版本的recovery mode,按下回车 3.会跑一些数据,等待跑完后会出现下面的界面,选择…

pm2常用命令有哪些?

PM2 是一个流行的 Node.js 进程管理工具,用于管理和监控 Node.js 应用程序。以下是一些常用的 PM2 命令: 启动应用程序: pm2 start app.js这将启动名为 app.js 的 Node.js 应用程序。 列出所有应用程序: pm2 list这将列出当前所有…

牛客小白月赛87

A 思路&#xff1a;贪心。将数列倒序分别计算两人的和即可。 #include <bits/stdc.h> using namespace std; int a[110]; void solve() {int n;cin>>n;int sum10,sum20;int flag1;for (int i1;i<n;i) cin>>a[i];for (int in;i>1;i--){if(flag1){sum1a…

阿里云服务器租用收费标准价格表(2024年更新)

2024年最新阿里云服务器租用费用优惠价格表&#xff0c;轻量2核2G3M带宽轻量服务器一年61元&#xff0c;折合5元1个月&#xff0c;新老用户同享99元一年服务器&#xff0c;2核4G5M服务器ECS优惠价199元一年&#xff0c;2核4G4M轻量服务器165元一年&#xff0c;2核4G服务器30元3…

OpenCV中的边缘检测技术及实现

介绍: 边缘检测是计算机视觉中非常重要的技术之一。它用于有效地识别图像中的边缘和轮廓&#xff0c;对于图像分析和目标检测任务至关重要。OpenCV提供了多种边缘检测技术的实现&#xff0c;本博客将介绍其中的两种常用方法&#xff1a;Canny边缘检测和Sobel边缘检测。 理论介…

第三节作业:基于 InternLM 和 LangChain 搭建你的知识库

参考文档&#xff1a;https://github.com/InternLM/tutorial/tree/main/langchain 基础作业&#xff1a;复现课程知识库助手搭建过程 (截图) 1.环境配置 2.知识库搭建 &#xff08;1&#xff09;数据收集 收集由上海人工智能实验室开源的一系列大模型工具开源仓库作为语料库来…

Mybatis——Javaweb进阶学习(五)

目录 一、Mybatis快速入门1.创建Springboot工程&#xff0c;数据库表user&#xff0c;实体类User2.引入Mybaties相关依赖3.编写Sql语句 二、lombok1.基本概念2.使用方法 三、基础操作1.环境准备a.数据库准备b.创建员工实体类Emp数据类型对比命名对比 c.Mapper接口创建 2.删除操…

EasyRecovery2024功能强大的电脑数据恢复软件

EasyRecovery是一款功能强大的数据恢复软件&#xff0c;支持从各种存储介质中恢复丢失或删除的文件。以下是EasyRecovery的下载教程、功能介绍以及最新版本简介&#xff1a; EasyRecovery支持多种操作系统版本。对于Windows系统&#xff0c;它支持Windows XP、Windows Vista、W…

智能网卡(SmartNIC):增强网络性能

在当今的数字时代&#xff0c;网络性能和数据安全是各行各业面临的关键挑战。智能网卡是一项颠覆性的技术创新&#xff0c;对增强网络性能和加强数据安全性具有关键推动作用。本文旨在探讨智能网卡的工作原理及其在不同应用场景中的重要作用。 什么是智能网卡&#xff1f; 智…

QtApplets-线程池

QtApplets-线程池 ​ 今天咱们稍微看下Qt的线程池。QThreadPool&#xff0c;浅浅搞一下。 文章目录 QtApplets-线程池QThreadPoolQThreadPool 与 QThread 区别替代方案Qt Concurrent QThreadPool 与 Qt Concurrent 区别Demo运行效果 ☞ 源码 关键字&#xff1a; Qt、QRunnable…

Netty中的适配器、Handler共享和资源管理

ChannelHandler的适配器 有一些适配器类可以将编写自定义的ChannelHandler所需要的工作降到最低限度&#xff0c; 因为它们提供了定义在对应接口中的所有方法的默认实现。因为有时会忽略那些不感兴趣的 事件&#xff0c;所以Netty提供了抽象积累ChannelInboundHandlerAdapter(…

SORA:OpenAI最新文本驱动视频生成大模型技术报告解读

Video generation models as world simulators&#xff1a;作为世界模拟器的视频生成模型 1、概览2、Turning visual data into patches&#xff1a;将视觉数据转换为补丁3、Video compression network&#xff1a;视频压缩网络4、Spacetime Latent Patches&#xff1a;时空潜在…

HTTP缓存技术

大家好我是苏麟 , 今天说说HTTP缓存技术 . 资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) HTTP缓存技术 HTTP 缓存有哪些实现方式? 对于一些具有重复性的 HTTP 请求&#xff0c;比如每次请求得到的数据都一样的&#xff0c;我们可以把这对「请求-响…

Python爬虫之Splash详解

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx Splash 的使用 Splash 是一个 JavaScript 渲染服务&#xff0c;是一个带有 HTTP API 的轻量级浏览器&#xff0c;同时它对接了 Python 中的 Twisted 和 QT 库。利用它&#xff0c;我们同样可以实现动态渲染页面的抓取。 1. 功…

交换排序(冒泡排序和快速排序)

交换排序 冒泡排序 传统方法&#xff1a; for (int i 0; i < numsSize - 1; i) {for (int j 0; j < numsSize - 1 - i; j) {if (nums[j] > nums[j 1]) {Swap(&nums[j], &nums[j 1]);}} } 方法二&#xff1a; while循环for循环 int end numsSize - 1…

理解并实现OpenCV中的图像平滑技术

导读 图像模糊&#xff08;也称为图像平滑&#xff09;是计算机视觉和图像处理中的基本操作之一。模糊图像通常是噪声减少、边缘检测和特征提取等应用的第一步。在本博客中&#xff0c;我们将重点介绍如何使用Python中的OpenCV库应用多种模糊技术。 理论概述&#xff1a; 基本…

Netty中的内置通信模式、Bootstrap和ChannelInitializer

内置通信传输模式 NIO:io.netty.channel.socket.nio 使用java.nio.channels包作为基础–基于选择器的方式Epoll:io.netty.channel.epoll由JNI驱动的epoll()和非阻塞IO.这个传输支持只有在Linux上可用的多种特性&#xff0c;如果SO_REUSEPORT&#xff0c;比NIO传输更快&#xf…