首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用单一卷积网实时进行端到端3D检测,跟踪和运动预测

使用单一卷积网实时进行端到端3D检测,跟踪和运动预测

作者头像
点云PCL博主
发布2019-10-09 15:00:45
9410
发布2019-10-09 15:00:45
举报
文章被收录于专栏:点云PCL点云PCL

2018 CVPR

Wenjie Luo,Bin Yang and Raquel Urtasun

Uber Advanced Technologies Group

University of Toronto

原文链接:

http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/3013.pdf

摘要

本文提出了一种新的深度神经网络,该网络能够对三维传感器采集到的数据进行联合推理、跟踪和运动预测。通过对这些任务的联合推理,我们的整体方法对遮挡和范围内的稀疏数据更为鲁棒。我们的方法在三维世界的鸟瞰图表示上执行跨空间和时间的三维卷积,这在内存和计算方面都非常有效。我们在几个北美城市捕获的一个新的超大规模数据集上的实验表明,我们可以在很大程度上超过最先进的数据集。重要的是,通过共享计算,我们可以在30毫秒内完成所有任务。

1、介绍

现代的自动驾驶方法将问题分为四个步骤:检测、目标跟踪、运动预测和运动规划。当检测器的输出被用作跟踪器的输入时,通常使用级联方法,其输出被输入到运动预测算法中,该算法估计交通参与者在未来几秒钟内的移动位置。这将依次反馈给运动规划器,该规划器将估计自身汽车的最终轨迹。这些模块通常是独立学习的,不确定性通常很少传播。这可能导致灾难性故障,因为下游进程无法从管道开始处出现的错误中恢复。

相比之下,本文提出了一种端到端的全卷积方法,该方法利用三维传感器捕获的时空信息同时进行三维检测、跟踪和运动预测。我们认为这一点很重要,因为跟踪和预测可以帮助目标检测。例如,利用跟踪和预测信息可以减少处理遮挡或远处对象时的假阴性检测。假阳性也可以通过积累证据来减少。此外,我们的方法非常有效,因为它在所有这些任务之间共享计算。这对于延迟可能致命的自动驾驶非常重要。

我们利用三维传感器的优势,设计了一个在鸟瞰三维世界(BEV)上运行的网络。这种表示尊重传感器数据的三维特性,使得学习过程更容易,因为网络可以利用对象典型尺寸的先验知识。我们的方法是一个单级检测器,它以多个连续的时间帧生成的4D张量作为输入,在空间和时间上执行3D卷积以提取精确的3D边界盒。我们的模型不仅在当前帧生成边界框,而且在将来生成多个时间戳。我们通过一个简单的池操作从这些预测中解码tracklet,该操作结合了来自过去和当前预测的证据。

图1:我们的方法概述:我们的FaF网络以多帧为输入,执行检测、跟踪和运动预测。

我们在一个从北美多辆汽车上采集的大规模数据集上证明了我们的模型的有效性,并且表明我们的方法明显优于最先进的方法。此外,所有任务只需30毫秒。

2、相关工作

二维目标检测:在过去的几年里,许多利用卷积神经网络来产生精确的二维目标检测的方法,通常是从单个图像中,已经发展出来。这些方法通常分为两类,这取决于它们是否利用了创建对象建议的第一步。现代两级检测器[24,8,4,11]利用区域建议网络(RPN)来学习潜在目标所在的感兴趣区域(RoI)。在第二个阶段中,最终的边界框位置是根据在建议投资回报率上平均汇集的特征来预测的。Mask Rcnn[8]也采用了这种方法,但是使用了与RoI对齐的特性来解决RoI池的边界和量化效应。此外,他们还添加了一个额外的分割分支,以利用密集的像素级监控,在二维图像检测和实例分割方面都取得了最新的结果。另一方面,一级检测器跳过建议生成步骤,而是学习直接生成对象边界框的网络。著名的例子是YOLO[23]、SSD[17]和RetinaNet[16]。单级检测器在计算上非常吸引人,并且通常是实时的,特别是借助于最近提出的架构,例如MobineNet[10],SquezeNet[31]。在Lin等人之前,一级探测器是由两级方法显著形成的。[16]通过利用焦距损失和密集预测显示了最新的结果。

三维物体检测:在机器人应用中,例如自动驾驶,我们对在三维空间中检测物体感兴趣。现代二维图像检测器的思想可以转化为三维目标检测。Chen等人[2]使用立体图像执行三维检测。Li[15]使用了三维点云数据,并建议在点云的体素化表示上使用三维卷积。Chen等人[3]将图像和三维点云与融合网络相结合。他们在BEV中利用了二维卷积,但是他们使用手工制作的高度特征作为输入,他们在KITTI[6]上取得了很好的结果,但是由于在3D点云和图像上都进行了大量的特征计算,每帧只能运行360ms。这是非常缓慢的,特别是如果我们有兴趣扩展这些技术来处理时态数据。

目标跟踪:在过去的几十年中,许多方法已经发展为目标跟踪。在本节中,我们简要回顾了深度学习在跟踪中的应用,使用预训练的CNNs提取特征,并使用相关[18]或回归[29,9]进行跟踪。Wang和Yaung[30]使用自动编码器学习有助于跟踪的良好特征表示。Tao等人[27]使用暹罗匹配网络进行跟踪。Nam和Han[21]在推断时间微调了CNN,以跟踪同一视频中的对象。

运动预测:这是在给定多个过去帧的情况下,预测每个对象在未来的位置的问题。Lee等人[14]建议使用递归网络进行长期预测。Alahi等人[1]使用LSTMs对行人之间的相互作用进行建模,并进行相应的预测。Ma等人[19]提出利用博弈论的概念来模拟行人之间的相互作用,同时预测未来的轨迹。一些工作也集中在动态物体的短期预测上[7,22]。[28]使用可变自动编码器[26,20]对密集的像素级短期轨迹进行预测,该编码器聚焦于预测视频的未来帧,而无需显式地推理每像素运动。

多任务方法:Feichtenhofer等人[5]提出从视频中联合进行检测和跟踪。本文提出了一种利用时间信息的单一网络,解决了在训练过程中两幅输入图像之间对应对象的位移,并在推理过程中将其解码为对象管的问题。自主驾驶场景下的三维检测、短期运动预测与跟踪。虽然时间信息为我们提供了运动预测的重要线索,但整体推理使我们能够更好地通过网络传播不确定性,提高我们的估计。重要的是,我们的模型是超级高效的,并以33 fps的速度实时运行。

3、联合三维检测、跟踪和运动预测

在这项工作中,我们将重点放在利用一个产生三维点云的传感器来检测物体上。为了实现这一目标,我们开发了一种单级检测器,它以多帧为输入,对未来物体的运动轨迹进行检测、跟踪和短期运动预测。我们的输入表示是一个4D张量,它在多个时间帧上对3D空间的占用网格进行编码。我们利用空间和时间上的三维卷积来产生快速准确的预测。由于点云数据在三维空间中固有的稀疏性,与在三维空间和时间上进行4D卷积相比,我们的方法节省了大量计算。我们称我们的方法为快速和愤怒(FaF),因为它能够在30毫秒内创建非常精确的估计。

在下面,我们首先在3.1节中描述我们的数据参数化,包括体素化和我们如何整合时间信息。在3.2中,我们介绍了我们的模型的体系结构,然后是我们用来训练网络的目标(3.3节)。

3.1

数据参数化

在这一节中,我们首先描述我们对世界的单帧表示。然后,我们扩展我们的表示来利用多个帧。

体素表示:与输入密集RGB图像的图像检测不同,点云数据本质上是稀疏的,并提供有关3D场景的几何信息。为了得到易于卷积的表示,我们对三维世界进行量化,形成三维体素网格。然后,我们为每个体素编码指定一个二进制指示符,如果体素的三维空间中至少存在一个点,我们就说体素被占用了。由于网格是一个规则的网格,卷积可以直接使用。我们不在单帧表示中使用3D卷积,因为这个操作将浪费大部分计算,因为网格非常稀疏,即大多数体素没有被占用。相反,我们执行二维卷积并将高度维度视为通道维度。这允许网络学习提取高度维度中的信息。这种对比方法,如MV3D[3],在x-y平面上执行量化,并通过计算手工制作的高度统计来生成z维的表示。注意,如果我们的网格分辨率很高,我们的方法相当于在每个点上应用卷积而不丢失任何信息。我们让读者参考图2,了解如何从三维点云数据构造三维张量。

图2:体素表示:直接使用高度作为输入特征。

添加时间信息:为了进行运动预测,考虑时间信息至关重要。为了达到这个目标,我们从过去的n帧中获取所有的3D点,然后在当前的车辆坐标系中执行坐标变换来表示。这对于消除安装传感器的车辆的自我运动是重要的。执行此转换后,我们计算每个帧的体素表示。现在每个帧都表示为一个三维张量,我们可以沿着一个新的时间维度附加多个帧来创建一个4D张量。这不仅提供了更多的三维点作为一个整体,而且还提供了有关车辆的航向和速度的线索,使我们能够做运动预测。如图3所示,为了可视化,我们覆盖多个帧,静态对象很好地对齐,而动态对象有代表其运动的“阴影”。

3.2

模型制定

我们的单级检测器采用4D输入张量,并在不使用区域提议的情况下直接回归到不同时间戳的对象边界框。我们研究了两种不同的方法来利用我们的4D张量的时间维度:早期融合和晚期融合。它们代表了准确性和效率之间的权衡,并且它们在时间维度聚合的哪个级别上存在差异。

早期融合:我们的第一种方法在第一层聚合时态信息。因此,它的运行速度与使用单帧检测器一样快。但是,它可能缺乏捕获复杂时间特征的能力,因为这相当于从所有帧生成单点云,但不同地加权不同时间戳的贡献。特别地,如图4所示,给定4D输入张量,我们首先在时间维度上使用具有内核大小n的1D卷积来将时间维度从n减少到1.我们在所有特征映射中共享权重,即,也称为群组卷积。然后,我们在VGG16 [25]之后执行卷积和最大池化,每层特征映射减少一半。请注意,我们删除了VGG16中的最后一卷积组,导致只有10个卷积层。

图4:时态信息建模

晚期融合:在这种情况下,我们逐渐合并时间信息。这允许模型捕获高级运动特征。我们使用与早期融合模型中相同数量的卷积层和特征映射,而是在内核尺寸为3×3×3的情况下执行3D卷积,在时间维度上没有填充,从而将时间维度从n减少到1,然后对其他层执行内核大小为3×3的2D空间卷积。我们将读者引用到图4中,以了解我们的架构。

然后我们添加两个卷积层分支,如图5所示。第一个执行二元分类以预测作为车辆的概率。第二个预测当前帧上的边界框以及未来的n-1帧。运动预测是可能的,因为我们的方法利用多个帧作为输入,因此可以学习估计有用的特征,如速度和加速度。

图5:运动预测

在SSD [17]之后,我们为每个特征图位置使用多个预定义框。当我们使用BEV表示作为度量时,我们的网络可以利用关于对象的物理大小的先验。在这里,我们使用对应于现实世界中5米的方框,长宽比为1:1,1:2,2:1,1:6,6:1和8米,长宽比为1:1。每个特征映射位置总共有6个预定义的框,表示为aki,j,其中i = 1,...,I,j = 1,...,J是特征图中的位置,k = 1,...,K范围超过预定义的框(即大小和宽高比)。使用多个预定义框允许我们减少回归目标的方差,从而使网络易于训练。注意我们不使用预定义的航向角。此外,我们使用sin和cos值来避免180度模糊。

特别地,对于每个预定义的框aki,j,我们的网络预测相应的标准化位置偏移^l x,^l y,对数标准化尺寸^s w,^s h和标题参数âsin,âcos。

解码轨迹:在每个时间戳,我们的模型输出n个时间戳的检测边界框。相反,每个时间戳将具有当前检测以及n-1个过去的预测。因此,我们可以聚合过去的信息以生成准确的轨迹,而无需解决任何基于轨迹的优化问题。请注意,如果检测和运动预测是完美的,我们可以解码完美的tracklet。实际上,我们使用average作为聚合函数。当来自当前和过去的未来预测的检测之间存在重叠时,它们被认为是相同的对象,并且它们的边界框将被简单地平均化。直观地,聚合过程特别有助于我们具有强烈的过去预测但没有当前证据,例如,如果对象当前被遮挡或者来自检测的假阴性。这允许我们在多个帧上跟踪遮挡。另一方面,当我们有强大的现有证据而不是过去的预测时,就有证据表明存在新的对象。

3.3

损失函数和训练

我们训练网络以最小化分类和回归损失的组合。在回归的情况下,我们既包括当前帧,也包括我们预测未来的n帧。那是

其中t是当前帧,w代表模型参数。我们采用分类损失二进制交叉熵计算所有位置和预定义的框:

这里i,j,k是特征地图位置和预定义框身份的索引,qi,j,k是类标签(即车辆的qi,j,k = 1,背景为0),pi,j,k是车辆的预测概率。

为了确定我们的检测和未来预测的回归损失,我们首先需要找到它们相关的基本事实。我们通过将每个预定义框与所有地面实况框相匹配来定义它们的对应。特别是,对于每个预测的盒子,我们首先找到在交联(IoU)方面具有最大重叠的地面真值盒。如果IoU大于固定阈值(实际为0.4),我们将该地面实况框分配为aki,j并将1分配给其对应的标签q i,j,k。在SSD [17]之后,如果存在未分配给任何预定义框的地面实况框,我们将其分配到其最高重叠预定义框,忽略固定阈值。注意,多个预定义的框可以与相同的地面实况相关联,并且一些预定义的框可能没有任何对应的地面实况框,这意味着它们的qi,j,k=0。

因此,我们将回归目标定义为

我们在所有回归目标上使用加权平滑L1损失,其中平滑L1定义为:

hard数据挖掘由于正负样本的不平衡,我们在训练期间使用硬负挖掘。我们将正样本定义为具有相应地面实况框的预定义框,即qi,j,k = 1.对于负样本,我们按照分类分支中的预测分数pi,j,k对所有候选进行排序,并在实践中以3的比率抽取最高的阴性样本。

4、实验评价

不幸的是,没有公开可用的数据集来评估3D检测、跟踪和运动预测。因此,我们收集了一个非常大的数据集,以便对我们的方法进行基准测试。它比KITTI[6]等数据集大2个数量级。

数据集:我们的数据集由车顶上的LiDAR收集,车辆驾驶在几个北美城市周围。它包括从2762个不同场景收集的546,658帧。每个场景由连续序列组成。我们的验证集包括从100个场景收集的5,000个样本,即从每个序列中取出50个连续帧。在收集培训和验证的地理区域之间没有重叠,以展示强烈的概括。我们的标签可能包含没有3D点的车辆,因为贴标签机可以访问完整的序列以提供准确的注释。我们的标签包含3D旋转边界框以及每辆车的轨道ID。

训练设置:在训练时,我们使用大小为144×80米的空间X-Y区域,每个网格单元为0.2×0.2米。在高度尺寸上,我们采用-2到3.5米的范围,间隔为0.2米,导致29个box。对于时间信息,我们从过去的5个时间戳中获取所有3D点。因此,我们的输入是一个由时间,高度,X和Y组成的4维张量。

对于我们的早期融合和晚期融合模型,我们使用Adam优化器[13]从头开始训练,学习率为1e-4。该模型在批量大小为12的4 Titan XP GPU服务器上进行训练。我们训练模型进行100K迭代,学习率分别在60K和80K迭代时减半。

检测结果:我们将我们的模型与最先进的实时检测器进行比较,包括SSD [17],MobileNet [10]和SqueezeNet [12]。请注意,这些探测器都是为了从图像中进行2D检测而开发的。为了使它们具有竞争力,我们还在其系统中构建了预定义的box,这使得这些检测器的任务变得更加容易。在推理时间内,感兴趣的区域是以自我车为中心的144×80M。我们为所有模型保持相同的体素化,并且针对具有至少三个3D点的地面实况车辆边界框评估检测。少于三点的车辆被认为是不关心区域。如果对任何大于0.7的地面实况车辆边界框具有IoU,我们认为检测是正确的。请注意,对于典型尺寸为3.5×6米的车辆,0.7 IoU意味着我们最多可以沿宽度减少0.35米,沿长度减少0.6米。图6显示了所有方法的精确召回曲线,其中我们的模型显然能够实现更高的召回率,这对自动驾驶至关重要。此外,表1表示出了使用不同IoU阈值的mAP。我们可以看到我们的方法能够胜过所有其他方法。特别是在IoU 0.7时,我们的mAP比MobileNet高出4.7%[10],同时比运行时间类似的SSD快了两倍,比SSD高出5.2%[17]。

表1:144×80米区域的检测性能,对象具有≥3个3D点

图 6: P/R 曲线

我们还将性能报告为最小3D点数的函数,用于在测试时间内过滤地面实况边界框。请注意,高度的稀疏性是由于遮挡或长距离车辆造成的。如图7所示,我们的方法能够在各个层面上超越其他方法。我们用最少0分进行评估,以显示利用时态信息的重要性。

图7:不同数量的最小3D点上的mAP

我们也有兴趣知道模型如何作为车辆距离的函数。为实现这一目标,我们将预测范围扩展到100米之外。图8示出了在不同距离范围内的车辆上具有IoU 0.7的mAP。我们可以看到所有方法在附近的车辆上都表现良好,而我们的方法在远距离上明显更好。请注意,由于在该距离处缺少3D点,所有方法在100米处表现不佳。

图8:远距离mAP

消融研究:我们在我们的框架内进行了消融实验,以显示每个组件的重要性。我们修复了所有实验的培训设置。如表格2所示,使用早期融合的时间信息使IoU 0.7的mAP提高3.7%。虽然后来的融合使用与早期融合相同的信息,但它可以获得1.4%的额外改进,因为它可以模拟更复杂的时间特征。此外,增加预测损失仅在当前帧上提供类似的检测结果,但是,它使我们能够解码轨迹并提供输出更平滑检测的证据,从而提供最佳性能,即在IoU 0.7上mAP比单帧检测器好6%个点。

表2:消融研究,在144×80区域,车辆具有≥3个3D点

跟踪:我们的模型能够直接输出带有轨道ID的检测。我们评估原始跟踪输出,而不在顶部添加任何如此复杂的跟踪管道。表3显示了我们的模型输出和匈牙利方法在检测结果之上的比较。我们遵循KITTI协议[6]并在所有100个验证序列中计算MOTA,MOTP,大部分跟踪(MT)和大部分丢失(ML)。评估脚本使用IoU 0.5进行关联,使用0.9分来对两种方法进行阈值处理。我们可以看到我们的最终产量在MOTA中达到80.9%,比匈牙利好7.8%,在MT上好20%,在ML上降低10%,同时仍然有类似的MOTP。

表3:跟踪性能

运动预测:我们通过计算车辆中心位置的平均L1和L2距离来评估模型的预测能力。如图9所示,我们能够预测未来10帧,L2距离仅小于0.33米。请注意,由于问题的性质,我们只能评估真实的积极因素,在我们的情况下,相应的召回率为92.5%。

图9:运动预测性能

定性结果:图10显示了我们在144×80米区域的结果。我们提供4个序列,其中前3行显示我们的模型能够在复杂场景中表现良好,在小型车辆和大型卡车上提供精确的旋转边界框。请注意,我们的模型还为快速移动的车辆和静态车辆(未来所有中心位置都覆盖在当前位置)提供准确的运动预测。最后一行显示了一个故障情况,我们的探测器在中右侧蓝色车辆上失效。这是由于3D点的稀疏性造成的。

图10:144x80M区域的定性结果[最佳颜色视图]。相同颜色代表不同时间范围内的相同车辆。每辆车都有'dot'表示当前和未来时间范围的中心位置

5、结论

我们提出了一个整体模型,该模型共同推理自动驾驶场景中的检测,预测和跟踪。我们证明它可以实时运行并在所有任务中实现非常好的准确性。在未来,我们计划合并RoI对齐以获得更好的特征表示。我们还计划测试其他类别,如行人,并产生长期预测。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档