2021-05-26

SLAM中的Singular Value Decomposition (SVD)主要用于求解最小二乘问题,特别是在处理齐次线性方程组时。在单应性矩阵的求解中,通过SVD找到最小特征值对应的特征向量,从而得到方程的最小二乘解。此外,SVD还用于基础矩阵或本质矩阵的秩减操作,将第三个奇异值置零,使矩阵秩为2,这对于理解和简化几何关系至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SLAM中的SVD分解

1.SVD分解的作用

SVD分解在SLAM中主要有以下两个方面的作用
1.用于求解齐次线性方程的最小二乘解
2.对基础矩阵或者本质进行分解,将其第三个奇异值强制置为0,使其秩为2

2 求解齐次线性方程的最小二乘解

2.1求解单应性矩阵

方程 A h = 0 ; Ah = 0; Ah=0;
该方程严格等于0可能无解,一般求解其最小二乘解,其对应的代价函数为
f ( h ) = 1 2 ( A h ) T ( A h ) = 1 2 h T A T A h f(h)=\frac{1}{2}(Ah)^T(Ah)=\frac{1}{2}h^TA^TAh f(h)=21(Ah)T(Ah)=21hTATAh
问题转换为求解该代价函数的极值,令其导数为0有
d f d h = 0 \frac{df}{dh} = 0 dhdf=0
A T A h = 0 A^TAh = 0 ATAh=0
由于单应性矩阵尺度不确定性的特性会限制 ∣ ∣ h ∣ ∣ = 1 ||h|| = 1 h=1,该问题就转换为求解 A T A A^TA ATA所对应的最小的特征值对应的特征向量,又
A T A = ( U D V T ) T ( U D V T ) = V D T U T U D V T = V D T D V T = ( V − 1 ) − 1 D T D V − 1 A^TA = (UDV^T)^T(UDV^T) = VD^TU^TUDV^T = VD^TDV^T = (V^{-1})^{-1}D^TDV^{-1} ATA=(UDVT)T(UDVT)=VDTUTUDVT=VDTDVT=(V1)1DTDV1
所以 A T A A^TA ATA对应的特征值为 D T D D^TD DTD对角线上的元素,即为矩阵奇异值的平方,对应的特征向量则为 V T V^T VT的列向量,而矩阵奇异值默认是按照从大到小的顺序进行排列的,所以矩阵 V T V^T VT的最后一列的所对应列向量就是最小的特征值所对应的向量,就是该方程的最小二乘解

2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值