wordpress 商业网站,网页qq登录保护不再开启入口,大数据营销系统,滁州项目建设公示在哪个网站卡尔曼滤波器 为了研究卡尔曼#xff0c;我阅读了大量博文。不敢说完全吃透#xff0c;但是在做一件什么事#xff0c;可以通过下面这文章来理解#xff0c;我读了不下五遍。并整理标准重点#xff0c;添加自己的一些见解。
自动驾驶传感器融合算法 - 自动驾驶汽车中的激…卡尔曼滤波器 为了研究卡尔曼我阅读了大量博文。不敢说完全吃透但是在做一件什么事可以通过下面这文章来理解我读了不下五遍。并整理标准重点添加自己的一些见解。
自动驾驶传感器融合算法 - 自动驾驶汽车中的激光雷达和雷达 自动驾驶传感器融合算法-自动驾驶汽车中的激光雷达和雷达 来源 原创 HITJACKJU [机器人规划与控制研究所](javascript:void(0);) 2024-06-26 17:32 美国 在本文中我们将深入探讨 LiDAR 和 RADAR 之间的传感器融合。这两种传感器在自动驾驶和许多其他机器人应用中被广泛使用。我们将首先简要介绍这两种传感器然后介绍我们使用的融合算法及其特性。 顺便问一下什么是传感器融合在感知模块中即观察环境道路线、交通标志、建筑物、行人等我们需要使用多个传感器。这可以增加冗余度、确定性或者利用多个传感器的优势并创建多个用例。这创建了一个我们称之为传感器融合的领域。 例如使用相机可以让我们看到交通信号灯的颜色。它是分类、车道线检测等的完美工具……使用LiDAR非常适合 SLAM同步定位和地图构建和深度 估计——即估计任何物体的精确距离。最后RADAR具有一种可以测量物体 速度并给你开超速罚单的特定技术 在本文中我们将学习融合 LiDAR 和 RADAR从而利用LiDAR 技术估计距离并以 3D 方式观察世界并利用 RADAR估计速度的能力。 一、用于 LiDAR 雷达融合的传感器数据 在考虑任何传感器融合任务之前我们必须做两件事 选择多个传感器进行合并——并定义一个明确的目标。 研究两个传感器来确定“如何”将它们融合。 让我们花一点时间来回顾一下不同的传感器... 1、雷达无线电探测和测距 雷达发射无线电波来探测几米约 150 米范围内的物体。多年来雷达一直安装在我们的汽车上用于探测盲区中的车辆并避免碰撞。 与其他传感器计算两次测量之间的位置差异不同雷达利用多普勒效应通过测量车辆向我们移动或远离时下一波频率的变化。这称为径向速度。 雷达可以直接估算速度。 因此它们在移动物体上的表现比在静态物体上的表现更好。 它的分辨率较低 可以知道被检测物体的位置和速度。另一方面它很难确定被检测的物体是什么。 2、LiDAR光检测和测距 LiDAR 使用红外传感器来确定与物体的距离。旋转系统可以发送波并测量波返回所需的时间。这使得可以生成传感器周围环境的点云。它每秒可以生成大约 200 万个点。点云具有不同的 3D 形状因此可以借助 Lidar 对物体进行分类。 它具有良好的范围100 至 300 米并且可以准确估计周围物体的位置。但是它的尺寸很笨重有些人可能会把它看作拐杖。更不用说它的价格1,000-50,000 美元多年来一直很高而且仍然远远高于相机500 美元或雷达300 美元 的平均价格 。 现在我们对雷达和激光雷达有了很好的了解。让我们看看如何将它们融合 二、使用哪种类型的数据融合 正如我在有关传感器融合的文章中所解释的那样我们有 3 种类型的传感器融合分类 低级传感器融合- 融合 RAW 数据 中级传感器融合- 融合物体 高级传感器融合——融合物体及其时间位置跟踪 在本文中我们将重点介绍中级传感器融合后期融合并了解如何将 RADAR 的输出与 LiDAR的输出相结合。也可以将 RADAR的原始数据进行组合但RADAR的噪声非常大。因此所涉及的后期处理级别使我们使用后期融合。 三、用于LiDAR雷达融合的传感器融合算法 到目前为止我们了解到 我们将雷达Radar和激光雷达Lidar合作 我们将融合结果而不是原始数据。 那我们该如何处理呢 1、使用卡尔曼滤波器进行传感器融合 用于合并数据的算法称为卡尔曼滤波器。 卡尔曼滤波器是数据融合中最流行的算法之一。它由鲁道夫·卡尔曼于 1960 年发明现在用于我们的手机或卫星的导航和跟踪。该滤波器最著名的用途是在阿波罗11号任务中该任务将宇航人员送至月球。 在本文中您将了解卡尔曼滤波器的工作原理以及如何使用卡尔曼滤波器合并来自两个传感器的数据。使用的示例是LiDAR和RADAR但实际上我们可以用任何传感器来实现这一点正如您将看到的。 2、何时使用卡尔曼滤波器 卡尔曼滤波器可用于数据融合以估计动态系统随时间发展的现在过滤、过去平滑或未来预测的状态。 自动驾驶汽车中嵌入的传感器发出的测量结果有时不完整且有噪声。传感器的不准确性也称为噪声是一个非常重要的问题可以通过卡尔曼滤波器来处理。让我告诉你如何解决。 卡尔曼滤波器用于估计系统的状态表示为 x。该状态向量由位置 p 和速度 v 组成。 在每个估计中我们都关联一个不确定性度量 P。使用不确定性度量非常好因为我们可以考虑到LiDAR在我们的测量中比RADAR更准确的事实前置信息、预测评估提示就理解为误差 通过进行数据融合我们考虑传感器噪声和输出。 举个例子看一下这两个LiDAR融合在一起观察行人的情况。 两个传感器都同样确定但我们可以看到如果它们不确定的话情况会发生怎样的变化。 与只有一个传感器的情况相比考虑多个传感器及其不确定性可以帮助我们更好地了解行人的位置。 现在让我们看看如何在雷达/激光雷达融合中实际使用卡尔曼滤波器。首先我们需要了解传感器融合算法如卡尔曼滤波器表示估计值的方式使用高斯函数。 3、高斯 状态和不确定性用高斯表示。 高斯是一个连续函数其面积为 1。正如您在这里看到的高斯是一个以我们所谓的平均值为中心的公式协方差有助于理解我们有多“确定”。 我们用均值 μ 表示状态用方差 σ² 表示不确定性。 方差越大不确定性越大。 高斯可以估计系统状态和不确定性的概率。 我们采用的是正态分布的概率。卡尔曼滤波器是单峰的这意味着我们每次都有一个峰值来估计系统的状态。 换句话说障碍物并不是在 90% 距离 10 米处和 70% 距离 8 米处而是在 98% 距离 9.7 米处或没有障碍物处。 卡尔曼滤波器是连续的单峰函数。 到目前为止我们已经了解了卡尔曼滤波器如何在表示过程中发挥作用但在传感器融合过程中却没有发挥作用。现在让我们通过理解一个关键概念来考虑传感器融合贝叶斯滤波。 4、贝叶斯过滤 卡尔曼滤波器是贝叶斯滤波器的一种实现即反复在预测和更新之间交替。 预测我们利用估计的状态来预测未来的状态和不确定性。 更新我们使用传感器的观测来修正预测并获得更准确的估计。 传感器融合的具体实现如下传感器数据到达我们更新正在跟踪的行人的估计位置并预测下一个行人的位置。接下来新的传感器数据到达我们更新行人的位置评估预测的准确程度并据此预测下一个行人的位置。 ⚠️要对卡尔曼滤波器进行估计只需要当前观测值和先前预测值。不需要测量历史。这不是机器学习而是人工智能。因此此工具很轻便并且会随着时间的推移而改进。 让我们回顾一下分析一下迄今为止所学到的一切 1. 我们正在进行LiDAR和RADAR之间的传感器融合 2. 但只有它们各自的输出后期融合 3. 为此我们使用卡尔曼滤波器 4. 哪些是单峰的并使用高斯来表示状态和不确定性 5. 并使用预测/更新循环也称为贝叶斯过滤进行工作。 现在让我们看看它的内部工作原理。 个人总结一波这个预测和更新是重点得明白这个过程。 1、初始化读取第一帧数据估计当前时刻的状态并预测下一时刻也就是第二帧数据时的状态。 2、读取第二帧数据基于此数据我更新当前时刻的状态这个状态是上一时刻预测的生成新的当前状态的估计值并预测第三帧数据的状态。换言之数据来之后我先更新上一时刻对此时刻的预测生成对此刻状态新的估计值并对下一时刻进行预测。或者说基于上一帧的预测结合传感器的读数估计出当前的最优估计状态值。并生成下一时刻的预测。 3、不断循环第2步。 PS后文称读取第n帧数据为测量measurement。 四、卡尔曼滤波器背后的数学 卡尔曼滤波器背后的数学原理是由矩阵的加法和乘法组成的。我们有两个阶段预测和更新。 在本节中我将概述卡尔曼滤波器背后的公式。如果您想进一步了解并真正掌握这些内容请参加我的课程学习卡尔曼滤波器默默为未来提供动力的隐藏算法。在那里您将了解卡尔曼滤波器的工作原理了解数学原理并从头开始为不同的用例编写自己的卡尔曼滤波器。 1、预测公式 我们的预测包括根据时间 t 时的先前状态 x 和 P 估计时间 t1 时的状态 x 和不确定性 P。 因此我们只有两个公式来估计 x 和 P。其他值是 F从 t 到 t1 的转移矩阵 u噪声 Q包含噪声的协方差矩阵 如果我们简化事情——我们可以说我们的新位置 x 等于前一个位置 x乘以矩阵 F。这个矩阵 F 称为我们的运动模型。 这是一个关于它的外观和使用方法的简短示例。 如您所见F 只是一个矩阵描述我们如何从步骤 t 移动到步骤 t1。 这里我们有 位置t1位置t速度t*时间 速度t1速度t 换句话说我们考虑恒定速度。 我们的预测方程旨在转换两个时间帧之间的运动。我们可以让 F 矩阵实现不同的运动模型例如恒定转弯速率、恒定速度、恒定加速度…… 这就是我们预测下一个位置的方法 - F 是用于平移运动的矩阵。现在让我们看看更新公式。 2、更新公式 在更新步骤中我们要调整我们的位置并纠正我们下一步的预测方式。 让我们看一看它是如何工作的——我们有时间 t1 的 x预测状态和 P预测协方差。 现在我们收到了新的传感器数据并可以确认我们是否接近。 y 是实际测量值与我们的预测之间的差异——这是预测误差这个差值结合卡尔曼增益更新最优状态估计 其他矩阵用于考虑传感器噪声R、估计系统误差S和卡尔曼增益K 最后一个值卡尔曼增益K介于 0 和 1 之间有助于决定我们是否应该更信任预测或测量。 所有这些都导致计算一个新的 x 和一个新的 P。 更新阶段可以估计出比测量和预测更接近现实的 x 和 P。 经过几个循环后卡尔曼滤波器将会收敛做出越来越准确的预测。 在回顾并了解全局之前让我们先考虑以下有关贝叶斯概率的内容。 说大事专用起始分割符 上面提到卡尔曼增益K是一个介于0和1之间的数值。 其中这个y是运动方程对当前状态的预测值与观测方程对当前的观测值之间的差上面称为预测误差。 换句话说对当前状态量 运动方程有个预测值 观测方程有个测量值 现在这俩值摆在这里我们该信谁误差/偏差/不确定性/协方差。我们要来确定当前状态的最优估计。 真相往往可能存在于这两者之间。中庸之道。到底倾向于多少呢这个预测误差y下一篇卡尔曼滤波器二中提到的温度差把这两者之间的差异做了一个划分而卡尔曼增益K来决定最优估计到底应该倾向于两者中的哪一个。 这个差异操作相当于更新我们下一篇文章讲卡尔曼滤波器二中还要提及。 说大事专用终止分割符 3、先验/后验和贝叶斯过滤 该图显示了贝叶斯过滤器内部的最终数学。条件概率 我们想要估计的就是后验概率。从数学上讲它等于先验概率预测乘以似然概率测量。 个人总结一波 P(A)先验概率预测。基于A对B发生的条件概率 P(B|A)似然概率测量。 是在A为真的情况下观测到B的概率这里可以理解为观测的准确性。 P(B)参照标准B发生的概率。 P(A|B)已知B发生的条件下反推A在B发生之后的条件概率。成为后验概率。 我们原来是拿A预测B的此时AB都发生了即得到了P(AB)也即既有预测数据又有测量数据。那么依托测量数据的条件下更新A发生的概率。 再言之我本来想法是依托T1时刻预测T2时刻的状态。这个预测就是先验概率。等我在T2时刻拿到测量数据之后也就是这个测量读数成为似然概率的事实此时对于T2时刻来说预测和测量都有了。事件都发生了。基于此事实上我可以更新T1时刻的状态使我的T1时刻的状态估计的更加准确。 人话就是线性数学模型算出预测值传感测量值更准确的测量值。 将其翻译成高斯如下 如你所见更新后验始终是最佳估计。其次是测量和预测这自然是三者中最不确定的。 此时您可能会想“好吧......这很酷但是 Jeremy您并没有谈论激光雷达和雷达......您只是以非常笼统的方式谈论了传感器融合。” 你说得对那我们就进入正题吧。 五、雷达/激光雷达传感器融合流程 流程如下每次传感器到来时我们都会运行一个新的预测更新循环。 每次预测都会降低确定性 每次更新都会增加确定性。 但最终两者结合/融合可以提供更多数据并获得更好的总体结果。 需要理解的是我们始终使用相同的状态——我们的状态位置、速度估计。 1、在雷达 LiDAR 融合中使用卡尔曼滤波器 使用LiDAR时我们有“笛卡尔”线性值。我们的数学公式全部用 y ax b 类型的线性函数实现。 另一方面当我们使用雷达Radar时数据不是线性的。该传感器通过三个指标来观察世界 rho到被跟踪物体的距离。 φphix 轴和物体之间的角度。 ̇ (rhodot) 的变化导致径向速度。 由于包含了角度 φ这三个值使得我们的测量结果呈非线性。 意思是说当使用雷达Radar时我刚才谈到的一切都是错误的无法起作用。 2、非线性卡尔曼滤波器 这里的一切都将我们引向这一点——世界是非线性的。并非所有事物都完美地沿直线移动。传感器的工作方式并不相同。因此我们必须使用两种特定类型的卡尔曼滤波器 扩展卡尔曼滤波器EKF 无迹卡尔曼滤波器 这些过滤器将首先“线性化”非线性数据以便它可以在经典过滤器中工作。 在扩展版本中我们使用雅可比矩阵和泰勒级数对数据进行线性化。 在无迹版本中我们使用 Sigma 点预测。 3、最终传感器融合流程 考虑到这一点这是我们最终的传感器融合流程。 LiDAR会定期更新而RADAR则需要进行线性化处理。这个循环不断重复。我们永远不会将数据融合在一起而总是一个接一个地进行。 RMSE 值是均方根误差测量即我们的预测与现实之间的误差。原文有图 无迹卡尔曼过滤器的误差比扩展过滤器的误差更低因为这种技术更有效。 因此我们有两种技术——对于这个特定的用例一种似乎比另一种更好。 六、结论 传感器融合是自动驾驶汽车中最重要的主题之一。传感器融合算法可让车辆准确了解障碍物的数量并估计它们的位置和行驶速度。这至关重要。 它们总是依赖于我们拥有的传感器卡尔曼滤波器不是一个系统的答案。 现在每天都会使用多个传感器。它用于物体检测、定位、计算机视觉和跟踪。 相关文章 自动驾驶算法——使用扩展卡尔曼滤波算法实现传感器融合和物体跟踪。有代码 关于卡尔曼及卡尔曼增益的理解【精】 自动驾驶-序惯卡尔曼滤波【附Github源代码】 七、补充阅读1variance与协方差 User: variance Kimi: 方差Variance是统计学中衡量数据离散程度的一个重要指标它描述了数据点与均值之间的差异。具体来说方差是每个数据点与均值差的平方的平均值。 在概率论中方差用来衡量随机变量与其期望值均值之间的偏离程度。方差通常用希腊字母σ²sigma squared表示。方差的计算公式在离散型随机变量和连续型随机变量中有所不同但基本原理是相同的。方差不会是负数因为它是平方的结果。如果一个数据集的方差为零这意味着所有数据点都相同没有变异性。 在实际应用中方差有时因为单位平方而难以直观理解因此经常使用方差的平方根——标准差Standard Deviation来描述数据的离散程度。标准差与原始数据具有相同的单位更易于解释和比较。 方差的概念最早由罗纳德·费雪Ronald Fisher提出并在统计学中得到广泛应用。它不仅用于描述单个数据集的变异性还可以用于衡量不同数据集之间的差异。 例如在经济学、金融学和其他领域方差和标准差常用于衡量风险和不确定性。() 方差的计算方法在总体数据和样本数据中有所不同。 总体方差的计算公式是所有数据点与总体均值差的平方和除以总体大小。 而样本方差的计算则是样本中每个数据点与样本均值差的平方和除以样本大小减一(N-1)这是一种无偏估计用于估计总体方差。 方差在数学上也有其扩展形式例如对于随机向量方差可以表示为协方差矩阵这在多维数据分析中非常重要。此外方差在概率论中也有其特定的定义和性质例如在连续分布中方差是通过积分来计算的。 总的来说方差是描述数据分布特性的关键统计量它在数据分析、风险评估和科学研究中都有着广泛的应用。 对于这个协方差我必须推荐一篇文章概率论—协方差/相关系数/协方差矩阵 总结一句协方差矩阵可以表述变换的旋转方向以及变换的尺度或者说包含了变换的权重信息。 八、协方差其意义 度量各个维度偏离其均值的程度均值期望预测误差有多大。协方差的值如果为正值则说明两者是正相关的(从协方差可以引出“相关系数”的定义)结果为负值就说明负相关的如果为0也是就是统计上说的“相互独立”。 终于明白协方差的意义了-CSDN博客
协方差的意义_协方差网络-CSDN博客 在概率论中两个随机变量 X 与 Y 之间相互关系大致有下列3种情况 当 X, Y 的联合分布像上图那样时我们可以看出大致上有 X 越大 Y 也越大 X 越小 Y 也越小这种情况我们称为“正相关”。 当X, Y 的联合分布像上图那样时我们可以看出大致上有X 越大Y 反而越小X 越小 Y 反而越大这种情况我们称为“负相关”。 当X, Y 的联合分布像上图那样时我们可以看出既不是X 越大Y 也越大也不是 X 越大 Y 反而越小这种情况我们称为“ 不相关”。
怎样将这3种相关情况用一个简单的数字表达出来呢
在图中的区域1中有 XEX Y-EY0 所以(X-EX)(Y-EY)0
在图中的区域2中有 XEX Y-EY0 所以(X-EX)(Y-EY)0
在图中的区域3中有 XEX Y-EY0 所以(X-EX)(Y-EY)0
在图中的区域4中有 XEX Y-EY0 所以(X-EX)(Y-EY)0。
当X 与Y 正相关时它们的分布大部分在区域1和3中小部分在区域2和4中所以平均来说有E(X-EX)(Y-EY)0 。
当 X与 Y负相关时它们的分布大部分在区域2和4中小部分在区域1和3中所以平均来说有(X-EX)(Y-EY)0 。
当 X与 Y不相关时它们在区域1和3中的分布与在区域2和4中的分布几乎一样多所以平均来说有(X-EX)(Y-EY)0 。
所以我们可以定义一个表示X, Y 相互关系的数字特征也就是 协方差
cov(X, Y) E(X-EX)(Y-EY) 。
当 cov(X, Y)0时表明 X与Y 正相关
当 cov(X, Y)0时表明X与Y负相关
当 cov(X, Y)0时表明X与Y不相关。
这就是协方差的意义。