MoNet: 基于运动的点云预测网络

  • 发表于: 2022-03-24 22:37:53 来源:搜狐汽车

作者 | 同济智能汽车研究所

摘要:预测未来可以显著提高智能车辆的安全性,因此这也是自动驾驶的关键组成部分。3D点云可精确建模周围环境的三维空间信息,便于智能车辆感知周围场景。因此,预测3D点云对汽车智能化具有重要意义,可用于许多后续应用。但是,由于点云是无序的,所以针对非结构化的点云进行预测具有挑战性,此前的文献也没有针对该方面进行深入探讨过。在本文中,我们提出了一种新型的基于运动的神经网络,命名为MoNet。MoNet的关键思想是结合两个连续点云之间的运动特征进入预测。引入运动特征能使模型能够更准确地捕获帧间的运动信息变化情况,从而做得更好对未来运动的预测。此外,还引入了内容特征,以便对单个点云的空间信息进行建模。同时我们提出一种名为MotionRNN的递归神经网络来捕捉以上两个特征的时序关系。此外,我们提出了一种基于注意力的运动对齐模块,以解决预测部分缺少运动特征的问题。在两个大型室外LiDAR数据集上进行的大量实验证实了MoNet的性能。此外,我们使用点云对预测应用进行了实验,结果表明我们提出的方法具有巨大的应用潜力。

关键词:自动驾驶汽车,点云预测,MoNet,汽车智能化

1 引言

预测未来是智能汽车的一项基本能力,预测将来会发生什么可以显着提高自动驾驶的安全性[26, 21, 40, 14, 2]。3D点云可以提供周围环境的精确3D建模,并已广泛应用于众多感知场景(例如,目标检测[28, 29, 37, 38], 语义分割 [10, 19, 35, 39])。与现有视频预测水平相比 [11, 14, 32, 33],基于3D点云的预测可以更好地理解周围场景[8],帮助智能化车辆感知环境并提前做出决定。

但是,3D点云是无序和非结构化的[23],这使得3D点云的预测比视频预测更具挑战性,所以在目前的文献中对点云预测的探索很少。

基于上述观察结果,本文中我们研究了一个名为"点云预测"的问题。具体地说,给定一个包含T帧点云的序列,点云预测旨在预测个未来帧。对未来点云的预测问题可以表述为每个点的运动预测问题。直观地说,预测模型应该是能够捕获点云帧间的运动信息的变化,从而估计两个点云之间的运动特征。然而,现有方法中尚未对在点云预测中引入运动特征的可行性进行探索[6,34]。

为了解决上述问题,我们提出了一个名为MoNet的基于运动的用于点云预测的神经网络。与以往作品不同[6,34],MoNet的关键思想是将连续的点云的运动信息集成在一起用于点云预测。使用运动编码器来提取两点云间的运动特征,使得网络准确地捕获运动信息的变化。引入单帧点云的内容特征是为了对点云本身的空间信息进行建模,这有助于保留点云的空间结构。内容特征和运动特征的组合可以利用互补的优势并带来更好的性能。我们提出了一个名为MotionRNN的递归神经网络(RNN),用于捕获两个特征帧之间的时序相关性。不同于只能处理一维特征的标准的RNN及其变体LSTM和GRU,MotionRNN将状态与点云坐标结合起来以保持点云的空间结构。在预测阶段,基于注意力的运动对齐模块通过估计运动特征,以解决下一点云的特征缺失问题。我们所提出的MoNet的整体架构如图1所示。

图1 MoNet的整体架构。左侧为嵌入部分,其中MECell(Motion EmbeddingCell)首先提取内容特征和运动特征,然后跨点云捕获时间信息。右边为推理部分,其中MICell被用来代替MECell来预测未来的帧。

为了验证所提出方法的可行性,我们在两个大型室外LiDAR点云数据集(即KITTI odometry数据集[7] 和 Argoverse 数据集 [1])上进行了广泛的实验。定性和定量结果都表明,我们所提出的MoNet显著优于基线方法,能够有效地预测未来的点云。此外,在点云对预测应用上的实验表明该方法巨大的应用潜力。

总而言之,我们的主要贡献如下:

• 一种名为MoNet用于点云预测的新型基于运动的神经网络,可以有效地预测未来的点云。

• 显式提取和集成运动特征用于点云预测,以及将运动特征和内容特征进行组合可带来更好的性能。此外,还提出了MotionRNN对两个特征的时间相关性进行建模。

• 提出了一种基于注意力的运动对齐模块,用于在没有未来的点云预测阶段进行运动特征的估计。

2 相关文献

接下来我们将简要回顾视频预测、序列点云处理和点云预测方向的相关文献。

视频预测视频预测旨在给定一系列先前帧之后预测未来图像。ConvLSTM [36] 将 2D 卷积引入LSTM以提取视觉表征,这是视频预测领域的一项开创性的工作。基于[36],Wang等人[33]提出ST-LSTM可以同时记忆空间外观和时间的变化。视频像素网络 (VPN) [12]利用像素CNN直接估计视频的原始像素值的离散分布。Villegas等人[31]提议分解运动和内容并独立捕获每个信息流。Eidetic 3D LSTM(E3D-LSTM) [32] 提出将 3D 卷积集成到 RNN 中,利用互补优势进行视频预测。生成对抗网络(GAN)也已广泛应用于视频预测,以提高生成的图像的质量[15,14]。

点云预测点云预测尚未被学界深入探索。Fan等人[6]提出了PointRNN对时间信息进行建模用于点云预测。他们提出了一种基于点的时空-局部相关性,命名为PointRNN取代标准RNN中用于处理移动点云的 串联操作。最近,Weng等人[34]采用编码器-解码器架构来预测未来的点云,并利用预测点云来执行轨迹预测。

3 方法

3.1 整体架构

给定一个点云序列,点云预测的目标是预测个未来帧点云。为了实现这个目的,我们提出了一种新颖的基于运动的神经网络,命名为 MoNet,整体架构如图 1所示。MoNet可以分为两个部分,即嵌入部分和推理部分。输入点云首先经过嵌入部分中,以提取内容和运动特征,并捕获点云之间的时间相关性。然后嵌入特征被传递到推理部分用于预测未来的点云帧。我们将第t帧的l层的点坐标、内容特征和运动特征表示为、和,其中是第l层点的数量,和分别是内容和运动特征的通道数。接下来将详细描述这两部分。

3.2 嵌入部分

如图1左侧所示,嵌入部分的关键组件是MECell(即 Motion Embedding Cell)。正如我们之前提到的,一个单独的帧的内容特征和连续帧的运动特征都可以有助于进行点云预测。然而过去的工作仅对点云序列的时序信息进行建模,并不考虑点云间的运动特征。如图2左侧所示,给定内容特征和来自最后一层l-1层的连续点云的点坐标和,内容编码器首先提取当前l层的点坐标和内容特征和。然后使用运动编码器生成对应于第t帧的运动特征,它对从第t帧到到t+1帧的每点运动信息进行建模。之后t-1帧的、、、状态和坐标被传递到名为 MotionRNN循环神经网络,以同时捕获运动特征的时序信息和点云的内容特征,并生成当前第t帧点云的状态。

图2 左:MECell(运动嵌入单元)。右:MICell(运动推理单元)。

3.2.1 内容编码器

我们采用类似 PointNet++[24] 的结构来编码点云的内容特征。给定最后一层的和,首先个点是从使用最远点采样(FPS)得到的。为了每个点,在中使用k-最近邻(kNN)搜索围绕在周围的k个相邻点方法来生成集群。相对坐标和相对距离作为聚类的几何特征进行计算,其中表示欧几里得距离。然后将几何特征与内容特征组合生成特征图,其中是对应的内容特征。之后,所有集群的特征图都被传递到多层感知器(Shared-MLP),其中最大池化层用来生成当前l层的内容特征。

3.2.2 运动编码器

我们提出了运动编码器来对两个连续点云之间的运动信息进行建模。运动编码器的输入是两个点云的坐标和内容特征、,输出是从到的运动特征。对于中的每个点,我们在中搜索k个相邻点,并使用与内容编码器类似的策略来生成几何特征。特征图是一个串联的几何特征,相邻点的内容特征和中心点的内容特征。在那之后,使用 Shared-MLP 生成运动特征。直观上看,两个点云的内容特征和两帧之间的几何特征都有助于生成的运动特征,这使得运动编码器捕捉内容特征的变化和两个点云的点标。因此,第t帧的运动特征可以被认为是从第t帧到第t+1帧的运动信息。

3.2.3 MotionRNN

像 LSTM 和 GRU 这样的通用 RNN 模型只能处理一维特征。然而,空间信息在点云的表示中很重要。一维全局特征很难保留点云的空间结构和局部细节,因此不能适用于大规模点云预测。鉴于上述考虑,我们提出了一种新的循环神经网络,名为 MotionRNN,用于点云预测。MotionRNN 的关键思想是状态和点坐标一一对应,之后内容和动作组合特征以更新状态。MotionRNN的输入是上一帧的点和状态,当前帧的点,内容特征和运动特征,输出是当前帧的点和状态。

我们提供了两个版本的 MotionRNN,即 MotionGRU 和 MotionLSTM。以 MotionLSTM 为例,状态由隐藏状态和内部状态组成。对于中的每个点, 在中搜索 k 个相邻点,以及用在内容编码器中类似的策略生成几何特征还有集群。将隐藏状态和内部状态簇的状态记为和,则 MotionLSTM 在第 l 层第 t 步的更新可以表示为:

其中、和分别表示 Sigmoid 函数、串联运算和 Hadamard 积。类似地,MotionGRU 的更新可以表示为方程2,其中状态仅由隐藏状态组成。

与标准 RNN 模型相比,所提出的 MotionRNN 将状态与坐标一一对应。这表示可以很好地保持点云的空间结构,因此更适用于点云预测。与 PointRNN [6] 不同,运动特征和内容特征被合并到循环神经网络中,这使得网络能够同时捕捉运动信息和帧间空间信息的时间关联性。

3.3 推理

在嵌入过程中,提取了运动特征和内容特征,时间相关性使用提出的 MotionRNN进行建模。在一般的预测模型中,推理部分中的过程与嵌入部分中的过程完全相同,其中嵌入部分最后一帧的输出状态被复制到推理部分的第一个单元,以进行预测第一个未来帧 [30, 36]。但是,这种一般策略不适用于我们的方法。我们注意到第t帧的运动特征是使用第t帧和第t+1帧的内容特征生成的。但是,对于嵌入部分来说最后一帧的下一帧,即 T + 1帧不存在,所以第T帧的运动特征是不可用的。

为了解决上述问题,我们提出MICell(即,Motion Inference Cell)应用于推理部分,用于替换嵌入部分中的MECell。MICell的架构如图2的右侧所示。给定、内容编码器和运动编码器与MECell中相同。然而,为了克服第t帧缺乏对应的运动特征,在运动之后应用运动对齐模块,将t-1帧的运动特征与第t帧对齐,这是 MECell 和 MICell 之间的唯一区别。然后将估计的运动特征和内容特征与坐标一起输入到 MotionRNN生成状态。最后是解码器将第 t 帧的隐藏状态解码为的 3D 场景流,和未来点云可以通过进行计算。这里我们采用PointNet++ [24]中的特征传播模块作为解码器和并多粒度解码隐藏状态。

3.3.1 运动对齐

引入运动对齐模块,从上一帧的运动特征来估计当前帧 t 的运动特征 ,其中注意运动特征与点坐标一一对应。为了估计运动特征,基于两个连续点云之间的时间间隔小的前提,做出以下两个基本假设:(1) 从第 t-1 帧到第t 帧,一个点的运动是有限的;(2) 从第 t-1 帧到第 t 帧,一个点的运动特征不会发生显著变化。基于以上两个假设,当前帧一个点的运动特征可以根据它在前一帧中的相邻点的运动特征进行估计。

这里我们采用注意力机制来进行运动特征估计。所提出的运动对齐模块的网络架构如图3 所示。以的一点为例,在中搜索k 个相邻点,并使用与内容编码器中描述的相同的操作提取几何特征。然后将几何特征与运动特征结合生成特征图。通过Shared-MLP、Softmax 函数和maxpool 层来预测每个相邻点的注意力权重。第t帧的一个点的运动特征可以表示为t-1帧中相邻点的运动特征的加权和。此操作将应用于所有点生成运动特征。直观地说,注意力机制可以为近邻点分配更高的权重。因此,运动对齐模块可以合理估计第 t 帧的运动特征。

图3 运动对齐模块的架构。左边的圆圈代表一个k-最近邻簇,其中红点是第t帧中的一个点,蓝点是第t-1帧中的相邻点,白点表示第t帧t中的其他点。

3.3.2 损失

我们在真实点云和预测点云之间采用倒角距离(CD)作为损失函数。倒角距离 [5] 为一种常用的度量标准,用于衡量两个点云之间的相似性,可以表示为:

4 实验

4.1 数据集

我们将所提出的方法在两个大型户外 LiDAR 数据集上进行评估,即 KITTI 里程计数据集 [7]和 Argoverse 数据集 [1]。KITTI 数据集包含 11 个带真值的序列 (00-11),我们使用序列 00到 05 训练网络,06 到 07 验证,08 到 10测试。我们在 Argoverse 数据集中使用 3D 跟踪分支并按照默认拆分来训练、验证和测试网络。对于每个数据集,我们采样 10 个连续的点作为一个序列,其中前 5 帧是输入点云和最后 5 帧用作对比预测点云的真值。

4.2 基线方法

我们将我们的方法与几种基线方法进行比较来展示性能。(1)PointRNN(LSTM)和 PointRNN (GRU):[6]中提出了PointRNN,我们将使用 LSTM 和GRU的两种变体称为PointRNN (LSTM)和PointRNN (GRU)。由于[6]中点云的不同预处理,网络在两个数据集上重新训练。(2)PointNet++(LSTM)和PointNet++ (GRU):基于PointNet++[24]的编解码器架构,我们定义了两个额外的基线。首先,输入点云被编码为一维全局特征。之后,LSTM 或GRU用于对时间信息进行建模,并将生成的全局特征解码为预测的每点动作,来生成未来点云的。(3)场景流:我们利用3D场景流估计网络FlowNet3D[17],估计最后两个输入点云之间的3D场景流,并使用估计的场景流进行预测未来的点云。FlowNet3D 在两个数据集上进行了微调,以获得更好的性能。

4.3 实施细节

注意我们提供了两个版本的 MotionRNN,分别命名为MotionLSTM 和 MotionGRU,以及使用这两个版本的MoNet分别表示为 MoNet (LSTM) 和 MoNet(GRU)。我们堆叠多层MECell 和 MICell 以构建分层结构,如图 1 所示,我们使用 3层架构进行具体实现。第一个MECell的最后一帧的点和状态被初始化为零,并且第一层(即输入点云)的输入内容特征被初始化为零。该网络是使用 PyTorch [22] 实现的,将Adam [13] 用作优化器。训练期间的 点云由使用随机采样下采样到 16384 个点构成。网络在英伟达 GeForce RTX 2080Ti上进行训练和评估。补充材料中提供了有关网络结构的更多详细信息。

4.4 定性评价

我们提供了几个在KITTI 里程计数据集上的定性评估结果,如图4所示。点云是在预处理期间下采样得到 32768 个点。图像从左到右显示从帧 t = 1 到 t = 5的未来点云,不同的行代表不同方法的结果。为了公平比较,所有使用循环神经网络的方法都基于 GRU。此外,我们放大一个包含车辆的点云区域用于更好的可视化。如图4所示,我们的 MoNet (GRU) 预测的点云比其他基线方法更符合地面实况点云。从放大的点云中,我们所提出的方法精确地预测了车辆的位置,并且点云的几何形状得到了很好的保留。与我们的方法相比,来自 PointNet++ (GRU)的车辆的点云发生了变形,这是由于一维全局特征的代表能力差。PointRNN(GRU)由于缺乏显式建模,无法正确预测车辆的位置。根据定性结果,我们所提出的方法可以精确地预测运动点云,很好地保留了点云的细节。

图4 KITTI里程计数据集上不同方法的预测点云的定性可视化。从左到右分别是从t = 1到t = 5预测的未来点云。从上到下的行显示点云真值和MoNet (GRU)、PointRNN (GRU)、PointNet++ (GRU) 和场景流的预测结果。

4.5 定量评价

4.5.1 评估指标

我们采用两个指标来评估性能,即倒角距离 (CD)[5] 和推土机距离(EMD) [25]。CD 在前面的方程式 3 中进行了描述。EMD 也是比较两个点云的常用指标,是通过解决两个点云之间的线性分配问题来实现的。给定两个点云和, EMD 如下进行计算:

其中是到的双射。因为EMD的高计算复杂度,点云在定量评价中使用随机采样将采样率降低到 16384的预处理。

4.5.2 倒角距离

我们计算5个未来帧上的真实点云和预测点云之间的倒角距离(CD),在KITTI和 Argoverse数据集进行测试,并将结果展示在图5中。为了更好的比较,我们分别在图 5 中的左侧两幅图像和右侧两幅图像上使用LSTM 和 GRU方法。我们方法在两个数据集上,相较其他基线方法有明显优势。例如,MoNet (LSTM) 在KITTI 数据集上的平均 CD比最佳基线PointRNN(LSTM)小约30%。倒角距离随着预测帧数增加,这是由于不确定性增加。然而,我们的CD的增长速度比其他方法慢得多,这证明了所提出方法的鲁棒性。

图5 在KITTI 里程计数据集和 Argoverse 数据集上提出的方法和基线方法的倒角距离。左边两张图片显示了使用LSTM的结果,右边的两张图片显示了使用 GRU 的结果。

4.5.3 推土机距离

类似于倒角距离,推土机距离在两个数据集上的(EMD)如图6所示。相较于CD,EMD 对局部细节和点云的密度分布[16]更加敏感。根据图 6,提出的 MoNet 明显优于其他的基线方法。例如,我们 MoNet (GRU) 在 Argoverse 数据集的第 5 帧的EMD比 PointRNN (GRU) 小约 8%,比 PointNet++ (GRU) 小 15%。较低的 EMD 表明我们的方法更好地保留点云的局部细节,定性实验结果也验证了这一点。

图6 KITTI里程计数据集和Argoverse数据集上提出的方法和基线方法的推土机距离 (EMD)。左两张图显示了使用LSTM的EMD,右两张图显示了使用 GRU 的结果。

4.6 效率

当LiDAR 生成一个新的点云时,我们注意到以前的帧的内容特征和动作特征不需要重新计算。用16384、32768和65536个点来预测5个未来帧的计算时间如表1所示。从结果来看,我们所提出的方法和PointRNN具有相似的计算时间。然而,PointRNN 实现了更好的性能。具体来说,65536 个点的情况下,我们方法的计算时间是280 ms,这也低于通常LiDAR (10 Hz) 生成 5 帧所需的时间。

表1 预测具有不同点数的点云未来5帧的计算时间 (ms)

4.7 应用

点云预测可以应用于许多场景,如 3D 目标检测和语义分割。以3D目标检测为例,我们采用PV-RCNN [28] 从原始点云中检测汽车并预测。我们使用一个名为精度的指标评估预测点云的质量。如果一辆车的预测分数大于阈值,则判定为检测到车辆。对于原始点云中检测到的每辆汽车,我们在预测点中搜索最近的检测,如果 2D 欧几里得距离在阈值内且航向误差在,则预测点云中的检测被认为是有效的,精度定义为有效检测的比率。此外,我们还计算了平均欧几里得有效距离(AED)和平均航向误差(AHE),用于评估预测点云的准确性。实验在KITTI 数据集的序列 08 上进行,其中点云的数量设置为65536。结果如表2所示。根据表2,我们的方法的5帧的平均精度方法为 0.763,显着优于其他基线方法。结果还表明,预测点云与真值之间的高一致性。此外,低 AED 和 AHE 表明,预测点云中的有效检测接近到点云真值。3D对象检测的可视化见补充材料。3D物体检测实验表明,预测点云可用于进一步感知,未来具有很大应用潜力。

表2 不同方法预测的点云的精度、平均欧几里得距离 (AED) 和航向误差 (AGE)

4.8 消融研究

4.8.1 MotionLSTM还是MotionGRU?

我们提供了两个版本的 MotionRNN(即,MotionLSTM 和 MotionGRU)对时间相关性进行建模。为了比较两个版本的性能,我们计算5 个未来点云帧的平均倒角距离 (CD) 和推土机距离(EMD),并在表3中显示结果。根据结果,MoNet(LSTM)的性能和 MoNet (GRU) 高度相似,这表明所提出的方法受不同的循环神经网络架构影响较小。MoNet (GRU) 的表现略好于 MoNet (LSTM)。此外,MotionGRU 的网络参数小于MotionLSTM,这也导致更快的推理速度和更低的内存使用量。总体而言,MoNet(GRU) 可能是点云预测的更好选择。

表3 MoNet (LSTM) 和MoNet (GRU)在两个数据集上的平均 CD (m) 和 EMD (m)。

4.8.2 运动特征和内容特征

正如我们之前所说,运动特征和内容特征都可以对未来点云的预测做出贡献。为了证明运动特征和内容特征结合的重要性,我们分别去除运动特征和内容特征来比较模型表现。图7 从上到下的行显示了,车辆的真值点云、完整 MoNet (GRU) 的预测结果和分别没有运动特征和内容特征的预测结果。该模型没有运动特征会导致有偏差的运动估计。没有内容特征的模型可以正确预测运动,然而点云略有变形。包括和缺失运动特征和内容特征的 MoNet (GRU) 的平均 CD 和 EMD 如表4 所示。根据结果,内容特征和运动特征的组合显著提高了MoNet的性能。例如,没有运动特征和内容特征的 CD 是 0.092 m 和 0.083 m,均分别高于 KITTI 数据集上的完整 MoNet (GRU)。此外,完整模型的EMD也比没有运动或内容特征的模型更低。内容和动作特征的结合利用了两个特征的优势,以获得精确的运动估计和更好地保留局部细节。

图7 从左到右是未来帧 t = 1, 3, 5。从上到下是真值、完整 MoNet (GRU)模型的结果和无运动特征和无内容特征模型结果。

表4 在两个数据集上,MoNet (GRU)有无运动特征和内容特征的平均CD (m)和 EMD (m)。

5 结论

在本文中,我们探讨了一个名为点云预测的问题,旨在预测给定过去点云序列的未来帧。为了实现这一点,我们提出了一个基于运动的神经网络 MoNet。具体来说,我们提出的MoNet 将运动特征集成到预测部分中,并将其与内容特征相结合。此外,一个名为 MotionRNN 的递归神经网络,用来捕获跨点云序列的两个特征的时间相关性;一种新颖的运动对齐模块用于估计没有未来点云帧的运动特征。在 KITTI 里程计数据集上进行了定性和定量实验,Argoverse 数据集用于展示模型性能。大量消融研究表明,运动和内容特征的结合使模型能精确预测运动并很好地保留结构。此外,应用实验也揭示所提出方法的实际潜力。

本文译自:

《MoNet: Motion-based Point Cloud Prediction Network》

文章来源:

IEEE Transactions on Intelligent Transportation Systems, PP(99):1-11(2021)

作者:

Fan Lu, Guang Chen, Yinlong Li, Zhijun Li, Sanqing Qu, Tianpei Zou

通讯联系:guangchen@tongji.edu.cn

原文链接:

参考文献: