NVIDIA自动驾驶实验室:自动驾驶汽车如何对交通标志和信号灯进行分类
NVIDIA DRIVE AV软件借助深度神经网络(DNN)的组合来检测交通标志及信号灯并将其分类。
自动驾驶实验室
这是NVIDIA DRIVE Labs自动驾驶实验室系列视频的第九集,在上一集中我们介绍了NVIDIA如何借助安全力场SFF保护车辆不受碰撞。在自动驾驶实验室系列视频中,我们将以工程技术为重点的视角关注实现自动驾驶汽车的各个挑战以及NVIDIA DRIVE AV软件团队如何应对这些问题。
任务:
精准识别交通标志和信号灯并将其分类
方法:
深度神经网络组合:WaitNet DNN,LightNet DNN和SignNet DNN
每个人在最初学开车的时候都会从最简单的规则开始学起,其中之一就是“红灯停,绿灯行”。自动驾驶汽车也需要学习这一简单规则。此外,它还要学习在各类驾驶环境下精准识别交通标志和信号灯并对其做出正确的反应。
为了实现这一目标,NVIDIA DRIVE AV软件借助深度神经网络(DNN)的组合来检测交通标志及信号灯并将其分类。具体而言,NVIDIA利用WaitNet DNN进行交叉路口、交通信号灯和交通标志的检测。然后,LightNet DNN将根据交通信号灯的形状(例如实心与箭头)和状态(即颜色:红色,黄色,绿色)进行分类;同时,SignNet DNN将会识别交通标志的类型。总的来说,这三种DNN构成了NVIDIA感知等待条件软件的核心,旨在检测自动驾驶汽车需要减速停车等待的交通状况。
图1:交通信号灯(TL)以及交通标志(TS)分类系统图表
如上图所示,在NVIDIA感知等待条件软件的架构中,交通信号灯和标志的检测与交通信号灯的状态/形状以及类型分类是分开进行的。之所以会做这种区分,是因为这样可以优化交通信号灯和标志检测的精确率/召回率,且能够让检测独立于性能分类运行。这种模式也可以充分利用WaitNet在检测交通信号灯和标志时对周围环境的理解能力。
为了实现交通标志类型分类,SignNet被设计为一种卷积神经网络,它能够以一种分层的方式对世界各地大量的交通标志进行分类。在用于分类的平坦卷积神经网络模型当中,必须预先定义所有不同的潜在输出类别,并且必须为每个帧选择一个单个的分类输出。鉴于世界各地交通标志类型的复杂性,将这种模型进行扩展以涵盖所有标志类别,同时还要求其具有高精确率/召回率是非常困难的。
为了管理这种复杂性并优化其性能,NVIDIA采用了一种分层的卷积神经网络模型。在该模型中,精确的输出分类是不被预先定义的。SignNet经过训练可以独立检测出关键特征,并且可以将其与基于输出结果分析的输出分类相结合。通过迭代分析对输出分类进行设计,SignNet可以在保证强大分类性能的同时扩展成包含大量标志类别的模型。
图2:当速度限制从80千米/小时降至60千米/小时,SignNet对欧洲限速标志进行识别分类,以通过高速公路最后路段
NVIDIA目前的SignNet DNN模型包含范围扩大至300个美国交通标志类型和200个欧洲交通标志类型。这些标志包括高速公路标志,比如限速标志和高速公路区域分隔标志,以及在半城市乃至城市自动驾驶环境中所会遇见的其他标志(比如转弯,靠右行驶以及环岛标志)。
图三:LightNet实时识别单个及组合的交通信号灯并对其进行分类
为了实现交通信号灯形状和状态的分类,LightNet被设计为一个多级的卷积神经网络。LightNet,SignNet和WaitNet DNN现已通过NVIDIA DRIVE软件对开发人员开放,所有的功能都配有开放的API。NVIDIA计划将更多的交通信号灯和标志类型以及其他区域扩充至未来版本当中。
点击阅读原文,了解更多详情。
推荐阅读
NVIDIA自动驾驶实验室:安全力场SFF如何保护车辆不受碰撞
NVIDIA自动驾驶实验室:如何让自动驾驶汽车更好地判断距离
长按二维码
添加NVIDIA自动驾驶小助手
了解更多内容