当前位置:   article > 正文

Thin Plate Spline TPS薄板样条变换基础理解

薄板样条

什么是图像扭曲问题?

给定控制点(xi,yi)​​​​​​​和相应位移点(\Delta{x_i}, \Delta{y_i})稀疏对应集,我们需要找到一个映射,且两点之间的(x_i + \Delta{x_i}, y_i + \Delta{y_i})尽可能平滑。

一维空间举例,绿色为对应集,需找到蓝色曲线映射,满足形变后控制点重合且之间连线平滑
一维空间举例,绿色为对应集,需找到蓝色曲线映射,满足形变后控制点重合且之间连线平滑

径向基函数插值

起初,我们只有一组稀疏的控制点对应信息。最简单的方法来推断其他点是一个线性插值,插值点将沿着连接最近的控制点的分段移动,如下所示。

线性插值,插值点将沿着连接最近的控制点的分段移动

然而,我们想要的是一个通过紧密控制点得到的平滑的插值函数,这就是径向基函数作用。

以每个控制点为中心放一个核函数R,那么中间的点由f(z)=\sum\alpha_iR(z, x_i)得到。其中\alpha_ix_i点周围径向基核函数r(x,x_i)的权重。待变化的点x离控制点x_i越远,受内核影响的程度就越小。一些核由于其中心周围邻近点的密度和大小较大,对整体光滑轮廓的影响比其他核大。

经向基函数控制下
经向基函数控制下

 假设有三个控制点,权重 \alpha_0 ,\alpha_1 , \alpha_2将是下列线性系统的解

\left[ \begin{array}{c} x'_0 \\ x'_1 \\ x'_2 s\end{array} \right] = \begin{bmatrix} R(x_0, x_0) & R(x_0, x_1) & R(x_0, x_2)\\ R(x_1, x_0) & R(x_1, x_1) & R(x_0, x_2)\\ R(x_2, x_0) & R(x_2, x_1) & R(x_0, x_2) \end{bmatrix} \times \left[ \begin{array}{c} \alpha_0 \\ \alpha_1 \\ \alpha_2 \end{array} \right]

\vec{\alpha} = R^{-1}\times \vec{x}

径向基函数可以是高斯核er22σr2log(r),这是一维情况下的TPS薄板样条函数。

Thin Plate Spline

现在,介绍二维warp下的Thin Plate Spline warping。

给定红色叉点和预期移动到的蓝色圆点,我们想解得两个光滑函数,采样后使得其他离散点可沿x和y方向位移(图中箭头)。

两个光滑函数如下所示

fx(x,y)=a1+axx+ayy+i=1NwiU(||(xi,yi)(x,y)||)fy(x,y)=a1+axx+ayy+i=1NwiU(||(xi,yi)(x,y)||)

其中前三个系数(a1,ax,ay)表示能通过所有控制点(xi,yi)最逼近x'(或y')的线性平面,wi表示每个控制点的控制权重,U(||((xi,yi)(x,y))||)表示核函数,例如薄板样条核U(r)=r2log(r),接受的参数为待移动点与控制点的距离||((xi,yi)(x,y))||,下图为薄板样条核可视化,待变换点离内核中心(控制点)越近,它的高度或返回值就越高。 

薄板样条核可视化

所有的核函数乘以它们相应的权值后的样子

 How to solve

每个薄板样条函数的系数(a,ax,ay,wi)由以下线性系统解出

[KPPTO]×[wa]=[vo]

其中Kij=U(distance((xi,yi),(xj,yj)),P(1,xi,yi)组成

v是所有控制点组成的向量。第一行[K  P]×[v,o]T表示由所有(xi,yi)替代得到的函数fxfy

fx(x,y)=a1+axx+ayy+i=1NwiU(||(xi,yi)(x,y)||)fy(x,y)=a1+axx+ayy+i=1NwiU(||(xi,yi)(x,y)||)

第二行[PT  O]表示系统的额外约束,解释见原paper

i=1Nwi=0      (1)i=1Nwixi=i=1Nwiyi=0      (2)

假设有三个控制点,则线性系统如下

[K00K10K201x0y0K01K11K211x1y1K02K12K221x2y2111000x0x1x2000y0y1y2000]×[w0w1w2a0axay]=[x0x1x2000]

[K00K10K201x0y0K01K11K211x1y1K02K12K221x2y2111000x0x1x2000y0y1y2000]×[w0w1w2a0axay]=[y0y1y2000]

总结如下:

由LW=Y解得W矩阵: 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/128765
推荐阅读
  

闽ICP备14008679号