车云按:今年是DARPA挑战赛的第十个年头,而对无人驾驶汽车的研究正是在DARPA挑战赛的推动下才有了今天「百家争鸣、百花齐放」的情形。在这个值得庆祝的日子里,Argo. AI 创始人兼CEO Bryan Salesky撰文对十年前的第一届DARPA挑战赛进行了回顾,并结合公司自身发展对自动驾驶技术开发面临的主要问题进行了阐释。
今年二月中旬左右,福特以10亿美金的价格收购了Argo. AI这家初创公司,目前Argo. AI的无人驾驶原型车已经在匹兹堡和密歇根州的东南部进行了公共道路的测试。在Bryan看来,自动驾驶仍处在从概念转化为现实的初创阶段。这一新兴技术发展至今仍然面临许多难以解决的问题,我们所面对的自动驾驶系统甚至和以前一样复杂。更多精彩观点,请参看车云菌全文编译的内容:
十年前的加州沙漠里,11位决赛选手正进行着一场史无前例的60英里拉力赛。这些无人驾驶的车辆需要和普通的车子同处一路,在6小时内快速安全地完成任务。
那是2007年的首届DAPRA城市挑战赛,这场比赛拉开了如今自动驾驶技术白热化竞争的序幕。那些汽车在当时看来前卫得令人难以置信,但是站在10年后的今天回顾当时,那场比赛迈出了万里长征的第一步。
▲在前谷歌无人驾驶项目创始人塞巴斯蒂安·特龙团队的带领下,代表斯坦福大学参赛的「Stanley」拿下2007 DARPA挑战赛冠军
DAPRA通过仔细地管控比赛过程而保证了选手有一定的可能性能成功。参赛的车辆需要遵守一系列严格的交通规则,但比赛过程中不会遇到行人和自行车的挑战。不考虑这些简化内容的话,参赛队伍所做出的成果绝对令人刮目相看,大部分团队只用了18个月,就从无到有打造了整个系统。
DARPA挑战赛强调了对于更高的计算能力和算法开发的需求。当时,我们主要依靠的是基于交通规则的编程技术,也就是说,十年前的机器人汽车系统只能在有诸多限制的环境下工作,周围必须也是遵守交通规则、讲礼貌懂规则的汽车。
我们Argo的很多同事都在机器人和自动驾驶领域浸淫十多年了。当我们想将这一技术推向大众时,我们也利用了许多延伸的专业技术,比如从DARPA城市挑战赛中学到的内容。就在Argo成立一周年前的几个月,我们成功地组建了一支拥有将近200位经验丰富成员的团队。如今,Argo在匹兹堡和密歇根的东南部都有正在进行道路测试的自动驾驶原型车。
我们比谁都清楚,随着支持高度自动和智能系统的软硬件逐渐商业化,大量挑战将接踵而至。在车水马龙的户外运行,周围却全是往往不遵守交通规定的人和车,这是非常棘手的问题。真实世界的不同状况,如白天与夜晚、变化的天气、不同的道路情况和路面材料都会使问题变得更加复杂。动态的环境增加了许多不确定性和变量,使机器人系统工程师们很难如以往一样将问题简化为一系列基本的假设。
过去的几年里,随着更强大计算能力的实现,游戏规则又有了变化,但这又带来了一些新的复杂问题,我们至今还尚未解决。在芯片处理性能、数据存储和人工智能方面的先进技术被综合在一起,使计算机能在遇到的问题中自行推演,而不必依靠脚本文件了。他们将能直接从海量数据中学习、以惊人的准确性辨识图像、还能筛查传感器输入的非正常信息,从而使整个系统专注于最重要的信息。
我们很欢迎这些新的变化,当然也明白,没有任何一种工具、技术或算法能一劳永逸地独立解决挡在自动驾驶面前的所有问题。以下是我们对如何完善地打造一辆自动驾驶汽车的一些思考。
感知世界
传感器方面还有很多工作要做。我们采用了激光雷达传感器,它们在光照不良的情况下也能正常工作,用于构建车身周围事物的三维图像。不过它们不能提供颜色和质地方面的信息,所以我们用摄像头来弥补激光雷达的不足。然而,摄像头在较差的光线下会受到很大挑战,也不能在所有理想的运行条件下提供足够的聚焦精度和分辨率。相比之下,然雷达的分辨率相对较低,却能在较远的距离范围内探测到道路上人流车流的速度。
这就是我们至今仍在车上装了这么多传感器的原因:为了让一种工具的长处来弥补另一种的劣势。单一种类的传感器不能完全反映其所捕捉到的信息,所以电脑需要综合多种传感器的输入数据,然后剔除错误和不一致的内容并把所有这些组合成复杂而完善的周遭环境数据交由计算机处理,其实是一件非常困难的事。
开发出能大规模生产应用的系统,再配上具有经济可行性而且可维护的硬件,则更加困难。我们正在传感软硬件层面尽可能地进行技术创新,以降低成本、减少传感器的数量、以及提高感知范围和精度。要使技术达到一定的可靠性,真正实现这些貌似相互矛盾的目标,还有许多重要的工作尚待完成。
理解世界
一旦无人汽车有了能“看到”周围事物的能力,是否迈出下一步就取决于汽车是否可以判断出车身周围事物的类型了: 这是一位行人、一辆自行车、是另一辆汽车还是路上的杂物,还有这个物体跑得有多快。接着,无人车需要预测该物体可能的下一步行动。
在日渐增长的云计算和云存储能力的支持下,人工智能和机器学习方面的科技进展催生了新型算法的出现,同时旧算法也产生了相应的新变化。这些新的工具在搭建新型算法方面具有十分强大的能力,能搭建出可以在传感器产生的每秒几百万像素信息中筛查信息的算法,这些算法还能接着对与本车相关的物体的位置、大小和速度的情况进行判断。
搭建算法的其中一部分工作就是收集行车数百万英里的真实数据,接着训练出一种算法,从而在含有噪声和误差的传感器信息中探测出道路上相关的事物。
我们的初步研究成果非常好,但我们也深深地明白,千里之堤,毁于蚁穴。
预测世界
今天,当我们驾驶汽车时,会在潜意识里估计接下来数秒钟内道路上其他人的行为——猜测行人横穿马路的时间点,或者另一辆车什么时候可能会横插进来。注意力集中的司机在处理这些状况时是一把好手,他们能控制车速,计划好突发状况对策以应对别人的失误。经验丰富的司机能在避免反应过激的同时所做出的快速举动,也是自动驾驶汽车想要在繁忙的城市道路上行驶所需的能力。
我们必须能搭建出能保证无人驾驶汽车能完善理解和预测道路上其他人可能的行为、并随之反应的算法。我们需要将“换位思考”的想法灌输到技术层面,从而保证汽车能安全可靠和可预测地运行。
比如说,无人车得知道,什么时候需要往旁边挪一点点,给大卡车留出更多的空间;什么时候需要调整车速,从而避开另一位司机的盲区。同时,我们还要保证算法能得出结论,何时车子的行驶行为过于犹疑了,何时汽车需要在车流中缓缓挪动,或需要前后行为一致,这样别的司机才能正确回应。整体来讲,由于计算机负责接收和处理所有的信息,必须保证它不会被引导分神,也不会学习一个错误的计算模型,不然它就会在期待某个别人根本不会做出的动作时,做出奇怪的反应。
这是我们在搭建这些预测模型时必须保证的,同时,也只有通过所有这些例子和真实环境下的驾驶体验,我们才能学会预测那些暗示了其他司机、行人行为的微小举动。
系统集成和测试
通常,用来驱动自动驾驶汽车的软件被称为随机系统。这就是说,系统输出的结果取决于一系列探测到的图像和模型应用在传感器随机输入上的结果,而不是借助数学公式,得出和输入信息一致的结果。
想象一下,两次开车通过同一条道路,即使这两次前后环境没有任何变化,你也很难在第二次以与前一次完全相同的速度走完完全相同的线路。自动驾驶汽车通常比人类司机行为更有一致性,但在这个问题上也不例外。
测试随机系统需要以实际信息生成的海量重复动作信息,从而保证信息的代表性。这就要求我们收集几百万英里的道路驾驶数据从而教会软件合理地驾驶(想象一下需要开几百万英里才能拿到驾照的情况…)。但不是所有的驾驶路程都是按照一样的标准来获取的,这样“攒里程”就不能被称之为最有效的追踪软件学习进程的方式了。换句话说,在宁静的中西部小镇积累的驾驶经验对于在曼哈顿中心区驾驶的你来说并没有什么用。
我们搭建的算法以每秒数百万的速度将像素数据放入复杂的数学和逻辑模型,从而计算出自动驾驶汽车周边事物的重要情况。基于这些输入数据的高复杂性,想要测试每种输入数据的组合结果几乎是不可能的,因为将会有几万亿种组合需要测试。
所以我们需要学会合理利用从测试车辆中获得的驾驶经验。目前,我们正在研发一些工具,以从大量源信息中提取出能满足当前和预计情况的相关驾驶数据,然后通过考量原型车的应对情况来验证系统是否正常工作。想采用这种方法,则需要对于目标领域有具有尽可能广阔的驾驶经验积累和数据收集,以覆盖尽可能多样的具有挑战性的情景。我们也需要尽可能收集每一情境下关于环境变化的不同变量,这些变量很可能会造成天气和光照条件的改变,影响传感器的输出数据。
我们搭建了一个非常精密的逻辑和测试运行系统,从而能安全地完成如此长的测试运行里程。除此之外,还有一群职业分析师和软件工程师,共同研发出用以维护数据流,保障不同情境下数据收集完成的相关工具。
我们仍然处在将自动驾驶概念转化为现实的初创阶段。那些以为全自动驾驶汽车能在几个月或几年内就满大街跑的人要么是不了解目前的技术水平,要么是没意识到技术应用安全性的问题。如果问问我们这些已经为这一技术奋斗了很久的人,我们则会说:这一问题仍然很难解决,我们所面对的系统甚至与以前一样复杂。
大家都知道,专注、创新并且勤奋努力的团队能解决难于上青天的问题。在Argo,我们把这些挑战视为一种激励。它们督促着我们将过去十年的技术发展应用起来,将人类带入一个新时代,在那儿,自动驾驶汽车将获得商业上的巨大成功。
我们正致力于用脚踏实地的方法将全自动驾驶汽车与技术结合起来,我们要认识到,这一问题上我们不可能一口吃成个胖子。我们要做好打持久战的准备,不能夸夸其谈,要将这一技术发展成熟并应用在优秀的产品上,以最终赢得全球数百万人们的信任。
联系客服