NVIDIA自动驾驶技术:从训练到推理

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

飞速发展的自动驾驶技术正在逐渐成为一位高智商的“老司机”,不仅能识别道路、行人和障碍物,还能自主决策、精准操控,带来更安全、更便捷的驾乘体验。你只需要上车说一句“带我去三里屯”,汽车会规划好最优路线,而你可以在车里开会、追剧、打盹...

现在车企大多在L2级高阶智能驾驶的天花板——城市NOA(自动辅助导航驾驶)上重点发力,谁先实现了城市NOA,谁就可以在智能驾驶的下半场抢占先机。城市NOA的场景更复杂,不但要面临行人、机动车、非机动车等交通参与者,还要考虑各种不规则道路和交通标识。

最近Robotaxi(L4级技术商业落地最佳场景)也十分火爆,科技巨头争相加速其商业落地,比如特斯拉前段时间推出无人驾驶出租车Cybercab,Waymo官宣了商业化最新进展:Robotaxi每周载客超15万单,半年内翻了3倍,而中国企业中,百度萝卜快跑在武汉火速“出圈”,引发国内热议,文远知行正式在纳斯达克证券交易所挂牌上市,成为全球“Robotaxi第一股”。

上述的热门自动驾驶应用核心都依托强大的技术支持,而说到技术,就不得不提到NVIDIA在自动驾驶领域的前沿技术。通过其强大的硬件和软件组合为自动驾驶汽车提供了计算基础平台,显著加速了智能驾驶的发展,比如强大的开发平台(NVIDIA DRIVE)、车载计算平台(DRIVE Thor)、强大的AI与软件栈(NVIDIA DriveOS、Omniverse平台等)。

3f44cdddf42bdf7040e44d6c0f463f56.jpeg

NVIDIA 自动驾驶

下面我将介绍六项NVIDIA的前沿自动驾驶研究成果,内容涵盖:

  1. Hydra-MDP:端到端自动驾驶框架  

  2. EmerNeRF:大规模重建动态驾驶场景

  3. 利用生成式 AI 增强自动驾驶仿真

  4. STRIVE:生成碰撞场景

  5. LLaDA:LLM让驾驶更简单

  6. HALP:模型剪枝优化

1. Hydra-MDP:端到端自动驾驶框架

Hydra-MDP 具体演示详见下方视频:

NVIDIA研究团队重磅提出Hydra-MDP:一种端到端自动驾驶创新框架!该框架实现了更高的性能,一举在AI顶级会议CVPR 2024上的自动驾驶国际挑战赛“端到端自动驾驶”赛道中赢得冠军并荣获创新奖!

f3e5a0d502d936efba413750b1c0dceb.png

NVIDIA 排名第一

Hydra-MDP:一种新颖的范式,使用多目标Hydra-Distillation(多头蒸馏)作为核心策略,允许模型以可扩展的方式从基于规则的规划器和人类驾驶员中学习,在NAVSIM Benchmark上达到了最先进的性能!

Paper:https://arxiv.org/abs/2406.06978

GitHub:https://github.com/NVlabs/Hydra-MDP

Hydra-MDP使用Transfuser感知网络,并利用轨迹解码器:VAD v2词表+基于距离的模仿学习。还创新提出多目标多头蒸馏方法,即对整个词表使用基于规则的模拟器进行模拟—>基于规则的教师轨迹,进而训练一组多头的学生网络来拟合这一系列教师轨迹。

8d1ecda11d3b8172976c0e11069255b1.png

Hydra-MDP 框架

从而该使模型能够学习不同的轨迹,提高了在不同驾驶环境和条件下的泛化能力。

7b4646ae153a7c1ac6d4d5733b22c433.png

Hydra-MDP演示Demo  

NVIDIA研究团队在Hydra-MDP中使用两种模型集成技术:Mixture of Encoders和 Sub-score Ensembling。Mixture of Encoders使用线性层来组合来自不同视觉编码器的特征,而Sub-score Ensembling则计算来自独立模型的子分数的加权和以进行轨迹选择。这样可以进一步提高了 Hydra-MDP 的稳健性,并确保最终模型能够高精度处理各种驾驶场景。         

值得注意的是,NVIDIA研究团队可以通过 NVIDIA Omniverse对上述所采用的工作流程在高保真模拟环境中复制。

2. EmerNeRF:大规模重建动态驾驶场景

EmerNeRF 具体演示详见下方视频:

重建动态场景对于自动驾驶汽车理解环境并与其交互至关重要,但在现实世界中,收集复杂场景数据需要耗费大量时间和成本,尤其是大规模重建复杂动态场景仍然困难重重。

NVIDIA研究团队提出EmerNeRF:一种基于NeRF(神经辐射场)的4D神经场景表示新方法,利用自监督学习从相机和激光雷达数据中重建动态场景,在场景重建、新颖视图合成和场景流估计方面实现了最先进的性能。

主页:https://emernerf.github.io/

Paper:https://arxiv.org/abs/2311.02077

GitHub:https://github.com/NVlabs/EmerNeRF

EmerNeRF通过三个神经场来分解场景:静态场、动态场和运动流场(flow fields)。静态场表示建筑物、标志或路灯等静止元素,动态场包含所有移动的物体,流场模拟动态物体的运动,并用于在时间上聚合动态特征。      

最重要的是,EmerNeRF从原始数据中学习这些场景,无需任何人工的标注,完成学习后,模型能够同时呈现场景的时间和空间变化,从而实现静态场景和动态物体的高保真重建。

a38fdc316c536f8a61c3d2c83bb360a3.png

EmerNeRF 框架         

EmerNeRF还可以为自动驾驶系统提供语义理解,它通过将基础模型(DINOv2)特征从二维空间提升到四维空间来表示时空一致的场景语义。EmerNeRF通过特征聚类后,能够将语义相近的物体标记为相近颜色。这种统一场景的表示能力可以用作自动标记工具,甚至替代高精地图。

51a144131c45161015cda25d95c8d7c5.png

EmerNeRF 重建

除此之外,利用视觉语言模型的特征,EmerNeRF能够在场景中通过文本来查询特定概念,比如可以通过模型聚焦显示与汽车、交通灯或者交通标志相对应的所有像素。此外,可以根据文本直接分割所有对象,来获得二维图像和三维场景的分割结果。  

总结来说,通过EmerNeRF,开发者可以进行大规模重建和修改复杂的自动驾驶数据,解决了自动驾驶训练数据中最重要的数据不平衡问题EmerNeRF代码已开源,强烈推荐大家上手体验!

3. 利用生成式 AI 增强自动驾驶仿真

具体演示详见下方视频:

生成式AI在自动驾驶仿真中起到了极大的增强作用。这里Amusi介绍NVIDIA的三项关键技术:MapLLM、LCTGen和集成了大语言模型的NVIDIA Omniverse场景编译器。这三项技术利用生成式AI创建逼真的道路环境,生成自然的驾驶行为,并支持对场景的灵活编辑,以实现全面和规模化的自动驾驶评估和训练。

2f5692e600c818311ad369da96a0271c.png

MapLLM、LCTGen和场景编译器

首先,MapLLM是NVIDIA为自动驾驶开发的一个大语言模型,基于用户的输入,生成高精地图格式的驾驶场景,例如它可以使用事故报告中的文本,生成符合描述的道路布局,并输出多个可能的高精地图。这种多样化驾驶场景的生成,是通用自动驾驶仿真系统的第一个关键技术。

15ba4f262cd2359e69af9d68ffe9013f.png

MapLLM生成高精地图格式的驾驶场景

第二个关键技术是将交通参与者放置在这些环境中,并根据提示生成自然的驾驶行为,当虚拟世界构建完成,就可以使用NVIDIA的LCTGen(一种基于语言的交通行为模型)来生成自然、逼真的车辆,行人以及其他交通参与者的行为。

主页:https://ariostgx.github.io/lctgen/

Paper:https://arxiv.org/abs/2307.07947

GitHub:https://github.com/Ariostgx/lctgen

LCTGen是一个可以理解交通场景文本描述的Transformer语言模型,它可以根据已知的文本描述,预测交通参与者可能的位置,以及他们在场景中的运动。从简单的事故报告,LCTGen可以将车辆放置在指定的位置,并生成符合报告描述的轨迹,或其他相似的场景。这可以帮助自动驾驶开发者将以前静态的数据源,如文本的事故报告,转化为可用于评估的仿真场景。这不仅可以增加场景的多样性,还可以在仿真中训练和测试自动驾驶技术栈,以在更广泛的场景中保持安全性。

fce0a713383d3b040e47f861596052d9.jpeg

LCTGen框架

第三个关键技术是集成了大语言模型的NVIDIA Omniverse场景编译器,它可以对已有的驾驶场景进行细微的调整,通过简单的语言提示,轻松修改虚拟场景的方方面面。比如场景编辑器可以瞬间将白天变为黑夜,将晴天变为雨天,或向场景中添加新的交通参与者,这大大扩展了自动驾驶系统在开发期间可以接触到的真正OOD(Out-of-Distribution)的范围。

1cbcab224300df1dc6fb3e3a41b3c787.png

场景编译器

NVIDIA将构造道路环境的MapLLM、生成逼真驾驶场景的LCTGen,集成了大语言模型的Omniverse场景编辑器结合在一起,就可以高效地利用生成式AI,创建逼真场景来准确反映现实世界,并进行全面的自动驾驶评估和训练。         

4. STRIVE:生成碰撞场景

STRIVE 具体演示详见下方视频:

现实世界中存在着各种类型的交通状况,自动驾驶汽车必须能够安全应对,因此收集真实且多样化的潜在交通事故场景数据集十分重要。然而现实世界中意外发生的碰撞情况相对罕见,若要在现实世界中重现此类碰撞情况来进行测试则极不安全。         

NVIDIA研究团队提出STRIVE:一种用于自动驾驶仿真的生成式AI算法,可以自动生成接近真实的、有效的碰撞场景,为自动驾驶堆栈的规划功能提供大量的训练样本。STRIVE的独特之处在于它能够从车辆行驶数据中学习,并自动产生罕见的危险情况,以确保测试的碰撞场景接近真实情况。

主页:https://research.nvidia.com/labs/toronto-ai/STRIVE/

GitHub:https://github.com/nv-tlabs/STRIVE

outside_default.png

STRIVE生成碰撞场景

为了保持场景的合理性,关键思想是利用基于图的条件 VAE 形式的交通运动学习模型。场景生成被表述为该交通模型latent空间中的优化,扰乱初始真实世界场景以产生与给定规划器相撞的轨迹。后续优化用于找到场景的“解决方案”,确保它有助于改进给定的规划器。进一步的分析根据碰撞类型对生成的场景进行聚类。         

9d4c7bc84e2cd8577bb0bcfee4b43d3d.png

STRIVE 为给定的规划器生成具有挑战性的场景

通过在 NVIDIA DRIVE Sim 端到端仿真平台中运行的STRIVE,开发者可以在罕见和具有挑战性的情况下,进行安全且可扩展的自动驾驶汽车开发和测试。

5. LLaDA:LLM让驾驶更简单

LLaDA 具体演示详见下方视频:

让自动驾驶汽车适应新环境、当地交通规则和习俗是自动驾驶领域的一个长期问题,这严重阻碍了自动驾驶汽车 (AV) 的广泛部署。

NVIDIA研究团队提出LLaDA:一种强大的基于大语言模型的自动驾驶助手,它可以根据新地点和不同语言下的交通规则和驾驶规范,为人类驾驶员和自动驾驶汽车提供实时指导,从而实现在任何地方驾驶。该工作成功收录于AI顶级会议CVPR 2024!

9723237f6357d936216847baa551116b.jpeg

LLaDA可以让驾驶员在全球任何地区获得指令

主页:https://boyiliee.github.io/llada/

Paper:https://arxiv.org/abs/2402.05932

GitHub:https://github.com/Boyiliee/LLaDA-AV

如下方示例所示,驾驶员学会了如何在加利福尼亚州开车,而现在需要在纽约市开车。但是,道路状况、交通法规和意外情况有所不同。在LLaDA系统中,考虑三个“输入”:初始计划(“右转”)、当前位置的唯一交通规则(纽约市驾驶手册)和意外情况(“有人对我鸣喇叭”)。LLaDA将这三个“输入”输入到交通规则提取器(TRE)中,该提取器用于组织和过滤输入,并将其输出到冻结的 LLM 中以获得最终的新计划。这里将 GPT-4 设置为默认LLM。

64b4fed313d78c94d3c3373a3db0914a.png

LLaDA 框架

2992a8c9461d559e04f92332fd657648.png

交通规则提取器(TRE)框架

LLaDA 可以应用于任何自动驾驶堆栈,以提高其在具有不同交通规则的新位置上的性能。

e4f20a63014b5db46fc3d9a17735a3dd.png

LLaDA和GPT-Driver结合

LLaDA实现了比以前最先进的方法更好的性能,这已通过用户研究和 nuScenes 数据集上的实验得到验证。         

20ce8af25aeeeef25f76ca1918d38b05.png

运动规划结果

LLaDA借助 NVIDIA Riva 实时语音SDK与用户用不同语言交流。例如当你用中文提问时,它可以用你所需的语言作出回应。LLaDA还可以在自动驾驶系统中重新规划与当地环境更加匹配的运动轨迹,有效地纠正原有轨迹的错误,最终以恒定速度继续向前行驶的轨迹。

不论你在世界的任何一个地方,LLaDA作为驾驶助手,都可以实现你与AI系统的实时交互,让你在行车路上更加放心。

6. HALP:模型剪枝优化

HALP 具体演示详见下方视频:

在自动驾驶中,模型剪枝(Model Pruning)是一种减少神经网络模型规模并提升计算效率的技术。由于自动驾驶系统通常运行在资源受限的硬件上(如车载计算单元),剪枝技术可以降低模型的计算和存储需求,使其在不显著影响精度的前提下,实现更高效的推理过程。         

NVIDIA研究团队提出HALP(Hardware-Aware Latency Pruning):一种硬件感知的模型剪枝方法,可以使高性能神经网络(CNN、Transformer等)在任何硬件上实时运行。它根据硬件的特点,对预训练模型进行针对性优化,最大限度地利用硬件的计算力以达到模型的实时需求。

主页:https://halp-neurips.github.io/

Paper:https://arxiv.org/abs/2210.06659

GitHub:https://github.com/NVlabs/HALP

考虑到性能和延迟权衡,HALP将全局结构剪枝公式化为全局资源分配问题,进而使用增强背包算法(Knapsack Algorithm)来解决。这里创新引入了增强背包求解器(Augmented Knapsack Solver )组大小调整方案,以适应各层延迟贡献的变化,从而充分利用底层硬件的延迟情况。

bdd4402f95cb61a8fa717856bbd800d2.png    

HALP框架

在分类和检测任务中,HALP剪枝后的架构在不同的延迟约束下均超越了先前的工作。在 ImageNet、CIFAR10、PASCAL VOC上剪枝ResNet、MobileNet、VGG架构时,HALP与最先进的方法相比,可以持续改进延迟和准确性。其中在ImageNet剪枝结果可实现1.6倍至1.9倍的加速,同时保持与 ResNets 非常相似的原始准确性

0114f1d465492d23887abd58d6d52611.png

ImageNet剪枝结果

通过HALP,开发者可以通过压缩非常大而准确的模型,来同时实现自动驾驶中实时和高精度要求。HALP代码已开源,强烈推荐大家上手体验!

总结和展望

NVIDIA在自动驾驶领域的实力主要体现在其高性能硬件平台、端到端的软件栈、强大的AI算法支持以及广泛的产业生态系统,强力推动了从L2到L5级自动驾驶技术的开发和实现,为未来智能出行提供了坚实的技术支持。

整理不易,请赞和在看3f454a714b6fdf1649b4a3313ea2a509.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值