NVIDIA自动驾驶实验室:如何让自动驾驶汽车更好地判断距离

作者 Katie Burke

通过雷达和激光雷达数据训练的深度神经网络,如何根据2D图像预测3D场景中车辆与障碍物之间距离。

我们都知道,准确判断距离在驾驶汽车的过程中至关重要,但也绝非易事。

当然,对于人类来说,我们拥有两个高分辨率且高度同步的视觉传感器,即我们的眼睛。通过大脑的立体视觉处理,我们的眼睛能够测量距离。

然而,在自动驾驶汽车中,相当于人类双眼的双目摄像头立体视觉系统是非常敏感的。只要摄像头发生略微的不同步,就会导致所谓的“时间误差”,从而产生不准确的距离估算。

这就是我们采用单目摄像头的数据来测算障碍物距离的原因。然而,仅使用一个摄像头也面临着一系列的挑战。

在深度神经网络出现之前,基于单目摄像头图像测算障碍物距离的常用方法是先假设地面是平的。这种假设下,利用摄像头图像中的二维信息进行三维建模,然后借助几何光学对障碍物和参考车辆之间的距离进行估算。

然而,这种方法并不总是适用于现实世界。在车辆上坡和下坡时,由于地面并不平坦,会导致测算结果的不准确。

这种错误的预测可能会产生负面影响。因为,自动巡航控制、车道变换安全检查和车道变换执行都依赖于对障碍物距离正确的判断。

过高估算距离,即对障碍物的距离测算结果比实际距离更远,可能导致无法进行自动巡航控制。或者更严重的情况是,未能启用自动紧急制动功能。

错误地判断障碍物距离比实际距离要近也会导致其他问题,比如在不需要的时候进行自动巡航控制或者紧急制动。

借助深度学习,实现精准测距

为了实现精准测距,NVIDIA利用了卷积神经网络(Convolutional neural networks)以及来自单个前置摄像头的数据。将来自雷达和激光雷达传感器信息作为地面实况信息,并训练深度神经网络(DNN)预测自动驾驶车辆与障碍物之间的距离。工程师们了解此类信息是准确的,因为无论道路的拓扑结构如何,雷达和激光雷达传输信号的直接反射都能够准确提供车辆与障碍物之间距离的信息。

不依靠“地面平坦”假设,而是通过雷达和激光雷达数据训练神经网络,NVIDIA能够借助一个摄像头的数据并通过DNN测算车辆与障碍物之间距离,即使在车辆上下坡的情况下也同样适用。

在高速公路隧道环境下,摄像头DNN进行障碍物距离检测。绿色框代表障碍物检测。每个方框顶部显示的数字是装有摄像头的汽车后轴中心与被检测障碍物之间的径向距离(以米为单位)。

在NVIDIA的DNN训练实施当中,地面实况数据的创建和编码流程是自动化的。因为,在训练过程中,DNN可以使用通过传感器收集来的所有数据,而无需依靠手动标记资源。后者往往会给DNN的训练带来瓶颈。

我们借助基于DNN的障碍物距离测算,并将其与障碍物检测和基于摄像头的追踪相结合,用以进行自动驾驶车辆纵向的加速减速,以及横向的控制和转向。了解更多NVIDIA如何利用DNN来进行障碍物距离测算,请访问DRIVE Networds页面。