【智驾深谈】深度学习驱动的自动驾驶新主流框架盘点(附3篇论文)

简介:
大背景


基于深度学习架构的人工智能如今已被广泛应用于计算机视觉、自然语言处理、传感器融合、目标识别、自动驾驶等汽车行业的各个领域,从自动驾驶初创企业、互联网公司到各大OEM厂商,都正在积极探索通过利用GPU构建神经网络实现最终的自动驾驶。

 

高阶ADAS系统的开发以至自动驾驶系统的开发都有赖于一套能够完整支持开发、模拟测试、原型制作和量产的开放式解决方案。本文将介绍基于深度学习架构的自动驾驶平台,这一架构将成为未来实现自动驾驶的集成平台中的重要一环。

 

深度学习是什么

 

深度学习是目前人工智能领域最流行的技术。深度神经网络由一些列简单可训练的神经元组成,这些单元相互协作可以学习完成甚至像驾驶这样的复杂任务。

 

深度学习可以说是计算机从数据中提取决策依据的一个过程。与传统的基于算法的系统相比,其最大的不同在于给定模型之后,深度学习系统可以自动地学习如何完成给定的任务,这些任务不仅可以是识别图像和语音,甚至可以是控制无人机执行任务或是让汽车自动行驶。深度学习(译者:在一定程度上)模拟了人脑从外界环境中学习、理解甚至解决模糊歧义的过程。

 

ImageNet

 

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

ImageNet近年来准确率的提升


近年来深度学习进展的一个直观的体现就是ImageNet竞赛。在这个竞赛中参赛算法在数千图像和视频的大规模数据上测试检测和分类的正确率。2012年之前,竞赛中物体的识别率一直提升得非常缓慢(低于70%)。在2012年引入深度学习之后,识别率一跃升至80%,现在已超过95%。深度学习已经取代了传统视觉方法在这一竞赛中的地位。


高科技公司的深度学习研究

 

Facebook是最早使用GPU加速DNN训练的公司之一。深度网络和GPU在Facebook人工智能研究院(FAIR)推出的专门用于深度学习训练的计算平台中扮演着重要的作用。Facebook寄希望以此推动机器智能的发展并帮助人们更好的交流。

 

Google也在深度学习领域投入了大量力量。Tensorflow是Google的第二代机器学习系统,用来理解学习大规模数据和模型。这一系统非常灵活可适用于图像、语音、文字理解等不同应用。Google使用了上千块GPU并在性能上较同等CPU极大的提升。

 

据Google的计算机视觉科学家AneliaAngelova透露,Google同时在尝试使用级联的深度网络解决自动驾驶问题。

 

老套路和深度智驾

 

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


上图展示了典型的自动驾驶的工作流程。通过相机、激光、雷达和声纳,车辆可以对周围的静态和动态环境进行360度的精确鲁邦感知。在障碍物的检测识别中使用深度网络可以使得传感器融合数据的精准程度得到显著的提升,为后续的感知、定位、规划和决策提供依据。其中的第一项“感知”,包括了传感器融合(整合多传感器的数据),物体检测(发现障碍物),物体分类(“障碍物是行人”),物体分割(“行人位于道路右侧”)和障碍物跟踪(“行人在向左移动”)。

 

第二项“定位”包括了地图融合(整合多来源地图数据),基于地标或GPS的三角测距。精确的定位是自动驾驶车辆在路上安全形势的重要前提,整合例如HERE等高精度图数据的能力是对车辆进行精确定位的必要条件。

 

最后的“路线规划”制定了车辆的运动轨迹和行为。自动驾驶汽车需要保证在动态环境中的任何可能的危险状况下都安全行驶。找出可行驶区域或是预测环境的变化都需要复杂的算法设计予以支撑。此外,还需要保证车辆可以平顺的行驶以免影响乘坐体验或其他车辆带来干扰。复杂的路径规划算法需要综合考虑上述所有因素以保证最终理想的乘坐体验。

 

实现这些,光凭一个所谓的智能相机是不够的。物体的检测分类、地标的识别、驾驶行为的适配已经车辆的行为决策,上述所提到的每一步都需要深度网络的参与。另外深度网络本身构成了一个平台,不同的OEM或Tier1供应商都可以在其基础上进行扩展并构建自己专有的解决方案。

 

深度学习的套路

 

深度网络包含了多层神经元。在物体识别任务中,底层的神经元通常学得了对边缘的检测,而第二层的神经元可能学得识别例如三角形或矩形等复杂的形状,第三层或再往上则识别更复杂的形状。对于给定的任务,则需要根据这些特性选择合适的网络层数和配置,也称作网络模型。

 

自动驾驶问题的难点在于城市环境下的驾驶场景是十分复杂和难以预测的。所以需要通过融合多种传感器的数据来实现感知、定位、决策和规划。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

 

这一场景十分适用于使用深度学习技术。例如Caffe等深度学习框架可以方便地用来进行深度学习训练。Caffe由Berkeley Vision and Learning Center和开源社区参与者共同开发。其设计兼顾了简明、速度和模块化,很适合用于解决自动驾驶等任务。

 

紧接着是在这个框架下针对一个任务比如物体检测和识别进行设计和训练。和体育训练需要教练一样,深度网络训练也需要监督指导。评价函数定义了网络期望输出和实际数据的差别,称作预测误差。误差用于调节各神经元之间的权重和偏移。训练将使得网络对于同一输入的预测误差越来越小。这中变化由外部数据自动计算得出,不需要人为介入。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

 

进行训练需要首先收集驾驶场景并进行标注物体类别或驾驶决策,建立训练数据的数据库,用以对模型进行训练。

 

接下来,训练好的网络在录播数据或者模拟器中进行离线测试。测试通过之后,则可以将模型载入ECU进行实际路测。对于自动驾驶系统的其他深度网络模块使用同样的方法训练,最终实现端到端的驾驶系统的训练。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

图5展示了一个现实中的驾驶场景,图像来自真实的美国高速公路场景。数据将被输入基于深度网络的自动驾驶系统,并在下方显示了预测结果。中间白色的是行驶车辆,在左侧识别出了两辆车(灰色),右后方识别出了一辆汽车。基于这些车辆的位置和速度,路径规划系统计算出可能的行驶路径(绿色),并最终选择合适的路径。

 

三家代表性深度学习自动驾驶解决方案

 

英伟达的DRIVE解决方案


英伟达论文下载https://pan.baidu.com/s/1bo4jTvx


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy
 

如图6,NVIDIA提供了用于训练、测试和应用的集成的自动驾驶解决方案。NVIDIA DRIVE解决方案为车厂、Tier1供应商和自动驾驶研究机构提供了强大灵活的解决方案让车辆可以感知、决策和学习。解决方案平台包含了训练平台NVIDIA DGX-1和用于车载计算的PX2。链接两者之间的是用于开发、模拟测试的的NVIDIA DriveWorks软件开发工具。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

DriveWorks支持在PX2上实现传感器同步、标定、数据采集和记录等一系列复杂过程。

 

Mobileye的自动驾驶布局


Mobileye论文下载:https://pan.baidu.com/s/1pK9ldrH


Mobileye在自动驾驶的布局分为三个部分,可以认为是三个阶段:感知、高精地图和驾驶决策。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


当前比较成熟的,是它的感知技术,已经大量运用在已有产品中,主要提供一个环境模型(Environmental Model),包括运动和静止的物体、车道线、可行驶区域和交通标志等。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


多年的积累,让Mobileye在环境模型方面能够提供的内容远超竞争对手,在别人还在尝试提高单一车道线的检测精度时,Mobileye已经可以提供道路的语义级特征描述,例如当前行驶车道的左右车道线、左右车道的左右线以及道路分叉等等,均通过深度神经网络识别。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


谈到深度学习,就需要提一下现在很火的End-to-End方法。智驾深谈第一期的时候,我们曾经介绍了独行侠GeoHot和他的Comma.ai,Shashua对于端到端方法也有自己的看法,简单来说是不看好的。他认为端到端不考虑专家经验,不考虑领域知识,不考虑人工监督,对极端情况(Corner Cases)的应变能力比较差。相比来讲,Mobileye将感知任务划分成多个模块,每个对应一个人工监督的神经网络,所得出的效果已经可以产品化。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


第二个方面,是高精度地图技术(称作REM,Road Experience Management),该技术是自动驾驶不可或缺的支撑,区别是是否使用复杂的3D激光雷达来采集和制作地图,Shashua认为并不需要,而是通过图像中丰富的纹理和色彩特征来生成地图。Mobileye采取的策略是三维上稀疏,地面一维稠密的结构,三维元素不会包括原始图像数据,而是经过识别后的语义信息。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


地面一维的信息则包括的比较多,建立了一个道路模型,包括车道线的精确位置、连接关系等。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


值得一提的是,当前高精度地图供应商,在生产和维护地图方面成本很高,而Mobileye则采取群体智能的方式来解决这个问题,通过大量装配在量产车上的Mobileye现有产品来分布式收集和更新数据。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


第三个方面,也是自动驾驶技术公认的难点,即决策与规划技术。目前Mobileye也在利用深度学习进行初步的尝试,跟DeepMind采用的DQN网络不同,他们还考虑了驾驶过程中的时序性。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


Comma.ai 的方法


Comma.ai正在采用的办法,叫做End-to-End(端到端方法),指以摄像头的原始图像作为输入,直接输出车辆的速度和方向,中间用某种数学模型来拟合逼近最优驾驶策略,目前常用的就是深度学习模型。


新智元【智驾深谈】曾在8月6日报道,comma.ai的创始人GeoHot把公司的自动驾驶技术和代码开源,代码采用Python语言编写,涉及tensorflow,anaconda,cv2等多个常用深度学习常用开发框架。


comma.ai 论文下载:https://pan.baidu.com/s/1pLPawVh


深度学习端到端:数据准备

                       640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

驾驶数据是本次开源的重要组成部分,不但包括前视摄像头裁剪的数据,共计7.25小时,分为11个视频,160*320大小,并且还包括了GeoHot那辆讴歌采集的转向、制动、速度以及惯导数据,以及图像输入和控制输出的同步时间戳数据。本次发布的论文主要聚焦在通过图像输入来学习控制转向和速度,GeoHot将图像缩小为80*160并将像素值归一化。


深度学习端到端:模型介绍


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

目前深度学习用于自动驾驶可以大概分为两类,一类是收集驾驶数据,离线训练模型,不断逼近人类驾驶员;另一类是在模拟器中,利用Q函数,不断自我决策和试错来提高驾驶技术。由于真正图片的复杂以及输出命令的连续性,使得现实世界中能够得到好结果比较困难,所以我们目前见到的很多都是在模拟器中尝试。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


本次GeoHot开源的是第一种方法,且是在真实道路上经过实测的。其基本原理是,将摄像头获得的图像数据,利用Autoencoder编码(如上图锁匙,期间还用到最近很火的GAN),然后用一个RNN深度网络来从人类驾驶数据中学习,最终预测下一步操作。


结语


自动驾驶产业不断推进,对技术的要求也日益增加,深度学习方法利用大量数据,自动学习感知决策,可极大加速产品研发,给出惊人的效果,或将成为自动驾驶领域的黑科技。


文章转自新智元公众号,原文链接

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
1天前
|
机器学习/深度学习 自动驾驶 算法
探索基于深度学习的图像识别在自动驾驶中的应用
【4月更文挑战第25天】 随着人工智能技术的飞速发展,深度学习已成为推动自动驾驶领域革新的核心力量。本文旨在深入探讨深度学习技术在图像识别领域的最新进展及其在自动驾驶系统中的实际应用。通过分析卷积神经网络(CNN)和递归神经网络(RNN)等先进算法,我们揭示了如何有效提升自动驾驶汽车在复杂环境中的视觉感知能力。文中还将讨论深度学习模型在处理实时数据时所面临的挑战,以及为解决这些挑战而采取的创新方法。
|
2天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第24天】 随着人工智能技术的飞速发展,深度学习在图像处理领域取得了显著成果,特别是在自动驾驶系统中的应用。本文首先介绍了深度学习的基本概念和关键技术,然后详细阐述了卷积神经网络(CNN)在图像识别中的优势和应用,最后探讨了深度学习在自动驾驶系统中的挑战和未来发展趋势。
|
4天前
|
机器学习/深度学习 数据采集 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第21天】 本文章深入探讨了深度学习技术在自动驾驶车辆图像识别领域的应用。不同于传统的摘要方式,本文将直接点出研究的核心价值和实际应用成果。我们专注于卷积神经网络(CNN)的创新设计,其在复杂道路场景下的行人和障碍物检测中的高效表现,以及这些技术如何整合到自动驾驶系统中以增强安全性和可靠性。通过实验验证,我们的模型在公开数据集上达到了行业领先水平的准确率,并且在真实世界的测试场景中展现了卓越的泛化能力。
|
6天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用研究
【4月更文挑战第20天】 本研究聚焦于深度学习技术在图像识别领域的应用,并探讨其在自动驾驶系统中的实际效用。文章首先回顾了深度学习与图像处理技术的基础知识,随后详细分析了卷积神经网络(CNN)在车辆环境感知中的关键作用。通过实验数据对比分析,本文验证了所提出算法在提高自动驾驶车辆对周围环境的识别准确性和实时性方面的有效性。最后,讨论了目前技术的局限性及未来可能的研究方向,旨在为进一步的技术突破提供参考。
|
7天前
|
机器学习/深度学习 监控 算法
深度学习驱动下的智能监控革新:图像识别技术的前沿应用
【4月更文挑战第19天】 在数字时代,智能监控系统作为城市安全和效率的守护者,正经历着前所未有的技术变革。本文深入探讨了基于深度学习的图像识别技术如何重塑智能监控领域,通过算法创新提升识别准确率,实时处理大量数据,并在各种环境条件下稳定运行。我们将分析当前最前沿的技术应用案例,探讨其在实际应用中遇到的挑战及未来发展趋势,从而为相关领域的研究者和实践者提供参考和启示。
|
8天前
|
机器学习/深度学习 传感器 人工智能
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第18天】 随着人工智能的快速发展,深度学习技术在图像处理和识别领域取得了显著进展。特别是在自动驾驶系统中,基于深度学习的图像识别技术已成为关键技术之一。本文将探讨深度学习在自动驾驶系统中的应用,重点关注卷积神经网络(CNN)和循环神经网络(RNN)在车辆检测、行人识别和交通标志识别等方面的应用。通过对比传统图像识别方法,我们将展示深度学习技术如何提高自动驾驶系统的准确性和鲁棒性。
|
8天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第18天】 随着人工智能的快速发展,特别是深度学习技术的突破性进步,图像识别已成为自动驾驶领域的核心组成部分。本文旨在探讨基于深度学习的图像识别技术如何优化自动驾驶系统的性能,并分析其在实时交通场景中处理复杂视觉信息的能力。文中将介绍几种主要的深度学习模型,包括卷积神经网络(CNN)和递归神经网络(RNN),以及它们在图像分类、目标检测和语义分割中的应用。同时,文章还将讨论当前技术面临的挑战和未来的发展方向。
|
8天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶汽车中的应用
【4月更文挑战第18天】 随着人工智能技术的迅猛发展,深度学习已成为推动多个技术领域革新的关键力量。尤其在图像识别领域,深度学习技术通过模仿人类视觉系统的处理机制,显著提高了机器对视觉信息的理解和分析能力。本文将探讨深度学习在图像识别领域的核心技术原理,并重点分析其在自动驾驶汽车中的应用,如何通过精确的图像识别来增强车辆的环境感知能力,从而实现更安全、更高效的驾驶体验。
|
10天前
|
机器学习/深度学习 监控 安全
深度学习驱动下的智能监控革新:图像识别技术的实战应用
【4月更文挑战第16天】 随着人工智能的迅猛发展,深度学习技术在图像处理和分析领域取得了突破性的进展。尤其是在智能监控系统中,基于深度学习的图像识别技术已经成为提高安全水平、实现自动化监控的关键工具。本文聚焦于深度学习在智能监控中的应用,探讨了卷积神经网络(CNN)、递归神经网络(RNN)等先进结构在实时视频流分析和异常行为检测方面的具体实践。通过深入分析多个案例,我们展示了深度学习如何提升监控系统的准确性、效率及智能化程度,同时对面临的挑战和未来发展趋势进行了展望。
13 2
|
13天前
|
机器学习/深度学习 自动驾驶 算法
深度学习引领未来:Apollo 8.0自动驾驶感知模块的全新篇章
深度学习引领未来:Apollo 8.0自动驾驶感知模块的全新篇章