纯旋转最小二乘法


11

任何人都可以推荐以下最小二乘问题的方法:

最小化的中找到,其中R是单一的(旋转)矩阵。RR3×3Ri=0N(Rxibi)2minR

我可以通过最小化i=0N(Axibi)2min(任意AR3×3)来得到一个近似解矩阵A和:

  • 计算SVD:A=UΣVT,降低Σ并近似RUVT
  • 计算极坐标分解:A=UP,舍弃纯比例对称(在我的情况下为正定)P并逼近RU

我也可以使用QR分解,但是它不是等距的(取决于坐标系的选择)。

有人知道至少有一种方法可以做到这一点,但比上述两种方法更好吗?


4
我使用了Kabsch的算法来解决类似的问题,该方法本质上就是您在en.wikipedia.org/wiki/Kabsch_algorithm上提到的SVD方法 。更好的方法?
isti_spl 2014年

2
天哪,我也收到了相同的回复IRL。谢谢!显然,除非为负数,否则将删除将起作用,在这种情况下,最佳旋转包括反射(并且任何旋转都同样不好)。从技术上讲,这可以回答问题,但是,有谁知道比计算SVD更便宜的方法吗?这是一个3x3的SVD,但我需要做很多(这是用于FEM仿真,并且为每个有限元计算问题)而且,该问题显然被称为Wahba问题,并且在航空业中很明显地要确定飞行器取向。d È Ú V ŤΣdet(UVT)
Sergiy Migdalskiy 2014年

我已经看到了这个相关的问题:scicomp.stackexchange.com/questions/7552/...
isti_spl


@isti_spl:能否将您的评论迁移到答案?
Geoff Oxberry 2014年

Answers:


9

该问题称为Wahba问题,一种解决方案称为Kabsch算法,后一种更流行的算法称为Davenport q方法。显然,它已在航空学中用于确定飞行器方向的研究。关于方法有很多评论

请注意,最合适的选择可能包括反射。

Kabsch方法计算3x3协方差矩阵SVD并删除项(取模一次反射,通常通过取反SVD 中的最后一列来解释)。将其推广到其他数量的维度非常简单。üΣU

Davenport q方法经常被吹捧为第一个实用算法,也许有人可以评论为什么。它还构造了一个3x3协方差矩阵,但随后根据四元数对旋转矩阵进行参数化,问题就变成了计算对称4x4矩阵的最大特征值特征向量。

(某些)最受欢迎的数字实现称为QUEST和FOMA。这些方法通常是通过写出和优化特征多项式(四次),然后解析地求解(涉及复杂的计算,通过Kardano公式)或牛顿迭代来计算最大特征值的主题的变体。

Schuster还开发并分析了一些迭代算法变体。


2
有关航空航天界的一些历史,请阅读Markley撰写的Humble Problems
Damien 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.