高斯牛顿法求解三维变换矩阵的数学推导

目录

  • 一、问题定义
  • 二、李代数基础
  • 三、雅可比矩阵推导
  • 四、高斯牛顿迭代
    • 1. 整体雅可比矩阵
    • 2. 正规方程构建
    • 3. 参数更新
    • 4. 李代数更新
  • 五、理论优势分析

一、问题定义

  给定两组三维点云:源点云 P={pi∈R3}i=1NP = \{p_i \in \mathbb{R}^3\}_{i=1}^NP={piR3}i=1N,目标点云 Q={qi∈R3}i=1NQ = \{q_i \in \mathbb{R}^3\}_{i=1}^NQ={qiR3}i=1N

求解变换矩阵 T=[Rt01]T = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}T=[R0t1] (其中 R∈SO(3)R \in SO(3)RSO(3), t∈R3t \in \mathbb{R}^3tR3),最小化残差:
ri(θ)=qi−(Rpi+t)∈R3(1)r_i(\theta) = q_i - (Rp_i + t) \in \mathbb{R}^3 \tag{1}ri(θ)=qi(Rpi+t)R3(1)
参数向量 θ=[ω⊤,t⊤]⊤∈R6\theta = [\omega^\top, t^\top]^\top \in \mathbb{R}^6θ=[ω,t]R6ω\omegaω 为旋转向量(李代数 so(3)\mathfrak{so}(3)so(3) 元素)。

目标函数:
min⁡θ12∑i=1N∥ri(θ)∥2(2)\min_\theta \frac{1}{2} \sum_{i=1}^N \| r_i(\theta) \|^2 \tag{2}θmin21i=1Nri(θ)2(2)

二、李代数基础

旋转矩阵 RRR 与李代数 ω\omegaω 通过指数映射关联:
R=exp⁡([ω]×)(3)R = \exp([\omega]_\times) \tag{3}R=exp([ω]×)(3)
其中 [⋅]×[\cdot]_\times[]× 为反对称矩阵算子:
[ω]×=[0−ωzωyωz0−ωx−ωyωx0](4)[\omega]_\times = \begin{bmatrix} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{bmatrix} \tag{4}[ω]×=0ωzωyωz0ωxωyωx0(4)

对扰动 δω\delta\omegaδω 的一阶近似:
exp⁡([δω]×)≈I+[δω]×(5)\exp([\delta\omega]_\times) \approx I + [\delta\omega]_\times \tag{5}exp([δω]×)I+[δω]×(5)

三、雅可比矩阵推导

雅可比矩阵 Ji=∂ri∂θ∈R3×6J_i = \frac{\partial r_i}{\partial \theta} \in \mathbb{R}^{3\times6}Ji=θriR3×6 分为旋转和平移部分:
Ji=[∂ri∂ω∂ri∂t]J_i = \begin{bmatrix} \frac{\partial r_i}{\partial \omega} & \frac{\partial r_i}{\partial t} \end{bmatrix} Ji=[ωritri]

  1. 平移部分导数
    直接微分得:
    ∂ri∂t=−I3×3(6)\frac{\partial r_i}{\partial t} = -I_{3\times3} \tag{6}tri=I3×3(6)

  2. 旋转部分导数
    考虑左扰动模型 δω\delta\omegaδω
    ∂ri∂ω=lim⁡δω→0qi−exp⁡([δω]×)Rpi−t⏞扰动后残差−(qi−Rpi−t)⏞原残差δω\frac{\partial r_i}{\partial \omega} = \lim_{\delta\omega \to 0} \frac{ \overbrace{ q_i - \exp([\delta\omega]_\times)Rp_i - t }^{\text{扰动后残差}} - \overbrace{ (q_i - Rp_i - t) }^{\text{原残差}} }{\delta\omega} ωri=δω0limδωqiexp([δω]×)Rpit扰动后残差(qiRpit)原残差

代入一阶近似:
exp⁡([δω]×)R≈(I+[δω]×)R\exp([\delta\omega]_\times)R \approx (I + [\delta\omega]_\times)R exp([δω]×)R(I+[δω]×)R

残差变化量:
Δri≈−[δω]×Rpi\Delta r_i \approx -[\delta\omega]_\times Rp_i Δri[δω]×Rpi

利用叉积性质 [a]×b=−[b]×a[a]_\times b = -[b]_\times a[a]×b=[b]×a
[δω]×(Rpi)=−[Rpi]×δω[\delta\omega]_\times (Rp_i) = -[Rp_i]_\times \delta\omega [δω]×(Rpi)=[Rpi]×δω

因此:
∂ri∂ω=[Rpi]×\frac{\partial r_i}{\partial \omega} = [R p_i]_\times ωri=[Rpi]×

精确化处理(引入右雅可比矩阵)
∥ω∥\|\omega\|ω 较大时,需引入右雅可比矩阵 Jr(ω)J_r(\omega)Jr(ω) 修正:
Jr(ω)=I3×3+1−cos⁡∥ω∥∥ω∥2[ω]×+∥ω∥−sin⁡∥ω∥∥ω∥3[ω]×2J_r(\omega) = I_{3\times3} + \frac{1-\cos\|\omega\|}{\|\omega\|^2}[\omega]_\times + \frac{\|\omega\|-\sin\|\omega\|}{\|\omega\|^3}[\omega]_\times^2 Jr(ω)=I3×3+ω21cosω[ω]×+ω3ωsinω[ω]×2
最终导数形式:
∂ri∂ω=R[pi]×Jr(ω)\frac{\partial r_i}{\partial \omega} = R [p_i]_\times J_r(\omega) ωri=R[pi]×Jr(ω)


四、高斯牛顿迭代

1. 整体雅可比矩阵

对于 NNN 个点,整体雅可比矩阵 J∈R3N×6J \in \mathbb{R}^{3N\times6}JR3N×6
J=[J1⊤J2⊤⋯JN⊤]⊤J = \begin{bmatrix} J_1^\top & J_2^\top & \cdots & J_N^\top \end{bmatrix}^\top J=[J1J2JN]
其中 Ji=[[Rpi]×−I3×3]J_i = \begin{bmatrix} [R p_i]_\times & -I_{3\times3} \end{bmatrix}Ji=[[Rpi]×I3×3](简化形式)

2. 正规方程构建

近似 Hessian 矩阵:
H≈J⊤J∈R6×6H \approx J^\top J \in \mathbb{R}^{6\times6} HJJR6×6

梯度向量:
g=J⊤r∈R6g = J^\top r \in \mathbb{R}^6 g=JrR6

解线性系统:
(J⊤J)Δθ=−J⊤r(J^\top J) \Delta\theta = -J^\top r (JJ)Δθ=Jr

3. 参数更新

θk+1=θk+Δθ\theta_{k+1} = \theta_k + \Delta\theta θk+1=θk+Δθ
其中 Δθ=[δω⊤,δt⊤]⊤\Delta\theta = [\delta\omega^\top, \delta t^\top]^\topΔθ=[δω,δt]

4. 李代数更新

对旋转部分执行流形上的更新:
Rk+1=exp⁡([δω]×)RkR_{k+1} = \exp([\delta\omega]_\times) R_k Rk+1=exp([δω]×)Rk
平移更新:
tk+1=tk+δtt_{k+1} = t_k + \delta t tk+1=tk+δt


五、理论优势分析

  1. 约束处理:李代数 so(3)\mathfrak{so}(3)so(3) 将旋转矩阵优化转化为无约束问题
    dim⁡(so(3))=3⟹避免 SO(3)的9参数过参数化\dim(\mathfrak{so}(3)) = 3 \implies \text{避免 } SO(3) \text{ 的9参数过参数化} dim(so(3))=3避免 SO(3) 9参数过参数化

  2. 导数一致性:右雅可比矩阵 Jr(ω)J_r(\omega)Jr(ω)∥ω∥→0\|\omega\| \to 0ω0 时满足:
    lim⁡∥ω∥→0Jr(ω)=I3×3\lim_{\|\omega\|\to 0} J_r(\omega) = I_{3\times3} ω0limJr(ω)=I3×3
    保证小角度近似与大角度精确的统一

  3. 收敛性保障:局部满足
    ∥r(θk+1)∥2<∥r(θk)∥2(当初始估计接近真值)\|r(\theta_{k+1})\|_2 < \|r(\theta_k)\|_2 \quad \text{(当初始估计接近真值)} r(θk+1)2<r(θk)2(当初始估计接近真值)


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

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

相关文章

JAVA 商城系统为什么受欢迎?ZKmall开源商城灵活定制 + 插件接入适配市场

在电商系统开发这块&#xff0c;技术选得好不好&#xff0c;直接关系到平台稳不稳定、能不能扩展、适配能力强不强。JAVA 语言因为 “跨平台性突出、安全性高、可扩展性好” 这些特点&#xff0c;成了企业级电商系统的首选技术。而 ZKmall 商城基于 JAVA 开发的商城系统&#x…

【数据结构之哈夫曼树与编码实现】

文章目录 前言一、哈夫曼树与哈夫曼编码简介1. 什么是哈夫曼树&#xff1f;2. 为什么需要哈夫曼编码&#xff1f; 二、哈夫曼编码原理三、哈夫曼树的构建步骤详解1. 统计字符频率2. 定义哈夫曼树节点3. 最小堆&#xff08;优先队列&#xff09;的构造4. 合并节点&#xff0c;构…

基于Hadoop的京东厨具商品数据分析及商品价格预测系统的设计与实现

文章目录有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍数据采集用户界面系统展示管理员界面每文一语有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 本项目围绕“京东厨具数据分析系统的设计与实…

深入解析TCP:可靠传输的核心机制与实现逻辑(三次握手、四次挥手、流量控制、滑动窗口、拥塞控制、慢启动、延时应答、面向字节流、粘包问题)

Linux系列 文章目录 Linux系列一、TCP连接的建立与断开1.1 TCP 三次握手1.2 TCP四次挥手1. TCP连接的本质是应用层间的通信通道2. 断开连接的核心是终止应用层通信3. 常见误解澄清 二、TCP协议的机制2.1 流量控制2.2 滑动窗口2.2.1 滑动窗口的工作原理2.2.2 基于滑动窗口快重传…

基于开源AI智能客服、AI智能名片与S2B2C商城小程序的微商服务质量提升路径研究

摘要&#xff1a;在科技飞速发展的背景下&#xff0c;产品技术含量与复杂度显著提升&#xff0c;客户正确使用产品并体验其价值愈发依赖代理的专业指导与服务。本文聚焦开源AI智能客服、AI智能名片与S2B2C商城小程序在微商服务中的应用&#xff0c;通过分析其技术原理与实践案例…

[netty5: HttpHeaders HttpHeadersFactory]-源码分析

HttpHeaders HttpHeaders 是用于存储和操作HTTP请求或响应头部字段的接口。 // DefaultHttpHeaders, HttpHeadersFactory.TrailingHttpHeaders public interface HttpHeaders extends Iterable<Entry<CharSequence, CharSequence>> {static HttpHeaders emptyHead…

基于Flink 1.20、StarRocks与TiCDC构建高效数据处理链路教程

在大数据处理领域&#xff0c;实现高效、实时的数据处理与分析至关重要。Flink作为强大的流批一体化计算框架&#xff0c;结合StarRocks这一高性能的实时分析型数据库&#xff0c;再搭配TiCDC&#xff08;TiDB Change Data Capture&#xff09;用于捕获数据变更&#xff0c;能够…

便捷的Office批量转PDF工具

软件介绍 本文介绍的软件是一款能实现Office批量转换的工具&#xff0c;名为五五Excel word批量转PDF。 软件小巧 这款五五Excel word批量转PDF软件大小不到2M。 操作步骤一 使用该软件时&#xff0c;只需把软件和需要转换的Word或Excel文件放在同一个文件夹里。 操作步骤…

tcp长连接与短连接

TCP连接本身是一个传输层协议&#xff0c;它既可以实现长连接&#xff0c;也可以实现短连接。这取决于应用层的使用方式。 短连接&#xff08;Short Connection&#xff09; 特点&#xff1a;每次请求都建立新的TCP连接&#xff0c;完成后立即关闭流程&#xff1a;建立连接 →…

llvm polly,亲自测试

1&#xff09;下载并安装 Polly - Getting Started git clone https://github.com/llvm/llvm-project.git 大概需要半个小时&#xff0c;有时候被墙掉就打不开 2&#xff09; mkdir build && cd build cmake -DLLVM_ENABLE_PROJECTSclang;polly ../llvm cmake --b…

Spring AI 项目实战(十四):Spring Boot + Vue3 +AI + DeepSeek 实现空气质量智能预测系统(附完整源码)

系列文章 序号文章名称1Spring AI 项目实战(一):Spring AI 核心模块入门2Spring AI 项目实战(二):Spring Boot + AI + DeepSeek 深度实战(附完整源码)3Spring AI 项目实战(三):Spring Boot + AI + DeepSeek 打造智能客服系统(附完整源码)4

腾讯云 CDN 不支持 WebSocket 的现状与华为云 CDN 的替代方案-优雅草卓伊凡

腾讯云 CDN 不支持 WebSocket 的现状与华为云 CDN 的替代方案-优雅草卓伊凡 问题背景 卓伊凡今天发现&#xff0c;腾讯云 CDN 不支持 WebSocket 协议&#xff0c;而公司的部分业务&#xff08;如实时聊天、在线协作、游戏互动、股票行情推送等&#xff09;依赖长连接通信。昨…

MybatisPlus(一)扩展功能

扩展功能 一、静态工具二、逻辑删除三、通用枚举1、定义枚举2、配置枚举处理器3、测试 四、JSON类型处理器1、定义实体2、使用类型处理器 五、分页1、配置分页插件2、分页API3、示例 一、静态工具 有的时候Service之间也会相互调用&#xff0c;为了避免出现循环依赖问题&#…

Redis哨兵模式之Sentinel模式(二)

一、多节点哨兵如何配置&#xff1f; 哨兵配置原理图 注意&#xff1a;sentinel哨兵模式的搭建是建立在redis主从复制节点配置基础而搭建&#xff0c;在主从配置中从库需要配置好replicaof关联上主库并关闭安全模式&#xff0c;然后设置好bind端口才能关联上机器&#xff0c;而…

基于Excel的数据分析思维与分析方法

数据分析一定要会Excel、SQL和Python&#xff1f;非常肯定地回答您&#xff0c;Python、R语言、Excel函数和VBA&#xff0c;以及高级数据分析软件&#xff0c;都学不到&#xff0c;您将学到&#xff1a;5个有效的数据分析利器&#xff0c;以及分析思维 一、描述性统计分析 在…

计算机网络笔记(不全)

一、计算机网络体系结构1.计算机网络的概念计算机网络&#xff1a;由若干结点和连接这些结点的链路组成。结点可以是计算机、集线器、交换机、路由器等。互连网(internet)&#xff1a;多个计算机网络通过路由器互相连接而成&#xff0c;可用任意协议通信。互联网(因特网Interne…

XML Schema 复合元素

XML Schema 复合元素 引言 XML(可扩展标记语言)作为一种灵活的标记语言,广泛应用于数据交换和存储。XML Schema 是一种用于描述和定义 XML 文档结构的语言,它定义了 XML 文档的元素、属性、类型和约束。本文将详细介绍 XML Schema 中的复合元素,并探讨其在实际应用中的重…

华为云Flexus+DeepSeek征文 | 弹性算力实战:Flexus X实例自动扩缩容策略优化

华为云FlexusDeepSeek征文 | 弹性算力实战&#xff1a;Flexus X实例自动扩缩容策略优化 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者…

【仓颉】运行环境配置VSCode + Win11

作者&#xff1a;大李子 团队&#xff1a;坚果派 十年iOS&#xff0c;All in转鸿蒙 前言 “仓颉编程语言是一款面向全场景智能的新一代编程语言&#xff0c;主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态&#xff0c;为开发者提供良好的编程体验。” ——摘自仓…

【K线训练软件研发历程】【日常记录向】1.K线滑动窗口

文章目录 当前效果未来发展思路技术选型值得分享的技术点数据加载、解析的代码echats的代码当前效果 👆相当于有个hello world了。 未来发展思路 开源 技术选型 界面直接采用electron,等开源后,可以直接挂release,用户下载安装包后,一键安装,一键运行,降低使用门槛…