vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪...

vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪..._第1张图片

将时态信息添加到深度学习当中,使自动驾驶汽车能够预测周围移动目标的未来轨迹。

vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪..._第2张图片

自动驾驶实验室

这是NVIDIA DRIVE Labs自动驾驶实验室系列视频的第五集,在上一集中我们介绍了 NVIDIA借助循环神经网络(RNN)预测目标的未来移动轨迹。在自动驾驶实验室系列视频中,我们将以工程技术为重点的视角关注实现自动驾驶汽车的各个挑战以及NVIDIA DRIVE AV软件团队如何应对这些问题。

任务

实现准确可靠的目标跟踪

方法

环绕摄像头目标跟踪软件

vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪..._第3张图片
自动驾驶汽车如何借助环绕摄像头https://www.zhihu.com/video/1126552497178886144

如今,道路上的许多汽车配备了先进的驾驶辅助系统,依靠前后摄像头来实现自动巡航控制(ACC)和车道偏离警示。然而,要实现完全的自动驾驶,则需要摄像头拥有完整的360度全方位环绕视野。

摄像头目标跟踪是自动驾驶汽车摄像头环绕视野流程(即感知)的主要组成部分。当检测目标出现在连续的摄像头图像当中时,该软件会对其进行跟踪并用独特的标识编号进行标记。

目标跟踪的准确性对于目标距离以及速度预估的可靠性起着关键作用。它也能够减少遗漏或误检的障碍物,并防止这些检测结果传输到自动驾驶汽车计划和控制功能当中,从而导致系统根据这些输入做出停车或加速等错误决策。

我们的环绕摄像头目标跟踪软件目前采用了六个摄像头,能够实现360度全方位的感知,让汽车拥有无盲点的视野。该软件在全六个摄像头图像中对目标进行跟踪,并用独特的识别编码标记所检测目标在图像中的位置以及碰撞时间(TTC)的预估。

被跟踪目标的外观模型由从目标内部所选的特征点构成。这些特征点由Harris角点检测算法(Harris Corner Detector)得来,并且在目标旋转和平移的状态下也不会发生丢失。聚焦角点的小模板由Lucas-Kanade模板特征追踪算法在不同的图像金字塔比例下进行跟踪。环绕摄像头目标跟踪软件借助这些特征点,对目标的比例变化、平移和碰撞时间(TTC)进行预测。

vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪..._第4张图片

图1-目标跟踪和碰撞时间计算图表

跟踪器初始化延迟和从列表里移除虚假的跟踪物体

提早识别目标并将其确定为准确跟踪对于减少控制功能的延迟至关重要。NVIDIA低跟踪器初始化延迟(目前约为90毫秒)使汽车即使在高速行驶的过程中,也能够对突然需要停车的情况做出正确响应。在对汽车所在路径及其左右车道中存在的目标进行检测时,相较于物体探测仪,我们同时实现了更高的精确率和召回率。

vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪..._第5张图片

图-2:针对目标#5722的低跟踪器初始化延迟,汽车的一角刚刚出现在图像的左边就能够被跟踪到。

由于物体移出画面外而导致的虚假跟踪是误检制动的主要原因。在不遗漏任何目标跟踪的情况下,借助低延迟从列表里移除虚假的跟踪物体是一件具有挑战性的任务。NVIDIA的跟踪软件可以在30到150毫秒内移除虚假的跟踪物体,并且不会导致其他目标的遗漏。

vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪..._第6张图片

图-3:当目标#4588从图像左侧移出时,不会导致任何误检信息的产生

低检测频率下目标跟踪软件的准确性和可靠性

如果每个图像帧都需要在六个摄像头上运行目标检测,可能会增加整体系统的延迟。根据不同的应用程序,开发者可以选择减少目标检测的频率,比如每三个画面帧运行一次目标检测软件。这样的设计能为其他计算释放资源,但就让目标跟踪变得更具挑战性。

在NVIDIA的实验中,我们观察到,即使在目标跟踪频率降低的情况下,目标跟踪软件仍而可以达到高精确率、高召回率以及跟踪识别的稳定性

vector自动扩容如何实现_NVIDIA自动驾驶实验室:自动驾驶汽车如何借助环绕摄像头实现目标跟踪..._第7张图片

图-4:尽管目标#6812相对于测试车辆来说速度差为约为100英里/小时,但目标跟踪软件仍在它距离测试车辆150米处成功实现了跟踪。目标跟踪软件每三个图像帧运行一次。

环绕目标跟踪系统已经成功在测试车辆处于自动驾驶的模式下,完成超过20,000英里的道路测试。

这些测试在不同的季节、路线、时间段、照明条件、高速公路以及城市道路上进行,并且没有发现或收到任何由于目标检测失败而造成脱离的报告。

NVIDIA DriveWorks软件开发套件(SDK)包含目标跟踪模块。CPU和CUDA均可采用,并且能够根据用户偏好在CPU或GPU上进行调试。

NVIDIA提供两个版本以便为软件流程整体资源调度提供灵活性。我们观察到使用GPU比CPU速度快七倍。我们同时也发现,借助流程调度的灵活性以实现CPU和GPU处理之间的转换,NVIDIA AV软件堆栈的整体延迟性得到了改进。例如,让目标检测软件其中一个摄像头在CPU上运行,另外五个摄像头在GPU上运行。

参考论文:

  1. Chris Harris and Mike Stephens (1988). “A Combined Corner and Edge Detector”. Alvey Vision Conference. 15.
  2. Simon Baker and Iain Matthews. 2004. Lucas-Kanade 20 Years On: A Unifying Framework. Int. J. Comput. Vision 56, 3 (February 2004), 221-255.

你可能感兴趣的:(vector自动扩容如何实现)