来了解一下CARLA吧——这是一款免费的开源模拟器,由虚幻引擎提供支持,它自设计之初主要用于支持自动驾驶系统的开发、训练和检验。
一款开源仿真软件的诞生
CARLA最初的设计灵感来自研究科学家Germán Ros以及巴塞罗那计算机视觉中心Antonio M. López教授的早期工作。Ros自从2013年以来就一直在从事与自动驾驶汽车相关的项目,目前担任CARLA的团队负责人。而López则在自动驾驶系统领域拥有数十年的经验。2015年,Ros在巴塞罗那大学完成博士学位,之后便在López的指导下开始了SYNTHIA的研究工作。SYNTHIA是一种自动驾驶环境,自2016年首次亮相以来,便在研究界,尤其是在与感知相关的项目中受到广泛关注。然而,由于SYNTHIA使用的实时引擎具有许可限制,原来的团队无法随意发布项目或允许他人访问源代码。
SYNTHIA曾亮相于拉斯维加斯举办的计算机视觉和模式识别大会(CVPR),在展示期间,Ros和López与英特尔智能系统实验室高级首席研究员及主任Vladlen Koltun进行了接触。Koltun表示,他很欣赏该团队的工作成果,但希望能够公开向公众提供类似的产品。Ros和López对此表示完全赞同,于是CARLA项目便应运而生,而英特尔则担任该项目的主要赞助商。
希望自由发布CARLA是新团队选择虚幻引擎的一个重要因素;虚幻引擎本身就是免费的,并且可访问完整的源代码。Ros表示:“我们渴望与公众分享这款软件,也希望他们能随意修改软件内容。所以,我们的想法是设计一款完全开源的软件,让公众能够访问引擎的所有源代码,平台的源代码及所有内容。我们坚信让软件完全开源对于社区帮助极大,因为这能让用户根据不同的情况和场景来调整软件。”

他们基于SYNTHIA的设计灵感和从中获取的经验,从零开始开发出一款全新的仿真软件。与此同时,Ros白天还在丰田研究所工作,主要负责通过不同工具开展模拟项目工作。他在这项研究中得到的经验也对CARLA产生了影响。
得益于丰田对开源项目的支持,Ros能够在白天从事CARLA项目的研究工作。“他们也对此感到十分欣慰,因为每个人都将受益匪浅。”Ros说道:“如果工具不起作用,我们会找出原因,如果工具管用,我们就加以利用。所以无论如何都没有坏处。”
CARLA首次正式发布是在2017年的机器人学习大会(CoRL)上。这一举措深受社区好评。随着人们对自动驾驶的兴趣变得日益浓厚,社区也开始迅速发展。如今,CARLA在全球拥有一支大约由25名成员组成的专门开发团队。他们持续每两、三个月发布一个新版本。CARLA还在学术界和产业界拥有1600多名活跃用户。Ros称,几乎所有从事自动驾驶研究的高校都在某种程度上使用CARLA,而且所有拥有研发部门的大公司也是如此。一些公司甚至将CARLA用作他们的主要仿真平台,但由于一些公司将其视为“商业机密”,因此并非所有公司都公开承认这点。
让自动驾驶研发更普及
从CARLA研发工作之初,团队就明白开源模型对于普及自动驾驶车辆的重要意义。Ros认为:“仅仅依靠盈利的大型企业来推动自动驾驶的发展是不够的。如果我们真的想加快自动驾驶的发展速度,还需要学术界和小型公司的参与。我们希望实现自动驾驶,其重要性在于它将拯救更多人的生命,让我们的生活更美好,所以为什么不尽快实现它呢?为实现这一目的,我们需要社区的配合与支持。
“CARLA的首要目标之一就是努力缩小这种差距,大力推广自动驾驶的部分项目,即便是某个小国的普通高校中的一支小型团队,没有访问大量车辆资源或数据的权限,也能参与到自动驾驶这项尖端技术的研发中。让所有人共享这款模拟软件有助于整合新的算法和解决方案。”

而对于那些没有足够时间和预算或无法建立起一支人才齐备的仿真团队的人员,CARLA的第二个目标就是让这些人能够在现有平台上进行开发,而不必从零开始。
Ros继续说道:“也许你不应该试着打造自己的仿真团队。如果你已经有足够出色的现成工具,并可根据需要对其进行扩展,那么你就无需再组建一个由二十名工程师组成的仿真团队。你完全可以在CARLA的基础上进行研发,只需再聘请一到两个人即可。”
最后,团队希望CARLA成为一种通用语言。“你可以使用自己内部的仿真软件,也可以开发出非常复杂的工具,这没有问题。”Ros说道,“但在某些时候,你需要与你的竞争对手分享成果,与立法者分享成果。既然这样,为什么不使用一款开源工具呢?开源工具拥有透明公开的标准,能够让你以透明的方式将数据发送给社区,确保他们可以了解其当前状态。”
“这就是为什么我们决定以开源形式公布CARLA:你可以获取它的资源、代码等全部内容,然后用于包括商业在内的任何应用领域。无论你有什么想法,都可以在CARLA中付诸实践。”

满足检验和认证需求
虽然自动驾驶社区整体氛围健康而充满活力,但社区成员想要解决所有问题,依然任重而道远,这时CARLA应运而生。Ros说道:“目前业内的观点不是很统一。在2016年,所有人都认为自动驾驶的问题会在2019年得到解决,他们唯一要做的就是模拟数以万亿的驾驶里程。然后人们开始考虑对自动驾驶进行验证和检验。我觉得从某种程度上说,人们已开始意识到 ,实际投产并不会那么快来临,所以仿真在推动研发、加快研发周期测试、验证想法以及高效开发算法等方面变得更为重要。

“我想人们已意识到,如果对自动驾驶进行全栈认证和检验,可能稍微有点复杂。也许他们当时并没有真正准备好跑上数以万计的里程,也许全栈认证和检验在当时并没有太大意义。像Waymo和Uber这类公司才有能力这样做。而其他原始设备制造商和一级供应商仍无法就使用何种工具组合完成认证和检验而做出最终决定。”
认证由立法机构管理,例如国家公路交通安全管理局(NHTSA)和美国交通部。但即便是这些机构,在确定使用何种适当工具和衡量指标方面同样需要外部协助,方可安全高效地完成这一认证和验证工作。CARLA的团队一直在和他们进行沟通。
Ros说道:“借助CARLA,我们试图帮助他们理解并探索如何进行界定。这是一个科技如云的时代,但也是一个技术规则尚不统一的时代。问题仍然存在,那就是人们应如何使用工具验证他们的数据。令我们感到欣慰的是,到目前为止,CARLA一直在为我们的研发工作提供帮助。它能让人们快速完成实际驾驶需要数月甚至数年才能完成的任务。你可以通过快速使用模拟软件比较一下,之后就会明白在真车中进行数据验证将会面临的一些问题。”
CARLA自动驾驶挑战赛
为进一步促进自动车辆软件栈的公平认证和检验,CARLA团队推出了CARLA自动驾驶挑战赛。该挑战赛要求参与者的自动驾驶代理在不违反交通规则的情况下,按照预先设定的路线到达目的地。在这条路线上,代理会面临一些极具挑战性的交通状况,这些状况根据NHTSA收集的事故前交通场景进行建模,例如,如何避开意外障碍,如何在因路况不佳而失控后恢复控制,以及如何在十字路口应对闯红灯行为。
通过在相同的路线、交通状况和天气条件下对参与者进行测试,挑战赛允许人们对不同堆栈进行公平比较。这与原始设备制造商和初创企业目前向NHTSA提交的志愿报告形成了鲜明对比。在这些报告中,他们可以申报自己的车辆在过去一年中的各类统计数据。
Ros说道:“由于你看到的这些数字没有经过校准,因此你无法通过比较了解整个情况。例如,一个小公司声称,他们的汽车在1000多英里的里程中只进行了5次干预,这完全有可能,但这1000英里的行使地点在哪儿?汽车是否只在一个街区中行驶?有没有其他车辆?有没有红绿灯?路况是否非常理想?如果另一家公司模拟了200英里并且发生了45次干预,我该如何比较它们的结果?有没有可能200英里的路况更为复杂。也许这些路程是在训练条件下模拟出来的。”

CARLA自动驾驶挑战赛经证实是一项巨大的成功。今年的颁奖典礼在CVPR举行。CVPR是机器学习和人工智能领域的顶级会议之一。
最新版本前瞻:更为真实的行人
CARLA的核心价值之一就是其可供免费使用的资源:城市布局、建筑、车辆和行人。团队重新设计的整个平台版本介于0.8和0.9之间,因此行人被暂时移除了。今年7月发布的最新的0.9.6版本不仅还原了行人功能,还增加了一个全新的人工智能层,引入了全新的儿童角色,在现有模型基础上增加了更多变化,并且还加入了一个用于控制骨骼层级中每一块骨骼的全新界面,最后这一方面让Ros尤为兴奋。
他表示:“你可以创建非常复杂的肢体动作。我们认为这将给人机交互领域带来诸多裨益,如可帮助改善人机交互预测。预测是AV堆栈中最为重要的模块之一。你需要预测行人或车辆在接下来的5到10秒内将发生的动作。通过当前画面和之前两三帧或五帧的画面,预测出行人接下来的动作:他是要过马路,还是会留在人行道上?为确保预测的准确性,需拥有非常全面的线索——行人需真实自然地展现肢体动作。骨架控制器可以完全控制骨架中的骨骼,将一切变成现实。”
毫无疑问,CARLA团队将会提供更多惊喜,他们将持续提供卓越的仿真软件,供人们免费使用、修改或在此基础上进行拓展。
(本视频转载自YouTube:视频原址)
想了解如何使用虚幻引擎4吗?请与我们联系,我们十分乐意聆听您的需求。