文章目录
1. 摘要概述
我们介绍了一种网络,可以从单张图像直接预测道路场景中车道的3D布局。这项工作首次尝试使用车载传感设备来解决这一任务,而不假设已知的恒定车道宽度或依赖预先映射的环境。我们的网络架构,3D-LaneNet,采用了两个新概念:网络内逆透视映射(IPM)和基于锚点的车道表示。网络内IPM投影在常规图像视图和俯视图中促进了双重表示信息流。基于每列锚点的输出表示使我们能够采用端到端的方法,取代了常见的聚类和离群值拒绝等启发式方法,将车道估计视为目标检测问题。此外,我们的方法能够明确处理车道合并和分离等复杂情况。结果展示在两个新的3D车道数据集上,一个是合成的,另一个是真实的。为了与现有方法进行比较,我们在仅使用图像的tuSimple车道检测基准上测试了我们的方法,取得了与当前最先进技术竞争的性能。
2. 背景介绍
3D车道检测,通过精确估计可行驶车道相对于主车的3D位置,是实现自动驾驶的关键技术。现有两种互补的技术解决方案:加载离线生成的预映射车道【33】和基于感知的实时车道检测【4】。离线解决方案在主车定位(地图坐标)精确的情况下几何精度高,但部署和维护复杂。最常见的基于感知的解决方案使用单目相机作为主要传感器来完成这一任务。现有基于相机的方法在图像域内检测车道线,然后假设平坦地面将其投影到3D世界【4】,这种假设在被打破时不仅在高度上产生误差,也会在车道曲率上产生误差。受到卷积神经网络(CNN)在单目深度估计中取得的成功【20】的启发,我们提出直接在3D中检测车道。具体而言,给定一张来自前置摄像头的图像,任务是输出一组在相机坐标系中的3D曲线,每条曲线描述一个车道分界线或车道中心线。
我们提出的解决方案是3D-LaneNet,一种用于3D车道检测的深度CNN。该网络端到端训练,在每个纵向道路切片中输出车道穿过切片的置信度及其在相机坐标系中的3D曲线。我们的方案如图1所示。我们的直接单次拍摄方法避免了现有方法中使用的聚类和离群值拒绝等后处理。网络的主干基于一种新颖的双路径架构,使用多个网络内的特征图投影到虚拟俯视图。这种双重表示赋予网络在道路场景中推断3D的增强能力,可能用于其他需要此能力的任务(例如3D车辆检测)。输出由一种新的基于列的锚点编码表示,使网络在水平上具有不变性,并实现端到端方法。每个输出与一个锚点关联,类似于单次拍摄的基于锚点的目标检测方法如SSD【21】和YOLO【29】。实际上,我们的方法将问题视为目标检测,每个车道实体是一个目标,其3D曲线模型的估计类似于目标的边界框。
我们在三个不同的数据集上验证了我们的方法。用于开发该方法的主要数据集是一个新的计算机图形数据集synthetic-3D-lanes1,提供每个车道元素的精确3D位置。尽管存在几个驾驶模拟器【8, 30】,它们并未专注于3D车道检测任务,并且在相关场景属性(例如车道曲率)的多样性上受到限制。我们在这一领域的主要成就是能够随机生成具有高度可变3D形状和车道拓扑的道路段。因此,我们将其用作评估和消融研究的主要数据集。为了验证我们的方法在真实世界图像上的表现,我们收集了另一个数据集3D-lanes,来自车辆安装的前置摄像头。3D车道注释通过使用激光雷达扫描仪在半手动注释方案中完成。最后,为了与仅在图像域中操作的最先进车道检测方法进行比较,我们将我们的方法适应于这一任务,并展示了端到端的仅图像车道检测。这一仅图像版本在tuSimple数据集【1】上进行了测试,取得了与最先进技术竞争的结果,而没有使用常见的后处理技术。
总结来说,我们的主要贡献是:
- 引入了一种新问题:无几何假设的单帧3D车道检测,并提出了新的评估指标。
- 一种新颖的双路径架构,部署了网络内特征图的IPM投影。
- 一种新的基于锚点的车道输出表示,支持直接端到端训练的网络,用于3D和基于图像的车道检测。
- 一种生成具有车道拓扑(即车道数量、合并、分离)和3D形状变化的随机合成示例的方法。
3. 方法
我们的方法以安装在车辆上的前置摄像头拍摄的单张图像作为输入,如图3所示。我们假设已知相机的内部参数 κ \kappa κ(例如焦距、投影中心)。我们还假设相机相对于局部地平面安装时的滚转角度为零度。由于车辆动态变化,我们不假设已知的相机高度和俯仰角。道路场景中的车道可以通过每条车道的中心线集合 C i i = 1 N C {C_i}{i=1}^{N_C} Cii=1NC 和车道分界线集合 D i i = 1 N D {D_i}{i=1}^{N_D} Dii=1ND 描述,如图5所示。每个这样的车道实体(中心线或分界线)都是用相机坐标系( C camera C_{\text{camera}} Ccamera)表示的3D曲线。任务是根据图像检测车道中心线和/或车道分界线的集合。
3.1 俯视图投影
我们简要回顾一下逆透视映射(IPM)。简而言之,IPM是一种单应性变换,将前视图图像扭曲为虚拟俯视图图像,如图1左上角图像所示。它相当于应用相机旋转单应性(视图向下旋转)然后进行各向异性缩放【11】。在我们的实现中,我们希望确保俯视图图像中的每个像素对应于道路上的预定义位置,而不依赖于相机的内部参数及其相对于道路的姿态。
见图3以了解以下定义的示意图。相机坐标 C camera = ( x ~ , y ~ , z ~ ) C_{\text{camera}} = (\tilde{x}, \tilde{y}, \tilde{z}) Ccamera=(x~,y~,z~) 设置为 y ~ \tilde{y} y~ 是相机的观看方向。设 P road P_{\text{road}} Proad 为局部道路表面的切平面。我们定义道路坐标 C road = ( x , y , z ) C_{\text{road}} = (x, y, z) Croad=(x,y,z) 如下: z z z 方向为 P road P_{\text{road}} Proad 的法线方向, y y y 为 y ~ \tilde{y} y~ 在 P road P_{\text{road}} Proad 上的投影,原点为相机中心在 P road P_{\text{road}} Proad 上的投影。设 T c 2 r T_{c2r} Tc2r 为 C camera C_{\text{camera}} Ccamera 和 C road C_{\text{road}} Croad 之间的6自由度(3D平移和3D旋转)变换。由于我们假设相机滚转为零度, T c 2 r T_{c2r} Tc2r 由相机俯仰角 θ \theta θ 和其高度 h cam h_{\text{cam}} hcam 确定。单应性变换 H r 2 i : P 2 ↦ P 2 H_{r2i} : P^2 \mapsto P^2 Hr2i:P2↦P2