文章解读 -- MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird’s Eye

文章解读 – MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird’s Eye View Maps

摘要

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

1. 介绍

环境状态评价通常包括两个任务:(1)感知,从背景中识别前景对象;(2)运动预测,预测对象的未来轨迹。传统的环境感知方法主要依赖于包围盒的检测,通过图像2D,点云3D和融合的方式。检测的包围盒被送入到追踪器中,进行运动预测。另一个可替代方向是使用占据格网图(OGM)代表环境信息,可以为可行驶区域和运动规划提供支持。缺点是随时间,难以找到网格之间的联系,而且物体类别信息被丢弃了。

基于此,BEVmap拓展了OGM,提供了三个重叠的信息:占据、运动和类别信息。我们的模型MotionNet,即使针对训练集中没有的物体。模型的核心是新奇的时空金字塔网路(STPN),STPN在层次结构中执行一系列时空卷积(STC),每个STC依赖于2D空间卷积,然后是轻量级的伪 1D 时间卷积,STPN 的输出被传送到不同的头:网格分类、状态估计和运动预测。
总结我们做的主要工作:

  • 我们提出了一种新的模型,称为MotionNet,用于同时进行BEV图的感知和运动预测。MotionNet对边界框不做要求,可以为自动驾驶提供补充信息;
  • 我们提出了一种新颖的时空金字塔网络,在层次结构中提取时空特征。这种结构轻巧高效,适合实时部署;
  • 我们开发空间和时间一致性loss,来约束网络训练,在空间和时间上加强预测的平滑性;
  • 大量实验验证了我们的有效性方法,并提供深入的分析来说明,我们设计背后的动机。

2. 相关工作

感知。现有检测工作分三类:图像2D,点云3D和融合的方式。
运动预测。典型方法是依赖于准确的物体检测和追踪轨迹的获取。另一种是联合3D物体检测、追踪和运动预测。
流估计。依赖于输入数据,运动信息从2D光流和3D场景流获取。

3. 方法

在本节中,我们介绍 MotionNet,见下图。包括三个部分:
文章解读 -- MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird’s Eye_第1张图片
(1) 原始 3D 点云到 BEV 地图的转化;
(2) 时空金字塔网络作为骨干;
(3) 特定任务head,用于网格单元分类和运动预测。

3.1 自身运动补偿

我们需要将所有过去的多帧同步对齐到当前的帧,即表示其中的所有点云都是基于当前坐标系,这样避免了自车运动所带来的影响。

3.2 基于BEV地图的表征

不像PointNet那种每个体素带有高维特征,我们只使用二进制0/1代表体素,表示体素是否有点云占据。然后将3D体素转为为2D伪图像,高度的维度对应图像里面的通道。通过标准2D卷积计算,软硬件支持更友好。

3.3 时空塔式网络

参考视频分类任务的相关成果,我们使用low-cost(例如2D卷积)取代笨重的3D卷积。我们目标是分类当前时刻每一个BEV格子单元和估计它的未来位置。有两个问题需要阐述:一是何时和怎样做才能增强时序特征,二是怎样提取多尺度的时空特征,该特征用来捕获局部和全局语义。下图是SPTN网络结构,由STC模块组成,内部包含标准的2D卷积,来捕获时空特征。3D卷积的核大小是k×1×1,其中k对应于时间维度。这样的 3D 滤波器本质上是一个伪 1D 卷积,因此能够降低模型复杂性。
文章解读 -- MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird’s Eye_第2张图片
特别地,对于空间维度,我们使用缩放步数:2,在多个尺度上计算特征图。同样,对于时间维度,我们每层时间卷积后,逐渐降低的时间分辨率,从而提取不同的时间语义。我们使用全局的时序池化来提取显著的时间特征,通过横向链接将他们传递给特征解码的上采样层。

3.4 输出头

我们再SPTN网络结束位置增加了3个头
1)单元格分类头,对BEV图分割和感知每个格的类别;
2)运动预测头,预测未来单元格的位置;
3)状态估计头,估计每个单元格运动状态,为运动预测提供辅助信息。
运动预测头采用平滑L1的loss进行训练,但是可能会带来静态单元格的异常抖动。我们从其他两个头的输出来规范单元格的轨迹。对于静态背景,如停靠的车辆,使用阈值参数来抑制。
评论。与基于边界框的方法相比,上述设计可能能够更好地感知训练集之外的物体。

3.5 loss 函数

对于分类与状态估计头,我们使用交叉商loss,运动预测头我们使用平滑的L1 loss。以上的loss,仅能够在全局范围内规范网络训练,但不保证局部的时空一致性,故需要增加以下的loss。

  • 空间一致性loss
    L s = ∑ ∑ ∥ X i , j r − X i ‘ , j ‘ r ∥ L_s = \sum \sum \lVert X_{i,j}^{r} -X_{i^`,j^`}^{r} \rVert Ls=Xi,jrXi,jr
    X代表预测位置(i,j),减少计算,我们只与X的临近索引做计算。

  • 前景时间一致性loss
    L f t = ∑ ∥ X o k r − X o k r + t ∥ L_{ft}= \sum \lVert X_{ok}^{r} -X_{ok}^{r+t} \rVert Lft=XokrXokr+t
    我们认为连续两帧之间运动不会出现尖锐的变化,这里的X是代表物体k的平均运动。

  • 背景时间一致性loss
    L b t = ∑ ∥ X i , j r − T i , j ( X ~ r − t ) ∥ L_{bt}= \sum \lVert X_{i,j}^{r} -T_{i,j}(\tilde X^{r-t}) \rVert Lbt=Xi,jrTi,j(X~rt)
    其中T代表自身运动,或者从ICP配置算法得到。

  • 总的loss如下
    L = L c l s + L m o t i o n + L s t a t e + α L s + β L f t + γ L b t L = L_{cls} + L_{motion} + L_{state} + \alpha L_s + \beta L_{ft} + \gamma L_{bt} L=Lcls+Lmotion+Lstate+αLs+βLft+γLbt

4. 实验

利用nuScene数据集做的评估实验。

数据集
++单元格运动的真值获取,将每个bbox中的每个单元运动,计算方式为Rx+c-x,R是box中心位置相对自车的旋转,x代表单元格的位置,c是bbox的中心++。bbox以外的单元格,我们将运动信息置为0。850个场景数据,500个训练,100个验证,250个测试。
我们将每个场景分成片段作为输入网络。为了减少冗余,每个剪辑片段只包含对应于当前时间的关键帧,以及与关键帧同步的四个历史帧。关键帧以2Hz采样用于训练,而对于验证/测试它们以1Hz采样以减少相似性。每个剪辑片段中,两连续的时间跨度为200ms。增加一些剪辑片段(关键帧+50ms),与关键帧剪辑片段组成对,用来计算时序一致性loss。

实现细节
点云范围[-32,32]×[-32,32]×[-3,2],voxel尺寸(0.25,0.25,0.4)。我们使用连续的5帧提取时序信息,定义了五种类别:背景,车辆,行人,自行车,其他。其他包含nuScene中所有存在的前景目标。

评价标准
对于运动预测,将单元格分成三类速度:静态,低速(<5m/s),高速(>5m/s)。每一个组别中计算平均值和中值。
对于分类:单元格分类准确度(OA),平均类别准确度(MCA)。

4.1 结果

文章解读 -- MotionNet: Joint Perception and Motion Prediction for Autonomous Driving Based on Bird’s Eye_第3张图片

4.2 消融实验

主要测试几个影响因素:帧数、自运动补偿、输入数据表征、时空特征提取、预测策略

你可能感兴趣的:(文章解读,深度学习,计算机视觉,人工智能,目标检测,自动驾驶)