InfoQ 推荐 ( ) • 2021-07-12 09:26

近日,计算机视觉与模式识别大会(CVPR)以线上方式召开了 2021 年自动驾驶(WAD)研讨会,特斯拉公司 AI 高级总监 Andrej Karpathy 在会上发表了主题演讲,作为全球最具影响力的自动驾驶探索者之一,特斯拉的技术负责人有何高论?

特斯拉自动驾驶有何特别之处?

相比于人类驾驶员,Karpathy 认为计算机系统的延迟更低,具有 360 度态势感知能力,始终全神贯注、不会低头看手机,而且可以从容应对路上的各种难题。

“事实上,全球每天有接近 3700 人死于车祸,人虽然有创造力,但并不善于处理驾驶中的突发难题,且交通运输的成本也比较高。从根本上说,这事的核心在于人类本身并不擅长驾驶。这一点在无数本没必要发生的事故中可见一斑。人也不愿意长时间开车,只是出于经济压力,他们被迫参与到交通运输中来。当然,我们希望实现交通自动化,并真正让整个社会从中获益。”

“在攻克自动驾驶难题方面,我们采取了渐进式的研究方法。我们将搭载有 Autopilot 软件包的汽车出售给客户,由 Autopilot 软件持续运行并为数百万车主提供主动安全功能及辅助驾驶功能。这一方面给客户提供了额外的安全性与便利性,另一方面也帮助团队得以逐步摸索出全自动驾驶功能的实现思路。”

Karpathy 还展示了特斯拉自动驾驶功能的重大作用。在演讲中,他展示了一段自动紧急制动的视频——画面中行人突然冲出,正在穿越十字路口的司机反应不及,好在汽车检测到了行人并猛踩刹车、顺利避免了悲剧的发生。

接下来的两段视频则是踏板误用缓解(PMM)示例。在第一个示例中,驾驶员正在边转弯边打算停车,但却错把油门当成刹车踩了下去。Autopilot 系统启动,正确识别出行人,之后猛踩刹车。

“作为工程师,我们当然希望能尽快推进自动驾驶的普及。实际上,在大部分人口稀少的地区,零干预驾驶已经相当普遍了。”

为什么特斯拉的自动驾驶不需要激光雷达?

为了节省成本,特斯拉坚决拒绝使用激光雷达进行精准测距。2014 年,被称为“激光雷达”的激光传感器成本为 75,000 美元。虽然之后随着激光雷达和摄像头混合技术的进步,成本有所降低,但是使用激光雷达还是会让特斯拉挣不到钱。

所以特斯拉选择依靠计算机视觉(CV,computer vision)实现自动驾驶,利用信息融合的算法来仿真激光雷达的景深测距效果,做起来非常吃力,其性能表现也存在差距。

在 InfoQ 的采访中,有自动驾驶行业专家曾表示:“自动驾驶离不开激光雷达,图像技术足够成熟至少还要十年。”

但特斯拉认为挣钱更要紧,马斯克还强调:“傻子才采用高清地图加激光雷达(False and foolish = HD maps and LiDAR)。”

对此,Karpathy 在演讲中解释道,各家厂商必须使用激光雷达传感器预先绘制环境地图并据此创建高清地图。此外,厂商还得添加每一条车道、每个交通灯,这样在测试期间车辆就可以完全按照地图到处行驶。

“我们采取的方案则主要基于视觉元素,车辆可以依靠环绕车身的 8 个摄像头即时捕捉并理解周边发生的一切。这样当我们第一次来到某个十字路口,就需要弄清楚车道在哪里、每条车道间如何连接、交通灯在哪里、什么灯控制什么车道等,一切都由车辆亲自观察和处理,不需要高清地图作为支持。”

Karpathy 还解释道,这无疑是一种更具可扩展性的方法。

“激光雷达和高清地图这套基础设施的持续更新会带来极高的成本,所以我们采用基于视觉元素的方法。虽然视觉自动驾驶技术难度更大,必须依赖高质量、高速度的神经网络对视频进行实时处理,但只要顺利运转起来,这就是一套通用型的视觉系统,在原则上能够适应地球上任何区域的情况。正因为如此,我们才在这条道路上坚持不懈地展开探索。”

特斯拉的计算机视觉系统

Karpathy 表示,特斯拉过去几年构建的视觉系统已经非常出色,因此不再需要其他各类传感器。摄像头已经能够满足视觉感知方面的大部分需求,因此特斯拉能够更有信心地逐渐去掉那些已无必要的旧有传感器装置。

“三周之前,我们开始发售不搭载任何雷达的汽车。我们移除了雷达装置,单靠视觉系统指引这些车辆前行。正如马斯克在推文中所言,「当雷达和视觉系统发生判断冲突时,你会相信哪一个?视觉系统的精度更高,所以倒不如配合必要的传感器进一步发掘视觉系统的潜力。」”

“事实也正是如此,视觉加传感器的组合在自动驾驶效果上已经远远超越了雷达方案。自动驾驶中的元素并不是越多越好,我们需要保留真正有贡献的元素、去掉经常产生噪声的元素,这样才能构建起稳定可靠的解决方案。”

“所以,我们决定在纯视觉方法的道路上继续勇往直前。”

此外,特斯拉的自动驾驶团队积累了 1.5PB 的数据,包括 100 万段 10 秒长的视频和 60 亿个标注了边框、深度和速度的物体。但是给这样庞大的数据集贴上标签是个巨大的挑战。

在开发数据集的过程中,特斯拉团队发现了超过 200 个触发点,表明目标检测需要调整。这些问题包括不同摄像头之间或摄像头与雷达之间的检测结果不一致。他们还确定了可能需要特别注意的情况,比如隧道入口和出口,以及顶部有物体的汽车。特斯拉用了四个月的时间来开发和掌握所有这些触发器。随着标签网络的改进,它以“影子模式”部署。这意味着它被安装在消费者的汽车上,静默运行,而不向汽车发出命令,并将该网络的输出与传统网络、雷达和司机的行为进行比较。特斯拉团队经历了七次数据工程迭代。他们从一个初始数据集开始,在这个数据集上训练他们的神经网络。然后,他们在真实汽车上部署“影子模式”的深度学习,并使用触发器来检测不一致性、错误和特殊场景。然后对错误进行修正,如果需要,还会向数据集添加新数据。卡帕西说:“我们一遍又一遍地重复这个循环,直到神经网络变得足够好。”

感兴趣的朋友可以点击下方链接查看 Karpathy 的完整演讲视频。(https://www.youtube.com/watch?v=eOL_rCK59ZI&t=29533s)"

如果自动标记计算机视觉出现错误,上传后会被手动标注(完全监督学习)。当人类司机退出自动驾驶模式,或者在手动模式下,自动驾驶规划器与人类驾驶的行车轨迹出现“分歧”(或者令人“惊讶”的情况)时,都会将其标注为错误。使用从人类司机行为中获取的低质量标签,实现照相机数据的自动标注(计算机视觉的弱监督学习)。当计算机视觉神经网络和人类司机产生“分歧”时(这个分歧也导致了自动驾驶生成了不同于人类司机使用的行车轨迹),训练样本会被上传。针对预测的自动标注。未来事件能够标注过去的事件,并能显示预测的错误。针对规划的自动标注。人类驾驶行为提供了标签。当自动驾驶还在激活状态时,如果人类干预了,或者在人类和自动驾驶规划者之间产生了“分歧”,就会认为出现了错误。预测和规划是通过计算机视觉方法来追踪物体轨迹并观察行驶场景的。计算机视觉错误可能会引起预测和规划失效。所以,为了使其他部分实现最优运转,必须修复计算机视觉错误。

反过来说,预测或规划错误可能会触发视频剪辑的上传,即便没有产生任何计算机视觉错误。这类没有正确标记的视频剪辑会增加人类手动审查的工作量。因此,减少预测或规划方面的错误能够节省标注人员的时间,好让他们聚焦在计算机视觉方法产生的错误上。通过改进视频自动标记的精确度,可以帮助加快计算机视觉功能的进展速度。

特斯拉开发的方法正在尽可能地实现在数据规模扩增时,对人力扩增的需求减到最少,他们的工程师也因此站在了大规模自动驾驶机器学习的最前沿。自动的错误标记可以提升标注人员的标注效率。模仿学习的使用减少了工程师投入到路径规划算法上的工作量;与其费力地手动编码每一种驾驶行为,还不如让算法从数据中自动学习这些行为。考虑到特斯拉汽车每月 7.25 亿英里的驾驶里程,自动驾驶领域里还没有先例能用来判断特斯拉的方式会有怎样的效率。

一些怀疑论者认为完全解决计算机视觉问题是不可能的。也许是这样吧。但除非它真的发生了,否则我们无法确定。

开发一个每 100 英里就失效一次然后需要人类干预的 2 级自动驾驶系统,远比开发一个每 100 万英里才失效一次的 4 级或 5 级自动驾驶系统容易得多。尽管特斯拉离全自动驾驶的目标还很远,但几乎可以肯定地是,特斯拉将会开发出能够在城市街道上行驶的 2 级自动驾驶系统。在对未来的展望中,挥之不去的主要问题是,随着机器错误发生得越来越少,司机是会始终保持警惕并在必要时干预自动驾驶机器呢,还是会被引入一种错误的安全感呢。特斯拉可能需要实施司机监控系统,确保司机随时集中注意力。朝向司机安放的照相机和已有的方向盘扭矩传感器,这两者的组合可能会比单独使用扭矩传感器更加有效。

对特斯拉来说,超级乐观的前景是它最终开发出了全自动驾驶系统,部署了机器人出租车。在这样的局面下,特斯拉的市场份额即使不能十倍地增加,也可以大致增加两倍或者三倍。稍温和的乐观局面是特斯拉为城市驾驶发布了 2 级系统,特斯拉也非常棒地卖出了更多汽车和更多的“全自动驾驶”附加组件单元。销售增长和汽车毛利率是投资者密切观察的两项关键指标;特斯拉的城市 2 级系统能够给这两项指标都带来超预期的贡献