边缘化求取先验约束

舒尔补定义

给定任意的矩阵块 M,如下所示:

M = [ A B C D ] M = \begin{bmatrix} A & B \\ C & D \end{bmatrix} M=[ACBD]

  • 如果矩阵块 D 是可逆的,则 A − B D − 1 C A - BD^{-1}C ABD1C称之为 D 关于 M 的舒尔补,对此可以边缘化掉D对应的变量,保留A对应变量的约束关系。
  • 如果矩阵块 A 是可逆的,则 D − C A − 1 B D - CA^{-1}B DCA1B称之为 A 关于 M 的舒尔补,对此可以边缘化掉A对应的变量,保留D对应变量的约束关系。

边缘化

随着环境探索的深入,系统状态变量(包括机器人的位姿和环境特征点的位置等)不断增加而导致的计算复杂度和内存消耗过高,这时候需要去除之前的变量,不再优化其参数,但其新的数据仍然存在约束,直接丢掉这些数据会造成约束信息丢失,所以要将其封装成先验信息,加入到大的非线性优化问题中作为一部分误差,这一步即为边缘化。

优化过程中会得到增量方程:
J T J δ x = − J T e H δ x = b \begin{align*} J^TJ\delta x &= -J^Te\\ H\delta x &= b \end{align*} JTJδxx=JTe=b
即:
[ H 11 H 12 H 12 T H 22 ] [ δ x 1 δ x 2 ] = [ b 1 b 2 ] \left[ \begin{matrix} H_{11} & H_{12} \\ H_{12}^T & H_{22} \end{matrix} \right] \left[ \begin{matrix} \delta x_1 \\ \delta x_2 \end{matrix} \right] =\left[ \begin{matrix} b_1 \\ b_2 \end{matrix} \right] [H11H12TH12H22][δx1δx2]=[b1b2]

对上式进行舒尔补,两边同时左乘一个矩阵 [ I 0 − H 12 T H 11 − 1 I ] \left[ \begin{matrix} I& 0 \\ -H_{12}^TH_{11}^{-1} &I \end{matrix} \right] [IH12TH1110I],得:

[ H 11 H 12 0 H 22 − H 12 T H 11 − 1 H 12 ] [ δ x 1 δ x 2 ] = [ b 1 b 2 ] \left[ \begin{matrix} H_{11} & H_{12} \\ 0 & H_{22}-H_{12}^TH_{11}^{-1}H_{12} \end{matrix} \right] \left[ \begin{matrix} \delta x_1 \\ \delta x_2 \end{matrix} \right] =\left[ \begin{matrix} b_1 \\ b_2 \end{matrix} \right] [H110H12H22H12TH111H12][δx1δx2]=[b1b2]

则:
( H 22 − H 12 T H 11 − 1 H 12 ) δ x 2 = b 2 − H 12 T H 11 − 1 b 1 (H_{22} - H_{12}^TH_{11}^{-1}H_{12})\delta x_2 = b_2 - H_{12}^TH_{11}^{-1}b_1 (H22H12TH111H12)δx2=b2H12TH111b1
如此便把 δ x 1 \delta x_1 δx1 给边缘化了,得到只关于 δ x 2 \delta x_2 δx2 的公式,并最大化地利用了所有信息。

边缘化约束

H ′ = H 22 − H 12 T H 11 − 1 H 12 H' = H_{22} - H_{12}^TH_{11}^{-1}H_{12} H=H22H12TH111H12 b ′ = b 2 − H 12 T H 11 − 1 b 1 b' = b_2 - H_{12}^TH_{11}^{-1}b_1 b=b2H12TH111b1,则
H ′ δ x 2 = b ′ \begin{align*} H'\delta x_2 &= b' \end{align*} Hδx2=b

H ′ H' H b ′ b' b中分解获取雅可比矩阵 J J J 和残差 e e e

因为 H ′ H' H是实对称矩阵,可进行特征值分解得:
H ′ = P D P T H' = PDP^T H=PDPT
这里的 P P P 是由特征向量组成的矩阵,而 D D D 是对角矩阵,包含特征值。

因为 D D D 是对角矩阵,所以易分解为: D = D T D D = \sqrt{D}^T\sqrt{D} D=D TD ,则
H ′ = P D P T = P D T D P T = ( D P T ) T ( D P T ) H' = PDP^T = P\sqrt{D}^T\sqrt{D}P^T = (\sqrt{D}P^T)^T(\sqrt{D}P^T) H=PDPT=PD TD PT=(D PT)T(D PT)
因为 H ′ = J T J H' = J^TJ H=JTJ,所以
J = D P T J = \sqrt{D}P^T J=D PT

因为 b ′ = − J T e b' = -J^Te b=JTe,且 P − 1 = P T , D T = D P^{-1}=P^T,\sqrt{D}^T = \sqrt{D} P1=PTD T=D ,所以
e = − ( J T ) − 1 b ′ = − ( ( D P T ) T ) − 1 b ′ = − ( ( P D T ) ) − 1 b ′ = − P T D − 1 b ′ e = -(J^T)^{-1}b' = -((\sqrt{D}P^T)^T)^{-1}b' = -((P\sqrt{D}^T))^{-1}b' = -P^T\sqrt{D}^{-1}b' e=(JT)1b=((D PT)T)1b=((PD T))1b=PTD 1b

约束优化

记录边缘化得到的 J 、 e 、 δ x 2 J、e、\delta x_2 Jeδx2,这是优化过程中使用的变量。
在优化过程中, δ x 2 \delta x_2 δx2的值会改变,记为 δ x 2 ′ \delta x_2' δx2,而边缘化是约束 δ x 2 \delta x_2 δx2尽量不变,因此
δ e = δ x 2 ′ − δ x 2 \delta e = \delta x_2' - \delta x_2 δe=δx2δx2
其中, δ x 2 \delta x_2 δx2是边缘化是剩余的变量值,是固定的,整个优化过程不变

在这个优化过程中,雅可比矩阵 J J J 保持不变,残差求取公式为:
e ′ = e + J δ e J ′ = J \begin{align*} e' &= e + J\delta e \\ J' &= J \end{align*} eJ=e+Jδe=J
这里可以认为 e ′ = f ( e ) e'=f(e) e=f(e),通过一阶泰勒展开后就有 e + J δ e e + J\delta e e+Jδe。因为边缘化时求取了 J J J ,认为在 e e e 附近的导数为 J J J ,这个值是保持不变的,由边缘化来固定这个值。换个说法,可以认为边缘化的目的是了解剩余变量在上一次优化后的值附近是如何变化的,即导数是什么。

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

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

相关文章

【RAG系列】KG-RAG 用最简单的方式将知识图谱引入RAG

目录 前言 一、引入知识图谱的作用 二、引入知识图谱的挑战 三、KG-RAG的理论 query多跳有限性 知识局部密集性 四、KG-RAG的方法 向量入库 向量相似搜索 扩展子图 LLM Rerank LLM response 五、效果比对 六、源码 总结 前言 本文介绍一种比较新颖的RAG范式&am…

编程语言越来越多,为什么C/C++还没有被现在的时代淘汰呢?

近年来,随着人工智能、大数据等领域的兴起,各种新兴编程语言层出不穷,例如Python、Go等,它们以更简洁的语法、更丰富的库以及更友好的开发体验,吸引了大量开发者。 在这样的背景下,不少人开始质疑C/C这类“…

Docling:开源的文档解析工具,支持多种格式的解析和转换,可与其他 AI 工具集成

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦! 🥦 微信公众号&#xff…

学习笔记:Spring框架源码Part.2——核心

学习视频链接:https://www.bilibili.com/video/BV1zd4y1L7YD Spring学习笔记——核心 前言第三章 容器和上下文一、认识bean工厂1、基础能力2、更强的枚举能力3、灵活的分层能力4、构建和自动装配的能力5、更强的配置能力6、更多配置项7、工厂的生命周期 二、bean工…

linux守护进程与后台进程的区别

守护进程与后台进程有以下区别: 1. 概念与定义 后台进程: 是指在操作系统后台运行的进程,它不与用户直接交互(没有连接到用户的终端)。用户在终端中启动一个程序并让其在后台运行(如通过在命令后加“&…

【360】基于springboot的志愿服务管理系统

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装志愿服务管理系统软件来发挥其高效地信息处理的作用&#x…

【LLM Agents体验】Dify框架的安装指南

Dify简介: 核心功能‌12 ‌Dify是一款开源的大语言模型(LLM)应用开发平台,融合了后端即服务(Backend as a Service, BaaS)和LLMOps的理念,使开发者可以快速搭建生产级的生成式AI应用。LLMOps涵盖了大型语言模型的开发、…

TODO Error occurred while trying to proxy:【】

文章目录 场景异常解决 场景 使用 Ant Disign Pro 连接本地接口。 异常 Error occurred while trying to proxy: localhost:8000/api/login/account?token%20%20123[HPM] Error occurred while proxying request localhost:8000/api/login/account?token%20%20123 to http…

Linux 文件基本属性

1.Linux 文件基本属性 Linux 系统是一种典型的多用户系统,不同用户处于不同地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。Linux 通常使用以下两…

数据结构-归并排序笔记

【数据结构】八大排序(超详解附动图源码)_数据结构排序-CSDN博客 看这个学思路 一 归并排序介绍: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解&#xf…

关于使用python pptx生成或“复制”PPT页面的问题

先说两个结论: 对于主题不完全相同的页面,pptx 无法完全复制PPT页面,文字图片可以复制,但是背景之类的无法复制pptx 无法直接在指定页码或者指定页面后插入页面 今天做项目的时候,需要根据PPT模板使用python生成相应…

Uniapp底部导航栏设置(附带PS填充图标教程)

首先需要注册和登录ifconfont官网,然后创建项目添加需要的图标 创建和添加图标库请参考:Uniapp在Vue环境中引入iconfont图标库(详细教程) 打开iconfont官网,找到之前添加的图标库,下载png图片 如果需要的…

算法——双指针

目录 前言一、什么是双指针二、算法特点三、算法实现步骤四、常见形式五、应用场景与示例六、优势与注意事项七、双指针算法动态图解八、经典例题[1. 回文判定](https://www.lanqiao.cn/problems/1371/learning/?page1&first_category_id1&name%E5%9B%9E%E6%96%87%E5%…

L6.【LeetCode笔记】合并两个有序链表

1.题目 https://leetcode.cn/problems/merge-two-sorted-lists/ 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2&…

类的加载机制

一、类的生命周期 类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段: 加载(Loading)验证(Verification)准备(Preparation)解析&#xff08…

接口测试用例设计的关键步骤与技巧解析

接口测试是确保系统组件之间高效、稳定交互的重要环节。然而,设计出合理的接口测试用例,并不是一件轻而易举的事。如何通过高质量的测试用例揭示潜在问题?今天带你深度解析接口测试用例设计的关键步骤和实用技巧,助你在测试领域更…

Java线程6种生命周期及转换

多线程技术是我们后端工程师在面试的时候必问的一个知识点,今天就来盘点一下多线程的相关知识, 先来说下进程,线程及线程的生命周期: 进程:进程就是正在进行中的程序,是没有生命的实体,只有在运…

柯桥学英语|老外说“You‘re cheap”,不是“你真便宜”!真正的意思是什么?

在跨文化交流中,误解常常源于对语言字面意义的直接翻译。今天,我们就来揭开一个常见的误解——“Youre cheap”的真实含义,并探讨与之相关的英文表达。 “Youre cheap”的真实含义 当老外对你说“Youre cheap”,千万别以为他们在…

IDEA构建JavaWeb项目,并通过Tomcat成功运行

目录 一、Tomcat简介 二、Tomcat安装步骤 1.选择分支下载 2.点击下载zip安装包 3.解压到没有中文、空格和特殊字符的目录下 4.双击bin目录下的startup.bat脚本启动Tomcat 5.浏览器访问Tomcat 6.关闭Tomcat服务器 三、Tomcat目录介绍 四、WEB项目的标准结构 五、WEB…

电商行业企业员工培训的在线知识库构建

在电商行业,员工的培训和发展对于保持竞争力至关重要。随着电子商务的兴起和消费者行为的变化,电商行业需要不断适应新的市场趋势。在线培训知识库作为一种有效的培训工具,可以帮助企业提升员工技能,优化客户服务,增强…