如何测量2个2D形状之间的相似性?2D形状的形变使这个问题变得非常复杂。
很多情况下,我们无法准确的描述这种形变,使用2D插值是一个很好的办法。
TPS(薄板样条)插值是常用的2D插值方法。它的物理意义是:假设在原形状中有N个点An,这N个点在形变之后新坐标之下对应新的N个点Bn。用一个薄钢板的形变来模拟2D形变,确保这N个点能够正确匹配,那么怎样的形变,可以使钢板的弯曲能量最小?TPS插值是这个问题的数值解法。
TPS更详细的描述见F.L. Bookstein, "Principal Warps: Thin-Plate Splines and the Decomposition of Deformations,"
下面是俺的一段TPS插值程序运行结果(代码就不放了,保密)
TPS插值的伟大之处在于,几乎所有的生物有关的形变都可以用TPS来近似。Bookstein本人就是生物形态计量的大师。
TPS插值的前提是:找出特征点。找出特征点的算法有很多种,角点检测,形状上下文,Sift……都可以。