独家 | 重访 2005 DARPA 挑战赛斯坦福车队成员:Stanley 夺冠背后那些不为人知的细节

2017-10-07 21:50 交通出行 来源:创头条 查看原文

独家 | 重访 2005 DARPA 挑战赛斯坦福车队成员:Stanley 夺冠背后那些不为人知的细节

今年是 2017 年,距第二届 DARPA 无人驾驶挑战赛(2005)的筹办,已过去了十多年。

看到现在遍地生花的无人驾驶行业,为自动驾驶算法、激光雷达、高精地图、芯片提供解决方案的初创公司纷纷涌现,一条完整的产业链正在形成。而催生这一切的“原点”,使得自动驾驶由概念走向现实的那一刻——便是 2005 DARPA 挑战赛上斯坦福 “Stanley” 赛车力压卡内基梅隆的两辆改装悍马,以第一名的成绩完赛的那一瞬间。

为了更清晰地回顾这场里程碑意义的比赛,雷锋网采访了一位当事者—— 其作为斯坦福车队成员亲身经历了这场比赛、参与了 “Stanley” 的改装测试。他将以第一视角讲述、反思这场自动驾驶世纪比赛。

独家 | 重访 2005 DARPA 挑战赛斯坦福车队成员:Stanley 夺冠背后那些不为人知的细节

Adrian Kaehler

这位便是本次采访的对象 Adrian Kaehler,其经历不可谓不丰富,以下是一部分:

  • 14 岁就读于加州大学 Santa Cruz 分校;

  • 加入 2005 DARPA 挑战赛斯坦福车队,参与 “Stanley” 的计算机视觉模块(CV)开发;

  • 2006 年出版 《Learning OpenCV》;

  • 2013 年跳槽颇富争议的 AR 初创公司 Magic Leap,任副总裁。2015 年离职,后互相起诉;

  • 2015 年创立非盈利组织 Silicon Valley Deep Learning Group,在硅谷组织向所有人免费开放的深度学习讲座。

以下是采访正文。

雷锋网注:DARPA 自动驾驶挑战赛共举办了三届:2004 年的第一届 Grand Challenge,2005 年的 第二届 Grand Challenge,以及 2007 年的 Urban Challenge(城市挑战赛)。下文中“第一届”、“第二届”字眼会频繁出现,分别指代 2004 年与 2005 年的挑战赛。

雷锋网(公众号:雷锋网):请介绍一下 2005 年 DARPA 挑战赛举办的背景。

Adrian Kaehler:第一届(2004 年)DARPA Grand Challenge 的规模要小得多,没有队伍完赛因而也没人获胜。当时 DARPA 筹办比赛的背景是伊拉克战争(2003 年 3 月发动)。国防部认为自动驾驶技术能够为陆军提供帮助,因而有意推动技术的发展,比赛场地也有意选在类似于伊拉克地形的沙漠。

大赛的 100 万美元奖金其实并不多,但足以让它显得权威,诺贝尔奖、图灵奖的奖金也在这个层次。但是,参赛队伍并不是图这奖金。即便第二年(2005)奖金抬高到 200 万美金,我认为意义仍不大。部分第一届参赛队伍并没有参加第二届,但有许多新团队加入——因为他们听说了这场比赛。相比之下,第一届比赛的赛前宣传做得不到位,许多有兴趣参加的人,听说的时候已经太晚,来不及改装一台车辆参赛。但第一届比赛让 DARPA Grand Challenge 为人所知,每个人都知道它要举办第二届。

你是如何加入斯坦福团队的?

先是赢面相当大的卡内基梅隆(CMU)自动驾驶团队老大 Red Whittaker,在位于硅谷的 CMU 西海岸校区举行了一场讲座。我去听了,觉得“想做这个事”。

当时在斯坦福的 Sebastian Thrun、Mike Montemerlo 也都放出话来,欢迎更多人加入他们的团队。我那时在英特尔工作,Gary Bradsky 也是。Sebastian Thrun 和 Gary Bradsky 认识,邀请 Gary 上车。我和 Gary 以及其他几位英特尔同事就加入了。

有意思的是,整个挑战赛在某种程度上变成了 CMU 和斯坦福之间的竞争,而  Sebastian Thrun 和 Mike Montemerlo 此前都在 CMU。

你们这些英特尔的同事,是以个人身份还是以英特尔团队的身份加入的?

以个人身份。英特尔直到比赛开始前不久,好像是一个星期,才正式提供赞助,展示它的 logo。

各只参赛团队的思路有多大的差异?

参赛团队并不都是大学计算机专业背景。第一届比赛中涌现了各种各样的方案,比如用巨型轮胎克服崎岖地形。有的团队把重心放在传统机械,有的靠的是区域地图,还有摩托车。

到了 2005 年,不同团队之间的方案区别就不大了。大家都意识到开发一辆新车的工程量太大,最好是利用一辆现有的汽车硬件,加入一些自动驾驶功能,专攻软件,只做必要的改装。不过,虽然大家通过第一届比赛都意识到了这点,但重视程度不一样。

在我眼里,斯坦福团队在这方面是比较极端的:采用越野性能很不错的大众途锐(即 “Stanley”),尽量少改动悬挂和车轮等原有部件,添加传感器和计算设备。事实证明,这是一个非常有效的思路。

到了城市挑战赛,每个人都在搞传感器和计算机。选的车都是做电气化改装比较容易的。比如,2005 年,CMU 用的两辆车一辆是悍马 H2,一辆基本是军用版 Hamvee。Hamvee 的问题是,它的电气化程度不高,他们需要加入对油门、刹车的电子控制系统。用最新的车,就可以直接借助车辆已有的系统,不需要自己装促动器什么的。城市挑战赛中有个团队用了普锐斯。他们能够通过这辆车现有的电气系统直接向设备来回传输信息,不需要添加促动器。

斯坦福团队在 “Stanley”上采取了什么方案?

那个时候,激光测距仪是比较受欢迎的方案,大多数车都用它作为主要传感器。但我和其它来自英特尔的成员则认为计算机视觉(CV)非常重要。Sebastian 对此很不以为然,总是说“我不这么认为”、“我才不会用计算机视觉”、“这技术不稳定”。

每周全体队员都会坐到一起开会。大体思路是基于 Sebastian Thrun 之前的研究。在这之外,团队有许多不同的想法,尝试了许多东西。激光测距仪的分析、CV、导航、控制,这些东西当时一点都不清晰。 有许多精彩的讨论。Sebastian Thrun 在斯坦福的课上允许学生选择一些跟我们的参赛车相关的项目。不少学生探索了不同的想法,有很不错的,也有结果一般的。整个过程是非常动态的。

我们发现,作为主要传感器的话,CV 确实还不够成熟,在那个时候(2005 年),做一个纯粹依赖计算机视觉的自动驾驶车不可行。但有些特定问题可以用 CV 解决:CV 技术的探测距离比激光雷达远得多,能够提前探测、理解远处的路况。激光测距仪本来是远距离的设备,但在自动驾驶场景中,它以偏向地面的角度进行探测、行驶时扫描道路。这个场景下,由于多种因素,它的有效距离并不远。

当利用 CV 探测远距离路况,我们能够决定高速地行驶是否安全。事实上,我们因为这一点才赢了比赛。这一点很有意思——当时所有人都假设,赢得比赛的关键是在最难走的部分,比如地面最特别坑洼、崎岖、需要急转弯的地方。而在平坦、直线路段,每个队伍的参赛车辆都会有多快跑多快,就像 indy 500 F1 比赛——获胜的关键是在弯道的表现。但 DARPA 挑战赛和 F1 赛车完全不一样,直线路段并不能“有多快跑多快”。而如果你做不到在平坦、较直的路段“有多快跑多快”,崎岖路段的领先优势完全就丧失了。实际上,那些实力强劲的参赛队伍通过崎岖地段的表现都很好,差距不大。最关键的反而是最好走的地段:当地面情况“良好”时,很难决定是以 30 还是 40 英里/小时的速度行驶。看起来地面比较平坦,但毕竟不是铺装公路,越野车无法高速安全行驶。

我们赢了第二届 DARPA 挑战赛,并不是因为在困难地段表现得有多好,而是在平坦的路段,我们能够识别出这些路段事实上是相对“容易”的,让车跑得更快。我们发表了一篇论文来解释这一点。

简而言之,我们获胜,是因为在平坦、空旷地段比其他车队跑得更快。

详细介绍下 CV 和激光雷达在 Stanley 自动驾驶系统中的功能角色?

CV 让它看到远处,细微操作仍然依靠激光雷达。 我不记得当时激光雷达有效探测距离的具体数字了,但大约是 8 到 10 米。在这距离以内,激光雷达对车辆前方的地形进行细节丰富的扫描。在这范围以外,激光雷达对车辆倾斜角度的估计误差,会导致对地面高度的预测产生更大的误差。这也是为什么激光雷达的有效范围最终是取决于车辆倾角的预测准确度,而不是激光的强度。

相比之下,CV 能看到 100 米远,探测前方的路况是否笔直、平坦,这时候就可以加速。

那时候,CV 的使用很受限制。那之后,出现了更多不同的自动驾驶技术方向。我认为最关键的因素是传感器的成本。购买 Velodyne 64 线雷达仍需要几万美元。如果能有效使用 CV,就不需要使用激光雷达。但 CV 方案到底有多可靠?

DARPA 挑战赛时,我们比其它队伍对 CV 用的更多。事后对于获胜的原因,我们做了很细致的分析,结果发现,如果没有用 CV 只用激光雷达,由于系统反应时间问题,安全行驶速度会遇到瓶颈。比如,激光雷达的探测距离只有 10 米,10 米内突然出现某个障碍必须全力刹车的时候,你必须保证能刹得住。因而时速会有个安全上限,比如每小时 25英里。所有其他团队都限制了他们的时速,当然,为了安全,这是正确的做法。而我们由于有视觉系统,能在至少某些特定路况下突破这一限制。

在好路况上我们以 35、45 英里(举个例子,我忘记了我们的峰值速度)的时速行驶,而别的队伍只能开 25 英里/小时。这才是我们获胜的原因。

如果没有这套系统,我们不会拿下挑战赛冠军,CMU 会赢。

斯坦福团队获胜还有哪些原因?

我之前画了一个图:每个团队花在沙漠(类似 DARPA挑战赛的环境) debug 系统的时间,和最终大赛表现几乎是成完美正比的。在沙漠花费的时间=挑战赛最终成绩。你甚至可以据此讨论,CMU 败给斯坦福的原因,是否因为他们离沙漠太远?(CMU 坐落在美国东部匹兹堡,沙漠在中西部)。这方面,地处加州的斯坦福有巨大的主场优势:2005 DARPA挑战赛在位于加州与内华达州边界的 Barstow 地区开展,顺便说一句,Barstow 的环境真是极端恶劣;斯坦福由于离得近,我们团队得以在那儿训练。

CMU 由于在东部,大多数试验都在与比赛情况并不相近的环境开展。比如树更多啦,你可以说这个环境 3D,会更倾向于从几何方面入手。他们提前了几个星期到西部测试、debug,不如斯坦福团队在沙漠地形测试的时间长。

这很可能是一个合理的论点:CMU 输给斯坦福,只是因为他们在比赛环境测试、debug 的时间不如后者。更多 debug 的时间总是需要的。

你们以及整个团队的工作重心?

我认为 Gary Bradsky 的角色是说服 Sebastian 采用计算机视觉(笑)。

至于整个团队的工作重心,你需要问 Mike Montemerlo 才能特别清楚,他负责监督整个项目,与各个小组沟通。工程上,他是整个团队的核心。

可以肯定的是,大量的努力花在了控制上面。那时候,后预测(post-estimation)和现在很不一样——把 GPS 信息,IMU,Gyroscope 等信息融合一起,估计车辆的位置是一个非常困难的问题,当时没有让人满意的方案,即便有也买不到。

我后来才知道,在 2005 年的比赛,CMU 获得了一家名为 The Planet 的公司的后预测系统,做的就是上边说的事,把 GPS、Gyroscope 等各个传感器的数据进行融合,对车辆的移动轨迹和状态进行估算。

2005 年,我们也开发了自己的后预测系统。但到了城市挑战赛的时候,每个人用的都是第三方的方案。The Planet 也不是唯一一个服务商,大家都把这个作为系统中的一个部件直接买过来,而不是自己开发。

你参与 DARPA 挑战赛最大的收获?

我意识到开发任何类似机器人的东西,机器人体验的多样性总是大幅超出你的想象,不管你多么努力地开脑洞。事实上,这就是谷歌自动驾驶汽车一直遇到的困难。世界这么大,可能发生的奇奇怪怪的事是无限的。 谷歌公布了一系列自动驾驶测试中遇到的特殊情况照片,这些事件为谷歌汽车的 failure mode 做出了贡献。我记得有一张照片,一个小女孩站在街角,手里牵着一只漂浮的红色氦气球。而这个气球的位置刚好就在红绿灯里红灯的位置。而一个好像是树枝的东西基本遮住了亮起的绿灯。即便是用人眼来看,如果不仔细看,你也会以为那气球是亮起的红灯。谁会想到这种情况?如果任何人突发奇想提出,如果这种情况发生我们该怎么办,大家一定会觉得这人有妄想症。但在现实世界中,这就是发生了。

即便在对环境进行了一定控制、导致多样性有限的挑战赛,可能发生的匪夷所思的事仍然非常多。每个团队成员都有预料之外的情况导致系统宕机的的故事。

这是我参于挑战赛学到的一大东西。

期间有哪些具有特殊意义的时刻?

在项目早期时候,我、Mike Montemerlo 以及另外两个人开着 Stanley。当时车开得很快,大约每小时 25 英里,在那种崎岖不平、刚下过雨的非铺装沙漠路是相当快了。当时车子在自动驾驶模式,Mike 坐在驾驶位,随时准备接管。车刚冲下一座山头,由于前一天下过雨,小山头底部的视线盲区有一洼大泥塘,我们完全没看到,传感器也看不到,车直接开了上去。溅起的泥巴完全糊住了挡风玻璃,我们什么都看不见。这种情况下,最理想的事是停下车。但是我们每个人都只是尖叫。一直到车开出去大约两三百米,才有人反应过来打开雨刮,我们才能看见车外面。在这一刻,自动驾驶对我来说成为了现实——如果系统没能在这两三百米的距离正常工作,我们就没命了。

是否可以认为,自动驾驶产业诞生于 DARPA 挑战赛?

毫无疑问,没有 DARPA 挑战赛,就没有自动驾驶车。这要归功于当时的 DARPA 负责人 Tony(雷锋网注:Anthony J. Tether)。某种程度上,斯坦福团队表现的很好,也做出了一定贡献。但主要还是 DARPA——这就好比是做 VC,如果投资的初创公司项目太激进,成功的机会渺茫。但如果不够激进,可能投资了很多钱但最后做出的东西价值有限。对任何科技圈的投资人来说,投资项目应该刚好足够难,但又可行。Tony 意识到在有限程度上自动驾驶已经触手可及。你需要知道,在挑战赛之前,军队和大学已经在自动驾驶技术上花了数十亿美元,这并不是完全没有做过的事。军火商其实只想着继续拿研究经费,对他们来说,成功实现自动驾驶并不是一个好事。

而大学的研究做得是算法或某个部件,而不是开发一整套自动驾驶系统。Tony 意识到在这个阶段,激励大家开发整套系统,比资助研究员发论文要重要得多。论文在早期的研究阶段非常重要。而 Tony 意识到“我们已经离自动驾驶很近了,再迈一大步,就能搞出一辆自动驾驶车,至少是准自动驾驶车。”

通过 DARPA,Tony 推动行业迈出了这“一大步”。第一届没有车队完成,第二届有六只。可以看出来,很多人通过比赛掌握了自动驾驶的基础,能让车靠自己行驶。而能否获胜,就取决于能否理解状况,在路况良好的地段加速超过别人。挑战赛之后,每个成绩优秀队伍的成员都多多少少跑去涉足了自动驾驶行业。


企业在挑战赛中的角色并不重要,是吗?

并不是。一家军队的大型合约供应商 Oshkosh 也参赛了(跑完比赛,获得第五名)。比赛对于它们的意义不一样。对大学而言,只是一点名气。获胜的两百万奖金捐给了斯坦福的计算机系。而对于 Oshkosh,这可能意味着更大的订单,向客户证明他们的技术实力。在最后,挑战赛的最大获益者或许可以认为是 Oshkosh。斯坦福赢了两百万,Oshkosh 的获益说不定十倍不止。


当时,DARPA 挑战赛是否让大家感到自动驾驶时代即将到来?已经将要应用落地?

我认为,DARPA 挑战赛中不存在这种情绪。我们能预见到这些技术被应用于特定场景,但我不认为任何人说过“自动驾驶汽车离我们只有十英尺了”。之后的城市挑战赛设立了许多目标,在那之前,大家并不是很确定这些是否能实现。而当城市挑战赛完成,更多现实问题才得以解决,比如检测“停车”交通标志、如何避让其他车辆。这时候,全自动驾驶汽车才不再显得那么遥远,各种设想才让人觉得合理。

即便这样,对于实现自动驾驶到底需要多久,各方观点非常不一致。谢尔盖·布林和拉里·佩奇到现场观看了城市挑战赛,他们非常感兴趣,或者说至少拉里·佩奇很感兴趣——赛前他就在斯坦福讨论过这场挑战赛。Sebastian Thrun 加入了谷歌,不久后创立 Google X。就我所知,那时候 Google X 只有一个项目,就是谷歌的自动驾驶泡泡车。很显然,拉里·佩奇和 Sebastian Thrun 都认为自动驾驶离我们不远了,但我没有(笑),因而我没有下海创业搞一家自动驾驶公司。我觉得,我们离真正意义上的自动驾驶远远算不上接近,这条路需要的时间很长,而我想做的是现在就能落地的东西。因此,我加入了 Applied Minds,后者的客户包括企业、政府和军队。 在 Applied Minds,我们的工作内容更接近 2005 DARPA 挑战赛——当时非常重要的一项任务是帮助美军在阿富汗检测 IED(自制爆炸装置)。由于高度危险,军队有很强烈的愿望把 IED 搜寻工作自动化。这一场景就和 2005 挑战赛十分类似——在战区,你只要不撞到东西就行了,没人在乎扫雷车是否遵守交通秩序。不撞到人、不撞坏自己、能沿着计划路线行驶,这个程度的自动驾驶已经足够在阿富汗战场派上用场。这是一项之前没人做过的工作,我对它非常感兴趣。

相比之下,乘用车的自动驾驶问题要难太多。今天,虽然大多数公司在某种程度上做得不错,但远远没到实现全自动驾驶的程度。

另外,在挑战赛之后,唯一做得比较多的是谷歌。丰田、本田、福特这些车厂在当时并没有动作,是在看到谷歌取得的突破之后才着手研究。

你在 Applied Minds 还做了什么?

我们开发了世界上最早的完全基于 CV 的自动驾驶车之一(不确定是不是最早的那一个),几年后市场上才出现更先进的算法。它并不是城市乘用车,但能够仅靠 CV 在户外环境巡航。在那时候很重要,当时激光雷达几万美元一只。

DARPA之后,你有没有想过去开发自动驾驶乘用车?

我仍然在做自动驾驶工作,只是在 Applied Minds 做的场景不同。那之后,大量金钱涌入城市自动驾驶行业,但各家公司都没能达到预期。我不认为我会想要在 DARPA 挑战赛之后到谷歌工作,花上十年开发没法用的东西。也许再坚持十年,或者更长,会等到技术派上用场。但我不确定这是一个好选择。

如果做的事太超前、加入的时机太早,很可能花了半辈子的时间在上面仍然没有进展。DARPA 挑战赛那时候,大量关键技术还是缺失的。我对深度学习给自动驾驶带来打开的新大门很兴奋,我不知道它是否是完整的答案,但对一些情形,比如小女孩拿着红气球,在深度学习之前,并没有实用的解决方法。

大多数车厂把全自动驾驶车量产的时间点定在 2021 年或更早。你怎么看?

这就好比说到 2021 年我们会解决弦理论,我不知道对这类声明该如何解读。宣称“我们将尽力去实现”还差不多。等到 2021年,自动驾驶车量产了,他们会说“我们做到了”;没有量产,他们会说“我们还需要几年的时间”。这里面有太多的意外情形,就像美国政客的一句话 “Unknow Unknowns”。如果现在没有一辆完全安全的全自动驾驶车,在 2021 年实现量产就绝对不可能。 如果汽车制造商说 2021 年他们会开发出一辆原型车,然后再推进量产,“OK,maybe”。但 2021 年实现量产?这就是个玩笑。汽车制造商无法在四年的时间内完成任何东西。

在部署自动驾驶车方面,或许特斯拉会是个例外。他们的基础设施够雄厚,也提前计划了很久。但这过程中会有太多意外发现,单是解决这些问题的时间就够紧张,更何况设计、管理生产线。

为您推荐: