雷锋网·新智驾按:“这是个尴尬的时刻,不过我们还是来讨论技术吧!”今年3月份在德国柏林召开的博世互联大会2017(Bosch Connected World 2017)上,Mobileye CTO兼联合创始人Amnon Shashua在演讲开场时幽默地如是说。
观众笑了。因为就在这场演讲开始前的两天,英特尔宣布斥资153亿美元收购Mobileye,也创造了几乎是2017年最大、最受瞩目的收购案。
时间回到现在,就在前几天,英特尔已经正式完成对Mobileye的收购,故事以Mobileye成为英特尔子公司开始一个新的篇章。
很多人都讨论过英特尔这笔钱花得值不值,但不可否认的是,Mobileye正调用自身在环境“强感知”技术的积累,在自动驾驶领域走得越来越远。同时,Mobileye实现了技术厂商的跃进,如今真正和车企站在一起。
或许是因为这些,或许是因为其他的什么,CTO Amnon Shashua在演讲中可以自信地说,“Mobileye正在走一条正确的路线,不这样做自动驾驶永远都实现不了。”
在这个路线中,人工智能不可或缺。Mobileye到底如何利用人工智能实现对自动驾驶研发的超车呢?答案在Amnon Shashua的演讲中,雷锋网·新智驾对演讲内容做了不改变原意的编辑整理。
Amnon Shashua:在浩大的自动驾驶产业链中,人工智能到底扮演着怎样的角色呢?今天我们要来讨论这个问题。
在这之前明确,实现自动驾驶的方案和路径多种多样,我将它们分为两类:比较传统的方案;大量运用人工智能的方案,也是我们正在做的方案。今天会具体介绍他们。
为了实现自动驾驶,我们需要解决的技术主要分为三部分:
感知:在车辆部署摄像头、激光雷达、毫米波雷达等传感器,配合高性能的算法,让车辆感知周边环境。
高精度地图:高精度地图是实现自动驾驶的必要性技术之一,它提供了一种更前瞻的信息指示和冗余性,是保证自动驾驶安全的基础。
驾驶决策:在驾驶决策的技术研发中,往往能为人工智能提供大量用武之地。其最终目的是,让自动驾驶车辆在面对复杂交通环境时,能够像人一样驾驶,拥有人类的一些决策属性和技巧,同时也要保证安全。
下图是我们与德尔福合作研发的自动驾驶demo,车辆在长达10公里的拉斯维加斯街道上完成了无干预的自动驾驶。图中可以看到,3D box准确框出了每一台车辆,绿色部分标识了可驾驶的空白区域,同时算法对交通灯、交通指示牌也进行了识别。总的来说,这台自动驾驶车对周边环境进行了360度的感知识别。
再来展示一下关于绘图的内容。下图展示的是Mobileye近一年半时间研发的REM(Road Experience Management)路网采集管理系统,这是我们通过众包模式收集数据绘制高精度地图的方法,这些采集到的路标构成了RoadBook(路书)。该项目中,我们与宝马和其他汽车平台合作,进行数据收集。
最终我们得到一个存储在云端的地图,它可以投射在两个界面上,图中右手边是将数据投射在谷歌地球上,这样可以得到大尺度的精度参考,左手边是投射在车辆采集的实时图像上。
当运行起这样的系统时,可以看到投射在谷歌地球和车辆视角图像的车道线非常精准,同时标注出了道路标识等信息,精度达厘米级。
这是另一个demo,与尼桑汽车在伦敦街道上的道路测试。
在这个过程中,人工智能发挥了哪些作用?
当提到车辆感知,通常指的是物体检测的过程,即道路上的车辆、行人、交通标识、交通灯等等。
环境感知的阶段一:感知障碍物。对机器而言,输入的是图像,输出的其实是bounding box,如一辆汽车的bounding box、一个行人的bounding box。这是如今的驾驶辅助系统,我们需要检测车辆、行人等物体,再根据这些障碍物进行相应的驾驶决策。
环境感知的阶段二:感知空闲区域(free space)。过去的环境感知,是检测路缘、护栏等障碍物,依此判断哪里能够驾驶,哪里不能。而现在换一种方式,输入仍然是图像,但输出是一种自由形式的边界范围(free form boundary)。对边界范围进行识别,我们需要对诸如车道线、路缘等等特征进行语义理解,这使得系统实现变得更复杂。
环境感知的阶段三:感知可驾驶区域(Drivable Paths)。这个阶段产生的是真正的颠覆性技术,系统将感知每条道路通往何地,以及与道路相关的语义理解,例如这条路有多长、这条道路会通往高速、高速的出口又在哪里…所以这个时候,输入是图像,但输出的是一个故事,是要去描述一个的场景,而不只是识别出障碍物。我们将这称为“强感知”,这确实是一个开放性的问题。
以上就是Mobileye在车辆感知中应用人工智能的尝试。第一阶段是单纯软件问题,第二阶段进行了升级,目前已经实现量产,比如特斯拉的第一代Autopilot系统,第三阶段是非常有挑战性的,同时需要大量的人工智能技术参与。
感知技术是如何被运用的?
感知技术是如何被运用的?目前主要有两种路径,第一种“重地图模式”(Map heavy approach),第二种“轻地图模式”(Map light approach),Mobileye属于第二种方式。
1、重地图模式
这种方式很好描述,也很容易使用和部署。但这是一个错误的方式。为什么?下面具体介绍。
这种方式通过使用3D传感器(如激光雷达)来检测车辆和行人,然后被呈现在车辆的3D坐标系统中。
之后,将车辆在3D地图中进行定位。实现方式有多种,例如车辆通过激光雷达采集了周边环境数据,并与已有的高精度地图数据进行匹配,就可以进行自定位。
将步骤一中检测到的车辆和行人放置到高精度地图中,因为你已经实现了自定位,而高精度地图中包含了所有车道线等信息,所以你已经拥有了“上帝视角”,你从高精度地图上获取了可驾驶的路径,同时有通过感知得来的物体检测信息,所以直到目前,似乎我们不需要任何摄像头。
如果你回忆一下谷歌最初的无人车原型,他们没有部署环境感知摄像头,只有一个看交通灯的摄像头,其他都是基于激光雷达完成的。
这就是第一种路径。
2、轻地图模式
现在,如果你希望系统有更好的鲁棒性。你就需要加入更多的传感器,例如摄像头。每加入一种传感器,都需要将其数据转化成三维,所以,如果你现在拥有摄像头数据,就必须将摄像头数据加载在3D坐标系统中。
问题在于,由2D转向3D是很困难的,毫米波雷达的数据也是2D的,它测量不同的维度,但仍然是2D。我们使用轻地图模式,解决这个问题。
使用摄像头同时检测车辆、行人以及可驾驶路径。即将静态和动态场景描述放在同一个2D坐标系统中。
通过将高精度地图数据投射在车辆获取的2D图像中进行车辆自定位。该技术在上面的demo中已经进行了展示。
现在,我们使用这种投射方式,建立一个车辆和可驾驶路径的统一3D视角,因为地图是三维的。而当你需要加入一个额外的传感器,如毫米波雷达、激光雷达等传感器,你所有需要做的,就是将3D转换成2D。例如将激光雷达数据投射到二维图像中,这是比较简单的。
举个例子,这是将激光雷达数据和其他数据投射到二维图像上的示例。
这是将毫米波雷达数据投射到二维图像的示例。
现在,让我们看一下这种方式的优势。如下图所示,左侧展示了右侧图像的仰视图视角,并且我们可以非常准确地获取这种视角。
所以,摄像头加地图就可以提供所有驾驶需要的信息,之后毫米波雷达和激光雷达等传感器,会处理一些冗余的问题。
接下来,我们总结一下这两种路径的优缺点。
重地图模式的优点:
非常容易设计出原型,找10个有才能的工程师,不出6个月的时间,你就能到一个不错的demo。这就是一些硅谷团队在做的事。
重地图模式的缺点:
会造成车辆对高精度地图的过分依赖,没有高精度地图,你什么都做不了。
可驾驶路径和车辆/行人处于不同坐标系统中,没有协同,且每类物体由不同的传感器识别。当你将它们同步到同一个坐标系统中,容易产生错误。
真正重要的是,创建高精度地图需要人工标注,这是一个巨额的成本投入。
如果没有一个真正经济的高精度地图绘制方式,自动驾驶很难真正落地。而如今许多公司在绘制高精度地图时使用的方式都是非常昂贵的。
轻地图模式的优点:
摄像头是唯一的环境感知传感器,在同一坐标系统中同时检测车辆/行人以及可驾驶路径。
使用车载摄像头传感器众包获取数据,制作高精度地图,大大降低了成本。
可实现低成本的level 2+等级自动驾驶。在level 2中,驾驶员需要对车辆驾驶控制负责,但是通过轻地图模式,可以实现类似level 3、level 4的体验,同时激光雷达将不是必须的。这开拓了更广泛的商业和市场前景。
轻地图模式的缺点:
非常难以实现。
如刚才所说,感知的第三阶段很复杂,且需要大量人工智能技术辅助。但从长远角度看,这是一条正确的路径。重地图模式短期来看易于实现,但长期而言,不能形成规模化。
这部分讲驾驶决策,即复杂交通中的博弈。上图中的新闻,是大概一年多前,自动驾驶撞人的案件。无数自动驾驶车都在面临一个共性的问题,他们的驾驶决策太过简单,当一些复杂的、意料不到的事情发生时,驾驶员必须要进行接管。机器无法做出人类面对复杂情况的博弈和决策。
前提是,驾驶是一个“多主体”的游戏,只要道路上还存在人类驾驶员,那么机器就必须明白人类的决策技巧,人类容易冲动,人类会犯错,所以自动驾驶车需要与人类司机进行协同配合,同时要保证安全。
所以,现实生活中的交通到底是什么样呢?为了弄清楚这个问题,我用一架无人机进行航拍,拍下了一些现实交通的画面。
上面这辆车尝试并线,没人给这个“可怜的人”让行,不过这就是真实生活!所以想象一下,把这个场景交给自动驾驶车,你如果希望它能做到这样,那就是天方夜谭了,做到接近都是不可能的。
我们更具体地聊聊。下图展示了双车道并线问题,这是我们与宝马汽车合作的项目,目的是解决现阶段一个非常具体的驾驶问题,也是一个非常困难的问题。
在双车道问题上,车辆会从两侧车道会车,为什么这个问题具有挑战性呢?因为车辆不是简单地挤进来,它可能会干扰其他车辆行驶,也有可能产生两车僵持的情况。但对于两车道会车,没有一个明确规则,唯一的规则就是不要发生事故。
在四车道的十字路口会车时,其实并不是最难的,因为十字路口有交通灯,有规则,但这种双车道会车的情况则不同。所以,你必须预估出之后几秒的情况,并做出规划,你需要估摸出会车间距和通行的时间,能够在不发生碰撞的情况下及时通过。所以,这其实是一种非常困难的问题。
所以,我们希望能利用机器学习解决这个非常复杂的问题。而机器学习的趋势,就是数据驱动。
优势:比基于规则的算法更简单地观察和收集数据。在很多场景中都是这样,例如自然语言识别、计算机视觉等等。历史经验表明,机器理解潜在规则是很难的,但收集数据,用数据驱动机器学习算法性能,会获得更好的表现。
所以,大规模应用机器学习,是一个正确的趋势。
缺点:机器学习的性能表现取决于你用来训练它的数据,这就意味着有可能出现“临界”情况。而找到这样的临界情况需要更多的数据,以及更多的尝试,直到筛选出临界情况。
所以,机器学习是一个有监督的学习过程。在感知过程中,你感知的是当时的场景,而在感知背后的技术,是过去的积累和学习,是深度、有监督的学习;而当提到驾驶策略时,你其实是在计划未来,这是一个不太一样的机器学习方法,被称作增强学习,在其中你需要与环境进行交互。
为什么这两者在叫法上不同?他们的区别在于,使用数据的方式。
1、有监督的学习
在有监督的学习中,我们预测的行动不会对环境产生影响,因此我们可以一次性收集所有的数据,也可以在线下收集数据,然后再用这些数据不断训练神经网络,直到找到所有的“临界”情况。
2、增强学习
在增强学习中,我们的行动会对环境产生影响,这意味着,如果我决定左转,我就正在影响其他驾驶的车辆。所以,现在如果我要更改软件,那意味着我需要重新收集所有的数据,因为每一次变化驾驶决策,就是在改变影响环境的方式。
这会造成一些问题,因为临界情况在驾驶中就代表着“事故”的可能性。而事故是一个小概率事件,为了找出这种临界情况,那么我们就需要大量的数据,而每次要修改软件时,又需要重新再收集一次数据。这就造成了很大的问题。
这也是为什么传统基于规则的路径规划算法没有引入机器学习,因为这个命题并不是那么吸引人,这听起来并不是什么好主意。
所以,我们找到了了一种解决这个问题的方式。用这种方法,我们可以使用机器学习算法,同时避免数据量的爆炸,并确保安全。在Mobileye网站上可以找到这篇论文。
我们在仿真实验中对其进行了测试,下图中的8辆汽车都是被训练的驾驶主体,随机分布,可以看到,它们经历了复杂的调度决策。
在这个仿真实验中,共经历了10万次路测驾驶,每次测试中有8个驾驶主体、位置随机,没有发生碰撞事故。系统性能达到每秒10hz的频率响应。占用的计算量仅1%,而这些,正是得益于人工智能。
在传统的方法中,你试图开启的是一棵包含了所有可能性的树,这最终会导致数据爆炸和系统瘫痪。但如果使用机器学习,就像谷歌Alphago赢得了人类积累了数千年历史的围棋,你正在开启一种新的可能性。
你使用了一种新的方式,通过数据驱动的方式,穿越了这棵巨大的树。
目前,Mobileye已经在进行相关的研究,如下图,所有的驾驶主体都是被我们训练的样本,可以看到,它们的驾驶行为已经越发接近人类。
总结一下,Mobileye如何利用人工智能加速自动驾驶的落地?主要是以下几部分。
1、正确的感知:即通过“强感知”理解可驾驶的路径。传统的方法过分依赖高精度地图,而规避了技术上难以实现的部分,但如果这样做,就不会形成规模化系统。
2、正确的绘图:使用“强感知”技术,通过众包自动生成高精度地图。我们的技术最终希望高精度地图的生成完全自动化。
3、正确的驾驶决策:让自动驾驶车达到人类等级的判断力,像人类一样敏捷,同时还要确保安全,这是一个挑战,我们在这部分的研究仍处于起步阶段。大家可以在Mobileye网站上浏览我们的研究论文,在这方面我们与宝马汽车进行了许多项目研究。
而在这部分,如果我们不能正确的解决,那么真的无法使自动驾驶落地。这其中将涉及大量的人工智能技术。
以上,就是人工智能在自动驾驶领域的创新应用和变革。
点击获取Amnon Shashua演讲视频,由雷锋网·新智驾(AI-Drive)下载上传。