SLAM中的加权最小二乘法

news2024/10/23 3:29:05

一、数学描述

        机器人携带传感器在环境中运动可由 运动方程 观测方程 描述。

\begin{cases}\boldsymbol{x}_k=f\left(\boldsymbol{x}_{k-1},\boldsymbol{u}_k,\boldsymbol{w}_k\right),&k=1,\cdots,K\\\boldsymbol{z}_{k,j}=h\left(\boldsymbol{y}_j,\boldsymbol{x}_k,\boldsymbol{v}_{k,j}\right),&(k,j)\in\mathcal{O}\end{cases}.

        其中 k 表示时刻;x_{^{k}} 表示 k 时刻的位姿;u_{k} 是运动传感器的读数或者输入;y_{j} 为路标点;z_{k,j} 表示观测数据。

\boldsymbol{w}_k\sim\mathcal{N}\left(\boldsymbol{0},\boldsymbol{R}_k\right),\boldsymbol{v}_k\sim\mathcal{N}\left(\boldsymbol{0},\boldsymbol{Q}_{k,j}\right).

        w_{k} 为运动噪声,例如对机器人下达了前进 1m 的指令,机器人实际前进了 0.9m。

        v_{k} 为观测噪声 ,例如前方障碍物距离机器人 1m,但传感器测量得到的值为 1.1m。

        这两种噪声也类似于卡尔曼滤波中的噪声,参考 一文详解卡尔曼滤波两处噪声的来源及影响 和 过程噪声和测量噪声。

        其中 \text{N} 表示高斯分布,0 表示零均值,R_k,Q_{k,j}为协方差矩阵。在这些噪声的影响下,我们希望通过带噪声的数据 z 和 u 推断位姿 x 和地图 y(以及它们的概率分布),这构成了一个状态估计问题。

        运动方程和观测方程可以表述为:

\begin{cases}\boldsymbol{x}_k=f\left(\boldsymbol{x}_{k-1},\boldsymbol{u}_k\right)+\boldsymbol{w}_k\\\boldsymbol{z}_{k,j}=h\left(\boldsymbol{y}_j,\boldsymbol{x}_k\right)+\boldsymbol{v}_{k,j}\end{cases}.

        其中 运动误差观测误差 可表述为:

\begin{gathered} e_{\boldsymbol{u},k} =\boldsymbol{x}_k-f\left(\boldsymbol{x}_{k-1},\boldsymbol{u}_k\right) \\ e_{\boldsymbol{z},j,k} =\boldsymbol{z}_{k,j}-h\left(\boldsymbol{x}_k,\boldsymbol{y}_j\right), \end{gathered} 

        构造加权最小二乘问题为:

\min J(\boldsymbol{x},\boldsymbol{y})=\sum_k\boldsymbol{e}_{\boldsymbol{u},k}^\mathrm{T}\boldsymbol{R}_k^{-1}\boldsymbol{e}_{\boldsymbol{u},k}+\sum_k\sum_j\boldsymbol{e}_{\boldsymbol{z},k,j}^\mathrm{T}\boldsymbol{Q}_{k,j}^{-1}\boldsymbol{e}_{\boldsymbol{z},k,j}. 

        其中协方差矩阵之逆 R_{k}^{-1} 和 Q_{k,j}^{-1} 提供了最小二乘问题的权重分布。

二、 协方差矩阵之逆提供了最小二乘问题的权重分布

1. 协方差的定义

        首先,协方差是衡量两个随机变量之间关系的统计量。对于两个变量 XY,它的协方差定义为:

\mathrm{Cov}(X,Y)=E[(X-E[X])(Y-E[Y])]

  • 如果 \operatorname{Cov}(X,Y)>0,意味着 X 和 Y 趋向于同时增大或减小(正相关)。
  • 如果 \operatorname{Cov}(X,Y)<0,意味着 X 增大时 Y 倾向于减小(负相关)。
  • 如果\operatorname{Cov}(X,Y)=0,则 X 和 Y 之间没有线性相关性。
  •  \operatorname{Cov}(X,Y) 的绝对值越大,表示两个变量的同向(正相关)或反向(负相关)关系越强。

2. 协方差矩阵

        协方差矩阵 Σ 是一个对称矩阵,用于描述多维随机变量的协方差结构。设一个 n 维随机变量 X=[X1,X2,...,Xn],其协方差矩阵定义为:

\Sigma=\begin{bmatrix}\mathrm{Var}(X_1)&\mathrm{Cov}(X_1,X_2)&\dots&\mathrm{Cov}(X_1,X_n)\\\mathrm{Cov}(X_2,X_1)&\mathrm{Var}(X_2)&\dots&\mathrm{Cov}(X_2,X_n)\\\vdots&\vdots&\ddots&\vdots\\\mathrm{Cov}(X_n,X_1)&\mathrm{Cov}(X_n,X_2)&\dots&\mathrm{Var}(X_n)\end{bmatrix}

  • 对角线上元素是各观测误差的方差 Var(Xi)。
  • 非对角线元素是不同观测值误差之间的协方差 Cov(Xi,Xj),反映了不同观测值误差之间的相关性。

3. 最小二乘法与加权最小二乘法

        在经典的最小二乘法中,我们试图通过最小化目标函数来找到一组最优参数:

\min_\theta\sum_{i=1}^n\left(y_i-f(x_i,\theta)\right)^2

        假设观测数据 yi 存在观测误差(观测噪声)。如果这些误差是均匀的且相互独立,我们可以直接使用普通最小二乘法。但是,当这些误差的方差不同时,或者误差之间存在相关性时,普通最小二乘法不再是最佳选择。此时,使用加权最小二乘法(Weighted Least Squares, WLS),目标函数变为:

\min_\theta\sum_{i=1}^nw_i\left(y_i-f(x_i,\theta)\right)^2

        其中,wi 是观测值 yi 的权重。观测值的误差越小(更准确),它对结果的贡献越大,所以赋予它的权重 wi 越大。

4. 协方差矩阵的逆与权重分布

        在加权最小二乘法中,权重 wi 通常来源于观测值的误差协方差矩阵的逆,也就是说:

\min_\theta\left(y-f(x_i,\theta)\right)^T\Sigma^{-1}\left(y-f(x_i,\theta)\right)

  • \Sigma 是观测误差的协方差矩阵。
  • \Sigma^{-1} 是协方差矩阵的逆,它提供了观测数据的权重分布
为什么协方差矩阵的逆提供权重分布?
  1. 误差的方差:对角线元素 Var(Xi) 代表观测值 yi 的误差的方差。如果某个观测值的方差较大,它的误差就大。为了降低这些大误差观测对拟合结果的影响,我们在权重中给它分配较小的值。由于权重与方差成反比,方差矩阵的逆就体现了这个“反比”关系:误差大,权重小;误差小,权重大。

  2. 误差的协方差:非对角线元素 Cov(Xi,Xj)代表观测值 yi 和 yj 之间的误差相关性。如果 yi 和 yj 的误差相关性很强(\operatorname{Cov}(X,Y) 的绝对值很大),我们就需要降低它们的权重,避免它们共同影响模型的拟合结果。协方差矩阵的逆反映了这种相关性的处理方式,通过重新分配权重减少相互关联的观测值的影响。

5. 直观理解

        协方差矩阵之逆 \Sigma^{-1} 可以看作一个“校正因子”,用来对观测数据进行加权。具体地:

  • 如果某些观测值的误差较小(方差小),它们的权重就大,意味着它们对拟合结果贡献更大。
  • 如果某些观测值的误差较大(方差大),它们的权重就小,意味着它们对拟合结果的影响被减弱。
  • 如果观测值之间存在相关性(非对角线协方差非零),协方差矩阵的逆会根据这些相关性调整每个观测的权重,避免相关性带来的重复信息影响结果。

6. 总结

        协方差矩阵的逆在加权最小二乘法中起到了分配观测值权重的作用:

  • 它通过对误差方差和相关性的分析,决定每个观测值对最终结果的影响力。
  • 协方差矩阵之逆越大的元素,对应的观测值权重越大,意味着该观测值更“可信”或重要。
  • 这种权重分布能够优化拟合过程,使得误差小、相互独立的观测值对结果贡献更大,而误差大、相互相关的观测值影响更小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2213396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型时代,云原生数据底座的创新和实践

本文整理自百度云智峰会 2024 —— 云原生论坛的同名演讲。 大模型毫无疑问是当前技术发展的热点&#xff0c;成为大家默认的提升生产力工具。 但是&#xff0c;大模型训练主要使用互联网上的公开数据为主&#xff0c;没有企业内部的数据&#xff0c;所以大模型本质上自带的都…

并行 parallel broadcast partition pruning 分区裁剪 optimizer_dynamic_sampling=7

insert into abc 没有PDML所以不是全部并行 只有select 的情况 全部并行&#xff0c;没有 px send broadcast &#xff0c;所以rows没从103M变成103*8M select *from A&#xff0c;B where A.Pkey B.Pkey and A.Pkey XX A B表都会进行分区裁剪 ----并行为什么更…

定了!OPPO全旗舰新品10月24日发布

今日&#xff0c;OPPO宣布将于2024年10月24日19&#xff1a;00举办OPPO Find X8系列及旗舰生态新品发布会&#xff0c;以全新一代的年度影像旗舰 OPPO Find X8系列为核心&#xff0c;通过新一代的OPPO Enco X3旗舰耳机、OPPO Pad 3 Pro旗舰平板&#xff0c;以及再度升级的安卓全…

解决低版本pytorch和onnx组合时torch.atan2()不被onnx支持的问题

解决这个问题&#xff0c;最简单的当然是升级pytorch和onnx到比较高的版本&#xff0c;例如有人验证过的组合: pytorch2.1.1cu118, onnxruntime1.16.3 但是因为你的模型或cuda环境等约束&#xff0c;不能安装这么高的版本的pytorch和onnx组合时(例如我的环境是pytorch1.12&…

单细胞转录组亚群分析

1 单细胞转录组亚群常见分析内容 重磅综述&#xff1a;三万字长文读懂单细胞RNA测序分析的最佳实践教程 &#xff08;原理、代码和评述&#xff09; 如何使用Bioconductor进行单细胞分析&#xff1f; 单细胞转录组亚群分析的内容根据样品数目多少&#xff0c;可以分为单个样…

开源项目 - 轻量级人体姿态 人体关键点检测 机器视觉 深度学习

开源项目 - 轻量级人体姿态 人体关键点检测 机器视觉 深度学习 项目地址&#xff1a;https://gitcode.net/EricLee/light_pose 1、数据集来源&#xff1a;coco2017 数据集 * coco 数据集官方网站&#xff1a;https://cocodataset.org/#home * [数据集下载地址(百度网盘 Pa…

CogVideoX:Text-to-Video Diffusion Models with An Expert Transformer

研究背景 背景介绍: 这篇文章的研究背景是文本到视频模型的快速发展&#xff0c;特别是Transformer架构和扩散模型的应用。早期尝试预训练和扩展Transformer生成视频已经显示出巨大潜力&#xff0c;如CogVideo和Phenaki。扩散模型在多模态生成方面也取得了显著进展&#xff0c…

数据结构 -- 排序算法

一 排序 1.1 排序的概念 所谓排序&#xff0c;就是一种使一串数据记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减地组织起来的操作。 从排序方式上&#xff0c;排序算法一般被分为比较排序和非比较排序。从比较排序的内容上&#xff0c;它一般被分为…

Excel:vba实现拆分单元格成一字一单元格

我拿到的表格如下&#xff1a; 我想实现的表格效果如下&#xff1a; 要求就是&#xff1a;将A列的千字文拆分成一个单元格一个字&#xff0c;并整理成4列 我这里是将效果呈现到一个新的表里面&#xff0c;没有在原表里面(在原表里…

SpringBoot统一日志框架

在项目开发中&#xff0c;日志十分的重要&#xff0c;不管是记录运行情况还是定位线上问题&#xff0c;都离不开对日志的分析。 1.日志框架的选择 市面上常见的日志框架有很多&#xff0c;它们可以被分为两类&#xff1a;日志门面&#xff08;日志抽象层&#xff09;和日志实…

使用 PyTorch 构建 LSTM 股票价格预测模型

目录 引言准备工作1. 训练模型&#xff08;train.py&#xff09;2. 模型定义&#xff08;model.py&#xff09;3. 测试模型和可视化&#xff08;test.py&#xff09;使用说明模型调整结论 引言 在金融领域&#xff0c;股票价格预测是一个重要且具有挑战性的任务。随着深度学习…

【观察】超聚变:跨越智能算力“四座大山”,全方位重构“智算底座”

毫无疑问&#xff0c;今天在人工智能的推动下&#xff0c;企业数智化转型已进入规模化“倍增创新”的阶段&#xff0c;尤其是以大模型为代表的AI技术加速演进&#xff0c;以及应用场景的不断拓展加深&#xff0c;都让各类AI创新应用如雨后春笋般涌现&#xff0c;并加速惠及千行…

C++中cout的一些扩展

需要添加<iomanip>头文件 cout有许多扩展功能&#xff0c;比如一直很麻烦的保留小数数位的问题。 这里用几个问题来引入 cout实现保留小数数位 #include<iostream> #include<iomanip> using namespace std; int main(){double x123.345;double y342.324…

【未公开0day】金和OAC6 SignUpload SQL注入漏洞【附poc】

免责声明&#xff1a;本文仅用于技术学习和讨论。请勿使用本文所提供的内容及相关技术从事非法活动&#xff0c;若利用本文提供的内容或工具造成任何直接或间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果均与文章作者及本账号无关。 fofa语…

2024/10/14 英语每日一段

Advocates of the working pattern—100% of the work done in 80% of the time for 100% pay—claim the shorter working week boosts productivity, public health and builds a society “where we work to live, rather than live to work”. But the TaxPayers’ Allianc…

threejs-UV

一、简介 1.介绍 1.什么是UV映射&#xff1f; UV映射是一种将二维纹理映射到三维模型表面的技术。在这个过程中&#xff0c;3D模型上的每个顶点都会被赋予一个二维坐标&#xff08;U, V&#xff09;。U和V分别表示纹理坐标的水平和垂直方向。这些坐标用于将纹理图像上的像素与…

SQL优化,我就用了这几招

先赞后看&#xff0c;Java进阶一大半 阿里巴巴社区博客最近发表了一篇探究MySQL索引策略的博客&#xff0c;下图是一条查询SQL的执行过程。 我是南哥&#xff0c;相信对你通关面试、拿下Offer有所帮助。 敲黑板&#xff1a;本文总结了MySQL语句优化、索引优化常见的面试题&…

景区卫生间智能刷脸取纸机,灵活设置取纸长度、取纸间隔时间

在旅游景区&#xff0c;卫生间的服务质量直接影响着游客的体验。景区卫生间智能刷脸取纸机的出现&#xff0c;为解决游客用纸需求、提高资源利用效率以及提升景区管理水平带来了创新性的解决方案。 一、智能刷脸取纸机功能 1. 精准取纸&#xff1a;能够根据游客的实际需求&…

“链动2+1+消费增值:用户留存新策略“

大家好&#xff0c;我是吴军&#xff0c;目前在一家以创新为核心的软件开发公司担任产品经理。今天&#xff0c;我将深入探讨一个经受住了时间考验且依然充满活力的商业模式——“链动21”模式&#xff0c;并通过一个实例及相关数据展示它如何巧妙应对用户留存与复购的挑战。 首…

每日OJ题_牛客_HJ63DNA序列_滑动窗口_C++_Java

目录 牛客_HJ63DNA序列_滑动窗口 题目解析 C代码 Java代码 牛客_HJ63DNA序列_滑动窗口 孩子们的游戏(圆圈中最后剩下的数)_牛客题霸_牛客网 描述&#xff1a; 一个 DNA 序列由 A/C/G/T 四个字母的排列组合组成。 G 和 C 的比例&#xff08;定义为 GC-Ratio &#xff09;是…