自动驾驶意图预测综述知乎(自动驾驶难点知乎)

自动驾驶 62
今天给各位分享自动驾驶意图预测综述知乎的知识,其中也会对自动驾驶难点知乎进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、自动驾驶领域,是如何做视频数据标注

今天给各位分享自动驾驶意图预测综述知乎的知识,其中也会对自动驾驶难点知乎进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

自动驾驶领域,是如何做视频数据标注

1、视频就是图片的序列

比如说25帧的视频,其对应的就是每秒25张图片,所以当一个视频输入给一个神经网络时,其本质就是一个 图片序列 。同理,对于图片标注工具也一样,视频会被分成一系列图片进行标准。

2、通过 拉框标注 进行 车辆检测

拉框标注的过程本质,就是通过人工对图片中的目标(以下用自动驾驶感知任务中的车辆来举例)进行检测(即是否有这种目标?)和定位(即它在图片的什么位置?)来教会神经网络进行车辆检测和定位。

以下通过车辆拉框的例子来进行进一步的说明。

如下面图所示,两张图片里,各有一个矩形框将整个车的轮廓都框入。通过框在图片的位置,即四个角点的坐标,就可以知道 框内目标相对于图片的位置和大小 。而这些标注得到的车辆框的坐标,也正是训练车辆检测神经网络的训练集中的真值。这些真值会用来和车辆检测神经网络输出的预测结果(即当把同一图片输入给目标神经网络所产生的四个角点的坐标)做比较,得到差异值(即损失函数值)再去迭代神经网络的参数(即反向传播)。

当然,实际自动驾驶系统所使用感知技术的标注过程中需要的注意事项和需要的标注的信息,会比上述过程复杂、丰富得多。用下图例子示意,其 需要把画面中的所有车辆都框出,还需要补全遮挡部分以及不可见部分 。但是, 大体过程和原理是类似的 。

3、自动驾驶怎么使用检测结果

自动驾驶需要的输入以及组成部分非常繁多和复杂。所以本文还是针对原始问题以车辆检测说明车辆检测结果是怎么被使用的。

如上所说,一个训练好的车辆检测神经网络对相机输入的视频流(图片流)进行处理,实时检测图片里面的车辆(即利用训练好的神经网络进行推理得过程),得到车辆在图片里面的位置和相对于图片的大小。由于车辆上安装的相机参数信息(如分辨率等)是系统已知信息。同时,这些相机也经过了标定过程,所以系统得到了相机安装完后的外参。简而言之,这个过程就是通过标定获得了一个基准参考,从而可以推断图片中占用特定大小像素的目标的实际尺寸是多少,以及相对于自身车辆的距离是多少。这些信息会被输入到自动驾驶系统里的后续模块,比如决策是否需要进行诸如减速、转向的操作。

4、继续了解目标检测

目标检测是自动驾驶的关键基础技术,也是整个深度学习应用的热点之一(如果不是最热的话☺)。关于这一话题有许许多多的参考信息,而且都不难获得。

在这里,我附上一篇知乎的总结文章和一张很有意思的总结图作为抛砖引玉。

详见:

自动驾驶汽车如何识别和预测车和行人行为?

据外媒2月14日报道,美国密歇根大学科学家们正利用人类的步态、身体对称性和足部位移,教授自动驾驶汽车识别和预测行人的行动,其精确度要高于现有技术。

据悉,汽车通过摄像头、激光雷达和全球定位系统(GPS)收集到的数据,可以使研究人员能够捕捉到人类活动的视频片段,然后在三维(3D)计算机模拟中再现它们。在此基础上,科学家们创造了一个“生物力学启发下的循环神经网络”,用于对人类运动进行分类。

据研究人员称,他们通过利用循环神经网络预测距离汽车约50码处的一个或几个行人的动作及其未来位置,该网络相当于一个城市交叉路口的规模。汽车要想拥有必要的预测能力,需要利用循环神经网络深入研究人类动作细节,其中包括人类步态的节奏(周期性)、四肢的镜像对称性,以及走路时脚的位置对人体稳定性的影响。

密歇根大学机械工程助理教授Ram Vasudevan说:“此前在这一领域的研究通常只关注静态图像,并不关注人们如何在三维空间中运动。然而,如果这些汽车要在现实世界中运作和互动,我们需要确保对行人所在位置的预测与车辆的下一步走向不一致。行人的动作和他们遥望的地方可以告诉你他们的注意力水平程度,也能告诉你他们下一步即将做什么。”

大部分将自动驾驶技术提升至目前水平的机器学习算法,都涉及二维图像—即静态照片。如果一台电脑展示了数百万张的停车标志照片,最终它将能够在现实世界中实时识别出停车标志。然而,通过利用运行数秒的视频片段,系统可以研究视频片段的前半部分来进行预测,然后用后半部分来验证准确性。

最终,研究结果表明,这种新系统提升了无人驾驶汽车预测未来最有可能发生情况的能力,有利于提高自动驾驶汽车的安全性。

[搬运]自动驾驶中的单目 3D 车道线检测——综述

原文链接:  Monocular 3D Lane Line Detection in Autonomous Driving — A Review

车道线检测是自动驾驶中最基本和关键的安全任务之一。这一重要感知任务的应用范围从 ADAS(高级驾驶员辅助系统)功能如车道保持到更高级别的自主任务,如与高清地图和轨迹规划的融合。给定在自动驾驶车辆上收集的输入 RGB 图像,车道线检测算法旨在在图像上提供结构化线的集合,每条线代表 3D 车道线的 2D 投影。这种算法本质上是二维的,因为输入和输出都驻留在同一个图像空间中。

另一方面, Monocular 3D Lane Line Detection 旨在从单个图像直接预测道路场景中车道的 3D 布局。具体来说,3D 车道线检测算法在相机坐标系的 3D 度量空间中输出一系列结构化的车道线。最近,学术界和工业界已经在探索这项任务的可行性和应用方面做出了一些努力。

一种简单的方法是使用逆透视映射 (IPM) 将 2D 车道检测结果重新投影回 3D 空间。IPM 是一种单应变换,可将透视图像变形为鸟瞰 (BEV) 图像。但是,IPM 假定地面平坦,并且是静态且经过良好校准的相机外在因素。在现实世界的驾驶环境中,道路很少是平坦的,并且由于速度变化或崎岖不平的道路,相机外在因素对车身运动很敏感。

因此,正确的方法是恢复检测到的 2D 车道线上每个点的深度。如果我们在推理时可以使用激光雷达等主动 3D 测量设备,则通过将 3D 测量分配给车道线点,2D 到 3D 的提升相对简单。如果我们在推理时只有相机图像,理论上,我们可以利用 单目深度估计 的最新进展来为车道线点分配深度值。虽然这种方法是通用的,但它的计算量很大。这篇博文回顾了更轻量级的方法来直接预测车道线点的 3D 位置。

单目 3D 车道线检测是对其他单目 3D 任务的补充,这些任务可以从单个 RGB 图像预测驾驶环境的 3D 信息,例如 单目 3D 对象检测 和 单目 BEV 分割 。也许并不奇怪,如何从单目图像中准确地恢复环境深度是这些领域的核心。

二维车道探测网络

在我们深入研究 3D 车道线检测算法之前,一个重要的 2D 车道线检测算法是重新审视 LaneNet ( Towards End-to-End Lane Detection: an Instance Segmentation Approach  , IV 2018)。它的 2D 车道线检测性能已经被许多新算法超越,但在当时还是相当创新的,它的许多想法构成了 3D 车道线检测的基础。

它对 2D 车道线感知的贡献是提出了一种用于车道线语义分割的分段然后聚类方法——我们稍后将在 Semi-local 3D LaneNet 中再次讨论这个想法。更有趣的是,它还使用称为 H-Net 的轻量级网络直接从透视图像预测单应变换(以 3x3 矩阵 H 的形式)。单应变换矩阵 H 本质上是将采样的车道线点投影到 BEV 的 IPM,用于优化车道拟合后处理。这里的基本假设是车道应该由 BEV 空间中的三阶多项式完美描述。

LaneNet 采用的另一个隐含假设是车道线位于平坦的道路上。对于有坡度的非平坦道路,没有一个最好的 IPM 可以描述透视图像和 BEV 图像之间的转换,LaneNet 仍然使用单应变换逼近道路相机模型。

那么问题是——描述非平坦道路的最佳转换是什么?可能会争辩说,最好的转换应该准确地将地平线(相机图像中道路和天空之间的交汇点)映射到无限深度,或者您可能会争辩说最好的转换应该将最接近自我汽车的车道线投影到 3D 中的平行线空间。LaneNet 将最佳变换定义为一种映射,该映射使拟合曲线的重投影误差最小化。

3D 车道探测网络

普及单目 3D 车道线检测领域的开创性工作是来自通用汽车以色列研究中心的 3D-LaneNet (ICCV 2019)。   3D LaneNet 不需要诸如平坦地面假设之类的脆弱假设,它只假设对局部路面的摄像机滚动为零。与 2D LaneNet 一样,它也估计 2D 透视图像和 3D 局部道路平面之间的单应变换。与直接预测单应矩阵的 LaneNet 不同,3D LaneNet 预测唯一确定单应矩阵的 相机高度和间距。 这两个参数是以监督的方式学习的。

网络架构是从图像转换为 BEV 空间的双通路主干。这实际上让我想起了自监督深度学习 Sfm-learner  (CVPR 2017) 中的 PoseNet 结构,它预测 6 DoF 自我运动,然后用它来扭曲相邻图像。

基于锚点的 3D 车道线表示

它不是直接预测车道线点的深度,而是首先预测相机的俯仰/高度,从而构建 道路投影平面 。道路投影平面根据摄像机安装俯仰角 𝜑  _cam 和高度 h_cam 定义 。然后相对于该平面表示 3D 车道线。具体而言,车道线点由其在平面上的投影点(x,y)和高程 Δz 定义。

3D LaneNet 使用基于锚的车道预测头。与 groundtruth 车道关联的锚点是最接近车道 x 坐标 Y_ref=20 m 处的锚点。

每个车道线类型的预测总数为#anchor*(2*K+1)。K (K=6) 是每条车道线的预定义 y 位置的数量。K 个点中的每一个预测两个数字,与锚点 dx 的偏差和高度 z. 每个anchor也有一个conf分数来预测车道线的存在。

请注意,由于这种锚点设计,3D LaneNet 只能处理具有与自我汽车运动方向大致平行的车道线的正常拓扑。例如,它无法处理与自我汽车垂直的车道线。

半局部 3D LaneNet(  3D LaneNet+)

半局部 3D LaneNet   建立在 3D-LaneNet 的基础上,并增加了两个贡献,即处理更复杂拓扑的能力和不确定性预测。不确定性估计是相当标准的 任意不确定性 估计,这里不再赘述。 该论文以3D-LaneNet+ 的形式 在 NeurIPS 2020 研讨会上重新发布 。

大部分工作基于 3D LaneNet。它还具有双路径主干、相机高度和滚动预测,并具有 BEV 空间中的最后一个特征图。主要区别在于更灵活的车道线表示,允许对更复杂的车道拓扑进行建模,包括拆分、合并和垂直于车辆行驶方向的车道。

半局部表示还利用 道路投影平面 作为参考,并将其 BEV 投影到道路投影平面上的 3D 车道线公式化。然而,半局部 3D LaneNet 并没有将每个车道与预定义的锚点相关联,而是提出了一种紧凑的半局部表示。本质上,它将 BEV 图像(将 3D 结构投影到道路投影平面)分解为称为图像块的非重叠网格。假设每个图像瓦片只能有一条车道线穿过它,并且每个瓦片中裁剪的车道线段足够简单,可以参数化为 2 DoF 线段(到瓦片中心的距离和方向)。然后下一步是为每个车道学习全局一致的嵌入,以将小车道段聚集成完整的曲线。

这种先检测后聚类方法的灵感来自 2D LaneNet 。半局部 3D LaneNet 使用推挽损失来训练图像块上的嵌入,并且比原始 2D LaneNet 的语义分割具有更少的计算负担。在推理过程中,通过模式搜索算法 mean-shift 完成聚类,找到每个聚类的中心,然后设置阈值来获取聚类成员。

Gen-LaneNet

Gen-LaneNet  (ECCV 2020) 基于 3D LaneNet 的标准实践,提出了一种用于 3D 车道线检测的两阶段方法。它提出首先执行 2D 车道线检测,然后使用称为 3D-GeoNet 的单独网络将 2D 检测结果提升到 3D。

将 3D 结构预测与 2D 车道线检测分离的原因在于 3D 几何的编码与图像特征相当独立。这种解耦使模块更加灵活和可扩展。它可以立即受益于第一阶段不断发展的二维车道线检测算法。更重要的是,它允许仅使用合成数据集对第二阶段进行训练,即使是非真实感模拟也可以完成,因为对图像特征的依赖已被消除。

在 3D LaneNet 中,不能保证预测的投影与图像匹配,并且缺乏 2D-3D 一致性。在 Gen-LaneNet 中,3D 从 2D 提升,因此这种一致性是管道固有的。

在第二阶段故意去除图像特征类似于仅在 Deep Object Distance Estimator中使用 bbox info 预测距离,而在 MonoLoco 中仅使用骨架预测距离。 在单目 BEV 语义分割 的许多早期研究中也可以找到类似的缓解 sim2real 域差距的策略。

Gen-LaneNet 还指出了 3D-LaneNet 的一个主要缺点,即在存在非零斜率的情况下,顶视图投影与 IPM 转换的特征不对齐。换句话说,IPM 假设一个平坦的地面,并且当这个假设以非零斜率打破时,IPM 转换后的视图不是 真正的顶视图 (BEV)。相反,IPM 转换的特征是一个扭曲的 BEV 视图,在本文中称为 虚拟顶视图。 这个虚拟顶视图是通过光线追踪每个车道线点并投影到道路投影平面(下图中的橙色点)获得的。3D 车道线groundtruths 被预处理为虚拟顶视图,以与IPM 转换特征对齐。

真实顶视图和虚拟顶视图的概念不是很容易掌握。举一个更具体的例子,零偏航角的上坡 3D 车道将其两条平行车道线投射到 真实俯视图中完全平行的目标,但在 虚拟俯视图 中,当我们上坡时,它们会显得发散。这种不同的观点实际上与来自 3D LaneNet 的双路径主干网的 IPM 转换特征一致。

在数学上,在上图中,我们有以下等式,其中 h 是相机高度,z 是距离道路投影平面 xoy 平面的高度偏差(以上为正)。

假设我们在 3D 中有两条平行的车道线,因此车道宽度 Δx 是恒定的。在真实的顶视图中,由于车道宽度仍为 Δx,它们仍将平行显示。在虚拟俯视图中,车道宽度变为 Δx̄ = Δx*h/(hz),如果上坡路的 z 变大(z h),则车道宽度变宽并显得发散。

Gen-LaneNet 仍然使用基于锚的表示,因此存在与 3D LaneNet 相同的缺点。更好的方法可能是将两种方法的优点结合起来:使用 Gen-LaneNet 的虚拟顶视图和解耦管道以及 Semi-local 3D LaneNet 的半局部图块表示。

数据集

3D 车道一检测领域研究有限的主要原因之一是缺乏相关的数据集和基准。构建 3D 车道线数据集主要有三个数据源:合成数据、深度测量(使用激光雷达或可能的立体相机)和时间传感器融合。

3D LaneNet 和 Semi-Local 3D LaneNet 使用模拟环境 Blender 生成大量具有已知 3D groundtruth 的合成数据。同样, Gen-LaneNet 利用 Apollo 项目中的模拟器并生成 Apollo 3D Synthetic 车道线数据集 。

3D LaneNet 和 Semi-Local 3D LaneNet 还使用激光雷达检测器和半手动注释收集了 2.5 小时的真实数据,但这只是为了验证这个想法。收集校准和同步的相机和激光雷达数据的多传感器数据不太可扩展。此外,基于激光雷达的数据集本质上只能达到约 50 米,因为激光雷达能够可靠地检测超出此范围的车道线。

获取真实 3D 车道线数据的另一种更具可扩展性的方法类似于 MonoLayout  (WACV 2020) 中描述的方法。鉴于可以获得准确的自我运动信息,它通过聚合整个视频的结果(所谓的时间传感器融合)来使用自生成的地面实况。聚合的groundtruth可以根据预设的距离阈值截断并投影回单个图像帧。如果我们想看到超过上述 50 米的限制,同样的想法也适用于激光雷达数据。

要点

- 预测相机外部参数以在特征图上执行 单应变换 (IPM) 似乎是标准做法。

- 虚拟顶视图 解决了转换后的特征图和生成的groundtruth之间的错位。

- 由于城市驾驶场景中复杂的车道线拓扑(环形交叉路口、垂直车道线等), 基于锚点的表示将失败。 对半局部图块进行 预测然后进行聚类似乎是一种更灵活的处理复杂几何图形的方法。

- 合成数据集和 sim2real 是引导 3D 车道线检测系统的方法,特别是考虑到开源的 Apollo 数据集。 从时间聚合的单个图像感知结果 构建 3D 车道线数据集的可扩展方法仍未得到充分探索。我期待着未来在这个方向上做更多的工作。

- 对于未来的工作,最好使用 Gen-LaneNet 的虚拟顶视图和解耦管道以及 Semi-local 3D LaneNet 的半局部 tile 表示。

References

LaneNet : Towards End-to-End Lane Detection: an Instance Segmentation Approach , IV 2018

3D-LaneNet : End-to-End 3D Multiple Lane Detection , ICCV 2019

Semi-local 3D LaneNet :  Semi-Local 3D Lane Detection and Uncertainty Estimation , ArXiv, 03/2020

Gen-LaneNet : A Generalized and Scalable Approach for 3D Lane Detection , ECCV 2020

3D-LaneNet+ : Anchor Free Lane Detection using a Semi-Local Representation , NeurIPS 2020 workshop

Deep Radar Detector:   Vehicle Detection With Automotive Radar Using Deep Learning on Range-Azimuth-Doppler Tensors , ICCV 2019

SfMLearner : Unsupervised Learning of Depth and Ego-Motion from Video , CVPR 2017

MonoLayout : Amodal scene layout from a single image , WACV 2020

关于自动驾驶意图预测综述知乎和自动驾驶难点知乎的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码