计算两组点之间的仿射变换

计算科学 优化 几何学
2021-12-03 16:13:55

考虑两组点P=(P1,...,Pn), Q=(Q1,...,Qm)包括在R3.

我正在寻找“映射”的最佳仿射变换QP,尽管这些集合没有相同数量的元素。

一个微不足道的情况是m=nQ=(RP1+T,RP2+T,...,RPn+T)

问题是我不确定如何描述这个优化问题。

编辑 :

正如评论中指出的那样,我应该更具体。在我的应用程序中,两组点代表空间中不同的闭合曲线。我试图将一条曲线与另一条曲线进行最佳定位(例如,在最小二乘意义上)。

1个回答

根据问题描述,并假设您不知道在哪一点Q某个点P应该在计算错误时最好地匹配,我很想说你可能能够在一般意义上提出你的优化问题,就像

minR,TpPminqQRp+Tq2

这个想法是最小化每个仿射映射向量和集合内的点之间的最近邻距离之和。由于总和中的最小值,乍一看这看起来有点讨厌,但从这里开始,我们可以通过以下方式近似这个目标函数pQ

minR,TpPϵlog(qQexp(Rp+Tq2ϵ))

对于一些接近 0 。请注意,这个近似值是基于选择了一些值,例如,您应该能够计算上述目标函数相对于的梯度,并以不受约束的方式求解。上述构造的好处是它不对任何一组点的大小进行假设。ϵ>00limϵ0ϵlog(i=1nexp(xi/ϵ))=maxixiϵϵ=103RT