码迷,mamicode.com
首页 > 其他好文 > 详细

orblsam2-理论基础(三)

时间:2016-07-13 17:26:48      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:

看到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的共轭转置)
其中MMTMTM的具有相同的奇异值(如果是实数,则是具有相同的特征值)


在齐次方程中

技术分享

其他非齐次方程组做最小二乘的方法

技术分享



orblsam2-理论基础(三)

标签:

原文地址:http://blog.csdn.net/qq_18661939/article/details/51888637

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!