智能汽车感知与决策中的挑战:一项案例研究
摘要
本文综述了智能或高度自动化的汽车在感知与决策方面的挑战。我们展示了所开发的一套完整的感知与决策系统,该系统应对了多种挑战,并提出了一种适用于高度自动化车辆并入环岛的动作规划方法。我们采用示范学习构建用于高层决策的分类器,并提出了一套新颖的模型构建方法,适用于这一具有挑战性的场景:在高度动态环境中存在多智能体、智能体间的相互依赖性、部分可观测性以及有限的训练数据。标注训练数据的匮乏带来了极大的限制,但在实际应用中却是非常现实的问题。我们认为所提出的模型构建方法同样适用于其他自动驾驶场景。
引言
传感技术的进步和日益增长的计算资源正推动驾驶自动化和自动驾驶车辆技术的快速发展。这些智能车辆被要求在越来越复杂的环境中运行,例如城市街道[1],[2]。恩斯特·迪克曼斯及其1994年奔驰自动驾驶[3]在当时看似未来的体验,如今已显得十分普通,并可能在明天成为常态。前DARPA机器人挑战赛负责人吉尔·普拉特指出:“机器人所依赖的基础技术——尤其是计算、数据存储和通信——正以指数级速度发展,而像云机器人和深度学习这样的近期进展,可能会利用这些基础技术,推动包括机器人车辆在内的各类机器人进入良性爆炸式增长循环。”[4]
尽管计算能力正逐渐不再是问题,但现有的研究挑战在于为自动化车辆在各种真实世界环境中开发出具有足够性能和可靠性的感知与决策算法[2],[5]。最近,机器学习(ML)领域取得的进展已被机器人学界所采纳,并持续影响着自动驾驶研究。机器学习方法利用大规模数据集和大量可用计算资源,提供了优于传统方法的解决方案,同时指明了一条可行路径朝着在复杂环境中开发感知与决策算法的方向迈进。
智能汽车的研发正在众多企业和教育机构中进行。以下仅列举一些主要参与者,不反映任何优先级、重要性或排他性:1)谷歌,其自动驾驶汽车车队在美国多个州的道路上行驶[1], 2;2)戴姆勒,凭借其奔驰S500 Distronic Plus系统[6] 和[2],;3)宝马,致力于高速公路高度自动化驾驶[7], 4;4)沃尔沃,在瑞典哥德堡部署了100辆自动驾驶测试车队[8], 5;6)Mobileye,其驾驶员辅助解决方案已应用于多家原始设备制造商的量产车辆中[9], 6;7)VisLab,开展了穿越多个国家的自动驾驶汽车实验(洲际挑战,如[10]),以及城市环境下的试驾[11], 7;8)斯坦福大学自动驾驶团队,近期在[12],[13], 8取得的研究进展;9)卡内基梅隆大学‐通用汽车合作研究实验室[14]及其研究平台[15]。此外,还开展了一系列公私合作伙伴关系和国际合作项目,例如CityMobil[16],、DIPLECS[17],、AdaptIVe[18]。尽管这些项目存在诸多差异,但共同的研究主线集中在多传感器感知,突显了环境理解对于高度自动化车辆的重要性。
背景:传感器和传感器处理
自动化车辆中的典型传感器套件包括感知传感器(如摄像头、低分辨率和高分辨率激光雷达以及雷达)、定位与姿态传感器(如全球定位系统和惯性测量单元)以及车辆测量传感器(如车轮和方向盘编码器、油门位置及其他控制反馈传感器)。尽管可以说所有这些传感器都在感知中起到一定作用(并在更间接的程度上影响决策),但本文重点关注与感知问题联系最直接的传感器。雷达是感知任务中一种可靠且不可或缺的信息来源,但其空间分辨率通常低于摄像头和激光雷达。因此,当前许多感知研究集中在摄像头和激光雷达上。
关于基于摄像头的感知研究,除了上述团队所做的工作外,我们希望引用一些其他有前景的研究努力,这些研究正在拓展该领域的前沿。这些研究主要针对创建一个可调视觉注意力系统[19],,用于识别各种物体,如交通标志[20],、交通信号灯[21],、行人[22], 、车辆和车道[23],,甚至整个交叉路口布局[24]。当然,自动驾驶汽车这一主题正迅速流行起来,每年都会产生大量出版物,因此无法对该领域的所有工作进行全面概述。
虽然摄像头系统能够提供高分辨率的二维图像,但高精度激光雷达通常提供的分辨率较低,却包含高度精确的距离/深度数据。因此,它们在自动化车辆感知系统中得到了广泛应用,为高质量的决策算法提供了必要的三维数据。一些知名但已过时的出版物值得参考,以了解2007年DARPA城市挑战赛中配备激光雷达的智能汽车的部分内部工作原理(例如,[25])以及其他相关研究(例如,[26],[13])。
2007年城市挑战赛的一些团队继续发表关于激光雷达感知的研究。斯坦福团队便是典型代表,其研究涵盖了激光雷达标定[27]以及复杂的跟踪算法[28], 。他们的激光雷达标定方法通过大规模优化,在任意非结构化场景中实现内参和外参标定。该激光雷达跟踪算法解决了从多种视角获取的动态障碍物点云对齐问题(使得传统算法如ICP难以适用)。该方法在分层概率框架下对位姿变换进行建模,从粗略到精细逐步优化位姿估计。这一anytime算法已演示出最先进的位姿对齐(从而实现跟踪和物体重建)性能。
KIT团队[29]继续探索激光雷达感知算法,从低层次的3D点云分割[30],入手,这是生成高质量激光雷达感知结果的关键步骤。进一步的研究[31]将定位问题与障碍物检测和跟踪联合起来,直接应对自车运动估计与障碍物跟踪之间的相互依赖性。该方法通过为每个动态或静态物体创建假设集来实现:被判定为静态的物体用于定位估计,而动态物体则进行跟踪。
此外,谷歌自动驾驶汽车项目的成功吸引了人们的关注,并似乎高度依赖高精度激光雷达作为主传感器;例如见[32],[33]。然而,关于其底层算法的公开细节相对较少,尤其是将感知与决策相结合的算法。
复杂场景下的完整系统开发
在上述许多论文中,针对的是车辆感知问题的特定部分,而非感知与决策。对于需要做出自动决策的高度自动化车辆而言,重要的是为整个感知与决策系统提供解决方案,例如最近关于梅赛德斯‐奔驰S级历史性测试的论文中所述。原型车辆“贝莎”[2]或在论文中概述宝马在德国高速公路进行的高度自动化驾驶体验的结果[7]。
同样,我们的案例研究深入探讨了汽车在挑战性场景中——通过环岛时的感知与决策系统。我们认为当前的研究工作将对那些研究实际感知与决策系统的人员有所帮助。具体而言,我们提出了一种方法,用于开发应对智能汽车感知与决策综合挑战的系统。
环岛是道路驾驶中的一个具有挑战性的场景,因为车辆在进行让行和并入操作时面临严格的时间限制,需要高质量的感知能力来估计其他车辆的状态,并基于这些状态估计进行多因素决策。由于存在多个离散决策点(出口)以及连续的车辆动力学特性,预测环岛内其他车辆的行为尤为困难。因此,我们认为环岛特别适合用于研究完整系统开发问题。
环岛相关研究
关于环岛规划的先前研究示例很少。在[34],[35]中提出了一种用于环岛自动驾驶操作的规划方法。此外,在[36]中,有限状态机(FSM)被用于左转和右转等环境中的运动规划。在此工作中,使用神经网络将观测结果映射到行动。环岛则被作为一系列转弯的组合来处理。在这两种情况下,这些方法都专注于环岛的路径与速度规划,但忽略了与其他车辆之间的交互。
[37]中的作者提出了一种基于图像的环岛车辆跟踪方法,以及一种通过计算到达时间和应用阈值来提供汇入决策的算法。该方法结合了基于估计偏航率预测车辆是否正在离开环岛的技术。该方法已演示能够在给定的环岛场景中实现类人决策,但关于故障率、失败原因、泛化能力等方面的信息较少。在[2],中,采用基于优化的规划进行行为生成。让行或汇入行为是交通规则和周围车辆约束共同作用的结果。环岛内的操作通过汇入行为与后续右转的组合实现。文中提到机器人“通常会在进入环岛前等待前方车辆之间的清晰间隙”,但缺乏对环岛性能的全面分析。
案例研究概述
我们的方法通过高度自动化车辆使用传感器套件来检测、跟踪并对周围车辆进行预测,从而解决了高度自动化车辆在接近环岛时面临的主要挑战,然后利用这些信息实现安全以及有效的决策。这些挑战在每种自动驾驶场景中都会在某种程度上出现,而在环岛场景中由于车辆之间复杂的交互模式和每个车辆的多个决策点,往往更具挑战性。因此,我们认为本次案例研究中获得的经验具有普遍的参考价值。
我们在第三节中介绍了传感器套件、核心算法以及总体系统。在第四节中,我们介绍了一种高层级动作规划方法。在我们的系统中,动作规划是高度自动化驾驶系统的一部分,它接收感知结果并输出高层级命令。这些命令用于指导低层级控制器生成电机控制。图1展示了我们的系统结构。
我们的动作规划架构包含两个层次:1)基于学习分类器的瞬时policy ,将当前感知和机器人状态映射到一个action (第五节);2)一个有限状态机,将动作序列与环境信息结合,生成高层级命令。我们工作的重点在于学习该分类器。由于示范学习在生成安全且自然的行为策略方面已取得诸多成功,因此我们采用了示范学习方法[38],[39], 。
环岛问题的一个特点是难以获得大量高质量训练数据,这使得学习问题更具挑战性。为了解决这一问题,我们通过任务分解重新构建了学习问题(第五节A部分)。我们提出了一种该分解的通用公式化方法,相信其可广泛应用于各种自动驾驶任务。这种公式化方法不仅实现了任务分解,还引入并论证了使用辅助变量(以预测的形式)的必要性,以弥补分解过程中以及隐藏状态中所丢失的信息。
第六节介绍了关于一个范围的实验与分析使用我们装备齐全的测试车辆收集的真实世界数据进行的测试。结果表明,我们结合预测的分解方法实现了更高级别的性能分类,这一点通过全系统测试得到了验证。该案例研究展示的关键要素是: 1) 一种动作规划流程及其与感知与控制模块协同工作以实现真实道路驾驶的详细说明。2) 一种(机器学习)策略分解方法,适用于难以获取标注训练数据的复杂多目标领域。3) 一种用于增强感知算法的车辆预测方法。4) 基于真实世界实验对我们策略生成方法的广泛评估。
传感器处理与感知
如第一节所述,传感器选择对感知算法的潜在性能以及车辆整体能力有重大影响,因此后文将其称为机器人以区分其自主能力。周围的车辆简称为车辆。
图2所示的机器人配备了:Applanix POS LV 220(融合全球定位系统+惯性测量单元定位)、360度64线高分辨率激光雷达(Velodyne HDL64e)、毫米波雷达和多个摄像头。该机器人还使用包含高质量三维道路网络的详细数字地图,地图中包含每条车道的位置及相关交通规则,例如速度限制、交叉路口和环岛处各道路的优先级以及停止线位置。该地图用于预测周围车辆行为,并规划自身行为。用于定位的光度和形状特征,例如车道线、路缘石,也被嵌入到地图中。在自主驾驶过程中,机器人通过基于特征的定位算法,从高分辨率激光雷达中提取特征并将其几何信息与地图对齐,从而修正基于Applanix定位系统的输出,估计其在地图上的精确六自由度姿态。
激光雷达还用于检测和跟踪周围车辆。激光雷达数据提供精确的三维点云,可用于对周围物体进行分类,并估计周围车辆的位置和航向,如[40]中所述。该算法首先对每个激光雷达点进行地面/障碍物区分,然后对障碍物点执行聚类算法。随后,利用点云簇来更新通过粒子滤波器实现的跟踪估计,以及用于目标分类过程中的特征(包括点云和跟踪结果的特征)。
除了前文提到的感知系统外,本文还引入了另一种以对其他车辆决策的预测形式呈现的感知线索。该线索是从训练数据中明确学习得到的,具体细节见第五节,并且其使用与我们在公式7中详细阐述并结合周围文字说明的决策制定过程密切相关。该表述旨在阐明感知与决策之间的紧密联系和相互作用。
环岛动作规划
我们的动作规划框架包含两个主要组成部分:
- 一种瞬时策略,将当前感知映射到一个行动。我们将在第五节中开发机器学习分类技术。
- 一个有限状态机(图3),将机器人位置和瞬时动作关联起来,以输出高级别commands。目标是提供稳定的机器人行为。
有限状态机由分类器 Π=F() : z → A提供的行动 A={ago, astop}驱动,该分类器为当前环境 z提供合理的行动。行动 ago表示机器人可以安全进入环岛,而 astop表示机器人不能。
有限状态机
图3展示了具有四个节点的有限状态机结构:{v3}接近、进入、等待、并入}。转移由瞬时策略的输入以及机器人相对于让行线的位置决定。
每个节点对应一个高层级命令,总结见表I。控制器将处理诸如以下的约束:
- 速度限制(来自交通规则、曲率等),
- 速度控制由于前方有前导车辆,或在机器人前方并入的车辆。
符号说明
图4中的示例环境说明了我们使用的大部分符号。一辆车辆正在穿越环岛并接近分支点,而机器人正在接近入口让行线。
利用高质量的定位和地图,计算出机器人相对于地图的位置以及检测到的车辆的位置。机器人的可测量状态为zR=(dR, sR),其中 dR是机器人到让行线的距离, sR是机器人的当前速度。
周围车辆的集合为{v3}({v4},{v6},…,{v7}),其中 vk是车辆数量。对于每辆车辆,我们可以测量四个相关变量: k 、 svi 、 θ v i 和 d m v i 。车辆的速度 d b v i由感知模块计算得出, s v i 是车辆与道路之间的航向差, θ v i 是车辆到汇合点的距离, d m v i是车辆到最近分支点的距离。汇合点是机器人路径与车辆路径的交点。单个车辆的状态为 d b v i,联合状态为 z v i 。这些将在第五节所述分类问题的每种变体中根据需要进行定义。
此外,一旦引入预测分类器,车辆状态 z v i 将使用上标 p 来表示预测分类器的状态输入和上标 a表示动作策略分类器的状态输入。
基于分类的策略映射
我们方法的核心是使用示范学习方法[38]训练得到的分类器。根据阿加尔的术语,该系统属于learning by demonstration,即机器人上的状态和行动与示例中相同;并且属于teleoperation,即示例是通过实际机器人并使用相同的传感器完成的。
收集足够数量的训练数据来解决如此多种配置的问题具有挑战性。此外,由于感知系统的局限性导致的部分可观测性,以及状态估计的质量问题也带来了挑战。
接下来,我们建立问题的表述方式以应对这些挑战。以下公式1‐4是本文评估的我们方法四种变体的通用基础。为了清晰起见,我们在本节中省略了机器人的状态,并在后续章节中将其重新加入。
多目标分类的通用公式化方法
分类问题可以表述为:
$$ a= F(z_{full})= F(z_1,…, z_k) $$
其中 zi是与对象 i(在本例中为每辆车)相关联的状态。理想情况下,可以应用学习算法直接学习该函数,覆盖所有可能的状态。然而,可能的状态向量数量随车辆数量呈指数增长:#s=#vs#v(其中#vs表示每辆单车的状态数,#v表示车辆数量)。对于许多实际应用而言,为如此庞大的状态空间获取标注训练样本极为困难,且在贫乏样本下进行训练会导致性能较差,详见第六节。
在某些情况下,分类函数可以表示为:
$$ F(z_1,…, z_k)=Φ(f(z_1),…f(z_k)) $$
具有一个组合函数Φ、各个分类器 f,以及状态向量 zi |= z j ∀i, j, i 6= j中物体之间在信息论意义上的独立性假设。为了实现这种因子分解,组合函数必须满足某些性质。例如,在我们的前进/停止问题中,只要有一个车辆分类器判断停止,就应该使我们的车辆停止,因此当 a g o = 1和a sto p = 0时,我们有
$$ Φ_{rb} = \prod_{i=1}^{k} f(z_i) $$
构造其他允许因子分解的组合函数超出了本文的范围。
鉴于此,需要学习的状态数量等于任意一辆车辆的状态数量,而个体分类器 f定义在一个简单得多的状态空间上。
这种设置存在两个缺点:
1) 假设物体zi |= zj之间相互独立。这一假设通常不成立,对于我们的这类问题(以及许多类似问题),它仅近似成立,或仅对部分物体成立。
2) 无隐藏信息假设。类似于马尔可夫决策过程,假设状态是完全可观测的(这一假设通常不成立)。
即便如此,我们仍希望利用上述功能分解。为实现这一点,我们引入以每个对象的预测形式表示的辅助变量。这一做法受到两方面研究工作的启发:一是在概率图模型中使用辅助变量来编码联合信息(例如联合树算法) [41];二是强化学习中的所谓“部分可观测性”问题[42]。研究表明,对于存在隐藏状态的问题,预测可被用作一种替代的[43]或补充的[44]状态表示。在此,我们利用预测来增强状态表示,试图减少隐藏信息的数量。
关于物体之间的独立性,考虑 zα 6 |= zβ的情况,但所有其他物体都是独立的。那么,从概念上讲,
$$ F(z_1,…z_k)=Φ(f(z_1),…f(zα, zβ),…f(z_k)) $$
因此,只需对项 f(zα, zβ)进行近似。辅助变量 pα,pβ 表示对物体 α 和 β的预测,每个变量旨在捕捉这些物体之间交互的联合和隐藏信息。然后,
$$ Φ(f(zα, zβ))= Φ(f(zα, zβ,pα,pβ)) u Φ(f(zα,pα), f(zβ,pβ)) $$
为了使用单个分类器,我们需要为每个对象设置一个预测变量。因此,最终形式为
$$ F(z_{full}) uΦ(f(z_1,p_1),…, f(z_k,p_k)) $$
环岛多车辆分类
我们将该公式应用于环岛问题,并在公式1至4之间采用了四种分类问题的变体。其中两种变体与动作策略分类器所考虑的特征相关,一种变体引入了对离开环岛车辆的简单预测,最后一种变体则总结了前三种变体的经验教训,采用不同的状态表示,并结合基于机器学习的对离开环岛车辆的预测。这四种方法是:
- 联合:车辆的联合表示(公式1)
- 独立.1:假设车辆相互独立(公式2)
- 独立.1.SP:基于观测统计进行预测的独立车辆(公式4)
- 独立.2.CP:具有预测分类器(公式4)和动作策略分类器的替代特征的独立车辆
请注意,这项工作与预测状态表示之间存在许多差异,最显著的是我们不使用或定义状态更新方程。
用于联合的分类器和状态表示
对于联合状态表示(方程1),我们使用
$$ a= F_{joint}(z_R, z_V) $$
其中 zR是机器人的状态 zR=[dR, sR],而 zV= z(v1,…,vk)是由联合表示构造的固定大小的特征向量,该联合表示结合了所有车辆。为了使同一分类器适用于任意数量的车辆,需要固定大小的特征向量。
从第IV‐B节可知,每辆车辆 vi具有速度和到汇合点的距离,以及估计误差的标准偏差。我们假设每辆车的估计误差相互独立,从而得到关于概率密度:
车辆1到达汇合点的距离,以及 车辆1到达汇合点的时间 被计算出来。如图5 (a)所示。
我们假设合并时间(和距离)由均值为 tmerge v i 、标准差为 σ的高斯分布表示。设 g(t, tmerge v i )表示第 i辆车在 t处的占用累积分布函数,其合并时间为 tmerge v i :
$$ g(t, t_{merge}^{v_i})= 1 - \frac{1}{\sqrt{2\sigma^2}} erf\left(\frac{t_{merge}^{v_i} - t}{\sqrt{2\sigma^2}}\right), $$
其中erf()是高斯误差函数。由此(隐式地)计算出概率密度。
联合表示包含距离和时间两个部分,每个部分均由分箱向量 x组成,表示所有车辆的概率密度组合,如图5 (b)所示。在 x中,所有车辆的信息被同时表示。
x mt中的每个特征对应使用算法 1 计算的特定时间段内道路畅通的概率。采用相同的方法计算距离向量 x md。
最终状态为 z V =[x mt , x md ],分别显示汇合时间和汇合距离上的概率分布。
算法 1 创建汇合时机的特征向量
- 输入: 车辆 V=(v1, v2,…, vk)
- Output: 合并时间的特征向量 xmt
1: xmt⇐ 1/* 初始化特征向量 */
2: 对于 i= 1到 k执行
3: 车辆1/* 计算合并时间 */
4: 对于 j= 1到 Mmt执行
5: /* 计算车辆1的占用概率 */
6: 车辆1(车辆2, tmerge v i ) − g(Tj−1, tmerge v i )
7: 车辆1(车辆2)
8: 结束循环
9: 结束循环
用于独立.1的分类器和状态表示
尽管联合表示(方程1)可以考虑机器人与车辆之间以及车辆之间的交互,但在训练数据有限的情况下,学习 F_joint() 仍然很困难。这一结果不仅在理论上如上所述,在我们的实验中也得到了证实(第六节)。
我们认为,当每一辆车辆单独考虑时都允许进入环岛,那么机器人可以进入环岛是一个合理的假设。根据方程2和3,以及第五节C部分中状态向量的计算,我们得到:
$$ F(z_R , z_V)= Φ(f(z_1) ,…f(z_k)) = \prod_{i=1}^{k} f(z_i) = \prod_{i=1}^{k} find(z_R , z_{v_i}) $$
其中 find 是该方案中唯一学习到的分类器。它为每辆车独立计算行动,因此在更紧凑的状态下运行,从而在数据有限的情况下实现更好结果。这表示包括机器人的状态向量和车辆状态 zvi=[dm vi],在此情况下已经是固定大小,因此可以直接使用。
用于独立.1.SP的分类器和状态表示
下一个变体将基于频率主义推断的简单预测纳入状态向量中,以考虑车辆之间的交互和隐藏状态。与第五-D节类似,动作策略分类器中每辆车的输入状态为 za_vi=[dm_vi],而我们为预测增加了新的输入状态 zvpi=[dm_vi, θvi],其中zvi=[za_vi, z_vpi]。结合公式4和6得到:
$$ F(z_R, z_V)= \prod_{i=1}^{k} f_{pred}(z_R, z_{vi},p_{vi}) $$
在环岛中,车辆有可能在到达汇合点之前就驶出环岛,如图4所示。为了应对此类场景,我们基于训练数据来预测车辆将留在环岛内的概率。设该概率为
$$ P(d, θ)= \frac{K(d,θ) (stay)}{K(d,θ) (all)} , $$
其中, K(d,θ) (·)表示与 d和 θ具有相同 dm_v和θv的车辆数量。 K(·)(stay)表示在出口之后仍停留在环岛内的车辆数量,而 K(·)(all)表示车辆总数。然后定义 fpred()为:
$$ f_{pred}(z_R, z_{vi} ,p_{vi}) = \begin{cases} ago & P(dm_{vi} , θ_{vi}) < p_{th} \ find.p(z_R, z^a_{v_i}) & \text{otherwise} \end{cases} $$
其中 pth 是一个概率阈值,当车辆的预测出口概率低于该阈值时,则预测该车辆将驶出环岛。所有被预测为将驶出环岛的车辆都将被忽略,分类器 find.p 使用与 find 相同的特征进行训练,但采用了不同构建方式的训练集,该训练集包含了预测信息,具体细节见第六-A节。
独立.2.CP的分类器和状态表示
我们所提出方法的最终变体在两个方面改进了之前的变体。首先,为了改善对车辆出口的预测,训练了一个更为复杂的机器学习分类器来进行预测C,其中 C ∈{stay, exit}。每个车辆的观测状态 zp_vi 被修改,使得距离 db_vi 的概念表示到最近分支点或出口的距离,而不是到与机器人汇合点的距离,从而得到 zp_vi =[db_vi, θ_vi, s_vi]。该特征组合被作为输入提供给一个SVM分类器 fp ,以便
$$ C(z^p_{v_i})= f_p(db_{v_i}, θ_{v_i}, s_{v_i}) $$
其中输出 C_vi 表示对第 i辆车是否将驶出环岛的预测。
利用公式9的预测结果, f_pred() 被重新定义为:
$$ f_{pred}(z_R, z_{vi},p_{vi})= \begin{cases} ago & C(z^p_{v_i})= exit \ find.p(z_R, z^a_{v_i}) & C(z^p_{v_i})= stay \end{cases} $$
我们方法的这一变体中的第二个改进是,动作策略分类器的输入状态被扩展以包含其他车辆的速度 svi,使得 za_vi=[dm_vi, svi]。
实验结果
在本节中,我们将详细说明:1)数据集的构建; 2)学习分类器在该数据集上的实验结果;以及3)使用学习分类器进行实际测试的实验结果。高质量数据集的生成对于算法的成功至关重要,如下文所述。
数据集生成与标注
我们实现了一种混合方法用于生成数据,称之为半自动驾驶,其中人类与自动驾驶汽车同时运行,承担互补角色。这种数据采集方法解决了由于人类感知与动作空间和自动驾驶汽车感知与动作空间之间的不匹配所引发的某些对应问题[38]。在半自动驾驶中,人类操作员实时充当动作策略分类器,向车辆发送高层级命令(ago 和 astop),这些命令由有限状态机处理。其优势在于,经过一定时间的练习后,人类操作员能够提供合理的动作以补偿系统延迟,例如控制器和硬件的延迟。这种方法是必要的,以便让决策分类器将控制器延迟纳入学习到的决策模型中。在少数罕见情况下(5%的时间),驾驶员出现错误,导致在复杂的交通场景中转入手动驾驶,而这些场景对训练而言似乎具有价值。在这些序列中,标注通过人工后期处理完成。我们发现,尽管罕见场景的手动标注在状态转换时间的准确性上有所降低(即从 astop标签到 a go标签的转换时机),但因其训练样本的新颖性,仍对我们的流程具有实用价值。
我们利用三个独立环岛的五个不同入口,采集了 105个执行环岛 maneuvers 的序列。由于每个序列包含许多单独的帧,因此数据集总大小为4,327帧。由于传感器范围限制,无法跟踪环岛远端的车辆,且仅在接近让行线时才需要进行决策,因此我们的训练与测试序列仅在距离环岛入口15米以内时才开始。即使在此距离下,仍存在 a_stop 个示例,尽管感知系统未感知到环岛上有车辆。这种情况是由于车辆尚未被感知系统检测到,但已被人类操作员感知所致。
给定的标签是针对整个(联合)场景的,但我们的独立.1、独立.1.SP和独立.2.CP 数据集要求为每个场景内的每辆车辆提供标签。考虑一个包含3的情形
| 方法 | ago | astop |
|---|---|---|
| 联合 | 3240 | 1087 |
| 独立.1 | 5774 | 1051 |
| 独立.1.SP | 4191 | 1024 |
| 独立.2.CP | 2901 | 1055 |
分类结果
我们在数据集上评估了四种学习分类器联合、独立.1、独立.1.SP和独立.2.CP。分类方法通过5折交叉验证进行评估。
特征向量联合 通过将汇合时间从0到9秒每隔1秒进行划分( x_mt对应9个维度)以及将汇合距离从0到60米每隔10米进行划分( x_md对应6个维度)来构建。总体而言,联合 的特征长度为17,包括机器人状态。对于独立.1 和独立.1.SP,我们发现分类器在仅使用机器人状态和车辆位置(忽略估计速度)时性能更优。因此,特征状态长度为3。另一方面,对于独立.2.CP,估计的车辆速度提升了分类器的性能。对于独立.1.SP,预测 P(dm_vi, θ_vi)(公式8)由观测频率估计得出。
在训练数据中,使用距离和角度的离散区间。距离 dm_vi 被划分为从0.0米到60.0米、每15.0米一个区间,而 θvi被划分为从‐0.5到0.5、每0.2弧度一个区间。使用独立.1.SP 分类器时,预测阈值为 pth= 0.1。
| 方法 | Success | ago | astop | changes |
|---|---|---|---|---|
| Joint | 76.89% | 12.13% | 10.98% | 246 |
| 独立.1 | 82.30% | 15.16% | 2.54% | 125 |
| 独立.1.SP | 87.27% | 9.98% | 2.75% | 140 |
| 独立.2.CP | 92.06% | 5.59% | 2.40% | 132 |
| 方法 | 成功 | ago | astop | 变化 |
|---|---|---|---|---|
| 联合 | 83.00% | 8.20% | 8.80% | 139 |
| 独立.1 | 88.26% | 10.49% | 1.24% | 72 |
| 独立.1.SP | 93.14% | 5.93% | 0.93% | 61 |
| 独立.2.CP | 95.21% | 3.58% | 1.20% | 55 |
图6显示了分类器在不同距离下的性能。大多数错误发生在机器人超过10时
距离环岛入口数米。因此,我们还在完整数据集的一个子集上进行了评估。表IV显示了当距离让行线小于10米时的结果。我们标注了3135帧数据,其中有22个真实决策变化。所有分类器在此情况下均有提升,其中 Indep.2.CP表现最为突出。
显示了分类器随时间产生的输出。 t= 0显示标签由人类驾驶员从 astop变为 ago。 (b)‐(d) 分别显示了在 t= −2.4、 t= 0.8和 t= 1.5时刻对应的场景。R表示机器人,v1和v2分别表示环岛上的车辆)
图7展示了一个实际案例,说明了分类器随时间的行为(帧a),并显示了在繁忙环岛场景中三个关键时间点的被感知环岛情况(帧b‐d)。总体而言,联合输出波动显著。与联合相比,独立.1和独立.1.SP提供了更好的结果,但失败的原因不同。在图7(b)中,独立.1.SP失败是因为 P(zv1)小于 pth,意味着预测车辆将驶出,而实际上车辆1将继续保持在环岛上。值得注意的是,一旦获得了关于车辆1预期目的地的更充分证据,错误决策便实现了快速恢复。在图7(c)中,独立.1.SP正确输出了 ago,因为P(zv2) < pth,意味着出口被正确预测。另一方面,在联合和独立.1中,由于车辆2的存在,分类器输出了 astop,尽管车辆2将从环岛驶出。在图7(d)中,独立.1输出 a_go,因为车辆2完全驶出了环岛。需要注意的是,与标注数据相比,独立.1使通行决策延迟了1.5秒,而独立.1.SP的延迟为0.8秒。与上述方法相比,独立.2.CP也能与独立.1.SP在同一时间做出正确决策,但由于对车辆目的地有更准确的预测,独立.2.CP能够避免在 t= −2.4处发生如独立.1.SP那样的决策波动。
决策失败的原因:关于失败的原因,对这些实验的分析发现了以下原因:
- 分类器由于感知范围有限而出现错误。
- 分类器输出 ago,即使机器人正在跟随前车。在这种情况下,人类操作员并未标注为 ago,但分类器可能会输出 ago ,因为环岛对前车是安全通行的。
- 人工标注与分类器之间的状态转换时间略有不同,参见 图7(a)。
- 预测错误可能导致不良决策(对于In-dep.1.SP和独立.2.CP)。
- 在环岛处遇到其他车辆的异常行为(例如,已经在环岛内的车辆错误地停止以让行正在等待进入环岛的机器人)
- 分类器出现错误,因为进入环岛的其他车辆速度较低(参见第六节-C.2中的讨论)
一个对最终分类结果产生显著影响的特定失败发生在某个场景中,当时一辆车在环岛上意外停止,以让行于机器人。这种行为对该车辆而言是不正确的,作为回应,提供参考决策的机器人的安全驾驶员采取谨慎态度也保持停止状态,因此在此情况下,分类数据集中的标签为 astop,尽管根据速度判断,该车辆的行为应指示为 ago。联合、独立.1和独立.1.SP 分类器均选择停止,但独立.2.CP 分类器因考虑了其他车辆的速度而决定继续行驶。有人可能会认为这实际上并非一次失败,因为它在面对不可预测的行为时促进了交通的安全通行。然而,该决策在若干帧中与人工标注标签不一致,导致总体准确率出现值得商榷的下降。在表五和表六中,分类结果的呈现方式假设此场景的决策是正确的。在这种情况下,更复杂的预测模型以及扩展后的输入特征向量对独立.2.CP 动作策略分类器带来的积极影响变得更加明显。这一改进效果在 astop 类别的分类失败上尤为突出,而这类决策的正确性对于避免碰撞最为关键。
| 方法 | 成功 | ago | astop | 变化 |
|---|---|---|---|---|
| 联合 | 76.89% | 12.13% | 10.98% | 246 |
| 独立.1 | 82.30% | 15.16% | 2.54% | 125 |
| 独立.1.SP | 87.27% | 9.98% | 2.75% | 140 |
| 独立.2.CP | 92.86% | 5.59% | 1.54% | 129 |
这个场景实际上突显了在挑战中使用人类提供示例所带来的风险,特别是在环岛等决策场景中进行决策时,必须确保所提供的示例是一致的示例,能够引导出良好的决策策略。或者,更稳健的方法是将不一致的示例保留在数据集中,并确保系统能够安全地处理此类场景。
| 方法 | 成功 | ago | astop | 变化 |
|---|---|---|---|---|
| 联合 | 83.00% | 8.20% | 8.80% | 139 |
| 独立.1 | 88.26% | 10.49% | 1.24% | 72 |
| 独立.1.SP | 93.14% | 5.93% | 0.93% | 61 |
| 独立.2.CP | 96.32% | 3.58% | 0.10% | 52 |
全系统实验与密集交通
为了验证我们方法的有效性,我们进行了两个实验,在实验中完成了一系列全系统测试,运行了从感知到控制器的整个处理流程。在第一个实验中,我们在动作规划模块中使用Indep.1.SP作为动作策略分类器,而在第二个实验中,
使用Indep.2.CP作为动作策略分类器。
1)与独立.1.SP进行的真实世界实验: 实验1在工作日大约下午5点,针对环岛的2个不同的入口进行了 61次试验,以自主进入环岛。由于交通流量增加,此时通常会出现具有挑战性的交通场景。我们有
评估了来自行动计划的指令以及总体系统性能。当分类器在一次试验中未能输出一系列可接受的决策时,我们将其定义为分类失败;当机器人未能在没有安全驾驶员接管的情况下成功进入环岛时,则定义为全系统失败。
图9(上)显示了真实世界实验1的总体结果。机器人在58次试验中做出了合理决策(95.1%成功率)。其中,7次试验较为简单,因为环岛内没有其他车辆。在 51次试验中环岛内存在其他车辆,分类器输出了应导致合理行为的动作序列,但存在其他系统问题,如下所述。
另一方面,Indep.1.SP分类器在3次试验中未能提供合理决策。其中两次失败是由于对其他车辆行为的预测错误所致。在一个例子中,对一辆车辆的预测值低于阈值,导致动作策略分类器忽略了该车辆,尽管该车辆并不会驶出环岛。另一次失败是由于输入特征向量停留在决策边界附近,造成决策波动,导致车辆错失安全并入的时机。
从整体自动驾驶行为的角度来看,机器人在50次试验中成功进入了环岛。图8展示了环岛处密集交通的一个示例。机器人成功地向车辆v1让行。高层决策为接近,依据是当前速度(2.15米/秒)和到让行线的距离( 4.95米)。由控制器引起的失败意味着高层命令未被正确执行。分析表明,系统在执行高层命令时经历了高度变化的延迟,且系统故障是由显著长于平均水平的延迟所导致的。这种情况通常发生在机器人从完全停止状态开始移动时。这正是全部8个控制器问题的原因。
2) 使用Indep.2.CP的真实世界实验: 实验2包含56 次试验,与实验1相同,在工作日下午5点进入同一环岛。对实验2完成了与实验1类似的评估,但在实验1和实验2之间,控制器的延迟波动问题已得到纠正,这意味着执行高层命令的延迟及其方差都显著降低。因此,实验2中的所有失败均可归因于决策。
图9(下)显示了实验2的总体结果。机器人在56次试验中的55次做出了合理决策(成功率为98.2%)。在这56次试验中,有3次属于简单情况,因为环岛内没有其他车辆。在其余53次试验中,环岛内存在其他车辆,其中52次试验中动作策略分类器产生了一系列合理决策。
动作策略分类器的唯一一次失败是由于决策错误造成的:一辆车辆从环岛入口进入,驶向机器人入口时,在入口让行线处减速并停止加速很快。虽然我们的分类器考虑了车辆的速度,但当其他车辆进入环岛时,它并未预测这些车辆的进入或停止决策,因此按当前形式构建的模型无法处理这一特定场景。失败的原因在于,当时该车辆的速度接近于零(机器人可观察到,从而做出通行决策),但即将产生加速度(当然这对机器人来说是未知的,可能导致碰撞)。这是突出环岛决策复杂性的一个例子。尽管存在此问题,总体实际成功率仍保持在较高的98.2%。
讨论
尽管我们的方法是在安全进入环岛这一特定示例上开发并演示的,但我们认为该方法具有通用性,可应用于自动驾驶中的多种场景。此外,环岛场景中存在的剩余问题对于研究通用自动驾驶应用也具有参考价值。
如第六节所述,可靠的激光雷达感知是整个感知与决策系统的限制因素。由于点云稀疏,在远距离时分类问题尤为困难;当目标足够近但部分被遮挡时,同样存在困难。[40],[46]中也说明了类似的局限性。无论使用激光雷达还是摄像头,该问题都具有普遍性:感知的根本问题在于需要在合适的距离范围内具备足够的分辨率。
还必须考虑运行条件。雨雪天气可能因噪声而对激光雷达点云造成负面影响,而摄像头则可能因光照条件不同而产生外观差异较大的图像。因此,感知算法必须设计为能够覆盖所有潜在的变化。同时,确保无遮挡感知所需的足够视角也非常重要。在尝试安全通过环岛时,仅依赖前向摄像头完成全部感知任务是不够的,因为有时需要观测机器人纵向轴90度以上角度的其他车辆。
尽管充分的感知很重要,但它只是成功应对具有挑战性的驾驶情境(如环岛)的第一步。感知与决策之间的接口或信息传递对于设计鲁棒系统3至关重要。决策系统必须在两个层面上具备极强的鲁棒性:首先,它必须能够应对各种现实世界中可能遇到的情境;其次,它必须能够应对感知的局限性和错误模式。换句话说,应认识到感知并非完美无缺,并且这些缺陷应被识别、尽可能建模并加以考虑。在本案例研究中,通过机器学习实现这一目标,即让系统在运行过程中基于真实决策进行学习。
3我们的案例研究和系统旨在解决这一问题,我们在第六节-C中探讨了决策与车辆行动接口的重要性。
在某些驾驶情境下,例如图10所示的施工区域,以及其他多种类型的参与者(如车辆、人类甚至动物)以复杂方式交互的情境中,通过云计算形式的增强计算能力可能会提供更好结果。车载传感器将部分处理的数据广播到云端进行详细场景分析。云端分析的结果随后被发送回车辆,如[47]中已演示的那样。这种以感知支持形式存在的云机器人技术,在汽车领域尚未受到广泛关注,但已有研究提出将车辆控制与云计算相结合。在 [48]中描述了云支持可以改善多项车辆控制和诊断功能。建议将计算密集型任务外包给云端,前提是这些任务不具有严格的时间要求。例如,路径优化可以在云端根据燃油经济性及其他约束条件来执行。通过共享已经驶过相同路段的车辆所提供的路面质量信息,还可以改善车辆的行驶品质。
结论
在实现越来越高的车辆自动化水平的道路上存在着诸多困难挑战。通过研究具有挑战性的环岛场景下的高度自动化驾驶,我们展示了一种切实可行的方法来应对感知与决策系统实现过程中的关键挑战。我们开发了一种用于高层决策的机器学习方法,使其能够成功地处理部分可观测性、感知局限性以及智能体(车辆)交互问题。
使用机器学习方法也体现了数据驱动开发的重要性。尽管我们成功应用了SVM分类器,但其他机器学习方法同样适用。我们通过利用半自动驾驶中人类与机器人发挥互补角色的方式,采用示范学习来进行策略开发。这使我们能够在环岛通行情境下加速系统开发,而且该方法自然也可推广到其他情况,因为安全的人类决策示例丰富且易于融入开发过程。此外,在获取更多数据或感知系统发生变化时,该方法还支持对决策系统的进一步优化。由于重新训练的成本较低,我们可以通过引入来自新型且复杂的驾驶场景的新数据来持续改进系统。因此,我们认为我们的方法能够使系统适应广泛的情境,是一种适用于自动驾驶应用的有用且可推广的架构。
环岛场景智能汽车决策方法
541

被折叠的 条评论
为什么被折叠?



