【阅读】-- PillarFlow : End-to-end Birds-eye-view Flow Estimation for Autonomous Driving
IROS 2020 , Toyota Research Institute 的一篇文章。
我们开发了一种基于激光雷达技术的场景运动估计系统,并将其与独立的目标检测模块结合使用。该系统通过端到端的学习架构实现了功能上的互补性。我们的方法采用两个连续且完整的LIDAR扫描数据作为输入源,在每个扫描过程中将三维空间信息转化为离散化的二维Bird's-Eye View(BEV)表示(也称为'Pillars')。在此基础上,我们对现有的光流网络进行了本地化优化设计,并通过引入特定层块提升了其在连续BEV特征网格间pillars匹配的效果。整个系统的训练和推理过程均基于真实世界数据进行充分验证,并通过多维度性能指标评估达到了较高的准确性和鲁棒性
Why BEV?
- 在自动驾驶技术中, 我们特别关注与之相关的动态过程, 特别是那些与车辆路径规划相关的动态过程。
- 基于这种欧几里得表示设计网络架构, 可以有效地以场景运动为先验信息构建感知模型。
- 相较于基于体积的方法而言, 二维表示不仅计算效率更高, 而且更适合并行化处理, 它能够与其他检测器共享感知信息。
Related Work
< 1> Scene / Point Flow Estimation
[1] S. A. Baur等人,“实时三维LiDAR流用于自动驾驶车辆。”在IV会议中发表于2019年。
[2] V. Vaquero等,“深度LiDAR卷积神经网络(CNN)用于分析移动车辆的动力学。”在ICRA会议上发表于2018年。
3D场景流方法主要针对的是精确预测每个三维场景中的点与点之间的对应关系。这些方法通常会面临巨大的计算开销,这使得实时部署在机器人平台上成为一个至关重要的障碍。
< 2> 占据网格图
[1] D. Nuss, S. Reuter, M. Thom, T. Yuan, G. Krehl, M. Maile, A. Gern, 和 K. Dietmayer在《国际机器人与自动化期刊》(IJRR)上发表了一篇题为“基于实时应用的动态占据网格图随机有限集方法”的论文[1]。
[2] S. Hoermann、M. Bach 和 K. Dietmayer在ICRA会议上提出了基于深度学习的动态占据网格预测方法[2]。
此外,在V会议中[3]、F. Piewak、T. Rehfeld、M. Weber 和 J. M. Zollner则介绍了使用全卷积神经网络进行动态物体检测的方法。
Dynamic occupancy grid maps (DOGMa) estimation.
Method
Step 1: voxelization
将雷达点云投射至同一坐标系中,并对其进行栅格化处理。基于柱状结构实现这一过程后形成的张量形状为(D,P,N)。其中,D代表point descriptors的数量,P表示柱体单元的数量,N则是单个柱体单元内包含的点数量。在本研究中,D被设定为9,并由以下分量构成:(x,y,z,r,x_c,y_c,z_c,x_p,y_p)。这些分量包括空间位置(x,y,z),反射率r以及单个柱体单元内的平均值(xc yc zc),并基于柱体中心位置计算出的位置偏差(xp yp)。
Step 2: Encoder
通过将voxelized pillars输入到简单的PointNet中进行处理后,生成一个包含三个维度信息的特征图:C代表通道数、P代表点的数量以及N代表空间分辨率。随后,在最后一个维度上执行最大值运算(max operation),这一步骤生成了每个pillar对应的编码特征向量。最终,在原始pillar的位置上重构伪图像(pseudo-image),其形状为(C, H, W)的形式。
Step3: 2D BeV Flow Network
根据PWC-Net的研究成果,在本研究中实现flow估计。如图所示。

将pillar features输入到特征金字塔网络(feature pyramid network)中进行进一步的特征编码。随后,在计算flow时采用cost volume层。其中,在计算匹配成本时将其定义为两个特征图之间的相关性。最后,在上下文网络中应用了一系列批处理归一化层、激活函数ReLU以及深度可分离卷积模块构成的操作实现其他优化。
Train
\mathcal{L} = \sum_{l=l_0}^{L} \alpha_l \sum_x |\hat{f}^l_\theta - f^l_{gt}|_2
Experiments
Dataset : nuScenes
flow 和 tracking 两个实验
