解密Drive.ai:一个完全用深度学习搞无人驾驶的异类-阿里云开发者社区

开发者社区> 量子位> 正文

解密Drive.ai:一个完全用深度学习搞无人驾驶的异类

简介:
本文来自AI新媒体量子位(QbitAI)

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

在研究L4自动驾驶的各大团队之中,Drive.ai是个异类。他们想完全依靠深度学习技术,让汽车实现基本不需要人类干预的自动驾驶。

Drive.ai联合创始人、CEO Sameep Tandon说,他们认为要想在近期制造出有用的自动驾驶汽车,深度学习是唯一可行方案。“从这些算法的长期可能性来看,也就是人们未来会怎样设计自动驾驶汽车,建立一个学习系统还是最有意义的。驾驶这件事很复杂,有很多难度高、又很微妙的问题,如果你用除了学习之外的方法来解决,你一辈子也别想把车子开出去。”

他还说,这是第一次有人“如此强烈地”从深度学习角度来探索自动驾驶。

现在,Drive.ai共有4辆车在旧金山湾区进行路测,即使在夜路、下雨、有雾等复杂情况下,它们也基本可以实现完全自动驾驶。这些车辆的路测,开始于大约1年前。

去年4月,成了第13家获批在加州进行自动驾驶汽车路测的公司,而在此之前,他们进行了一年的秘密研发,外界甚至没人听说过这家公司的名字。

这家公司成立于2015年,创始团队来自斯坦福大学人工智能实验室,都是深度学习领域的专家。从一开始,他们就完全围绕着深度学习来打造自动驾驶技术,让汽车很快学会了一辆自动驾驶汽车该掌握的大量驾驶场景。

其他无人车团队就不用深度学习技术了吗?Drive.ai联合创始人、董事长Carol Reiley说,也用,不过用法不一样。“我们与传统的机器人学方法有着明显的区别,很多公司都会在自动驾驶技术的某个组件上用深度学习,但是我们是从整体来考虑的。”

最常见的做法,是把深度学习用在感知方面。这种技术在分类任务上表现得非常出色,甚至无论什么场景都可以,因此,深度学习在自动驾驶上的应用,通常是类似于识别摄像头画面中的行人这样的任务。

深度学习识别行人,依靠的是大量训练之后对某种模式的感知。模式并非只能用在图像识别中,决策、动作规划同样有模式,同样能利用深度学习技术,在某些场景下,用深度学习来做决策甚至比基于规则的传统方法更好。但是,大多数自动驾驶团队都只把深度学习用在识别中,为什么呢?

Reiley和Tandon说,虽然深度学习能为无人车带来更细致的行为,麻烦也可能随之而来。

黑箱

对于深度学习的最大疑虑,就是“黑箱问题”。深度学习系统识别模式的过程,发生在神经网络上所运行的算法之中,我们向一个训练好的系统输入数据,然后系统输出对数据的解释,而输入、输出之间的决策过程,人类看不见也无法理解。

这就是大多数自动驾驶团队不会全面使用深度学习的原因:一旦系统做出了错误的决策,你需要确切地知道在这个过程中发生了什么,确保同样的错误不会再次发生。因此,他们用传统的、基于规则的机器人学方法来做决策,将深度学习的应用限制在感知上。

Drive.ai的做法,是在感知和决策上都使用深度学习,但也并不是用一个大黑箱系统直接从传感器采集原始数据,然后输出左转、刹车、加速这样的指令。Tandon说,他们刻意避免了这样一个端到端的大黑箱,“如果你将它分解成几个部分,然后分别应用深度学习,你就会发现每部分都能用不同的方法来验证,这样就会对系统有信心了。”此外,Drive.ai还结合了一些规则、人类知识来确保系统的安全性。

Drive.ai的研究员们说,有些技巧可以让我们窥视黑箱里面发生了什么,然后进行调整。比如可以向系统输入特别处理过的数据,然后看算法对数据细微变化的反应。对于某些特定的情况,模拟也是一种很好的方法,Tandon举了这样一个例子:

我们开始建立这个深度学习感知系统的时候,天桥是我们最早遇到的障碍之一。我们开着车出去测试,发现系统会把天桥的影子误判为障碍物。在学习过程中,你可以用hard mining的方法,让算法集中解决具有挑战性的场景。

我们就用合成的例子增强了数据集,就好像在说:“来,系统,告诉我这个天桥你打算怎么处理。处理完我调整一下,你再来一次。”训练一段时间后,系统就能够正确认识天桥了,然后你可以从系统层面来证实。

训练

有了足够的数据,深度学习系统就能茁壮成长。自动驾驶汽车需要了解的是各种不同情况,大多数团队的做法,也是收集尽可能多的情报。接下来的任务,就是管理和使用这些数据。

Drive.ai坚信数据之间是不平等的,他们将巨大的努力用于收集高质量数据,然后进行标注,让它们能被深度学习算法所用。无论是深度学习还是基于规则的算法,都需要对传感器获取的场景中,出现的所有物体进行详细标注。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

标注是一项简单而枯燥的工作:一个人类,面对着一段短视频,甚至可能是几帧图像或者激光雷达数据,在图像中的每一辆车、每一个行人、路标、交通灯等等可能与自动驾驶算法相关的物体周围画上方框。

Reiley说:“我们知道有的公司有一支数千人的标注大军,在物体周围画方框。汽车每测试一小时,产生的数据足够一个人标注800小时。我们的标注速度比它们快了几个量级,而且依然在优化。”

这是如何实现的呢?Drive.ai使用深度学习来进行辅助自动标注,因此,它们只有一支规模很小的标注团队,大部分都在对新场景新型训练,或者验证系统自动标注的结果。Tandon说:“在很多场景中,我们的深度学习系统已经比人类标注得更好。”

Drive.ai并不清楚为什么其他自动驾驶团队不用深度学习来进行自动标注。Tandon说,他们经常讨论这个问题:为什么其他人不这么做?他猜测,这可能有着很多原因,比如说这是一个综合系统,有很多组件需要进行调整,很难说出它正常运转的原因是什么。

在雨中

Drive.ai安装在车顶的硬件系统,很简单就能加装在其他车辆上,并且集成了一系列传感器,包括:摄像头、激光雷达。这个系统还利用了车辆自身的传感器,例如用于自适应巡航控制的雷达、后置摄像头等。还有一个大显示屏用于和驾驶员、行人等交流。

在9个高清摄像头、2个雷达、6个Velodyne Puck激光雷达的帮助下,每一台Drive.ai的车辆都在不断为生成地图而捕捉数据,并把数据送入深度学习系统,当然数据也用户驾驶任务本身。

这种传感器体系无疑又复杂又昂贵,Drive.ai联合创始人Joel Pazhayampallil解释说,现在的硬件配置的确有些过度,当Drive.ai进入试点计划时,传感器会有所减少。

“我们需要一个显著较小的子集,可能是目前的一半”,Pazhayampallil说“算法正在不断改进,我们也在把不同传感器的数据整合起来,从激光雷达获得低分辨率深度数据,并从摄像头获得真正高分辨率的情景信息”。

这种基于融合传感器数据进行深度学习的多模式冗余和决策,好处就是:能为传感器失灵提供一些保护。深度学习算法可以基于有缺失的传感器模态和感知数据进行训练,这比基于规则的方法有着显著的优点,例如不会因为规则冲突导致灾难性的后果。

传感器失灵通常不是硬件或者软件问题,而是由于某种原因不能产生正常的数据,例如太阳眩光、夜间弱光或者被水遮蔽等。


雨中驾驶对无人车的挑战,不仅仅是水会吸收激光雷达的能量,或者产生反射。在上面的视频中可能还看不出来,但是Drive.ai给我们展示了一下,一旦沾上大水滴,车顶的摄像头就基本无用了。“摄像头、激光雷达、雷达……各种故障都有可能发生”,Tandon说。

在路上

Drive.ai的技术项目经理Tory Smith,带我们进行了一趟Demo试驾。不过可惜的是,我们完美的错过了加州近期所有的恶劣天气,赶上一个干燥而明媚的日子。

Drive.ai致力于L4级的自动驾驶,不过根据法律,这家公司只能进行L2级测试。在L2的情况下,必须有人坐在驾驶座上,随时准备接管车辆。

这是一段加州山景城郊区预设好的路线,车程20分钟,经过16个十字路口和一个四向停车路口。总体而言,这辆车行驶的非常平顺,但不如人类驾驶员那么自信。这是有意为之,Smith说:“我们一直以谨慎的态度运作,宁愿无聊,也不愿因激进而让人不舒服”。

实际上,无聊也代表着自动驾驶汽车带给你的安全和信赖感。不过试驾过程中也有一个例外,这也从另外的角度,反映出当前Drive.ai自动驾驶的状况。

当时是一个红灯,我们等在路口准备右转。在加州,红灯右转是合法的,但由于传感器的限制,Drive.ai的车辆通常不会红灯右转。“我们的激光雷达只能看到50-75米的工作范围,这样的路口可能有时速70-80公里/小时的车辆通过”,Smith说Drvie还没有信心安全右转。

当信号灯变绿时,车辆开始向右侧变道,准备右转,然而有一辆卡车停在路边挡住了车道。于是人类驾驶员短暂接管了车辆,驾车绕过开车,然后重新启用自动驾驶系统。

“自动驾驶系统会等待卡车开走”,Smith说处理道路障碍物的能力还在提高之中。这不是一个简单的问题,等待卡车开走是正确的决策,但如何判断卡车会不会继续行驶?

人类可以通过发动机是否运行、是否启用双闪或者周围的相关活动来判断。所有这些人类凭借潜意识就能决定的事情,无人车还需要更多的训练。

上面这种情况对Drive.ai来说非常有价值。他们也在积极寻找更有挑战性的测试路线。对于这家公司来说,一旦某条路线上自动驾驶系统没有发生脱离,他们就会重新选择一条路线进行挑战。这样就能更加有效的标注和训练新数据。

Drive.ai还在推动让无人车可以像人类一样驾驶。

什么意思?目前一种通行的交通灯检测方法,是把详细的路口信息映射给自动驾驶系统,可以确切的告诉摄像头应该看哪里。但这种方法无法扩展到更广的区域。Drive.ai收集不同路口、不用交度、不同场景的信息,训练深度学习系统识别交通灯。

除此以外,Drive.ai还是用情景感知的方式进行判断。比如有些情况下,也许交通灯被遮挡,但周围的车辆都启动行驶,那么系统也应该判断目前交通灯是绿色的。

外面的世界

Drive.ai正在推动L4级自动驾驶的发展,Sameep Tandon也非常乐观:“我们准备开始与客户进行试点,未来六个月,我们希望让更多的人受益于无人驾驶。最终的问题是,我们能够多块的从湾区扩展到一个又一个的新城市中”。

Drvie计划的首要关注点是物流:在小范围重复递送物品,而不是共享驾乘。这至少让Drive.ai在最初不用过多聚焦于处理人类乘客的问题。

对于未来,Tandon兴奋地表示:我很想看到机器人无处不在。

本文作者:李林、舒石
原文发布时间: 2017-03-11 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

官方博客
官网链接