1
$\begingroup$

I am trying to keep the outline of an object in a video. So I have the coordinate of the outline of the object in the image $t$ and after computing the optical flow I have the coordinate in the image $t+1$. However, as the optical flow contains error, I would like to interpolate the outline using the thin plate spline function.

I would like to resolve the thin plate spline function in (3) p.5 from the paper http://www.tc.umn.edu/~baixx015/Xue_Bai_mirage_2011.pdf which is $ f(x,y) = c_0 + c_xx + c_yy + \sum_{i=1}^M{c_i \phi(||(x,y)-(x_i',y_i')||)} $ with M number of points and $ \phi(r)=r^2log(r) $ which gives me in matrices this equation $ \left[ \begin{array}{ c c } K & T\\ T' & 0 \end{array} \right] \left[ \begin{array}{ c} c \\ d \end{array} \right] = \left[ \begin{array}{ c} z \\ 0 \end{array} \right] $ where $K$ is $r^2log(r)$, $T$ is $(1,x_i,y_i)$, $c$ is $(c_i)$, $d$ is $(c_0, c_x, c_y)$ and $z$ is what I am looking for and correspond to $f(x,y)$.

I want to try the Uzawa's algorithm described in this document p.33 http://alexandria.tue.nl/extra1/afstversl/wsk-i/ghosh2010.pdf which can resolve equations of type: $ \left[ \begin{array}{ c c } A & B\\ B' & 0 \end{array} \right] \left[ \begin{array}{ c} x \\ y \end{array} \right] = \left[ \begin{array}{ c} b \\ c \end{array} \right] $ As Daryl said $b=z$ and $c=0$ but I still don't know $z$.

I don't understand how he knows the vectors $b$ (or $z$) If we choose $x_0$ and $y_0$, we can compute a $b_0$ but he does not explicitly say to do that and recompute $b$ at every iteration. Also he said p. 25 that Azawa's method allows to resolve directly the thin plate spline equation.

So in the algorythm, I compute vectors c and d and after that i can compute b.

EDIT:

I tried with the conjugate gradient to resolve $Ax=b$ where $A= \left[ \begin{array}{ c c } K & T\\ T' & 0 \end{array} \right] $, $x = \left[ \begin{array}{ c } c\\ d \end{array} \right] $ and $b = \left[ \begin{array}{ c } z\\ 0 \end{array} \right] $ but it doesn't seem to converge. I think I don't understand what I have to put in $b$.

1 Answers 1

2

$b$ and $c$ do not need to be computed. They are the block sections of the RHS vector of the equation. (See (4.9) on p. 33)

In your equation given above, $b=z$ and $c=0$.

  • 0
    There is something I omitted to say because I thought it would complicate the problem. There is a regularization term in the equation, when $r=0$ I add a term to avoid the $0$ in the diagonale of $K$. In this case, the matrix is invertible and I just invert it to resolve it. It is computationally very expensive so I think I will swap for a LU decomposition as other people do for resolve a thin plate spline. Thank's for your help.2012-08-09