翻译自《A Sampler of Useful Computational Tools for Applied Geometry, Computer Graphics and Image Processing》。
两个点集,记作 和 ,其中 和 为对应的匹配点。求解两个点集之间配准(点集 通过一个刚性变换后与点集 对齐)所需要的刚体变换(这里假设点集中心已对齐即只考虑旋转变换)的问题,可以公式化为一个优化问题,目标函数为
。
优化目标是最小化这个二范数误差,优化变量为 。如果令
,
对 做SVD得到 ,那么目标函数的最优解即配准两个点集的正交变换矩阵为 。下面我们解释其原理。
表示旋转矩阵,有正交性质,所以 ,因此
。
第一项和最后一项与 无关,所以优化可以忽略这两项,那么最小化优化目标可以简化为
。
由于第二项是标量,所以
。
这意味着
。
目标函数可进一步化简,
,
其中 。
由此,我们的目标变为找到使得 最小化的 。我们知道如果 是一个对称正定矩阵(所有的特征值都是正数)且 是任意正交矩阵,那么
。
所以,我们需要找到使得 是对称正定矩阵的 。这样我们就可以使 最大。如果对 进行SVD分解得到 ,我们令 。此时的 :
,
为对称正定矩阵,所以 为该优化问题的最优解。
如果你想了解更多线性代数推导细节,请参考paper《Least-Squares Rigid Motion Using SVD》。