Udacity_Simulator自动驾驶仿真基础知识!

自动驾驶基础知识

真正的完全自动驾驶汽车必须解决三个独立的任务:感知(了解周围世界发生了什么)、预测(确定下一步会发生什么)和驾驶策略(采取适当的行动)

自动驾驶级别:

Level 1级别的自动驾驶包括基本的协助(如巡航控制)。

Level 2级别增加了诸如车道保持等功能,令汽车能够在高速公路上行驶,但仍要求驾驶员时刻注意,如特斯拉的Autopilot和凯迪拉克的Super Cruise。

Level 3是受条件制约的自动驾驶,具有“环境检测”能力,可以自己根据信息做出决定,例如加速经过缓慢行驶的车辆。但是这个级别仍然需要人类操控。驾驶员必须保持警觉,并且在系统无法执行任务时进行操控。奥迪 A8L 将于 2019 年秋季驶入经销市场。奥迪 A8L 采用 Traffic Jam Pilot 技术,该技术结合了激光雷达扫描仪以及先进的传感器融合和处理能力(如果某一组件发生故障,还可以使用内置冗余)。

Level 4是高度自动驾驶,Level 4自动驾驶汽车可以采用无人驾驶模式运行。但由于立法和基础设施发展欠缺,Level 4无人驾驶汽车只能在限定区域行驶(通常是在城市路况,最高平均速度达 30 英里/小时)。这被称之为地理围栏(geofencing)。Level 5自动驾驶汽车不需要人为关注,从而免除了“动态驾驶任务”。

Level 5自动驾驶汽车甚至都不会有方向盘或加速/制动踏板。他们将不受地理围栏限制,能够去任何地方并完成任何有经验的人类驾驶员可以完成的操控。完全自动驾驶的汽车正在世界各地的几个试点区进行测试,但尚未向公众提供。

自动驾驶机器学习算法;

Savaram Ravindra将自动驾驶中机器学习算法主要分为四类,即聚类算法、模式识别算法、决策矩阵算法和回归算法。

(1) 聚类算法

有时,系统获取的图像不清楚,难以定位和检测对象,分类算法有可能丢失对象。在这种情况下,它们无法对问题分类并将其报告给系统。造成这种现象可能的原因包括不连续数据、极少的数据点或低分辨率图像。K-means是一种常见的聚类算法。他的实现算法比较简单,首先从对象中选取K个值作为初始的聚类中心,然后根据存在的每个聚类对象的不同中心对象计算出对象和中心对象的距离,再根据每个对象和中心的最小距离划分对象。最后重新计算调整后的聚类的均值。

(2) 模式识别算法(分类)

通过高级驾驶辅助系统(ADAS)中的传感器可以获得由各种环境数据组成的图像,图像过滤可以用来决定物体分类样例,排除无关的数据点。在对物体分类前,模式识别是一项重要步骤,这种算法被定义为数据简化算法。数据简化算法可以减少数据集的边缘和折线(拟合线段)。PCA(原理分量分析)和HOG(定向梯度直方图),支持向量机(Support Vector Machines,SVM)是ADAS中常用的识别算法。我们也经常用到K最近邻(KNN,K-NearestNeighbor)分类算法和贝叶斯决策规则。

(3) 决策矩阵算法

决策矩阵算法能系统分析、识别和评估一组信息集和值之间关系的表现,这些算法主要用户决策。车辆的制动或转向是有依据的,它依赖算法对下一个运动的物体的识别、分类、预测的置信水平。决策矩阵算法是由独立训练的各种决策模型组合起来的模型,某种程度上说,这些预测组合在一起构成整体的预测,同时降低决策的错误率。AdaBoosting是最常用的算法。

Adaptive Boosting算法也可以简称为AdaBoost,它是多种学习算法的结合,可应用于回归和分类问题。与其他机器学习算法相比,它克服了过拟合问题,并且对异常值和噪声数据非常敏感。AdaBoost具有自适应性,需要经过多次迭代才能创造出强学习器。对于分类错误的样本,学习其会重点关注,最后再通过加权将弱学习器组合成强学习器。AdaBoost帮助弱阈值分类器提升为强分类器。上面的图像描绘了如何在一个可以理解性代码的单个文件中实现AdaBoost算法。该函数包含一个弱分类器和boosting组件。弱分类器尝试在数据维数中找到理想阈值,并将数据分为2类。分类器迭代时调用数据,并在每个分类步骤后,改变分类样本的权重。因此,它实际创建了级联的弱分类器,但性能像强分类器一样好。

(4) 回归算法

在无人车的驱动和定位方面,图像在ADAS系统中扮演着关键角色。基于图像模型,进行特征提取和预测一直以来都是一个很大的难题,回归算法通过利用了环境的可重复性来创造了一个概率模型。该模型通过图像采样能够提供迅速的在线监测,同时支持线下的学习,解释了所给图像中给定物体位置和图像本身的关系。模型还可以在不需要大量人类建模的前提下被进一步扩展到其他物体上。算法会将某一物体的位置以一种在线状态下的输出和一种对物体存在的信任而返回。回归算法同样可以被应用到短期预测和长期学习中,在自动驾驶上,则尤其多用于决策森林回归、神经网络回归以及贝叶斯回归。

自动驾驶领域在行为决策上的研究现状和应用:

(1)有限状态机模型

自动驾驶车辆最开始的决策模型为有限状态机模型,车辆根据当前环境选择合适的驾驶行为,如停车、换道、超车、避让、缓慢行驶等模式。有限状态机主要用了进行对象行为建模,其作用主要是在对象的生命周期中所经历的状态序列,以及如何响应外界的各种时间。对于自动驾驶来说,有限状态机能够面熟不同驾驶状态之间的转移关系,从而根据其迁移的反应式生成驾驶动作。有限状态机模型具有简单、易操作等优点,在无人驾驶行为决策模型中运用最为广泛。其缺点主要是忽略了环境的不确定性和动态性,并且当所处在的驾驶场景特征较多的,对于状态之间的处理会比较繁琐。多数情况下,这种模型均用在简单的场景中,对于比较复杂的城区道路环境或其余具有复杂机构的道路难以胜任。

(2)决策树模型

和状态机模型类似,决策/行为树模型也是通过当前驾驶状态的属性值反应式地选择不同的驾驶动作。它是统计,数据挖掘和机器学习中使用的预测建模方法之一,决策树易于理解和解释,可以可视化分析,容易提取出规则。决策树把驾驶状态和控制逻辑放在了树形结构中,通过自顶而下的搜索方法进行驾驶策略的搜索。缺点是容易发生过拟合,并且容易忽略数据集中的属性之间的相互关联,无法考虑在交通环境中存在的不确定因素。

(3)基于知识的推理决策模型

该类模型是综合运用了人工智能、计算机科学技术、管理科学等多种学科知识,针对决策问题,通过先验知识库、列举出可能方案,为管理者做出正确的决策提供一个可行的方案。在自动驾驶的领域中,先验知识库主要是规则、场景特征以及相对应的案例到驾驶动作的映射关系,最终能够通过场景特征和驾驶动作的映射关系来模仿真实环境中的人类驾驶员行为决策的过程。该模型的缺点是对于先验驾驶知识和训练数据的依赖性较大,因此所需要准备的数据要足够充分。网络结构中固化的映射关系解释下较差,透明性不好,在出现错误时难以发现错误原因。

(4)基于价值的决策模型

基于价值的决策模型就是根据最大效用理论,从多个备选方案中选择出最优的驾驶策略和动作。为了评估模型的有效性以及优劣,该模型定义了效用和价值两类函数作为评估标准,定量的评估所选择的驾驶策略符合驾驶任务目标的程度。在自动驾驶领域,这些评估标准可以时安全性和舒适度等标准。由澳大利亚的Furda和Vlacic所提出的多准则决策方法是从候选动作集中选择最优的驾驶动作;新加坡国立大学的Bandyopadhyay等人提出了基于POMDP的行为决策模型,用以解决存在感知不确定性的情况;卡内基梅隆大学的Wei J等人提出基于PCB(Prediction and-Cost-function Based)的行为决策模型,其侧重点在于如何构建恰当的代价函数来指导对环境的预测;为了解决在多智能体参与的复杂环境中的决策问题,许多基于 博弈论的模型也被研究者用来推理车辆之间的交互行为;此外,深度强化学习技术[8] 再次被提出运用在决策模型中,因为其在特征提取方面具有很大的优势。

(5)端到端模型

 随着以神经网络为代表的人工智能的快速发展,许多传统的规划问题也带来了新的解决思路:使用一个深度神经网络,直接根据车辆状态和外部环境信息得出车辆的控制信号。

尽管目前的端到端模型存在类似“黑箱”的不可解释性,但相信随着人类对深度神经网络理解的不断加深,这一方法因其突出的简洁高效优势而具有很强的发展潜力。自动驾驶车辆在复杂环境中作出最优决策,这一问题与强化学习的定义非常吻合,因此如前文所述,随着深度强化学习技术的快速发展,越来越多的研究团队开始将其应用于自动驾驶决策规划中。

综上所述,深度学习在自动驾驶领域应该目前还处于快速发展阶段,需要国内外学者更加深入的研究和探索。当然也有说法认为深度学习存在一定的弊端,它的算法是端到端(输入数据,输出结果)的决策系统,计算过程不能被解释,即没有透明度,无法 Debug。因此,需要更多更强大的决策算法来支持自动驾驶的发展。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值