orblsam2-理论基础(三)
来源:互联网 发布:淘宝生活用品沱茶代理 编辑:程序博客网 时间:2024/05/23 12:02
转载声明:本文转载自 金木炎 的博客,仅供个人学习。感谢博主的无私分享,如有侵权,敬请告知。
看到orbslam2初始化里的Initializer::ReconstructH和Initializer::ReconstructF两个子函数里用到了opencv::SVD分解。这里我将会详细讲解SVD的分解理论!
奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解
假设M是一个m×n阶矩阵,其中的元素全部属于域 K,也就是 实数域或复数域。如此则存在一个分解使得
M = UΣV*,
其中U是m×m阶酉矩阵;Σ是半正定m×n阶对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,i即为M的奇异值。
常见的做法是为了奇异值由大而小排列。如此Σ便能由M唯一确定了。(虽然U和V仍然不能确定。)
其中酉矩阵定义为:
n阶复方阵U的n个列向量是U空间的一个标准正交基,则U是酉矩阵(Unitary Matrix)。显然酉矩阵是正交矩阵往复数域上的推广
矩阵Σ的对角线上的元素等于M的奇异值. U和V的列分别是奇异值中的左、右奇异向量。因此,上述定理表明:
一个m × n的矩阵至多有 p = min(m,n)个不同的奇异值。
总是可以找到在Km 的一个正交基U,组成M的左奇异向量。
总是可以找到和Kn的一个正交基V,组成M的右奇异向量。
U是M x M矩阵,其中U的列为MMT的正交特征向量,V为N x N矩阵,其中V的列为M TM的正交特征向量,再假设r为M矩阵的秩,则存在奇异值分解:
M = UΣV*(v*是v的共轭转置)
其中MMT和MTM的具有相同的奇异值(如果是实数,则是具有相同的特征值)
U是M x M矩阵,其中U的列为MMT的正交特征向量,V为N x N矩阵,其中V的列为M TM的正交特征向量,再假设r为M矩阵的秩,则存在奇异值分解:
M = UΣV*(v*是v的共轭转置)
其中MMT和MTM的具有相同的奇异值(如果是实数,则是具有相同的特征值)
https://mp.weixin.qq.com/s?__biz=MzI5MTM1MTQwMw==&mid=2247483830&idx=1&sn=a037834525740dcbfae98208a0dee59c&scene=1&srcid=0713hTQtRur15C0KQFkiIAwK&pass_ticket=puQQjdGaRvEca6YWDbGnuG%2FYWDVuwvW6cqk1koP0969Z6fX1dFy0aCoEMvqSIiSu#rd
0 0
- orblsam2-理论基础(三)
- orblsam2-理论基础(三)
- 自动化理论基础(上)
- svo(slam)理论基础
- 理论基础
- 理论基础
- 字符急理论基础(自用)
- 主成分分析(理论基础)
- Monocular slam 理论基础(1)
- Monocular slam 理论基础(2)
- 进程控制理论基础(二)
- WinCE 流驱动一步一步来(理论基础)
- (整理)高速PCB设计理论基础
- WinCE 流驱动一步一步来(理论基础)
- 动态规划之理论基础(0)
- WinCE 流驱动一步一步来(理论基础)
- 机器学习(一) ---- 最优化理论基础
- 图结构(一)- 图的理论基础
- 中南大学软件工程修习课程
- CodeForces 556A Case of the Zeros and Ones
- memcpy()函数与memmove()函数
- Codeforces-Round-#363-Vacations
- 创建Maven插件命令
- orblsam2-理论基础(三)
- Acm 57 6174问题
- 关于纯代码开发和使用storyboard以及xib的优劣分析
- Tomcat 多域名绑定、Tomcat 设置默认项目
- play框架orm层实现
- SAP-HR三大结构
- Java工程师面试题积累(2.0版)
- java web 学习链接
- Spring入门案例 注解方式配置(一)