SVD分解(奇异值分解)求旋转矩阵

article/2025/9/26 19:20:28

参考文献:http://igl.ethz.ch/projects/ARAP/svd_rot.pdf

一 问题描述

假设P={p1,p2,...,pn}和Q={q1,q2,...,qn}是两组Rd空间中的对应点集,现在想要根据这个两个点集的数据来计算出它们之间的刚性转置信息,可以知道这其实是一个最小二乘求优问题,问题可以用如下计算式描述:



其中wi>0,是点集中每个点对的权重。

要求(1)式中的最小值,即为求式中对R和t求导数为0的解。


二 计算位移

将(1)式中的R设为不变量对t进行求导,同时令F(t)=(R,t),对F(t)求导可得:


从上可以看出,问题经过转化后变得更加简单,对原来的点集做一个减中心点的预处理,然后再求两个最小二乘的旋转量。


三 计算旋转量

将(8)式用矩阵表示形式展开,可得:




(由于旋转矩阵R是正交矩阵,因而有RRT = I)。同时可以知道上式中yiTRxi和xiTRTyi都是标量,而一个标量的转置仍然等于标量本身,因而有:



现在变成要求(11)式的最小值,而该式中只有一项与R有关,其他两项(xiTxi和yiTyi)都是常量,所以问题转换为求其中一项可变量的最小值,即

 

(14)式中的转换是将累加转换成矩阵相乘,其中W是n×n的对角矩阵,X和Y是3×n的矩阵,这些矩阵相乘后的迹就等于等式左边的值。同时,对于矩阵的迹,有如下变换关系:




(18)式中最后一步的变换也用到了(15)式的性质。由于U、R、V都是正交矩阵,那么M=VTRU也是正交矩阵。



由上述两式可以知道,要求最大迹,就必须使得mii的值等于1,而M又是正交矩阵,那么M就必然是单位矩阵,即有


I = M = VTRU  => V = RU ⇒ R = VUT(21)


四 旋转结果校正

到上面(21)式为止,求得的R是最优的正交矩阵,但是这个正交矩阵既可以是旋转矩阵,也可以是反射矩阵。反射矩阵参见博文“旋转和反射”。


根据R的行列式值可以判断该结果是旋转矩阵还是反射矩阵,假如是反射矩阵,那么其行列式值就为-1。如果我们严格限定我们求解的必须是旋转矩阵,那么当前求解出来的反射矩阵就不符合要求。这个时候就必须求解下一个符合要求的最优解。


将目标问题重新组织成如下形式:




如果我们将mii当作变量,它的取值范围就是[-1,1]。函数f对于mii来说是线性的,所以它在定义域的边界上才取得极值。很显然对于所有的mii来说,所有都取1能取得最大的极值,但是该取值必须被排除(用这个得出的R是反射矩阵),那么下一个最优的(m11,m22,...,mdd)取值就是(1,1,...1,-1),即除最后一个值取-1外,其他的值仍然为1。




为什么是取最后一个mdd为-1,这是进行SVD分解之后,Σ矩阵里对角线上的值经过了排序的,即σd的值最小


http://chatgpt.dhexx.cn/article/DAdQM5fS.shtml

相关文章

详解SVD(奇异值分解)

1、特征值分解(EVD) 实对称矩阵 在理角奇异值分解之前,需要先回顾一下特征值分解,如果矩阵是一个的实对称矩阵(即),那么它可以被分解成如下的形式 其中为标准正交阵,即有&#xff…

SVD分解原理及基于SVD分解的图像压缩和去噪

SVD分解是矩阵论中的一个知识点,特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么,可以将每一个特征向量理解为一个线性的子空间,我们可以利用这些线性的子空间干…

矩阵分解SVD

《矩阵分解SVD》   本来是做了一个MobileNetV2中的关于ReLU的一个实验,大体用到的知识是对一个 n ∗ 2 n*2 n∗2 的矩阵通过 2 ∗ m 2*m 2∗m 的随机矩阵映射到 n ∗ m n*m n∗m ,经过ReLU函数后再映射回 n ∗ 2 n*2 n∗2 ,那么就需要…

t-svd张量分解算法详解

t-svd张量分解算法详解 讲解论文所需基础知识背景知识介绍什么是svd分解?定义1:svd分解 什么是张量? t-svd分解详解正式定义t-svd!疑惑问题解惑前需要学习的定义:定义2.1:张量t积 疑惑解答: 讲解…

【机器学习中的矩阵分解】LU分解、QR分解、SVD分解

学习总结 文章目录 学习总结一、三角分解(LU分解)1.1 高斯消元1.2 LU分解原理1.3 LU分解python代码1.4 LU分解算法 二、QR分解2.1 Schmid 正交化2.2 使用 Schmid 施密特正交化过程求 QR 分解2.3 QR分解的栗子 三、SVD分解3.1 SVD定义3.2 SVD基本理论&…

【六】SVD分解

SVD分解在很多经典应用中都有用到,比如数据压缩,降噪等,PCA也和SVD有着紧密联系,这里记录自己关于SVD分解求解最小二乘解的学习笔记,若有错误请指出,谢谢。 在实践中,由于存在测量误差和多次测…

SVD分解原理详解

在介绍SVD之前,先补充一些基础知识 1.酉矩阵: 2.正规(正定)矩阵 3.谱分解: 表示正规矩阵,可经由酉变换,分解为对角矩阵;这种矩阵分解的方式,称为谱分解(spec…

矩阵分解(四)——SVD分解

目录 矩阵相关术语共轭矩阵(Hermite阵)特征值相似矩阵A^H^A^H^A酉矩阵酉相抵(正交相抵)奇异值奇异值分解式特征分解 奇异值分解python代码实现验证结果 np.linalg.svd 利用Python进行SVD分解对图像压缩 矩阵相关术语 共轭矩阵&am…

聊聊特征分解和SVD分解

矩阵分解 矩阵分解(decomposition,factorization):将矩阵拆分为多个矩阵的乘积的运算。矩阵的分解包括以下几种: 特征分解SVD分解PCAQR分解LU分解极分解 矩阵分解在数据压缩、推荐系统以及NLP等都有着比较广泛的应用。 特征分解 特征分解(eigendeco…

SVD奇异值分解

SVD分解 SVD分解是LSA的数学基础,本文是我的LSA学习笔记的一部分,之所以单独拿出来,是因为SVD可以说是LSA的基础,要理解LSA必须了解SVD,因此将LSA笔记的SVD一节单独作为一篇文章。本节讨论SVD分解相关数学问题&#xf…

矩阵分解 SVD分解

在认识SVD之前,先来学习两个相关的概念:正交矩阵和酉矩阵。 如果,则阶实矩阵称为正交矩阵。而酉矩阵是正交矩阵往复数域上的推广。 判断正交矩阵和酉矩阵的充分必要条件是:。或者说正交矩阵和酉矩阵的共轭转置和它的 …

SVD分解的推导,理解SVD分解及矩阵奇异值的几何意义

文章目录 SVD分解的证明推导从本质上理解SVD分解矩阵奇异值的几何意义 SVD分解的证明推导 理解SVD分解要解决的问题是什么? 从本质上理解SVD分解 从线性映射的矩阵表示角度,即从“抽象”->“具体”的角度去理解SVD分解。 矩阵奇异值的几何意义…

矩阵分解SVD原理

常用的经典矩阵分解算法: 经典算法PCA、SVD主题模型算法LDA概率矩阵分解PMF,由深度学习大牛Ruslan Salakhutdinov所写,主要应用于推荐系统中,在大规模的稀疏不平衡性Netflix数据集上取得较好的效果;非负矩阵分解&#…

精简易懂,30 分钟学会 SVD 矩阵分解,很强!

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达SVD(Singular Value Decomposition)奇异值分解分解是机器学习中最重要的矩阵分解方法。 它能够将一个任意形状的矩阵分解成一个正交矩阵和一个对角矩阵以及另一个正交矩阵…

矩阵(一):SVD分解

文章目录 0 参考链接(尊重原著)1 SVD分解原理2 SVD分解意义3 SVD分解的应用4 SVD数学举例5 为什么Ax0的解为最小奇异值对应的向量? 0 参考链接(尊重原著) 下面这个讲的很好很全面 视觉SLAM常见的QR分解SVD分解等矩阵分…

详解SVD分解过程

转 如何让奇异值分解(SVD)变得不“奇异”? 红色石头 发布于 2018-08-29 分类:机器学习 阅读(144) 评论(0) 如何让奇异值分解(SVD)变得不“奇异”?-红色石头的个人博客 http://redstonewill.com/1529/ 在之前的一篇文章:通俗解…

奇异值分解(SVD)原理详解及推导

转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/43053513 在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有需要补充的,特别是关于矩阵和映射之间的对应关系。前段时间看了国外的一篇文章,叫A S…

奇异值分解(SVD)原理

奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总…

SVD(奇异值分解)

一、SVD(奇异值分解 Singular Value Decomposition) 1.1、基本概念: (1)定义:提取信息的方法:奇异值分解Singular Value Decomposition(SVD) (2&#xff0…

SVD分解

一、SVD简介 Singular Value Decomposition(奇异值分解,SVD)是一种重要的矩阵分解技术,可以将一个矩阵分解为三个矩阵的乘积。SVD的应用广泛,包括数据降维、矩阵逆运算、推荐系统等领域。 给定一个矩阵A,SV…