• APOLLO UDACITY自动驾驶课程笔记——感知、预测


    1、计算机视觉

    无人驾驶车有四个感知世界的核心任务:检测——指找出物体在环境中的位置;分类——指明确对象是什么;跟踪——指随时间的推移观察移动物体;语义分割——将图像中的每个像素与语义类别进行匹配如道路、汽车、天空。

    2、Camera图像

    RGB图像,深度为3

    3、Lidar图像

    激光雷达传感器创建环境的点云表征,提供了难以通过摄像头图像获得的信息如距离和高度。点云中的每个点代表反射回传感器的激光束,可以告诉我们关于物体的许多信息例如其形状和表面纹理。

    4、机器学习

    • 监督式学习:使用数据和相关的真值标记来进行模型训练

    • 非监督学习:没有真值标记的车辆与行人图像,让计算机自行决定哪些图像相似、哪些图像不同

    • 半监督学习:使用少量的标记数据和大量的未标记数据来训练模型

    • 强化学习:允许模型通过尝试许多不同的方法来解决问题,然后衡量哪种方法最为成功。以多种不同的方向和速度进行实验性驾驶,如果车辆实际完成了右转,智能体会提高奖励即得分。

    5、神经网络

    受到构成人类神经系统的生物神经元启发,生物神经元通过相互连接构成了神经元网络或神经网络,通过类似的方式将人工神经元层连接起来以创建用于机器学习的人工神经网络。

    6、反向传递

    三步循环组成——前馈、误差测定、反向传播。每个人工神经元都对其值进行微调,这是基于通过神经网络后向传播的误差,可生成更准确的网络。

    7、卷积神经网络CNN:CNN通过维持输入像素之间的空间关系来解决这个问题,CNN通过将过滤器连续滑过图像来收集信息,每次收集信息时,只对整个图像的一小部分区域进行分析,称为卷积。当在整个输入图像上对一个过滤器进行卷积时,将该信息与下一个卷积层相关联。

    8、检测与分类:计算机首先需要知道障碍物的位置,然后进行分类。另一个示例为交通信号灯检测分类,首先将使用计算机视觉对图像中的交通信号灯进行定位,然后根据灯光显示颜色对交通信号灯进行分类。可以先使用检测CNN来查找图像中的对象的位置,在对图像中的对象进行定位后,可以将图像发送给另一个CNN进行分类。经典体系结构为 R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD等

    9、跟踪:追踪可以解决遮挡问题。追踪的第一步为确认身份,通过查找特征相似度最高的对象,将在之前的帧中检测到的所有对象与在当前的帧中检测到的对象进行匹配。

    10、分割:语义分割涉及对图像的每个像素进行分类,用于尽可能详细地了解环境并确定车辆可驾驶区域。语义分割依赖于一种特殊类型的CNN,被称为全卷积网络FCN。1)FCN用卷积层来替代传统CNN体系结构末端的平坦层,现在网络中的每一层都是卷积层,因此名称为“全卷积网络”。2)为了分割像素,输出尺寸必须与原始图像的尺寸相匹配。为了完成,可以对中间输出进行上采样处理,直到最终输出的大小与原始输出图像的大小相匹配。编码器 和解码器。

    11、Apollo感知:

    1)Apollo将ROI过滤器应用于点云和图像数据,以缩小搜索范围并加快感知。

    2)然后通过检测网络馈送已过滤的点云,输出用于构建围绕对象的三维边界框。

    3)最后使用被称为检测跟踪关联的算法来跨时间步识别单个对象,该算法先保留在每个时间步要跟踪的对象列表,然后在下一个时间步中找到每个对象的最佳匹配。

    4)对于交通信号灯的分类,Apollo先使用高精度地图来确定前方是否存在交通信号灯。如果前方有交通信号灯,则高精度地图会返回灯的位置。后续根据位置,摄像头搜索范围,在摄像头捕获到交通信号灯图像后。Apollo使用检测网络对图像中的灯进行定位,然后从较大的图像中提取交通信号灯。将裁剪的交通灯图像提供给分类网络以确定灯颜色,如果有许多灯则系统需要选择哪些灯与其车道相关。

    5)Apollo使用 YOLO 网络来检测车道线、动态物体其中包括车辆、卡车、骑自行车的人、行人。在经过YOLO网络检测后,在线检测模块会并入来自其他传感器的数据对车道线预测进行调整,车道线最终被并入名为“虚拟车道”的单一数据结构中。同样也通过其他传感器的数据对YOLO网络所检测到的动态对象进行调整,以获得每个对象的类型、位置、速度、前进方向。虚拟通道和动态对象均被传递到规划与控制模块。

    12、传感器比较:Camera适应于分类,交通信号灯分类、车道检测。激光雷达:适用于障碍物检测;

    13、感知融合策略:卡尔曼滤波。实际上有两种测量结果更新步骤:同步和异步。同步融合同时更新来自不同传感器的测量结果,而异步融合则逐个更新所收到的传感器测量结果。传感器融合可提高感知性能,因为各传感器相辅相成,融合也可以减少跟踪误差。

    1、简介

    1.1、无人车需要预测这些物体的行为,这样才能确保做出最佳决策。在环境中为所有其他的物体做出预测,这些共同形成了在一段时间内的预测路径。这些预测路径为无人车在规划阶段做出决策提供了必要信息。

    1.2、预测路径:实时性、准确性、预测模块应该有学习新的行为。

    2、不同的预测方式

    • 基于模型的预测:构建两个候选模型,观察移动车的运动,看它与那一条轨迹更匹配。

    • 基于数据驱动预测:使用机器学习算法,通过观察结果来训练模型。数据驱动方法的优点是训练数据越多,模型效果越好。

    3、基于车道序列的预测

    为了建立车道序列,首先将道路分成多个部分,每一部分都覆盖了一个易于描述车辆运动的区域。为了预测,我们更关心车辆如何在这些区域内转换,而不是在某个区域内的具体行为。例如直行汽车的运动可以描述为车道序列是 0-1-3-7。

    4、障碍物状态

    为了预测物体运动也需要知道障碍物状态(位置、朝向、速度、加速度、其在车道段内物体的位置),预测模块会考虑从物体到车道线段边界的纵向和横向距离,还包含之前时间间隔的状态信息以便做出更准确的预测。

    5、预测目标车道

    现在所要做的就是选择车辆最有可能采取的车道顺序,可以通过计算每个车道序列的概率来进行选择。随着记录随着时间的增加,模型可以自我迭代更新,精确度不断提升。

    6、递归神经网络RNN在目标车道预测的应用

    1) 递归神经网络RNN是一种利用时间序列数据特征的一种预测方法。建立像这样的多重结构的递归神经网络称之为 MLP单元,从数据序列中提取出高级特征,每个MLP单元将序列的一个元素作为输入并预测序列的下一个元素作为输出。为了对元素之间的顺序关系建立模型,在每个单元之间建立一个额外的连接,这意味着每个单元根据原始输入和前一个单元的输出进行预测,这 RNN的基本结构。

    2)Apollo使用RNN建立一个模型来预测车辆的目标车道,为车道序列提供一个RNN模型,为相关对象状态提供另一个RNN模型。连接这两个RNN的输出并将它们馈送到另一个神经网络,该神经网络会估计每个车道序列的概率,具有最高概率的车道序列是我们预测目标车辆将遵循的序列。

    7、轨迹生成

    如何预测最有可能的轨迹?可以先通过设置约束条件来去除大部分候选轨迹,首先假定汽车将与目标车道的中心对齐,继续去除车辆无法实际执行的轨迹。通过考虑车辆当前的速度和加速度从剩余的轨迹中进行选择,实际上我们并没有实际列出所有可能的轨迹并逐一去除它们。

  • 相关阅读:
    关键点数据增强
    nginx的安装与配置启动(linux)
    万户OA漏洞分析、利用与防护
    论文阅读【Sensor-Augmented Egocentric-Video Captioning with Dynamic Modal Attention】
    阿里云服务器租用价格,不同实例云服务器日常价、活动价与券后价格
    【SHELL】推箱子游戏
    【前端设计模式】之策略模式
    使用JAVA pdf转word
    【CV】各种库安装报错及解决办法
    使用查找表(LUT,Look-Up Table)来进行图像像素值的线性映射,图像对比度增强
  • 原文地址:https://blog.csdn.net/tony_vip/article/details/128061670